0% found this document useful (0 votes)
44 views

Cultural Searcing Algorithm

The document summarizes a study that uses cultural algorithms to solve timetabling problems. Cultural algorithms extract problem domain knowledge during evolutionary search and combine it with other operators to improve performance. The proposed approach is tested on 20 timetabling problem instances and compared to other algorithms. Results show the cultural algorithm is a viable alternative for efficiently solving timetabling problems.

Uploaded by

Darwin
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Cultural Searcing Algorithm

The document summarizes a study that uses cultural algorithms to solve timetabling problems. Cultural algorithms extract problem domain knowledge during evolutionary search and combine it with other operators to improve performance. The proposed approach is tested on 20 timetabling problem instances and compared to other algorithms. Results show the cultural algorithm is a viable alternative for efficiently solving timetabling problems.

Uploaded by

Darwin
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Solving Timetabling Problems using a

Cultural Algorithm
Carlos Soza a Ricardo Landa Becerra b Mara Cristina Riff a
Carlos A. Coello Coello b
a Universidad

Tecnica Federico Santa Mara


Departamento de Inform
atica
Av. Espa
na No. 1680
Valparaso, Chile
Tel +56 32 2650000

b CINVESTAV-IPN

(Evolutionary Computation Group)


Departamento de Computaci
on
Av. Instituto Politecnico Nacional No. 2508
Col. San Pedro Zacatenco
Mexico D.F. 07300, Mexico
Tel. +52 55 5061 3800 x 6564

Abstract
This paper addresses the solution of timetabling problems using cultural algorithms.
The core idea is to extract problem domain information during the evolutionary
search, and then combine it with some previously proposed operators, in order to
improve performance. The proposed approach is validated using a benchmkar of 20
instances, and its results are compared with respect to three other approaches: two
evolutionary algorithms and simulated annealing, all of which have been previously
adopted to solve timetabling problems.

Introduction

The timetabling problem is a combinatorial optimization problem that consists


of assigning schedules to several workers or students, which also require some
Email addresses: [email protected] (Carlos Soza),
[email protected] (Ricardo Landa Becerra),
[email protected] (Mara Cristina Riff), [email protected] (Carlos
A. Coello Coello).

Preprint submitted to Elsevier

20 September 2007

resources. In order to make a feasible timetable, a set of hard constraints must


be satisfied (most of them technical constraints); moreover, a good timetable
must satisfy some soft constraints (frequently, comfort-related constraints),
and if all soft constraints are met, we can consider the solution as optimal.
From this point of view, the timetabling problem can be considered as an
optimization problem, when trying to minimize the violations of the existing
soft constraints.
This NP-hard problem presents several variants, such as the employee, exam
and university timetabling problems. In 2002, the Metaheuristics Network organized a competition on the University Course Timetabling Problem (UCTP),
and published a set of instances of the problem, in order to make easier the
comparisons of different algorithms. However, in that competition no evolutionary algorithms were proposed, even when evolutionary algorithms have
shown to be very effective techniques for solving combinatorial problems.
Cultural algorithms [21] are a particular class of evolutionary algorithm that
use domain knowledge extracted during the evolutionary process in order to
improve the performance of the search engine (i.e. the evolutionary algorithm)
adopted. What we explore in this paper is the use of a combination of knowledge extracted during the evolutionary search with some knowledge that is
inserted a priori because it has been previously found that it is useful when
solving combinatorial optimization problems. The main hypothesis in this
regard was that the incorporation of knowledge into an evolutionary algorithm would increase its performance as to make it competitive with other
approaches whose computational cost is significantly higher.
Several heuristics have been used for different types of timetabling problems: evolutionary algorithms ([18]), memetic algorithms ([25]) tabu search
([6]), simulated annealing ([17]), the ant system ([27]), and hybrid algorithms
([12,3,2]), among others.
Note however, that this paper presents the first attempt (to the authors best
knowledge) to use cultural algorithms to solve timetabling problems.
The proposed approach is compared with respect to an evolutionary algorithm
with specialized crossover operators [18], a recently published memetic algorithm [25], and a simulated annealing approach [17] that won the competition
of the Metaheuristics Network, in all the test cases adopted for that competition. The obtained results indicate that the proposed approach is a viable
alternative for solving, efficiently, timetabling problems.
The remainder of this paper is organized as follows: in Section 2 a brief description of the statement of the problem is provided. Section 3 contains an
introduction to cultural algorithms which includes a description of their main
components and the main motivation to use them. Section 4 contains the de2

