Liviu
I do have a question regarding the above. I know that Alfaromeo also refer to this some time ago. I just want to know if there is a work around.
I have say 100 groups and or sub groups. A week has 5 days and all groups have more than say 20 Fet hours a week except a few groups say with 17 hours.
I want to add a constraint Minimum hours daily for all students as 4. I cannot because of the groups having less than (5x4) hours. It does not help I add a constraint minimum hours daily for a students set as 3, as the "global" setting, the one for all students, overrides the setting for a individual student set. What I have to do then is to add minimum hours for each and every student set, 100 in total.
Is there not an easier way or am I missing something.?
What is the chances that an individual setting can override a global setting? (Probably very difficult!!)
Thanks for always helping.
Frans
there are several possibilities:
a) if there are only a few groups with less then 20 hours, then you can maybe think about adding a few pseudoactivities to that students.
so you can use your min n=4 hours constraint. but you need to care about that the pseudoactivities are in the frist or last period of the day (do it with an activity preferd time constraint.)
b) maybe have a closer look to that students set dataset. maybe you can put that students into a new year? so you can set the min n=4 constraint to the other years, but not to the new year.
(don't forget that this constraints bequeath to lower level. so if you set this constraint to a year, it is inherit by the included groups and subgroups.)
Volker thanks. I forgot to add the following:
When some groups are deactivated then I have the same problem with minimum hours. What I somtimes do, and it works for me and I find it much quicker, is to add all activities for all groups and deactivate all.
Next I start activating groups one by one in setting the timetable. If add minimum hours daily for all students FET gives an error for the deactivated groups. Although the group is inactive the minimum hours is not. It seems to me that if a group is deactivated the minimum hours is not ignored but taken as zero by FET. So I must either activate all or delete the deactivated groups and that is not what I want to do.
If a group is deactivated it must be non-existant as if it was not entered at all. (Just an idea)
Thank you in advance.
Kind regards.
Frans
Yes, I hope that Liviu or Volker will come up with a solution for that
I wonder: what happens when I user add a constraint for ALL, deosnot FET break this constraint into as many constraints as the number of objects (classes or teachers)?
If so, isnot easy to add a button called ADD ALL into add constraint window
This way, I can Add all 100 classes at once Min gours=4), then, in right pane, I can deselct those 3 or 4 classes who needs Min hours =3 ?
This feature will be very usefull when dealing with all other constraints.
Does my suggestion needs a changes into algorithm or only changes into user interface?
I already posted a screen shot of what I mean: http://lalescu.ro/liviu/fet/forum/index.php?topic=661.msg4042#msg4042
Hi Alfaromeo
This is exactly what I mean.
Although I am not a professional programmer and do not have knowledge of C, I personally think it will not be that difficult to make a change, but Liviu will know what is possible and best.
If one for example look at the Advanced menu it will be noticed that if a student set is deactivated the hours will be zero.
Somewhere in the algorithm there must be a test to identify the students sets that do not satisfy the constraint, something like (in basic style)
If GroupTotalHours < (DaysInWeek x MinimumHours)
Then
.....
Else
......
Endif
Can the above not be changed to?
If GroupTotalHours < (DaysInWeek x MinimumHours)
And GroupTotalHours > 0
Then
....
Else
...
Endif
The reason why I say this is that the hours for a deactivated group will always be zero. Further it is impossible to add an activity with zero hours. One will not get an activated student set with zero hours.
As said I am not a programmer but I think it can work and then an extra button will not be necessary.
Regards.
Frans
About alfaromeo's suggestion (add an "add constraints for all"), it is a good one. It is not difficult to make it. There are reasons why I prefer not to add it for the moment: 1) I like current FET stability, and a change like that is highly critical. 2) It is an interface improvement. If we think about all possible interface improvements, there are infinite possibilities. I cannot take care of all the aspects. I just want to provide a good module for generating a timetable. I invite others to use the FET engine into their improved interface. 3) It is not very difficult to add constraints for all teachers/students: press Down arrow for each teacher/students set, then press Enter, alternatively, until the end.
Though, I agree it is a good suggestion and I'll have it in my mind (but I don't promise :-)
About Frans' problems: 1) If you want exceptions, you may add dummy activities (for each subgroup). 2) The constraint min hours daily for students, by default, does not allow empty days. So FET is right, even if the set has 0 hours per week. If you make the min hours daily constraint allow empty days for the students, then FET will accept (see attached file).