You are on page 1of 6

A Two Phase Integer Linear Programming Approach to Solving the School Timetable Problem

Samir Ribi, Samim Konjicija University of Sarajevo , Faculty of Electrical Engineering Sarajevo, Bosnia and Herzegovina samir.ribic@etf.unsa.ba, samim.konjicija@etf.unsa.ba

Abstract. In this paper, we propose one model


for high school timetable generation, which uses two-phase linear integer programming to solve the problem. This reduces the required computation time, by decomposing the problem to determine the day and then, in the second phase, to generate a daily schedule. The approach was demonstrated on a test problem, and the results for various settings of the model parameters are presented.

optimal solution to the original problem, due to the numerical efficiency these approaches are very attractive to practical application. This paper presents the two-phase approach to modeling the timetable problem. During the first phase, the classes are allocated to days of week, and during the second phase, each class in a day are allocated into time slots.

2. The Variable Space and its Reduction


The lesson can be defined as ordered sextuple (c,i,r,n,s,t), with meaning of indexes given in first seven rows of Table 1.
Table 1. The Meaning of the Symbols

Keywords: timetabling; integer programming. 1. Introduction


The school timetable problem represents a combinatorial optimization problem, where the sequence of lessons has to be scheduled among teachers and classes in certain period of time, satisfying a set of various constraints [1]. This problem belongs to the group of NP hard and NP complete problems. Due to the complexity of the problem, various algorithms have been used for solving school timetable problems. The integer linear programming is not a new method for solving timetable problems. The papers on this topic date back to 1969 [6]. However, the approach was temporarily abandoned, due to low capabilities of the computers used in that time. Recently, linear programming and even integer linear programming problems with thousands of variables are no longer considered as large problems, so this approach gains the interest again [10]. In addition to linear and integer programming, many heuristic algorithms have been applied to solve different variants of timetable problems, such as heuristic local search [3], taboo search [2], genetic algorithms [8] and memetic algorithms [4]. Due to huge space searched, a decomposition of the original problem into tractable smaller problems is a very common approach [7][9]. Although there is no proof that decomposed problems yield an

Variable c i r n s t Pcins, Pcrns, Pirns Gct, Git, Grt Fct, Fit, Frt D H Rn DM(c,t) DM(r,t) DM(i,t) P A Xc,i,r,n,s,t Kc,i,r,n,s,t

Meaning
Course index Instructor index Room index Index of a weekly lesson for course Course subject index Time slot available for this course Set of allowed quadruples of indexes Set of allowed pairs of indexes Set of forbidden index combinations Set of working days Set of time slots inside working day Number of rooms Maximal number of the lessons for the class c held in the day t maximal number of the lessons held in the room r during the day t Maximal number of the lessons for the teacher i held in the day t Set of allowed quintuples (c,i,r,n,s) Set of allowed sextuples (c,i,r,n,s,t) Cartesian product A=PD or A=PH Binary variable associated with a specific sextuple (c,i,r,n,s,t) from the set A Weighting factor in the objective function indicating the chance that the lesson occur in a specific time slot.

Each sextuple can be linked with a variable Xc,i,r,n,s,t. This variable can have values 1

651
Proceedings of the ITI 2010 32 Int. Conf. on Information Technology Interfaces, June 21-24, 2010, Cavtat, Croatia
nd

(meaning that the course with those attributes occurs in this time slot) or 0 (it does not occur in this time slot). If we take as an example a school with 20 classes, 22 courses, 33 teachers, 21 rooms, about 2 lessons per week for each course and 35 time slots, there are 20223321235=21344400 variables. This is a huge number. However, the full search space is much larger. There are 221344400 possible combinations of the binary variables. Fortunately, there is no need to make full Cartesian product of those six sets. One teacher usually teaches only one course or small group of the specific courses, which are assigned to the class. Finally, unlike universities, a high school usually has some relationship between class and room or between teacher and room. This means that the number of binary variables is about cwt. Here, w means average number of all the lessons held in one class per week, c is number of classes and t is number of time slots. For c=20, w=30, t=35, we have 21000 binary variables. Such approach is used in the model presented in the paper [5]. This model keeps the teacher-class pairs as Boolean variables.

day, which is more desirable for the university timetable, but less desirable for the high school timetable. The approach in [7] suggests even four phases, based on a graph coloring and taboo search: Constructing the cluster schemes, assigning lessons to day-parts, scheduling the day-parts and improving the schedule. In [11] the first phase is about room determination using integer programming, while the second phase uses a genetic algorithm.

