Scuola media.... confrontiamoci... :-)

Started by mercurialuser, September 06, 2017, 10:36:31 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

mercurialuser

Vorrei paragonare la mia situazione con le vostre e capire se c'è qualcosa che sbaglio...

La mia è una scuola media, 27 classi (3 sezioni complete). 47 docenti, di cui pochissimi hanno orario spezzato... Orario su 5 giorni, 6 ore.

Vincoli generici:
- max 1 buco al giorno
- max 2 buchi a settimana (3 per un paio di docenti)
- max 5 ore frontali al giorno
- max 4 ore continuative
- 2 palestre per 3 docenti (quindi due in contemporanea)

Vincoli per docente:
- i classici non prima delle ore X, non dopo le ore Y
- possibilmente le prime ore, possibilmente le ultime ore...
- non più di 4 ultime ore

Vincoli per materia:
- Italiano 10 ore:  3 2 2 1 1 1, con tag max 3 ore giorno
- Italiano 8 ore: 2 2 2 1 1, con tag max 3 ore giorno
- Matematica: 2 1 1 1 1, con tag max 2 ore giorno
- Inglese: 2 1, minima distanza 2 giorni 100%
- alcune materie da 2 ore: minima distanza 2 giorni, 100%
- le rimanenti (ed tecnica): minima distanza 1 giorno, 100%

Ci sono un paio di ulteriori vincoli che sarebbe troppo lungo descrivere.

Mi piacerebbe confrontarmi con voi e capire se questi sono vincoli normali (ad esempio, 2 buchi/week), se la suddivisione delle attività sono secondo voi consone e soprattutto, se per casi simili, riuscite a chiudere l'orario...

Io riesco in alcuni casi, poi appena stringo un poco i vincoli, nulla più...

... e non riesco a spiegarmi il perché...

thebigbug

Ciao,

la mia situazione non è la stessa. Si tratta di una scuola media con 13 classi.
Ho inserito molti più vincoli di te e chiude sempre al max in 2 minuti. Ora vado di fretta non posso dettagliare. Appena rientro, se ti interessa ti mando la configurazione allegando il file fet. Potrai così vedere come ho configurato.
Ho tenuto separate Storia e Geografia poichè in alcuni casi trattasi di docente diverso in quanto abbiamo spezzoni di lettere e di altre discipline.
Fammi sapere se vuoi approfondire.

Un saluto a tutti

pippo

#2
Stessa situazione,
appena stringo i vincoli non mi chiude l'orario. Istituto con 16 classi, 5gg-6 ore e 8 cattedre spezzettate  >:(

