Punti chiave
- La generazione consuma una struttura coperta e verificata per fattibilità e la trasforma in lezioni collocate.
- Gli elementi più vincolati vanno per primi: singletons, poi materie principali, poi opzioni.
- Programmazione manuale, automatica e mista sono tutte legittime; la scelta spetta al pianificatore.
- Il riscontro del solver si rivede prima che una modifica venga applicata, mai dopo.
Cosa consuma la generazione
Gli input sono le classi concordate, le assegnazioni del personale, le aule e i vincoli provenienti dalla pianificazione. La generazione li colloca; non li mette in discussione. Una struttura che non ha superato i controlli di fattibilità può fallire la collocazione per motivi che nessun solver può riparare, perché il fallimento è stato progettato a monte.
Quel confine è utile. Quando un’esecuzione fallisce, la prima domanda è da quale lato del confine sta il problema: i dati e la struttura, oppure la collocazione.
Esegui la generazione in ordine di vincoli
Colloca gli elementi più difficili finché la griglia ha ancora spazio per loro.
- Conferma che la struttura abbia il personale assegnato e sia verificata per fattibilità prima di collocare qualsiasi cosa.
- Blocca i punti fissi su cui la scuola si è già impegnata.
- Colloca i singletons e le altre lezioni con pochissimi periodi validi.
- Colloca le materie principali che grandi numeri di studenti devono frequentare.
- Colloca le materie opzionali e le opzioni nello spazio rimanente.
- Rivedi il riscontro del solver, poi manda i conflitti irrisolti alla validazione o alla risoluzione dei conflitti invece di forzare la griglia.
Come farlo in Smootables: genera un orario
Fall 2026
Recurring weeks18.8.2026 - 20.12.2026 / 18 weeks
Planned hours 142 h
In Smootables la generazione parte dal piano del periodo e valida prima di risolvere.
- In Pianificazione, apri il periodo e clicca Genera orario (oppure Genera nuovo orario quando ne esiste già uno).
- Scegli l’ambito nella finestra Ambito di generazione: Solo gruppi modificati oppure Tutti i gruppi di studenti.
- Il solver lavora in due fasi: prima i vincoli rigidi per trovare una griglia fattibile, poi le preferenze morbide per migliorarla.
- Regola la parte morbida in Impostazioni solver: sei pesi da 0 a 200 (Ore buche studenti, Ore buche docenti, Bilanciamento giornaliero studenti, Bilanciamento giornaliero docenti, Distribuzione delle materie, Preferenza mattutina). Un peso a 0 disattiva il vincolo, e solo Preferenza mattutina è attiva per impostazione predefinita.
- Limita una singola collocazione con le Preferenze di orario: giorni della settimana specifici, mattina o pomeriggio, oppure tutte le lezioni nello stesso giorno.
Manuale, automatica o mista
Alcune scuole collocano tutto a mano, alcune generano tutto e molte mescolano: il solver colloca le lezioni, il pianificatore rivede le eccezioni e blocca ciò che non deve muoversi. Tutte e tre le vie sono legittime. La domanda decisiva è dove il giudizio aggiunge valore, e la risposta cambia da scuola a scuola.
Ciò che non cambia: il riscontro si rivede prima di applicare le modifiche. Un solver che mostra un clash prima dello spostamento è un assistente. Applicato in silenzio, lo stesso suggerimento è un rischio.
Alcuni pianificatori si chiedono se un chatbot generico potrebbe farlo al posto di un solver. Vedi ChatGPT può creare un orario scolastico? per le prove disponibili in merito.
Checklist prima di generare
Una lacuna in questa lista è ciò che più tardi si presenta travestito da errore del solver.
- Classi con personale assegnato dalla struttura della pianificazione annuale
- Blocchi, bande, set e pattern di opzioni verificati dove la scuola li usa
- Punti fissi identificati e bloccati
- Disponibilità dei docenti e requisiti delle aule inseriti per la validazione
- Una scelta deliberata tra programmazione manuale, automatica o mista
- Un passaggio di revisione tra il riscontro del solver e le modifiche applicate
Dopo l’esecuzione
Un’esecuzione conclusa è una bozza, non una decisione. Controlla la griglia rispetto agli impegni bloccati, poi lavora su ciò che resta: le segnalazioni della validazione tornano ai dati, le lezioni bloccate vanno alla risoluzione dei conflitti.
Per come i controlli stessi si dividono in fase statica e dinamica, vedi validazione dei vincoli.
Domande dei pianificatori sulla generazione
La generazione può correggere un piano curricolare incompleto?
No. Se personale, blocchi o strutture delle classi non sono fattibili, il solver riscopre quella infattibilità sotto forma di collocazioni fallite. Correggi la struttura in fase di pianificazione, dove la correzione costa poco.
Cos’è un singleton e perché va collocato per primo?
Una lezione con pochissimi slot validi, spesso una singola classe con un solo docente qualificato. Le lezioni facili possono riempire quasi qualsiasi slot, quindi possono aspettare. Lascia un singleton per ultimo e i suoi pochi slot validi saranno già occupati.
Un’esecuzione fallita significa che i dati sono sbagliati?
Spesso sì. Le lacune nei dati emergono come collocazioni fallite, e il solver può solo segnalare dove si è bloccato. Esegui la validazione prima di dare la colpa ai vincoli.