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.).

Zobacz także