4. The Proposed Two Phase Model


Now, the hard and soft constraints are modeled with the symbols defined in the Table 1.

4.1. Hard Constraints


During the day determination phase, for each allowed c,i,r,s,n combination, there is an equation: X c,i,r,n,s,t = 1, (c,i, r, n, s ) P, (1)

tD

During the daily schedule phase, for each allowed c,i,r,s,n combination, there is an equation: X c,i,r,n,s,t = 1, (c,i, r, n, s ) P (2)

tH

3. Two Phase and Multiphase Model Researchs


If we reduce a number of the time slots, we will reduce further the complexity of the problem. A typical school week contains five working days. So, we can reduce the problem complexity by initial restricting to five time slots. These time slots determine which courses will be held in a specific day of a week. For example, if we assign some course to the time slot 2, this means that this course will be held on Tuesday, without mentioning the specific time. For c=20, w=30, t=5, we have 3000 variables. After we assign the lessons to some specific day, we can find the time slots inside this day. For each day the parameters are about c=20, w=7, t=7, so there are about 980 variables. This is still a large search space, but the branching methods in integer linear programming can cope with it. Multiphase approaches were researched recently. The paper [9] proposes two phased approach for university time tabling, similar to the approach given here: first to determine the day, including the lesson clusters, the second phase for the fine tuning inside the day. However, the first phase of the model in [9] is focused on concentrating the same course in one

Equations (1) and (2) mean that the lesson can be assigned to one and only one time slot. The following three constraints occur only in the day determination phase. One class, teacher or room cannot have more lessons per day than the number of available time slots. For each combination of the day t and the class c, there is an inequality: X c,i,r,n,s,t DM (c,t ),(c,t ) Gct (3)
(i,r,n,s )Pirns

For each combination of the day t and the teacher i, there is an inequality:
(c,r,n,s )Pcrns

c,i,r,n,s,t

DM (i,t ), (i, t ) Git (4)

For each combination of the day t and the classroom r, there is an inequality: X c,i,r,n,s,t DM (r,t ), (r, t ) Grt (5)
(c,i,n,s )Pcins

The following three constraints occur only in the daily schedule phase. One class, teacher or room can hold maximally one lesson per time slot. For each combination of the teacher i and the time slot t assigned for this day there is an inequality: X c,i,r,n,s,t 1, (i,t ) Git (6)
(c,r,n,s )Pcrns

652

For each combination of the class c and the time slot t assigned for this day there is an inequality: X c,i,r,n,s,t 1, (c,t ) Gct (7)
(i,r,n,s )Pirns

For each combination of the classroom r and the time slot t assigned for this day there is an inequality: X c,i,r,n,s,t 1, (r, t ) Grt (8)
(c,i,n,s )Pcins

It can be argued that the hard constraints (6) (7) and (8) are not always established. For example, if the class is divided into two groups where the first group visits the French course and the second group visits the Russian course, those courses can be held in a same time. Similarly, it is possible to join multiple classes together, for example, during some sport activities. To model this kind of constraints, we can introduce new classes representing the groups. The group cannot have the course in the same time with the main class. We can make pairs of conflicting classes. During the day determination phase, for each conflict classes combination, c1 and c2 and the time slot t assigned for this day, there is an inequality:
(i,r,n,s )Pirns

building, for example in some company. To simplify the timetable, we can exclude those (usually predetermined) time slots from the timetable generation. During the day determination phase, in equation set (3), we need to subtract the number of time slots when the class is not included in the timetable from the value of DM. During the daily schedule generation, for each combination of class c and forbidden time slot t there is an equation: X c,i,r,n,s,t = 0, (c,t ) Fct (12)
(i,r,n,s )Pirns

Sometimes the teacher can not teach in some time slots. To satisfy this kind of constraints, during the day determination phase, the value of DM in equations (4) is reduced by a number of time slots when the teacher is not available. During the daily schedule generation, for each combination of teacher i and forbidden time slot t there is an equation:
(c,r,n,s )Pcrns

c,i,r,n,s,t

= 0, (i,t ) Fit (13)

c1,i,r,n,s,t

(c2,t ) Gct , (c1,t )Gct MM = min(DM(c1, t ), DM(c2,t))

(i,r,n,s )Pirns

c 2,i,r,n,s,t

MM
(9).

During the daily schedule phase, for each conflict classes combination, c1 and c2 and the time slot t assigned for this day, there is an inequality:
(i,r,n,s Pirns

X )

c1,i,r,n,s,t

