Assigning choices optimally
#1
Posted 2011-February-07, 08:08
#2
Posted 2011-February-07, 08:16
If that is it, the following seems practical: Tell the students that they should list their three top choices and then two alternates. I am guessing, and it would be interesting to see, that you will be able to make up the groups with most of the students having one of their three top choices and all of them having one of of their top five. If students picked randomly this might not be likely but some projects will have broad appeal. If, out of 45 possible assignments, most get one of their top three choices this should make almost everyone reasonably happy.
No doubt other schemes could be tried but any assignment of happiness value will be arbitrary so I would go with simply using some plausible mechanism to give most people something that is satisfactory.
But I will be interested in seeing more sophisticated schemes. We actually use something like what I suggest in a setting of somewhat smaller scale. No heavy complaints.
#3
Posted 2011-February-07, 08:33
#4
Posted 2011-February-07, 10:55
Have them fill out slips with their choices, in a ranked order. Place the slips in a hat.
Draw a slip at random. That person gets their highest ranked available project. If none of the five listed are available, put it in a seperate stack. Repeat until none are left in the bag.
If you have any in the second stack (If you're really lucky you won't!) Then those people get to pick for the list of remaining projects, in the order their slip was chosen.
I make no claims that this is optimal, but it seems fair (at least in the aggregate) and has the advantage of being easy to do.
#5
Posted 2011-February-07, 11:13
#6
Posted 2011-February-07, 13:56
For an optimal solution, I don't know what is best. Brute force would definitely take too long. I would start by counting up the number of unique projects chosen in any of the top five choices. If it is close to 33 then you have to start by assigning any of the projects that were chosen by exactly one person. If it is close to 45 you can start by trying to give as many people as possible their first or second choice.
Also, one of the projects should be to design a solution for this exact problem. That way you won't have to worry about it next year.
#7
Posted 2011-February-07, 14:16
MathWorks produces some good software to solve these sorts of problems. (If your at a University, there is a good chance that you have free access to MATLAB)
The following online text book has a good introduction to the topic:
http://www.mathworks.com/moler/lu.pdf
#8
Posted 2011-February-07, 15:30
Hrothgar is right that this can be approached via linear programming; however there are much simpler and faster algorithms available.
a.k.a. Appeal Without Merit
#9
Posted 2011-February-07, 15:33
hrothgar, on 2011-February-07, 14:16, said:
MathWorks produces some good software to solve these sorts of problems. (If your at a University, there is a good chance that you have free access to MATLAB)
The following online text book has a good introduction to the topic:
http://www.mathworks.com/moler/lu.pdf
I think we need integer solutions - a solution like 0.2 of each of your five choices probably wouldn't be ideal.
Which makes it an integer programming problem.
I believe that the USA currently hold only the World Championship For People Who Still Bid Like Your Auntie Gladys - dburn
dunno how to play 4 card majors - JLOGIC
True but I know Standard American and what better reason could I have for playing Precision? - Hideous Hog
Bidding is an estimation of probabilities SJ Simon
#10
Posted 2011-February-07, 17:00
a.k.a. Appeal Without Merit
#12
Posted 2011-February-08, 06:03
Then I will first assign all projects that have been rated 1 by only one student to that student, and subsequently, among all projects that have been rated 1 by more than one student, assign the least popular one to the most picky of all students that had that project rated 1.
Continue doing this until the 1-ratings are exhausted, then continue with 2-ratings etc.
But as AWM says, this is a well-known problem so there is probably some free software out there that will do it in some clever way.
Ideally, the algorithm should
- give as little scope as possible to manipulation, i.e. students boosting their chances by being dishonest about their 2nd choice. My guess would be that all non-ridiculous algortihms are subject to some degree of manipulation but some will be less manipulatable than others, in some sense.
- be deterministic, i.e. not rely on monte carlo heuristics.
#13
Posted 2011-February-08, 14:59
barmar, on 2011-February-08, 00:04, said:
No, because the projects do not have preference lists over the students.
a.k.a. Appeal Without Merit
#14
Posted 2011-February-08, 21:42
#15
Posted 2011-February-09, 12:18
Thought experiment: You have three students. One algorithm provides two of the students with their first choice and the third student with his third choice. Another algorithm provides one student with his first choice and the other two students with their second choice. Which algorithm would be judged to be the better?
Of course with three students the algorithm would be to write down all the possibilities and see which you (perhaps invoking some subjectivity) think best. But for more students it seems to me you have to decide whether you prefer an algorithm that gives, say, 25 of the 33 students either their first or second choice but gives some students their fourth or even fifth choice to an algorithm that gives no one anything worse than their third choice but gives far fewer students their first choice. When I have done such things I have put a premium on having no one seriously unhappy even if that means fewer people are ecstatic. But it's a choice.
After such choices are made by a human, it would not surprise me at all that MatLab has a program for it. This doesn't sound like a problem no one has faced before.
#16
Posted 2011-February-09, 17:55
As for tv, screw it. You aren't missing anything. -- Ken Berg
I have come to realise it is futile to expect or hope a regular club game will be run in accordance with the laws. -- Jillybean