Which constraints should be used for these 2+1+1 activities?

Started by infoo_, February 24, 2025, 01:44:32 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

infoo_

Hello!

I am working on a timetable and I have 2+2 activities.

Since some of the 2+2 activities are not possible, I need them to be 2+1+1 in order to generate a timetable.

I want 2+1+1 activities to have the following behaviour (from left to right is most expected output and then it goes in decreasing order):

You cannot view this attachment.

(Colors and idea taken from https://www.timetabling.de/manual/FET-manual.en.html#id_15)

My attempt:

2+1 (first dur=1 subactivity) min days 1 with weight 100%, not consecutive
2+ 1 (second dur=1 subactivity) min days 1 with weight 100%, not consecutive

Is that right?

Thank you!!

Volker Dirr

If I see it correct, then this is very close to just a 2+1+1 with weight 0% and not consecutive flag.
If you want to have the yellow strikes also, then you need to add 1 more constraint manually:
2+1 with weight >0% and not consecutive flag.

The last 2 (red) will never happen, since 3 will never be on the same day if you have a min day constraint.

infoo_

Thank you!

I have two more questions:

Quote from: Volker Dirr on February 24, 2025, 02:04:47 PMIf you want to have the yellow strikes also, then you need to add 1 more constraint manually:
2+1 with weight >0% and not consecutive flag.

2+1 is referred to any of first or second subactivity?

And if I have the following activities:

1 -     2/4 - Teacher - Math - 1A
    2 - X - 2/4 - Teacher - Math - 1A
3 -     1/2 - Teacher - Math - 1A
    4 - 1/2 - Teacher - Math - 1A

Does it matter that the activities of duration 1 are not subactivities of the activity of duration 2 when adding the constraints you said? Or is it important for fet to make id:3 and id:4 be subactivities of id:1?

Volker Dirr

Well, for the "you need to add 1 more constraint manually" part it doesn't matter.

But for the "close to just a 2+1+1 with weight 0% and not consecutive flag" it matter, since if it is only a single activity, then this constraint can be added automatically. But If you add 2 separate activities, then you need to add that constraint manually; so a lot of work (So disadvantage: You must work more and could do more bugs.)

infoo_

Quote from: Volker Dirr on February 24, 2025, 06:00:41 PMWell, for the "you need to add 1 more constraint manually" part it doesn't matter.

But for the "close to just a 2+1+1 with weight 0% and not consecutive flag" it matter, since if it is only a single activity, then this constraint can be added automatically. But If you add 2 separate activities, then you need to add that constraint manually; so a lot of work (So disadvantage: You must work more and could do more bugs.)

Thank you for your answer!

Yes, I am aware that for separated activities we need to add them manually.

However if we realized we need to split an activity, we have two options:

1) Deactivate 2+2 and create 2+1+1
2) Deactivate one of sub dur=2 and create 1+1

You propose 1). I do 2)

In any case we need to deactivate and create new activities. The advantage of 1) over 2) is that one constraint is added when creating them

I see. I will try to get used to your way, it seems the simplest

Also if you can confirm these 2 constraints guarantee the expected behaviour of my first message I will be grateful

Liviu Lalescu

Please also don't forget that a min days between activities constraint with 0% will respect consecutive if same day. It is not the same as if the constraint is deactivated/removed.

infoo_

Quote from: Liviu Lalescu on February 24, 2025, 06:37:22 PMPlease also don't forget that a min days between activities constraint with 0% will respect consecutive if same day. It is not the same as if the constraint is deactivated/removed.


But in the constraint of 3 activities Volker said 0% and not consecutive flag checked, so it will never put consecutive

What am I missing?

Liviu Lalescu

Oh, I am not sure I could follow your discussion. I hope Volker will clarify. I just released the new version (and thank you for your suggestions!).

I just wanted to make sure you know this important aspect of min days between activities constraints.

Volker Dirr

Maybe my sentence is not very well written. With "not [...] checked" I mean "unchecked".

infoo_

Hello

I have posted an updated question regarding a similar behaviour: Constraints for these 2+1+1 activities (more restrictive)

infoo_

Hi @Liviu Lalescu and @Volker Dirr , sorry for tagging you but I want to know if I made a mistake putting the constraints for MIGUEZ in group 2C because I put min days=1 0% constraint not consecutive between 3 activities and I remember Liviu said FET it won't put more than 2 on same day, is that right?

If so, fet put the 3 activities on same day, see attached. What did I do wrong?

Liviu Lalescu

Hello, @infoo_ ,

I admit I had an emotion when checking, thinking that it might be a bad bug, but I saw the constraint for 123, 124, and 125 is deactivated. If you activate it, the timetable is impossible.