Lệnh xếp tự động toàn bộ thời khóa biểu lần đầu tiên được đưa vào phần mềm từ phiên bản TKB 4.8. Tới phiên bản TKB 6.0, chức năng này đã được phát triển áp dụng cho tất cả các mô hình dữ liệu thời khóa biểu bao gồm cả phòng bộ môn và đa năng. Phần mềm sẽ tự động phân tích bộ dữ liệu hiện có và kiểm tra xem có thể xếp được toàn bộ công việc hay không. Nếu không có lỗi logic phần mềm sẽ tiến hành xếp tự động toan bộ thời khóa biểu nhà trường trong thời gian một vài phút.
2. Tinh chỉnh dữ liệu cho phép quan sát tất cả các thay đổi của các giáo viên tham gia.
Một trong những đặc trưng chủ yếu nhất của bài toán tinh chỉnh dữ liệu là sẽ phải có rất nhiều giáo viên (trung gian) tham gia vào quá trình thay đổi dữ liệu. Do không thể tự động đánh giá các giáo viên bị thay đổi dữ liệu này là tốt lên hay xấu đi, yêu cầu bắt buộc phải có của một lệnh tinh chỉnh dữ liệu là cho phép người dùng quan sát các thay đổi trước và sau khi thực hiện lệnh tinh chỉnh của các giáo viên trung gian. Người xếp thời khóa biểu quan sát và quyết định cuối cùng xem có thực hiện thao tác tinh chỉnh đó không.
Màn hình cho phép quan sát các thay đổi dữ liệu của dãy các giáo viên trung gian được đưa vào phần mềm từ bản TKB 4.0. Chức năng này liên tục được nâng cấp và phát triển bổ sung nhiều tính năng mới hỗ trợ cho các quan sát của người dùng tốt hơn. Đến phiên bản TKB 7.5 thì đã bổ sung thêm tính năng đánh giá các thay đổi của dãy giáo viên trung gian.
3. Mô phỏng 3 công cụ mô phỏng tư duy xếp thời khóa biểu là Xếp có điều kiện 1 tiết (CX), Giải phóng 1 ô thời khóa biểu (Push Out) và Di chuyển tiết trên thời khóa biểu (Move To).
Đây là 3 công cụ mô phỏng tư duy xếp thời khóa biểu chính của phần mềm TKB. Chúng tạo nên sức mạnh của phần mềm này.
Lệnh di chuyển một tiết trên TKB từ vị trí này sang vị trí khác (gọi là lệnh Move To).
Chức năng này được dùng khi muốn làm đẹp hoặc thỏa mãn nhu cầu của lớp hoặc giáo viên bằng cách dịch chuyển một tiết học từ vị trí ban đầu (xấu) sang một vị trí mới (tốt hơn).
Lệnh giải phóng 1 tiết trên TKB: chuyển tiết này sang một vị trí khác bất kỳ (gọi là lệnh Push Out).
Mục đích của lệnh là giải phóng một ô trên thời khóa biểu bằng cách chuyển tiết tại ô này sang một vị trí khác. Việc chuyển sang vị trí nào không quan trọng (do phần mềm tự động tính), mục đích chính của lệnh là có một ô trên khóa biểu là rỗng để có thể xếp tiết cho các môn học khác hoặc giáo viên khác.
Lệnh xếp bằng được 1 tiết vào ô lưới của một thời khóa biểu lớp hoặc giáo viên (gọi là lệnh CX).
Lệnh này được dùng khi muốn xếp những tiết cuối cùng chưa xếp vào thời khóa biểu. Phần mềm sẽ tự động điều chỉnh và xếp bằng được tiết này (tất nhiên với một số điều kiện như sẽ ảnh hưởng đến các giáo viên khác trong nhà trường. Lệnh này trước kia được gọi là lệnh Xếp tiết có điều kiện).
Như vậy 3 chức năng (hay kỹ thuật) Move To, Push Out và CX là các tư duy chính của công việc tinh chỉnh dữ liệu thời khóa biểu.
Chú ý quan trọng: 3 chức năng tinh chỉnh dữ liệu trên là những thao tác cụ thể, trực tiếp trên thời khóa biểu mà người xếp, chia thời khóa biểu hay dùng. Còn kỹ thuật hay thuật toán xử lý cụ thể các lệnh trên lại là một vấn đề khác. Phần mềm TKB đã đưa ra nhiều thuật toán lõi của các lệnh tinh chỉnh trên như CX, FPR, DPR, DPR-1e, OpCX/OpDPR, OpDPR/FPR, ... Chúng ta sẽ xem xét các thuật toán này trong các phần sau của bài viết này.
4. Thuật toán tinh chỉnh vị trí cố định FPR.
Thuật toán tinh chỉnh dữ liệu theo vị trí cố định (FPR) được đưa vào phần mềm từ phiên bản TKB 4.5 và được nâng cấp hoàn thiện trong TKB 5.5. Đây là thuật toán tinh chỉnh rất hữu hiệu vì trong dãy các giáo viên trung gian chỉ có duy nhất giáo viên cuối cùng có thời khóa biểu thay đổi thực sự.
Hình dưới đây mô tả mô hình của thuật toán FPR. Trên thực tế khi xếp thời khóa biểu bằng tay rất nhiều giáo viên có kinh nghiệm sử dụng thuật toán (cách làm) này trên thực tế.
Thuật toán Tinh chỉnh vị trí cố định FPR cho đến nay vẫn là một thuật toán tốt và là lựa chọn chính của nhiều giáo viên và nhà trường khi sử dụng phần mềm TKB.
5. Chức năng tự động đánh giá thay đổi giáo viên của các lệnh tinh chỉnh dữ liệu thời khóa biểu.
Bắt đầu từ phiên bản TKB 6.5, các lệnh tinh chỉnh dữ liệu thời khóa biểu đã có thêm một tính năng mới cho phép tự động đánh giá các thay đổi của các giáo viên trung gian là Tốt, Trung bình hay Xấu. Các trạng thái này được thể hiện bằng các màu Xanh, Vàng, Đỏ trên màn hình.
Tính năng này sẽ hỗ trợ người xếp thời khóa biểu có thêm một công cụ đánh giá tự động bên cạnh cách đánh giá "cổ điển" là quan sát bằng mắt.
Bộ tiêu chí tự động đánh giá các thay đổi TKB của giáo viên sẽ dựa trên 12 tiêu chí và được chia làm 2 loại: (1) 6 tiêu chí định lượng thông tin TKB và (2) 6 tiêu chí đánh giá yêu cầu thỏa man các ràng buộc TKB của giáo viên.
12 tiêu chí đánh giá sự thay đổi giáo viên dùng để đánh giá bao gồm:
6 tiêu chí định lượng thông tin TKB
6 tiêu chí đánh giá thỏa mãn ràng buộc TKB
Như vậy có thể coi phiên bản TKB 6.5 là phiên bản đầu tiên định hướng mới cho phần mềm TKB theo hướng phát triển các công cụ đánh giá và tối ưu hóa thời khóa biểu. Các tính năng tối ưu hóa này đã được nâng cấp phát triển liên tục cho đến bây giờ, bản TKB 10.0.
6. Đánh giá tiết học trên thời khóa biểu và chức năng các phương án chuyển tiết tối ưu.
Từ phiên bản TKB 7.0 đã đưa thêm vào một tính năng mới: đó là đánh giá các tiết học trên TKB giáo viên. Việc đánh giá các tiết học này có 2 mục đích:
- Mở rộng thêm một kênh đánh giá TKB giáo viên theo từng tiết học.
- Khi biết được tiết học nào bị "xấu", người xếp TKB sẽ có thêm một công cụ mới để thực hiện việc chuyển các tiết "xấu" này sang các vị trí khác tốt hơn.
Cách tiếp cận này mở đầu cho hàng loạt các mở rộng và nâng cấp tiếp theo của phần mềm TKB theo hướng đánh giá và tinh chỉnh tối ưu TKB giáo viên. Việc đánh giá các tiết học trong TKB được tiến hanh như sau.
Mỗi tiết học trên TKB giáo viên sẽ được tính toán với một độ đo, gọi là Metric. Nếu độ đo này > 0 thì tiết học này được gọi là xấu, ngược lại nếu độ đo = 0 thì tiết học là tốt. Giá trị độ đo tiết học Max là 10 (xấu nhất), Min là 0 (tốt nhất).
Độ đo đánh giá tiết học được tính theo 8 tiêu chuẩn sau:
Tổng các số đo tiết học của mỗi giáo viên sẽ tạo thành một giá trị gọi là số đo CM của giáo viên này. Giá trị này sẽ tham gia vào việc đánh giá giáo viên trong phần mềm TKB.
Với các tiết "xấu" phần mềm TKB sẽ có thêm một công cụ mới đó là "chuyển tiết tối ưu" cho các tiết xấu này sang các vị trí khác tốt hơn.
- Các tiêu chí đánh giá việc chuyển tiết "xấu" này đến vị trí nào là "tối ưu" nhất?
Phần mềm TKB đã đưa ra 10 tiêu chí cho việc đánh giá chuyển tiết tối ưu này. Người dùng có quyền chọn hoặc hủy chọn các tiêu chí này để đưa vào đánh giá cho việc chuyển tiết tối ưu.
Thao tác chuyển tiết tối ưu trong phần mềm TKB rất đơn giản như sau:
- Trong màn hình Main Loop chính có thể hiện thay đổi màu sắc các tiết xấu bằng cách nháy nút Tiết trong khung thông tin giáo viên bên phải màn hình. Sau lệnh này các tiết xấu trên TKB giáo viên sẽ đổi màu.
- Nhấn và giữ chuột trong giây lát trên các tiết xấu, người dùng sẽ thấy xuẩt hiện các tiết trống với màu xanh lá cây (như hình dưới đây).
- Các vị trí tiết với màu xanh lá cây chính là các vị trí tối ưu để có thể chuyển tiết xấu hiện thời đến đó.
Chú ý:
Như vậy chức năng chuyển tiết tối ưu là bước đột phá quan trọng của việc tự động đánh giá và làm tối ưu TKB. Tuy nhiên chức năng này chỉ có ý nghĩa trên giáo viên hiện thời mà chưa thể đảm bảo cho các giáo viên trung gian của việc chuyển tiết đó là tốt hay xấu.
7. Đánh giá thời khóa biểu giáo viên theo 12 tiêu chí quan trọng.
Bắt đầu từ phiên bản TKB 7.0, ý tưởng đánh giá sự thay đổi dữ liệu thời khóa biểu giáo viên theo 12 tiêu chí đã được chính thức đưa vào thành một dạng đánh giá TKB giáo viên mới của phần mềm.
Bảng 12 tiêu chí đánh giá này tương tự như các tiêu chí đánh giá sự thay đổi TKB đã được đưa vào từ TKB 6.5.
8. Thuật toán tinh chỉnh tối ưu OpCX/OpDPR và OpDPR/FPR
Các thuật toán tinh chỉnh tối ưu OpCX/OpDPR và OpDPR/FPR là những thuật toán chỉnh dữ liệu mới nhất được đưa vào phần mềm bắt đầu từ bản TKB 7.5, sau đó được nâng cấp liên tục trong các bản tiếp theo. Có thể nói rằng đây là phát triển mang tính đột phá nhất của phần mềm TKB trong suốt 25 năm phát triển của mình.
Ý tưởng của các thuật toán này như sau:
Phần mềm sẽ kiểm tra tất cả các thay đổi của các giáo viên trung gian khi tinh chỉnh dữ liệu. Phần mềm sẽ đưa ra một bộ điều kiện "tối ưu" cho phép kiểm tra tất cả các dịch chuyển tiết của các giáo viên trung gian, nếu các dịch chuyển này thỏa mãn các điều kiện tối ưu thì mới thực hiện. Các tiêu chuẩn "tối ưu" của thuật toán này bao gồm 10 tiêu chí sau:
Tiêu chuẩn này áp dụng cho từng dịch chuyển tiết. Nếu phương án dịch chuyển thỏa mãn tất cả các tiêu chuẩn đã lựa chọn thiư phương án chuyển này được gọi là tối ưu.
Do vậy các thuật toán "tối ưu", có ký hiệu Op như OpCX/OpDPR, OpDPR/FPR đảm bảo rằng tất cả các dịch chuyển của các giáo viên trung gian đều là tối ưu theo nghĩa trên đây.
9. Đánh giá thời khóa biểu giáo viên theo buổi học.
Từ phiên bản TKB 7.5, phần mềm TKB sẽ có thêm một tiêu chuẩn đánh giá mới cho riêng TKB giáo viên: đó là cách đánh giá TKB giáo viên theo thông tin các buổi học trong tuần.
Trên thực tế cách đánh giá này có nhiều ý nghĩa và được sử dụng trong nhiều trường hợp thực tế: thông thường các giáo viên nhìn vào các buổi học của mình để biết thời khóa biểu của mình là đẹp hay xấu.
Cửa sổ lệnh xem các đánh giá TKB giáo viên của phần mềm. Cột cuối cùng chính là đánh giá TKB giáo viên theo buổi học mới được đưa vào từ phiên bản TKB 7.5.
Để quan sát được chi tiết đánh giá từng buổi học của TKB giáo viên, trong các màn hình Main Loop và Triple View, có một chế độ làm việc đặc biệt gọi là TOP. Trong chế độ này thông tin đánh giá từng buổi học của TKB giáo viên sẽ hiện trên màn hình như hình dưới đây:
Việc bổ sung thêm một cách đánh giá mới TKB giáo viên trong phần mềm TKB sẽ làm phong phú thêm hệ thống đánh giá thời khóa biểu của phần mềm. Người dùng có thể lựa chọn một trong các cách đánh giá trên là chính trong phần mềm.
10. Các công cụ tối ưu hóa thời khóa biểu giáo viên (TOP).
Các công cụ tối ưu hóa thời khóa biểu giáo viên (TOP) được đưa vào phần mềm từ phiên bản TKB 7.5 là những phát triển mới nhất của phần mềm theo hướng tối ưu TKB giáo viên. Đây là những công cụ hoàn toàn mới về chất, khác hẳn so với các công cụ trước đây, lần đầu tiên được đưa vào phần mềm này.
Ý tưởng chính của các công cụ TOP như sau:
- Dựa trên ý tưởng là cần làm đẹp TKB giáo viên theo từng buổi học.
- Mỗi công cụ TOP thực chất là một lệnh, chức năng làm đẹp, tối ưu cho một buổi học của TKB giáo viên.
- Tất cả các thuật toán tinh chỉnh dữ liệu dùng trong TOP đều là tinh chỉnh tối ưu OpCX/OpDPR hoặc OpDPR/FPR.
- Mỗi lệnh hay công cụ TOP thực chất là một tổ hợp các lệnh tinh chỉnh. Một tổ hợp lệnh như vậy được gọi là một Giao dịch (Transaction). Mỗi Transaction sẽ được thực hiện như một lệnh đơn, tức là hoặc thực hiện toàn bộ các lệnh cấu thành hoặc không thực hiện một lệnh đơn nào. Tính năng Transaction (giao dịch) của các lệnh TOP là một phát triển đột phá nhất của phần mềm TKB 7.5.
Trong chế độ làm việc TOP, thanh công cụ TOP sẽ bật với 8 chức năng chính.
Sau đây là mô tả chung các chức năng, lệnh chính của TOP:
1. Tất cả các chức năng của TOP đều nhằm mục đích tự động tối ưu hóa TKB giáo viên dựa trên quan sát và đánh giá các buổi học.
2. Các chức năng TOP được thực hiện bằng cách nháy vào các biểu tượng, lệnh tương ứng trên thanh công cụ TOP. Lệnh sẽ được thực hiện áp dụng cho buổi học hiện thời. Yêu cầu là ô TKB hiện thời phải nằm trên TKB giáo viên.
3. Thực chất các lệnh TOP sẽ do phần mềm tự động tính toán và thực hiện thành một dãy các lệnh tinh chỉnh đơn giản. Điềm rất đặc biệt là dãy các lệnh đơn này sẽ gộp lại trong một chức năng TOP như một transaction. Điều này có nghĩa là toàn bộ các dãy lệnh này hoặc được thực hiện đồng thời hoặc không thực hiện.
4. Tất cả các lệnh tinh chỉnh dữ liệu trung gian của TOP đều sử dụng thuật toán tinh chỉnh tối ưu OpCX/OpDPR.
5. Trong quá trình thực hiện các chức năng TOP, phần mềm sẽ tự động phân tích để đưa ra các dãy lệnh trung gian tương ứng. Có 2 quan điểm của cách chọn lệnh trung gian này:
- DỒN BUỔI: cách chọn trung gian sao cho khi thực hiện lệnh thì các buổi học sẽ dồn lại với số tiết lớn nhất có thể. Cách làm này áp dụng cho trường hợp giáo viên này cần có càng nhiều buổi nghỉ càng tốt. Ngược lại số tiết dạy trong mỗi buổi có thể cao.
- GIÃN BUỔI: cách chọn trung gian so cho khi thực hiện lệnh thì các buổi học sẽ được giãn ra theo nghĩa số tiết của mỗi buổi học nên đều nhau. Nhược điểm của cách làm này là số buổi nghỉ có thể sẽ giảm đi.
6. Trong chế độ TOP vẫn có thể thực hiện lệnh kéo thả trên các ô thời khóa biểu để thực hiện lệnh dịch chuyển dữ liệu trên thời khóa biểu sử dụng thuật toán OpCX/OpDPR.
Mô tả chi tiết các lệnh TOP
Sau đây là mô tả chi tiết các lệnh TOP được thực hiện từ thanh công cụ.
Quan sát kết quả các lệnh TOP
Như đã nói ở phần trên, mỗi lệnh TOP thực chất là một Giao dịch (Transaction) bao gồm nhiều lệnh đơn được thực hiện lần lượt. Khi kết thúc một lệnh TOP thực chất phần mềm đã thực hiện một dãy các thuật toán OpCX/OpDPR hoặc OpDPR/FPR.
Như vậy mỗi lệnh TOP (giao dịch TOP) sẽ bao gồm nhiều lệnh đơn dạng OpCX/OpDPR hoặc OpDPR/FPR, mỗi lệnh đơn này lại bao gồm một dãy các thay đổi trên các lớp và giáo viên trong nhà trường.
Trên màn hình quan sát kết quả thay đổi thời khóa biểu của TOP, chúng ta có thể quan sát theo 2 cách: quan sát từng lệnh đơn thành phần hoặc quan sát kết quả cuối cùng của lệnh TOP như một lệnh duy nhất.
Hình dưới đây mô tả trạng thái màn hình quan sát kết quả khi muốn xem chi tiết thay đổi theo từng bước của lệnh.
Trong màn hình trên ta nhìn thấy trong khung giữa cửa sổ sẽ ghi rõ sự thay đổi của các lớp và giáo viên theo từng bước, từng lệnh trung gian của giao dịch TOP.
Tại khu vực đánh giá sự thay đổi giáo viên phía dưới màn hình cũng thể hiện đánh giá sự thay đổi theo từng lệnh trung gian này.
Nháy nút Báo cáo sẽ cho xem thông tin đánh giá các giáo viên bị ảnh hưởng của lệnh đơn thứ nhất của lệnh TOP này.
Muốn xem các thay đổi thông tin của các lệnh đơn tiếp theo hãy nháy chuột trong khung giữa vào các hàng chứa thông tin thay đổi của giáo viên tương ứng với lệnh đơn này.
Ngược lại ở chế độ quan sát toàn bộ lệnh, màn hình sẽ thể hiện sự thay đổi lớp và giáo viên sau khi gộp tất cả các thay đổi từ các lệnh trung gian như một lệnh duy nhất.
Muốn chuyển sang chế độ quan sát tổng thể toàn bộ lệnh TOP như một lệnh duy nhất hãy tích hủy chọn tại góc phải trên của màn hình TOP Report.
Dưới đây là hình ảnh màn hình quan sát kết quả lệnh TOP trong trường hợp xem toàn bộ kết quả của lệnh.
Như vậy màn hình quan sát kết quả của lệnh TOP đã có thay đổi đáng kể trong phần mềm TKB đáp ứng các nhu cầu quan sát và đánh giá khác nhau của người xếp thời khóa biểu.