Are you tired of sorting big excel sheets to try to please as many people as possible, on choices they made ? If yes, then this is for you.
Let
In order to deal with this problem, we start by defining :
We also define :
Finally, we have :
We start by checking that :
We want to satisfy as much as possible the subjects in their choices :
Those are the constraints inherent to the problem :
each subject has exactly k activities
not more subject by activity than the maximum number allowed
As it is now, we could end up in a configuration where some people have all they want, and some other get all their bad choices. Since we don't want that, we introduce several sets of constraints. Some of those may yield good results in some configurations, but may make it impossible to solve the problem in other configurations.
This is why we let the sorter test different constraints, from stronger to weaker until it finds a configuration in which it works.
Here are the constraints, from stronger to weaker :
Work in progress
The subjects can classify the activities from
We choose to use a modified exponential law (which will give a high score to the first choices, and a low score to the last choices). We thus have :
Work in progress