I have a problem with grouping students in lab groups.
Students grouped in one laboratory should not be grouped in other laboratories.
One of the team members must be appointed as the head of the laboratory for this laboratory. Each student must be the head of the laboratory once.
See How to solve this variation of kirkkmans schoolgirls for the original problem that I am solving with Goose. Thanks for pointing me in the right direction. I use taboo search to group (solve 1) and create a bipartite graph and use Hopcroft-Karp to assign group leaders (solution 2).
I need to add other restrictions:
a. Students are paired up and a laboratory leader is appointed, and a semester schedule is created, excellent. In the next semester and the following semesters, students are again grouped (different course). The algorithm should avoid grouping students where the last and previous semesters are in the same laboratory group. Naturally, in the end, this would be impossible. But you should find the best possible grouping.
B. To make it even more complex, it would be great if the designated laboratory leaders were not appointed as the laboratory leader in the same laboratory. That is, if there are 8 laboratories and students, student s1 is appointed as the laboratory leader in laboratory l4 for one semester. The next semester s1 should not be appointed as the laboratory leader at 14, but may be appointed as the laboratory leader in any other laboratories.
source share