Diagnosticare una generazione che fallisce

La generazione «fallisce» quando l'algoritmo di generazione non riesce a sistemare tutto: restituisce il miglior orario parziale trovato, e le lezioni che ha dovuto sacrificare restano nella barra dei post-it da posizionare (un banner rosso riassume il blocco). Il problema è quasi sempre una sovravincolazione: troppi corsi per le fasce orarie aperte, oppure vincoli troppo stretti per incastrarsi. Il rimedio consiste nel rilassare ciò che è possibile — è l'oggetto di questa pagina. Per capire come l'algoritmo di generazione stabilisce le priorità e cosa sacrifica, vedere Generazione automatica; per il catalogo dei conflitti su un orario già impostato, vedere Conflitti e diagnostica.

La diagnostica è una pista, non un verdetto

Quando una lezione non può essere posizionata, Omniscol mette in evidenza l'entità che ha creato più problemi nel corso dei tentativi — «questo professore non ha abbastanza fasce orarie», «questa classe non entra nella sua griglia». È un'euristica: l'entità segnalata è quella che ricorre più spesso nei blocchi, non necessariamente la causa unica. I vincoli sono incrociati — allentare altrove può sbloccare tutto. Prenda quindi il messaggio come una direzione di ricerca: il vero rimedio è spesso distendere la sovravincolazione generale (un po' più di fasce orarie, disponibilità meno rigide) piuttosto che accanirsi sull'entità indicata.

Cause più frequenti

1. Disponibilità troppo restrittive

Un professore ha contrassegnato così tante fasce come impossibili che non restano abbastanza fasce orarie per posizionare le sue lezioni.

Diagnosi: esaminare la schermata delle disponibilità del professore interessato. Contare le fasce orarie libere e confrontarle con il suo volume orario.

Soluzioni:

  • Allentare alcune fasce (passare dal nero al rosso — indesiderabile ma non impossibile),
  • Ridistribuire i corsi (attribuirne una parte a un altro professore),
  • Discutere con il professore se la disponibilità è negoziabile.

2. Nessuna aula compatibile

Una materia richiede una specializzazione per la quale non è stata creata alcuna aula, oppure tutte le aule corrispondenti sono occupate nelle uniche fasce orarie possibili.

Soluzioni:

  • Creare la specializzazione mancante su un'aula adeguata,
  • Ridurre il vincolo di specializzazione,
  • Aggiungere un'aula.

3. Capacità insufficiente

L'effettivo di un gruppo / di una classe supera la capacità di tutte le aule candidate.

Soluzioni:

  • Assegnare un'aula più grande,
  • Assegnare più aule a uno stesso corso (la capacità totale è la somma),
  • Suddividere la classe / il gruppo.

4. Allineamento strutturalmente impossibile

I volumi orari dei gruppi allineati differiscono, oppure le classi madri hanno griglie orarie incompatibili, oppure un professore allineato può trovarsi in un solo luogo.

Soluzioni:

  • Armonizzare i volumi orari tra i gruppi allineati,
  • Disallineare e creare un corso per classe,
  • Verificare che i siti delle classi allineate condividano una griglia oraria comune sulla fascia oraria di destinazione.

5. Troppe lezioni di corso per la griglia

Quando una classe o un professore ha manifestamente più ore che fasce orarie aperte, un avviso lo segnala a monte (scheda Generazione, contatori ore vs fasce orarie). Il caso perverso è più subdolo: preso isolatamente, nessuno sconfinamento evidente, ma l'accumulo dei vincoli tra professori e classi — e i loro incroci — finisce per non entrare più.

Soluzioni:

  • Ridurre i volumi orari inseriti,
  • Estendere la griglia oraria (aprire il mercoledì pomeriggio, ad esempio),
  • Allentare alcune indisponibilità, puntando alle fasce che molte entità evitano contemporaneamente: il cumulo satura la griglia.

6. Incompatibilità troppo numerose

Accumulare i vincoli «niente X dopo Y» può creare un sistema senza soluzione.

Soluzione: sostituire alcune incompatibilità con pesi pedagogici più flessibili.

7. Non abbastanza aule (collo di bottiglia)

Molto frequente: anche se ciascuna aula è adatta, il loro numero non basta ad assorbire la domanda nello stesso momento. Le lezioni di corso si accumulano sulle stesse fasce orarie e la mancanza di aule diventa il collo di bottiglia che impedisce all'insieme di entrare.

Soluzioni:

  • Aggiungere aule (o condividerle tra classi),
  • Distribuire la domanda ampliando la griglia oraria,
  • Ridurre i vincoli che concentrano i corsi su poche fasce orarie.

8. Più siti: gli spostamenti erodono le ore

Con più siti, i tempi di spostamento tra le sedi riducono le fasce orarie realmente utilizzabili da un professore (o da una classe): cambiare sito costa tempo, che non è più disponibile per posizionare una lezione. Le disponibilità effettive si restringono e il rompicapo si complica.

Soluzioni:

  • Raggruppare i corsi di un professore su uno stesso sito nella giornata,
  • Verificare i tempi di spostamento dichiarati tra siti,
  • Limitare gli spostamenti tra siti nella stessa giornata.

Checklist prima di rilanciare una generazione

  • Tutte le classi hanno un sito assegnato?
  • Tutte le classi hanno le loro materie e i loro professori?
  • Tutti i gruppi utilizzati nei corsi hanno un effettivo teorico o una capacità gestibile?
  • Le disponibilità di tutti i professori sono validate?
  • Nessun avviso critico (rosso) nella scheda Generazione?

Strumenti di diagnostica integrati

  • Scheda Generazionea monte: statistiche (corsi / ore per professore, per classe, per sito) e avvisi (ore vs fasce orarie, avvisi critici da correggere prima di lanciare).
  • Lezioni non posizionate (post-it, a destra) — dopo un fallimento: il risultato di una generazione incompleta. Il pulsante di posizionamento (puntina) su ciascuna mostra, attraverso le fasce orarie colorate, perché nessun posto è adatto.
  • Rilevamento di gruppi dimenticati: gruppi definiti ma senza alcun corso assegnato.

How-to

Diagnosticare una generazione che fallisce

  1. Quando la generazione fallisce, Omniscol mostra un banner rosso, mantiene visibile l'orario parziale e colloca le lezioni che non ha potuto sistemare nella barra dei post-it, a destra.

  2. Leggere il banner: fornisce una direzione (euristica, cfr. più sopra), non un verdetto.

  3. Partire dalle lezioni non posizionate, non dai «conflitti». La generazione non crea mai un conflitto: lascia semplicemente da parte ciò che non entra. Prendere una lezione tra i post-it e fare clic sul suo pulsante di posizionamento (puntina, Posizionare sull'orario).

  4. Leggere le fasce orarie colorate. Omniscol mostra tutte le fasce orarie candidate; per una lezione impossibile da posizionare, sono tutte bloccate. Cercare perché, nell'ordine dei tre bloccanti abituali: il professore occupato o indisponibile, la classe (o il gruppo) occupata, oppure nessuna aula libera e compatibile. Il motivo compare al passaggio del cursore sulla fascia oraria.

  5. Rilasciare il vincolo che blocca — a seconda del caso: allentare disponibilità, aggiungere o liberare un'aula, armonizzare un allineamento, ampliare la griglia (cfr. le cause qui sopra) — poi rilanciare.

  6. Prima di rilanciare, scorrere la checklist qui sopra (siti assegnati, materie e professori a posto, effettivi inseriti, disponibilità validate, nessun avviso critico nella scheda Generazione).

See also