Nhảy đến nội dung

Ràng buộc

Các quy tắc quyết định vị trí của tiết giảng — cách thêm, ý nghĩa của trọng số và tại sao thứ tự danh sách lại quan trọng.

Tiết giảng cho biết những gì phải được giảng dạy. Ràng buộc cho biết nó có thể diễn ra ở đâu: giáo viên này không rảnh vào thứ Sáu, phòng thí nghiệm đó chỉ có thể chứa một lớp học tại một thời điểm, môn học này không nên là tiết cuối cùng trong ngày.

Chúng được chia thành hai phần, vì FET coi chúng là hai vấn đề riêng biệt. Ràng buộc thời gian liên quan đến thời gian. Ràng buộc không gian liên quan đến địa điểm.

Time constraints as FET models them, in a plain list rather than nested dialogs.
Time constraints as FET models them, in a plain list rather than nested dialogs.

Hai quy tắc bạn không viết

Mỗi thời khóa biểu mang hai ràng buộc mà nó không tạo ra: một quy tắc bắt buộc cơ bản về thời gian và một quy tắc về không gian. Chúng là nền tảng — không giáo viên hoặc nhóm lớp nào ở hai nơi cùng một lúc, không phòng học nào bị đặt trùng.

FET yêu cầu chúng, vì vậy chúng luôn có trọng số đầy đủ và không thể tắt. Chúng xuất hiện trong danh sách được đánh dấu Bắt buộc, với nút bật/tắt bị khóa.

Trọng số là toàn bộ ý tưởng

Mọi ràng buộc khác mang một trọng số từ 0 đến 100. Bạn có thể chọn số đó cho một số loại và không cho những loại khác — quy tắc được trình bày ở cuối trang này.

100% là cứng nhắc. Nó phải được tuân thủ. Nếu không thể, sẽ không có thời khóa biểu nào.

Dưới 100% là một ưu tiên, và trọng số của nó thể hiện mức độ bạn mong muốn điều đó. Một quy tắc ở mức 95% sẽ được tôn trọng trừ khi việc tôn trọng nó làm cho điều gì đó khác trở nên bất khả thi; một quy tắc ở mức 40% chỉ là một gợi ý nhẹ. Đây là điều cho phép một lịch trình trở nên tốt hơn là chỉ hợp lệ — bạn có thể bày tỏ Tôi thà không làm, nhưng tôi sẽ làm nếu buộc phải, đó là cách các trường học thực tế hoạt động.

Danh sách gắn nhãn mỗi hàng là Cứng nhắc hoặc Mềm dẻo chính xác dựa trên cơ sở này, và bạn có thể lọc danh sách theo phạm vi trọng số để tìm mọi thứ bạn đã đặt là cứng nhắc, hoặc mọi thứ bạn đã để lại như một mong muốn.

Hầu hết các loại ràng buộc không thể được gán trọng số. FET giữ một danh sách các loại bạn có thể tự do gán trọng số, và nó từ chối mọi loại không có trong danh sách đó.

⛔ Đây không phải là một hình thức. FET từ chối giá trị này hai lần: hộp thoại của nó sẽ không lưu, và trình tạo của nó dừng lại trước khi bắt đầu. Một tệp chứa một trong các loại này dưới 100% không mang lại cho bạn một thời khóa biểu tồi hơn. Nó không mang lại cho bạn bất kỳ thời khóa biểu nào.

Trình chỉnh sửa vô hiệu hóa trường trọng số cho các loại đó và cho bạn biết lý do. Do đó, bạn không thể nhập một số mà FET sẽ từ chối.

Hai trường hợp nữa buộc phải là 100%:

  • các quy tắc bắt buộc ở trên
  • một quy tắc phòng ưu tiên cho một phòng ảo đã được ghim vào các phòng thực cụ thể — yêu cầu riêng của FET. Quy tắc này phụ thuộc vào nội dung của quy tắc, không phải loại của nó, vì vậy nó thay đổi khi bạn chỉnh sửa danh sách phòng.

Có một điểm nhỏ cần lưu ý. Một tệp được nhập từ FET không bao giờ được điều chỉnh, ngay cả khi nó mang một trong các quy tắc đó dưới trọng số đầy đủ. Việc âm thầm viết lại tệp của người khác sẽ phá vỡ lời hứa rằng những gì nhập vào sẽ xuất ra. Vì vậy, danh sách hiển thị trọng số được lưu trữ, với lý do được hiển thị dưới dạng chú giải công cụ, thay vì hiển thị cho bạn một số không có trong tệp.