tails of the proposed approach to solve university course timetabling problems


using a cultural algorithm. As part of this section, a description of the representation of solutions adopted in this work is included, as well as the mechanisms
implemented to add domain knowledge to the evolutionary algorithm both
before and during the search process. Section 5 provides a comparative study.
Finally, Section 6 presents the general conclusions and some possible paths for
future research.

Problem Statement

The variant of the problem tackled here was proposed by Ben Paechter for the
International Timetabling Competition organized by the Metaheuristics Network [16]. It is referred to in the following as the University Course Timetabling
Problem (UCTP). Lecture must be scheduled in 45 timeslots (5 days of 9 hours
each) and a number of rooms, with varying facilities and student capacities,
so that the following hard constraints are satisfied:
H1 : lectures having students in common cannot take place at the same time;
H2 : lectures must take place in a room suitable for them in terms of facilities
and student capacity; and
H3 : no two lectures can take place at the same time in the same room.
We consider as well the following soft constraints:
S1 : students should not have to attend lectures in the last timeslot of the
day;
S2 : they should not attend more than two lectures in a row; and
S3 : they should not have only one lecture in any given day.
Note that the S1 constraints can be checked without knowledge of the rest
of the timetable; S2 constraints can be checked while building a timetable is
complete and all lectures have been assigned a timeslot. A timetable in which
all lectures have been assigned to a timeslot and a room so that no hard
constraints are violated, is said to be feasible. The aim of the problem is to
find a feasible solution with minimal soft constraint violations.

2.1 Model

2.1.1 Parameters
The parameters of the problem are the following:
3

R: Set of Rooms
E: Set of Events
F : Set of Features
S: Set of Students
T : 45 timeslots (5 days of 9 slots per day).

2.1.2 Variables
Let: a, indicate students attendance:
a(si ,ej )

if student si attends event ej


otherwise

g, indicate wich rooms are suitable for which events (i.e. the room provides
all the features that the event requires and has the right size) ej :
g(rl ,ej )

if room ri is suitable for the event ej


otherwise

p, indicate the placement of events:


p(ej ,tk ,rl )

if event ej is placed in timeslot tk and room rl


otherwise

2.1.3 Hard Constraints


Lectures having students in common cannot take place at the same time.
H1 : sS tT

|E| |R|
X
X

a(s,ej ) p(ej ,t,rl ) 1

(1)

j=0 t=0

Lectures must take place in a room suitable for them in terms of facilities
and student capacity.
H2 : eE

|T | |R|
X
X

p(e,tk ,rl ) g(rl ,e) = 1

(2)

k=0 t=0

No two lectures can take place at the same time in the same room.
H3 : tT rR

|E|
X

p(ej ,t,r) 1

(3)

j=0

2.1.4 Soft Constraints


Students should not have to attend lectures in the last timeslot of the day.
|R| |E| |S|
4 X
XX
X

S1 :

p(ej ,t9d+8 ,rl ) a(s,ej )

(4)

d=0 l=0 j=0 i=0

They should not attend more than two lectures in a row.


|S| 9d+7
4 X
X
X

S2 :

h(),

(5)

d=0 i=0 k=9d

h() =

si

P2

n=0

P|R P|E|
t=0

j=0

p(ej ,tk ,rl) a(si ,ej ) = 3

e.o.c.

They should not have only one lecture in any given day.
S3 :

|S|
4 X
X

q(),

(6)

d=0 i=0

q() =

si

