piemas25 at gmail.com
Tue Sep 10 09:59:01 BST 2013
You can reduce the problem domain a bit:
For classes that can accept an infinite number of students, start by
assigning all students whose 1st choice it is. It's not going to limit
other student's choices, so it's all positive.
For classes that don't have anyone who took it as 1st choice, assign
(randomly) two students whose 2nd choice it was to go in that class. It's
not "optimal", but it will avoid to get two unmotivated students for these
Then i would say that students want to avoid their last choices, more than
they want to get their 1st (i'm not an expert in student psychology ;-) ).
So, i agree that the score could be the square of the distance to their
best choice (ie: 1 for their 2nd choice, 4 for the 3rd, 9 for the 4th,
etc). From there, optimization algorithms are plenty.
I have an idea of a suboptimal "lazy" (in terms of computation) strategy,
but i'm lazy to write it right now.
More information about the london.pm