At beginning but not first/at the end but not last + pursue quality schedules

Started by k3nt0n, September 24, 2023, 05:33:43 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Hi, i've some questions.

1) How FET can prefer a teacher's lessons at the beginning of a precise day (prefer so < 100%) but not at the first hour (forbidden 100%) ?
(or at the end of a precise day <100 but not at the last =100)

2) How FET can balance as much as possible days when a teacher start the first hour with days when he end at the last?

3) FET can manage to balance and distribute malefits among teachers (treating them as soft constraints) like
- start first hour monday or end last hour friday (increased weight)
- start first hour in a no monday day or finish last hour on no friday days (normal weight)
- have 6 hours a day
- not match desired
- etc ...

summarizing all these kind of events in a single indicator that is weighed and indicated as a quality value for each teacher in the statistics and pursued towards the choice of the best time among the feasibles?

(where the best is not the one that minimizes the sum but at the same time the one in which all teachers are penalized in the same way (minimum deviation from the average value))

Thank you in advance.

Volker Dirr

1) I am not sure if I understand your first request. What do you mean with "prefer at the beginning... but not the first hour"?
So you mean he should start the 2nd hour? In normal case use not available constraint for that teacher. This is a 100% constraint. You should use this in normal case always. In wosr case you can use "a set of activities prefer a set of starting times". Select the teacher, the (dis-)allowed times and a value below 100%.

2) By using max hours per day constraint. Use max hour = number of hours per day - 1

3) 1st request: by using a set of activities occupies max a set of timeslots. Select Monday first and Friday last hour. Select all activities of the teacher and set max occupie = 1.
2nd and the other requests. I think it is not directly possible. In my opinion it is even a bad idea to try this directly. You should do it indirect by using max gap per day, min hours per day, max hours per day, max span per day, working max in an hourly intervall, ... If you use these constraints, then the days will be balanced very well.

4) You mean you want to have a statistics for that? There is already a "small" statistics available in the html results folder. Please check it.
I might code more statistics if i get a misson to code a speacial one.


Ok thank you, i've a doubt for the first question only.

You understand well, i want for example
-> first hour forbidden
-> start from the second hour
-> only on monday
-> only for a specific teacher

Because if i use "a set of activities prefer a set of starting times" this influence all days, not only "monday".

In other words i want to force a teacher to work from a specific time.
(The opposite constaint of force to be free)

Liviu Lalescu

To make mandatory that a teacher has activities at Monday second hour you can use activities occupy min time slots from selection. Add all activities of that teacher, select with X (red) Monday second hour, min occupied = 1. Unfortunately, only 100% is possible.

Liviu Lalescu

Great! You're welcome!

Of course, I recommend a single constraint of this type for each teacher, for efficiency. And if that teacher is supposed to teach mandatory say 3 hours from Monday 2nd, mark with X (red) these 3 slots, min occupied = 3 is more efficient that 1 single slot/1 slot selected.