Name: proposed by Prof. Russell Vance, Dept. of Molecular & Cell Biology. Transcribed by Prof. Ras Bodik
Background: As part of their curriculum, students in the Department of Molecular & Cell Biology are assigned to labs run by department professors. Students are reassigned each semester with the goal of giving students exposure to a spectrum of projects. Students are assigned based on their preferences (solicited each semester), their past rotations, and the availability of positions in the labs, as well as several other criteria (see below).
Problem description: Currently, the entire process is done by hand, from preference collection to the actual assignment to keeping track of the history of assignments. Coming out with the assignment is an intriguing optimization problem: we want to maximize the number of students getting their first choice, minimize the number of students getting their 4th choice, etc. To make things more interesting, we must take into account whether a person has gotten first choices in prior rotation selections.
The current process is time-consuming, but that is only part of the challenge. A non-optimal assignment causes unhappiness among students. Therefore, a good software solution should somehow explain to students why their preferences have been satisfied to the same extent as those of other students. Good ideas are welcome on how to do this without compromising privacy of other students.
Proposed solution: Students enter their preferences via a web interface. The preferences, as well as past schedules are stored on a database. An administrator performs the assignment interactively with the program by prioritizing parameters to be optimized. This would result in a flexible algorithm that would get better from semester to semester.
For the more ambitious, a machine learning algorithm could be employed. Prof. Vance can also perhaps provide years of data on how students were assigned previously in order to test the algorithm (or to assess how inefficiently students were assigned in past years).
Some other optimization criteria: If a faculty member is very popular and not all students can get into his/her lab, look at the second choices of the students and take the fate of other faculty into consideration. That is, if a faculty member won't get any rotation students except the person who wouldn't get the first choice, we would tend to give that student the second choice faculty.
Customer: There is a real, burning need for such software in the department. There is also a healthy dose of skepticism that software can schedule better than a human (I hope we can show them! --Ras). Prof. Vance, a supporter of the automation idea, has kindly agreed to meet with the team and explain the process.
Justification: This seems like a perfect project for cs169, in both scope and content. There is room for interesting web-based interaction when interacting with the scheduler; there is database storage; a bit of security; a bit of AI.