Più classi in palestra, ma solo parallele

Started by Valdo, July 02, 2010, 08:31:35 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Valdo

Sono ancora a sistemare le attività, ma come sempre viene da pensare alle cose contorte.
Ora la mia necessità è di permettere si che ci siano 2 classi in palestra (il problema che siano non più di due non c'è perché gli insegnanti sono due), però devono essere due classi parallele, cioè due prime o due seconde o due terze. Essendo alle medie le classi sono 1° 2° e 3°.
Se fossero solo due riesco nel senso che faccio due aule palestra e due chiavi di attività legate a quelle ore di educazione fisica e poi metto il vincolo Materia con chiave attività in aula preferenziale incrociandole ed ecco fatto.

Il problema nasce perché le classi sono 3! Potrebbe essermi utile lo stesso vincolo con  più classi preferenziali?
Qualche idea?

Liviu Lalescu

#1
Buon giorno, Valdo!

Io capisco un po l'italiano, e vuoi dire qualcosa, per favore usa Google translate per capire quelo que io vuoi dire.

I understood that you need to allow 2 activities in the sports room, but only from the same year: 1, 2 or 3. I think that sports activities can only take place in these 2 rooms (palestra1 and palestra2). Say you have students: Y1(G1,G2), Y2(G3,G4), Y3(G5,G6). Sports activities: A1(G1), A2(G2), A3(G3), A4(G4), A5(G5), A6(G6). Then, A1 must not be overlapping with anyone of A3, A4, A5, A6. So, you can add more constraints activities not overlapping: constraint1) (A1, A3), constraint2) (A1, A4), constraint3) (A1, A5), constraint4) (A1, A6), constraint5) (A2, A3), constraint6) (A2, A4), constraint7) (A2, A5), constraint8) (A2, A6), constraint9) (A3, A5), constraint10) (A3, A6), constraint11) (A4, A5), constraint12) (A4, A6).

There will be many constraints added this way, but you cannot simplify these constraints.

Do NOT add constraints with more activities, like: (A1, A2, A3, A4, A5, A6), because in this case A1 cannot be at the same time with A2 (or A3 with A4, or A5 with A6). This would be wrong.

Please let me know if this solves your problem.

I do not understand why you say, that if there were only 2 years, you could have made it using activity tags. Even if there were only 2 years, I think you would still need to use the method I propose.

Marco, maybe it is a good idea to remove my post after reading it and after understanding/translating what I wanted to say. It is maybe not nice to have English posts in the Italian section.

Valdo

Thanks Liviu,  you have understood very well.

And I understand what you suggest. So actually I have no need preferential classroom or activity tags...... sufficient activity with constraints activities not overlapping.
I did not think this simple solution  :o, Thanks again.

Liviu Lalescu

#3
QuoteThanks Liviu,  you have understood very well.

And I understand what you suggest. So actually I have no need preferential classroom or activity tags...... sufficient activity with constraints activities not overlapping.
I did not think this simple solution  :o, Thanks again.

Lei deve aggiungere anche qualche vincoli classi preferenziali, per fare le ed. fisica ativitta essere in Palestra1 o Palestra2.

Credo que piu semplice e di aggiungere un vincolo "Una materia ha un insieme di aule preferenziali", materia "Ed. fisica", aule: "Palestra1" e "Palestra2". O usa chiavi e vincoli di spazio per chiavi.

English: I mean, you can use constraints of type "activities not overlapping", but you need also to add some space constraints, so that the activities are constrained in the corresponding rooms.

mbarsan

