Các lệnh “mô phỏng tư duy” tinh chỉnh thời khóa biểu là chức năng quan trọng nhất và mạnh nhất của phần mềm TKB. Các chức năng này có một chức năng duy nhất là hỗ trợ người xếp thời khóa biểu thực hiện công việc tinh chỉnh dữ liệu thời khóa biểu. Đây là các công việc chính, phức tạp và khó khăn nhất của người làm công việc xếp thời khóa biểu. Sau khi đã xếp đại trà cho khoảng 95-99% khối lượng, việc xếp nốt một vài tiết sau cùng của thời khóa biểu sẽ trở nên rất khó khăn vì lúc này sẽ rất khó cân đối các ràng buộc khác nhau của giáo viên. Sau khi đã xếp xong luôn sẽ có nhu cầu điều chỉnh một số thời khóa biểu “xấu” theo yêu cầu của những giáo viên này. Tất cả các công việc trên đòi hỏi kinh nghiệm, sự từng trải và hiểu rõ các yêu cầu cụ thể của giáo viên trong nhà trường.
Nhóm các chức năng này bao gồm các lệnh sau:
- Lệnh “giải phóng” 1 ô thời khóa biểu (Push Out - Chuyển đi): lệnh này cho phép “giải phóng” một ô trên thời khóa biểu lớp, phần mềm sẽ đưa tiết học tại ô này ra khỏi vị trí hiện thời và “giải phóng” cho ô hiện thời trở nên rỗng. Như vậy mục đích của lệnh này là giải phóng 1 tiết rỗng trên lưới TKB để có thể xếp các tiết khác vào đó, người xếp không quan tâm lắm việc tiết học này sẽ được chuyển đi đâu.
- Lệnh xếp 1 tiết có điều kiện (CX - Xếp có điều kiện): lệnh này sẽ cố găng để xếp bằng được 1 tiết vào thời khóa biểu hiện thời (lớp hoặc giáo viên). Với lệnh này mục đích của lệnh là xếp bằng được 1 tiết vào thời khóa biểu không quan tâm đến vị trí cụ thể của tiết được xếp này.
- Lệnh dịch chuyển dữ liệu trên thời khóa biểu (Move To - Chuyển đến): lệnh sẽ tiến hành dịch chuyển 1 tiết học từ vị trí này đến một vị trí khác trên thời khóa biểu. Mục đích của lệnh này là muốn thay đổi cụ thể trên TKB của một lớp hay giáo viên với ý định làm cho thời khóa biểu này "đẹp" hơn.
Cả 3 lệnh quan trọng trên đều có chung một số nguyên tắc cơ bản sau đây:
- Nguyên tắc giáo viên trung gian: Khi tinh chỉnh thời khóa biểu cho một giáo viên bắt buộc phải sử dụng nhiều giáo viên trung gian.
- Nguyên tắc bù trừ: khi tinh chính dữ liệu, mục đích chính bao giờ cũng là làm cho một giáo viên có thời khóa biểu “đẹp” hơn. Điều này tất nhiên phải kéo theo có nhiều giáo viên khác sẽ có thời khóa biểu “xấu đi”.
- Nguyên tắc kiểm soát được: trong quá trình điều chỉnh dữ liệu, người xếp thời khóa biểu luôn kiểm soát được toàn bộ các thay đổi dữ liệu, biết được ai có TKB đẹp hơn và ai có TKB xấu đi. Trong mọi trường hợp quyền quyết định cuối cùng bao giờ cũng thuộc về người sử dụng phần mềm. Hay nói cách khác thời khóa biểu của một giáo viên trong nhà trường sẽ “đẹp” hay “xấu” không phụ thuộc vào phần mềm, mà chỉ phụ thuộc vào người xếp thời khóa biểu mà thôi.
Trong phần mềm TKB đã sử dụng nhiều cách (thuật toán) cho các lệnh tinh chỉnh dữ liệu thời khóa biểu. Các thuật toán sau được sử dụng trong TKB:
Thuật toán Vị trí cố định (FPR - Fix Position Replacement)
Đây là thuật toán khá hiệu quả dựa trên ý tưởng chỉ cho phép dịch chuyển 2 vị trí cố định trên thời khóa biểu. Rất nhiều giáo viên có kinh nghiệm xếp tay thời khóa biểu biết dùng thuật toán này trong khi xếp bằng tay.
Thuật toán Vị trí cố động (DPR - Dynamic Position Replacement)
Đây là thuật toán dựa trên phép duyệt theo chiều sâu trên TKB. Thuật toán này cũng khá hiệu quả mặc dù nó không xuất phát từ cách làm thực tế. Trên thực tế người xếp tay chỉ tư duy trước được 2 - 3 bước, còn DPR cho phép tư duy không hạn chế số bước.
Thuật toán xếp có điều kiện (CX - Condition Execution)
Đây là thuật toán khá hiệu quả và mô phỏng cách làm thực tế của nhiều giáo viên: đó là cách “tráo đổi” tiết của các giáo viên cùng dạy trong một lớp học. Khi một giáo viên muốn thay đổi tiết của mình (tại một lớp học), giáo viên này
Thuật toán đối chỗ trực tiếp (DR - Direct Replacement)
Đây là cách làm cổ điển của việc đổi vị trí trực tiếp trên TKB. Thuật toán này rất ít hiệu quả nhưng an toàn.
Thuật toán tinh chỉnh vị trí đông (DPR-1e)
Đây là thuật toán tổng quát của DPR, cho phép tìm liên tiếp các cách dịch chuyển dữ liệu TKB sử dụng DPR.
Thuật toán tinh chỉnh tối ưu OpCX/OpDPR
Thuật toán tinh chỉnh tối ưu OpCX/OpDPR mới được đưa vào phần mềm TKB từ phiên bản 7.5. Thuật toán này sử dụng các thuật toán lõi CX/DPR nhưng đã bổ sung 1 thuộc tính rất quan trọng là "tối ưu". Điều này có nghĩa là tất cả các giáo viên trung gian khi tham gia vào thuật toán này đều thỏa mãn tính dịch chuyển tối ưu. Hệ quả của việc này là tất cả các giáo viên tham gia vào thuật toán này đều có thời khóa biểu của mình mặc dù thay đổi nhưng không bị xấu đi.
Thuật toán tinh chỉnh tối ưu OpFPR
Thuật toán này được đưa vào từ TKB 8.0. Ý nghĩa của tính "tối ưu" của thuật toán này cũng tương tự như trên: lấy thuật toán FPR làm lõi và bổ sung tính năng tối ưu.
Thuật toán tinh chỉnh tối ưu OpDPR/FPR
Thuật toán tinh chỉnh tối ưu OpDPR/FPR mới được đưa vào phần mềm TKB từ phiên bản 8.5. Thuật toán này tối ưu hóa thuật toán lõi FPR đã có từ trước trong phần mềm TKB. Thuật toán này kết hợp với OpCX/OpDPR sẽ là 2 thuật toán tối ưu quan trọng nhất của việc tinh chỉnh dữ liệu thời khóa biểu.
Cài đặt thuật toán sử dụng khi tinh chỉnh dữ liệu
Cả 3 lệnh tinh chỉnh dữ liệu chính của phần mềm TKB là Push Out (chuyển đi), CX (xếp tiết có điều kiện) và Move To (dịch chuyển) đều có thể sử dụng một trong các thuật toán đã nêu trên.
Việc cài đặt thuật toán cho các lệnh này được thực hiện từ lệnh:
Lệnh chính -->Các lựa chọn và sau đó chọn TAB Xếp TKB.
Trong phần mềm TKB 10.0, các lệnh tinh chỉnh dữ liệu chính sẽ được quyền sử dụng các thuật toán tương ứng ghi trong bảng sau:
School@net
|