A Double Evolutionary Pool Memetic Algorithm for Examination Timetabling Problems

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, themain 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 clonalmechanism 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.


Introduction
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 [1,2], nurse timetabling [3], sports timetabling [4], and transportation timetabling [5].Examination timetabling problem (ETP), which can be described as the allocation of various examinations into predefined timeslots, is one of the common educational timetabling problems.Great challenges for large scale examination timetabling problem have been presented to all researchers.Therefore, it seems quite difficult to find a general and effective solution for examination timetabling due to the complexity and large number of various examinations.There is no known deterministic polynomial algorithm for the ETP, since it is considered to be an NP-hard combinational optimization problem.
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 [6] in 1986 and other meaningful papers were then presented by Carter et al. [7,8].Since then a significant number of papers in this field have been published and also lots of systems and tools for examination timetabling problems have been introduced.The represented techniques include graph based techniques, constrain based techniques, population based techniques, multicriteria techniques, hyperheuristics techniques, and decomposition/clustering techniques [9].To validate the efficiency of algorithms, several benchmark examination timetabling problems have been established and collected, which have been tested in many research papers [8].The classical benchmark data sets include University of Nottingham benchmark data, University of Melbourne benchmark data, and some test datasets created in the second international timetabling competition.
In 1994, Corne et al. [10] provided a brief survey on using genetic algorithms to solve general educational timetabling problems, and some issues and future prospects were also discussed in their research.Their contribution was to show that the use of representation in genetic algorithms was incapable of dealing with certain problem structures in some specially generated graph coloring problems.In 1996, Ross et al. [11] showed that there existed transition regions in solvable timetabling problems by experimenting upon specially generated graph coloring problems of different connectivity and homogeneity.In the research, authors indicated that their research was helpful to understand how different algorithms perform on complex timetabling problems.Ross et al. [12] in 1998 indicated that there were some weaknesses of using direct coding in genetic algorithms.In 1999 Terashima-Marin et al. [13] designed a clique-based crossover on the timetabling problems, in which the problems were transferred into graph coloring problems.They not only pointed out the weaknesses of the direct coding in genetic algorithms as that in Ross et al. [12], but also made some contributions to penalty function on both random and real timetabling problems.In 2001, Erben [14] developed a grouping genetic algorithm where appropriate encoding, special crossover and mutation operators and new fitness function were studied.In 2002, Sheibani et al. [15] built a special mathematical model and developed a standard genetic algorithm for solving examination timetabling problems.Wong et al. [16] in 2002 discussed some issues concerning their implementation of a genetic algorithm for solving the examination timetabling problems, which was modeled as a constraint satisfaction problem.In this research, the tournament selection was applied to choose parents and repairing strategies was incorporated with mutation to produce better solutions.In 2005, Côté et al. [17] investigated a biobjective evolutionary algorithm with the objectives of minimizing the timetable length and spacing out the conflicting examinations.Besides, two new local search operators were introduced to deal with the hard and soft constrains.In 2007, Ülker et al. [18] developed a genetic algorithm where Linear Linkage Encoding was used as the representation method.In his paper, there were different crossover operators in conjunction with the linear linkage representation.The experimental results indicated that their methods were feasible.
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 [20] in 2001 carried out a valuable investigation on a family of Tabu Search based techniques whose neighborhoods concerned those which contributed to the violations of hard and soft constraints.In the following year, di Gaspero [34] improved the approach by applying multiple neighbourhoods based on a token-ring search which circularly employs recolor (change a single examination) and shake (swap groups of examinations) in 2002.White [35] developed a four-stage Tabu search called OTTABU, where solutions were gradually improved by taking into more and more constraints in 2000.After then, in 2004, this approach was extended by White et al. [36], where tabu lists could be dynamically relaxed.Paquete and Stützle [21] developed a Tabu serach methodology for examination timetabling problems where ordered priorities were given for the constraints.In 2010, Burke et al. [31] investigated variants of variable neighbourhood search and obtained the best results in the literature across some of the problems in the Toronto datasets.Abdullah et al. [27] in 2007 developed a large neighborhood search based on the methodology of improvement graph construction originally developed by Ahuja et al. [37] for different optimization problems.Caramia et al. [19,38] developed a fine-tuned local search method where a greedy scheduler assigned examinations into the least timeslots and a penalty decrease improved the timetable without increasing the number of timeslots.In 2009, Pillay and Banzhaf [30] proposed an informed genetic algorithm for the examination timetabling problems, which takes two-phase approach to optimize one individual in two different stages.In 2011, Turabieh ana Abduallah [39] proposed a hybrid approach that incorporates effective heuristic operators within the great deluge algorithm for solving examination timetable problems.Alinia Ahandani et al. [40] proposed a method for solving examination timetabling problems mainly based on swarm optimization and two-phase hill-climbing local search operators in 2012, which had obtained good results.Gunawan et al. [41] developed a hybridized Lagrangian relaxation and simulated annealing method for the timetabling problems, in which the initial solutions are obtained by a mathematical programming approach based on Lagrangian relaxation and then improved by a simulated annealing algorithm.In 2014, Xu et al. [33] investigate the robust graph coloring problem with application to a kind of examination timetabling by using the matrix semitensor product and present a number of new results and algorithm.
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 4).We employ the clonal strategy to guarantee the population size in the secondary evolutionary pool.In addition, the secondary evolutionary has one local operator, and this operator makes the obtained feasible individuals from the main evolutionary pool satisfy more soft constrains.Finally, several newly produced individuals will replace the feasible individuals produced in the main evolutionary pool to maintain the diversity and constant scale of population.Several benchmark test datasets are then used to validate the efficiency of our algorithm.
The remaining parts of our paper are organized as follows.We will concentrate on descriptions of the examination timetabling problems in Section 2. Section 3 presents all the details of the proposed algorithms including the framework, crossover and mutation operators, and local search operators.In Section 4, some comparison results on benchmark test problems and analysis on the newly proposed strategy are presented.In the end, some conclusions and future work are discussed in Section 5.