P9d+9 P|R P|E|


k=9d

t=0

j=0 p(ej ,tk ,rl )

a(si ,ej ) = 1

e.o.c.

2.1.5 Objective Function


Minimize { S1 + S2 +S3 }

(7)

The goal of solving the problem formulated in such a way is to minimize the
number of soft constraint violations.

Cultural Algorithms

Cultural algorithms were developed by Reynolds [21] as a complement to the


metaphor used by evolutionary algorithms [10], which had focused mainly on
genetic and natural selection concepts.
Cultural algorithms are based on some theories originated in sociology and
archaeology which try to model cultural evolution (see for example [7]). Such
theories indicate that cultural evolution can be seen as an inheritance process
operating at two levels: (1) a micro-evolutionary level, which consists of the
5

genetic material that an offspring inherits from its parents, and (2) a macroevolutionary level, which consists of the knowledge acquired by individuals
through generations. This knowledge, once encoded and stored, is used to
guide the behavior of the individuals that belong to a certain population.
Culture can be seen as a set of ideological phenomena shared by a population
[23]. Through these phenomena, an individual can interpret its experiences
and decide its behavior. In these models, it can be clearly appreciated the
part of the system that is shared by the population: the knowledge, acquired
by members of a society, but encoded in such a way that such knowledge
can be accessed by every other member of the society. And then there is an
individual part, which consists of the interpretation of such knowledge encoded
in the form of symbols. This interpretation will produce new behaviors as
a consequence of the assimilation of the corresponding knowledge acquired,
combined with the information encoded in the ancestors genes.
Reynolds [21] attempts to capture this double inheritance phenomenon through
his proposal of cultural algorithms. The main goal of such algorithms is to increase the learning or convergence rates of an evolutionary algorithm such
that the system can respond better to a wide variety of problems [11].
Cultural algorithms operate in two spaces. First, there is the population space,
which consists of (as in all evolutionary algorithms) a set of individuals. Each
individual has a set of independent features that are used to determine its
fitness. Through time, such individuals can be replaced by some of their descendants, which are obtained through the application of a set of operators
from the population.
The second space is the belief space, which is where the knowledge, acquired by
individuals through generations, is stored. The information contained in this
space must be accessible to each individual, so that they can use it to modify
their behavior. In order to join the two spaces, it is necessary to provide a
communication link, which dictates the rules regarding the type of information
that must be exchanged between the two spaces.
Algortihm 1 shows the pseudo-code of a cultural algorithm.
Most of the steps of a cultural algorithm correspond with the steps of a traditional evolutionary algorithm. It can be clearly seen that the main difference
lies in the fact that cultural algorithms use a belief space. In the main loop of
the algorithm, the belief space must be updated. It is at this point in which
the belief space incorporates the individual experiences of a select group of
members of the population. Such a group is obtained with the function accept,
which is applied to the entire population.
On the other hand, the variation operators (such as recombination or muta6

Algorithm 1 Pseudo-code of a cultural algorithm


Generate the initial population
Initialize the belief space
Evaluate the initial population
repeat
Update the belief space (with the individuals accepted)
Apply the variation operators (under the influence of the belief space)
Evaluate each child
Perform selection
until the end condition is satisfied

tion) are modified by the function influence. This function applies some pressure such that the children resulting from the variation operators can exhibit
behaviors closer to the desirable ones and farther away from the undesirable
ones, according to the information stored in the belief space.
These two functions (accept and influence) constitute the communication link
between the population space and the belief space. Such interactions can be
appreciated in Figure 1 [22]. The implementation details for these functions
in the current proposal are given in the next section.
In [21], it is proposed the use of genetic algorithms [14] to model the microevolutionary process, and Version Spaces [20] to model the macro-evolutionary
process of a cultural algorithm. This sort of algorithm was called the Version
Space guided Genetic Algorithm (VSGA). The main idea behind this approach
is to preserve beliefs that are socially accepted and discard (or prune) unacceptable beliefs. Therefore, if a cultural algorithm for global optimization is
applied, the acceptable beliefs can be seen as constraints that direct the population at the micro-evolutionary level [19].
In genetic algorithms theory, there is an expression, called schema theorem
[15] that represents a bound on the speed at which the best schemata of the
population are propagated. Reynolds [21] provided a brief discussion regarding
how the belief space could affect the schema theorem. His conclusion was that,
by adding a belief space to an evolutionary algorithm, the performance of such
algorithm can be improved by increasing its convergence rate. That constitutes
the main motivation to use cultural algorithms. Despite the lack of a formal
mathematical proof of this efficiency improvement, there is empirical evidence
of such performance gains reported in the literature (see for example [4,5]).
7

