Min hours between set of activities

Started by math, June 24, 2019, 03:42:38 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

math

Currently I'm creating a timetable for the next semester. Our students asked me not to place two lectures directly one after another. They don't want a gap (= free time) between two lectures, they just want to have some other activity (e.g. an exercise, a seminar, a project, ...) placed between two lectures.

Is it possible to add this constraint to FET? I tried "Time -> Activities -> Min gaps (hours) between a set of activities", this adds a real gap (= free time) between two activities. I would like to have something like "Time -> Activities -> Min days between set of activities", but with "hours" instead of "days".

Is it possible to model that requirement in some way with the current version of FET?

Best,
Matthias

Liviu Lalescu

1) It is not true that min gaps between activities forces an empty gap. See the attached file. But it might not work for you because you need to consider a gap only for each students subgroup.

So:

2) I propose you the new constraint students (set) / teacher(s) min gaps between ordered pair of activity tags. This constraint was introduced in FET-5.38.0.

math

1) Strange, after using that option, FET was not able to compute a timetable anymore. When looking to the intermediate result, I saw that FET placed an empty slot after each lecture. I don't think that I have to differentiate here, because all the student subgroups of a given year have their lectures together at the same time. Their schedules only differ in exercises, seminars, etc.

2) I did not follow the discussion in this board on that new feature, so I don't understand why two activities need to be ordered. I just tried the new feature and added a constraint, selecting the activity tag "Lecture" as "First activity tag" as well as "Second activitiy tag". It wasn't surprising that FET presented an error message saying that the two activity tags cannot be the same.

However, since I don't care about the order of the two activities (I just don't want to have them schedules one directly following the other), I don't see how this constraint could help me here.

Liviu Lalescu

1) The problem might be that it is impossible for the teachers, since min gaps between activities is for both students and teachers.

2) Sorry, I mistook your situation for another one. The min gaps between ordered pair of activity tags is for different tags (of course you can add two constraints, one is the inverse of the other. But you need for the same activity tag, not for two activity tags). This constraint is for example to ensure that Math does not come immediately after Sport.

So:

3) It might work a constraint students (set) activity tag max hours continuously, if the lectures have the same duration.

math

1) So this option is definitely producing gaps (i.e. hours without any activity) between activities. I don't need gaps between activities, some they just shouldn't directly follow one after another.

2) That's a very useful constraint, thanks a lot. Unfortunately not helping me here.

3) Excellent! That's exactly solving my problem here. Thanks a lot.

However, I still think that perhaps adding the "Min hours between set of activities" constraint would solve my problem in a more general way. For instance, if I would like to have two hours between any two lectures, I couldn't solve it this way.

Liviu Lalescu

#5
Quote from: math on June 24, 2019, 05:52:55 PM
1) So this option is definitely producing gaps (i.e. hours without any activity) between activities. I don't need gaps between activities, some they just shouldn't directly follow one after another.

However, I still think that perhaps adding the "Min hours between set of activities" constraint would solve my problem in a more general way. For instance, if I would like to have two hours between any two lectures, I couldn't solve it this way.

No, this option isn't producing empty gaps, it is producing gaps. As in the example file I showed you above, between the activities there can be other activities. So let's agree on this "dictionary": "empty gaps" (free slots) and "gaps" (or min hours difference) - there can be activities in between.

The constraint "min gaps (hours) between activities" is producing "gaps". But if you add all the Lecture activities, the timetable becomes impossible for the teachers, who should be allowed to have more lectures in a row. So, a solution might be to add more constraints, in each constraint all and only the activities of a single students subgroup (or group, if the lectures are for the whole group). This should work, but might be tedious to add many activities, if this is the case.