Assign people to projects by preference
This page contains two algorithm for assigning people to projects based on
their preference. The idea is that there are more persons than projects
and that you want to assign an (almost) equal number of persons to each
project. Each persons is asked to order the project from highest to lowest
preference. These preference are taking into account. The algorithm starts
with calculated the weighted popularity of project and then start to find
the persons who are most interested in the least popular project and
assigns these to this project. The process is repeated with next least
popular project that is left over. I make no claims with respect to
whether these algoritm finds the best solution possible. It is possible
that for a certain project there are exactly the correct number of persons
who have give it the highest preference, yet that these persons are not
assigned to the project. The reason for this is that one of them might
be selected for a project with less popularity. I have added the checkbox
'Match exact project first', that when checked causes projects for which
there are an exact number of persons with the first preference for that
project, will cause these to be matched first for the first algoritm. In
some cases this might led to an uncorrect matching when the number of
persons is not a multiple of the number of projects.
Each line of the input should contain a name followed by
the order in which the projects (numbered from 1 up) are prefered by the
student (from higest to lowest). The name and the numbers should be separated
with a tab character. The name may contain spaces.
Home
| November 6, 2014