Hello,
I have 14 activities. I would like that some (for example 3) of them to run at the same time so that if a teacher is absent from one, we can combine the class. It doesn't matter which 3 are. How do I set this? I don't want to pick 3 activities myself as that can restrict quite a lot.
Many thanks.
Hello!
Use an activity tag for these activities(14), then use time constraint: a set of activities occupies max time slots from selection, max=(14-3+1)=12 max occupied=(14-3+1)/2=6.
I attach below a simple example which illustrates this case.3 out of 14 Activities.fet3 out of 14 Activities.fet
Thank you Benahmed. I had a look at your file and yes it seems to fit what I'm looking for. However, I can't work out how to use your formula of (14-3+1)/2 for other cases of mine. For example, if I have 20 activities, will it be (20-3+1)/2? Many thanks
You're welcome!
The main idea is to force the program to bring together at least once 3 activities at the same time. To achieve this we should apply this empirical formula which is: (NA-3+1)/2 and take the integer part of the division(NA= number of activities).
ex: if I have for example 20 activities, and I want at least once to have 3 activities together, I would need (20-3+1)/2=9 time slot at max.
Thank you.
You're welcome!
I think that you can use the constraint:
Min simultaneous activities from a set in selected time slots
Add these 14 activities, select all time slots, and set min simultaneous = 3.
Vangelis.
Quote from: Vangelis Karafillidis on August 15, 2023, 06:55:59 PMI think that you can use the constraint:
Min simultaneous activities from a set in selected time slots
Add these 14 activities, select all time slots, and set min simultaneous = 3.
Vangelis.
Yes you are right, we can use this constraint for easy cases, but for difficult time tables it can lead to a dead end, the generation becomes slow even impossible.
Thank you both. I'll try both. Thanks
Book Marked
Unfortunately, I think the above solutions are not perfect, and a customization is needed.