What it does
Forming teams for a few hundred campers becomes challenging when the goal is more than simply creating groups of equal size. Participants have different levels of skills such as leadership, Bible knowledge, creativity, acting, and musical ability, while factors such as country, gender, and individual grouping requirements also need to be considered.
The project approaches group formation as a mixed-integer optimisation problem. Participant data is prepared using pandas, while the rules for team formation are translated into mathematical constraints and optimisation objectives. Gurobi is then used to find an assignment that satisfies the required constraints while producing teams that are as balanced as possible across the selected criteria.
The model also supports relationship constraints. Some participants may need to be placed together, such as a parent and child or a first-time camper who needs someone familiar, while others may need to be separated to encourage interaction with new people. This allows practical and social requirements to be incorporated directly into the optimisation model.