Examination Timetabling Problems Formulation
As is described in Section 1, since we should insert all examinations into one timetable at the same time, there is no doubt that many constraints are involved in the examination timetabling problems.Constraints are usually divided into two classes: the hard constraints and the soft ones.They are described as follows.
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 [42].The most common soft constraint is to spread conflicting examinations as much as possible, whose purpose is to make the students have enough time to rest and prepare for the next examination.Another soft constraint may be that the large examinations should be scheduled as early as possible to allow enough time for marking.
As depicted in Section 1, this paper considers an instance of the ETP that was first formulated by Edmund and Ross [42].In this problem, a set of exams  = { 1 ,  2 , . . .,   } is to be scheduled into a set of periods  = {1, 2, . . ., }.The problem can be formally specified by defining the following:   is one if exam   is allocated to the period .  is the number of students registered for exams   and   .
The mathematical formulation is as follows: ||−1 Equation ( 1) is the objective of minimizing the number of clashes.Constraint (2) is the constraint that no student is to be scheduled to take two exams at any one time.Constraint (3) indicates that every exam can only be scheduled once in any timetable.
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  timeslots apart from each other,   = 2  ,  = 0, 1, 2, 3, 4, is the penalty of scheduling these examinations 4, 3, 2, 1, or 0 timeslots away, respectively.  is the number of students who take the examinations. is the total number of students in the timetable.

Proposed Double Evolutionary Pools Memetic Algorithm for the ETP
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 general-purpose optimization tools that model the principles of nature evolution.Evolutionary algorithms are population-based heuristic methods, which start from an initially randomly generated population.Then all individuals in the population are evaluated according to one problem-specific 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 [8].Since then, there have been an increasing number of genetic algorithms for the examination timetabling problem.
In our paper, we propose a double evolutionary pool memetic algorithm for examination timetabling problem, which is denoted as DEPMA.Algorithm 1 shows the procedure of our proposed algorithm.The main framework of DEPMA can be described as follows.There are two evolutionary pools (search spaces) in the framework.In examination timetabling problem, there are common crossover and mutation operators in each pool.The population scale in main evolutionary pool is always set from 50 to 100, and then the scale in the secondary evolutionary pool is always set from 20 to 30.The population in the main evolutionary pool will become more and more feasible through crossover, mutation, and one local search operator.That is, the population in the main evolutionary pool will satisfy more and more the hard constraint.The feasible individuals produced in the main pool are put into the secondary evolutionary pool to perform a predefined number of randomly clonal processes, whose aim is to optimize the iterations and make full use of one feasible individual.After that, the individuals in the secondary evolutionary pool will satisfy more and more soft constraints through the common crossover, mutation and one local search operator.To keep the population scale constant, the individuals in the main evolutionary pool who have become feasible will be replaced by several newly created individuals.In addition, we introduce one reordering strategy in the main evolutionary pool.According to clashes in each timeslot in ascending order, the timeslots should be reordered when a new examination is to be inserted the timetable.Our motivation is to give the priority to the timeslots with fewer clashes when inserting a new examination.
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 weighted-sum 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, Table 1: The structure of individuals in our algorithm.
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.

