One teacher constraint it is blocking scheduling at half

Started by blusky78, July 16, 2023, 03:14:29 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

blusky78

Hello,

we have setup a FET configuration file for an academy, with 360 activities, tens of teachers and classrooms.
Planning was stopping around at half of scheudling (200 activities) and then was hanging forever.
Later I discovered that just one teacher had the problem that her time constraints where too tight and had no time in week to attend all the assigned lessons.

Just letting more relaxed constraint on that teacher, resulted in the whole planning to be completed in 0 seconds.

I expected that FET could skip the problematic teacher and complete all the other activities that indeed could be planned regurarly. This would be a lot helpful to allow, later, to complete manually the missing activities.

Is there a way to make FET complete as much activities as possibile?

Thank you.



Volker Dirr

Sadly it is sometimes very difficult for the programm to understand if it is impossible or not. It might be just difficult (a low number of possible solutions).

In normal case FET should complain if it is impossible and you should fix the bug. Skipping that and let FET generate to fix it manualy later doesn't make sence in most cases, since there are too many variants how to avoid a impossible situation. Most varinats doesn't make sence at school. FET can't know which variant is ok, but a human that knows his school can answer it very easy. So always a human should fix before generating those impossible situations.

In some cases it is sadly very difficult for the algorithm to detect that it is impossible, so it will hang. But as soon as you are a bit familar with FET you will understand how to fix that very fast. Maybe report those situations with small sample files and we will try to add a warning if it is impossible (like i said it is sadly sometimes very difficult to code it, even a human can see the problem in just a second).

One variant for your suggestion might be just using constraint with less then 100%, because in those cases FET will skip those problems. But i don't recommend it. It look like an advantage, but in fact it isn't. You won't understand your timetable well if you do it that way. And if you don't understand your timetable well, then you won't be able to to good optimisations. Also some constraints are optimized. So using them with 100% weight is much faster then with less then 100%.

blusky78

Hi,

thank you for your reply.
It seems, unfortunately, that for the time constraint for the teachers, it is not possibile to specify a weight less then 100% so it is not possible to let FET skip that activities.

I'm wondering if there is any workaround possibile.

Thank you,

Volker Dirr

You mean not available times?

No and Yes.

No. Well, if a teacher is not available, then FET can't know how to fix that. You need to talk to the teacher (or other school) and then decide which time is available for the teacher. So it doesn't make sence to let FET calculate (maybe in worst case several hours) for a timetable that doesn't work at all, since as soon as you got that wrong timetable you still need to talk with that teacher and still need to fix that problem. It is you can't skip that talk by let FET generate a timetable. That won't help. It also doesn't make much sence to manualy try to fix such a timetime. Of yourse it might be possible, but you will be much faster if you talk first. I don't recommend to generate if you already know that it is impossible.

Yes. By using time constraint -> activities -> preferred times -> A set of activities has preffered times
There you can select a teacher and also set a value lower then 100%.
But be warned, because generating that way might be much slower and you still will get a timetable that you don't want, so you still need to talk and solve the problem after FET generated a timetable. So you won't save time nor you won't get a perfect timetable with this workaround.

blusky78

Hello,

than you for your help.

Just to give you mre context, we know that a small set of activities may not be possibile (say 10%) and that will be necessary to talk with teachers.
But, we'd like to get the whole timetable filled for what it is possibile, after then having a view of all impossible avtivities, then the persons in charge for this will contact the teachers, all the same week, necessary to close the midding activities.

And provided the timetable coming from FET, we'll give the tool to comlete the missing parts.

This is why we cannot provide juat a half timetable and cannot contact teachers one by one.

Thank you

Volker Dirr

If you think that your idea is good, then just do it by using time constraint -> activities -> preferred times -> A set of activities has preffered times
You can set weight with less then 100% there. We added that feature, since some guys like you asked for it.
But in my opinion you are totaly wrong if you do it that way. You will be much slower and you won't get good timetables by that (only if you have very much luck).