You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Teamformer builds student teams for you. The primary objective is to form as few teams as are needed while ensuring constraints are met, and encouraging WAM (weighted average mark/gpa) balance across teams. The system is basically a wrapper around a CP-SAT solver using Google OR-Tools.
3
+
Teamformer builds student teams for you. The primary objective is to form as few teams as needed while ensuring constraints are met and encouraging WAM (weighted average mark/GPA) balance across teams. The system is a wrapper around a CP-SAT solver using Google OR-Tools.
5
4
6
5
Constraint handling includes:
7
6
8
-
✅ Each student is assigned to exactly one team
7
+
✅ Each student is assigned to exactly one team
9
8
10
9
✅ Each team has between min and max students
11
10
12
-
✅ No team has only one student of a given gender (current only M/F, if other self-report categories these are ignored and not balanced, but does not break anything)
11
+
✅ No team has only one student of a given gender (currently only M/F; other self-reported categories are ignored for balancing, but won't break anything)
13
12
14
13
✅ The number of teams used is minimized
15
14
16
15
✅ Students are only assigned to teams in the same lab as them
17
16
18
-
✅ Deviation from average WAM across class is penalised
17
+
✅ Deviation from average WAM across the class is penalised
18
+
19
+
✅ **Student preferences are favoured (positive and negative preferences now supported!)**
19
20
20
-
❌ Student preferences are favoured (Not yet implemented)
21
+
The output is an Excel sheet with students and teams. Team numbers may not be sequential (drawn from 1\:max\_teams).
21
22
22
-
The output is an excel sheet with students and teams. Team numbers may not be sequential (drawn from 1:max_teams).
23
+
---
23
24
24
25
### Data structure
25
-
Team former assumes data is in a spreadsheet that looks something like (fake data):
0 commit comments