Thêm một ràng buộc

Nút Thêm mở một bộ chọn tất cả các loại ràng buộc mà FET hỗ trợ, được nhóm theo danh mục và có thể tìm kiếm. Có rất nhiều loại, và hộp tìm kiếm là cách để tìm kiếm — hãy nhập phòng học, hoặc khoảng trống, hoặc liên tiếp, và xem những gì có sẵn.

Chọn một loại sẽ mở trình chỉnh sửa của nó, được xây dựng từ định nghĩa riêng của loại đó, vì vậy các trường bạn nhận được là các trường mà loại đó thực sự có. Bên cạnh đó là một bảng trợ giúp mô tả chức năng của ràng buộc. Nó đáng để đọc: tên ràng buộc ngắn gọn, và một số loại là các loại gần giống nhau nhưng khác biệt ở một khía cạnh quan trọng.

Khi một ràng buộc cần các khoảng thời gian, bạn không điền vào một danh sách — bạn sẽ có một lưới ngày × giờ và nhấp vào các ô. Một số ít loại cần tập hợp các khoảng thời gian thay vì một lựa chọn duy nhất; những loại đó cung cấp cho bạn một lưới duy nhất trong đó mỗi ô được tô màu vào một tập hợp được đánh số, để bạn có thể xem các tập hợp đối chiếu với nhau thay vì duy trì nhiều danh sách cạnh nhau.

Mọi tiết giảng, hay chỉ một số?

Điều này thường gây nhầm lẫn cho mọi người, và đáng để nói rõ ràng: trên nhiều loại ràng buộc, các trường đặt tên giáo viên, môn học hoặc nhóm không quyết định ai bị ảnh hưởng — chúng quyết định quy tắc sẽ xem xét những tiết giảng nào.

Chúng là một bộ lọc trên các tiết giảng, không phải là mục tiêu. Việc đọc một trường biểu mẫu là quy tắc này là về thầy Smith khi nó có nghĩa là xem xét các tiết học liên quan đến thầy Smith dẫn đến các quy tắc âm thầm không có tác dụng gì. Bảng trợ giúp cho mỗi loại cho biết nó là gì.

Thứ tự

Danh sách có một thứ tự, và nó không phải là trang trí: đó là thứ tự các ràng buộc được ghi vào tệp đã xuất.

Kéo các hàng bằng tay cầm của chúng để sắp xếp, hoặc sử dụng Sắp xếp A→Z để sắp xếp theo thứ tự bảng chữ cái toàn bộ phần và lưu lại. Việc kéo chỉ được cung cấp khi bạn đang xem danh sách đầy đủ theo thứ tự tự nhiên của nó — trong khi tìm kiếm, sắp xếp hoặc lọc đang thu hẹp nó, vị trí bạn kéo đến sẽ vô nghĩa. Các quy tắc bắt buộc được FET quản lý và không bao giờ di chuyển.

Việc sắp xếp lại có thể được hoàn tác.

Làm việc với một danh sách dài

Phần này có một thanh danh mục, một hộp tìm kiếm, một bộ lọc hoạt động/không hoạt động và thanh trượt phạm vi trọng số. Giữa chúng, bạn thường có thể đi từ có gì đó không ổn với thứ Sáu đến một vài quy tắc đề cập đến nó.

Chọn các hàng cho phép bạn kích hoạt, hủy kích hoạt, đặt trọng số hoặc xóa trong một hành động. Hủy kích hoạt là hữu ích nhất — nó giữ quy tắc và cài đặt của nó trong khi loại bỏ nó khỏi hoạt động, đó là cách bạn kiểm tra xem một quy tắc có phải là thứ khiến thời khóa biểu của bạn trở nên bất khả thi hay không.

Mỗi ràng buộc trong một hành động hàng loạt được ủy quyền riêng. Ai đó làm việc thông qua một liên kết chia sẻ có phạm vi thay đổi những gì họ được phép thay đổi, và phần còn lại được giữ nguyên thay vì toàn bộ hành động bị lỗi. Một thay đổi trọng số hàng loạt cũng nêu tên bất cứ thứ gì nó từ chối di chuyển.

Phía trên danh sách, các trình chỉnh sửa nhận được một bản tóm tắt kiểm tra trước một dòng. Nếu nó báo cáo một xung đột chặn, đó là một bằng chứng chứ không phải là một cảnh báo, và đáng để làm theo trước khi bạn tiếp tục.