Quote... permettere che ci siano 2 classi in palestra (il problema che siano non più di due non c'è perché gli insegnanti sono due), però devono essere due classi parallele, cioè due prime o due seconde o due terze.
Ciao Valdo,
   mi domando quante sono le classi prime, seconde e terze, perchè forse potrebbe convenire scegliere da subito - in fase di impostazione dei dati - quali coppie di ore di educazione fisica devono cadere insieme. Per questo si potrebbe impostare direttamente l'attività composta da due classi e due insegnanti oppure, avendo definito attività separate, si potrebbe usare il vincolo "Un insieme di attività inizia alla stessa ora" per legare coppie di attività compatibili. Così FET sceglierà giorno e ora dove farle cadere in contemporanea.

Per lasciare al programma la massima libertà di fare gli abbinamenti (1A-ins1 con 1B-ins2 piuttosto che con 1C-ins2 o viceversa...), non mi sembra che si possa fare in modo diverso da come ha consigliato Liviu: serve una serie di vincoli "Un insieme di attività non sono concomitanti" dove indicare le attività (terne, coppie o anche ennuple) di ore che NON devono cadere contemporaneamente (p. es. 1A-ins1, 1D-ins1, 2B-ins2, 2F-ins2 e 3C-ins2). In questo caso 1A e 1D pur essendo due prime, non possono fare lezione insieme perchè assegnate entrambe a ins1. Stessa cosa per 2B e 2F.

C'è da lavorarci sopra, per inserire un sufficiente numero di vincoli che impediscano combinazioni da escludere e, insieme, NON impediscano combinazioni da ammettere.



Valdo

#5
Allora visto che siete cosi disponibili e io non voglio passare per sprovveduto del tutto: ho capito le soluzione che mi prospettate, passerei al caso concreto anche perché sarebbe interessante vagliare anche un'altra necessità.

1 L      ED      Ins.4            2
2 L      ED      Ins.4            2
3 L      ED      Ins.4            2
2 M      ED   Ins.4            2
3 M      ED   Ins.4            2
1 A      ED    Ins.1      palestracentr      2
2 A      ED      Ins.1      palestracentr      2
3 A      ED   Ins.1      palestracentr      2
1 E      ED      Ins.1      palestracentr      2
2 E      ED      Ins.1      palestracentr      2
3 E      ED    Ins.1      palestracentr      2
1 I      ED    Ins.1            2
2 I      ED       Ins.1            2
3 I      ED      Ins.1            2
1 B      ED      Ins. 2      palestracentr      2
2 B      ED      Ins. 2      palestracentr      2
3 B      ED      Ins. 2      palestracentr      1
1 C      ED      Ins. 2      palestracentr      2
2 C      ED      Ins. 2      palestracentr      2
3 C      ED      Ins. 2      palestracentr      2
1 D      ED      Ins. 2      palestracentr      2
2 D      ED      Ins. 2      palestracentr      2
3 D      ED      Ins. 2      palestracentr      2
1 F      ED      Ins.3            2
2 F      ED      Ins.3            2
3 F      ED      Ins.3            2
1 G      ED      Ins.3      palestracentr      2
2 G      ED      Ins.3            2
3 G      ED      Ins.3            2
1 H      ED      Ins.3            2
2 H      ED      Ins.3            2
3 H      ED      Ins.3            2


Ecco sopra la situazione che devo sistemare. Quelle senza la chiave palestracentr sono in altri plessi e quindi non ci interessano. Ricordando l'anno scorso non mi ero preoccupato tanto di mettere la chiave e  le aule palestra1 e palestra2 (in realtà sono lo stessa palestra), infatti se guardi bene la situazione degli insegnanti fondamentalmente ce ne sono due (ins2 e ins1), tuttavia manco a farlo apposta quest'anno la cosa si complica a causa della 1G che ha l'ins3 e quindi ecco che in effetti ho dovuto costruire la chiave e le aule per evitare tre lezioni concomitanti. Fin qui tutto a posto o quasi, poi ecco la richiesta che facevo se due classi capitano contemporaneamente devono essere parallele: la soluzione di Liviu mi sembra fattibile solo un po' lunga ma fattibile. Infatti lavorando sulla A B e C per ognuna abbiamo 4 vincoli (due con D e due con E) che diventano 4*3*3=36 non pochi pensavo meno, più la 1G che sono altri 5*2=10. Insomma un discreto lavoro, ma che si può fare.

L'altra necessità di cui scrivevo e che sarebbe utile che la palestra fosse occupata tutte le ore, cioè avere il numero minore di sovrapposizioni, ed in questo caso forse la tua metodologia potrebbe essere quella giusta (magari me la spieghi un po' meglio) definire fin da subito chi sta insieme e lasciare le altre sole. in fin dei conti si tratta di un facile conto per sapere il numero minimo di sovrapposizioni. Sono 31 ore complessive da mettere su 30 ore, quindi ne basterebbe una sola, ma poi si mette in crisi FET che deve tenere conto anche dell'ora buca di spostamento per ins.3 e ins.1..... diciamo che andando per tentativi si dovrebbe arrivare a capire quante sovrapposizioni minime si possono fare senza bloccare FET.

Ultima soluzione che mi viene in mente è fare a tavolino l'orario di fisica e vincolarlo in FET fin dall'inizio. E' fattibile direi di sì, ma ha senso?

