Algorytm generowania / Automatyczne generowanie planu lekcji
Algorytm generowania Omniscol automatycznie wylicza umieszczenie lekcji w planie lekcji tygodniowym, cyklicznym lub kalendarzowym. Umieszcza lekcje utworzone, ale jeszcze nieumieszczone, może przesunąć lekcje już umieszczone, jeśli poprawia to plan lekcji, i zachowuje zablokowane lekcje na ich miejscu.
Jak to działa
Po rozpoczęciu generowania Omniscol uruchamia dedykowane, zrównoleglone środowisko obliczeniowe. Szkoła nie musi zarządzać żadną kolejką; inicjalizacja zajmuje często około dziesięciu sekund, zanim pojawią się pierwsze widoczne obliczenia. Wynik zależy od jakości wprowadzonych danych: lokalizacji, sal, nauczycieli, grup, liczby godzin, dostępności i niekompatybilności. Im liczniejsze lub bardziej sprzeczne są ograniczenia, tym dłużej może trwać generowanie albo tym bardziej prawdopodobne, że jego wynik będzie częściowy.
Silnikiem jest optymalizacyjna sztuczna inteligencja typu neurosymboliczna metaheurystyka Monte Carlo: łączy przeszukiwanie stochastyczne, symboliczne reguły dziedzinowe i ocenianie ograniczeń. Najważniejszy jest aspekt operacyjny: algorytm generowania jest zaprojektowany dla przypadków bardzo silnie ograniczonych, a sytuacje niemożliwe zgłasza, zamiast ukrywać konflikty.
Twarde ograniczenia
Algorytm generowania bezwzględnie respektuje ograniczenia, których naruszenie unieważniłoby plan lekcji:
- nauczyciel nie może być w dwóch miejscach w tym samym czasie;
- klasa nie może mieć dwóch lekcji w tym samym czasie, poza przypadkami przewidzianymi dla grup objętych podziałem klasy;
- dostępność i ograniczenia czasowe oznaczone jako niedostępne blokują umieszczenie;
- sala ogólna nie może przyjąć dwóch lekcji w tym samym momencie;
- duża sala może przyjąć kilka lekcji tylko w granicach skonfigurowanej pojemności i liczby klas;
- sale specjalistyczne, pojemności, zasoby materialne i czasy przejazdu między lokalizacjami muszą pozostać zgodne;
- zablokowana lekcja zachowuje swoją pozycję.
Ograniczenia optymalizacyjne
Miękkie ograniczenia służą do oceniania i ulepszania znalezionych rozwiązań. Nie są pomijane: stają się punktami karnymi, których liczbę algorytm generowania stara się zmniejszyć.
Częste przykłady:
- dostępność lub ograniczenia czasowe oznaczone jako niepożądane dla nauczyciela, sali, kursu, grupy lub klasy;
- niekompatybilności pedagogiczne między przedmiotami, na przykład unikanie laboratorium przed odpowiadającym mu wykładem, unikanie zajęć sportowych bezpośrednio po bardzo intensywnej lekcji albo narzucenie kolejności w programie nauczania;
- unikanie dwóch lekcji tego samego przedmiotu w tym samym dniu w jednej klasie;
- minimalna lub maksymalna liczba godzin lekcyjnych dziennie albo tygodniowo;
- równowaga dni;
- zmniejszanie luk w planach lekcji klas i nauczycieli;
- liczba dni obecności nauczycieli, zależnie od zwyczajów szkoły lub kraju.
Poszukiwanie prawidłowego rozwiązania to pierwszy etap. Optymalizacja punktów karnych może potem stać się najdłuższą częścią obliczeń.
Dostępność funkcji
- Plany lekcji tygodniowe — dostępne.
- Plany lekcji cykliczne — dostępne.
- Plany lekcji kalendarzowe — dostępne, z lekcjami datowanymi i zakresem dat.
Co zrobić, jeśli generowanie się nie uda
Gdy nie zostanie znalezione żadne kompletne rozwiązanie, Omniscol zachowuje najlepszy obliczony plan lekcji, a lekcje niemożliwe do umieszczenia pozostawia na liście nieumieszczonych karteczek. Można wtedy przejrzeć częściowy plan lekcji, zapoznać się z diagnostyką i poprawić ograniczenia.
Częste przyczyny:
- zbyt restrykcyjna dostępność (nauczyciel nie ma żadnego wolnego, zgodnego przedziału czasowego),
- za mało sal albo brak dostępnej sali specjalistycznej,
- niespójne wyrównanie grup (różna liczba godzin w wyrównanych grupach),
- zbyt liczne lub zbyt rygorystyczne niekompatybilności,
- teoretyczna liczebność klasy > pojemność wszystkich rozważanych sal.
Zob. Diagnozowanie nieudanego generowania.
Wymuszenie umieszczenia lekcji
Przed ponownym uruchomieniem generowania można zablokować pozycję lekcji: algorytm generowania jej wtedy nie przesuwa, lecz dostosowuje wokół niej pozostałe. Przydaje się to do zakotwiczenia lekcji „niezmiennych” (zajęć prowadzonych przez nauczycieli zewnętrznych w terminie ustalonym w umowie, egzaminów o wyznaczonej dacie itd.).