1.INTRODUCTION
Academic timetabling is a wellknown scheduling problem discussed in operations research. Integer Programming (IP) models of timetabling problems belong to the family of NPhard combinatorial optimization problems which are difficult to solve. With such problems, the time required to find an optimal solution grows rapidly with the size of the problem (Hochbaum, 1997). Nevertheless, owing to the rapid growth of algorithmic efficiency and computational power, efficient tools are now available to solve even large scale timetabling problems (Cacchiani et al., 2013; Badoni et al., 2014; Phillips et al., 2015; Bellio et al., 2016), but still applications of such optimization methods are not very common, particularly in the Sri Lankan context. University timetables are usually prepared by administrative officers based on previous years’ timetables by making amendments to cater new developments. Sometimes these timetables are revised several times to avoid clashes, creating difficulties to both staff and students. Teachers’ and students’ preferences are rarely considered in preparing timetables. Tight timetables (with little or no free time) sometimes restrict the choice of optional courses that the students can take. Timetables with long work days are sometimes blamed for lack of student participation in sports and other extracurricular activities. Given a large number of courses, a variety of subject combinations, and limited resources, it is reasonable to encounter such issues in manually prepared timetables. Lack of knowledge on scientific methods of scheduling, institutional politics, and poor management may have contributed to inefficient timetabling in universities.
Mathematicians’ involvement in academic timetabl ing has a long history dating back to the nineteen sixties. A wide variety of methods such as simulated annealing (Ceschia et al., 2012; Basir et al., 2013; Bellio et al., 2016), tabu search (Aladag et al., 2009; Lü and Hao, 2010; Abdullah and Turabieh, 2012), genetic algorithms (Mirrazavi et al., 2003; AgustinBlas, 2009; Mahiba and Durai, 2012), constraint logic programming (Deris et al., 1997; Panagiotis et al., 1998) and graph colouring (Cangalovic and Schreuder, 1991; Burke et al., 1994) have been used to formulate and solve timetabling problems. Most of these are heuristic search methods which may not produce globally optimal solutions. Hybrid algorithms combining various heuristic methods have also been proposed (Bolagi et al., 2014; Badoni et al., 2014).
Lawrie (1969), Akkoyunlu (1973) and Tripathy (1980) were among the pioneers of using IP models to solve academic timetabling problems. They modeled the basic requirements of academic timetables such as the number of teaching sessions required per week for each course (completeness constraint) and the need for avoiding simultaneous session assignments for students and teachers (uniqueness constraint). These models were later improved and applied by many others including Dimopoulou and Miliotis (2001), Martin (2004) and Boland et al. (2006).
Daskalaki et al. (2004) presented a comprehensive IP formulation for university timetabling including a wide range of applicable constraints such as collision, completeness, consecutive sessions, repetitive sessions, and preallocations. Their timetabling model was quite a general model which can be applied to a wide range of problems. Later, Schimmelpfeng and Helber (2007) reported on the application of an IP model to generate timetables for a larger scale problem with similar constraints. Ismayilova et al. (2007) applied a multiobjective IP model considering both the administration’s and instructors’ preferences to solve a faculty course scheduling problem. This model considered teachercourse assignments as well as coursetime slot assignments. Bakir and Akshop (2008) also used an IP model similar to Daskalaki et al. (2004) to solve a complicated timetabling problem. They recognized the difficulties arising from the large size of the problem when applied to realworld situations and emphasized the need for reducing the number of variables. Broek et al. (2009) proposed an IP model to develop timetables by assigning students to courses based on student preference for courses and other constraints. Miranda et al. (2012) proposed a web based timetabling method (to get data online from users) which produced optimal timetables using IP. Cacchiani et al. (2013) proposed a new method to compute lower bounds for a curriculumbased course timetabling problem aiming the optimal weekly assignment of lectures to rooms and time slots. In curriculumbased timetabling, timetables are prepared before the students enroll for the courses or without knowing the details of student enrolments, based on compulsory and optional courses for each student group. Phillips et al. (2015) introduced a novel generalized patternbased IP formulation for the room assignment problem of university course timetabling. Domenech and Lusa (2015) developed an IP model to assign teachers to courses while balancing teachers’ teaching load and maximizing teachers’ preferences for courses. Vermuyten et al. (2015) presented a twostage IP model to minimize student flows through the corridors and stairwells while satisfying other timetabling requirements.
The IP based timetabling models proposed and used to date vary in the scope and applicability. While some timetabling models handle courseteacher assignments (for ex., Domenech ans Lusa, 2015) and/or studentcourse enrollments (for ex., Broek et al., 2009), others handle coursetime slot and courselecture hall assignments assuming that courseteacher and coursestudent assignments have been fixed (for ex., Vermuyten et al., 2015). In this paper, a timetabling problem of the latter type (i.e. post enrollment timetabling) was considered.
The main objective of this work was to develop an economical and manageable IP model of a complicated timetabling problem in the Faculty of Applied Sciences, Wayamba University of Sri Lanka. A slightly different modeling approach was used to economize the model size and to maintain the simplicity of the model. A freely available opensource optimizer, OpenSolver, was used together with MSExcel to code and solve the problem. The results indicate that, large scale timetabling problems can be solved more efficiently using the proposed integer programming model. The model could effectively reproduce manually prepared timetables with a significantly lower number of work hours per week. For example, the results indicate that an extremely tight faculty timetable with 51 coursework hours per week can be effectively reduced to 43 coursework hours per week without violating any applicable constraint. The model simulations were further useful in identifying the binding factors. For example, it was observed that the Faculty of Applied Science timetabling problem is bounded by the student overlaps (student uniqueness constraint), and both human and physical resource constraints are not significant. The model can be modified and applied for other university timetabling problems as well as for other scheduling problems.
The rest of this paper is organized into three main sections. After a brief description of the case study, the proposed timetabling formulation and modeling strategies are discussed in section 2. Section 3 covers the results observed by applying the proposed model to the identified case study. Section 4 wraps up the paper with a comparison of the observed results with previous work and a discussion on possible extensions.
1.1.Faculty of Applied Sciences–Timetabling Problem
To formulate a timetabling problem accurately, a deep understanding of the problem domain is required together with a sound mathematical programming background. The timetabling problem in the Faculty of Applied Sciences (FAS), Wayamba University of Sri Lanka has some unique, favorable and unfavorable features compared to general timetabling problems. The faculty conducts 3year and 4year B. Sc. degree programs in various disciplines. Each internal student of the faculty can be identified with a combination of major subjects he or she is studying. For each combination, there are compulsory courses and optional courses. The students may have to take optional courses out of their majors to fulfill the credit requirements in each year. In a given academic year, each student is at a certain level of study which corresponds to the year of study (for example, the students who are in their first year in the university, are level I students, the students in their second year of study are level II students, and so on). Students in each of the four levels of study follow separate sets of courses, but the timetabling problem for each level is not independent owing to the common pool of resources shared: mainly lecture halls, laboratories, and teachers.
This study was carried out during the second semester of 2014 academic year scheduled from September 2014 to January 2015. In this semester, FAS had 409 internal undergraduates at levels I, II, and III studying two major subjects from Computing & Information Systems, Electronics, Industrial Management, Mathematics & Mathematical Modelling, and Statistics. All students at levels I and II have compulsory Mathematics courses despite their majors. Level4 students go for a 6month industrial training during the second semester and no course work is scheduled for them during this period. The teaching staff on duty consisted of 30 permanent lecturers and 21 temporary tutors. One or more lecturers and one or more tutors are assigned for each course by the respective department, and the details of these assignments are sent to the faculty office before preparing the timetable. For each course, both the assigned lecturer (s) and tutor (s) should be made available for all teaching/learning sessions. FAS has 9 lecture halls with capacities ranging from 60200 students, an electronic laboratory, and a computer laboratory. In addition, FAS schedules certain practical sessions in the university’s main Information Technology Center. FAS schedules no academic activity in the lunch hour from 12.30 to 1.30 pm, and therefore the consecutive sessions should be either in the morning session or in the afternoon session. Though the usual work hours are from 8.30 am to 4.30 pm, the faculty timetable runs from 7.30 am to 7.30 pm in some week days. It is extremely difficult to produce timetables without clashes, particularly for upper levels of study. Over the years, long work days have frustrated the students as well as the staff. The primary objective of this work is to generate more rational timetables with only 8 work hours per day, or if an 8hour timetable is not feasible, to minimize the number of working hours over the week.
2.MATERIALS AND METHODS
In literature, university timetabling problems similar to that of FAS, have been modeled with sixdimensional binary variables, i.e., with variables x_{ijklmn} taking the value of 1, if course m, taught by teacher l to the student group k, is scheduled for the j^{th} time period of day i in classroom n; and 0 otherwise (Daskalaki et al., 2004; Bakir and Akshop, 2008). Modern universities and faculties offer a wide variety of degree programs and courses and therefore millions of variables are required to model timetabling problems. To reduce the number of variables to a manageable level, the variables are usually redefined with relevant subsets of courses, teachers, students groups, and class rooms. In this work, instead of using subsets, a Relation Matrix was utilized to eliminate the need for some dimensions (indices) of the variables, thus reducing the total number of variables in the model.
For the FAS timetabling problem, five dimensional variables were used by excluding the indices student group and lecturer, and including another dimension as the session type. Each course offered by FAS can have lecture and tutorial sessions, lecture and practical sessions, or just practical sessions. Therefore the type of the sessions could be lecture, tutorial, or practical. Even for the same course, the scheduling requirements of lecture sessions and practical/tutorial sessions can be different. For example, a course may require 2hour lecture sessions in a lecture hall and 3hour practical sessions in a laboratory. Therefore the session type index is required. In FAS, since the number of students is relatively less, one course is usually taught by one of few previously assigned lecturers for all the students simultaneously. Therefore, apart from some practical sessions, the teaching sessions are not usually repeated for different student groups. Hence there is no need to index the decision variables over student groups and teachers, instead, a Relation Matrix is used to describe the relationships between courses and student groups and courses and teachers. This approach is more economical in terms of the size of the model because when the number of indices is reduced, the number of variables is also reduced.
Another matrix is used to indicate the hall feasibility: whether a certain course session can be conducted in a given hall depending on the course, session, number of students, hall capacity, and hall type. Since some course sessions have to be scheduled in only one predetermined location such as a laboratory, there is no need to define variables relative to other locations. On the other hand, there were some courses which require only practical sessions. For such courses, there is no need to define variables for lecture sessions also. A VBA (Visual Basic Application) programming code was used to create the set of variables based on feasible locations and required type of sessions only. The VBA code reads the course details and hall feasibility matrix and writes the set of required variables. This method further reduces the number of variables in the model. The proposed timetabling model is presented below.
Indices

