Maximising Diversity and Balancing Skill
Source:vignettes/b-diversity-skill.Rmd
b-diversity-skill.RmdModel introduction
Consider a situation where an instructor wishes to divide students into groups. Each group will be allocated a topic , from a pool of topics . It is possible that each topic is repeated a certain number of times across the class. Suppose that the maximum number of repetitions of a topic is . In total, there are students in the class.
Suppose that students form their own groups, which they submit through a survey form. In total there are such self-formed groups; each student appears in exactly 1 group.
In addition, we have the following information about each student:
- Information that can be used to compute dissimilarities between
pairs of students. Examples are:
- the major of the student (STEM vs. non-STEM),
- gender,
- year-of-study, etc.
- Information on the skill level pertinent to the class, or to the problem they will be working on.
This model allows you to maximise the diversity within a group and minimise the difference in skill within groups.
Objective function
The overall objective function can be written as:
where and are weights. They indicate which half of the objective function should be given priority.
Constraints
Group to topic-repetition combination
First, let us introduce the decision variable of interest:
and are also decision variables. The objective function attempts to minimise the difference between them, ensuring all groups have a similar range of total skill.
This first constraint represents the need for each group to be assigned to exactly one topic-repetition combination:
Defining
is a binary variable, used to pick up whether the pairwise dissimilarity between student and student should be included in the objective function calculation.
Number of repetitions per topic
This set of constraints serve to regulate the total number of repetitions for each topic. and are input variables that the instructor needs to set.
Take note that the last constraint is automatically satisfied since {a_{tr}} is binary.
Number of students per group
A similar set of constraints are used to bound the number of students in each eventually assigned group. and are also input variables; they dictate the bounds on the number of students in each assigned group.
Per-group skill levels
We aim to maintain the skill level within each active group using the following constraints. Let .
When , the lower bound applies to the total skill in that active topic-repetition combination. When , the Big-M term relaxes the lower bound so inactive combinations do not force to zero.