Rutger Karlsson
Rutger Karlsson

Reputation: 539

student lab grouping, scheduling, matching

I have a problem with grouping students in lab groups.

  1. Students grouped together in one lab should not be grouped together in other labs.

  2. One of the group members should be appointed lab leader for that lab. Each student shall be lab leader once.

See How to solve this variation of kirkkmans schoolgirls for the original problem which I mange to solve with the help from Goose. Thanks for pointing me in the right direction. I use taboo search to do the grouping (solve 1) and create a bipartite graph and use Hopcroft-Karp to appoint lab group leaders (solve 2).

I need to add other constraints:

A. Students are paired and a lab leader is appointed and a semester schedule created, great. The next semester and the following semesters the students are grouped again (different course). The algorithm should avoid grouping students where in the same lab group last and previous semesters. Naturally eventually it would be impossible. But the best grouping possible should be found.

B. To make it even more complicated it would be great if lab leaders appointed will not be appointed lab leader in the same lab. That is, if there are 8 labs l and s students, student s1 is appointed lab leader in lab l4 one semester. The next semester s1 should not be appointed lab leader in l4 but can be appinted lab leader in any other labs.

Upvotes: 4

Views: 341

Answers (1)

Charles Menguy
Charles Menguy

Reputation: 41428

This makes me think about enter link description here, which can help you find solutions using an optimization algorithm.

I know 2 languages/softwares that are very well suited for this kind of problems (but there are probably many more !):

  • Prolog: logic-driven language
  • IBM ILOG CPLEX: proprietary software, but nonetheless the reference in the field.

One good link to get you started would be to take a look at this link

I hope that's helpful.

Upvotes: 1

Related Questions