Double-lessons preferring certain slots

Started by alexwonglk, May 30, 2025, 02:37:28 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

alexwonglk

Sorry for repeating this theme if it has been raised before (which is very probable!)

Is there a way to ask FET to prefer scheduling activities with a duration of 2 in certain slots?

To be a bit clearer, there are 7 lessons a day in my school. Various subjects have double lessons in various grades. And I hope either

(a) most double lessons are in lessons 1-2 or in lessons 6-7, or
(b) most lessons 1-2 and lessons 6-7 are double lessons.

I believe there is a subtle difference between these two. So any suggestion or clever workarounds that can achieve either of these would be great! (I would prefer version (b).)

This is what I have tried and am quite satisfied with the result already: As there are two teachers who only have double lessons, I have marked them unavailable in all lessons 3-5. I believe this has already sped up the generation by quite a bit, and have put around 60% of the double lessons into my preferred slots. What are your thoughts or better suggestions?

Liviu Lalescu

#1
Hello,

No problem for repeated questions! (and it is not repeated.)

It is an interesting question! Maybe you could use the constraints of type activities occupy max/min slots from selection. Add more constraints of these types, maybe for max, a kind of inverted one. For one constraint, add all activities with duration 1 of a teacher or of a students set (but not both), select all 1-2 and 6-7 slots with X (red), max occupied = an approximate value, which you will decrease with time, as you find new timetables. Or you could try with the other constraint, min.

Or maybe select with X (red) slots 1 and 7, min occupied = a corresponding value, with selected activities = double lessons of a teacher/students set.

Or you can develop your own method based on my approaches above.

alexwonglk

Hi boss! Thanks so much for the quick reply (and for the whole software which has been all too helpful!)

Giving your suggestion a try - and realise it would be a good feature in future versions that we can filter by the durations of sub-activities in constraints windows  :-[  ;)

Liviu Lalescu

You are welcome! You can call me Liviu, if you want :)

I will add your suggestion in the TODO list, but I think there is not enough space for that.

I have a better idea: add two activity tags, Duration1 and Duration2, and you can add a tag for a whole selection of activities with a single click (in recent FET versions). You can then filter by tag.

Volker Dirr

Liviu, I think your idea is only a workaround, but not better.
You need to add such a tag to every activity. That is much work.
It will flood/increase the number of tags.
It will also "double" data. "Doubling" data is always bad, especially because you need to modify the duration sometimes and then there is a high risk that you modify the duration but you forget to modify the tag. It will be very difficult to locate such a bug.
So I think it is a good suggestion for the TODO.

Liviu Lalescu

OK, Volker, I will also add your words.

However, you can filter with an advanced filter the activities, and add a tag to the selection with a single click.