(c2,t ) Gct , (c1,t ) Gct

(i,r,n,s Pirns

X )

c 2 ,i,r,n,s,t

1,
(10)

Most commonly, the elementary and high schools have classroom dedicated to either class or course, or some combination of those two models. However, there are some schools where the classrooms are not dedicated. In this case, the timetable program needs also to determine the rooms. There are several approaches to include this kind of constraints. The first approach is to omit constraints from (5), (8) and (11) and to replace them with the constraints that limit the number of lessons held in a same time. During the day determination phase, for each day t we have the equation:
(c,i,r,n,s )P

c,i,r,n,s,t

DM (c,t ),t D (14)


c=1

Rn

It is possible that the room is not available for some time slots. For example, the school lends a gymnasium to a local sport club once per week. To satisfy such a kind of constraints, during the day determination phase, the value of DM in equations (5) is reduced by a number of time slots when the room is not available. During the daily schedule generation, for each combination of classroom r and forbidden time slot t there is an equation:
(c,i,n,s )Pcins

During the daily schedule generation we have, for each time slot t we have the equation: X c,i,r,n,s,t Rn ,t H (15)
(c,i,r,n,s )P

c,i,r,n,s,t

= 0, (r,t ) Frt (11)

In many schools, it is often the case that some lessons are organized outside main school

The disadvantage of the first approach is that we need later to assign the rooms manually. For the automatic room assignment, it is possible to use another approach. Unfortunately, this approach highly increases the number of possible variables, and slows down the solving. If the lesson can be held in any of k classrooms during any t time slots, we need kt variables representing this lesson. As shown in [11], it is possible to reduce the complexity of the problem, if we need to assign

653

the rooms as well. This (third) approach uses two phases as well, but the first phase is solely used for the room assignment. During the second phase, we assign the time slots. This approach is applicable here, although there will be three phases: room determination, day determination and time slot assignments. The most difficult hard constraint to implement is a situation when some class has a combination of different groups, due to elective courses. For example 30% of the class learns German as first foreign language, and the remaining 70% learns English. In the same class, 60% of the students visit religion courses, while 40% of the students choose the ethic course. The computer lab capacity requires that the students be divided into two groups. All the groups may overlap. Furthermore, the students from different classes who learn German, will be joined together only during the German courses. German language group can not have lessons in a same time with a whole class, group who listen religion, group who listen ethic, and both computer lab groups. If tracking all possibly overlapping groups becomes too complex, the easier solution is to predetermine manually the time slots for such special cases, and exclude them from the timetable calculation, using the equation set (11).

4.2 The Objective Function


After the hard constraints are defined, we need to define the objective function. The objective function is a base for the soft constraints, which are desirable, but not mandatory. In the both phases, the objective function is to maximize: K c,i,r,n,s,t X c,i,r,n,s,t (16)
(c,i,r,n,s,t ) A

The choice of the Kc,i,r,n,s,t coefficients depends on soft constraints. The higher coefficient Kc,i,r,n,s,t increases the possibility that the variable Xc,i,r,n,s,t has value 1.

4.3 Soft Constraints


A time window is a situation when a class (or teacher) has some subsequent lessons, then a period without assigned time slots, and then again, the lessons. Such situation is very undesirable waste of time. It is possible to minimize, even to avoid, the time windows for the classes using the following strategy:

Reduce DM in equations (3) (for classes) to the exact value required to hold all the lessons, but no more. Reduce DM in equations (4) to the value required to hold all the lessons, increased by about 50%, to make the timetable feasible. In the objective functions for each day make the coefficients that give an advantage to the earlier time slots. For example, if we have 7 time slots daily, all the lessons in the first time slot will have coefficient value of 70, while the lessons in the seventh time slot will have zero coefficient value. Some teachers prefer to teach in the earlier time slots, or in some days of the week. Increasing the coefficients in the objective functions which state that this teacher teaches in a specific time slot can satisfy this constraint. As teachers have sparser ratio between weekly lessons and available time slots, they are more likely to have time windows than classes. One solution is to find the time windows, then change the model by adding some soft constraints, which force the teacher to teach in a period, which is a time window. To avoid having the same course twice a day we need course balancing. This can be done in the objective function of the day determination phase. To make the timetable more feasible and fair, it is recommended to spread the lessons of the different classes and courses in different ways. For example, we can put higher coefficients for Physics course in the class Ia to be held on Monday and Wednesday, while in the class Id it will be held on Tuesday and Wednesday. Although the constraint from the previous paragraph tries to avoid having the same course twice in a day, it can happen. In this case, it is recommended to have those two lessons in a sequence. This is achievable by forcing the coefficients of the daily timetables objective functions to set the lessons to be held subsequently. The approach in [9] defines this as hard constraints. Some courses, especially practical ones, prefer having lesson clusters, rather than lesson balancing. In this case, the objective function in the day determination phase needs to be changed, to set the coefficients of the course to force their occurrence on the same day.

