Using Genetic Algorithms to Solve the South African School ...

Report 3 Downloads 101 Views
2010 Second World Congress on Nature and Biologically Inspired Computing Dec. 15-17,2010 in Kitakyushu, Fukuoka, Japan

Using Genetic Algorithms to Solve the South African School Timetabling Problem

Rushil Raghavjee

Nelishia Pillay

School of Information Systems

School of Computer Science

University ofKwaZulu-Natal

University ofKwaZulu-Natal

Pietermaritzburg, South Africa

Pietermaritzburg, South Africa

[email protected]

[email protected]

Abstract- The study presented in this paper applies a genetic algorithm to solve the school timetabling problem for a South

II.

African primary school and high school. The overall algorithm makes use of domain knowledge in the form of low-level heuristics to guide the search. The genetic algorithm employed to solve the problems uses tournament selection and mutation

The school timetabling problem essentially involves assigning class, teacher and room tuples to timetabling slots, a required number of times, so as to satisfy the hard constraints of the problem, and minimize the soft constraints violated [2]. The hard constraints of the problem must be met in order for a timetable to be feasible. Examples of hard constraints include all class-teacher meetings must be scheduled, no class or teacher must be scheduled more than once in a slot, classes in certain grades may need to be split and regrouped for certain lessons, e.g. different languages. The soft constraints of the problem represent characteristics that we would like the timetable to possess, however if these constraints are not met the timetable will still be feasible.

operators for the purposes of parent selection and recreation respectively. The algorithm has produced a better quality timetable for the high school problem than that generated by a previous genetic algorithm used to solve this problem. Furthermore, the genetic algorithm has induced a timetable for the primary school that is of better quality than the timetable produced by the system currently used by the school. Keywords-school timetabling; genetic algorithms

I.

The aim is to minimize the soft constraint cost and this cost is a measure of the quality of the timetable. Typical soft

INTRODUCTION

The school timetabling problem varies drastically from country to country [1]. This paper focuses on solving the

constraints for the school timetabling problem include class or teacher preferences. For example, teachers may wish to

school timetabling problem for South African schools. The educational system employed in South Africa divides the schooling grades into primary school and high school.

