Weekly group assignment algorithm

algorithm, combinatorics

Solution

Round-robin algorithm will do the trick i think.

Add the remaining student to the second group and you are done.

First run
1   2   3   4   5   6   7   8   9   10  11  12
23  22  21  20  19  18  17  16  15  14  13

Second run
1   23  2   3   4   5   6   7   8   9   10  11  
22  21  20  19  18  17  16  15  14  13  12

...

Problem

A friend of mine who who is a teacher has 23 students in a class. They want an algorithm that assigns students in groups of 2 and one group of 3 (handle the odd number of students) across 14 weeks such that no two pairs repeat across the 14 weeks (a pair is assigned to one week). A brute force approach would be too inefficient, so I was thinking of other approaches, matrix representation sounds appealing, and graph theory. Does anyone have any ideas? The problems that I could find deal only with 1 week and this answer I could quite figure out.

Original source

Related problems