Modeling a Department Course Scheduling Problem Using Integer Programming: A Spreadsheet-Based Approach

INTRODUCTIONThe university course scheduling or timetabling problem typically involves the scheduling of multiple courses to be taught by multiple faculty members over multiple timeslots across multiple classrooms. The complexity of the problem makes it difficult to solve to optimality, and applications generally involve simplifications to make the problem tractable. Most of the studies in this field focus on applications pertaining to course scheduling at a single or at most few departments of a university (Sarin et al, 2010). The research presented in this paper is a pilot study to model the scheduling issues faced by one of the departments in the College of Business at a CSU (California State University) campus. There are scheduling challenges faced in trying to ensure that students are able to get the classes they need at the times that are convenient for them (for example, many of the students are not full-time students, and therefore have work-related constraints; further, students do not typically move through courses in cohort groups), while also considering faculty teaching preferences and availability. The department currently does the scheduling manually.In general, effective scheduling can be instrumental in ensuring a smooth flow of students through the university system, and reducing the time to graduate. This is particularly important under the tight budget environment that many universities face. The overall research goal is to develop a realistic model and solution procedure that captures the main features of the scheduling problem while being computationally tractable. Our focus is on the scheduling of courses (and sections of courses) during specific timeslots, and the assignment of faculty to the different sections. We do not consider classroom allocations in this research.The remainder of the paper is organized as follows. Section II presents a review of the literature. In Section III we provide the specific context for our problem and outline the current manual scheduling procedure. We modeled the problem using integer linear programming, and the model details are described in Section IV. Section V discusses our use of a spreadsheet approach to pilot test the model, along with the results. We conclude in Section VI with limitations and suggestions for future enhancements.LITERATURE REVIEWScheduling classes at universities is a challenging problem. The timetabling problem is generally large, highly constrained, and solution by exact optimization methods is difficult (Mirrazavi et al, 2003). Therefore, solution approaches typically rely on heuristics. There are several examples in the literature on the use of heuristics in university scheduling. For example, a major curriculum review in the School of Hotel Administration at Cornell University revealed that course scheduling was a major problem (Hinkin and Thompson, 2002). The authors developed a computer program to automate the scheduling process, considering conflicts among core required courses, and among electives within areas. The program was used by an administrator in the student services office. The College of Business Administration at Texas A&M University used a network-based model considering the dimensions of faculty, subject, time, and room (Dinkel et al, 1989). Derigs and Jenal (2005) described a Genetic Algorithm - based system for professional course scheduling using strategies such as pre-assigning subsets of courses. Another heuristic procedure based on genetic algorithms is described in Adewumi et al (2009). This procedure addresses lecturer timetabling at a Nigerian University, and uses an iterative process to generate schedules based on the degree of violation of hard constraints. Other articles describing heuristic approaches to course scheduling in university environments include Ferland et al (1994), Boronico (2000), Daskalaki et al (2004), and Dimopoulou and Miliotis (2004). Several researchers have adopted the approach of developing subproblems for the overall problem. …