Adjust

Beliefs

Acceptance

Influence

Performance
Function

Population

Selection

Variation

Fig. 1. Spaces of a Cultural Algorithm

Proposed Approach

The approach proposed in this paper uses, in its population space, a population based on the evolutionary algorithm originally proposed in [18]. A
pseudo-code with the main steps of the proposed cultural algorithm is shown
in Algorithm 2.
In our algorithm, we have considered three types of knowledge: situational,
normative and domain knowledge. Also, we are using five variation operators:
two of them use the cultural knowledge (cultural mutation and repair) while
the other three are designed to add the exploration component of the algorithm
(interchange, sequencing and simple mutation). It is worth mentioning that
only one of the exploration operators is applied to each individual.

4.1 Representation

The representation adopted to encode the solutions plays a very important


role when applying an evolutionary computation technique [26,24]. In this
case, a matrix representation was adopted, where columns represent slots of
time, and rows represent rooms for the events.
This encoding was chosen because it can represent any feasible timetable, and
is easier to analyze the violation of some hard constraints, considering only
one column at a time.
8

4.2 Exploration Operators


The exploration operators are those that allow to maintain diversity of the
population. They are listed next.
The sequencing operator is similar to the one in [17], and its intention is to
generate a large change in the individual since it interchanges two timeslots
(this operator is the most destructive one used here).
The interchange operator of [18], interchanges two events, and its purpose is
to modify the individuals when the problems have in their feasible solutions
the same number of places available and events to assign.
The simple mutation operator changes the place of an event, and it is useful
when the problems have more places availabe in their feasible solutions (without considering the last periods of the day) than events to assign. The last
two operators make use of the matching algorithm [13] to increase their rate
of success.
Algorithm 2 Pseudo-code of the cultural algorithm adopted
Generate s random schedules (initial population)
Compute the fitness of each individual in the initial population
Initialize the belief space (copying the best individual to the situational belief
space and create the normative matrix)
repeat
for each individual in current population do
Apply cultural mutation operator
switch (operator)
case Interchange:
Apply Interchange Operator
case Sequencing:
Apply Sequencing Operator
case SimpleMutation:
Apply Simple Mutation Operator
end switch
Apply repair operator (with domain knowledge)
end for
Selection proccess
Update the belief space (with the individuals accepted)
until the end condition is satisfied

4.2.1 Parameter Control for the Application of Exploration Operators


The parameter control is a process, concurrent to the search of solutions, that
allows values of the parameters to change during this process [8]. We use a
9

mechanism of parameter control in order to select the exploration operator


(interchange, sequencing or simple mutation) to apply during the mutation
process, using a roulette wheel and based on the success rate of each operator.
This mechanism consists of updating the probability of each operator to be
applied, following some simple rules.
If the application of the operator number i results on an improvement of the
fitness of the generated individual (with respect to his parent) (fcur < fprev ),
the update of the probabilities is made as follows:
operator[i] = operator[i] + variation
where operator[] is the array that contains the probabilities of the operators
prev fcur
to be applied, variation = ffprev
, and j {1, . . . , NumOper} and
+fcur
variation
i 6= j, operator[j] = operator[j] N umOper1 , with NumOper = 3 in this case,
because we have three operators.
This technique to update the operator rates was taken from the techniques to
adapt the population size proposed by Eiben [9] and Michalewicz [1].
When an operator i is applied and the present solution gets worse (fcur >
fprev ); the updating of the probabilities is made as follows:
operator[i] = operator[i] variation
ime
, and j {1, . . . , NumOper} and i 6= j, operator[j] =
where = PTresentT
otalT ime
variation
operator[j] + N umOper1 .

