Dự án

Tổng quan

Hồ sơ

Hành động

Task #1476

mở
HN

[Xếp TKB auto]

Task #1476: [Xếp TKB auto]

Thêm bởi Hải Yến Ngô cách đây 13 ngày. Cập nhật cách đây 10 ngày.

Trạng thái:
Approved
Mức ưu tiên:
Cao
Phân công cho:
Phiên bản:
-
Bắt đầu:
27-05-2026
Hết hạn:
Tiến độ:

70%

Thời gian ước lượng:
Build tại bản:
Người Test:
Thời gian test xong:

Mô tả

  1. Mục đích
    Xây dựng chức năng xếp thời khóa biểu tự động cho từng khóa đào tạo trong quý nhằm:
    Giảm thao tác xếp lịch thủ công
    Tự động phân bổ môn học, bài học theo đúng quy định huấn luyện
    Đảm bảo tuân thủ các ràng buộc đào tạo
    Hỗ trợ tối ưu lịch học theo ngày, tuần, quý
    Hạn chế xung đột:
    Phòng học
    Mốc huấn luyện
    Kế hoạch huấn luyện
    Ràng buộc bài học
    Hỗ trợ người dùng tinh chỉnh thủ công sau khi xếp
    Hệ thống sử dụng:
    Greedy Algorithm để xếp lịch sơ bộ
    Hill Climbing để tối ưu và tinh chỉnh lịch
  2. Yêu cầu nghiệp vụ
    2.1 Câu chuyện nghiệp vụ
    Hiện tại việc xếp thời khóa biểu đang thực hiện chủ yếu bằng tay:
    Xếp cho từng khoá/lớp
    Chọn từng ngày
    Chọn từng môn/ bài học
    Kiểm tra thủ công:
    Mốc huấn luyện
    Lịch thi
    Phòng học
    Tiết học
    Giảng viên
    Trong thực tế:
    Một khóa có nhiều lớp
    Một quý có nhiều môn học
    Có nhiều ràng buộc phức tạp
    Thường xuyên thay đổi kế hoạch huấn luyện
    Các vấn đề gặp phải:
    Tốn nhiều thời gian xếp lịch
    Dễ xung đột phòng học
    Dễ vi phạm kế hoạch huấn luyện
    Khó đảm bảo đúng thứ tự bài học
    Khó tối ưu phân bố lịch học
    Do đó cần chức năng xếp tự động hỗ trợ:
    Xếp sơ bộ nhanh
    Tự động xử lý ràng buộc
    Tinh chỉnh tối ưu lịch
    Cho phép người dùng chỉnh sửa tiếp bằng tay
    2.2 Mong muốn
    Người dùng mong muốn:
    Chỉ cần chọn khóa đào tạo và quý → hệ thống tự xếp
    Không ghi đè lịch đã xếp tay
    Chỉ xếp vào ô còn trống
    Có thể bấm “Xếp tự động” nhiều lần để xếp tiếp các tiết còn dư
    Tuân thủ đầy đủ:
    Mốc huấn luyện
    Kế hoạch huấn luyện
    Thứ tự bài học
    Loại hình bài học
    Quy tắc môn học
    Tự động tối ưu lịch:
    Giảm tiết lẻ
    Giảm khoảng trống
    Hạn chế học quá tải
    Ngoài ra:
    Ưu tiên xếp buổi sáng
    Buổi chiều dùng để:
    Xếp lịch dư
    Dồn lịch thay đổi
    Xử lý conflict
    2.3 Khó khăn
  • Về nghiệp vụ
    Có nhiều loại tiết:
    Có nhiều ràng buộc đặc thù quân sự
    Có các block cứng không được xếp
    Có các môn ưu tiên cao:
    Chiến thuật
    Bắn súng
    Thao trường
  • Về dữ liệu
    Một quý có nhiều bài học
    Một bài có nhiều loại hình
    Có bài kéo dài nhiều ngày
    Có bài yêu cầu đúng khoảng thời gian
  • Về thuật toán
    Khó tối ưu toàn bộ lịch ngay từ đầu
    Nhiều conflict:
    Phòng học
    Tiết học
    Khoảng cách lịch
    Tiết lẻ
    Khó đảm bảo toàn bộ constraint đều đúng 100%
  1. Quy tắc chi tiết : https://docs.google.com/document/d/1HDzj-z-5y2KyyhDe9dFOk0w_GRuMTAFpG094hAkQss8/edit?tab=t.u3ogbg4k9mm6
  2. Kết quả mong muốn
    Sau khi xếp:
    Không vi phạm hard constraint
    Giảm tối đa soft constraint
    Không conflict phòng học
    Đảm bảo đúng thứ tự bài học
    Đảm bảo đúng kế hoạch huấn luyện

Cập nhật bởi Hải Ninh Đoàn cách đây 10 ngày Hành động #1

  • Trạng thái thay đổi từ New tới Approved

Cập nhật bởi Hải Ninh Đoàn cách đây 10 ngày Hành động #2

  • Tiến độ thay đổi từ 0 tới 70
Hành động

Định dạng khác của trang này: PDF Atom