A Binary Coding Representation.
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 1 shows the structure of the solution in our proposed algorithm.Five examinations are allocated into four different timeslots.The final column   denotes the alternate timeslot.A number of 1 in the timeslot column represents that the examination is allocated in this timeslot.A number of 1 in the final timeslot indicates that the examination cannot be allocated in any timeslot due to hard constraints and the timetable is an unfeasible solution.Therefore, the fitness function in the main evolutionary pool can be shown in (6), where   denotes the alternate timeslot.Our motivation is to minimize the clashes in the alternate timeslot.The individual is not feasible until the fitness value reaches 3.2.Initialization.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 1).That is, before inserting one new examination into the timetable, we should sort all timeslots in descending order according to some indicators, such as the conflicts in each timeslot or total number of students for each timeslot.After the reordering strategy, some examinations with large conflicts or anticipating students will be moved to the last few timeslots and the first several timeslots with few conflicts can have much space for inserting another new examination.Meanwhile, the new reordering strategy makes each timeslot have nearly the same number of examinations, which is beneficial for teachers and students not to take too many examinations practically.
Consider an example as follows.Assume that there are four timeslots in the timetable with several examinations.10examinations 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.

Crossover Operator in Main Evolutionary
Pool.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  1 ,  2 .The details are described in Algorithm 2.

Mutation Operator in the Main Evolutionary Pool.
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  main equals 0.3.So the total number of examinations selected to make the mutation process is 3. Assume that the selected examinations sets are {1, 4, 5} and the total number of participating students for them are 20, 101, and 50 separately.Therefore, the sorted examinations sets for mutation are {4, 5, 1}.That is to say, the examinations with more students or conflicts should be given the priority to be rearranged firstly.

Local Search Operator in the Main Evolutionary Pool.
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 3).

Local Search Operator in the Secondary Evolutionary Pool.
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  exc timeslots in the timetable for individuals in the secondary evolutionary pool.Consider an example as follows.Assume that the timeslots sets selected to make the crossover process is {1, 4}, we exchange all examinations in these two timeslots and then the newly produced individual can be obtained in Figure 2.
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 3.
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 4.
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.

Experimental Study
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. [8] in 1996 introduced a set of several real world examination timetabling problems from three Canadian high schools, five Canadian universities, one American university, one British university, and one university in Saudi Arabia.Over the past few years, they were widely employed as test beds in examination timetabling research.
In all the test problems, to indicate the density of the conflicting examinations in each of the instances, a conflict matrix  was defined, where each element   = 1 if exam  conflicts with exam  (i.e., they have common students), or   = 0 otherwise.The conflict density represents the ratio between the numbers of elements of value "1" to the total number of elements in the conflict matrix.The enrolments are the total number of examinations that each student takes part in.All the details of these test problems are shown in Table 2.  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 3.There are 30 independent runs for each algorithm.The fitness values are shown in boxplots in Figure 4.
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 5.The parameters are set in Table 3.Some conclusions can be obtained from Figure 5. Firstly, our algorithm is robust in performance.There are few outliers in all boxplots, which means that our local search operators in both main evolutionary pool and secondary evolutionary pool have steady search efficiency.Secondly, for the key step that we sort timeslots after inserting each examination in the initialization process, the examinations with large conflicts are not ranged into the same timeslot, which is benefit for us to obtain robust performance.There are nearly no outliners in boxplots for best fitness values of all twelve test problems.The difference between the best fitness value and the worst ones is no more than 3.Even in some test instance, the difference reaches no more than 0.3.Finally, the run times for our algorithm are ranged from several hundred to tens of thousands, which means that the algorithm is so low in

Conclusions and Future Work
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.

