Punti chiave
- Un vincolo rigido è una regola di fattibilità. L’orario deve rispettarlo.
- Inizia da conflitti di docente, classe e aula, lezioni richieste, indisponibilità dei docenti e giornata didattica.
- Non usare vincoli rigidi per preferenze che possono essere scambiate con una penalità.
- Se l’insieme rigido è impossibile, il segnale corretto è l’infattibilità, non una violazione nascosta.
Che cosa appartiene all’insieme rigido?
Metti una regola nell’insieme rigido quando violarla renderebbe inutilizzabile l’orario. Gli esempi standard sono conflitti, lezioni richieste mancanti, indisponibilità dei docenti e attività fuori dalla giornata didattica.
Questa distinzione conta perché il solver tratta le regole rigide in modo diverso dalle preferenze. Deve rispettare ogni regola rigida. Può ottimizzare i vincoli morbidi solo dopo che l’insieme rigido è fattibile.
Vincoli rigidi comuni
Usa la tua politica locale di orario, ma controlla prima questi vincoli rigidi.
- Nessun docente è programmato in due luoghi nello stesso periodo
- Nessuna classe o gruppo di studenti ha due lezioni nello stesso periodo
- Nessuna aula è assegnata a due attività nello stesso momento
- Ogni lezione richiesta è programmata
- I docenti non sono programmati in periodi indisponibili
- Tutte le attività rientrano nella giornata didattica
Come classificare un vincolo rigido
Classifica ogni regola in base al suo effetto sulla fattibilità. Mantieni semplice la domanda: l’orario può essere usato se questa regola viene violata?
- Scrivi la regola in linguaggio chiaro.
- Controlla se evita un conflitto di docente, classe o aula.
- Controlla se protegge una lezione richiesta o un periodo indisponibile.
- Controlla se mantiene le attività dentro la giornata didattica.
- Sposta preferenze come distribuzione o giornate compatte nell’insieme morbido.
- Esegui l’insieme rigido e tratta l’infattibilità come segnale per rivedere il modello.
Perché troppi vincoli rigidi causano infattibilità
Un vincolo rigido non è una preferenza forte. Se troppe preferenze diventano obbligatorie, può non esistere un orario fattibile. Il solver non ha il permesso di scambiare una regola rigida con un’altra.
Usa vincoli rigidi per le regole che non devono mai essere violate. Usa vincoli morbidi per obiettivi di qualità come distribuzione delle lezioni, buchi dei docenti, giornate compatte o evitare certe materie nell’ultimo periodo.
Checklist dell’insieme rigido
Usa questa lista prima della generazione.
- Le regole per conflitti di docente, classe e aula sono presenti
- Le lezioni richieste sono incluse nel modello
- I periodi indisponibili dei docenti sono segnati
- I limiti della giornata didattica sono presenti
- Le preferenze non sono segnate rigide per abitudine
- Ogni risultato infattibile porta a rivedere il modello prima di declassare una regola
Come vincoli rigidi e morbidi lavorano insieme
Il primo obiettivo è la fattibilità: ogni regola rigida deve essere rispettata. Il secondo obiettivo è la qualità: il solver minimizza le penalità dei vincoli morbidi.
Questo ordine aiuta a spiegare un risultato. Un orario con tutte le regole rigide rispettate può comunque avere cattiva distribuzione o buchi per i docenti. Sono problemi di qualità da regolare nell’insieme morbido, non ragioni per indebolire l’insieme rigido.
Domande dei pianificatori sui vincoli rigidi
Che cosa rende rigida una regola di orario?
Una regola rigida deve essere rispettata perché l’orario sia utilizzabile. Se può essere violata con una penalità, è un vincolo morbido.
L’indisponibilità dei docenti è sempre rigida?
I periodi indisponibili sono rigidi perché il docente non deve essere programmato lì. I periodi liberi preferiti sono morbidi perché il solver li rispetta solo se l’orario lo permette.
Che cosa deve succedere se l’insieme rigido non si risolve?
Il generatore deve segnalare infattibilità. Rivedi i dati e l’insieme rigido prima di trasformare una preferenza in una regola obbligatoria.