Hello, I've been testing using this software for our institution, HS with around 70 groups total. Right now I'm testing only 18 groups of second year students. In this year, students may choose between 3 languages (3hrs per week) and between 5 "programmes", which mainly means a single 3hr per week class that's different. So out of the 25 hours per week available for students, the group is together for 19 of them, 3 are an elective language and 3 are a special class. The language class was simplified with 4 different "blocks" since the election between languages is mostly balanced.
Our main problem right now happens with the electives, since a third of the students are in a single elective and the least popular electives represent only a sixth. Due to teacher capacity it's impossible to simply assign the class "elective block" to everyone, since a teacher will give have to give that class more than once and thus, cannot be in the same hour.
Here's an example on my attempt to solve this:
Groups: G1, G2, G3, ..., G18
Ammount of classes per elective: 8 Bussiness, 4 Art, 4 Med, 2 Humanities, 2 Engineering
Thus, Subrgroups:
B1,B2, ...,B8
A1,A2,A3,A4
M1, M2, M3, M4
H1, H2
E1, E2
End up with something like:
Group G1, Subgroups B1-A, A1-A, E1-A
...
Group G6, Subgroups B1-B, A3-B, H1-B
...
Group G18, Subgroups B8-B, A1-C, H2-B
I then realized the timetable was impossible due to teacher hours, so I instead assign the subgroups by graph coloring the constraints by hand. (i.e. B1 cannot be same time as B5 because the same teacher imparts it, thus nodes are connected in the graph.)
This appears to solve the timetable, but then any additional constraint will cause a reassignment/reshuffling of subgroups to groups. I cannot help but think there must be an easier way to solve this. Perhaps skip the subgroup thing and just use graph coloring + ''ELECTIVE BLOCK'' logic.
Sorry for the long winded post, I tried to explain it as succintly as possible. I just figured there might be a constraint or option I hadn't considered.
Thanks in advance if you took the time to read this ;D
If you think more close, then you will notice, that in fact a subgroup can be just a single student. So it doesn't matter if you do graph coloring or some manual stuff: A subgroup is a human and you want to place humans. So graph coloring is not "better" then "constraints and subgroups".
Hello, Ricardo,
I tried to understand your post, but I am not sure I could.
However, I would propose you possibly different approaches:
1) Divide year "second year" by 5 categories (Bussiness, Art, Med, Humanities, Engineering - each yes/no), so each category will have 2 divisions, yes (these students take the course), or no (these students don't take the course).
or
2) As Volker said, make a FET subgroup = a real life student, and create FET groups as needed.
Liviu.
Interesting, thanks for the response. I will play around with both ideas...