Hello!
can we avoid the succession of 2 real days/week in FET morning-afternoon mode? these two real days must be spaced either by a real empty day or by half a day
is there a trick which allows to realize this condition or it would be better to create a new constraint?
Hello,
Do you mean 2 real days occupy 4 half days?
A new constraint might be possible, but not perfect. If you want, I could try as a custom version for you for now.
Trick which might work: add say 2 dummy activities with duration = duration of half day (4?), min say 2 days between them 100%, allowed times = middle of the week (not first or last days).
thank you for your answer,
yes I mean 2 real days occupy 4 half days (only for teachers of course)
for the trick it is GREAT!(but I am afraid it will not work for all databases due to constraints interactions).. but I think a new constraint is preferable, so that all FET users benefit(and applicable for all databases).
thank you dear Liviu. :)
You're welcome!
I would like to do for you a test custom version, to check it works. It cannot be implemented perfectly.
But are there really any users asking for this constraint?
How to name the new constraint? It is very difficult to come up with a good name. "Teacher(s) no two consecutive full days"? Or "Teacher(s) max one consecutive full day"?
This constraint is desired by morning-afternoon FET users, but I admit that no one expressly expressed it.
for the name, I think the first one is GOOD; Teacher(s) no two consecutive full days
Dear Benahmed,
I will consider it. Are you sure it is not too powerful and users will obtain an impossible timetable?
Unfortunately, it is not implementable in a way I would call "perfect", but it is implementable.
I saw on your Facebook post in your group that you obtained a timetable for a teacher with 4 full days in a row? (Facebook translate says "four (4) days off a week.").
Wouldn't it be much better to use Morocco-style teacher, with 3-day exception for that teacher? So that he works only max 3 full (morning+afternoon) days per week?
QuoteI will consider it. Are you sure it is not too powerful and users will obtain an impossible timetable?
not at all unless the teacher (s) has a lot of working hours per week. therefore this constraint must be used with precaution and prior study for each teacher.
QuoteI saw on your Facebook post in your group that you obtained a timetable for a teacher with 4 full days in a row? (Facebook translate says "four (4) days off a week.").
no wrong translation, I meant 4 half rest day for the teacher.
QuoteWouldn't it be much better to use Morocco-style teacher, with 3-day exception for that teacher? So that he works only max 3 full (morning+afternoon) days per week?
I used FET -6.1.6 mode algeria, max 6 days per week, because I failed to get a solution with FET morocco(all teachers have one day exception was stronger (for my database)). it took a long time and I was in a hurry to get a solution, that's why I opted for FET-6.1.6 Algeria mode.
I got a better solution except for a teacher who complained about having 2 consecutive full days of work.
for my database, 4 hours inthe morning, and 4 hours in the afternoon. all teachers do not exceed 22 hours of work per week. which makes it easy to apply this new constraint without worries for all teachers.
Quote
QuoteI saw on your Facebook post in your group that you obtained a timetable for a teacher with 4 full days in a row? (Facebook translate says "four (4) days off a week.").
no wrong translation, I meant 4 half rest day for the teacher.
So, a teacher has 4 half days rest? But this is not problematic.
Quote
QuoteWouldn't it be much better to use Morocco-style teacher, with 3-day exception for that teacher? So that he works only max 3 full (morning+afternoon) days per week?
I used FET -6.1.6 mode algeria, max 6 days per week, because I failed to get a solution with FET morocco(all teachers have one day exception was stronger (for my database)). it took a long time and I was in a hurry to get a solution, that's why I opted for FET-6.1.6 Algeria mode.
I got a better solution except for a teacher who complained about having 2 consecutive full days of work.
for my database, 4 hours inthe morning, and 4 hours in the afternoon. all teachers do not exceed 22 hours of work per week. which makes it easy to apply this new constraint without worries for all teachers.
Hmm, the name of the constraint is not good, because full days means full of activities, no free slot. We need a better name.
QuoteHmm, the name of the constraint is not good, because full days means full of activities, no free slot. We need a better name.
I think that's a good name, if you think within the limits of the Max Hours Per real Day constraint( which allows to have empty hours during a real(full) day) . otherwise we could change the word "full" by the word "real" in the name sentence.
the name then becomes: Teacher(s) no two consecutive real days.
I confirm this new constraint is needed. 2 real days consecutive are very stressful for the teachers.
Great!
Or: Teacher(s) don't work in two consecutive real days. Hmm... but either your way (teacher(s) no two consecutive real days) or my way it is not clear. Because the user might understand that the teacher is allowed a real day and the two real days before and after must be both totally free.... :(
Please provide me with your file, for testing (when and if I'll do it). I would need also the solution with the teacher working in two consecutive real days. And if your file is too difficult (hours to solve), send me a modified one to solve in ~20 minutes.
OK, Hiba Hadi, I took notice of your comment!
Benahmed, wouldn't it be better: "Teacher(s) max three consecutive days"? Because 4 consecutive half-days might be tiring, even if like this: RD1-evening, RD2-morning, RD2-afternoon, and RD3-morning?
Quote from: Liviu Lalescu on September 24, 2021, 08:04:54 PM
Great!
Or: Teacher(s) don't work in two consecutive real days. Hmm... but either your way (teacher(s) no two consecutive real days) or my way it is not clear. Because the user might understand that the teacher is allowed a real day and the two real days before and after must be both totally free.... :(
Please provide me with your file, for testing (when and if I'll do it). I would need also the solution with the teacher working in two consecutive real days. And if your file is too difficult (hours to solve), send me a modified one to solve in ~20 minutes.
OK, Hiba Hadi, I took notice of your comment!
ok I will send it
Sent it by email
Email received.
What do you say about my proposal in my previous post?
QuoteI would need also the solution with the teacher working in two consecutive real days
Sent it by email just now
Quote from: Liviu Lalescu on September 24, 2021, 08:23:28 PM
Benahmed, wouldn't it be better: "Teacher(s) max three consecutive days"? Because 4 consecutive half-days might be tiring, even if like this: RD1-evening, RD2-morning, RD2-afternoon, and RD3-morning?
no, I think it's not a good name...
think about solutions where the days are not consecutive.
for example:
Sunday morning - Sunday afternoon - Monday afternoon.
these days are not consecutive but the solution is good.
Quote from: Benahmed Abdelkrim on September 24, 2021, 08:54:20 PM
Sunday morning - Sunday afternoon - Monday afternoon.
these days are not consecutive but the solution is good.
It would be accepted by my proposal, because there are only 2 consecutive days (Sun-M, Sun-A). I accept even 3 consecutive days, but not 4. I refer to days as half-days.
I mean from your proposal with no 2 consecutive real days to reject this: RD1-A, RD2-M, RD2-A, RD3-M, because there are more than 3 consecutive days.
I think the last name is GOOD. "teacher(s) no two consecutive real days", or this name: "teacher(s) must not work two consecutive real days"
QuoteI mean from your proposal with no 2 consecutive real days to reject this: RD1-A, RD2-M, RD2-A, RD3-M, because there are more than 3 consecutive days.
I think this situation is acceptable to our teachers. what is not acceptable is the 2 consecutive real days.
Hmm...:
1) I still don't like the name "Teacher(s) no two consecutive real days". The user might understand each real day must be isolated to the left and right completely by two empty real days.
2) I consider max 3 consecutive half-days more useful. Because the teacher will be exhausted by coming afternoon, then whole day, then morning, isn't it?
3) In your file I see that actually teacher H6 has 5 half-days in a row. So maybe we would need to add a constraint "Teacher(s) max four consecutive days" (maybe that is why he was unsatisfied).
Of course I admit you are better than me at knowing the necessities of the teachers, but this is my opinion. Maybe you could ask other users about this. We need to know the best formula before adding a new constraint.
QuoteI consider max 3 consecutive half-days more useful. Because the teacher will be exhausted by coming afternoon, then whole day, then morning, isn't it?
Well I agree with you. I think this is a good solution. I am convinced. Thank you
Quote from: Benahmed Abdelkrim on September 24, 2021, 09:48:52 PM
QuoteI consider max 3 consecutive half-days more useful. Because the teacher will be exhausted by coming afternoon, then whole day, then morning, isn't it?
Well I agree with you. I think this is a good solution. I am convinced. Thank you
Good!
The file you sent me was your final file? Because I would like to make sure I test with the most difficult file. And I will add for all teachers max 3 consecutive days?
I alleviated some constraints to make it easy. I will send you my last file by email.
Thank you! Please send the file, the data_and_timetable, and the random seeds if you still have it.
The previous emails were for the same easy file (file, data_and_timetable, random seed)?
Quote
The previous emails were for the same easy file (file, data_and_timetable, random seed)?
Yes, of course.
Quote from: Liviu Lalescu on September 24, 2021, 08:04:54 PM
Great!
Or: Teacher(s) don't work in two consecutive real days. Hmm... but either your way (teacher(s) no two consecutive real days) or my way it is not clear. Because the user might understand that the teacher is allowed a real day and the two real days before and after must be both totally free.... :(
Please provide me with your file, for testing (when and if I'll do it). I would need also the solution with the teacher working in two consecutive real days. And if your file is too difficult (hours to solve), send me a modified one to solve in ~20 minutes.
OK, Hiba Hadi, I took notice of your comment!
Thank you 🙂
Quote from: Liviu Lalescu on September 24, 2021, 08:23:28 PM
Benahmed, wouldn't it be better: "Teacher(s) max three consecutive days"? Because 4 consecutive half-days might be tiring, even if like this: RD1-evening, RD2-morning, RD2-afternoon, and RD3-morning?
Dear Liviu;
I have thought about the idea max 3 consecutive days, and I fear that this constraint is for certain difficult files powerful, and can even lead to impossible timetables unless accepting the following situation: RD1-A, RD2- M, RD2-A, RD3-M. this situation is acceptable as long as we do not have 2 real consecutive days. what do you think?
Dear Benahmed,
Yes, I just finished a sketch of this constraint max 3 consecutive days for all teachers and indeed your file seems clearly impossible (max 500 activities placed after ~12 minutes generating on 8 threads).
The problem with your initial suggestion is that it is very specialized, we cannot find a perfect name for the constraint, and it is not implementable perfectly. That is why I would not like to add it for now. The best solution I can think of is for you to generate multiple and choose a solution which avoids this situation.
I will add your suggestion in the TODO and think on it the next days.
I am so sorry!
We can talk on this, of course.
I have thought about this question, and I think the best way to make the file solvable is to accept my suggestion expressed in my previous comment.
I will try to make this.
The best way: max 3 consecutive days, with an option to allow exception of afternoon, morning, afternoon, morning.
I tried on your file and very difficult (~4 hours) I obtained solutions without exception, and with exception it was much easier.
Good news, I believe this is the right way to solve this problem; create exceptions. I wish you success. thank you very much - dear Liviu- for your interest.
It is done, I hope correctly. I will test and read the code in the next interval.
Please test extensively and report bugs.
https://lalescu.ro/liviu/fet/download/test/ or see the Snapshots announcement.
Thank you very much for adding this new constraint. We are very Grateful.
I will test and report.
everything is OK! :)
Great! I just released the official FET-6.1.7. Thank you!
Thank you mister Liviu.
You are welcome! Thank you! :)
Good morning!
can we add this constraint for the students?
I was working on a special file (covid-19), I added max 7 days for the students, the solution found is good but it is tiring for some sets of students (because of 2 real consecutive days). thank you!
I attach the file below ...
Hello, Benahmed,
OK, I think I will do it. Like for teachers, with exceptions?
On your file, for what to look for? Could you send a locked file?
As a test file, should I consider your file? With exceptions AMAM for students or not?
Hello dear Liviu.
Of course with AMAM exceptions as for teachers.
OK! I attach the locked file ...
Yes, you can consider the above file as a test file
I forgot to say; look for student sets
I attach a screenshot...
OK, I managed to obtain a timetable myself.
As a test, to add for students, should I add for all the students, with or without exceptions AMAM?
Quote from: Liviu Lalescu on February 15, 2022, 12:24:31 PMAs a test, to add for students, should I add for all the students, with or without exceptions AMAM?
Thank you!
Yes for all students with exceptions AMAM
Quote from: Benahmed Abdelkrim on February 15, 2022, 01:18:27 PMYes for all students with exceptions AMAM
OK, but for teachers you added without exceptions AMAM?
Quote from: Liviu Lalescu on February 15, 2022, 01:27:32 PMOK, but for teachers you added without exceptions AMAM?
Yes, I know that. You can try without exceptions. No problem. :)
I made it, and it worked on your file with exceptions, now I am trying without exceptions. Please see the Snapshots announcement for the download link, or directly here: https://lalescu.ro/liviu/fet/download/test/
(the snapshot will disappear after the official release.)
Thank you dear Liviu... This new constraint will be very useful for morning/afternoon mode users :)
You are welcome, dear Benahmed!
If you want, we can add one or more example files for this (tell me where to put them, and make sure no privacy problems).
You can add the example attached above in FET-6-mornings-afternoons / Algeria / max three consecutive days
OK. :)
I edited my last post :)
OK.
Hello again
I used easy spatial constraints with no interactions between them, but the production time was doubled(26min) compared to a file without spatial constraints(12min). I used the same random seeds for both files (with and without S.C)
I used the same file that was added in the examples folder recently(benahmed_5_bis_2-M3) with some spatial constraints.
Attached below the same file with these few spatial constraints, and random seeds.
Hello, Benahmed,
It is normal. Each new constraint usually changes the whole random seed behavior. Only if the random seeds are equal at the end of generation you can conclude that there is something wrong. But the random seeds are not equal at the end in this case.
Oh... I thought there was something wrong...
Thanks for these clarifications :)
:)