teach in certain periods or it may be preferable to have certain lessons in particular periods, e.g. mathematics in the morning. The defmition of the problem and the constraints vary from one problem to the next ([1], [2]). A detailed account of the variation in problems in terms of defmition, hard and soft constraints can be found in [2]. Various methods have been used to solve different school timetabling problems. These include simulated annealing ([3], [4] and [5]), tabu search ([6], [7] and [8), neural networks ([9], [10] and [11]), integer programming ([12], [13] and [14]), constraint programming [15], tiling

Generally a primary school education covers grades 1 to 7 and high school grades 8 to 12. The study presented in the paper uses genetic algorithms to solve a South African primary and high school problem. The genetic algorithms were found to produce timetables of comparative quality to that generated by the current systems used by the schools. The timetable produced for the high school was of a better quality than that induced by a genetic algorithm previously applied to this problem. Furthermore, the timetable evolved for the primary school met all timetabling requirements without violating any of the constraints. Thus, the main contribution of this paper is a genetic algorithm that provides a solution to the South African school timetabling problem. The following section provides an overview of the school timetabling domain. Section 3 describes previous work employing genetic algorithms to solve the school timetabling

algorithms [16], GRASP [17], column generation [18] and clustering methods [19]. New algorithms have also been developed for solving the school timetabling problem such as the "walk up jump down" hybrid algorithm created by Wilke andKiller for school timetabling [20]. This study focuses on genetic algorithms and the following section examines previous work using genetic algorithms to solve the school timetabling problem.

problem. The genetic algorithm implemented and the South African primary and high school problems it was used to

III.

solve are presented in section 4 and section 5 respectively. The methodology employed to evaluate the GA in solving these problems is specified in section 6. Section 7 discusses the performance of the GA in solving these problems. A summary of the findings of the study and future extensions of this work are described in section 8.

978-1-4244-7376-2/10/$26.00 © 2010 IEEE

THE SCHOOL TIMETABLING PROBLEM

GENETIC ALGORITHMS AND SCHOOL TIMETABLING

Genetic algorithms mimic Darwin's theory of evolution and as such attempt to iteratively refme a population of potential solutions to a problem. A number of studies have examined using genetic algorithms as a means of solving the school timetabling problem. Abramson and Abela [21] use a parallel genetic algorithm to induce solutions to a set of generated school timetabling problems. The mutation and

286

evaluated, parents are selected and the mutation operator is applied to the chosen parents to create the offspring of each

crossover operators are used for recreation. Caldeira and Ross [22] solve a small generated school timetabling problem using genetic algorithms. The genetic algorithm is used to improve the quality of an initial population of timetables, each of which was constructed using an

generation. These processes are described for both phases in the sections that follow. A.

initialization procedure. Roulette-wheel selection is used to choose parents and the reproduction, mutation and crossover operators are applied to the chosen parents to produce the offspring of each generation. Filho and Lorena [23] use a constructive genetic algorithm to solve the school timetabling problem for two Brazilian high schools. The

Initial Population Generation Timetables are represented directly and each element of

the population is a matrix with the rows corresponding to periods, and the columns to classes.

the class during the particular period. An example is

offspring of each generation are created using mutation and

illustrated in Figure 2. By construction there cannot be any

recombination. Wilke, Grobner and Oster [24] implement a genetic algorithm to solve the German school timetabling problem. Roulette-wheel selection is used in combination

class clashes, i.e. a class cannot be scheduled more than once in a period.

In the example teacher Tl teaches class

C2 in period 1. Note that in period 2 class Cl and C2 are

with an elitist strategy to choose parents. Offspring are created using mutation, crossover and hybrid operators. A parameter reconfiguration step is performed if there is no improvement in offspring fitness. Raghavjee and Pillay [25] apply a genetic algorithm to solve the five "hard" timetabling problems made available by Smith, Abramson and Duke

split and then regrouped.

Thus, there are two teachers

allocated for period 2 for both the classes. Teacher T7 teachers one group and teacher T4 the other group. This is an example of a class split and regrouping such as in the case of teaching different languages. This will be referred to as a multiple class. Standard classes that are not split will be

[10]. An initial population, created using a sequential construction method employing the largest degree heuristic, is iteratively refmed by means of tournament selection and mutation. Raghavjee and Pillay have used a variation of this genetic approach [26] to solve the Greek high school timetabling problem [27]. A two-phased approach is taken to solving the problem. The first phase uses a genetic algorithm to evolve feasible solutions. The quality of the feasible solutions is further improved by a genetic algorithm in the

called

single classes.

PI

CI

C2

T2

TI

. . .

. . .

P2

T7,T4

T7,T4 . . .

second phase. IV.

The intersection of

each row and column contains the teacher that will be taking

P3

T2

T3 . . . .

A GENETIC ALGORITHM FOR THE SCHOOL TIMETABLING PROBLEM

. . .

The genetic algorithm implemented to solve the South African school timetabling problem is similar to that employed by Raghavjee and Pillay [26] in that a two-phase approach, each implementing a genetic algorithm, is used to solve the school timetabling problem. The first phase focuses on producing feasible timetables while the second phase improves the quality of the timetables found during the first phase. The genetic algorithm employed in both phases is depicted in Figure 1.

. . .

. . . .

. . . .

Figure 2. An example of an element of the population A sequential construction method (SCM) is used to create the initial popUlation of the GA for the first phase. The SCM creates a population of m individuals and the fittest of the m individuals is copied into the initial population of the GA. The SCM is implemented to create each element of the initial popUlation. The value of m is problem dependent and is thus a genetic parameter. During SCM each timetable is constructed by allocating each class-teacher tuple in the list

Create an initial population

of requirements, i.e. class-teacher meetings, to a specific period. Domain knowledge, in the form of low-level heuristics,

Repeat Evaluate the population Select parents using a variation of tournament

is used to assess the difficulty of scheduling a tuple.

selection

The

tuples are sorted in descending order according to difficulty

Apply mutation to the selected parents

and allocated in order. The following low-level heuristics and combinations of heuristics were tested for the primary and high school timetabling problems:

Until a preset number of generations is completed

Figure 1. The genetic algorithm employed in both phases



As can be seen from Figure 1 the genetic algorithm follows the generational control model with distinct generations. An initial population is created in the first generation. During each generation the popUlation is

287

Class split degree heuristic - This heuristic gives class-teacher tuples with classes involved in splits priority.











to be more effective. This algorithm differs from the

Consecutive period degree - Tuples requITIng consecutive periods, i.e. doubles or triples, are given priority.

standard tournament selection in that the fittest individual in the tournament may not be returned.

Saturation degree - The saturation degree is the number of feasible periods that the tuple can be allocated to in the timetable that has been constructed up until that point. Tuples with a lower saturation degree are given priority

procedure tournament_selection begin winner

Teacher split degree -This heuristic is the number of teacher split requirements for the teacher involved in the tuple.

for

--+

randomly choose an individual

2 to t

current

--+

randomly choose an individual

if (random number mod 3

Session priority - Tuples that have to be scheduled in a particular session, e.g. Mathematics in the morning, are given priority.

==

0)

if current is fitter than winner winner

--+

current

else if (random number mod 3

Class-teacher degree - Tuples with a higher number

==

1)

winner is not changed

of meetings, i.e. number of lessons that a teacher has to teach a class a particular subject, are given priority.

else winner

--+

current

endfor return winner

For the primary school trial runs indicated that session priority should be used as a primary key, followed by split degree, saturation degree, consecutive period degree and class-teacher degree. In this case the tuples are firstly sorted

end

Figure 3. Variation of standard tournament selection

in descending order according to split degree. The ties are then sorted in ascending order according to saturation degree. If there are still ties remaining these are sorted according to consecutive period degree and so on. For the high school timetabling problem, the most effective combination proved to be using split degree as a primary key, saturation degree as a secondary key and teacher degree

C.

Mutation

Both algorithms use mutation operators to create the offspring of each generation. Trial runs were conducted to test various mutation operators and combinations of mutation operators. The following mutation operators were tested:

as a tertiary key.



Each tuple is allocated to the "minimum penalty" period. The minimum penalty period is identified by sorting all the feasible periods available for the tuple according to the resulting soft constraint cost of allocating the tuple to the current version of the timetable. The minimum penalty period, is the period with the lowest cost. If there is more

Simple mutation - The simple mutation operator firstly randomly chooses a cell involving a single class, another single class cell is chosen and the contents of both cells are swapped. The following example illustrates this process. Suppose that the parent selected is that illustrated in Figure 4.

The

fITst mutation point PI, C2 is randomly chosen.

than one feasible period with the lowest soft constraint cost, the period is randomly chosen from these lowest cost periods. If the problem does not have soft constraints, the tuple is allocated to a randomly chosen feasible period. The initial population of the fITst phase is iteratively refined for a set number g of generations. This value is a genetic parameter. Trial runs have indicated that all the elements of the last generation of the fITst phase contain feasible timetables. This last generation of the GA of the first phase forms the initial population of the GA of the

The second mutation point selected must involve a single class. In this example P3, C2 is chosen. The contents of both the cells are swapped to create an offspring. This is illustrated in Figure 5. Note that both the mutation points must be for the same class to ensure that the requirements of the problem are met. If the cell chosen forms part of a double period, both the cells involved in the double period must be swapped with another double period or two

second phase.

B.

--+

single periods.

Fitness Evaluation and Selection During the first phase the fitness of an individual is the

hard constraint cost of the timetable. The fitness in the second phase is the soft constraint cost of the timetable. The genetic algorithms of both phases aim at minimizing the fitness. During each generation of both genetic algorithms parents are chosen using a variation of tournament selection. Trial runs revealed that the standard tournament selection is too elitist. The variation illustrated in Figure 3 has proven

288

Cl PI

C2

T2

. . .

procedure mutation

T1

begin for -+ I to s

. . .

P2

T7, T4

Randomly choose between the single class hill

T7, T4

climber and simple mutation

. . .

P3

T2

Perform the mutation on the parent

T3

lithe parent is fitter than the offspring replace the parent with the offspring

. . . .

endfor . . .

. . .

. . . .

end . . . .

Figure 6. Algorithm for the mutation operator Figure 4. Parent: mutation involving single classes. The

following

section

describes

both

the

school

timetabling problems that the genetic algorithm was applied to. Cl PI

C2

T2

. . .

V.

T3

This section describes the school timetabling problem for a South African primary school and high school.

. . .

P2

T7, T4

T7, T4

A. . . .

The primary school problem for the particular school

. . . .

. . .

. . .

. . . .

. . . .

Figure 5. Offspring: mutation involving single classes.



Primary School Timetabling Problem

involves allocating class-teacher tuples to timetable periods so as to satisfy a set of hard constraints. The school teaches grade 1 to grade 7. The school has 19 teachers, 16 classes and 14 subjects are taught at the school. The school week is 5 days with a maximum of 11 periods a day. The number of periods differs for the different grades. These are listed in Table 1.

T1

T2

P3

SOUTH AFRICAN SCHOOL TIMETABLING PROBLEMS

TABLE I. PERIODS PER GRADE

The hill-climber operator focuses on teachers, and basically tests the effect of swapping two teachers. If such a swap will result in an improvement in fitness, the swap is performed. If not, the process is

Grades

No. of Periods

Grades 1 and 2

9

Grade 3

Mon: 11 Tues -Thurs: 10 Fri: 9

repeated until a swap resulting in an improvement is found. A limit is set on the number of attempts at fmding such a swap. parameter

and

the

most

Grades 4, 5, 6 and 7

This limit is a genetic appropriate

value

is

problem dependant.

The hard constraints that must be satisfied are:

The first mutation operator proved to be sufficient for



the primary school problem. However, a combination of the simple mutation and the hill-climber was needed for the



high school problem. The overall algorithm combining simple mutation and the hill climber is illustrated in Figure 6. The GA in the second phase implements the same overall



mutation operator with a variation in the hill climber which swaps the entire row which contains both the teachers, instead of just the teachers.

Mon-Thurs: 11 Fri: 9

If the mutation operator



produces an infeasible offspring, the offspring is discarded and the parent is returned as a result of the operation.

289

All requirements must be met, i.e. all required class­ teacher meetings must be scheduled. There must be no teacher clashes, i.e. a teacher must not be scheduled to teach two classes in the same period. There must be no class clashes, i.e. two classes must not be scheduled to take more than one lesson in the same period. Subject-period exclusivity, i.e. a subject can only be taught to one class in a period. This is usually due to venue constraints. For example, physical education is taught on the school grounds and only one class can be taught at a time. The same is true for classes taught in a computer laboratory.







Mathematics must be scheduled over a double period for certain grades.



Mathematics must be taught in the mornings for certain grades. Class meetings must be spread throughout the week for each class. For example, if there are 10 periods of a subject per week, then it should be taught on average twice a day.



Table 2 lists the number of each type of hard constraint that must be satisfied for the particular school.

scheduled periods.

during a particular period or set of

Teacher-period constraint - A teacher may not be scheduled during certain periods or have to be scheduled periods.

during a particular period or set of

Split/combination-period constraint A split/combination or classes may not be scheduled during certain periods or have to be scheduled during a particular period or set of periods.

The number of each type of hard constraint for the problem is listed in Table 3, and the number of each type of soft constraint in Table 4.

TABLE 2. PRIMARY SCHOOL HARD CONSTRAINT INSTANCES Hard Constraints

Number of

TABLE 3. HIGH SCHOOL HARD CONSTRAINT INSTANCES

Instances 164

Hard Constraints

Number of

18

Number of split periods

66

exclusivities

Number of class-teacher meetings to

278

Number of double periods

be scheduled

Number of class-teacher meetings

Instances

to schedule Number of subject-period

94

required Number of Mathematics lesson to

90

TABLE 4. HIGH SCHOOL SOFT CONSTRAINT OCCURRENCES

be scheduled in the mornings

Number

Soft Constraints

of

Occurrences

B.

High School Timetabling Problem

Number

of

classes

to

be

40 teachers, and 30 classes which are taught 44 subjects. All

Number

grades are taught a total of 42 periods (i.e. 7 periods, 6 times

scheduled in a particular period.

a week). The timetabling problem for the school requires the allocation of class-teacher tuples to timetable periods so as to meet the hard constraints of the problem and minimize the number of soft constraints violated. As with the primary school problem, venues are pre-allocated and thus do not need to be taken into consideration during timetabling

Number

construction. satisfied: •







All

The

following

required

hard

class-teacher

constraints

must

be

meetings

must

be

of

teachers

to

be

split/combination

1 6

particular period. VI.

EXPERIMENTAL SETUP

The genetic algorithm presented in section 4 was applied to the two school timetabling problems described in the previous section. Due to the stochastic nature of genetic algorithms, ten runs, each using a different random number generator seed, were performed for each problem. The values of the genetic parameters used for each problem are

There must be no teacher clashes, i.e. a teacher must not be scheduled to teach more than one class

listed in Table 5 and Table 6. These values were obtained empirically by performing trial runs. A higher SCM population size did not improve performance. Lower initial popUlation sizes were not sufficiently representative of the solution space and higher initial population sizes did not produce better results. Higher tournament selection sizes

in a period. There must be no class clashes, i.e. a class must not be scheduled to take more than one lesson in a period. In some

proved to be too elitist while lower values did not exert

instances classes need to be split and regrouped for a lesson in a period. More than one teacher, one to teach each group, may be needed.

sufficient selection pressure. The GA for the primary school problem converged within 300 generations and the GA for high school problem took longer to converge and required a maximum of 1000 generations for convergence. Additional mutation swaps did not improve the performance of the GAs.

The soft constraints for the problem are: •

of

classes to be scheduled in a

scheduled.

Split period requirements must be met.

8

scheduled in a particular period.

The high school teaches grades 8 to 12. The school has

Class-period constraint - A class may not be scheduled during certain periods or have to be

290

TABLE 5. VALUES OF THE GENETIC PARAMETERS FOR THE PRIMARY SCHOOL PROBLEM Parameter

TABLE 8. COMPARISON OF HARD CONSTRAINT AND SOFT CONSTRAINT COSTS FOR THE HIGH SCHOOL PROBLEM

Value

SCM population size Initial population size

GA in [27]

Known

0

0

0

2

6

2

Optimum

750

Minimum hard

15

constraint cost

Tournament size Number of mutation swaps Number of generations

100

Minimum soft

300

constraint cost

VIII.

TABLE 6. VALUES OF THE GENETIC PARAMETERS FOR THE HIGH SCHOOL TIMETABLING PROBLEM Parameter

5

Initial population size

200

Tournament size

10

Number of mutation swaps

45

Number of generations

CONCLUSION AND FUTURE WORK

This study presents a genetic algorithm to solve the school timetabling problem for a South African primary and

Value

SCM population size

a high school. The GA uses domain knowledge, in the form of heuristics, during the construction process, to guide the search. Different combinations of the low-level heuristics were found to be effective for each of the problems. Different mutation operators were tested on both the problems and the most effective operatorls were identified

1000

for each of the problems. The GA produced a solution that met all the constraints for the primary school timetabling problem and was an improvement on the timetable used by the school. The GA evolved a feasible timetable with the

The genetic algorithms were implemented in Microsoft C++, Visual Studio 2008 and simulations were run on an Intel Dual-Core 1.86 GHz processor with 2 GB of memory

known optimal hard and soft constraint costs for the high school timetabling problem. Future work will apply the genetic algorithm to additional school timetabling problems.

and Windows Vista. VII.

GA

5

RESULTS AND DISCUSSION

The genetic algorithms found feasible solutions to both the problems. The minimum and average hard constraint cost for both problems and the minimum and average soft

ACKNOWLEDGMENT The authors would like to thank both the schools for providing us with the necessary data.

constraint cost for the high school problem, over ten runs, are displayed in Table 7.

REFERENCES

TABLE 7. HARD CONSTRAINT AND SOFT CONSTRAINT COSTS

[1]

G. Post, J. K. Kingston, S. Ahmadhi, S. Daskalaki, C. Gogos, 1. Kyngas, C. Nurmi, H. Santos, B. Rorije and A. Scaherf, "An XML Format for Benchmarks in High School Timetabling II", Proceedings of the 8th International Conference on the Practice and Theory of Automated Timetabling (PATAT 2010), Queens University Belfast, August 2010, pp. 347-352.

[2]

N. Pilla�, "An Overview of School Timetabling", Proceedings of the 8 h International Conference on the Practice and Theory of Automated Timetabling (PATAT 2010), Queens University Belfast, August 2010, pp. 321-335.

[3]

D. Abramson, "Constructing School Timetables Using Simulated Annealing", Management Science, Vol. 37, No. I, 1991,pp.98-113.

[4]

used by the school violates the daily average limit for one of the subjects.

F.Melicio, J. P. Calderia and A. Rosa, "THOR: A Tool for School Timetabling", in Proceedings of the 6th International Conference on the Practice and Theory of Automated Timetabling (PATAT 2006), E.K. Burke, H. Rudova, Eds., 2006, pp. 532-535.

[5]

Table 8 compares the quality of the best timetable/s induced by the GA for the high school timetable to the best timetable produced by the genetic algorithm implemented by Raghavjee and Pillay [27] to solve the problem and the known optimal cost for this problem. The GA presented in this paper has produced timetables with the optimal hard and soft constraint costs for this problem.

Y. Liu, D. Zhang, and S.C.H. Leung, " Simulated Annealing Algorithms with a New Neighbourhood Structure for the Timetabling Problem", Proceedings of the First ACMlSIGEVO Summit on Genetic and Evolutionary Computing (GEC' 09), ACM Press, 2009, pp. 381-386 .

[6]

A. Schaerf, "Local Search Techniques for Large High School Timetabling Problems", IEEE Transactions on Systems, Man and Cybernetics-Part A - Systems and Humans, Vol. 29, No. 4, July 1999, pp. 368-377.

[7]

H.G. Santos, L. S. Ochi and M. 1. F. Souza, "A Tabu Search Heuristic with Efficient Diversification Strategies", Lecture

Primary

High

School

School

Problem

Problem

Minimum hard constraint cost

0

0

Average hard constraint cost

1.1

2

Minimum soft constraint cost

-

2

Average soft constraint cost

-

2.67

The best timetable/s generated by the GA for the primary school timetabling problem met all the hard constraints. The timetable currently used by the school is generated by an online timetabling system. The generated timetable usually does not meet all the constraints, and is manually changed to meet the constraints if possible. The version currently being

291

[8]

[9]

Notes in Computer Science, Vol. 3059, Springer-Berlin, April 2004, pp. 468-481.

High Schools", in Journal of the Operational Research Society, Vol. 54, No.3, March 2003, pp. 230-238.

G. S. Bello, M. C. Rangel and M. C. S.Boeres, "An Approach for the Class ITeacher Timetabling Problem", Proceedings of the 7th International Conference on the Practice and Theory of Automated Timetabling (PATAT2008), 2008, http://wl.cirrelt.ca/�patat2008/ PATAT_7_ PROCEEDINGSlPaperslBoeres-WA2b.pdf. Last accessed 05102/10.

[19] G. Post and N. Ruizenaar,Clusterschemes in Dutch Secondary Schools. Memorandum No. 1707, University of Twente, the Netherlands, January 2004. [20] P. Wilke and H. Killer, "Walk Up Jump Down - A New Hybrid Algorithm for Time Tabling Problems", Proceedings 1h of the 8 International Conference on the Practice and Theory of Automated Timetabling (PATAT 2010), Queens University Belfast, August 2010, pp. 440-446.

L. Gislen, C. Peterson and B. Soderberg, "Teachers and Classes with Neural Networks", in International Journal of Neural Systems, Vol. 1, No.2. 1989, pp. 167-176.

[21] D. Abramson and J. Abela, " A Parallel Genetic Algorithm for Solving the School Timetabling Problem", in the Proceedings of the Fiftheenth Australian Conferences (CSIRO), pp. 1-11.

[10] K. A Smith, D. Abramson and D. Duke D, "Hopfield Neural Networks for Timetabling: Formulations, Methods, and Comparative Results", in Computers and Industrial Engineering, Vol. 44, Pergamon, 2003, pp. 283-305.

[22] J. P. Caldeira and A C. Ross, "School Timetabling Using Genetic Search", in the proceedings of the International Conference on the Practice and Theory of Automated Timetabling (PATAT '97), 2007, pp. 115-122.

[11] M. P. Carrasco and M. V. Pato MV, "A Comparison of Discrete and Continuous Neural Network Approaches to Solve the Class/Teacher Timetabling Problem", in European Journal of Operational Research, Vol. 153, No. 1, 2004, pp. 63-79.

[23] G. R. Filho and L.AN. Lorena, "A Constructive Evolutionary Approach to School Timetabling", in Proceedings of the EvoWorkshops on Applications of Evolutionary Computing, Lecture Notes in Computer Science, Vol. 2037, 2001, Springer-Verlag, pp. 130-139.

[12] N. L. Lawrie, "An Integer Linear Programming Model of a School Timetabling Problem", in the Computer Journal, Vol. 12, No.4, 1969, pp. 307-316.

[24] P. Wilke, M. Grobner and N. Oster, "A Hybrid Genetic Algorithm for School Timetabling", in AI 2002: Advances in Artificial Intelligence, Lecture Notes in Computer Science, Vol. 2557/2002, 2002, Springer-Berlin, pp. 455-464.

[13] N. Boland, B. D. Hughes, L. T. G. Merlot and P. J. Stuckey PJ, "New Integer Linear Programming Approaches for Course Timetabling" in Computers and Operations Research, Vol. 35, No. 7, July 2008, pp. 2209-2233.

[25] R. Raghavjee and N. Pillay, "An Application of Genetic Algorithms to the School Timetabling Problem", in proceedings of SAICSIT 2008, C. Cilliers and L. Barnard, Eds., 2008, ACM Press, pp. 193-199.

[14] T. Birbas, S. Daskalaki, E. Housos, "School Timetabling for Quality Student and Teacher Schedules", Journal of Scheduling, Vol. 12, Issue 2, April 2009, Kluwer Academic Publishers, pp. 177-197.

[26] R. Raghavjee, N. Pillay, "Evolving Solutions to the School Timetabling Problem", in proceedings of the 151 International Conference on Nature and Biologically Inspired Computing (NaBIC '09),2009, IEEE Press, pp.1524-1527.

[15] C. Valouxis and E. Housos, "Constraint Programming Approach for School Timetabling", in Computers and Operations Research, Vol. 30, Pergamon, 200 3, pp. 15551572.

[27] G. N. Beligiannis, C. N. Moschopoulos, G. P. Kaperonis and S.D. Likothanassis, "Applying Evolutionary Computation to the School Timetabling Problem: The Greek Case", in Computers and Operations Research, Vol. 35, Elsevier, pp. 1265-1280.

[16] J. H. Kingston, "The KTS High School Timetabling Systems", in Proceedings of the International Conference on the Practice and Theory of Automated Timetabling (PATAT 2006), E. K. Burke and H. Rudova H, Eds., pp. 181-195.

[28] R. Raghavjee, N. Pillay, "An Informed Genetic Algorithm for the School Timetabling Problem", in proceedings of SAICSIT 2010, October 2010, ACM Press, in press.

[17] A V. Moura and R. A Scaraficci, "A GRASP Strategy for a More Constrained School Timetabling Problem", in the International Journal of Operational Research, Vol. 7, No. 2, 2010,pp.152-170. [18] K. Papoutsis, C. Valouxis and E. Housos, "A Column Generation Approach for the Timetabling Problem of Greek

292