Input:
PopM: The population in the main evolutionary pool 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   : The crossover probability in the main evolutionary pool   : The mutation probability in the main evolutionary pool  main : The mutation probability for one single individual in the main evolutionary pool  main : The crossover probability for one single individual in the main evolutionary pool  exc : The number of exchanged timeslots in the secondary evolutionary pool  sec : The mutation probability for one single individual in the secondary evolutionary Pool IterMax: The maximum iteration number Itermax: The maximum iteration number for the local search operators Output: The best individual PopBest in the secondary evolutionary pool Step 1. Initialization.Randomly create NM individuals in the main evolutionary pool according to what is described in Part B, which is denoted as PopM.Meanwhile, PopM = Ø and Iter = 0. Step 2. Crossover.Randomly select ⌈  × NM⌉ individuals in the main evolutionary pool and perform crossover operation described in Part 3.3.Step 3. Mutate.Randomly select ⌈  × NM⌉ individuals in the main evolutionary pool and perform mutation operation PopM described in Part 3.4.Step 4. Local optimization.For each individual through crossover and mutation operation, the special local search operator is performed according to what is described in Part 3.5.Step 5. Selection.Select individuals from the main evolutionary pool to the secondary evolutionary pool.Once the individuals in 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.Step 6. Clone.Assume that the number of feasible individuals is NF.If NF ≥ NS, randomly select NS individuals from all feasible 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 ⌈NS/NF⌉.And then combine original individuals in the secondary evolutionary pool with the cloned individuals.Select the best NS individuals as the population in the secondary evolutionary pool.Step 7. Local optimization.After clone, the local search operator described in Part 3.6 is performed to make the feasible individuals satisfy more and more soft constraints.Step 8. Selection.Select potential individuals in the secondary evolutionary pool according to (4).Keep the best 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.Step 9. Iter = Iter + 1, and go to Step 2. Step 10.If Iter reaches IterMax output the best individual PopBest in the secondary evolutionary pool.Algorithm 1: The details of our proposed algorithm.

Figure 1 :
Figure 1: The illustration of how to allocate examinations in the initialization.

Algorithm 2 :Algorithm 3 :
The details of the crossover operator in the main evolutionary pool.: the original individual PN: the new individual Iter: the iteration number Itermax: the maximum iteration number: SD: the search depth. num : the number of examinations : the increasing step Iter = 0,  = 1 WHILE Iter < Itermax OR  < 5 randomly select ⌈( num /SD) × ⌉ examinations and rearrange the in descending order, then obtain  1 Iter = Iter + 1 IF fitness 1 ( 1 ) < fitness 1 () PN =  1 BREAK END IF Iter = Itermax  =  + 1 Iter := 0 END END The pseudocode of the local search approach in the main evolutionary pool.

Figure 2 :
Figure 2: The illustration of the crossover operator in the secondary evolutionary pool.

Figure 3 :
Figure 3: The illustration of the mutation operator in the secondary evolutionary pool.
: the original individual PN: the new individual Iter: the iteration number Itermax: the maximum iteration number:  num : the number of examinations  exc : the exchange number of timeslots Iter = 0; WHILE Iter < Itermax Selecte ⌈ sec ×  num × (Itermax/Iter + 1)⌉ examinations randomly from individual .Perform the mutation and crossover process, and then obtain the new individual  1 ; Iter = Iter + 1; IF fitness 1 ( 1 ) < fitness 1 () PN =  1 ; ELSE PN = ; END END Algorithm 4: The pseudocode of the local search approach in the secondary evolutionary pool.

Figure 5 :
Figure 5: 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).
Randomly selected parents  1 ,  2 and the crossover probability  main Output: Newly produced children PN 1 , PN 2 Step 1. Assume that the examinations sets in the alternate timeslot in  1 ,  2 are ES 1 , ES 2 and  is the number of total timeslots in our timetable.Randomly select examinations in ⌈ main × ( − 1)⌉ timeslots, which do not contain any examination in ES 1 , ES 2 Step 2. Exchange the selected timeslots in  1 ,  2 , and then delete the duplicate examinations in unselected timeslots in  1 ,  2 , which are denoted as PN 1 , PN 2 .Step 3. Output the newly produced children PN 1 , PN 2 Input:

Table 2 :
The characteristics of benchmark exam timetabling problems.

Table 3 :
The parameter setting of our algorithm.

Table 4 ,
the best fitness values obtained from other 17 famous algorithms are compared with those obtained in our algorithm.Meanwhile, the best results obtained in our algorithm are shown in Table4.All the best results represented in the following table are obtained from the best ones of 30 independent runs.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.

Table 4 :
The fitness values of our algorithm compared against the best fitness values of current approaches.