대학의 시간표를 생성하는 알고리즘을 구현해야합니다. 나는 많은 알고리즘을 수색하고 발견했다. 그러나 여기에 문제가 있습니다. 나는 주간베이스가 아닌 전체 학기 시간표를 생성하는 알고리즘이 필요합니다. 코스의 사전 정의 된 순서도 고려해야합니다 (예 : 운동 1은 강의 2 이후와 강의 3 이전이어야합니다. 어떤 제안이 있습니까?전체 학기 동안 대학 시간표를 만드는 알고리즘이 있습니까?
감사합니다.
UPDATE :
I가 다음과 같은 하드 제약 :
H1 : 하나의 코스 부분은 언제든지 슬롯에 각 방에 할당됩니다.
H2 : 방은 모든 참석 학생을 호스트 할 수 있으며 이벤트에서 요구하는 모든 기능을 충족시킵니다.
H3 : 동시에 한 과목 이상을 듣지 않는 학생 (최소 의무 과목 이상)
H4 : 교사는 동시에 두 개 이상의 강좌를 가르치지 않습니다.
부드러운 제약 조건은 다음과 같습니다.
S1 : 강좌 부분은 강사에게 불편한 시간대에 할당해서는 안됩니다.
S2 : 교사 수업 사이에 최소한의 간격이 있어야합니다.
S3 : 학생을위한 수업 사이에 최소한의 간격이 있어야합니다.
S4 : 강의는 강사 기본 설정 (일 및 시간 슬롯)을 충족해야합니다.
S5 : 코스 파트는 주문을 미리 예약해야합니다.
예 :
코스 "소프트웨어 아키텍처"당신은 interval scheduling 보길 원하는 것일 수도
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
안녕하세요.제약 조건과 예제를 추가했습니다. – Thea
야, 단위를 등록 할 때마다 나를 위해 prorgam/script가 있었으면 좋겠다. –