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

  1. In coda. Il calcolo avviene sui server del servizio: la richiesta entra in coda e parte appena c'è un elaboratore libero.
  2. Preparazione. La scuola viene tradotta in un modello matematico: ogni lezione, ogni ora possibile, ogni vincolo.
  3. Ricerca. Il motore cerca orari validi e li migliora via via. Puoi seguire l'avanzamento e, se serve, annullare il calcolo.
  4. Diagnosi (solo se serve). Se i vincoli risultano in contraddizione, il motore cerca il gruppo di vincoli responsabile.
  5. 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:

  1. meno ore buche dei docenti;
  2. materie con la preferenza «evita l'ultima ora» lontane dall'ultima ora;
  3. materie con poche ore distribuite su giorni diversi;
  4. giornate equilibrate per ogni classe;
  5. 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:

Vincoli che la diagnosi può indicare
VincoloChe cosa riguarda
Giorno liberoil giorno libero obbligatorio di un docente
Giorni di servizioil minimo o il massimo di giorni di presenza di un docente
Ore al giornoil minimo o il massimo di ore di lezione al giorno di un docente
Presenzala presenza massima giornaliera di un docente
Ore bucheil massimo di ore buche al giorno di un docente
Ore vietatele ore vietate di un docente o di una cattedra
Massimo giornaliero della cattedrale ore della stessa materia nello stesso giorno
Raggruppamentola divisione in blocchi delle ore di una cattedra
Ore consecutivel'obbligo di ore attaccate nella stessa giornata
Capienza del localele classi che possono usare insieme un locale, o le sue ore di disponibilità
Peso didatticoil limite di ore pesanti per giornata
Ore bloccatele 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.