Tôi phải triển khai thuật toán tạo thời gian biểu cho một trường đại học. Tôi đã tìm kiếm và tìm thấy rất nhiều thuật toán. Nhưng đây là vấn đề. Tôi cần một thuật toán tạo ra một thời gian biểu cho toàn bộ học kỳ, chứ không phải trên cơ sở hàng tuần. Nó cũng nên xem xét thứ tự được xác định trước của các bộ phận của khóa học, ví dụ: Bài tập 1 nên sau bài giảng 2 và trước bài giảng 3. Bạn có gợi ý gì không?Có một thuật toán tạo thời khóa biểu đại học cho cả học kỳ không?
Cảm ơn.
UPDATE:
Tôi có những hạn chế khó khăn sau:
H1: Chỉ có một phần nhiên được gán cho mỗi phòng tại bất kỳ khe thời gian.
H2: Phòng có thể lưu trữ tất cả sinh viên theo học và đáp ứng tất cả các tính năng theo yêu cầu của sự kiện.
H3: Không có học viên nào tham gia chế độ nhiều khóa học cùng một lúc (ít nhất là khóa học bắt buộc)
H4: Không có giáo viên nào dạy nhiều hơn một phần khóa học cùng một lúc.
Các ràng buộc mềm là:
S1: Phần khóa học không được cấp cho một khoảng thời gian bất tiện cho một giảng viên.
S2: Cần có một số khoảng trống tối thiểu giữa các lớp của giáo viên.
S3: Cần có một số khoảng trống tối thiểu giữa các lớp cho học sinh.
S4: Lớp học phải đáp ứng các tùy chọn của giảng viên - các ngày và thời gian.
S5: Các phần của khóa học phải được lên lịch để xác định trước thứ tự.
Ví dụ:
Khóa học "Kiến trúc phần mềm"
Week No Course Room Course Part Day Time
--------+---------+-------+--------------+----------+-----
Week 1: SA 435 Lecture 1 Wednesday 8.15-11
Week 2: SA 435 Lecture 2 Wednesday 8.15-11
Week 3: SA 47 Lab 1 Monday 13-15
Week 3: SA 436 Lecture 3 Wednesday 11-14
Week 4: SA 243 Exercise 1 Monday 13-15
Week 5: SA 436 Lecture 4 Wednesday 8.15-11
Xin chào.Tôi đã thêm các ràng buộc và một ví dụ – Thea
Dude, mỗi khi nó đến thời gian để ghi danh vào các đơn vị tôi muốn có một prorgam/script để làm điều này cho tôi. –