654

4.4 Example Equations


To illustrate the equations, we will assume one simplified case with three classes, two days in a week, three time slots per day, two rooms, three teachers, two standard courses and one elective course.
Table 2. Number of lessons per week
Ia Ib Ic G1 (room (room (room (room A1) A2) A1) A2)

Gauss 2 1

Newton

1 1

Zola 1 2 1

The days are Monday and Tuesday. The time slots are called M1, M2, M3 (exist only during Monday calculation), T1, T2 and T3 (exist only during Tuesday calculation). The teachers are called Gauss, Newton and Zola. Gauss and Newton teach mathematics. Zola teaches French. The classes are called Ia, Ib and Ic. Newton teaches an elective course of Physics visited by joined group of the students from Ia and Ib. This group is called G1. The rooms are called A1 and A2. Room A1 is not available during the first time slot of Monday. The number of lessons per week is given in the Table 2. For example Gauss teaches to Ia twice a week.
GaMaIaA1L1M+GaMaIaA1L1T=1 (1) GaMaIaA1L2M+GaMaIaA1L2T=1 (1) GaMaIbA2L1T+GaMaIbA2L1M=1 (1) NeMaIcA1L1M+NeMaIcA1L1T=1 (1) NePhG1A2L1T+NePhG1A2L1M=1 (1) ZoFrIaA1L1M+ZoFrIaA1L1T=1 (1) ZoFrIbA2L1T+ZoFrIbA2L1M=1 (1) ZoFrIbA2L2T+ZoFrIbA2L2M=1 (1) ZoFrIcA1L1M+ZoFrIcA1L1T=1 (1) ZoFrIaA1L1M+GaMaIaA1L2M+ +GaMaIaA1L1M3 (3) ZoFrIaA1L1T+GaMaIaA1L2T+ +GaMaIaA1L1T3 (3) ZoFrIbA2L2M+ZoFrIbA2L1M+ +GaMaIbA2L1M3 (3) ZoFrIbA2L2T+ZoFrIbA2L1T+ +GaMaIbA2L1T3 (3) ZoFrIcA1L1M+NeMaIcA1L1M3 (3) ZoFrIcA1L1T+NeMaIcA1L1T3 (3) NePhG1A2L1M3 (3) NePhG1A2L1T3 (3) ZoFrIcA1L1M+ZoFrIaA1L1M+ NeMaIcA1L1M+GaMaIaA1L2M+ +GaMaIaA1L1M2 (5) (11) ZoFrIcA1L1T+NeMaIcA1L1T+ +GaMaIaA1L1T+GaMaIaA1L2T+ +ZoFrIaA1L1T3(5) ZoFrIbA2L2M+NePhG1A2L1M+ +GaMaIbA2L1M+ZoFrIbA2L1M3 (5) ZoFrIbA2L2T+NePhG1A2L1T+ GaMaIbA2L1T+ZoFrIbA2L1T3 (5) GaMaIbA2L1M+GaMaIaA1L1M+ +GaMaIaA1L2M3 (4) GaMaIbA2L1T+GaMaIaA1L1T+ +GaMaIaA1L2T3 (4) NePhG1A2L1M+NeMaIcA1L1M3 (4) NePhG1A2L1T+NeMaIcA1L1T3 (4) ZoFrIcA1L1M+ZoFrIbA2L1M+ +ZoFrIaA1L1M+ZoFrIbA2L2M3 (4) ZoFrIcA1L1T+ZoFrIbA2L1T+ ZoFrIaA1L1T+ZoFrIbA2L2T3 (4) ZoFrIaA1L1M+GaMaIaA1L1M+ +NePhG1A2L1M+GaMaIaA1L2M3 (9) ZoFrIaA1L1T+GaMaIaA1L1T+ +NePhG1A2L1T+GaMaIaA1L2T3 (9) ZoFrIbA2L2M+GaMaIbA2L1M+ +NePhG1A2L1M+ZoFrIbA2L1M3 (9) ZoFrIbA2L2T+GaMaIbA2L1T+ +NePhG1A2L1T+ZoFrIbA2L1T3 (9) GaMaIaA1L2M1+GaMaIaA1L1M1=0(11) GaMaIaA1L1M3+GaMaIaA1L1M2+ GaMaIaA1L1M1=1 (2) NePhG1A2L1M1+NePhG1A2L1M3+ +NePhG1A2L1M2=1 (2) ZoFrIbA2L2M3+ZoFrIbA2L2M2+ +ZoFrIbA2L2M1=1 (2) ZoFrIaA1L1M3+ZoFrIaA1L1M2+ +ZoFrIaA1L1M1=1 (2) ZoFrIaA1L1M1+GaMaIaA1L1M11 (7) ZoFrIaA1L1M2+GaMaIaA1L1M21 (7) ZoFrIaA1L1M3+GaMaIaA1L1M31 (7) ZoFrIbA2L2M11 (7) ZoFrIbA2L2M21 (7) ZoFrIbA2L2M31 (7) NePhG1A2L1M11 (7) NePhG1A2L1M21 (7) NePhG1A2L1M31 (7) ZoFrIaA1L1M1+GaMaIaA1L1M11 (8) ZoFrIaA1L1M2+GaMaIaA1L1M21 (8) ZoFrIaA1L1M3+GaMaIaA1L1M31 (8) ZoFrIbA2L2M1+NePhG1A2L1M11 (8) ZoFrIbA2L2M2+NePhG1A2L1M21 (8) ZoFrIbA2L2M3+NePhG1A2L1M31 (8) GaMaIaA1L1M11 (6) GaMaIaA1L1M21 (6) GaMaIaA1L1M31 (6) NePhG1A2L1M11 (6) NePhG1A2L1M21 (6) NePhG1A2L1M31 (6) ZoFrIaA1L1M1+ZoFrIbA2L2M11 (6) ZoFrIaA1L1M1+ZoFrIbA2L2M21 (6) ZoFrIaA1L1M1+ZoFrIbA2L2M31 (6) ZoFrIaA1L1M1++NePhG1A2L1M1+ +GaMaIaA1L1M11 (10) ZoFrIaA1L1M2+NePhG1A2L1M2+ +GaMaIaA1L1M21 (10) ZoFrIaA1L1M3++NePhG1A2L1M3+ +GaMaIaA1L1M31 (10) ZoFrIbA2L2M1+NePhG1A2L1M11 (10) ZoFrIbA2L2M2+NePhG1A2L1M21 (10) ZoFrIbA2L2M3+NePhG1A2L1M31 (10)

