Dopo aver formulato il problema, sia a parole, sia eventualmente matematicamente, ci si deve porre una questione fondamentale: tutti i vincoli sono uguali? Ce ne è qualcuno più importante?
La risposta è sì, ma non sta a me rispondere a quali siano quelli più importanti. Certo è che alcuni vincoli devono essere soddisfatti, se non lo sono viene un orario incoerente, sbagliato o inaccettabile. Un professore non può fare due lezioni contemporaneamente, e nemmeno possiamo fargli fare 3 giorni da 6 ore e poi a casa. Insomma, esistono tutta una serie di vincoli che il buon senso e il dirigente scolastico ci dicono che devono essere soddisfatti.
Qualche volta, però, ci viene detto: "beh, vedi se riesci a fare una determinata cosa," che per chi fa l'orario vuol dire "vedi se riesci ad imporre un certo vincolo, altrimenti va bene lo stesso."
Potremmo aggiungere anche questo alla lista dei nostri vincoli che devono essere soddisfatti, ma come ho già detto qualche articolo fa, aggiungi di qua, aggiungi di là... alla fine potrebbe non esistere più una soluzione possibile.
Oppure a prescindere, il dirigente scolastico ci dà un insieme di vincoli, ma dopo ore e ore di lavoro non si riesce a trovare un orario. Magari non esiste proprio un orario ammissibile. In questo caso siamo noi a dover andare dal dirigente scolastico e dirgli: "non è possibile rispettare tutti i vincoli dati."
Sia che sia il preside a dirvi di vedere se riuscite ad imporre un determinato vincolo, sia che siate voi a convincerlo che non tutti i vincoli sono soddisfacibili, quello che dovete fare si chiama in gergo rilassare un vincolo.
In pratica avrete una serie di vincoli obbligatori che dovete rispettare, ed un'altra serie di vincoli (detti appunto rilassati) che potete anche non soddisfare.
La prima scelta possibile per affrontare i vincoli rilassati è prima provare ad imporli e poi, se non si trova un orario, eleminarli. Certo, così facendo sicuramente non li imporrete nemmeno un pochino. Ora, cosa vuol dire imporre un pochino un vincolo è un concetto che potrebbe far rizzare i capelli ad un matematico, ma per noi vuol dire che se non riusciamo ad imporlo al 100% magari riusciamo ad imporlo al 75%.
Un esempio. Il dirigente magari ci chiede di far in modo che alle prime ore gli studenti abbiano matematica perché più pesante. Imporre il vincolo vorrebbe dire forzare questo eventi, eliminare il vincolo vorrebbe dire non provarci proprio, cercare di imporlo in forma rilassata vuol dire che magari in tre giorni su sei ci riusciamo.
Come si fa a rilassare un vincolo dipende dalla tecnica di risoluzione che si sceglie per l'orario. Se lo si fa a mano vorrà dire che si deciderà se soddisfarlo o meno quando il problema si porrà. Se si usa un software bisogna vedere se il software mette a disposizione sistemi per rilassare vincoli e non imporli al 100%. E sicuramente sarà così, altrimenti non è un buon software.
Dal punto di vista matematico quello che si può fare è introdurre una funzione obiettivo nella quale in qualche modo facciamo rientrare i vincoli che abbiamo rilassato. Questa funzione, ad esempio, può essere tale che il suo valore è tanto più grande quanto più ci allontaniamo dai vincoli. Se poi introduciamo dei pesi possiamo fare in modo che allontanarsi da certi vincoli generi un valore più grande che allontanarsi da altri. A questo punto il problema si trasforma in un problema di Ricerca Operativa e di ottimizzazione: va cercata la soluzione che soddisfa i vincoli obbligatori e che minimizza la funzione obiettivo, cioè che si discosta meno dai vincoli rilassati.
Clicca su questo collegamento per saperne di più sulla Ricerca Operativa.
Nessun commento:
Posta un commento
Che ne pensi di questo articolo, ti è piaciuto? Lo trovi interessante? Oppure ti sembra completamente inutile? Hai trovato errori o imprecisioni?
La moderazione, non è attiva, mi riservo il diritto di farne uso in particolari momenti, situazioni o contesti.