Salve a tutti,
E' il mio primo post e ho iniziato ad usare FET recentemente. I risultati finora sono abbastanza soddisfacenti ma per l'orario definitivo su 5g e 7ore mi trovo nella situazione di avere una elaborazione ferma a ~500 attività su ~530 totali da più di 20 ore.
Avrei bisogno di un paio di suggerimenti su come procedere in questi tre casi:
1) Ho un orario generato in precedenza che non rispetta i tanti vincoli che ho da rispettare nel definitivo. Pensavo di partire da quello cercando di inserire i vincoli uno alla volta. Come procedere?
Ad esempio, un docente non è disponibile alla prima ora:
- Genero l'orario
- Sblocco il docente
- Sblocco tutte le classi in cui insegna
- Riguardo agli altri docenti, chi mi conviene sbloccare per limitare l'elaborazione?
2) Inserisco tutti i vincoli e riavvio la generazione da zero e mi si blocca per ore alla attività X. Cosa conviene fare? Mi verrebbe naturale di:
- Fermare l'esecuzione sul miglior orario ottenuto
- Bloccare classi e docenti che nella computazione ha un orario che posso accettare
- Fa ripartire l'esecuzione da quel punto.
3) Voglio provare lo scambio di ore tra docenti. Qui la questione e' algoritmica, sblocco le ore e poi ? Sblocco le classi i docenti e non so come limitare la cosa, sarebbe veramente bello avere una voce di menù come feature dell'applicazione per questo!
Grazie per l'attenzione!
G
Scusi l'inglese:
For (3), I am not sure I understand correctly. Do you mean changing the activities, from (Teacher1, Subject1, Students1) and (Teacher2, Subject2, Students2) to (Teacher2, Subject1, Students1) and (Teacher1, Subject2, Students2) and generating a new timetable? Or swapping the activities in the final timetable? If the first, you can try more variants, but FET cannot do this by itself. If the second, there is no such interface facility and it is too complicated, because I have no such experience, but you could try modifying the locking constraints (activity preferred starting time constraints).
But I would definitely recommend leaving the generating part to FET. Start with only the activities, without constraints (or the minimum necessary, like students max 0 gaps per week), generate, then add one by one the required constraints. If one constraint proves too difficult, maybe it is impossible - forget about it and add others.
Hi thank you very mutch for the asnwer.
For the first question the answer is yes. it would be very usefull to have a feature like swapping (Teacher1, Subject1, Students1) and (Teacher2, Subject2, Students2) to (Teacher2, Subject1, Students1) and (Teacher1, Subject2, Students2) generating a new timetable which is as close as possible to the old one but preserving contraints. this could limit the computational space.
I think i will accept your suggestion!
Thank you
Quote from: Giggino on October 25, 2018, 05:27:26 PM
Hi thank you very mutch for the asnwer.
For the first question the answer is yes. it would be very usefull to have a feature like swapping (Teacher1, Subject1, Students1) and (Teacher2, Subject2, Students2) to (Teacher2, Subject1, Students1) and (Teacher1, Subject2, Students2) generating a new timetable which is as close as possible to the old one but preserving contraints. this could limit the computational space.
I think i will accept your suggestion!
Thank you
Unfortunately, FET cannot do this swap by itself and generate the timetable. It has a list of clearly defined activities in the input (each activity has its teacher(s), subject and students set(s)). The only possibility would be to try to generate on more variants of an input file.
Volker, please have a look on this topic as well, if possible (I will write Volker an email to see this topic, because he might know better than me. The bad part is that he does not understand Italian).
No problem for the italian, i speak english too.
I wrote to this forum as it looks like more active than the other :P
Quote from: Giggino on October 25, 2018, 07:11:27 PM
No problem for the italian, i speak english too.
I wrote to this forum as it looks like more active than the other :P
I try to read the Italian topics, but you will miss Volker's and other international people's advice. Also myself I have difficulties with the Italian language and I might not read/answer sometimes to long or hard to understand Italian questions.
You may want to post in both languages (in any part of the forum).
about 2): In normal case it is not a single activity with a problem (even if you locate a single activity). in normal case you should try to find the reason why it is impossible to place the activity. Because of the teacher, student or room? Then you should think about how to solve it. That might be done by reducing a constraint (it must not be a constraint of THAT activity, it might be a constraint of an other activity(activities) that "lock" the slot) or swap data in the activity planning.
If you didn't released the timetable yet it is normaly always faster to reschedule from the scratch. Only if you release the timetable already at school you should think about if it is possible to keep the old table.
Thank you very mutch for te suggestions