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