A Comparison of Genetic Algorithms and Genetic Programming in

A Comparison of Genetic Algorithms and Genetic Programming in Solving the
School Timetabling Problem
Rushil Raghavjee
Nelishia Pillay
School of Management, Information Technology and
Governance
University of KwaZulu-Natal
Pietermaritzburg, South Africa
[email protected]
School of Mathematics, Statistics and Computer
Science
University of KwaZulu-Natal
Pietermaritzburg, South Africa
[email protected]
studies evaluating GP for examination timetabling have used
GP to search a space of combinations of low-level
construction heuristics, which are used to construct a
timetable, while in this study GP explores a space of move
operators instead. The GP approach was found to produce
better results than the GA for a benchmark set of five
problems.
Section 2 discusses the school timetabling problem and
previous methods that have been applied to this domain. An
overview of genetic algorithms and genetic programming
and previous studies applying these approaches to solve the
school timetabling problem is provided in section 3.
Sections 4 and 5 describe the genetic algorithm and GP
approach used in this study to solve the school timetabling
problem respectively. Section 6 describes the experimental
setup used to evaluate the genetic algorithm and GP
approaches. The performance of both these approaches in
solving the school timetabling problem is discussed in
section 7. Finally, section 8 provides a summary of the
results of the study and future work.
Abstract— In this paper we compare the performance of
genetic algorithms and genetic programming in solving a set of
hard school timetabling problems. Genetic algorithms search a
solution space whereas genetic programming explores a
program space. While previous work has examined the use of
genetic algorithms in solving the school timetabling problem,
there has not been any research on the use of genetic
programming for this domain. The GA explores a space of
timetables to find an optimal timetable. GP on the other hand
searches for an optimal program which when executed will
produce a solution. Each program is comprised of operators
for timetable construction. The GA and GP were tested on the
Abramson set of school timetabling problems. Genetic
programming proved to be more effective than genetic
algorithms in solving this set of problems. Furthermore, the
results produced by both the GA and GP were found to be
comparative to methods applied to the same set of problems.
Keywords- genetic algorithms; genetic programming; school
timetabling problem
I.
INTRODUCTION
II.
Educational timetabling encompasses university course
timetabling, university examination timetabling and school
timetabling. These three problems are very different and a
solution found for one type cannot be used to solve either of
the other two problems. The paper focuses on school
timetabling which has not been as well researched as
university course and examination timetabling. The school
timetabling problem involves allocating resources, such as
teachers, classes and venues, to timetable slots such that
certain hard constraints have been met and soft constraint
violations have been minimized. The main contribution of
the study presented in this paper is to compare the
performance of genetic algorithms (GA) and genetic
programming in solving the school timetabling problem.
The GA explores a solution space of potential timetables. GP
on the other hand searches a program space. The optimal
program is implemented to find a solution to the problem.
For the domain of school timetabling, each program is
composed of operators for constructing a timetable. While
previous work has been conducted on the use of GP for
examination timetabling, GP has not previously been applied
to solve the school timetabling problem. Furthermore, the
c
978-1-4673-4769-3/12/$31.00 2012
IEEE
THE SCHOOL TIMETABLING PROBLEM (STP)
The school timetabling problem involves the allocation
of teachers, classes, venues and other resources to
timetabling periods in order to satisfy the hard constraints of
the problem and to minimize the soft constraints. A
combination of resources (for example a teacher that is
required to teach a class at a particular venue) is commonly
referred to as a tuple. These hard and soft constraints differ
depending on the needs and resources available to the school.
The most common hard constraint found in all school
timetabling problems is that the timetable must be clash-free.
A clash occurs in the event that a teacher is scheduled to
teach two or more classes at the same time, if a class is
scheduled to meet two or more teachers at the same time or if
a venue has been allocated to multiple classes or multiple
teachers at the same time. A feasible timetable is defined as
a timetable that satisfies all the hard constraints of a problem.
The school timetabling problem may also have soft
constraints associated with it. Soft constraints are
requirements that we would prefer the timetable to satisfy. If
a soft constraint has been violated, the timetable is still
considered feasible. The objective is to minimize the soft
constraint cost which estimates the quality of a timetable.
98
An example of a soft constraint would be teachers preferring
to teach either in the mornings or the afternoons. Each school
timetabling problem has a different set of hard constraints
and soft constraints that must be addressed.
Various methods have been applied to solve the school
timetabling problem. Schaerf [1] applied a tabu search to
solve the school timetabling problem for an Italian school. A
two dimensional matrix was used to represent the school
timetable. An initial candidate solution was created randomly
and the tabu search was applied in order to find a feasible
timetable. Moves, involving the swapping of tuples, were
used to get from one neighbourhood to the next. The
technique was applied to three Italian high schools with each
high school differing in the number of teachers, lessons and
constraints. The tabu search managed to find feasible
timetables for all three schools. Randall [4] has also used a
tabu search to solve the Abramson set of school timetabling
problems.
Abramson [2] employed simulated annealing to solve the
school timetabling problem for an Australian school. An
initial candidate solution is created by randomly allocating
tuples. Tuples move freely around the timetable and as the
cost of the timetable decreases, these tuples freeze into their
timeslots. If the cost of the timetable increases, then the
tuples are heated, resulting in them freely moving through
the timetable. Liu [3] and Randall [4] have also successfully
applied simulated annealing to the school timetabling
problem.
Beligiannis et al. [5] solve the Greek school timetabling
problem using particle swarm optimization. A population of
particles (candidate solutions) is initially created and these
particles are evolved or improved over a predefined number
of generations. As the number of generations increase,
particles that are not evolving at a fast enough rate are
deactivated and removed from the population. Timetables
were evolved by either swapping the tuples or by swapping
columns (all the tuples in a single timeslot). The algorithm
terminates when either an acceptable solution is found or the
generation limit has been reached. The method was applied
to several Greek school timetabling problems. Results
showed that particle swarm optimization produced better
timetables than other techniques including evolutionary
algorithms and constraint programming.
Smith et al. [6] have tested various Hopfield neural
networks to solve the Abramson set of school timetabling
problems. Neural networks were found to perform better
than simulated annealing, Tabu search and greedy search in
solving these problems.
Hybrid approaches have also been applied to solving the
school timetabling problem. Avella et al. [7] use a
combination of simulated annealing and very large
neighbourhood search to solve the Abramson set of
problems.
III.
GENETIC ALGORITHMS AND GENETIC PROGRAMMING
A genetic algorithm is a metaheuristic, largely influenced
by Darwin’s theory of evolution [8], which iteratively refines
an initial population of candidate solutions until some
termination criteria have been met. The genetic algorithm
begins by randomly creating an initial population of
individuals. Each individual is then evaluated using a fitness
function and a fitness value is assigned to each individual
indicating how close a candidate solution is to an ideal
solution. A selection method is used to select parents for
regeneration. Common techniques used to select parents
include tournament selection, roulette wheel selection and
rank selection. Genetic operators are applied to chosen
parents to produce one or more offspring. The most common
genetic operators used are mutation, crossover and
reproduction. The process of evaluation, selection and
application of genetic operators continues for every
generation until either an individual’s fitness value reaches a
predefined target value or until a set number of generations
has been reached.
Banzhaf [9] defines genetic programming as a direct
evolution of programs (or blocks of code) for the purpose of
inductive learning. Genetic programming differs from
genetic algorithms in that the individuals, rather than being
candidate solutions, are candidate programs which when
executed will create a solution to the problem. These
candidate programs are iteratively evolved until an optimal
program is found.
While there have been previous investigations into the
use of genetic programming for solving the examination
timetabling problem, GP has not been applied to the domain
of school timetabling. However, several studies have used
genetic algorithms or evolutionary algorithms to solve the
school timetabling problem. Bedoya and Santos [10] used a
genetic algorithm to solve two school timetabling problems.
Roulette wheel selection was used to choose parents and
mutation was applied to the chosen parents. Abramson and
Abela [11] developed a genetic algorithm to solve the
Australian school timetabling problem. Parents were
randomly chosen from the population. The genetic operators
applied to the parents were crossover and mutation. Hill
climbing was used to force newly created offspring to be at
least as fit as the parent. A repair algorithm was applied to
resulting offspring to deal with incorrectly placed or missing
tuples which may have resulted from application of the
genetic operators. Beligiannis et al. [12] solved the Greek
school timetabling problem using an evolutionary algorithm.
Timetables in the initial population were created by
randomly allocating tuples to timeslots. A linear rank
selection method was used to select parents. Mutation was
the only genetic operator used. The evolutionary algorithm
was applied to seven different data sets and feasible
timetables were found for all problems. The timetables
produced were also of a better quality than the actual
timetables used by the school. Di Steffano and Tettamanzi
[13] developed an evolutionary algorithm to solve the Italian
school timetabling problem. Initial timetables were created
by either randomly allocating tuples or by using a greedy
search. Parents were selected using tournament selection.
Crossover and two variants of the mutation operator were
used. The first mutation operator was aimed at reducing the
hard constraint cost while the second at improving timetable
quality.
2012 Fourth World Congress on Nature and Biologically Inspired Computing (NaBIC)
99
The following section describes the GA implemented in
this study and section V presents the GP approach used.
IV.
GA FOR SOLVING THE STP
This section describes the GA implemented to solve the
STP in terms of initial population generation, evaluation,
selection and genetic operators. The GA is generational and
is run for a set number of generations.
A. Initial Population Generation
Each element of the population is a timetable which is
represented using a two dimensional array where each row
represents a timeslot of the week and each column represents
a particular venue. Each cell in the matrix contains the tuple
indicating a class and a teacher. Figure 1 shows an example
of the timetable structure. Each lesson containing a class and
a teacher is allocated to a venue. Only one lesson is allocated
to a timeslot.
V1
V2
V3
V4
1
(C4,T4)
(C2,T3)
(C3,T2)
(C1,T1)
2
(C4,T3)
(C2,T2)
(C3,T4)
(C1,T1)
3
(C4,T3)
(C2,T2)
(C3,T1)
(C1,T4)
4
(C3,T1)
(C4,T2)
(C1,T4)
(C2,T3)
5
(C1,T2)
(C3,T1)
(C2,T4)
(C4,T3)
number of teacher clashes and venue clashes. The algorithm
in Figure 3 shows how the fitness of an individual is
calculated.
C. Selection
A sports tournament selection method was adopted for
choosing a parent. This selection method begins by randomly
selecting a group of individuals from the population with the
first individual being allocated “Champion” status. The
“Champion” then faces another competitor and the winner is
determined either by fitness or by chance. Every individual
selected has an opportunity to be “Champion”. Once all
individuals have been evaluated, the individual with the
status of “Champion” is selected as a parent. The algorithm
describing the sports tournament selection is illustrated in
Figure 4.
SumClashes = 0
For every timeslot in the timetable,
{
RowClashes = number of class or teacher
repetitions
SumClashes = SumClashes + RowClashes
}
Unscheduled = number of unscheduled class-teacher
meetings
Sum = SumClashes + Unscheduled
Return (Sum)
Figure 1: Timetable structure
Figure 3. Algorithm for fitness evaluation
An initial timetable is generated using a saturation degree
heuristic i.e. the tuples with the fewest feasible timeslots are
allocated first. Each individual in the initial population is
created using a sequential construction method (SCM). The
SCM generates a set of timetables and the fittest of these
individuals is added to the initial population. The algorithm
for creating the initial population is shown below in Figure 2.
Winner = Random individual from population
For J = 2 to TournamentSize
{
Opponent = Random individual from population
RandomNumber = Choose a random integer from 1
to 3
If (RandomNumber = 1)
Winner = fitter of individuals between
Winner and Opponent
Else if (RandomNumber = 2)
Winner = Opponent
Else
Winner is unchanged
}
For J = 0 to PopulationSize
{
For S = 0 to SCMSize
{
Create a timetable using saturation degree
Store timetable in SCMGroup
}
Add best timetable from SCMGroup to initial
population
}
Figure 2. Algorithm for initial population generation
B. Fitness Evaluation
In this study the Abramson data set is used to test the GA
and GP approaches. The constraints for the Abramson set of
problems are that all requirements must be met, i.e. all classteacher meetings must be scheduled and there must be no
teacher clashes, venue clashes or class clashes. The structure
of the timetable allows for the constraint regarding venues to
be satisfied i.e. no venue clashes are possible. The fitness
function counts the number of unscheduled meetings and the
100
Figure 4. Sports tournament selection
D. Genetic operators
Four mutation operators were tested for regeneration:
•
•
•
1V -Searches for a tuple resulting in a constraint
violation and swaps it with a randomly chosen tuple.
1VH - Is similar to 1V mutation operator but
incorporates hill climbing by only accepting swaps that
improve the fitness of the timetable.
2V - Searches for two constraint violating tuples and
swaps them.
2012 Fourth World Congress on Nature and Biologically Inspired Computing (NaBIC)
•
2VH - Is similar to the 2V mutation operator but
incorporates hill climbing.
Each mutation operator performs a set number of swaps,
thus allowing for the possibility that several improvements
could be made to the timetable in one operation. After
extensive testing it was found that the genetic algorithm
using the 2V operator performed the best as it produced the
most number of feasible timetables.
V.
GP FOR THE STP
This section describes the genetic programming approach
implemented to solve the school timetabling problem. The
following sections describe the processes of initial
population generation, evaluation and selection and the
genetic operators employed.
A. Initial population generation
Each program is represented as a combination of moves
or operators. Each character in the combination represents
one of six operators. The operators are described in Table 1.
The operator A inserts an unallocated tuple to the timetable.
D removes a tuple from the timetable. This tuple can then
be allocated again when A is applied. The four mutation
operators (labeled 1, 2, 3 and 4) are the four operators used
by the genetic algorithm described in Section 4. Each
mutation operator performs a set number of swaps.
Table 1. Operator set
Operator
A
D
1
2
3
4
Description
Allocate a tuple to the timetable
De-allocate a tuple from the timetable
One violation mutation (1V)
One violation mutation with hill
climbing (1VH)
Two violation mutation (2V)
Two violation mutation with hill
climbing (2VH)
An example of a program is D1A2A4. In this case the
first two operators will have no effect as the timetable is
blank and tuples will only be allocated by the third operator
in the program. Each element of the combination is
randomly selected. The maximum size of each program is a
multiple of the number of tuples to be allocated for the
particular problem instance. In this study trial runs have
shown that four times the number of tuples is sufficient.
B. Fitness Evaluation and Selection
The fitness of each individual of the population is
calculated by using the program to create a timetable. The
fitness measure of each program is the sum of the number of
clashes and unallocated tuples.
Tournament selection is used to choose parents. A group
of individuals, called the tournament, are randomly chosen
from the population and the fittest individual is selected as a
parent.
C. Genetic operators
The mutation and crossover genetic operators were used.
For mutation, a single character (operator) in a string is
randomly selected and replaced by another randomly chosen
character. An example of the mutation operator is shown in
Figure 5. In the example, the randomly selected operator A
has been replaced by mutation operator 3.
Initial string:
AD123AAD3421
(Mutation point underlined)
Mutated string:
AD1233AD3421
(Operator A replaced by mutation operator 3)
Figure 5. Example of mutation
An example of the crossover operator is shown below in
Figure 6.
Initial string (parent 1):
AD123AAD3421
(Crossover point in underlined)
Initial string (parent 2):
AD34ADAD321A
(Crossover point in underlined)
----------------------------------------------------------------Resultant child 1:
AD12D321A
Resultant child 2:
AD34ADA3AAD3421
Figure 6. Example of crossover
In the diagram above, a single crossover point was
randomly chosen for each parent. The first resultant child is
formed by combining the first part of parent 1 (i.e. the
characters before and including the selected crossover point)
with the second part of parent 2 (i.e. the characters after the
crossover point). Similarly, the second child is formed by
combining the first part of parent 2 and the second part of
parent 1. The crossover operation illustrated above implies
that the string length of the two resulting children could
differ i.e. the string length of child 1 could be longer than
the string length of child 2.
VI.
EXPERIMENTAL SETUP
The genetic algorithm and the GP approach described in
sections 4 and 5 respectively were applied to a set of
benchmark problems made available by Abramson [2].
Table 2 lists the characteristics of each problem. The only
constraints for this problem are that all class-teacher
meetings must be scheduled and there must be no class,
teacher or venue clashes. These benchmark problems have
been described as “hard” problems by Smith et al. [6] since
all tuples must be allocated and every timeslot in the
timetable must be used.
2012 Fourth World Congress on Nature and Biologically Inspired Computing (NaBIC)
101
Table 2: Characteristics of the benchmark problems
Problem
HDTT4
HDTT5
HDTT6
HDTT7
HDTT8
Number
of
classes
4
5
6
7
8
Number
of
teachers
4
5
6
7
8
Number
of
venues
4
5
6
7
8
Number
of
periods
30
30
30
30
30
Tuples
to
allocate
120
150
180
210
240
Due to the stochastic nature of these methods and to
ascertain statistical significance, thirty runs of both the GA
and GP were performed for each problem. A different seed
value for the random number generator was used for each
run. The genetic algorithm and genetic programming
algorithm were implemented in C++ and developed using
Microsoft Visual Studio 2008 and 2010 respectively.
Table 3 lists the genetic parameter values used for the
genetic algorithm. These values were obtained via a fine
tuning process.
Table 3: Parameter values for the genetic algorithm
Parameter
SCM size
Population Size
Tournament Size
Number of mutation swaps
Maximum number of generations
Value
50
1001
10
200
50
Table 4 lists the genetic parameters and their associated
values used for GP. These values were obtained empirically
by performing trial runs.
Table 4: Parameter values for the genetic program
Parameter
Population Size
Tournament Size
Number of swap for each mutation
operator
Maximum number of generations
Mutation Rate
Crossover Rate
Value
500
15
1000
50
20
80
VII. RESULTS AND DISCUSSION
Both the GA and genetic programming were able to
produce feasible solutions to all five problems. Table 5
shows the best and average cost obtained over the thirty
runs for each of the problems. Note that the cost is the sum
of the number of clashes and unallocated tuples.
Table 5: Best cost (BC) and average cost (AC) the GA and GP
GA
GP
102
HDTT4
BC: 0
AC: 0
BC: 0
AC: 0
HDTT5
BC: 0
AC: 0
BC: 0
AC: 0
HDTT6
BC: 0
AC: 0
BC: 0
AC: 0
HDTT7
BC: 0
AC: 1.07
BC: 0
AC: 0
HDTT8
BC: 0
AC: 1.73
BC: 0
AC: 0.2
For data sets HDTT4, HDTT5 and HDTT6, both the
genetic algorithm and GP found feasible timetables for all
runs. Genetic programming does perform better than the
genetic algorithm when applied to data sets HDTT7 and
HDTT8. Thus, GP appears to scale much better than the
GA. Furthermore, the results from Table 5 show that GP is
able to produce timetables with fewer constraint violations
on average than when using a genetic algorithm. In order to
confirm this, hypothesis tests were conducted to determine
the significance of this result. Table 6 lists the levels of
significance, critical values and decision rules for the
hypothesis tests.
Table 6: Levels of significance, critical values and decision rules
P
0.01
0.05
0.1
Critical Value
2.33
1.64
1.28
Decision rule
Reject H0 if Z > 2.33
Reject H0 if Z > 1.64
Reject H0 if Z > 1.28
The hypothesis tested for HDTT7 and HDTT8 and the
corresponding Z-values are shown in Table 7 below.
Table 7: Hypothesis and Z value for HDTT7 and HDTT8
Hypothesis
H0: μGA = μGP;
HA: μGA > μGP
H0: μGA = μGP;
HA: μGA > μGP
Data set
Z value
HDTT7
5.76
HDTT8
9.10
The Z values above indicate that the hypothesis that GP
performs better than the genetic algorithm is significant at
all levels of significance. These results could indicate that
for smaller data sets, genetic algorithms would work well
but genetic programming could be used to solve larger
timetable problems with more constraints.
Table 8 compares the performance of the genetic
algorithm and GP to that of other methods used to solve the
same benchmark problems. The methods included are:
• SA1 – The simulated annealing algorithm used by
Abramson et al. [2].
• SA2 – The simulated annealing algorithm implemented
by Randall et al. [4].
• TS – The tabu search used by Randall et al. [4].
• GS – A greedy search implemented by Randall et al.
[4].
• NN-T2 – A discrete Hopfield neural network,
developed by Smith et al. [6].
• NN-T3 – A second discrete Hopfield neural network,
implemented by Smith et al. [6].
• SA3 – A simulated annealing approach developed by
Liu et al. [11]
• Hybrid – A hybrid method using simulated annealing
and a VLSN algorithm implemented by Avella et al.
[7].
2012 Fourth World Congress on Nature and Biologically Inspired Computing (NaBIC)
An overview of these methods is provided in section II.
Table 8 displays the best cost and the average cost of
timetables for each of the studies. The details of this study
are listed in the columns labeled GA and GP. The average
cost (AC) indicates the average number of constraint
violations over all the runs while the best cost (BC)
indicates the best cost found out of all the runs. It must be
noted that only six runs were performed for the SA1
algorithm while twenty runs were performed for all the
other studies. Thirty runs were conducted for the genetic
algorithm and GP but in order to be consistent with the
other techniques, only the first twenty runs are considered in
Table 8 below.
Table 8: The best cost (BC) and average cost (AC) for each
method
SA1
SA2
TS
GS
NNTT2
NNTT3
SA3
Hybrid
GA
GP
HDTT4
Best: AC: -
HDTT5
Best: 0
AC: 0.67
HDTT6
Best: 0
AC: 2.5
HDTT7
Best :2
AC: 2.5
Best: 0
AC: 0
Best: 0
AC: 0.2
Best: 0
AC: 0.3
Best: 0
AC: 2.2
Best: 0
AC: 0.8
Best: 3
AC: 5.6
Best: 5
AC: 8.5
Best: 11
AC: 16.2
Best: 0
AC: 0.1
Best: 0
AC: 0.5
Best: 0
AC: 0
Best: 0
AC: 0
Best: 0
AC: 0
Best: 0
AC: 0.5
Best: 0
AC: 0.5
Best: 0
AC: 0
Best: 0
AC: 0
Best: 0
AC: 0
Best: 19
AC:
22.2
Best: 0
AC: 0.8
Best: 0
AC: 0.7
Best: 0
AC: 0
Best: 0
AC: 0
Best: 0
AC: 0
Best: 0
AC: 0
Best: 0
AC: 0
Best: 0
AC: 0
Best: 0
AC: 1.2
Best: 4
AC:
10.9
Best: 26
AC:
30.9
Best: 0
AC: 1.1
Best: 0
AC: 1
Best: 0
AC: 0
Best: 0
AC: 0.1
Best: 0
AC:
1.07
Best: 0
AC: 0
HDTT8
Best: 2
AC:
8.23
Best: 0
AC: 1.9
Best: 13
AC:
17.2
Best: 29
AC:
35.4
Best: 0
AC: 1.4
Best: 0
AC: 1.2
Best: 0
AC: 0.4
Best: 0
AC: 0.6
Best: 0
AC:
1.70
Best: 0
AC: 0
As can be seen from Table 8 above, the performance of
the genetic algorithm is competitive when compared to the
other techniques. GP performs the best, finding feasible
timetables for all 20 runs conducted for each data set.
VIII. CONCLUSION AND FUTURE WORK
This study compared the performance of genetic
algorithms and genetic programming in solving the school
timetabling problem. GP, which evolved programs for
creating timetabling solutions, was found to generally
produce better results and scale better than genetic
algorithms in solving the STP.
One of the main limitations found with GP was the
computational time needed to evolve a solution program.
While it took between 2 minutes and 15 minutes to find a
solution for the smaller datasets, when applying GP to
datasets HDTT7 and HDTT8, the time taken ranged from 90
minutes to 18 hours. This can be anticipated as the fitness of
each program is calculated by executing it to create a
timetable. This run time is much higher but must be
weighed against a success rate of more than 90%.
Future studies will look at using genetic programming to
solve larger school timetabling problems with both hard and
soft constraints as well as parallelizing the GP approach.
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
A. Schaerf, "Tabu Search Techniques for Large High-School
Timetabling Problems", IEEE Transactions on Systems Management
and Cybernetics, 1996, pp. 363-368.
D. Abramson, "Constructing School Timetables using Simulated
Annealing:
Sequential and Parallel Algorithms", Management
Science, vol. 37, no. 1, 1991, pp. 98-113.
Y. Liu, D. Zhang, S.C.H. Leung, "A Simulated Annealing Approach
with a New Neighbourhood Structure for theTimetabling Problem",
Proceedings of GEC 2009, First ACM/SIGEVO Summit on Genetic
and Evolutionary Computing. July 2009, pp. 381-386.
M. Randall, D. Abramson, and C. Wild, “A Meta-Heuristic
BasedSolver for Combinatorial Optimization Problems”, Technical
Report,TR99-01, School of Information Technology, Bold
University,Australia, 1999.
G. N. Beligiannis, I. X. Tassopoulos, "Solving Effectively the School
Timetabling Problem using Particle Swarm Optimization", Expert
Systems with Applications, 39, 2012, pp. 6029-6040.
K. Smith, D. Abramson, D. Duke, "Hopfield Neural Networks for
Timetabling: Formulations, Methods and Comparitive Timetabling",
Computers and Industrial Engineering, 2003, pp. 283-305.
P. Avella,,B. D’Auria, S. Salerno, I. Vasil’ev, "A Computational
Study of Local Search Algorithms for Italian high-school
Timetabling", Journal of Heuristics, vol. 13, no 6, pp. 543-556.
J. Holland, Adaptation in Natural and Artificial Systems. The
University of Michigan Press: Ann Arbor. Michigan, 1975.
W. Banzhaf, P. Nordin, R. Keller, F. D. Francone. Genetic
Programming. "An Introduction on the Automatic Evolution of
Computer Programs and its Applications". Morgan Kaufmann
Publishers Inc, 1998.
C. F. Bedoya, M. Santos, "A Non-Standard Genetic Algorithm
Approach to Solve Constrained School Timetabling Problems",
Computer Aided Systems Theory – Eurocast 2003, Lecture Notes in
Computer Science, vol. 2809, 2003, pp. 26-37.
D. Abramson, J. Abela, " A Parallel Genetic Algorithm for Solving
the School Timetabling Problem", Proceedings of the 15th Australian
Conference: Division of Information Technology, 1991, pp. 1-11.
G. N. Beligiannis, C. N. Moschopoulos, G. P. Kaperonis, S. D.
Likothanassis, S.D., "Applying Evolutionary Computation to the
School Timetabling Problem: The Greek Case", Computers and
Operations Research, vol. 35., 2008, pp. 1265-1280.
C. Di Stefano, A.G.B. Tettamanzi, "An Evolutionary Algorithm for
Solving the School Timetabling Problem", Applications of
Evolutionary Computing. Lecture Notes in Computer Science, 2001,
vol 2037, pp. 452-462.
2012 Fourth World Congress on Nature and Biologically Inspired Computing (NaBIC)
103