moorepants / eng-edu

Holds information for my engineering education student assistants.
0 stars 0 forks source link

Improved CATME #9

Open moorepants opened 8 years ago

moorepants commented 8 years ago

CATME completely failed me in EME 185 with team assignment. We need something better. More to come...

Problem to solve

I teach a large class, with N students, where groups of 4 to 5 students are assigned to a unique set of a projects. Each student provides a list of their top m ranked preferences of the project they'd like to work on. There are generally more projects available than there are students to fill them, i.e. I drop some projects. Additionally, I collect some survey data with a number of questions that allow me to form a continuous objective function for any given organization of teams, i.e. given a unique set of team members I can output a continuous value based on their survey responses that should be maximized for each team. My goal is to algorithmically choose optimal teams such that the objective is maximized and students are placed with a project that is as high as possible on their ranking list.

I assume that my unknown is a set of integers that assign the students into M teams. I'm not quite sure that I can incorporate the objective of project preference into the continuous objective function.

Asked here: http://math.stackexchange.com/questions/2100493/how-can-i-optimally-group-people-into-teams-based-on-a-survey-of-preferences

Leads

Notes

Given n students and teams of k people, the number of possible combinations are computed by:

n!
---------
(n-k)!k!

For example, with 72 students of 4 people on each team, then there are 1,028,790 combinations of teams. Note that with 100 students of 5 person teams this is 75,287,520. So the number of combinations is not astronomical. This means that it may be possible to simply find the optimal team with brute force. The objective function can be computed for all combinations and the best one is selected. For example if the computation for the objective value takes 1 millisecond, then the 72 student example will only take 17 minutes to compute.