I know vacation is about to start, but I have a question for when you all come back :)
I don't get any timetable after more than an hour od generating. I don't get an error message, I just don't get a timetable. Is there a way that I can detect where the problem is?
simultaneous activities or teachers constraints or rooms constraints? maybe changing just one thing would solve the problem, but how can I know what thing I must change? Thanks
QuoteI know vacation is about to start, but I have a question for when you all come back :)
I don't get any timetable after more than an hour od generating. I don't get an error message, I just don't get a timetable. Is there a way that I can detect where the problem is?
simultaneous activities or teachers constraints or rooms constraints? maybe changing just one thing would solve the problem, but how can I know what thing I must change? Thanks
Unfortunately, there is no way to find out what constraints are the incorrect/difficult ones.
Maybe your overall timetable is too difficult. I would do that: spread activities with only the first check box selected and 95% (so, only min 1 day between activities). If 100% weight and min 2 days necessary, this step can be skipped (but you can do it to see if the timetable is possible).
I would then increase max gaps per week or per day for teachers.
Maybe lower other constraints.
I recommend an incremental approach. Start with a solvable timetable and add constraint in the importance order.
ok, thanks and have a nice vacation :)
Quoteok, thanks and have a nice vacation :)
Thank you! I will go Monday, so Sunday I can answer messages.
When I'll get back, if you don't solve your timetable, maybe you can send it to me.
Ok, I've solved that timetable, but I have another problem now. I have some constraints for ALL teachers like max 2 afternoons (7th hour) per week, or max 6 gaps per week, or Min 2 hours per day. Well, i got like 3 or 4 timetables with one day and zero activities, which is illegal in our school system (min hours daily is 2). This is normal for teachers who only work part time, because I have set them to work only 3 days a week (according to the law), but the teachers who work full time MUST work every day (at least two hours). How can I tell FET to not give any free day to any teacher (apart from those who work part time, because I have specific constraints for those).
You can't tell that FET directly.
You can use workarounds for this.
For example:
a) choose an activity that is splitted alread in some subactivities. That activity should aready have a min n days constraint with 100%.
Then add an other subactivity into that min n day constraint.
Example: Teacher have alread a math activity with 4 times 1 hour per week. So there is a min n day constraint wo that (sub)-activities. Add one subactivity of an other activity of the same teacher into that constraint. so he must work at least 5 days.
or
b)
add a lower max hours per day constraint to that teacher.
QuoteOk, I've solved that timetable, but I have another problem now. I have some constraints for ALL teachers like max 2 afternoons (7th hour) per week, or max 6 gaps per week, or Min 2 hours per day. Well, i got like 3 or 4 timetables with one day and zero activities, which is illegal in our school system (min hours daily is 2). This is normal for teachers who only work part time, because I have set them to work only 3 days a week (according to the law), but the teachers who work full time MUST work every day (at least two hours). How can I tell FET to not give any free day to any teacher (apart from those who work part time, because I have specific constraints for those).
Add a large activity split into 5 per week, min 1 day 100%, and teachers min hours 3 for full time teachers. Maybe you need to increase the number of hours per day with 1.
do you two mean that I add a 5 hour activity for EVERY teacher in the school? for the 50 of them? Because I have tried to add an activity 5 hours with ALL teachers who work full time and I got no timetables. It gets stuck at 251 activities, and I have 740. Please give me more details as to what do you two mean.
Quotedo you two mean that I add a 5 hour activity for EVERY teacher in the school? for the 50 of them? Because I have tried to add an activity 5 hours with ALL teachers who work full time and I got no timetables. It gets stuck at 251 activities, and I have 740. Please give me more details as to what do you two mean.
I think you need to add for all of them (if you add constraint all teachers min 3 hours daily). Reason: if you add for only for full-time, the part-time teachers need min 3 real hours daily.
But it might be troublesome for teachers who work all the hours in a day. Because if a solution does not exist for this teacher to work only nhours-1 real hours in each day, FET will not find a timetable. A possible solution is to increase the number of working hours with 1. Then add preferred time slots for all real activities in the real hours (not allowed in the last hour - dummy hour). This is the exact path you need to follow, I think other constraints do not work. Maybe define an activity tag for real activities and add constraint activities preferred time slots for this activity tag. A lot of work :-(
Later edit: hmmm, maybe a simple way: add constraint students set not available, all years, dummy slot (last slot of the day which is added and is dummy).
Do not try to constrain the dummy activities to some slots, because the gaps will be counted. The dummy activities need to be mobile.
I'm not sure if I understand this about setting last hour not available. The law here is:
Students have 30 hours a week (no more, no less). Students are not allowed free periods. Students are not allowed 2 classes of the same subject in one day.
teachers are no allowed any free day.
teachers must do a minimum of 2 hours a day
teachers must do a maximum of 6 hours a day
teachers are allowed gaps, in fact I need gaps, because I set surveillance in those gaps.
All the above is the law, so I don't know how to tell FET all this. it was easy last year because I didn't get any free day for any teacher, but this year I get 2 or 3 teachers with a free day.
Only part time teachers who do halp of the hours are allowed 2 free days.
If I set an activity with 5 classes and all the teachers there the teachers who work part time will get horrible or impossible timetables.
We allow the teachers to set a maximum of 4 X in their timetable, where they want to have free time. Some of them prefer free 1st periods, some others prefer free last periods. I don't know if this is enough info for you. But please, respect your holidays and do not answer until you come back, I'm so sorry :)
QuoteI'm not sure if I understand this about setting last hour not available. The law here is:
Students have 30 hours a week (no more, no less). Students are not allowed free periods. Students are not allowed 2 classes of the same subject in one day.
teachers are no allowed any free day.
teachers must do a minimum of 2 hours a day
teachers must do a maximum of 6 hours a day
teachers are allowed gaps, in fact I need gaps, because I set surveillance in those gaps.
All the above is the law, so I don't know how to tell FET all this. it was easy last year because I didn't get any free day for any teacher, but this year I get 2 or 3 teachers with a free day.
Only part time teachers who do halp of the hours are allowed 2 free days.
If I set an activity with 5 classes and all the teachers there the teachers who work part time will get horrible or impossible timetables.
We allow the teachers to set a maximum of 4 X in their timetable, where they want to have free time. Some of them prefer free 1st periods, some others prefer free last periods. I don't know if this is enough info for you. But please, respect your holidays and do not answer until you come back, I'm so sorry :)
My vacation was postponed because of external reasons :-)
You can set the number of hours in FET = real hours + 1. Set not available for students in this last hour, every day.
Add a dummy activity split into 5 for each separate teacher, no students.
Is that OK now?
Why do you say part time teachers will get horrible timetables? Set minimum 3 hours daily for all teachers.
I forgot something: the dummy activities will be real gaps. I am not sure how to solve that.
Maybe you could generate multiple and find a good timetable, with no free days for full-time teachers.
OK, I understand what you say, I think. The problem I see is that if I block those 5 activities at, lets say, an invented 8th hour for every day, the teachers who work part time (only 3 days a week) will give conflict, so I should leave them out of this activity.
Besides, if I put all teachers in that activity and make them "work" everyday at 8th hour, the timetables will be weird, because the 6 gaps max a week will be interfered with by this 8th hour. I don't know if you understand what I'm trying to say, hehehe, it sounds very cryptic now that I read it.
QuoteOK, I understand what you say, I think. The problem I see is that if I block those 5 activities at, lets say, an invented 8th hour for every day, the teachers who work part time (only 3 days a week) will give conflict, so I should leave them out of this activity.
Besides, if I put all teachers in that activity and make them "work" everyday at 8th hour, the timetables will be weird, because the 6 gaps max a week will be interfered with by this 8th hour. I don't know if you understand what I'm trying to say, hehehe, it sounds very cryptic now that I read it.
I said that you should not constrain the dummy activities to some special slots. Just constrain the real activities not to be in the dummy hour.
I think it is better not to add dummy activities for part-time teachers and add min hours 2 for part time and min hours 3 for full-time (so, add min 3 for all teachers (one constraint) and min 2 for each part-time teacher).
But dummy activities might add gaps. So, you may need to add max gaps per week for full-time teachers=1 (and other 5 gaps will be taken care of by dummy activities).
ahhhh, I've seen the light :D thank you por your patience :)
PS: why are my smileys not showing? hehhehe
Quote
PS: why are my smileys not showing? hehhehe
Maybe you checked check box "Check this is you'll be adding code (or don't like smilies).".
Or maybe because I add also the nose - : like : - )
nono, it's not checked. it's one of the misteries of this century. besides, i add the smileys from the list of smileys. i click on the icon. Smileys hate me :-)
hey, it works if i add the nose by hand,jolly good :-D
right, i tried the 5 dummy activities with all teachers full time in there, but i get no timetables. it gets stuck at 288. I think I will do it old times: generate and generate and generate until I get a timetable with no free days for full tiem teachers :-)
But why don't you allow a free day for a full-time teacher?
Can you please sent me your latest file (data set). i will keep privat, but i can mybe see solutions if i have that file. check my mail add www.timetabling.de
in my opinion i also prefer a free day to that teachers. if there is realy such a rule and your boss ask about that, you can still say that that teacher do surveillance at his free day.
oh, we don't have a boss. It's a public school so the boss would be the proimer minister, in a way :-)
Teachers must have classes everyday. All of us would be very pleased to work many hours during 4 days and have a free day, but it's against the law, only possible for teachers who work part time (half of the hours).
I'll send you the file, volker, so you can tell me what I'm doing wrong. thanks
Silvia, I could tell you how to make a non-adaptable constraint min hours daily for some teachers (to not allow empty days). It is not difficult to make. You might need to hire a programmer to implement my advice. Or maybe you know a bit C++ and how to compile FET from sources.
I could make an option for official FET: adaptable/non adaptable check boxes for min hours daily for teachers/students. But people don't understand this and they will probably make mistakes/obtain impossible timetables. That is why I made default teachers min hours daily adaptable and students non-adaptable.
OK, I'll ask at school if someone know c++ (not me) and can give me a hand. Thanks Volker, you're taking so much trouble to help me, I'm so sorry and so thankful :-)
well, I have decided not to try to get timetables without free days for teachers, it's too much work. i've just generated and generated, and finally I got a timetable with only 3 teachers with an illegal free day, so what I'll do is modify those timetables by hand.
When I finish this, I'll add the rooms by hand and voilà, the timetables will be ready :-D
I thank you guys very much because this wouldn't have been possible without your program and your help, thanks a bunch.
Oh, and I warn you ;D I won't stop suggesting improvements for FET, hehehhe. You know my personal fight about classrooms, don't you? hahhahaha