Chẩn đoán khi việc tạo thời khóa biểu thất bại

Việc tạo thời khóa biểu “thất bại” khi công cụ tạo tự động không xếp được hết: nó trả về thời khóa biểu chưa đầy đủ tốt nhất tìm được, còn những tiết học buộc phải hy sinh thì vẫn nằm trong thanh post-it các tiết học cần xếp (một dải thông báo đỏ tóm tắt chỗ tắc). Vấn đề gần như luôn là quá nhiều ràng buộc: quá nhiều tiết học so với số khung giờ đang mở, hoặc các ràng buộc quá chặt nên không lồng vào nhau được. Cách chữa là nới những gì nới được — đó là nội dung của trang này. Để hiểu công cụ tạo tự động ưu tiên ra sao và hy sinh những gì, xem Tạo tự động; còn danh mục các lỗi tương thích trên một thời khóa biểu đã dựng xong thì xem Lỗi tương thích và chẩn đoán.

Chẩn đoán là một hướng lần tìm, không phải một phán quyết

Khi một tiết học không thể đặt được, Omniscol nêu bật thực thể gây nhiều trở ngại nhất qua các lượt thử — “giáo viên này không đủ khung giờ”, “lớp này không vừa với lưới thời gian của nó”. Đây là một quy tắc suy đoán: thực thể được chỉ ra là thực thể xuất hiện nhiều nhất trong các chỗ tắc, chứ không hẳn là nguyên nhân duy nhất. Các ràng buộc đan chéo vào nhau — nới ở chỗ khác có thể gỡ được tất cả. Vậy nên hãy xem thông báo như một hướng lần tìm: cách chữa thật sự thường là giảm bớt tình trạng quá nhiều ràng buộc nói chung (thêm chút khung giờ, thời gian rảnh bớt khắt khe) chứ không phải cố xoay xở mãi với thực thể được chỉ ra.

Những nguyên nhân thường gặp nhất

1. Thời gian rảnh quá hạn chế

Một giáo viên đã đánh dấu quá nhiều khoảng thời gian là không thể, đến mức không còn đủ khung giờ để xếp các tiết học của mình.

Chẩn đoán: hãy xem màn hình thời gian rảnh của giáo viên liên quan. Hãy đếm số khung giờ còn trống và so với số giờ giảng dạy của người đó.

Cách xử lý:

  • Nới một số khoảng thời gian (chuyển từ màu đen sang màu đỏ — không mong muốn nhưng không phải là bất khả),
  • Phân bổ lại các tiết học (giao một phần cho giáo viên khác),
  • Trao đổi với giáo viên nếu thời gian rảnh còn thương lượng được.

2. Không có phòng học phù hợp

Một môn học đòi hỏi một chuyên ngành mà chưa có phòng học nào được tạo cho chuyên ngành đó, hoặc mọi phòng học tương ứng đều đã bị chiếm đúng vào những khung giờ khả dĩ duy nhất.

Cách xử lý:

  • Tạo chuyên ngành còn thiếu trên một phòng học thích hợp,
  • Giảm bớt ràng buộc về chuyên ngành,
  • Thêm một phòng học.

3. Sức chứa không đủ

Sĩ số của một nhóm / một lớp vượt quá sức chứa của mọi phòng học ứng viên.

Cách xử lý:

  • Gán một phòng học lớn hơn,
  • Gán nhiều phòng học cho cùng một tiết học (sức chứa tổng là tổng của các phòng),
  • Chia nhỏ lớp / nhóm.

4. Căn chỉnh nhóm bất khả thi về mặt cấu trúc

Số giờ của các nhóm được căn chỉnh khác nhau, hoặc các lớp mẹ có lưới thời gian không tương thích, hoặc một giáo viên được căn chỉnh chỉ có thể ở một nơi duy nhất.

Cách xử lý:

  • Thống nhất số giờ giữa các nhóm được căn chỉnh,
  • Bỏ căn chỉnh và tạo một tiết học riêng cho từng lớp,
  • Kiểm tra rằng cơ sở của các lớp được căn chỉnh dùng chung một lưới thời gian trên khung giờ đang nhắm tới.

5. Quá nhiều tiết học so với lưới thời gian

Khi một lớp hay một giáo viên rõ ràng có nhiều giờ hơn số khung giờ đang mở, một cảnh báo sẽ báo trước (thẻ Tạo thời khóa biểu, các bộ đếm số giờ so với số khung giờ). Trường hợp oái oăm thì khó nhận ra hơn: xét riêng từng phần thì không chỗ nào vượt ngưỡng rõ rệt, nhưng sự tích tụ các ràng buộc giữa giáo viên và lớp — cùng những chỗ đan chéo của chúng — rốt cuộc làm mọi thứ không còn vừa nữa.

Cách xử lý:

  • Giảm số giờ đã nhập,
  • Mở rộng lưới thời gian (mở thêm buổi sáng thứ Bảy chẳng hạn),
  • Nới vài khoảng thời gian không khả dụng, nhắm vào những khoảng mà nhiều thực thể cùng lúc né tránh: chính sự cộng dồn ấy làm bão hòa lưới thời gian.

