A double evolutionary pool memetic algorithm is proposed to solve the examination timetabling problem. To improve the performance of the proposed algorithm, two evolutionary pools, that is, the main evolutionary pool and the secondary evolutionary pool, are employed. The genetic operators have been specially designed to fit the examination timetabling problem. A simplified version of the simulated annealing strategy is designed to speed the convergence of the algorithm. A clonal mechanism is introduced to preserve population diversity. Extensive experiments carried out on 12 benchmark examination timetabling instances show that the proposed algorithm is able to produce promising results for the uncapacitated examination timetabling problem.
Timetabling problem has great significance in our daily life, which has drawn more and more attention since 1960s. Generally speaking, the timetabling problems include educational timetabling [
It has been a long history in the field of examination timetabling problems. Perhaps the earliest excellent survey of examination timetabling problems was introduced by Carter [
In 1994, Corne et al. [
In the last decade, more researchers paid their attention to introduce some local search operators to improve the quality of solutions obtained in the examination timetabling problems, which had made remarkable achievements. di Gaspero and Schaerf [
As is presented above, there are two difficult problems that researchers have to face when they want to solve the ETP. One is how to generate feasible individuals, and the other is how to optimize these feasible individuals. Genetic algorithm is a famous and useful tool for this kind of nonlinear optimization problems. It is well known to all that genetic algorithms obtain better and better solutions through proper coding process, crossover, and mutation operators in a series of iterations. Some parameters and operators should be predefined properly with the aim to get an excellent solution. Therefore, there are recently an increasing number of successful algorithms for the examination timetabling problems based on genetic algorithm with local search methods, which are often called memetic algorithms.
In this paper, we also concentrate on solving the examination timetabling problems with the main framework of the evolutionary algorithm. A double evolutionary pool memetic algorithm (DEPMA) for examination timetabling problems is proposed in our paper. There are two evolutionary pools in our algorithm to solve the two difficult problems, respectively. Each evolutionary pool has its own conventional crossover operator, mutation operator, and selection mechanism. The main evolutionary pool with a large scale of population is aiming to make the constructed examination timetables more and more feasible, in which there is one local search operator based on reordering strategy. The clonal strategy is employed to make the feasible individuals produced in the main evolutionary pool export into the secondary evolutionary pool. The reasons that we use the clonal strategy are as follow: For some test instances (e.g., Car91, Ear83, Hec92, Uta92, and York83), enough feasible solutions cannot be acquired from the main evolutionary pool, thus, the secondary evolutionary pool also cannot guarantee optimal solutions, which affects the ultimate performance of the algorithm (see Figure
The remaining parts of our paper are organized as follows. We will concentrate on descriptions of the examination timetabling problems in Section
As is described in Section
In any case, hard constraints cannot be violated (mainly due to physical restrictions). That is to say, the examinations with the conflict resources cannot be scheduled simultaneously. A timetable which satisfies all the hard constraints is usually called a feasible timetable.
Soft constraints are desirable but are not absolutely critical. In practice, it seems quite hard to find a solution which satisfies all the soft constraints. Soft constraints vary from one institution to another in terms of both the type and their importance [
As depicted in Section
The mathematical formulation is as follows:
Equation (
To evaluate the quality of one feasible timetable, one evaluation function based on soft constraints has been proposed. The function is to evaluate the average cost per student. It can be described as follows:
For students taking two examinations which are
In this section, a double evolutionary pool memetic algorithm is introduced to solve the incapacitated examination timetabling problems. In addition, several local search operators are designed for each evolutionary pool, whose aims are to make the individual become more and more feasible and satisfy as many soft constraints as possible.
Generally speaking, the standard evolutionary algorithms are a class of generalpurpose optimization tools that model the principles of nature evolution. Evolutionary algorithms are populationbased heuristic methods, which start from an initially randomly generated population. Then all individuals in the population are evaluated according to one problemspecific function, which is usually called fitness function. After the evaluation process, some good individuals are chosen to undergo the recombination process. In the recombination process, crossover and mutation operators are applied to create new individuals in order to explore the search space. After that, the newly produced individuals replace the old ones, which are usually the worst ones of the population based on the fitness function. This process is repeated until a stopping criterion is reached, which may be the maximum number of generations or a time limit. Maybe the first use of genetic algorithm in timetabling problems appeared in 1990 [
In our paper, we propose a double evolutionary pool memetic algorithm for examination timetabling problem, which is denoted as DEPMA. Algorithm
NM: The scale of population in the main evolutionary pool
PopS: The population in the secondary evolutionary pool
NS: The scale of population in the secondary evolutionary pool
IterMax: The maximum iteration number
Itermax: The maximum iteration number for the local search operators
Part B, which is denoted as PopM. Meanwhile,
described in Part 3.3.
described in Part 3.4.
performed according to what is described in Part 3.5.
the main evolutionary pool satisfy all hard constraints, all feasible individuals are put into the secondary evolutionary pool.
Meanwhile, create some new individuals replacing those feasible ones in the population for the main evolutionary pool.
individuals. Otherwise, each feasible individual obtained from the main evolutionary pool is copied according to the
following rules. The number of each feasible individual after clone is
the secondary evolutionary pool with the cloned individuals. Select the best NS individuals as the population in the
secondary evolutionary pool.
individuals satisfy more and more soft constraints.
individual in the current generation constant in the population in the secondary evolutionary pool. And then combine
other individuals in the original secondary evolutionary pool with the best individual to form the population in the
secondary evolutionary pool.
Before introducing the details of our algorithm, we should concentrate on the motivation of proposed framework and two new strategies in our algorithm. Conventionally, fitness function obtained by weightedsum of the hard constraint and the soft constraint cannot reflect which is the primary factor between the hard constraint and soft constraint in the gradual optimization process. Therefore, our double evolutionary pool framework is proposed, whose purpose is to make the individuals become feasible in the main evolutionary pool and to make the feasible individuals satisfy more soft constraints in the secondary evolutionary pool. It should be emphasized that these two evolutionary pools are not independent. Once feasible individuals emerge in the main evolutionary pool, they will be cloned and put into the secondary evolutionary pool. There is one disadvantage without clonal strategy. In the evolutionary process, perhaps the newly produced individuals can be easily obtained from parent just through exchanging different timeslots. Therefore, to speed up the convergence speed and make full use of one feasible individual, clonal strategy is introduced in the selection process between these two evolutionary pools. In addition, our reordering strategy in the main evolutionary pool is to reorder the timeslots before one new examination is inserted into one timetable, which is beneficial to give the priority to those timeslots with fewer examinations and to make the examinations with more conflicts separate from each other. In this case, the numbers of examinations in each timeslot will become more uniform. Meanwhile, the individuals can become feasible much easier. In the following parts, the whole proceeding from the start to the end of our algorithm is introduced.
In our paper, the incapacitated examination timetabling problem is the focal point of our research. A binary coding representation for examination timetabling is introduced, whose details are shown as follows:
To schedule all the examinations in one timetable, the number of timeslots is always set one more than the given ones. That is to say, there are two kinds of timeslots in our timetable. One is called the regular timeslots and the other is called alternate timeslot.
Table
The structure of individuals in our algorithm.






1  0  0  0  0 
0  1  0  0  0 
0  0  0  0  1 
0  0  0  1  0 
0  0  1  0  0 
In our algorithm, examinations are randomly inserted into a binary timetable one by one. In the initialization part, a new reordering strategy is introduced in order to make one feasible timetable as soon as possible (see Figure
The illustration of how to allocate examinations in the initialization.
Consider an example as follows. Assume that there are four timeslots in the timetable with several examinations.10 examinations have been allocated in this timetable. We will detail that how the 11th examination is allocated into the timetable. According to what is described above, before we insert the 11th examination into the timetable, we should reorder all timeslots except the alternate timeslot according to some indicators. Here consider the number of examinations and the hard constraint in each timeslot as the indicator. Calculate the sum of examinations in each timeslot, which are 3, 2, 4, and 1, respectively. Therefore, the position of each timeslot will be exchanged according to the indicator. When inserting a new examination, our purpose is to give priority to the timeslot which has fewer examinations and the new examination in this timeslot does not violate the hard constraint. After the reordering strategy, the timetable is transformed. Through the reordering strategy, we can insert a new examination without causing any conflict much easily.
Since the fitness function in the main evolutionary pool is to minimize the number of examinations in the alternate timeslot, there are some disadvantages in randomly crossover for this kind of timetabling scheduling problem. The reason is that randomly selected examinations or timeslots to exchange may lead to the increasing of sum of examinations in the alternate timeslot. Consequences are that there are rarely few feasible individuals in the main evolutionary pool and lots of computations are wasted. Meanwhile, through observing many experimental results, there are few examinations in the alternate timeslot after the randomly initialization. Therefore, there exist some timeslots in both parents, which do not contain examinations in alternate timeslots for both parents. Then randomly select some above timeslots to crossover will not make the children worse than their parents as much as possible. Therefore, one special crossover operator is applied in our algorithm. Assume that selected parents are
timeslots in our timetable. Randomly select examinations in
examination in
In the mutation operator, the reordering strategy is still applied to extend the search space. After randomly selecting some examinations to make the mutation process, a special reordering strategy is applied here. According to some indicators such as the number of participating students or the conflicts for each examination, the examinations are selected to perform mutation operation. Then all selected examinations will be inserted into the timetable one by one again. Examinations that cannot be put into nonalternate timeslots should be ranged into the alternate timeslot. Consider an example that there are 10 examinations in the timetable. The mutation ratio
To make the individual satisfy more and more hard constraints, a local search operator will be introduced. Conventionally, the simulated annealing algorithm is always used as the local search operator. The simulated annealing algorithm makes the individuals change in the annealing process, whose purpose is to enable the individuals to become better than the initial state as much as possible and accept bad individuals with a small probability. However, there are few feasible individuals in the main evolutionary pool in our algorithm. We should enhance the strength of the local search operator. Therefore, in our local search operator the small probability to accept bad individual is removed. We only receive better individuals after annealing process. Otherwise, the individual should keep constant. Additionally, during the annealing process, if the individuals cannot become better through a certain number of iteration, the sum of examinations to be rearranged should be increased by a constant step. For instance, the step in our algorithm is set as 1, which means that the sum of examinations to be rearranged will be increased by 10 percent. (see Algorithm
PN: the new individual
Iter: the iteration number
Itermax: the maximum iteration number:
SD: the search depth.
randomly select
In the secondary evolutionary pool, one special crossover operator and mutate operator will be integrated into the local search operator in the secondary evolutionary pool. Since all individuals are feasible in the secondary evolutionary pool and all timeslots are independent, random exchange of some timeslots cannot change the feasible properties for individuals in the secondary evolutionary pool. Therefore, the crossover operator will randomly exchange
The illustration of the crossover operator in the secondary evolutionary pool.
The mutation operator is more complicated. Randomly select a small number of examinations and set their original position as 0. Then insert them into the timetable from the first timeslot to the last one without causing any conflict; otherwise, the individual should be constant. Therefore, details of mutation operator are described as Figure
The illustration of the mutation operator in the secondary evolutionary pool.
Boxplots for best fitness values obtained from DEPMA (a), DEPMA without clonal strategy (b), and DEPMA without reordering strategy (c).
Our local search operator in the second evolutionary pool is based on the crossover operator and the mutation operator above. After a certain number of iteration for crossover and mutation process, the selected individuals will be replaced by the newly produced better individuals. Otherwise, if the individuals cannot become better, they should be kept constant. Therefore, the details are described in Algorithm
PN: the new individual
Iter: the iteration number
Itermax: the maximum iteration number:
Selecte
Perform the mutation and crossover process, and then obtain the new individual
After describing all in details, we should concentrate on how to validate the efficiency of our algorithm. Therefore, in next section 12 benchmark examination timetabling problems are introduced and tested on our DEPMA.
In this section, some experimental results are presented to validate our algorithm. Firstly, 12 benchmark test problems are briefly introduced. Secondly, we will show the efficiency of our proposed strategy in boxplots. Finally, our best results will be compared with the other ones obtained in another 16 algorithms. Note that the DEPMA is implemented on a 2.8 GHz core personal computer.
The high level of research interest in examination timetabling has led to the establishment of a variety of different benchmark problems which have been widely studied. Carter et al. [
In all the test problems, to indicate the density of the conflicting examinations in each of the instances, a conflict matrix
The characteristics of benchmark exam timetabling problems.
Date set  Timeslots  Exams  Students  Conflict density 

Car 91  35  682  16925  0.13 
Car 92  32  543  18419  0.14 
Ear 83  24  190  1125  0.27 
Hec 92  18  81  2823  0.42 
Kfu 93  20  461  5349  0.6 
Lse 91  18  381  2726  0.6 
Rye 92  23  486  11483  0.08 
Sta 83  13  139  611  0.14 
Tre 92  23  261  4360  0.18 
Ute 92  10  184  2750  0.08 
Uta 93  35  622  21266  0.13 
York 83  21  181  941  0.29 
Since we introduce the reordering strategy to make the examinations with large conflicts separate from each other and the clonal strategy to make full use of one feasible individual and to accelerate the convergence speed, we have made some experiments to compare the performance between DEPMA with and without reordering strategy and DEPMA with and without clonal strategy. All parameters are set in Table
The parameter setting of our algorithm.
Parameter  Values 

NM/NS: the scale of the population in the main/secondary evolutionary pool  100/30 

0.8 

0.2 
IterMax: the maximum iteration number of the whole algorithm  500 
Itermax: the maximum iteration number of the local search approach  10 

2 
It can be found that, for car91 test instance, car92 test instance, hec92 test instance, sta83 test instance, tre92 test instance, uta92 test instance, ute92 test instance, and yor83 test instance, our algorithm with both clonal strategy and reordering strategy obtains the best results. Our algorithm with either clonal strategy or reordering strategy has nearly the same performance for these 8 problems. However, for ear83 test instance, the algorithm without reordering strategy gets the best performance. For kfu83 test instance, the DEPMA without clonal strategy gets the best experimental results. And then the DEPMA without reordering strategy gets the best performance for lse91 test instance, which is in the same case for rye 92 test problems. Overall considering what is said above, the newly introduced clonal strategy in selection process and reordering strategy are benefit for our algorithm.
In our following experiments, we will test the overall performance of the algorithm. There are also 30 independent runs for each test problem. To validate the efficiency of our algorithm, three indicators are introduced here. The generation when the first feasible individual comes out is used to represent the search efficiency in the main evolutionary pool. Meanwhile, the best fitness value and run time is introduced to show the efficiency of the secondary evolutionary pool. All experimental results are represented in boxplots in Figure
Boxplots for the best fitness value (a), the run time (b), and the generation when the first feasible individual comes out in the main evolutionary pool (c).
Some conclusions can be obtained from Figure
In Table
The fitness values of our algorithm compared against the best fitness values of current approaches.
Data sets  Our result  Carter et al. [ 
Caramia et al. [ 
Di Gaspero and Schaerf [ 
Paquete and
Stützle [ 
Burke and Newall [ 
Burke et al. [ 

Car 91  6.4  7.1  6.6  6.2  —  4.65  5.0 
Car 92  5.2  6.2  6.0  5.2  —  4.1  4.3 
Ear 83  39.8  36.4 

45.2  38.2  37.05  36.2 
Hec 92  11.8  10.8 

12.2  11.2  11.54  11.6 
Kfu 93  16.2  14.0  13.2  18.2  16.2  13.9  15.0 
Lse 91  14.5  10.5 

15.2  13.2  10.82  11.0 
Rye 92  12.3  7.3 

—  —  —  — 
Sta 83  157.2  161.5  158.2  160.2  168.2  168.73  161.9 
Tre 92  9.5  9.6  9.2  10.2  9.2  8.35  8.4 
Uta 92  4.3  3.5  3.2  4.2  —  3.2  3.4 
Ute 92  28.6  25.8 

27.8  29.2  25.83  27.4 
York 83  40.5  41.7 

41.2  38.2  37.28  40.8 


Data sets  Burke et al. [ 
Asmuni et al. [ 
Côté et al. [ 
Kendall and
Hussin [ 
Yang and Petrovic [ 
Abdullah et al. [ 
Burke et al. [ 


Car 91  4.8  5.19  5.2  5.37 

5.2  5.36 
Car 92  4.2  4.51  4.2  4.67 

4.4  4.53 
Ear 83  35.4  36.64  34.2  40.18  33.7  34.9  37.92 
Hec 92  10.8  11.6  10.2  11.86  10.83  10.3  12.25 
Kfu 93  13.7  15.34  14.2  15.84  13.82  13.5  15.2 
Lse 91  10.4  11.35  11.2  —  10.35  10.2  11.33 
Rye 92  8.9  10.05  8.8  —  8.53  8.7  — 
Sta 83  159.1  160.79  157.2  157.38  158.35  159.2  158.19 
Tre 92  8.3  8.47  8.2  8.39  7.92  8.4  8.92 
Uta 92  3.4  3.52  3.2  — 

3.6  3.88 
Ute 92  25.7  27.55  25.2  27.6  25.39  26.0  28.01 
York 83  36.7  39.79  36.2  —  36.35  36.2  41.37 


Data Sets  Eley [ 
Qu et al. [ 
Pillay and Banzhaf [ 
Burke et al. [ 
Burke et al. [ 
Xu et al. [ 



Car 91  5.2  5.16  4.9  4.6  5.19  6.5  
Car 92  4.3  4.16  4.2  4.0  4.31  5.2  
Ear 83  36.8  35.86  35.9  32.8  35.79  39.6  
Hec 92  11.1  11.94  11.5  10.0  11.19  11.63  
Kfu 93  14.5  14.79  14.4  13.0  14.51  16.3  
Lse 91  11.3  11.15  10.9  10.0  10.92  13.4  
Rye 92  9.8  —  10.89  —  —  14.7  
Sta 83  157.3  159.0  157.8  159.9 

160.2  
Tre 92  8.6  8.6  8.4  7.9  8.49  9.5  
Uta 92  3.5  3.59  3.4  3.2  3.44  3.2  
Ute 92  26.4  28.3  27.2  24.8  26.7  27.9  
York 83  39.4  41.81  39.3  37.28  39.47  — 
It can be seen that the results obtained in our algorithm are neither the best nor the worst. The best ranking of examination instance is that for sta83 test problem, which is 2nd in all algorithms. It seems quite different with different test instances. That is to say, our algorithm is worthwhile and general for solving examination tabling problem.
This paper briefly overviews methods for solving incapacitated examination timetabling problems, which are based on graph coloring strategy or based on genetic algorithm. And then a double evolutionary pool memetic algorithm for solving incapacitated timetabling problems is introduced. The mechanism of this method is that, in the main evolutionary pool, we use common crossover operator, mutation operator, and one local search operator to make the individuals satisfy more and more hard constraints. Once one feasible individual comes out, the clonal strategy is applied in the selection process from the main evolutionary pool to the secondary evolutionary pool. In the secondary evolutionary pool, one newly local search operators is introduced based mainly on exchanging strategy to make the individuals more and more outstanding. Finally, some experiments for proving the efficiency of our clonal strategy and reordering strategy in local search operators are presented. Meanwhile, the best fitness values obtained in our algorithm are compared to those obtained by the other 16 algorithms. The results show that our algorithm is a worthwhile method to solve the examination tabling problems.
However, there are still some disadvantages in our algorithm. Our future work will focus on introducing more reasonable local search operators to improve the performance of our algorithm. And then how to analyse the correlation between examinations is still a huge challenge for us. What is more important is that we will make some efforts to apply our algorithms in solving the other timetabling problems, which may be more difficult than incapacitated examination timetabling problems.
The authors declare that there is no conflict of interests regarding the publication of this paper.