The goal of incorporating the factor is to mantain controlled the level of


decrement, with the objective of not dusturbing those operators whose decreasing ranks are much greater, like the sequencing operator.
Initially, the 3 operators in competition start with the same probability of
being chosen: i {1, . . . , NumOper}, operator[i] = 1/CantOper. In order
to assure that all operators always have a probability 6= 0 of being chosen, all
values in operator[] remain between MinP rob = 0.1 and MaxP rob = 0.8.

4.3 Mutation Operators with Cultural Influence

The operator begins selecting an event E and a position (r, t) to move it. This
is done through different types of cultural influence.
10

4.3.1 Situational Influence


With the situational influence each individual tries to follow a leader. Such a
leader is the best individual found, and is stored in the situational belief space.
The key idea is that the individual to be mutated becomes more similar to the
leader after the mutation process. The mutation operator randomly selects an
event E from the leader, and tries to inherit its position (r, t) to the individual.
The situational belief space is updated at each generation. If the best individual of the current generation is better than the leader in the situational belief
space, then the leader is replaced by that individual.

4.3.2 Normative Influence


This type of influence is more complex. At each generation, the above average individuals are selected. The idea is to influence the individual to be
mutated to inherit some of their characteristics. Before describing the procedure, we need the following definitions: We define a ranking of events as
the set of all the events ordered by the number of events with shared students among them. Thus, the event most connected with other events is the
first in the ranking. Given a population P (g) of the generation g and the
set Sg composed by the best s individuals of the generation g, we define
M = Matrix(event, individual), where each element Mij is the timeslot assigned to the event i in the individual j which belongs to Sg .
The operator proceeds as follows. The room r is fixed. The event is chosen
from the ranking of events using a roulette wheel procedure which is biased
to the most interconnected events. The new timeslot in the same room r is
randomly selected from the matrix M, thus the most common timeslot t of the
event E in M has the biggest probability of being selected. The hardest event
to be assigned, from the constraints point of view, is the event that shares
students with the largest number of events.
The matrix M is updated at each generation g, after the selection of the set
Sg (the above average individuals).
Once an event E and the position (r, t) have been selected (by any of the
cultural influences mentioned), the process of mutation continues as shown in
Algorithm 3. First of all, the operator identifies the current position (rE , tE )
of the event E in the individual to be mutated. If the new position selected
(r, t) is empty and if it is feasible to place E there (from the hard constraints
point of view), the current position of event E is modified to (r, t). In case
another event Em is in (r, t), the operator makes swapping moves to change
Em to another position, in order to release (r, t).
11

Algorithm 3 mutation(E, (r, t)) procedure, which implements mutation after


the influence of cultural selection
1: mutation f inished = F ALSE
2: identify the position (rE , tE ) of the event E in the chromosome
3: while mutation f inished 6= T RUE or maxtries < 1000 do
4:
if the position (r, t) of the chromosome is empty then
5:
try to move the event E from the position (rE , tE ) to (r, t), satisfying
the hard constraints
6:
else
7:
try a swapping move of the event Em in (r, t)
8:
end if
9:
if the position of E was changed then
10:
mutation f inished = T RUE
11:
end if
12: end while
4.4 Domain Knowledge

Our algorithm makes a post-processing procedure which uses the domain


knowledge to modify individuals. In the timetabling problem, it is known
that the best solution does not include events in the last timeslots of each
day. Thus, the purpose of the repair operator is to try to move the events
located in the last timeslots to the earliest ones, always satisfying the hard
constraints.

Comparison of Results