6. Quá nhiều điểm không tương thích

Chồng chất các ràng buộc “không xếp X sau Y” có thể tạo ra một hệ không có lời giải.

Cách xử lý: thay một số điểm không tương thích bằng trọng số sư phạm mềm dẻo hơn.

7. Không đủ phòng học (nút thắt cổ chai)

Rất thường gặp: dù từng phòng học đều phù hợp, số lượng phòng vẫn không đủ để đáp ứng nhu cầu vào cùng một thời điểm. Các tiết học dồn lên cùng những khung giờ, và việc thiếu phòng học trở thành nút thắt khiến tổng thể không sao vừa được.

Cách xử lý:

  • Thêm phòng học (hoặc dùng chung giữa các lớp),
  • Dàn trải nhu cầu bằng cách mở rộng lưới thời gian,
  • Giảm bớt những ràng buộc dồn các tiết học vào ít khung giờ.

8. Nhiều cơ sở: việc di chuyển ăn mất giờ

Khi có nhiều cơ sở, thời gian di chuyển giữa các địa điểm làm giảm số khung giờ mà một giáo viên (hoặc một lớp) thật sự dùng được: đổi cơ sở tốn thời gian, và thời gian ấy không còn để xếp một tiết học nữa. Thời gian rảnh thực tế bị co lại và bài toán càng thêm rối.

Cách xử lý:

  • Gom các tiết học của một giáo viên vào cùng một cơ sở trong ngày,
  • Kiểm tra thời gian di chuyển đã khai báo giữa các cơ sở,
  • Hạn chế đi lại qua lại giữa các cơ sở trong cùng một ngày.

Danh sách kiểm tra trước khi chạy lại việc tạo tự động

  • Mọi lớp đã được gán cơ sở chưa?
  • Mọi lớp đã có đủ môn học và giáo viên chưa?
  • Mọi nhóm được dùng trong các tiết học đã có sĩ số lý thuyết hoặc một sức chứa xử lý được chưa?
  • Thời gian rảnh của tất cả giáo viên đã được xác nhận chưa?
  • Không còn cảnh báo nghiêm trọng (màu đỏ) nào ở thẻ Tạo thời khóa biểu chứ?

Các công cụ chẩn đoán tích hợp sẵn

  • Thẻ Tạo thời khóa biểu — trước khi chạy: thống kê (số tiết học / số giờ theo giáo viên, theo lớp, theo cơ sở) và cảnh báo (số giờ so với số khung giờ, những cảnh báo nghiêm trọng phải sửa trước khi khởi chạy).
  • Tiết học chưa xếp (post-it, ở bên phải) — sau một lần thất bại: kết quả của một lượt tạo chưa trọn vẹn. Nút định vị (ghim) trên từng tiết học cho thấy, qua các khung giờ được tô màu, vì sao không chỗ nào hợp.
  • Phát hiện nhóm bị bỏ quên: những nhóm đã khai báo nhưng chưa được gán tiết học nào.

Hướng dẫn

Chẩn đoán khi việc tạo thời khóa biểu thất bại

  1. Khi việc tạo tự động thất bại, Omniscol hiển thị một dải thông báo đỏ, giữ nguyên thời khóa biểu chưa đầy đủ trên màn hình, và đưa những tiết học không xếp được vào thanh post-it, ở bên phải.

  2. Hãy đọc dải thông báo: nó cho một hướng lần tìm (quy tắc suy đoán, xem ở trên), chứ không phải một phán quyết.

  3. Hãy xuất phát từ các tiết học chưa xếp, chứ không phải từ “lỗi tương thích”. Việc tạo tự động không bao giờ tạo ra lỗi tương thích: nó chỉ để sang một bên những gì không vừa. Hãy lấy một tiết học trong các post-it rồi nhấn nút định vị của nó (ghim, Định thời điểm trên thời khóa biểu).

  4. Hãy đọc các khung giờ được tô màu. Omniscol hiển thị mọi khung giờ ứng viên; với một tiết học không thể xếp, tất cả đều bị chặn. Hãy tìm lý do, theo thứ tự ba nguyên nhân gây chặn thường gặp: giáo viên đã bận hoặc không rảnh, lớp (hay nhóm) đã bận, hoặc không còn phòng học nào trống và phù hợp. Lý do hiện ra khi bạn rê chuột lên khung giờ.

  5. Hãy nới ràng buộc đang gây chặn — tùy trường hợp: nới thời gian rảnh, thêm hoặc giải phóng một phòng học, thống nhất một căn chỉnh nhóm, mở rộng lưới thời gian (xem các nguyên nhân ở trên) — rồi chạy lại.

  6. Trước khi chạy lại, hãy rà lại danh sách kiểm tra ở trên (đã gán cơ sở, đã có môn học và giáo viên, đã nhập sĩ số, đã xác nhận thời gian rảnh, không còn cảnh báo nghiêm trọng ở thẻ Tạo thời khóa biểu).

Xem thêm