To make the equations more readable we will give the descriptive names to the variables Xc,i,r,n,s,t. For example, if the variable with a name GaMaIaA1L1M has value of 1, this means that Gauss teaches mathematics to the class Ia, in a room A1, for a first time of the week on Monday To satisfy the hard constraints during the day determination phase, we have a set of equations given on the left side of Figure 1. The number in parentheses after the equation is a reference to the corresponding formula in chapter 4.1. If we want to satisfy some soft constraints, for example, to increase the chance that Gauss teaches to Ib on Monday, but to discourage Zola to teach Ic on Tuesday, the possible objective function (16) for the day determination phase can be: Y= 50GaIbA2MAC1T150 ZoIcA1FRC1T2

Now, after solving the integer programming problem, lets assume that the variables
GaMaIaA1L1M, ZoFrIaA1L1M, and ZoFrIbA2L2M are equal to NePhG1A2L1M

1. For Monday calculation, we have a set of equations on the right side of the Figure 1.

5. A Comparison of the Results


We implemented the equations in a C program with GLPK (GNU Linear Programming Kit Library). The program solves a relaxation by Simplex method, and then uses branch and cut algorithm branching per first variable. To see the speed difference over the model where all time slots are remarked together, we compared the same set of the hard constraints. To see the computation advantage of two phase integer linear programming model over single phase integer linear programming model, we used testing data shown in Table 3. The courses and number of their weekly lessons are taken from one typical Croatian secondary school, except first two columns, which are taken from the example in chapter 4. The coefficients of the objective function used for the test are
30*(n==1)+40*(n==2)+50*(n==3)+40*(n= =4)+30*(n==5)+20*(n==6)+10*(n==7)+c+ 100*(w==1), where n=time slot in a day for the

Figure 1. Equation sets, 1 phase & Monday

st