Vincoli generici:
-max 1 buco giorno (eliminato non mi chiude l'orario)
-max 4h giorno/doc
-max 3 buchi/sett (alcuni docenti hanno con 2 buchi in un giorno, pazienza)
-max 3 prime ore/doc
-max 3 ultime ore/doc

Vincoli materie/classi:
-max 4 ore con key "pesante" al giorno
-ita: 3+2+2+1+1 le 3 ore entro le 12
-mat: 2+1+1+1+1 le 2 ore entro le 12
-ingl (1+1+1): min 1 gg distanza 99%
-materie 2 ore (1+1): min 1 gg distanza 99%

Vincoli docenti:
Alcune ore indisponibili per degli insegnati per problemi legati al trasporto locale e per presenza in altri istituti!!

Questa la mia configurazione, e spero di chiudere questo weekend.

Per quanto riguarda la tua situazione proverei con il 99% nei vincoli per materia di distanza minima. Anche io avevo provato con i 2 giorni di distanza al 100%, ma non mi generava orario.
Usando il 99% mi rispetta i vincoli di distanza di almeno 1 giorno.

Un saluto

Liviu Lalescu

Quote from: pippo on September 08, 2017, 04:48:34 PM
Per quanto riguarda la tua situazione proverei con il 99% nei vincoli per materia di distanza minima. Anche io avevo provato con i 2 giorni di distanza al 100%, ma non mi generava orario.
Usando il 99% mi rispetta i vincoli di distanza di almeno 1 giorno.

You should add two constraints for each pair of activities, one with min 1 giorno 100%, another with min 2 giorni 95%-99%.

Valdo

Io ho 6 giorni a 5 ore quindi faccio un po' fatica a orientarmi.

Come idea generale è sempre buona norma incominciare mettendo i vincoli importanti poi verificare se si chiude e poi aggiungere salvando sempre nuovi file i vari vincoli.
Questo procedimento ti permette di renderti conto quali vincoli lo rendono più difficile.

Se ora l'hai completo abbassare i pesi dei vari vincoli è sempre un gioco da equilibrista.

Intanto io se fossi in te per togliermi la curiosità metterei
- max 2 buco al giorno
- max 3 buchi a settimana (3 per un paio di docenti)
e verificherei come si chiude.

Po così d'acchito direi attenzione a questi:
Vincoli per docente:
- i classici non prima delle ore X, non dopo le ore Y
- possibilmente le prime ore, possibilmente le ultime ore...
- non più di 4 ultime ore

non sai mai come impattano e non ho capito bene come li hai impostati.

e anche tutti quei 100% non lasciano possibilità
tipo - alcune materie da 2 ore: minima distanza 2 giorni, 100%
prova con 98%.

A volte così facendo ti accorgi di alcuni vincoli infranti che capitano sempre e quindi poi indaghi del perchè

pippo

Quote from: Liviu Lalescu on September 08, 2017, 04:53:23 PM
Quote from: pippo on September 08, 2017, 04:48:34 PM
Per quanto riguarda la tua situazione proverei con il 99% nei vincoli per materia di distanza minima. Anche io avevo provato con i 2 giorni di distanza al 100%, ma non mi generava orario.
Usando il 99% mi rispetta i vincoli di distanza di almeno 1 giorno.

You should add two constraints for each pair of activities, one with min 1 giorno 100%, another with min 2 giorni 95%-99%.
Thank you for suggestion, I will try it.
Regards

Liviu Lalescu

Quote from: pippo on September 08, 2017, 05:22:27 PM
Quote from: Liviu Lalescu on September 08, 2017, 04:53:23 PM
Quote from: pippo on September 08, 2017, 04:48:34 PM
Per quanto riguarda la tua situazione proverei con il 99% nei vincoli per materia di distanza minima. Anche io avevo provato con i 2 giorni di distanza al 100%, ma non mi generava orario.
Usando il 99% mi rispetta i vincoli di distanza di almeno 1 giorno.

You should add two constraints for each pair of activities, one with min 1 giorno 100%, another with min 2 giorni 95%-99%.
Thank you for suggestion, I will try it.
Regards

You can obtain this at any time by Advanced->Spread activities over the week, and then Min days between activities constraints -> modify multiple constraints at once. You need a bit of creativity to use the filters. Ask me for more details, if you cannot do it.

mercurialuser

Grazie a tutti per le risposte giunte e in anticipo a thebigbug se vorrà inviarci la sua situazione. Se è veramente più complessa potrebbe usare altre regole o in modo diverso.

Ci sono spunti interessanti e diciamo che gli insegnamenti appresi oggi sono vari:

a) se abbassi un vincolo a meno del 100% devi assicurarti che ci sia un vincolo superiore o di altro tipo che ti blocchi situazioni anomale... se metti che il tag italiano max 2 ore 98% devi assicurarti che ci sia un max 3 ore 100% (o altro vincolo) per evitare di avere 6 ore di italiano...

b) anche leggendo un thread nell'area inglese, a volte i desiderata dei docenti possono essere fuorvianti, inutili e persino dannosi...
Uno dei desiderata generali era di avere min days between activity 2 - 100% per musica, arte, tecnica.. non avere lezioni in giorni consecutivi per "poter dare i compiti"... poi scopro che la richiesta veniva dalla dirigenza e che le materie sono in realtà gestite a singole ore, ad esempio musica pratica (flauto) e storia della musica, arte pratica (disegno) e storia dell'arte... quindi è come se fossero geografia e matematica... non c'è proprio necessità di averle a due giorni di distanza ed infatti, chiesto ai docenti, il 90% si è detto favorevole... e il 10% non lo abbiamo potuto ancora interpellare ....

