Concepte
Constrângeri obligatorii și flexibile, cu exemple reale
Distincția pare teoretică până când petreceți o săptămână suspendându-vă propriile reguli pentru că le-ați declarat pe toate inviolabile.
Definițiile
O constrângere obligatorie este o regulă care trebuie respectată în orice orar valid. Încălcarea ei nu produce un orar mai slab; produce un orar invalid. Un cadru didactic nu poate fi în două săli în același timp. Nouăzeci de studenți nu pot sta într-o sală cu șaizeci de locuri. O lucrare practică de chimie nu poate avea loc într-o sală de seminar fără nișe de evacuare a gazelor.
O constrângere flexibilă este o preferință. Satisfacerea ei îmbunătățește orarul; încălcarea lui îl înrăutățește, dar îl lasă utilizabil. Un cadru didactic ar prefera să nu predea vinerea după-amiaza. Studenții nu ar trebui să aibă pauze de trei ore. Predarea ar trebui concentrată în mai puține zile.
Un motor de programare le tratează complet diferit. Constrângerile obligatorii definesc spațiul soluțiilor admisibile. Constrângerile flexibile definesc care dintre aceste soluții admisibile este cea mai bună și sunt echilibrate între ele.
Clasificarea regulilor pe care le aveți deja
Majoritatea instituțiilor au o listă undeva. Aproape niciuna nu o clasifică.
| Regulă | Tip | De ce |
|---|---|---|
| Un cadru didactic nu poate preda două ore simultan | Obligatorie | Imposibil fizic; niciun orar care conține această situație nu este utilizabil. |
| Capacitatea sălii trebuie să corespundă grupei | Obligatorie | Ora nu se poate desfășura. Uneori este atenuată atunci când se știe că o grupă nu participă în întregime. |
| Ora necesită echipament specific | Obligatorie | Predarea nu poate avea loc fără acesta. |
| Cadru didactic marcat indisponibil marți dimineața | Obligatorie | Dacă a indicat-o chiar persoana respectivă, tratați-o ca obligatorie. Acesta este rostul disponibilității în regim de autoservire. |
| Cel mult șase ore de predare pe zi | De obicei obligatorie | Adesea politică instituțională sau acord sindical, mai degrabă decât o preferință. |
| Pauză de masă între 12:00 și 14:00 | Flexibilă sau obligatorie | Depinde de instituție. Precizați-o explicit, în loc să o presupuneți. |
| Cadrul didactic preferă orele de dimineață | Flexibilă | O preferință. Optimizați pentru ea; nu eșuați din cauza ei. |
| Studenții nu ar trebui să aibă pauze mai lungi de două ore | Flexibilă | Foarte de dorit, rareori realizabilă integral. |
| Predarea concentrată în mai puține zile | Flexibilă | Intră direct în conflict cu rândul precedent. Exact pentru asta există optimizarea. |
| Sala preferată pentru un anumit modul | Flexibilă | De obicei o comoditate, ocazional obligatorie atunci când echipamentul este fix. |
De ce confuzia este costisitoare
A declara fiecare regulă obligatorie pare sigur. Nu este. Un set de constrângeri în care fiecare preferință este inviolabilă nu admite de obicei nicio soluție, iar sistemul raportează corect că un număr mare de ore nu pot fi plasate.
Ceea ce urmează este partea costisitoare: cineva petrece o săptămână suspendând manual constrângerile, una câte una, pentru a forța un rezultat, ceea ce este exact munca manuală pe care automatizarea trebuia să o elimine — iar orarul rezultat nu păstrează nicio evidență a regulilor care au fost încălcate sau a motivului.
Eroarea opusă este mai rară, dar mai gravă. Marcarea unei constrângeri cu adevărat obligatorii drept flexibilă produce un orar care pare complet și conține o imposibilitate, descoperită în prima săptămână de persoanele afectate.
Un test practic
Puneți fiecărei reguli o singură întrebare: dacă ar fi încălcată, ora s-ar putea totuși desfășura?
Dacă nu, este obligatorie. Dacă da, dar cineva ar fi nemulțumit, este flexibilă. Dacă răspunsul este „depinde cine”, ați găsit o constrângere politică, nu una de programare, iar ea trebuie decisă de un om înainte de a intra în orice sistem.
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ă.