Wise Timetable

Guida pratica

Generare l’orario di una scuola: il generatore, il risolutore delle ore buche e il ciclo di miglioramento

Un orario non si genera una volta sola. Viene generato, misurato, rifinito e misurato di nuovo. Questa guida percorre quel ciclo come lo incontra chi compila l’orario in una scuola secondaria — pomeriggi, un venerdì corto, docenti che vengono per due ore e tornano a casa — e dice quale impostazione risponde a quale lamentela.

Tre fasi, e ci si può fermare dopo ciascuna

Si inseriscono una sola volta i dati della scuola: materie, chi le insegna, quali classi le frequentano, quali aule esistono. Il programma colloca poi ogni lezione in un giorno e a un’ora.

  • Il generatore colloca ogni lezione. È veloce, e non viola mai una regola rigida: nessuno è in due posti contemporaneamente, ogni lezione ha un’aula che offre ciò che serve, nulla cade fuori dall’orario di lavoro.
  • Il risolutore delle ore buche rifinisce poi la settimana per tutti i minuti che gli si concedono. Sposta lezioni per chiudere i vuoti nelle giornate delle classi e dei docenti, mantiene i pomeriggi entro il limite impostato e dove possibile dà ai docenti giornate intere libere. Non viola mai una regola che il generatore ha rispettato, e conserva sempre la migliore settimana trovata — fermarlo non fa perdere nulla.
  • La pubblicazione rende il risultato visibile ad alunni, docenti e genitori, sul web e nell’app.

Che cos’è un’ora buca, e quanto costa

Un’ora buca è un’ora vuota tra due lezioni della stessa classe o dello stesso docente nello stesso giorno. Le ore libere all’inizio o alla fine della giornata non sono ore buche. Il risolutore valuta tutto in una sola unità, l’ora-buca: un’ora che un docente attende tra due lezioni. Un’ora buca per gli alunni viene contata mille volte più pesante, così il risolutore sacrificherà molto comfort dei docenti prima di lasciare una classe in attesa.

Tutto il resto — la giornata di un’ora sola di un docente, una giornata lunga, una lezione fuori dalla classe del docente, una materia opzionale a metà della giornata della classe — ha un prezzo nella stessa unità, e le impostazioni qui sotto sono quei prezzi.

Una prima esecuzione in dieci minuti

Con i dati inseriti, questo è il percorso più breve verso un orario che si possa guardare.

  1. Attivate la rifinitura

    Settings › Miscellaneous (F2), scheda Generate: spuntate Run gap optimisation e impostate Duration (min) a 10.

  2. Descrivete il ritmo della scuola

    Premete Gap optimisation settings … e compilate la colonna di sinistra: Afternoon starts at hour (l’ora scolastica da cui una lezione conta come pomeridiana — 10 in una scuola con 14 ore al giorno), Afternoon days per class and week (1 dà a ogni classe al massimo un pomeriggio), Min teacher hours per day (2: nessuno viene per una sola lezione) e Max teacher hours per day (soft) (5 o 6). Confermate entrambe le finestre.

  3. Impostate l’ultima ora di ogni giorno

    Nella scheda Generate, Last hour of the day ha un campo per ogni giorno della settimana. Il numero è un’ora scolastica contata dall’inizio dell’orario di lavoro, non un orario sull’orologio: un venerdì che termina dopo la nona lezione è 9, gli altri giorni 14. È una regola rigida del risolutore delle ore buche, quindi lasciate attiva la rifinitura se vi affidate ad essa.

  4. Generazione

    Premete il pulsante Generate (l’icona della sveglia nella barra degli strumenti), rispondete Yes all’avviso — le lezioni non bloccate vengono collocate di nuovo, quindi bloccate ciò che avete collocato a mano — spuntate i corsi di studio e gli anni nella finestra successiva e premete Start. Il generatore colloca la settimana; il risolutore delle ore buche la rifinisce per dieci minuti.

  5. Leggete i numeri

    Ctrl + B apre le statistiche della settimana: lezioni senza aula, ore buche delle classi, giorni pomeridiani oltre il limite, lezioni oltre l’ultima ora del giorno, giornate dei docenti, ore-buca, giornate di un’ora e giornate lunghe. Annotateli — ogni modifica successiva sarà giudicata rispetto ad essi.

Il ciclo di miglioramento

Il risolutore migliora in fretta all’inizio e lentamente dopo. Il modo efficiente di lavorare è una scala di tempi di esecuzione: l’esecuzione più breve che possa rispondere alla domanda che avete.

