Elaborazione
Come lavora il calcolo dell'orario
Il calcolo cerca, tra tutti gli orari possibili, quelli che rispettano ogni vincolo rigido e soddisfano meglio le preferenze. Ecco cosa succede, passo per passo.
Prima del calcolo: i controlli di fattibilità
Alcuni problemi si vedono senza calcolare nulla. Prima di avviare il calcolo, NekohBit controlla per esempio che nessuna classe abbia più ore di quelle del suo calendario e che nessun docente abbia più lezioni delle ore in cui è disponibile. Se trova un problema te lo segnala subito, con il nome della classe o del docente.
Le fasi
- In coda. Il calcolo avviene sui server del servizio: la richiesta entra in coda e parte appena c'è un elaboratore libero.
- Preparazione. La scuola viene tradotta in un modello matematico: ogni lezione, ogni ora possibile, ogni vincolo.
- Ricerca. Il motore cerca orari validi e li migliora via via. Puoi seguire l'avanzamento e, se serve, annullare il calcolo.
- Diagnosi (solo se serve). Se i vincoli risultano in contraddizione, il motore cerca il gruppo di vincoli responsabile.
- Risultato. Ricevi l'orario (o le varianti) con i dati principali, come il numero di ore buche per docente, oppure la diagnosi.
Cosa ottimizza
Tra gli orari che rispettano tutti i vincoli rigidi, il calcolo preferisce quelli migliori secondo questi criteri, in ordine di importanza:
- meno ore buche dei docenti;
- materie con la preferenza «evita l'ultima ora» lontane dall'ultima ora;
- materie con poche ore distribuite su giorni diversi;
- giornate equilibrate per ogni classe;
- preferenze dei docenti per le prime o le ultime ore.
Alcune regole valgono sempre e non sono negoziabili: nessuna sovrapposizione per docenti e classi, e nessuna ora buca per le classi.
Le varianti
Puoi chiedere fino a cinque varianti nello stesso calcolo. Ogni variante è un orario valido diverso dagli altri: quelle identiche vengono scartate. Le ricevi ordinate dalla migliore, e puoi confrontarle prima di scegliere.
Il tempo che concedi è il totale e si divide tra le varianti: per un primo orario difficile conviene chiederne una sola e dare al calcolo tutto il tempo.
Gli esiti
- Ottimo
- Orario trovato e dimostrato migliore possibile con quei vincoli.
- Trovato
- Orario valido; il tempo è finito prima di dimostrare che sia il migliore. Puoi usarlo o ricalcolare con più tempo.
- Vincoli in contraddizione
- Nessun orario può rispettarli tutti. Ricevi la diagnosi.
- Tempo scaduto
- Nessun orario trovato nel tempo concesso, ma nemmeno la prova che sia impossibile. Concedi più tempo o allenta qualche vincolo.
La diagnosi
Quando i vincoli sono in contraddizione, il motore individua un gruppo di vincoli che insieme rende impossibile l'orario e lo descrive in linguaggio comprensibile, indicando docente, classe, cattedra o locale. Quando ci riesce, riduce il gruppo al minimo indispensabile: allentando uno qualsiasi di quei vincoli, quel nodo si scioglie.
I vincoli che possono comparire nella diagnosi sono:
| Vincolo | Che cosa riguarda |
|---|---|
| Giorno libero | il giorno libero obbligatorio di un docente |
| Giorni di servizio | il minimo o il massimo di giorni di presenza di un docente |
| Ore al giorno | il minimo o il massimo di ore di lezione al giorno di un docente |
| Presenza | la presenza massima giornaliera di un docente |
| Ore buche | il massimo di ore buche al giorno di un docente |
| Ore vietate | le ore vietate di un docente o di una cattedra |
| Massimo giornaliero della cattedra | le ore della stessa materia nello stesso giorno |
| Raggruppamento | la divisione in blocchi delle ore di una cattedra |
| Ore consecutive | l'obbligo di ore attaccate nella stessa giornata |
| Capienza del locale | le classi che possono usare insieme un locale, o le sue ore di disponibilità |
| Peso didattico | il limite di ore pesanti per giornata |
| Ore bloccate | le lezioni fissate a mano |
Se il problema è strutturale (per esempio una classe con più ore di quante ne contenga il suo calendario), lo segnalano già i controlli di fattibilità e il resoconto del calcolo.
I tempi
Il tempo massimo lo scegli tu, da pochi secondi fino a quindici minuti (il valore proposto è trenta secondi). Allo scadere il calcolo si ferma e restituisce il miglior orario trovato. Quanto serve dipende dalle dimensioni della scuola e soprattutto da quanto sono stretti i vincoli.
Se l'orario non chiude
Leggi la guida Cosa fare se l'orario non chiude: spiega in che ordine allentare i vincoli e come usare il tempo di calcolo.
Prova NekohBit con una scuola demo
Registrati e apri una scuola già compilata: modifichi i vincoli, lanci il calcolo e vedi il risultato in pochi minuti. Nessuna installazione.