The Cultural Algorithm (CA) is compared with respect to 3 different approaches: a Simulated Annealing (SA) that was the winner of the competition
[17], a recent version of a Memetic Algorithm (MA) [25] and the Evolutionary
Algorithm (EA) on which this work is based [18]. These references were chosen
because they are representative of the state-of-the-art and very competitive
on the timetabling problem. The comparison with another EA shows the improvement obtained with the incorporation of culture. The SA approach is
not an EA, but it was adopted in our comparative study because it remains
as the best approach known so far for the timetabling problem.
The benchmark adopted to make the tests and comparisons are the 20 instances of UCTP from the timetabling competition [16]. Those problems are
characterized for being of varied difficulty, they consider the individual satisfaction of the students (which allows to consider them individually, not in
classes nor groups), and have at least one solution that fulfills both types of
12

Fitness v/s Time

Fitness v/s Time

550

900

Evolutionary Algorithm
Cultural Algorithm

Evolutionary Algorithm
Cultural Algorithm

500

800

450
700
400

Fitness

Fitness

600
350

300

500

400
250
300
200
200

150

100

100
0

30

60

90

120

150

180

210

240

270

300

330

360

30

60

90

120

Time

150

180

210

240

270

300

330

360

Time

(a) Worst case: Instance 02

(b) Best case: Instance 06

Fig. 2. Comparison in time

restrictions.
The proposed approach was implemented in the C++ programming language
and was compiled using the GNU g++ compiler in the operating system Debian 3.1. Also, the matching algorithm found in the LEDA library [13] was
used.
The cultural algorithm spent a CPU time of 360 seconds per run, as was
required by the bechmarking rules of the timetabling competition, for our
system configuration.

5.1 Cultural Algorithm and Evolutionary Algorithm

The graphs of Figure 2 show the best and the worst case of improvement
of CA with respect to EA, in the 20 instances considered. The worst case
(Figure 2(a)) and the best behavior (Figure 2(b)) consider a significant improvement in the first stages which is reflected directly in the final result, in
which the cultural algorithm has better results. These graphs show that, as
expected, the incorporation of culture tends to accelerate the convergence of
the algorithm and to improve the results.

5.2 Cultural Algorithm and Other Algorithms

Table 1 shows the results obtained by each algorithm in the 20 instances.


Table 2 shows a comparison of distances of the cultural algorithm with respect
to the other 3 algorithms. Table 3 shows a summary of the obtained results
emphasizing that the CA improves all the results of the EA. The results of the
CA are very close in quality from those of the MA. Finally, SA is still the most
robust approach to solve timetabling problems, as can be seen in Table 3.
13

Instance

EA

CA

MA

SA

288

140

104

45

260

123

91

25

322

149

126

65

679

330

189

115

557

306

212

102

532

171

90

13

430

159

127

44

305

133

94

29

283

101

78

17

10

311

147

113

61

11

328

120

90

44

12

350

187

138

107

13

420

233

185

78

14

469

267

187

52

15

400

204

120

24

16

302

102

74

22

17

521

311

182

86

18

254

100

75

31

19

550

296

224

44

20

424

159

60

Table 1
Comparison of results

5.3 Adaptation on Operators Application Rate

The incorporation of a mechanism to control the parameters of the cultural


algorithm, during the selection of the operator to use, resulted in an improvement on the performance of every instance of the benchmark. The graphs
of Figure 3 show two representative instances of the UCTP. One of them is
the instance number 20 (Figure 3(a)) where 350 events in 400 places are considered; in such a case the simple mutation operator resulted useful because
an important factor was the number of free places to assign events. On the
other hand, instance number 09 (Figure 3(b)) has less options to schedule an
event, while it has 440 events and just 440 places; in this case, the interchange
14

Instance

EA - CA (%)

MA - CA (%)

SA - CA (%)

51,4

-25,7

-67,9

52,7

-26

-79,7

53,7

-15,4

-56,4

51,4

-42,7

-65,2

45,1

-30,7

-66,7

67,9

-47,4

-92,4

63

-20,1

-72,3

56,4

-29,3

