Muszę zaimplementować algorytm, który generuje harmonogram dla uniwersytetu. Szukałem i znalazłem wiele algorytmów. Ale tutaj jest problem. Potrzebuję algorytmu, który generuje harmonogram na cały semestr, a nie na podstawie tygodniowej. Powinien także uwzględniać wstępnie zdefiniowaną kolejność części kursu, np. ćwiczenie 1 powinno być po wykładzie 2 i przed wykładem 3. Czy masz jakieś sugestie?Czy istnieje algorytm, który tworzy rozkład uniwersytecki na cały semestr?
Dzięki.
UPDATE:
Mam następujący twarde ograniczenia:
H1: Tylko jedna część kursu jest przypisany do każdego pokoju w każdej szczelinie czasowej.
H2: Sala może pomieścić wszystkich uczniów i spełnia wszystkie funkcje wymagane przez wydarzenie.
H3: Żaden uczeń nie uczęszcza na jeden kurs w tym samym czasie (przynajmniej kursy obowiązkowe)
H4: Żaden nauczyciel nie naucza więcej niż jednej części kursu w tym samym czasie.
Miękkie ograniczenia to:
S1: Część kursu nie powinna być przypisana do przedziału czasowego niewygodnego dla wykładowcy.
S2: Powinna istnieć minimalna liczba luk między klasami nauczyciela.
S3: Powinna istnieć minimalna liczba przerw pomiędzy zajęciami dla ucznia.
S4: Zajęcia powinny spełniać preferencje wykładowców - dni i przedziały czasowe.
S5: Treści kursu należy zaplanować, aby wstępnie zdefiniować kolejność.
Przykład:
Course "architektura oprogramowania"
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
Witam.Dodałem do tego ograniczenia i przykład: – Thea
Koleś, za każdym razem, gdy przychodzi czas na zapisy w jednostkach, chciałbym, żeby był dla mnie skrypt/skrypt. –