mercurialuser

Quote from: Liviu Lalescu on September 08, 2017, 04:53:23 PM
You should add two constraints for each pair of activities, one with min 1 giorno 100%, another with min 2 giorni 95%-99%.

this is to avoid activities in the same day ... is it?

mercurialuser


Considerato che il messaggio è diventato lungo scrivo qui sopra che allentando un po qui e un po la ma soprattutto fissando in specifica fascia oraria le ore di religione di 6 classi, FET è riuscito a trovare alcune soluzioni di cui stiamo verificando il rispetto dei vincoli... (leggi: poiché sto editando a mano il file .fet potrei aver fatto qualche cavolata....)

Quote from: Valdo on September 08, 2017, 04:55:58 PM

Come idea generale è sempre buona norma incominciare mettendo i vincoli importanti poi verificare se si chiude e poi aggiungere salvando sempre nuovi file i vari vincoli.
Questo procedimento ti permette di renderti conto quali vincoli lo rendono più difficile.

E' esattamente quello che faccio... ma non è così semplice come dici perché ad esempio ho lanciato una elaborazione 49 volte e solo UNA ha trovato una soluzione in circa 2 minuti, le altre 48 NON hanno trovato soluzioni in ore...
Quindi quando la soluzione è complessa devi avere pure molta fortuna a trovare un seed buono....

Quote from: Valdo on September 08, 2017, 04:55:58 PM
Intanto io se fossi in te per togliermi la curiosità metterei

Nel frattempo ho fatto una marea di prove. Ho disabilitato tutte le assegnazioni di attività in specifici periodi. Il sistema non è riuscito a chiudere in 16 thread contemporanei e 18 ore di calcolo.

Poi, essendomi reso conto di aver disabilitato alcune assegnazioni che sono importanti (ore di religione con molti non frequentanti in prima o ultima per far uscire i ragazzi) ho riabilitato quei vincoli e... magia... l'orario chiude e anche in tempi rapidi...allora ho iniziato ad aggiungere un altro vincolo... chiude... allora da max 3 ore 100% di italiano per le prime medie, a 2 100%... non chiude... al 97% non chiude... al 95% chiude...

Ma che significa "chiude"? Significa che in un tempo "finito" il sistema riesce a trovare una soluzione. Ma per come è costruito l'algoritmo, la stessa soluzione trovata in 2 minuti potrebbe trovarla in 80 giorni...

Quote from: Valdo on September 08, 2017, 04:55:58 PM

Po così d'acchito direi attenzione a questi:
Vincoli per docente:
- i classici non prima delle ore X, non dopo le ore Y
- possibilmente le prime ore, possibilmente le ultime ore...
- non più di 4 ultime ore

non sai mai come impattano e non ho capito bene come li hai impostati.

Desiderata arrivo alle X esco alle Y, quando sono strettamente vincolanti tipo presenza in altra scuola o necessità mediche o simili, li ho inseriti con la disponibilità del docente
Desiderata non più di 4 ultime ore l'ho inserito unico per tutti i docenti come max giorni per fascia oraria.

Possibilmente prime ore, possibilmente ultime.... forse ho usato una tecnica errata e quindi cerco suggerimenti. Per ora ho usato max 2 volte settimana la prima ora per chi vuole le ultime, max 2 volte l'ultima per chi vuole le prime... ma forse ci sono modi migliori...


Liviu Lalescu

Quote from: mercurialuser on September 08, 2017, 11:17:38 PM
Quote from: Liviu Lalescu on September 08, 2017, 04:53:23 PM
You should add two constraints for each pair of activities, one with min 1 giorno 100%, another with min 2 giorni 95%-99%.

this is to avoid activities in the same day ... is it?

Yes.