La regola pratica: non eseguite mai più di dieci minuti finché state ancora cambiando impostazioni, e cambiate una sola impostazione alla volta — se ne cambiate tre, non saprete quale ha aiutato. Misurate, cambiate una cosa, eseguite una breve rifinitura, misurate di nuovo; tenete la modifica se i numeri sono migliorati, annullatela se non lo sono. Fermatevi quando due esecuzioni successive da venti minuti non migliorano nulla, o quando ciò che resta è qualcosa con cui si può convivere. Un orario con tre ore buche dei docenti è un buon orario; le ultime ore buche sono di solito causate dai dati — un docente che può venire solo il lunedì e il giovedì — non dal risolutore.

  • Uno o due minuti — "questa impostazione ha rotto qualcosa di evidente?" Ogni volta che si cambia un’impostazione.
  • Cinque minuti — "questa direzione è migliore della precedente?" Il passo standard del ciclo.
  • Da dieci a venti minuti — "fin dove può arrivare questa configurazione?" Quando le esecuzioni da cinque minuti smettono di cambiare qualcosa.
  • Da trenta a sessanta minuti — un candidato alla pubblicazione.
  • Diverse ore o una notte intera — solo per la versione finale, con ogni impostazione definita.

Quale impostazione risponde a quale lamentela

Le lamentele che sente chi compila l’orario, e l’impostazione nella finestra Gap optimisation che risponde a ciascuna.

  • "La mia classe ha lezioni pomeridiane tre volte alla settimana." — Afternoon days per class and week. Una regola rigida: il risolutore sposta lezioni finché è rispettata.
  • "Vengo a scuola per una sola lezione." — Min teacher hours per day, e un Value of a teacher's day of presence più alto: il risolutore preferisce allora aggiungere un’ora a quella giornata o svuotarla.
  • "Le mie giornate sono troppo lunghe." — Max teacher hours per day (soft); il massimo giornaliero rigido resta nella scheda Generate.
  • "Voglio giornate intere libere, non giornate corte ogni giorno." — togliete la spunta a Teachers come every working day e aumentate il valore della giornata; il generatore riempie allora prima le giornate in cui un docente già lavora.
  • "Gli alunni che non seguono la materia opzionale restano in giro a metà giornata." — Electives at the edge of the day.
  • "Non insegno mai nella mia aula." — Teacher's home room – weight; anche l’aula deve offrire ciò che la lezione richiede.
  • "Alcune lezioni non hanno un’aula." — prima i dati: proprietà e posti delle aule, poi un orario di lavoro esteso leggermente più ampio. Una lezione senza aula conta come non collocata; il risolutore non può inventare un’aula.

Quando i numeri smettono di muoversi

Raramente è bloccato; sta lavorando sui casi più difficili, ed è normale che le ultime ore buche richiedano più tempo di tutte le altre. Se le statistiche non cambiano da venti minuti, fermatevi — la migliore settimana è salvata — allentate una regola, ed eseguite di nuovo. Se nulla aiuta, la causa è quasi sempre nei dati: un docente disponibile in due giorni, un’aula di cui ogni laboratorio ha bisogno, una classe con più lezioni di quante ne contenga la mattina — preparare una scuola alla generazione dell’orario elenca gli errori che vediamo più spesso.

Ogni campo della finestra Gap optimisation ha un pulsante ? con una spiegazione più lunga, l’intervallo valido e il valore predefinito misurato su scuole reali. Il libro completo — preparazione, ogni parametro, il ciclo, un’ampia parte sulla risoluzione dei problemi e ricette per scuole tipiche — è nella pagina della documentazione in PDF.

Modificare l’orario a periodo iniziato

Durante il periodo l’orario è pubblicato e le settimane già svolte non devono spostarsi. Un solo interruttore, From the current week on, indica a tre strumenti da dove iniziare; la settimana è quella sul cursore delle settimane.

Con l’interruttore attivo, Improve e Move modificano le lezioni da quella settimana alla fine del loro periodo. Con l’interruttore disattivo modificano solo quella settimana, e una lezione che si svolge in più settimane viene divisa — la scelta giusta per un docente assente per una settimana. Ogni risposta viene applicata per intero o per nulla, le lezioni bloccate non si spostano mai, e gli stessi tre strumenti sono nell’amministrazione nel browser. La parte 7 del libro li descrive passo per passo.

  • Generate con l’interruttore attivo ricostruisce l’orario da quella settimana alla fine dell’anno. Ogni lezione nelle settimane precedenti resta esattamente com’era. Prima che l’anno scolastico inizi non c’è nulla da proteggere, e l’esecuzione parte dalla settimana 1.
  • Optimization › Improve the current timetable dà al risolutore delle ore buche l’orario così com’è per qualche minuto. Sposta una lezione solo dove ciò chiude ore buche, elenca ogni modifica e attende Keep o Undo.
  • Move — clic destro su una lezione — colloca una lezione dove desiderate. Il risolutore fa spazio spostando il minor numero possibile di altre lezioni e mostra il costo in ore buche degli alunni, ore-buca dei docenti e giornate dei docenti.

Desiderate vederlo in funzione?

Prenotate una presentazione online di 45 minuti e la illustreremo sul problema di programmazione del Vostro ateneo.