coefficient in the objective function, c=random number between 0 and 4, w=1 if teacher explicitly wants to teach in this time slot. Such objective function reduces number of class time windows. From the Table 3 we see a big difference in execution speed between single pass and two-phase approach, while the solution quality remains similar (in a terms of students

655

time windows, instructor time windows and satisfied wishes for teaching in a specific time).
Table 3: Test Results
Testing hardware Test number Classes Teachers Courses Rooms Number of days Time slots / day Total lessons Phase approach Tolerance level Teacher wishes Solving time Class time windows Teacher time windows Satisfied wishes 2 MHz, AMD Athlon 64, 1G RAM, Windows Vista 1 2 3 4 5 6 4 4 8 8 20 20 3 3 19 19 33 33 3 3 20 20 22 22 2 2 9 9 21 21 2 2 5 5 5 5 3 3 7 7 7 7 9 9 243 243 611 611 Single Two Single Two Single Two 0.1% 0.1% 0.1% 0.1% 0.5% 0.5% 0 0 65 65 0 0 0.007s 0.006s 6m49s 0.45s 1h10m25s 2.6s 0 1 0 1 0 0 1 N/A 1 N/A 42 57 45 53 103 N/A 91 N/A 7 20 33 22 21 5 7 611 Single 0.1% 105 8 20 33 22 21 5 7 611 Two 0.1% 105

8. References
[1] A. Schaerf: "A Survey of Automated Timetabling", Articial Intelligence Review, 13(2), 1999 [2] A. Schaerf: "Tabu Search Techniques for Large High-School Time-Tabling Problems", In Proceedings of the 13th National Conference on Articial Intelligence and the 8th Innovative Applications of Articial Intelligence Conference, 1996 [3] C. Meyers, J. B. Orlin: "Very Large-Scale Neighborhood Search Techniques in Timetabling Problems", Technical Report, NSF Grant DMI-0217123, MIT, 2007 [4] E. zcan, A. Alkan: "A Memetic Algorithm for Solving a Timetabling Problem: An Incremental Strategy", MISTA 2007. [5] G. R. Filho, L. A. Lorena, An Integer Programming Model for the School Timetabling Problem, XIII Congreso Latino-Iberoamericano de Investigacin Operativa - Montevideo, Uruguay, 2006. [6] N. L. Lawrie An integer linear programming model of a school time tabling problem, The Computer Journal 12 (1969). [7] P. Haan, R. Landman, G. Post, H. Ruizenaar, A Four-phase Approach to a Timetabling, Problem in Secondary Schools, Proceedings of the 6th International Conference on the Practice and Theory of Automated Timetabling, 30 Aug 01 Sept 2006, Brno, The Czech Republic. (2006). [8] P. Wilke, M. Grbner, N. Oster: "A Hybrid Genetic Algorithm for School Timetabling", In: AI 2002: McKay B. and Slaney J. (eds.): Advances in Articial Intelligence. Springer Lecture Notes in Computer Science, Vol. 2557. Springer-Verlag, New York, 2002. [9] S. Daskalaki, T. Birbas, Efficient solutions for a university timetabling problem through integer programming, in European Journal of Operational Research, 160(1), 2005. [10] S. Daskalaki,T. Birbas, E. Housos: An integer programming formulation for a case study in university timetabling, European journal of operational research, 153 (2004). [11] S. K. Mirrazavi, S.J. Mardle, M Tamiz: A two-phase multiple objective approach to university timetabling utilising optimisation and evolutionary solution methodologies, Journal of the Operational Research Society, Vol 54, No 11, Nov.2003.

1h12m04s 2.8s 0 0 101 100 84 90

6. Usability in other approaches


The described two-phase approach to solving the school timetable problem is very attractive, due to fast finding of the solution, as given in the previous section. This suggests at least two directions for a further improvement of the described approach. The first direction regards to find global optimum in the search space of the original problem. Although there is no warranty that the solution acquired using the two-phase approach yields global optimum, it is possible to solve the decomposed problem repeatedly, with new soft constraints, and to choose the best solution out of the set of the acquired ones. Another direction regards incorporating the two-phase approach into other, in the first place heuristic, algorithms. It is straightforward to use some higher-level algorithm, such as the genetic algorithm or evolutionary strategy, to adjust the coefficients of the objective function, before solving the integer linear programming problem.

7. Conclusion
The paper described the two-phase approach to solving the school timetable problem. The original problem was decomposed into the problem of allocating the lesson to certain day, and the problem of finding the time slot in the determined day. The experimental results demonstrated the numerical efficiency of the two-phase approach, in comparison to solving the original problem. Due to much shorter execution times, it is acceptable to rerun the search multiple times, with modified objective functions, in order to find the better schedule.

656

You might also like