Help with break times

Started by infoo_, January 12, 2023, 08:22:02 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Liviu Lalescu

I made some further changes. See attached file and solution (now obtained faster and easier). It seems "Tecnologías de la Información" must be broken - you might want to play with different weights.

infoo_

#31
Quote from: Liviu Lalescu on January 15, 2023, 09:49:54 PM2) To generate on 8 cores, please use generate multiple on 8 threads. There are 8 separate timetables.
Otherwise (generate single) it is single core.

I found it on Timetable > Generate multiple, thanks.

I would like to test 1 timetable on 8 cores so faster generating time (at least for now I don't care to generate several times a FET file). Is that possible with Limit reach = 600000, Timetables = 1 and Threads = 8? If the answer is yes, I don't know if this is messing with advanced settings that slows down my computer in the long term haha ;D

What was the outcome of this thread?: https://lalescu.ro/liviu/fet/forum/index.php?topic=667.0 Just curious if you achieved the user's question.

Liviu Lalescu

The outcome of that thread was that it is impossible to parallelize a single generation. The question of that user was answered "no".

Yes, try like you said. But this will not generate a single timetable, but 8 timetables, and the first to finish will stop everything. So it will be faster than a single generation, overall.

infoo_

#33
Quote from: Liviu Lalescu on January 15, 2023, 10:05:23 PMI made some further changes. See attached file and solution (now obtained faster and easier). It seems "Tecnologías de la Información" must be broken - you might want to play with different weights.

That was a huge improvement, thanks Liviu!

However I got lost with the new Liviu2 version of constraints ;)

For example, why there are 2 constraints of Educación Tecnológica, one with Duration = 2 and the other with All duration? I thought that FET took the constraint with the longest duration, since apparently they are redundant constraints (only change in Duration). Maybe there are no redundant constraints in FET?

I guess the faster solution was obtained thanks to 99.5% instead of 99.9% subactivity with component number = 1 constraint weight % that you have changed on the last version of the file.

Liviu Lalescu

Yes, that's why the solutions were obtained faster.

It's a bug, I am tired, should be duration 2. Let me check and I'll come back with another file.

infoo_

#35
Quote from: Liviu Lalescu on January 15, 2023, 10:43:37 PMIt's a bug, I am tired, should be duration 2. Let me check and I'll come back with another file.

Please, if you plan to add more constraints like you are mentioning, don't waste your time!

I still don't have all teacher available time's, even some teachers are not on the school anymore and I've put them on FET. So some constraints will change in 4 or 7 days from now.

If it consists on generating timetables several times > looking for problematics activities > adding constraints to those problematic activities > repeating the process, then I can do it myself.

However, it is not optimal, because as I told you it depends on the teacher, and in general this changes every month in my school.

But many thanks anyway!! Since I understand what constraints I must add, I don't need any more help with this. As long as a more automatic solution does not appear; in that case I'm still waiting for an automatic solution ::)

Liviu Lalescu

OK, I understand.

I corrected the file and raised the weights, it solves (I obtained 10 timetables in a bit over 2 minutes). I attach it.

The preferred times constraints work like this: each (sub)activity, in each slot, gets X (cannot be placed) with the highest weight in all the constraints which affect it.

I'll think if it is possible to automate what you need and let you know.

But I am not sure I understand correctly what you want more to be automated. You need to input the constraints. If you don't want to input for subjects, input for teachers or for students.

It might be possible to develop a customization with a constraint to say this: from a group of activities, maximum n must start at certain times. This way, you can follow a progressive approach to decrease n as you find new timetables. It is complicated.

infoo_

#37
Hello

Quote from: Liviu Lalescu on January 15, 2023, 11:02:39 PMThe preferred times constraints work like this: each (sub)activity, in each slot, gets X (cannot be placed) with the highest weight in all the constraints which affect it.

Oh, I see. Each "X" slot takes the max weight %. Interesting.

Quote from: Liviu Lalescu on January 15, 2023, 11:02:39 PMBut I am not sure I understand correctly what you want more to be automated. You need to input the constraints. If you don't want to input for subjects, input for teachers or for students.

If you deactivate all of the "Teacher not available" constraints (using the new Filter feature ;)), it only takes < 1 second to generate the timetables, even only with 2 or 3 broken soft constraints each generation!

This demonstrates that the availability of teachers plays the most important role in setting up the schedule (thus, it depends merely on Teachers). That's why we don't need to keep manually adding problematic subjects into a constraint, because teacher availability changes almost monthly at my school.

Does this clear things up?

Quote from: Liviu Lalescu on January 15, 2023, 11:02:39 PMIt might be possible to develop a customization with a constraint to say this: from a group of activities, maximum n must start at certain times. This way, you can follow a progressive approach to decrease n as you find new timetables. It is complicated.

I think that proposal is more automatic than what we have, but it still doesn't convince me that is 100% autonomous. Because again we are depending on the activities, which have subjects that in turn are taught by teachers who in turn have limited availability time.

I'm just lazy to manually add or remove constraints by subject like you did with Educación Tecnológica, Biología, Formación Ética y Ciudadana and Tecnologías de la Información, but it's a very good solution, optimal in terms of reaching the goal of putting together a schedule that satisfies the majority of people.

Liviu Lalescu

Quote from: darkwindow on January 15, 2023, 11:43:01 PMIf you deactivate all of the "Teacher not available" constraints (using the new Filter feature ;)), it only takes < 1 second to generate the timetables, even only with 2 or 3 broken soft constraints each generation!

This demonstrates that the availability of teachers plays the most important role in setting up the schedule (thus, it depends merely on Teachers). That's why we don't need to keep manually adding problematic subjects into a constraint, because teacher availability changes almost monthly at my school.

Does this clear things up?

No, sorry, I still don't understand. You can add the constraints for the needed subjects. It does not have anything to do with the teachers.