Valdo

#6
Non vi faccio sprecare parole in risposta, aspettate  :D. La cosa potrebbe essere ancora cambiata, nel senso che quella 1 ora forse riusciamo a toglierla e quindi diventano 30 ore esatte e si possono evitare le sovrapposizioni. Anche se in questo caso, come mi era successo lo scorso anno poi FET fatica molto a sistemarle: non c'è la possibilità di dirgli che sono le prime ore da sistemare quelle di fisica, come farebbe una persona in questo caso.

In effetti dopo alcune prove le evidenze sono che molto probabilmente non è possibile avere una sola ora sempre in palestra, cioè non è coerente con gli altri vincoli. Interessante però è che mettendo il vincolo con un peso al 90-99 si ottiene un risultato che va da 2 minimo a 4 massimo sovrapposizioni che è quindi accettabile.
In questo caso essendo così poche capita anche casualmente che vengano su classi  parallele senza che io per ora abbia messo alcun vincolo.

Ivo

Ciao
ho 5 insegnanti di ginnastica
39 classi per un tot di 78 ore/settimanali di ginnastica (dovevano essere 40 ma ne hanno accorpate 2)
la palestra disponibile per 35 ore/settimanali
prevedo solo attività di 1 ora (vincolo: consecutive se nello stesso giorno)

in palestra avro' ore con presenti due insegnanti (35*2=70 ore) (si dice con fet 70 attività della durata di 1 ora?) contemporaneamente

e 78-70=8 ore con tre insegnanti contemporanei

La cosa potrebbe cambiare se a causa dei vincoli degli insegnanti (alcuni lavorano anche in altre scuole) delle 35 ore di palestra alcune possono essere occupate solo da un insegnante oppure essere libere.

Come risolvo con fet?
prevedo 3 aule per la materia ginnastica pal1, pal2, pal3.

domanda: come faccio a dire a fet di inserire le ore di ginnastica in modo da ottimizzare l'occupazione della palestra cercando di inserire il minor numero di compresenze a tre, poi a seguire il minor numero di compresenze a due. (posso indicare anche il numero di studenti per classe e fare in modo che fet ponga le compresenze a tre con il minor numero di studenti possibile?)

grazie
Ivo

Valdo

Io farei così: metti due aule per la palestra pal1 e pal2, poi metti una chiave di attività tipo fisica e la associ alle attività di ed. fisica.

A questo punto vai in vincoli spazio e scegli una materia con chiave di attività a  un insieme di aule preferenziali.
Qui materia ed. fisica, chiave fisica e aule pal1 e pal2, per il peso ovviamente non devi mettere 100 perchè risulterebbe impossibile, comincia con 70-80 e guarda quante volte mette tre ore contemporanee più alzi il peso e meno dovrebbero essere.

utismetis

Ciao Ivo,
se ho capito bene, le due palestre possono contenere 35 classi - 70 ore e tu devi sistemare 39 classi - 78 ore.
Io farei così: inserisci 3 palestre e dì a fet che educazione fisica si svolge nelle 3 palestre; lui ti riempe le palestre penso casualmente. Se vuoi determinare tu quali classi debbono fare lezione a 3 contemporaneamente, digli che 35 classi fanno lezione nelle palestre 1 e 2 e che 4 classi fanno lezione nella palestra 3.

utismetis

Ciao Valdo,
se poi il problema è di far lavorare insieme le prime, le seconde e le terze, io userei una attività o una subattività ha un insieme di ore preferenziali: ad esempio le prime ore per le classi prime, le seconde ore per le classi seconde... Naturalmente prima bisogna mettere il vincolo di spazio che educazione fisica si svolge nelle palestre.

mbarsan

#11
Non sono bravo come Liviu o Volker a vedere soluzioni per situazioni intrigate... Stavolta mi sembra di poter condividere i suggerimenti di utismetis.

Quote...come faccio a dire a fet di inserire le ore di ginnastica in modo da ottimizzare l'occupazione della palestra cercando di inserire il minor numero di compresenze a tre, poi a seguire il minor numero di compresenze a due. (posso indicare anche il numero di studenti per classe e fare in modo che fet ponga le compresenze a tre con il minor numero di studenti possibile?)
Credo che FET non possa rispondere esattamente a questo genere di richieste. Si tratta di "inclinare" la capacità del programma a trovare una soluzione,  privilegiando alcuni scenari che per il momento non mi pare possibile descrivere tramite vincoli.

