Optimal Student Volunteer Scheduling for the 2015 INFORMS Annual Meeting

When we sat down to begin scheduling student volunteers for this year’s Annual Meeting, we recognized an opportunity to use OR methods to make the task more manageable. We realized that the problem consisted of scheduling 59 students across eight shifts (two shifts per day, four days), with each student required to work either one or two five-hour shifts (morning or afternoon). Since student volunteers are placed throughout the conference facilities, we decided to schedule students into the 74 “shift-location” combinations rather than simply assign a block of students into each shift.

A Doodle poll was set up to obtain student availability. Each student was asked to indicate five out of the eight shifts during which they were available. The availability data was translated into a cost matrix where the cost was zero if a student was available and a cost of 1,000,000 if a student was unavailable for a certain shift. The objective was to minimize the total cost of the assigned schedule, thereby creating a feasible schedule that did not assign any students to shift(s) for which they were unavailable.

The problem was set up and solved in MS Excel. The tool used was COIN-OR’s Open Solver add-in for MS Excel, as the problem violated MS Excel’s native Solver tool variable limits. The constraints included limits on the number of shifts to be worked by each student {1, 2}, the minimum number of students required for each shift-location {1, 2}, a required number of student volunteers per shift {13, 14, 15} (including one student per shift who served as a backup), and the need for no student to be assigned to more than one shift-location per shift (no student can be in two different locations simultaneously).

Once the problem was set up, it took just 0.25 seconds of CPU time to solve using the CBC algorithm as the solver engine. The processed model had 549 rows, 4,366 columns, and 16,872 elements. A feasible solution (one with no students scheduled to work shifts for which they were unavailable) was achieved. The Open Solver output was in the form of a 59 x 74 binary assignment matrix. Two VBA scripts were then written to translate the binary assignment matrix into user-friendly output: The first script took a list of shift-locations and attached student names, the second script took a list of student names and attached shift-locations. The two VBA scripts were virtually identical with the exception that in the second script the first step was to transpose the assignment matrix.

So what lessons did we learn from this project? A significant issue in volunteer scheduling is the tendency for a portion of the volunteers to miss their assigned shift(s) (“no-shows”). No-shows create headaches, as a missing volunteer necessitates finding a last-minute replacement or having certain responsibilities unfulfilled. In the case of the INFORMS Annual Meeting, most of the pain of student volunteer no-shows falls on INFORMS professional staff, so it is worth putting some thought and effort into minimizing the number of student volunteer no-shows. We feel that one improvement to the above-described solution would be to allow student volunteers to provide shift preferences, rather than just binary shift availability. Our thinking is that a student is more likely to be a no-show for a shift for which they were forced to make themselves available. Collecting this shift preference data would involve more effort than collecting shift availability, but we feel that solving the problem in this manner might reduce the frequency of student volunteer no-shows at future conferences.
Thanks go to Abby Barlok (Lehigh), Ellen Tralongo (INFORMS), Jessica Bennett (INFORMS), and Cheryl Clark (INFORMS) for all their help scheduling and managing student volunteers during the 2015 INFORMS Annual Meeting.