Bài toán xếp lịch học luôn là một bài toán khó, mang tính khoa học đồng thời mang tính thực tiễn rất cao. Trên thế giới, bài toán Xếp lịch học (TimeTabling) đã được rất nhiều các nhà khoa học quan tâm, nghiên cứu. Đã có hơn 1000 bài báo khoa học được viết về đề tài này, trong đó có khoảng 300 luận án Tiến sĩ và Thạc sỹ được bảo vệ xung quanh về bài toán Thời khóa biểu. Riêng đối với Việt Nam, đặc biệt trong các trường Đại học, các trường phổ thông hay Cao học, từ lâu việc xếp lịch học đã trở thành một vấn đề có tính thời sự, một bài toán gây được sự chú ý, quan tâm của nhiều người.
Một thực tế hiện nay tại Việt Nam, việc xếp thời khóa biểu phần lớn là đều được thực hiện thủ công bằng tay. Phương pháp này vừa tốn nhiều chi phí, thời gian, công sức mà hiệu quả lại không cao. Nhu cầu thực tiễn hiện nay là tin học hóa bài toán xếp lịch học với tính năng sắp thời khóa biểu chính xác, hiệu quả, giảm bớt thời gian, chi phí công sức của con người. Tính phức tạp của bài toán xếp lịch học là các quy định, ràng buộc môn học chặt chẽ, các ràng buộc về lịch dạy của giáo viên, lớp học … hết sức phức tạp, đa dạng. Chính vì vậy, bài toán lập thời khóa biểu là một bào toán khó, có rất ít phần mềm lập thời khóa biểu được viết và sử dụng tại Việt Nam.
Dựa trên mô hình đào tạo sau đại học của trường Đại học Bách Khoa, đối với mỗi kỳ học, phòng đào tạo quy định danh sách các lớp học, danh sách các môn học tương ứng cho từng lớp học và danh sách giảng viên tương ứng với mỗi môn cho từng lớp. Trong luận văn, bài toán xếp lịch học cho các lớp cao học Bách Khoa phải đáp ứng được tất cả các điều kiện ràng buộc sau:
- Mỗi môn học ứng với một danh sách các ngày mà môn đó có thể được phân bổ vào (mỗi môn học đó đã được phân trước cho giảng viên và mỗi giảng viên chỉ có thời gian rảnh rỗi vào một số ngày nhất định)
53
- Số ngày của môn học ứng với số tín chỉ
- Mỗi lớp ứng với một danh sách các môn học mà lớp đó đăng ký.
- Xếp mỗi môn học vào một ngày nào đó sao cho không có xung đột xảy ra (hai môn học có chung lớp đăng ký thì phải xếp vào hai ngày khác nhau.)