Occorre "progettare" la ricerca dell'orario imponendo da subito alcune limitazioni che tuttavia lascino a FET un certo grado di libertà nel piazzare le lezioni. Provo a dare un suggerimento e spero si possa adattare anche al caso di Valdo che mi sembra particolarmente complicato.

Imposterei tre palestre pal1 pal2 e pal3, vincolando pal3 disponibile un numero limitato di ore (ma non da subito, solo in un secondo momento).

Cercherei di dividere l'elenco di subattività di ed. fisica in tre (o più) parti, contenente ciascuna alcune subattività che possono cadere contemporaneamente e le associerei ad altrettante chiavi dell'attività (p. es. fascia1, fascia2 ecc.). Individuerei col vincolo  "Le subattività di una selezione cadono in un insieme di ore preferenziali" le fasce orarie nelle quali devono cadere quelle subattività. All'inizio lascerei le fasce ampie senza preoccuparmi delle sovrapposizioni. Osservando i piazzamenti prodotti da FET, progressivamente ridurrei tali fasce orarie per avere, alla fine, esattamente il numero di ore che servono per piazzare quelle attività nelle tre palestre.

Anche il lavoro di scegliere quali lezioni devono avvenire tre alla volta (occupando la terza palestra) dovrebbe essere fatto a monte, in fase di analisi e studio dell'orario. Ci si può aiutare col vincolo di "Ore non disponibili di un'aula" per lasciare libere in pal3 progressivamente sempre meno ore, fino a permettere a FET di impegnare solo il numero di lezioni che ci interessa.

Capisco che così diamo a FET un quadro più rigido di vincoli da rispetare, ma non credo che si possa fare a meno.

Si tratta di una fase delicata, nella quale ogni scelta di fasce orarie e attività contemporanee fa la differenza fra un orario impossibile da trovare e uno di buona qualità da trovare in tempi accettabili.

Una volta trovato un quadro orario accettabile per le lezioni di educazione fisica, lo si può fissare con vincoli di Ora preferenziale, per concentrarsi poi sulle altre lezioni e i loro vincoli.

Altri suggerimenti?
  :)

utismetis

Ciao Valdo,
"Ultima soluzione che mi viene in mente è fare a tavolino l'orario di fisica e vincolarlo in FET fin dall'inizio. E' fattibile direi di sì, ma ha senso?": io non lo farei perchè significa subordinare gli orari di tutti gli insegnanti a quelli dei 2 - 3 prof di educazione fisica. Io, per migliorare l'orario complessivo, cjhiedo solo a fet di riempirmi le palestre e non mi curo degli abbinamenti delle classi.

Valdo

Grazie, ma io proprio ieri l'orario l'ho praticamente finito  ;D

Per la palestra per prima cosa ho messo un vincolo materia, chiave dell'attività ha una aula preferenziale, questo con un peso del 99% faceva in modo che FET rendesse minime le possibilità di due classi in palestra (diciamo che capitavano solo 2-3 ore, ovvie a cause degli altri vincoli nonostante fossero 30 ore). Ho dovuto dare delle ore preferenziali alle prime che dovevano andare in piscina e infine ho messo attività non concomitanti fra classi non parallele, lasciando la possibilità di seconde insieme a terze.

A questo punto dopo svariati tentativi mi è venuto fuori un orario molto buono per ed. fisica che rispettava quanto volevo e quindi ho preso l'orario bloccato, ho reso bloccato permanentemente ed. fisica e ho sbloccato il resto, per generare nuovi orari.

E' assolutamente vero che bloccare delle ore è deleterio, limita il margine di lavoro di Fet, ma è altrettanto vero che di solito è necessario, ad esempio in caso di orari concordati con altri istituti per docenti in comune o come già detto per educazione fisica (del resto anche a mano si sarebbe cominciato facendo ed. fisica e non toccandolo più).

utismetis

Ciao Valdo,
mi piacerebbe conoscere più precisamente come hai risolto. In caso di orari concordati con altri istituti per docenti in comune io vincolo i giorni, non le singole ore, per educazione fisica rinuncio agli abbinamenti per migliorare l'orario di tutti gli altri  insegnanti non di educazione fisica, un pregio di fet è che non ho più bisogno di mettere a mano le ore di ed. fisica prima delle altre ore: fet colloca le ore di educazione fisica nelle aule - palestre e di tutte le altre materie nelle aule - aule.