-78,2

64,3

-22,8

-83,2

10

52,7

-23,1

-58,5

11

63,4

-25

-63,3

12

46,6

-26,2

-42,8

13

44,5

-20,6

-66,5

14

43,1

-30

-80,5

15

49

-41,2

-88,2

16

66,2

-27,5

-78,4

17

40,3

-41,5

-72,3

18

60,6

-25

-69

19

46,2

-24,3

-85,1

20

62,5

-62,3

-95,6

Table 2
Improvement of the results of CA compared with the three other approaches

Algorithm

Average

Standard Deviation

EA

399,25

119,46

CA

186,9

76,58

MA

127,95

50,72

SA
50,55
Table 3
Summary of results for all instances

32,39

15

Operator Rate v/s Generations

Operator Rate v/s Generations

Simple Mutation
Sequencing
Interchange
Fitness

0.95
0.9
0.85

0.9
0.85

0.8
0.75

0.8
0.75

0.7

Operators rate

Operators rate

Simple Mutation
Sequencing
Interchange
Fitness

0.95

0.65
0.6
0.55
0.5
0.45
0.4
0.35
0.3
0.25

0.7
0.65
0.6
0.55
0.5
0.45
0.4
0.35
0.3
0.25

0.2

0.2

0.15
0.1

0.15
0.1

0.05
0

0.05
0
0

500

1000

1500

2000

2500

3000

3500

Generations

500

1000

1500

2000

2500

3000

3500

Generations

(a) Instance 20, with more places than (b) Instance 09, with the same number
events
of places and events
Fig. 3. Operators rate of application

operator was more useful.

Conclusions and Future Work

In this paper, we propose the use of domain knowledge, both a priori and
extracted during the search, to improve the performance of an evolutionary
algorithm when solving timetabling problems. The executed experiments provided very encouraging results.
As a future work it would be very interesting to analyze the mechanisms of the
simulated annealing method, in order to incorporate them in an evolutionary
algorithm or a cultural algorithm. Also, the development of a classification
of instances, is a very interesting topic for future research, mainly to better
understand the performance of different algorithms on different instances.

Acknowledgments

The fourth author acknowledges support from CONACyT through project


number 45683-Y.

References
[1] J. Arabas, Z. Michalewicz, and J. Mulawka. GAVaPS-A Genetic Algorithm with
Varying Population Size. In Proceedings of the 1st IEEE Conf. on Evolutionary
Computation, 1994.

16

[2] Halvard Arntzen and Arne Lkketangen. A local search heuristic for a university
timetabling problem. International Timetabling Competition, 2003.
[3] M. Chiarandini, K. Socha, M. Birattari, and O. Rossi-Doria. International
timetabling competition. A hybrid approach. Technical Report AIDA-03-04,
Intellectics Group, Computer Science Department, Darmstadt University of
Technology, Darmstadt, Germany, March 2003.
[4] Chan-Jin Chung and Robert G. Reynolds. CAEP: An Evolution-based Tool
for Real-Valued Function Optimization using Cultural Algorithms. Journal on
Artificial Intelligence Tools, 7(3):239292, 1998.
[5] Carlos A. Coello Coello and Ricardo Landa Becerra. Adding Knowledge and
Efficient Data Structures to Evolutionary Programming: A Cultural Algorithm
for Constrained Optimization. In W.B. Langdon et al., editors, Proceedings of
the Genetic and Evolutionary Computation Conference (GECCO2002), pages
201209, San Francisco, California, July 2002. Morgan Kaufmann Publishers.
[6] Jean Franois Cordeau, Brigitte Jaumard, and Rodrigo Morales. Efficient
timetabling solution with tabu search. International Timetabling Competition,
2003.
[7] W. H. Durham. Co-evolution: Genes, Culture, and Human Diversity. Stanford
University Press, Stanford, California, 1994.
[8] A. E. Eiben, R. Hinterding, and Z. Michalewicz. Parameter Control in
Evolutionary Algorithms. IEEE Transactions on Evolutionary Computation,
3(2):124141, July 2000.
[9] A.E. Eiben, E. Marchiori, and V.A. Valko. Evolutionary Algorithms with onthe-fly Population Size Adjustment. In Parallel Problem Solving from Nature,
PPSN VIII, volume 3242, pages 4150, 2004.
[10] David B. Fogel. Evolutionary Computation. Toward a New Philosophy of
Machine Intelligence. The Institute of Electrical and Electronic Engineers, New
York, 1995.
[11] Benjamin Franklin and Marcel Bergerman. Cultural algorithms: Concepts
and experiments. In Proceedings of the 2000 Congress on Evolutionary
Computation, pages 12451251, Piscataway, New Jersey, 2000. IEEE Service
Center.
[12] Luca Di Gaspero and Andrea Schaerf. Timetabling competition ttcomp 2002:
Solver description. International Timetabling Competition, 2003.
[13] Algorithmic Solutions Software GmbH.
Leda 5.1.
algorithmic-solutions.com/index.htm, 2006.