c = course: 1, 2, … , C. A course is a taught module which belongs to one of the subjects.

s = session type: 1, 2, …, S. Since a course can have either tutorial or practical sessions, but not both, session types can be taken as lecture and tutorial/ practical, S = 2.

h = hall: 1, 2, …, H. Both lecture halls and laboratories are considered as halls.

d = day: 1, 2, …, D. Five days per week, D = 5.

t = time slot: 1, 2, …, T. Eight 1hour time slots per day, T = 8.

l = lecturer/tutor: 1, 2, …, L.

g = student group: 1, 2, …, G. Student groups are defined based on the combinations of major subjects. So each student group consists of the students enrolled for a unique combination of major subjects.
Parameters

Y_{gc} = 1 if at least one student of group g is registered for course c; 0 otherwise.

Z_{lc} = 1 if lecturer/tutor l teaches course c; 0 otherwise.

N_{cs} = total number of time slots required each week for session type s of course c.

B_{cshdt} = Benefit of scheduling session s of course c for the t^{th} time slot of day d in hall h. Benefit values can be assigned based on student and teacher preferences.

R_{c} = number of students registered for course c.

E_{cs} = number of consecutive time slots required for session type s of course c. This indicates the length of the sessions. The length of lecture sessions can be either 2 hours or 3 hours. The length of tutorial sessions is 1 hour, and the length of practical sessions can be 2 hours, 3 hours, or 4 hours. Usually the courses do not have sessions of the same type with different lengths. (The only exception was some 3credit courses requiring one 2hour lecture session and another one 1hour lecture session followed by a 1hour tutorial session per week. The latter was considered as another 2hour lecture session. This has no effect on the model accuracy because both the assigned lecturer(s) and the tutor(s), and all the students should be available for both lecture and tutorial sessions of these courses).

