Exact days between activities

Started by abautu, August 23, 2016, 09:15:36 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


A constraint "Exact N days between activities" would imply "Min N days between activities" AND "Max N days between activities". I use these two constraints simultaneously in order to force two activities to be scheduled in same week days (in an odd/even timetable).

Liviu Lalescu

Thank you for your suggestion! It is already in TODO item #241. I will also add your words. However, it is best to keep the number of categories of constraints to a minimum, to keep the program as simple as possible, in my opinion.

Volker Dirr

in my opinion the suggested "exact" is just a "pseudo exact". Why? Example:
You have got an activity on Monday and one on Wednesday. So you might say: "Exact 1 days".
But in fact that is not true. Because from Wednesday to Monday are 4 days if you count the whole week.
But only 3 days if you count without Sunday (if you have got school on Saturday).
But only 2 days if  you count without Sunday and Saturday (if you have free that days).
But 11 days if you have a fortnightly timetable.
But 9 days if you have a fortnightly timetable without Sunday.

So as you can see. the "Exact" is in fact never "Exact", it will be only a "Pseudo Exact".


I meant the "exact" with respect to how FET "sees" the week. In my case, we have a FET timetable of 10 days (5 days/week x 2 weeks). If for activities A and B, I use "Min 5 days between two activities" and "Max 5 days between two activities" and "Two activities have same hour", the I get them scheduled in same week day, at same time, in both odd and even week.

Obviously, 5 here is related to my timetable setup. If I would have classes on Saturday, then I would have 12 days FET timetable and use 6 days in these restrictions.

I hope it makes sense.

Liviu Lalescu

Yes, sure, you are right, it makes sense, but I have given an argument not to add this. I'll keep it in the TODO, though.

But you might want to generate a timetable for a single week, and use this trick like explained in the FAQ (because now you are complicating things very much):

Q: Can I work with fortnightly activities like in older FET versions?

A: You have to use some tricks. It would be difficult to consider fortnightly activities into the new FET algorithm (from 5.0.0 up). But I think you can apply this: for instance, I suppose that you would like the first week to have activity A1 (teacher T1, student S1) and A2 (T2, S2), and second week A3 (T1, S2) and A4 (T2, S1) (simultaneously). You could define a weekly activity A (T1, T2, S1, S2). If you need 2 rooms for A, then you can define dummy A' (no teachers, no students) and constraint activities same starting time A and A' and add rooms for A and A' .