Wise Timetable

Concepte

Cum funcționează de fapt generarea automată

Fără limbaj de marketing. Ce face motorul, de ce problema este dificilă și de ce calitatea constrângerilor dumneavoastră contează mai mult decât ingeniozitatea algoritmului.

Problema, enunțată simplu

Aveți un set de ore de predare. Fiecare necesită un interval orar, o sală și un cadru didactic. Unele resurse sunt comune, unele ore nu se pot suprapune, iar o listă lungă de reguli limitează combinațiile admisibile. Găsiți o alocare care nu încalcă nicio regulă obligatorie și încalcă cât mai puține preferințe.

Aceasta este o problemă de satisfacere a constrângerilor, iar orarul universitar este un caz dificil, bine studiat, al ei. Numărul alocărilor posibile crește exploziv odată cu numărul de ore: căutarea exhaustivă nu este doar lentă, ci astronomic de nefezabilă chiar și pentru o facultate modestă.

De aceea, niciun sistem practic nu caută exhaustiv. Se folosesc euristici — strategii informate pentru a decide ce să plaseze în continuare și ce să facă atunci când se blochează — pentru a găsi rapid o soluție bună, nu o soluție demonstrabil optimă, într-un final.

Ce face de fapt motorul

  • Ordonarea. Stabilirea orelor care se plasează primele. Orele puternic constrânse — o cohortă mare care necesită un laborator anume, cu un singur tehnician calificat — sunt de obicei plasate devreme, deoarece plasarea lor la final ar însemna desfacerea a tot restul.
  • Plasarea. Atribuirea unei ore unei combinații admisibile de interval, sală și cadru didactic, care nu încalcă nicio constrângere obligatorie.
  • Revenirea (backtracking). Anularea unor decizii anterioare atunci când o oră nu mai are nicio plasare admisibilă. Aici se consumă cea mai mare parte a timpului de execuție.
  • Evaluarea. Aprecierea măsurii în care soluția parțială curentă satisface preferințele flexibile, astfel încât căutarea să poată favoriza regiunile mai bune ale spațiului.
  • Îmbunătățirea. După ce există o soluție admisibilă completă, efectuarea de modificări locale care îmbunătățesc scorul fără a strica nimic.

De ce constrângerile dumneavoastră contează mai mult decât algoritmul

Aceasta este partea pe care furnizorii sunt cel mai puțin dispuși să o spună. Dacă setul de constrângeri este bine specificat, majoritatea motoarelor competente produc rezultate comparabile. Dacă este specificat prost, niciun motor nu produce ceva util.

Cel mai frecvent eșec nu este algoritmic. Este un set de constrângeri în care preferințele au fost declarate inviolabile, astfel încât nu există nicio soluție admisibilă, iar motorul raportează corect un număr mare de ore care nu pot fi plasate. Al doilea ca frecvență sunt datele de intrare vechi sau greșite — capacități de săli pe care nu le-a verificat nimeni de la o renovare, disponibilitate colectată cu șase săptămâni în urmă.

Motiv pentru care întrebarea utilă adresată unui furnizor nu este „ce algoritm folosiți”, ci „cum mă ajutați să obțin corect constrângerile și disponibilitatea”.

Cum arată un sistem bun în practică

Un sistem utilizabil generează suficient de rapid încât regenerarea să fie o rutină, nu o sarcină de peste noapte — Wise Timetable regenerează chiar și orare mari în mai puțin de un minut, ceea ce înseamnă că puteți experimenta, nu vă angajați la o singură rulare.

Raportează ce nu a putut plasa și de ce, în loc să încalce discret o regulă pentru a produce ceva ce pare finalizat. Respectă orele pe care le-ați blocat, astfel încât munca automată și cea manuală pot fi combinate. Și produce mai multe variante, ca să le puteți compara, nu doar accepta.

Vedeți generarea automată în Wise Timetable.

Doriți să vedeți cum funcționează?

Rezervați o prezentare online de 45 de minute și o vom parcurge împreună, pornind de la problema de programare proprie instituției dumneavoastră.