P_{h} = Capacity of hall h.
Decision variables

x_{cshdt} = 1 if a session s of course c is scheduled for the t^{th} time slot of day d in hall h; 0 otherwise.
Model(1)
As mentioned above, the primary objective of this work was to reduce the number of work hours per week to 40, or if it is not possible, to minimise the number of work hours per week. However the model is formulated with a secondary objective which maximise the total benefit derived from the assignments. The primary objective was achieved by iteratively solving this timetabling problem over an increasing number of available time slots, starting from 40 hours per week, until a feasible solution is obtained. Once the minimum required number of work hour per week is found, the above objective function assure that those hours are utilised in such a way that maximises the benefit to the students and/or the staff.
Subject to:
Completeness Constraint: for each session type of each course, the required number of weekly hours should be allocated.(2)
Uniqueness constraint: each student, each lecturer/ tutor and each hall can have at most one course session at a time.(3)(4)(5)
In constraint 3, the studentcourse relation matrix (Y_{gc}) is used to calculate the number of course sessions that a student group has to attend in a given time slot. Similarly, the teachercourse relation matrix (Z_{lc}) is used in constraint 4 to avoid simultaneous session assignments for teachers.
Consecutiveness Constraint: consecutive time slots should be assigned depending on the required length of the sessions, E_{cs}.
If two consecutive time slots are required for session type s of course c (if E_{cs} = 2):(6)(7)(8)
Constraints 68 have been specified based on the fact that the lunch time will occur after the 4th time slot of each day (so the consecutive sessions should be either before or after lunch). Constraint 6 specifies that, if a session s of course c which has E_{cs} = 2 is allocated to the 1^{st} or 5^{th} time slot, then the next time slot (2nd or 6th) should also be allocated to the same session. If such a session is allocated to the 4th or 8th time slot, then the previous time slot should also be allocated to the same session (constraint 8). If such a session is allocated to any other time slot, then either the previous or the next time slot should also be allocated to the same session (constraint 7).
If three consecutive time slots are required for session type s of course c (if E_{cs} = 3):(9)(10)(11)(12)
For E_{cs} = 3, constraints 912 have been formulated based on the same concept discussed above. For example, constraint 9 specifies that, if a session s of course c which has E_{cs} = 3 is allocated to the 1^{st} or 5^{th} time slot, then the next two time slots should also be allocated to the same session.
If four consecutive time slots are required for session type s of course c (if E_{cs} = 4):(13)(14)(15)(16)
For E_{cs} = 4, above set of constraints (1316) have also been formulated based on the same concept discussed previously.
Since the courses offered by FAS usually have fixed length sessions (i.e., a course can have either 2hour lecture sessions or 3hour lecture sessions but not both), the consecutiveness constraint could be modeled in a simpler manner compared to previous work (Daskalaki et al., 2004) which allowed any split of weekly teaching hours as decided by the teachers. In this work, different sets of constraints were modeled based on the required length of the sessions, E_{cs}. Such conditional constraints can be easily modeled using looped IF functions in MS Excel.
Preassignment constraints: if a session s of course c is preassigned for time slot t of day d in hall h, the preassignment constraint can be given as:(17)
Certain courses such as English Language Proficiency have to be assigned to a given time slot of a given day as they are conducted by teachers from other faculties. If required, some preallocations can be made to reduce the size of the problem and thus the computational burden.
Binary constraint: all scheduling variables should be binary.(18)
Additional constraints
Completeness, uniqueness, consecutiveness, and preassignments are essential constraints usually included in any timetabling model. Additionally, there are some specific constraints applicable to the FAS timetabling problem.
For 4credit courses which require two 2hour lecture sessions per week, those two sessions should NOT be scheduled on the same day. Similarly some 4credit courses require two 3hour practical sessions per week which should not be scheduled on the same day. For such course sessions cs:(19)
For some courses, it is usually better if the lecture session and tutorial/practical session are scheduled in different weekdays. Otherwise a public holiday can have a significant impact on some courses. For such courses c:(20)
As a norm, FAS do not schedule more than one lecture session for any lecturer in either morning or afternoon sessions. Since the lecture sessions can be two or three hours long, this requirement can be formulated as below.(21)(22)
Since the lecture halls have limited capacity, the hall capacity constraint can be modeled as follows, but it is not required in this model because the variables are defined relative to feasible halls only as mentioned above.(23)
3.APPLICATION AND RESULTS
The proposed model was applied to generate Level I, levelII and LevelIII timetables of the second semester of 2014 academic year (SeptJan 2014) and compared with the timetables already prepared by the faculty office. The required data were obtained from student prospectus, existing timetables, student course registration details, and personal observations. The number of students, the number of subject combinations and the number of courses to be scheduled in this semester are summarized in Table 1. The number of subject combinations corresponds to the number of student groups to be considered (Figure 1).
Some laboratory practical sessions had to be scheduled 24 times a week due to resource limitations, and in such cases, the repetitive practical sessions were considered as different courses for different sets of student groups. After this expansion, altogether there were 22 levelIII courses, 21 levelII courses and 18 levelI courses in the conceptual model (Figure 2). English courses were assumed to be preassigned as in the current timetable. Eight 1hour time slots starting from 8.30 am in each week day were considered initially. As mentioned above, the benefit from assignments can be based on stu dent and teacher preferences, but in this illustration, assignments in the current timetable were considered as preferred assignments (with relatively larger values assigned for B_{cshdt}).
The IP model was coded on MS Excel and solved using an open source optimization program, OpenSolver (Mason, 2011) which is a free optimizer available as an Excel addin. The OpenSolver program has the Cbc (CoinOR branch and cut) solver which execute a branch and cut algorithm written in C++ to solve integer programming problems. In this timetabling model, Excel serves as frontend for the solver program. Unlike the Excel’s builtin solver, OpenSolver does not have any artificial limitations on the number of variables or constraints. Standard Excel formulas such as VLOOKUP and SUMIFS were extensively used in modeling the problem.
Initially the model was used to generate timetables for each level separately. The existing levelI timetable contained 36 coursework hours per week leaving Friday afternoon free. The model formulation for levelI contained 720 variables, and 1533 constraints. Given equal benefit values for all possible assignments, the model generated the timetable with 34 course hours, and several alternative optimal solutions were available. When a benefit value of 2 was given to current assignments against a benefit value of 1 for other possible assignments, the model generated exactly the current timetable (Figure 3). Since the levelI timetabling problem alone is simple and unbounded, it can be prepared manually. Hence in this work, the levelI timetabling problem was used just to validate the model.
The present levelII timetable was tight with 46 coursework hours per week starting from 7.30 am in most week days and ending at 6.30 pm on some week days (Figure 4). The levelII timetabling problem was formulated with 1320 variables and 2137 constraints. Initial results indicated that the problem was infeasible with 40 work hours per week and that at least 41 work hours are required to produce a feasible timetable with no overlaps for the students. The proposed model could assign all course sessions into time slots from 8.30 am to 5.30 pm, with just one additional hour as shown in Figure 5.
The existing levelIII timetable was even compact with 51 coursework hours per week scheduled from 7.30 am to 7.30 pm most weekdays (Figure 6). The main objective was to reduce the number of work hours. Since the number of students in each group and in each course is relatively small, all lecture halls other than LR7 and MH (which are usually allocated for levelII and levelI teaching sessions respectively) were considered to enable as many as possible parallel assignments. The formulation contained 4280 variables and 6461 constraints. Again the problem was infeasible with a 40 hour week. After some relaxations, it was observed that at least 43 work hours per week are required to generate a feasible timetable. When three course sessions were preassigned to three additional hours, the model could assign all the remaining teaching sessions to time slots from 8.30 am to 5.30 pm (Figure 7).
Since more than two parallel sessions are not scheduled owing to student overlaps, the levelIII timetabling model was refined considering only two lecture halls, LR4 and LR8. These two halls have sufficient capacity for any levelIII course. Then the model contained only 2720 variables and 3521 constraints, and it generated the same result with only the locations changed. The usefulness of a computer based optimization model was clearly visible in this case, as it reduced the number of weekly work hours from 51 to 43. This is a significant saving of eight work hour per week, which is equivalent to a saving of a whole work day.
Finally, the proposed IP model was applied to generate the whole faculty timetable for levels I, II, and III simultaneously. The model then consisted of 61 courses requiring 180 teaching hours. All available lecture halls and laboratories were considered. When the timetabling problem was formulated separately for each level, the teacher overlap constraint was redundant because the student overlap constraint was sufficient to avoid parallel assignment of courses from the same subject stream. But for the generalized whole faculty timetabling problem, the teacher overlap constraint was required. Thus the number of constraints increased to 10,437 while the number of variables still remained economical at 6720. As expected, the model results indicated that at least 43 work hours are required to produce a feasible timetable. The generated timetable is shown in Figure 8. Again the proposed model could reduce a tight 7.30 am to 7.30 pm timetable to 7.30/8.30 am to 5.30 pm enabling the students to attend sports practice and other extracurricular activities after 5.30 in all week days and before 8.30 in some weekdays. Overtime payments are also minimized.
The outcomes of the optimization indicate that student overlap is the binding factor in FAS timetabling, and both hall availability and teacher overlaps are not significant. In any time slot, only a maximum of five course sessions are scheduled in parallel leaving the majority of lecture halls and laboratories unoccupied. Owing to student overlaps, only a maximum of one course from one subject stream and one level of study can be scheduled in any time slot (for example, two levelII CMIS courses cannot be scheduled in parallel). The timetables for levels I, II, and III can be solved separately to reduce the model size thereby simplifying the models and increasing the speed of solving, but some manual adjustments are required to eliminate possible teacher overlaps. However, when levelIV courses are also included (particularly in semester 1), about 80 courses will have to be scheduled and then the hall and teacher overlaps can have a significant impact on scheduling. When the practical sessions are divided into several student groups, the grouping criteria have an impact on scheduling. The model can be further developed to find the optimal way of grouping (for practical sessions) so as to minimize scheduling conflicts.
The calculation time varied from few seconds to half an hour depending on the size of the problem, however if SolverStudio, which is the successor of OpenSolver, was used instead, even the largest model could have been solved faster. SolverStudio is also a free Excel addin which provides access to other modeling tools such as AMPL and PuLP.
4.DISCUSSION AND CONCLUSIONS
An IP model has been proposed for a case study of university timetabling. The model generated timetables appears to be more efficient and compact compared to existing timetables. The model was useful to identify factors which bind the timetabling problem and possible simplifications. For example, it was observed that student overlaps occurring from the presence of several optional courses (i.e., the students can take optional courses from nonmajor subject areas) have complicated the timetabling process and that the resource constraints (lecture halls and laboratories) were redundant.
The statistics of the timetabling problems and associated IP models discussed above are summarized in Table 2. To evaluate the efficiency of the proposed modeling approach, the problem sizes and model sizes were compared with those of a relatively similar case study reported in Daskalaki et al. (2004). The whole faculty timetabling problem discussed in this work is comparable to Problem 2 of Daskalaki et al. in terms of both the number courses and the number of teaching hours required. Still, the number of variables and constraints used to model the whole faculty timetabling problem are respectively a half of the number of variables and eighty percent of the number of constraints used to model Problem 2 of Dalskalaki et al. (2004).
While the model size (relative to the problem size) provides a good indication of modeling efficiency, computational time is the key factor which determines the efficiency of the solution algorithm. The above optimal solutions have been obtained using the Cbc solver algo rithm (in OpenSolver), and a new solution algorithm has not been developed so far to solve the FAS timetabling problem. Hence, the computational time (obtained with an available algorithm) was not compared with that of other proposed solution algorithms for timetabling problems. This paper focuses on modeling and solving the problems using an available solver algorithm. The next stage of this study is to use SolverStudio which has more advanced solver algorithms. A new customized solution algorithms will be required only if the available algorithms appears to be inefficient.
Some specific features of the FAS timetabling problems (for ex., fixedlength lecture sessions) have played a favorable role in reducing the model size, and therefore the modeling efficiency also cannot be guaranteed in all other situations. Still, the use of a relation matrix may be more appropriate in modeling other timetabling problems and can be tested with standards datasets.
The primary focus of the work was to develop a manageable IP model of a complicated university timetabling problem. Owing to the presence of students studying a wide variety of subject combinations, generating a feasible timetable was the main challenge faced. Therefore, the student and teacher preferences were not considered in applying the models. However, the preferences and even other objective criteria such as the work load distribution over the week and utilization of resources can be considered as the objective criteria in the optimization model.
In general, the results generated from the model show that such computerized timetabling models can produce more efficient timetables meeting complicated requirements. The tools used, namely MS Excel and Open Solver were very productive for modeling and solving such problems. The programming capability of MS Excel with VBA enabled automated generation of customized sets of variables based on specified requirements. Standard Excel formulas were particularly useful in modeling different sets of constraints for different parameter values. Since MS Excel serves as a userfriendly and familiar interface, once the IP model is developed, no expert knowledge is required to use the model to generate timetables for different scenarios. The IP model can be further adopted to incorporate other requirements and to apply for similar scheduling problems.