Hello,
I'm posting these questions here because they relate to my specific situation, and this thread seems like the most appropriate place for them, but please feel free to move this post if necessary.
I'm currently using FET (official version) to generate a schedule with approximately 4,000 activities, approximately 100 teachers, 3 academic years with 6 student groups each and 2 subgroups per group (for a total of 36 subgroups), over 16 academic weeks of 7 days each (112 days total) with 7 time slots per day.
I imported my 4,000 activities via CSV, then began entering my constraints one by one (and I'm entering them teacher by teacher to ensure that the overall schedule makes sense).
Just entering a "teacher's unavailable time" constraint into the FET interface takes a long time given the 112 days per week, so entering all the constraints is very tedious.
I'm therefore considering copying and pasting directly into the FET file, using the constraints I've already entered as a template.
My first question is this:
Are there any forum threads that explain what you need to know about directly importing into the FET XML file? I'm particularly wondering about the correct places to put specific constraints, since simply placing them one after another at the end of the existing file probably doesn't work.
I also have a completely different question about the accumulation of constraints.
Given the large number of constraints, I use a strategy based on constraint priority levels to maintain control and clarity. So for each constraint, I've added a comment such as "level 1," "level 2," and so on, and I start the generation process by enabling only the "level 1" constraints; then, if that works, I add the "level 2" constraints, and so on.
Not all of my teachers have constraints at multiple levels, so it's easier for me to enable "level 2" constraints without disabling the "level 1" ones.
This means that for a single set of activities, I might have, for example, "min days between a set of activities=7" with a weight of 90% ("level 1") and "min days between a set of activities = 7" with a weight of 95% ("level 2"), and "min days between a set of activities = 7" with a weight of 99% ("level 3").
Or, again for the same set of activities, "a set of activities has a set of preferred time slots" with a weight of 99% ("level 1") for a certain range of time slots and "a set of activities has a set of preferred time slots" with a weight of 95% ("level 2") for a certain, more restricted range of time slots, and again "a set of activities has a set of preferred time slots" with a weight of 90% ("level 3") for a certain, even more restricted range of time slots (I assigned decreasing weights so that the combination of these constraints would be logically consistent).
Are such somewhat redundant constraints problematic? Do they take a long time to generate?
Thanks for reading all the way to the end
.
I'm posting these questions here because they relate to my specific situation, and this thread seems like the most appropriate place for them, but please feel free to move this post if necessary.
I'm currently using FET (official version) to generate a schedule with approximately 4,000 activities, approximately 100 teachers, 3 academic years with 6 student groups each and 2 subgroups per group (for a total of 36 subgroups), over 16 academic weeks of 7 days each (112 days total) with 7 time slots per day.
I imported my 4,000 activities via CSV, then began entering my constraints one by one (and I'm entering them teacher by teacher to ensure that the overall schedule makes sense).
Just entering a "teacher's unavailable time" constraint into the FET interface takes a long time given the 112 days per week, so entering all the constraints is very tedious.
I'm therefore considering copying and pasting directly into the FET file, using the constraints I've already entered as a template.
My first question is this:
Are there any forum threads that explain what you need to know about directly importing into the FET XML file? I'm particularly wondering about the correct places to put specific constraints, since simply placing them one after another at the end of the existing file probably doesn't work.
I also have a completely different question about the accumulation of constraints.
Given the large number of constraints, I use a strategy based on constraint priority levels to maintain control and clarity. So for each constraint, I've added a comment such as "level 1," "level 2," and so on, and I start the generation process by enabling only the "level 1" constraints; then, if that works, I add the "level 2" constraints, and so on.
Not all of my teachers have constraints at multiple levels, so it's easier for me to enable "level 2" constraints without disabling the "level 1" ones.
This means that for a single set of activities, I might have, for example, "min days between a set of activities=7" with a weight of 90% ("level 1") and "min days between a set of activities = 7" with a weight of 95% ("level 2"), and "min days between a set of activities = 7" with a weight of 99% ("level 3").
Or, again for the same set of activities, "a set of activities has a set of preferred time slots" with a weight of 99% ("level 1") for a certain range of time slots and "a set of activities has a set of preferred time slots" with a weight of 95% ("level 2") for a certain, more restricted range of time slots, and again "a set of activities has a set of preferred time slots" with a weight of 90% ("level 3") for a certain, even more restricted range of time slots (I assigned decreasing weights so that the combination of these constraints would be logically consistent).
Are such somewhat redundant constraints problematic? Do they take a long time to generate?
Thanks for reading all the way to the end
.