http://www.

[14] David E. Goldberg. Genetic Algorithms in Search, Optimization and Machine


Learning. Addison-Wesley Publishing Company, Reading, Massachusetts, 1989.
[15] John H. Holland. Adaptation in Natural and Artificial Systems. University of
Michigan Press, Ann Arbor, Michigan, 1975.

17

[16] IDSIA. International timetabling competition. http://www.idsia.ch/Files/


ttcomp2002/, 2003.
[17] Philipp Kostuch. Timetabling compatition - sa-based heuristic. International
Timetabling Competition, 2003.
[18] R. Lewis and B. Paechter. New crossover operators for timetabling with
evolutionary algorithms. In 5th International Conference on Recent Advances in
Soft Computing (RASC 2004), volume 5 of Lecture Notes in Computer Science,
pages 189195. Nottingham, UK, 2004.
[19] Zbigniew Michalewicz. A Survey of Constraint Handling Techniques in
Evolutionary Computation Methods. In J. R. McDonnell, R. G. Reynolds, and
D. B. Fogel, editors, Proceedings of the 4th Annual Conference on Evolutionary
Programming, pages 135155. The MIT Press, Cambridge, Massachusetts, 1995.
[20] Tom Mitchell. Version Spaces: An Approach to Concept Learning. PhD thesis,
Computer Science Department, Stanford University, Stanford, California, 1978.
[21] Robert G. Reynolds. An Introduction to Cultural Algorithms. In A. V.
Sebald and L. J. Fogel, editors, Proceedings of the Third Annual Conference
on Evolutionary Programming, pages 131139. World Scientific, River Edge,
New Jersey, 1994.
[22] Robert G. Reynolds. Cultural algorithms: Theory and applications. In David
Corne, Marco Dorigo, and Fred Glover, editors, New Ideas in Optimization,
pages 367377. McGraw-Hill, London, UK, 1999.
[23] Peter J. Richerson and Robert Boyd. Not By Genes Alone: How Culture
Transformed Human Evolution. University Of Chicago Press, December 2004.
[24] S. Ronald. Robust encodings in genetic algorithms. In D. Dasgupta and
Z. Michalewicz, editors, Evolutionaty Algorithms in Engineering Applications,
pages 3044. Springer-Verlag, 1997.
[25] O. Rossi-Doria and B. Paechter. A memetic algorithm for university course
timetabling. In Proceedings of Combinatorial Optimisation, CO 2004, 2004.
[26] Franz Rothlauf. Representations for Genetic and Evolutionary Algorithms.
Physica-Verlag, New York, 2002.
[27] Krzysztof Socha, Michael Sampels, and Max Manfrin. Ant algorithms for
the university course timetabling problem with regard to the state-of-the-art.
In Proceedings of EvoCOP 2003 3rd European Workshop on Evolutionary
Computation in Combinatorial Optimization, volume 2611 of LNCS, pages 334
345. Springer-Verlag, April 2003.

18

You might also like