Performance Study of Genetic Operators on University ...

2 downloads 0 Views 635KB Size Report
University Course Timetabling Problem (UCTP) is a very difficult problem. .... Rangsit University, Pathumthani, Thailand, and involves the weekly timetable of all ...
Performance Study of Genetic Operators on University Course Timetabling Problem Wutthipong Chinnasri,Soradech Krootjohn, Nidapan Sureerattanan

Performance Study of Genetic Operators on University Course Timetabling Problem 1

Wutthipong Chinnasri, 2Soradech Krootjohn, 3Nidapan Sureerattanan King Mongkut’s University of Technology North Bangkok, Thailand, [email protected], [email protected] 3 Thai-Nichi Institute of Technology, Thailand, [email protected]

*1,2

Abstract University Course Timetabling Problem (UCTP) is a very difficult problem. It is considered to be an NP-hard problem and has many factors to be considered. The Genetic Algorithm (GA) is widely used and seems to have been very successful in solving various types of NP-hard and optimization problems. Crossover and mutation are key operators which can influence the GA‘s performance. The aims of this paper are 1) to compare the performance of GA’s crossover operators (partially matched crossover, order crossover, and cycle crossover) on UCTP with the different ways of the consideration of getting offspring from crossover and mutation process and 2) to study the performance of swap mutation. From the comparison on crossover operators’ performance, the result demonstrates that GA with order crossover performs more effectively than the others for producing feasible timetables while cycle crossover is the better operator in finding the optimal feasible timetable. From the study of swap mutation’s performance, it is obvious that suitable method requires a small number of times to swap positions or a small number of pairs of genes for swap.

Keywords: Genetic Algorithm, Course Timetabling, Crossover, Mutation 1. Introduction The University Course Timetabling Problem (UCTP) is a common problem in all educational institutions. It is well known that the UCTP is an NP-hard problem [1–7]. It is very difficult to solve using general methods and takes more times to find a satisfactory timetable. In addition, the time proportion increases in accordance with the size of the problem. Hence, it is necessary to use an efficient method to find a satisfactory timetable under its constraints. Many methods; from a number of scientific disciplines like Operations Research, Artificial Intelligence, and Computational Intelligence have been applied to solve this problem. Each method has its own strengths and weaknesses. Therefore, they cannot be compared exactly to find the best method for UCTP [3]. A large number of diverse approaches have already been proposed in the literature for solving course timetable problems and can be divided into four categories [6], [8–11] as follows: 1. Sequential approach; this method orders events using domain heuristics and then assigns the events sequentially into valid timeslots so that no events in the timeslots are in conflict with each other [10]. In sequential method, timetabling problems are usually represented as graphs where events are represented as vertices, while conflicts between the events are represented by edges [12]. 2. Cluster approach; in this method, a set of events are split into groups, which satisfy hard constraints and then each group is assigned to timeslots to fulfill the soft constraints. Different optimization techniques have been employed to solve the problem of assigning a group of events into timeslots [10]. 3. Constraint based approach; in this method, a timetabling problem is modeled as a set of variables (i.e. events) to which values (i.e. resources such as rooms and timeslots) have to be assigned to satisfy a number of constraints [13]. Usually, a number of rules are defined for assigning resources to events. When no rule is applicable to the current partial solution, backtracking is performed until a solution that satisfies all the constraints is found.

International Journal of Advancements in Computing Technology(IJACT) Volume4, Number20,November 2012 doi: 10.4156/ijact.vol4.issue20.8

61

Performance Study of Genetic Operators on University Course Timetabling Problem Wutthipong Chinnasri,Soradech Krootjohn, Nidapan Sureerattanan

4. Meta-heuristic approach; this method begins with one or more initial solutions and employs search strategies that try to avoid local optima. This approach can produce high-quality solutions but often has a considerable computational cost. In the early days of course timetabling research, sequential approach (graph coloring) and constraint based approach (integer programming) were used to solve UCTP. However, these approaches tended to be more impractical for large, real-world or complex timetabling problems [14]. These approaches show a great efficiency in small instances of timetabling problems, but are not efficient in large instances [1] because the satisfaction of all constraints may not be possible [9]. For cluster approach, the main drawback of this approach is a cluster of events that formed and fixed at the beginning of the algorithm, and that may result in a poor-quality timetable [10]. Recently, meta-heuristic approaches have been investigated and seem to have been very successful in solving various types of timetabling problems [15]. The Genetic Algorithm (GA) is one of the most popular methods used in UCTP. It is best suited and widely used for NP-hard and optimization problems [16]. Genetic Algorithm was introduced by John Holland in 1975 [17]. GA‘s evolution process starts from generating chromosomes to be an initial population. New generations of population are created by the genetic operators such as selection, crossover, and mutation. Crossover is an important operator which can yield new children chromosomes [18]. A good crossover operator can improve an algorithm's performance to some degree [19]. In this paper Partially Matched crossover (PMX), Order crossover (OX), and Cycle crossover (CX) are evaluated. The aim of this paper is to compare the performance of GA’s crossover operators on UCTP. The paper is organized as follows; next section introduces the University Course Timetable Problem with a set of constraints. In section III, the authors present the proposed algorithm and implementation. The simulation results are provided in section IV. Finally, conclusion and future work are presented in section V.

2. University Course Timetabling Problem All The UCTP can be described as a task of assigning a set of events (subjects, lecturers, and students) to a set of timeslots (classrooms) in a week which satisfies a set of constraints. It is very difficult to find a general and effective method for solving UCTP because of the diversity of the problems, the variance of constraints, and particular requirements from the university to university according to their characteristics. Due to many constraints, UCTP is very hard to be solved in real-world circumstances [14], [20]. A set of constraints are usually divided into two types [1–4], [7], [8], [14], [15], [21], [22], hard constraints and soft constraints. Hard constraints must be considered very strictly. A timetable that violates just one of the hard constraints is unusable (infeasible timetable), while a timetable that violates some soft constraints is still usable (feasible timetable). However, keeping more of the soft constraints makes such a timetable more satisfied. It is ideal to generate timetables without violating all of soft constraints. Thus soft constraints are then taken into consideration for evaluating how good the generated timetables are. List of widely used hard constraints (Hc) and soft constraints (Sc) of UCTP can be divided into three groups as follows: A. Constraints for lecturer C1: A lecturer must teach only one subject at a time (Hc). C2: A lecturer may have his/her own available schedule (Sc). C3: A travel time between classrooms should be minimized (Sc). C4: Time gaps within the schedule of each lecturer should be minimized (Sc). B. Constraints for student C5: A student must study only one subject at a time (Hc). C6: Having a class in the last timeslot of the day is not satisfactory (Sc). C7: Having only single class for a day is not satisfactory (Sc). C8: Having more than two consecutive classes for a day is not satisfactory (Sc). C9: A travel time between classrooms should be minimized (Sc).

62

Performance Study of Genetic Operators on University Course Timetabling Problem Wutthipong Chinnasri,Soradech Krootjohn, Nidapan Sureerattanan

C. Constraints for classroom C10: A classroom must be used for only one subject at a time (Hc). C11: A subject must be scheduled appropriately in a classroom for the subject type (Hc). C12: Each classroom must have its own available schedule (Hc). C13: A classroom may be large enough for all the attending students (Hc or Sc). C14: Time gaps within the schedule of each classroom should be minimized (Sc). From the list above, there are five hard constraints, eight soft constraints and one hard or soft constraint (C13) depending on the university policies. In case of C13, from a literature review, most of the researchers classify it as a hard constraint. Only a few studies [23], [24] classify it as a soft constraint. The popular soft constraints are C2, C6, C7, and C8 (See Table 1). Table 1. The list of widely used constraints of UCTP [25] [1] [21] [26] [23] [7] [6] [27] [28] [29] [14] [30] [31] [8] [5] [3] [24]

C1

C2

C3

C4

 

 

















C5    

C6   

C7   

C8   

       



 

     

     

    

 

 

 

 

C9

 









C10                 

C11  

C12

  

 

     

C13   

       

   

C14

   

 Hard Constraint  Soft Constraint

The specific curriculum-based course timetabling problem used in this paper comes from the Rangsit University, Pathumthani, Thailand, and involves the weekly timetable of all subjects of the Department of Information Management. The problem data consists of subjects with a fixed group of students and to be taught by a specific lecturer, classrooms with a type of classroom (lecture or lab), and timeslot with a fixed number of study days in a week (typically 5). Each day is equally split into a fixed number of timeslots (typically 3). In this experiment, the hard constraints (Hc) and soft constraints (Sc) with their penalty are shown in Table 2. Table 2. Constraints of this problem Constraints Hc1: A lecturer must teach only one subject at a time Hc2: A student must study only one subject at a time Hc3: A subject must be scheduled appropriately in a classroom for the subject type Hc4: Each classroom must have its own available schedule Sc1: A lecturer may have his/her own available schedule Sc2: Having more than two consecutive classes for a day is not satisfactory Sc3: Having a class in the last timeslot of the day is not satisfactory Sc4: Having only single class for a day is not satisfactory

Penalty 500 500 500 500 50 20 10 10

3. The proposed algorithm and implementation The authors used a GA with three different crossover operators to solve the aforementioned problem. Before starting the GA's process, chromosome representation and parameters must be defined. The GA’s process will start from generating chromosomes to be an initial population. In each generation,

63

Performance Study of Genetic Operators on University Course Timetabling Problem Wutthipong Chinnasri,Soradech Krootjohn, Nidapan Sureerattanan

genetic operations such as selection, crossover, and mutation will be used to create new chromosomes. Every chromosome will be evaluated by fitness function. Some chromosomes are selected from the current population based on their fitness to be a part of new population in the next generation of the algorithm. The process stops if an optimum chromosome is found or the algorithm reaches the maximum number of generations. The flow of GA’s process is shown in Figure 1.

Figure 1. The GA’s process A. Chromosome Representation Encoding the chromosomes for the GA is an essential factor in the success of a GA as it will affect not only the efficiency of the GA but also the speed and quality of the final result [32]. In our experiments, a day is divided into three timeslots. As a result, there are totally 15 timeslots for a week as shown in Table 3. Table 3. Timeslots for a room Room 1 Monday Tuesday Wednesday Thursday Friday

09.00-11.45 Timeslot 1 Timeslot 4 Timeslot 7 Timeslot 10 Timeslot 13

12.00-14.45 Timeslot 2 Timeslot 5 Timeslot 8 Timeslot 11 Timeslot 14

15.00-17.45 Timeslot 3 Timeslot 6 Timeslot 9 Timeslot 12 Timeslot 15

Figure 2. Chromosome representation

64

Performance Study of Genetic Operators on University Course Timetabling Problem Wutthipong Chinnasri,Soradech Krootjohn, Nidapan Sureerattanan

In our experiments, permutation encoding [33] is used for chromosome representation. The authors present gene with five fields (subject, lecturer, student, type of subject, and id) per timeslot. All genes (chromosome) will be put in the first position of the array while the other positions of the array are used to put the penalty value of each constraint. The last three positions are used to put the sum of hard constraint's penalty, the sum of soft constraint's penalty, and the sum of all constraint's penalty, respectively. The chromosome representation is shown in Figure 2. B. Parameter Setting Several steps of GA are required to set parameters such as population size, number of generations, probability of crossover, probability of mutation, selection operator, crossover operator, and mutation operator before starting the process. The determination of the suitable setting for the control parameters of any GA is a very difficult task. A variety of the control parameters and many possible choices make the determination of the perfect settings almost impossible [34]. The control parameters settings used in this experiment are shown in Table 4. Table 4. The control parameter’s settings used in the experiment 1 and experiment 2 Control parameters Number of generation Probability of crossover Probability of mutation Selection operator Crossover operator Mutation operator

Value 300,500,700 80,60,40,20 80,60,40,20 Roulette wheel selection PMX, OX, CX Swap mutation

PMX = Partially Matched Crossover, OX = Order Crossover. CX = Cycle Crossover

C. Population initialization Chromosomes in the initial population are generated with all subjects and their lecturers, students, types of subject, and ids (randomly assigned to timeslots with no missing or repeated ids). When using this approach with permutation encoding, it can prevent timetable clashes by ensuring that a classroom must be used for only one subject at a time. D. Fitness evaluation Fitness function is used to evaluate chromosomes whether they are feasible and how good they are. In this experiment, each chromosome will be considered how many constraints it has violated. A violation of a hard constraint has more penalty value than a soft constraint. The sum of all penalty values of each chromosome will be called the fitness value. Fitness value is zero if there is no violation of all constraints. In case of the degrees of violation, less value is the better. E. Selection A good selection strategy tries to keep good solutions and leaves the bad ones out of a population. Roulette wheel selection [17] is used because it is very efficient in producing feasible course timetables [35]. It selects parents according to their fitness. The chromosome with lower fitness value will have a higher chance to be selected as a parent. F. Crossover Crossover is an important operator which combines the good properties of both parents in order to possibly yield new better children chromosomes. [18] [36]. Three crossover operators used with permutation encoding will be compared. Partially Matched crossover (PMX) [17], [37], [38]: two crossing sites are picked uniformly at random along with the parent. These two points define a matching section that is used to affect a cross through position-by-position exchange operation. Order crossover (OX) [17], [37], [38]: it starts off in a manner similar to PMX. Each string is mapped to constituent the matching section of its mate. Instead of using point-by-point exchanges to affect the mapping as PMX does, order crossover uses a sliding motion to fill the holes left by transferring the mapped positions. Cycle crossover (CX) [17], [38], [39]: gene cycle between two parents will be looked for. It starts with choosing a starting gene in the first parent and looks for the gene in the same position in second

65

Performance Study of Genetic Operators on University Course Timetabling Problem Wutthipong Chinnasri,Soradech Krootjohn, Nidapan Sureerattanan

parent. This gene will be used to locate the same gene in the first parent. The cycle crossover repeats this process until the chosen gene returns to the first chosen one in the first parent. Genes that are included in the cycle will stay, while the others will be swapped between two parents. G. Mutation Although mutation occurs infrequently in nature, it is believed to be an important driving force for evolution [18]. The Mutation is adopted to allow for the introduction of new chromosome into the population and effective to escape from a local optimum [40], [41]. The swap mutation [42] is used in this experiment. It randomly selects the two different locations of the target chromosome, and their values will be swapped. H. Replacement Chromosomes of the original population are replaced by new chromosomes generated from crossover and mutation operators. The common idea of replacement is similar to selection strategy. Elitism will be applied to prevent losing the best chromosome because it significantly improves the GA's performance [36]. I. Stop Condition The GA’ process stops if the optimum chromosome (no constraint's violation) is found or the algorithm reaches the maximum number of generations.

4. Experimental results In experiment 1 and experiment 2, the authors use the same selection and mutation for the three crossover operators. The GA’s process will end if one of two conditions is met. Either the algorithm can find chromosome representing a feasible timetable with no constraint's violation or the algorithm reaches the maximum number of generations. For the parameters, the authors have different parameter groups as shown in Table 5. The algorithm will be executed 100 times for each parameter group and each crossover operator. For three crossover operators, this will generate 14,400 results per experiment. Table 5. Parameter group for experiment 1 and experiment 2 Number of generation

Probability of crossover

Probability of mutation

300,500,700 300,500,700 300,500,700 300,500,700

80 60 40 20 Sum

80,60,40,20 80,60,40,20 80,60,40,20 80,60,40,20

Number of Parameter Groups 12 12 12 12 48

Figure 3 and Figure 4 describe the consideration of getting offspring from crossover and mutation process in experiment 1 and experiment 2, respectively

Figure 3. Consideration of getting offspring from crossover and mutation process in experiment1

66

Performance Study of Genetic Operators on University Course Timetabling Problem Wutthipong Chinnasri,Soradech Krootjohn, Nidapan Sureerattanan

Figure 4. Consideration of getting offspring from crossover and mutation process in experiment2 In Figure 3, when crossover and mutation occur, the getting offspring from the crossover process will be used for mutation process, and the getting offspring from the mutation process will replace the aforementioned offspring. In Figure 4, when crossover and mutation occur, the getting offspring from the mutation process will be the new offspring. It does not replace the getting offspring from the crossover process. In addition, it will use mutation process with the parent to get the new offspring. Therefore, when crossover and mutation occur, experiment 2 yields more offspring than experiment 1. The sum of getting feasible timetables based on different crossover operators from experiment 1 and experiment 2 are shown in Table 6. Table 6. The sum of getting the feasible timetables based on different crossover operators from experiment1 and experiment 2 Partially Matched crossover (PMX) Crossover rate

Mutation rate

80 60 40 20

80 E1: 297 E2: 280 E1: 299 E2: 281 E1: 283 E2: 256 E1: 217 E2: 220

60 E1: 298 E2: 292 E1: 294 E2: 281 E1: 278 E2: 281 E1: 207 E2: 260

40 E1: 295 E2: 286 E1: 286 E2: 288 E1: 276 E2: 286 E1: 191 E2: 282

20 E1: 291 E2: 296 E1: 284 E2: 294 E1: 240 E2: 287 E1: 156 E2: 291

Order crossover (OX) Crossover rate

Mutation rate

80 60 40 20

80 E1: 299 E2: 281 E1: 298 E2: 280 E1: 291 E2: 262 E1: 225 E2: 205

60 E1: 298 E2: 288 E1: 292 E2: 282 E1: 287 E2: 275 E1: 204 E2: 260

40 E1: 297 E2: 293 E1: 294 E2: 287 E1: 267 E2: 282 E1: 184 E2: 272

20 E1: 293 E2: 288 E1: 284 E2: 293 E1: 264 E2: 292 E1: 159 E2: 288

Cycle crossover (CX) Crossover rate

Mutation rate

80 60 40 20

80 60 40 E1: 298 E1: 298 E1: 296 E2: 288 E2: 296 E2: 295 E1: 299 E1: 290 E1: 287 E2: 281 E2: 283 E2: 287 E1: 284 E1: 277 E1: 271 E2: 254 E2: 273 E2: 283 E1: 218 E1: 205 E1: 181 E2: 209 E2: 267 E2: 279 E1 = Experiment 1, E2 = Experiment 2

20 E1: 295 E2: 295 E1: 281 E2: 287 E1: 247 E2: 291 E1: 154 E2: 291

Table 6 demonstrates that experiment 1 can obtain a large number of feasible timetables when the crossover rate and mutation rate are high. However, it can obtain a very small number of feasible timetables when mutation rate is low. The results show that a small number of offspring needs both

67

Performance Study of Genetic Operators on University Course Timetabling Problem Wutthipong Chinnasri,Soradech Krootjohn, Nidapan Sureerattanan

crossover and mutation in order to develop chromosome’s quality and the mutation is a necessary operator to increase the population diversity. From experiment 2, a small number of feasible timetables can be obtained when setting high crossover rate and low mutation rate. It is surprising that a large number of feasible timetables can be obtained when the crossover rate and mutation rate are low. The results show that a large number of offspring may have the population diversity. The development of chromosome‘s quality can be possible with low crossover rate and low mutation rate. However, the high crossover rate and low mutation rate may produce the offspring similar to the older population. As a result, this will cause the population to lose their diversity. For the above experiments, the crossover rate at 60 percent and the mutation rate at 80 percent can obtain a large number of feasible timetables. In terms of comparing the crossover operators’ performance, the authors use format “x/y” to represent the results, when x is the sum of getting feasible timetables and y is the sum of the average penalty of getting timetables. The results from all parameter groups and different crossover operators are shown in Table 7. Table 7. The sum of getting feasible timetables and the sum of the average penalty of getting timetables based on all parameter groups, and different crossover operators 300 generations 500 generations 700 generations Sum

PMX OX E1: 1218/5047.5 E1: 1251/4914.4 E2: 1346/3929/7 E2: 1323/4078.3 E1: 1451/3256.9 E1: 1443/3353.0 E2: 1533/2776.4 E2: 1528/2803.6 E1: 1523/2779.7 E1: 1542/2685.8 E2: 1582/2435.7 E2: 1577/2469.6 E1: 4192/11084.1 E1: 4236/10953.2 E2: 4461/9141.8 E2: 4428/9351.5 E1+E2: 8653/20225.9 E1+E2: 8664/20304.7 E1 = Experiment 1, E2 = Experiment 2

CX E1: 1210/4998.7 E2: 1338/3995.8 E1: 1441/3314.2 E2: 1539/2748.2 E1: 1530/2728.0 E2: 1582/2436.0 E1: 4181/11040.9 E2: 4459/9180.0 E1+E2: 8640/20220.9

Table 7 demonstrates that OX works more effectively than PMX and CX for producing feasible timetables and CX performs more effectively than PMX and OX when focusing on the sum of average penalty of getting timetables. The sum of getting optimal feasible timetables based on all parameter groups and different crossover operators is shown in Table 8 Table 8. The sum of getting optimal feasible timetables based on all parameter groups, and different crossover operators 300 generations 500 generations 700 generations Sum

PMX OX CX E1: 3 E1: 4 E1: 0 E2: 1 E2: 2 E2: 1 E1: 18 E1: 8 E1: 15 E2: 10 E2: 8 E2: 6 E1: 25 E1: 34 E1: 44 E2: 18 E2: 21 E2: 30 E1: 46 E1: 46 E1: 59 E2: 29 E2: 31 E2: 37 E1+E2: 75 E1+E2: 77 E1+E2: 96 E1 = Experiment 1, E2 = Experiment 2

Table 8 demonstrates that CX yields the most optimal feasible timetables. Its performance explicitly increases as the number of generations increase. In experiment 3 and experiment 4, the authors conduct the experiments on the swap mutation in the issues of the number of time(s) to swap positions and the number of pair(s) of genes for swap. The consideration of getting offspring from crossover and mutation process used in the experiment 2 will be used in these experiments. The control parameter’s settings used in these experiments are shown in Table 9. The sum of getting feasible timetables and the sum of average penalty of getting timetables from experiment 3 and experiment 4 are shown in Table 10

68

Performance Study of Genetic Operators on University Course Timetabling Problem Wutthipong Chinnasri,Soradech Krootjohn, Nidapan Sureerattanan

Table 9. The control parameter’s settings used in the experiment 3 and experiment 4 Control parameters Number of generation Probability of crossover Probability of mutation Selection operator Crossover operator

Mutation operator

Value 300,500,700 60 80 Roulette wheel selection Cycle Crossover Swap mutation In experiment 3, In experiment 4, using 1-5 time(s) using 1 time for swapping 1 pair for swapping 1-5 pair(s) of genes of genes

Table 10. The sum of getting feasible timetables and the sum of the average penalty of getting timetables from experiment 3 and experiment 4 300 generations 500 generations 700 generations

1 E3: 96/177.2 E4: 96/177.2 E3: 100/149.1 E4: 100/149.1 E3: 100/144.8 E4: 100/144.8

2 E3: 100/147.4 E4: 100/149.5 E3: 100/140.9 E4: 100/143.6 E3: 100/135.8 E4: 100/136.9

3 E3: 100/155.5 E4: 99/164.1 E3: 100/146.6 E4: 100/149.1 E3: 100/141.1 E4: 100/146.1

4 E3: 100/161.4 E4: 98/173.8 E3: 100/152.4 E4: 100/157.0 E3: 100/149.5 E4: 100/150.3

5 E3: 100/169.3 E4: 97/184.4 E3: 100/156.9 E4: 100/162.6 E3: 100/152.0 E4: 100/155.2

Table 10 demonstrates that using two times for swapping one pair of genes in experiment 3 and using one time for swapping two pairs of genes in experiment 4 yield the best performance. In the expectation of getting a better performance, the authors conduct an experiment using two times for swapping two pairs of genes. The sum of getting feasible timetables and the sum of the average penalty of getting timetables from the experiment are 99/164.3 for 300 generations, 99/158.3 for 500 generations, and 100/148.2 for 700 generations. Nevertheless, the result does not show a sign of performance improvement. It is suggested that chromosome should be changed slightly by mutation. Otherwise, the GA will become a random search which will not yield a high quality chromosome.

5. Conclusion This paper compares the performance of GA’s crossover operators (PMX, OX, and CX) on UCTP. The experiments are conducted on the real university course timetabling problem at the Rangsit University, Thailand. The parameter setting includes different probability of crossover, probability of mutation, and the number of generations. For each crossover operator, 48 groups of parameter setting are run for 100 times. Therefore, 14,400 results can be obtained from experiment 1 and 14,400 results can be obtained from experiment 2. From the numerous results, it is found that OX works more effectively than the others for producing feasible timetables and CX is a great operator in finding the optimal feasible timetable. The results from experiment 3 and experiment 4 are shown that suitable method for swap mutation requires a small number of times to swap positions or a small number of pairs of genes for swap. As further research, the authors will focus on probability of crossover and probability of mutation because they are important parameters that affect the convergence and quality of the timetable. Adaptive probability of crossover and mutation is also an interesting topic.

6. Acknowledgement This research is partially funded by the Graduate College at the King Mongkut’s University of Technology North Bangkok in the fulfillment of completing graduate students’ thesis.

7. References [1] Shengxiang Yang, Sadaf Naseem Jat, “Genetic Algorithms With Guided and Local Search Strategies for University Course Timetabling,” IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, vol. 41, pp. 93-106, 2011.

69

Performance Study of Genetic Operators on University Course Timetabling Problem Wutthipong Chinnasri,Soradech Krootjohn, Nidapan Sureerattanan

[2] Rhydian Lewis, “A survey of metaheuristic-based techniques for University Timetabling problems,” OR Spectrum, vol. 30, pp. 167-190, 2007. [3] Olivia Rossi-Doria, Michael Sampels, Mauro Birattari, Marco Chiarandini, Marco Dorigo, Luca M.Gambardella, Joshua Knowles, Max Manfrin, Monaldo Mastrolilli, Ben Paechter, Luis Paquete, and Thomas Stützle, “A Comparison of the Performance of Different Metaheuristics on the Timetabling Problem,” Practice and Theory of Automated Timetabling IV, Edmund Burke and Patrick Causmaecker, eds., Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 329-351, 2003. [4] Mauritsius Tuga, Regina Berretta, Alexandre Mendes, “A Hybrid Simulated Annealing with Kempe Chain Neighborhood for the University Timetabling Problem,” IEEE, pp. 400-405, 2007. [5] Krzysztof Socha, Michael Sampels, Max Manfrin, “Ant Algorithms for the University Course Timetabling Problem with Regard to the State-of-the-Art,” Applications of Evolutionary Computing, Stefano Cagnoni, Colin G. Johnson, Juan J. Romero Cardalda, Elena Marchiori, David W. Corne, Jean A. Meyer, Jens Gottlieb, Martin Middendorf, Agnes Guillot, Gunther R.Raidl, and Emma Hart, eds., Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 334-345, 2003. [6] Pupong Pongcharoen, Weena Promtet, Pisal Yenradee, Christian Hicks, “Stochastic Optimisation Timetabling Tool for university course scheduling,” International Journal of Production Economics, vol. 112, pp. 903-918, 2008. [7] Masri Ayob, Ghaith Jaradat, “Hybrid Ant Colony systems for course timetabling problems,” IEEE, pp. 120-126, 2009. [8] Spyros Kazarlis, Vassilios Petridis, Pavlina Fragkou, “Solving University Timetabling Problems Using Advanced Genetic Algorithms,” presented at the 5th international conference on technology and automation, Thessaloniki, Greece, p. 131-136, 2005. [9] Maciej Norberciak, “Universal method for timetable construction based on evolutionary approach,” International Journal of Applied Mathematics and Computer Sciences, vol. 3, 2006. [10] Edmund Kieran Burke, Sanja Petrovic, “Recent research directions in automated timetabling,” European Journal of Operational Research, vol. 140, pp. 266-280, 2002. [11] Michael W. Carter, Gilbert Laporte, “Recent Developments in Practical Course Timetabling,” Springer-Verlag, pp. 3–19, 1998. [12] D.de Werra, “An introduction to timetabling,” European Journal of Operational Research, vol. 19, pp. 151-162, 1985. [13] Sally C.Brailsford, Chris N.Potts, Barbara M.Smith, “Constraint satisfaction problems: Algorithms and applications,” European Journal of Operational Research, vol. 119, pp. 557-581, 1999. [14] Edmund K.Burke, Barry McCollum, Ammon Meisels, Sanja Petrovic, Rong Qu, “A graph-based hyper-heuristic for educational timetabling problems,” European Journal of Operational Research, vol. 176, pp. 177-192, 2007. [15] Zhipeng Lü, Jin-Kao Hao, “Adaptive Tabu Search for course timetabling,” European Journal of Operational Research, vol. 200, pp. 235-244, 2010. [16] Nilesh Gambhava, Gopi Sanghani, “University Examination Timetabling using Genetic Algorithm,” 2003. [17] David E.Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, AddisonWesley Longman Publishing Co., Inc., 1989. [18] Zan Wang, Jin-lan Liu, Xue Yu, “Self-fertilization based genetic algorithm for university timetabling problem,” Shanghai, China: ACM, pp. 1001–1004, 2009. [19] Dunwei Gong, Jie Yuan, Xiaoping Ma, “Interactive genetic algorithms with large population size,” IEEE, pp. 1678-1685, 2008. [20] Wojciech Legierski, “Constraint-based reasoning for timetabling,” Artificial Intelligence Method: AI-METH, Gliwice, Poland, 2002. [21] Mohammed Azmi Al-Betar, Ahamad Tajudin Khader, Taufig Abdul Gani, “A harmony search algorithm for university course timetabling,” Annals of Operations Research, Jul. 2010. [22] Nguyen Duc Thanh, “Solving Timetabling Problem Using Genetic and Heuristic Algorithms,” IEEE, pp. 472-477, 2007.

70

Performance Study of Genetic Operators on University Course Timetabling Problem Wutthipong Chinnasri,Soradech Krootjohn, Nidapan Sureerattanan

[23] Cagdas Hakan Aladag, Gulsum Hocaoglu, Murat Alper Basaran, “The effect of neighborhood structures on tabu search algorithm in solving course timetabling problem,” Expert Systems with Applications, vol. 36, pp. 12349-12356, 2009. [24] Ramon Alvarez-Valdes, Enric Crespo, Jose M.Tamarit, “Design and implementation of a course scheduling system using Tabu Search,” European Journal of Operational Research, vol. 137, pp. 512-523, 2002. [25] Sara Ceschia, Luca Di Gaspero, Andrea Schaerf, “Design, Engineering, and Experimental Analysis of a Simulated Annealing Approach to the Post-Enrolment Course Timetabling Problem,” Arxiv, Apr. 2011. [26] Arindam Chaudhuri, Kajal De, “Fuzzy Genetic Heuristic for University Course Timetable Problem,” Int. J. Advance. Soft Computing. Applications, vol. 2, 2010. [27] Jose Miguel Rubio, Franklin Johnson, Broderick Crawford, “ACO Hypercube Framework for Solving a University Course Timetabling Problem,” Proceedings of the International MultiConference of Engineers and Computer Scientists, vol. 1, 2008. [28] Alfred Mayer, Clemens Nothegger, Andreas Chwatal, Gunther R.Raidl, “Solving the post enrolment course timetabling problem by ant colony optimization,” 2008. [29] Salwani Abdullah Abdul Razak Hamdan, “A Hybrid Approach for University Course Timetabling,” IJCSNS, vol. 8, p. 127-131, 2008. [30] Marco Chiarandini, Mauro Birattari, Krzysztof Socha, Olivia Rossi-Doria, “An effective hybrid algorithm for university course timetabling,” J. of Scheduling, vol. 9, pp. 403–432, 2006. [31] Ruibin Bai, Edmund K.Burke, Graham Kendall, Barry Mccollum, “A simulated annealing hyperheuristic for university course timetabling,” pp. 345–350, 2006. [32] Sehraneh Ghaemi, Mohammad Taghi Vakili, Ali Aghagolzadeh, “Using a genetic algorithm optimizer tool to solve University timetable scheduling problem,” IEEE, pp. 1-4, 2007. [33] Jiah-Shing Chen, Jia-Leh Hou, “A Combination Genetic Algorithm with Applications on Portfolio Optimization,” Advances in Applied Artificial Intelligence, M. Ali and R. Dapoigny, eds., Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 197-206, 2006. [34] Andreas C. Nearchou, “The effect of various operators on the genetic search for large scheduling problems,” International Journal of Production Economics, vol. 88, pp. 191-203, 2004. [35] Wutthipong Chinnasri and Nidapan Sureerattanan, “Comparison of performance between different selection strategies on genetic algorithm with course timetabling problem,” pp. 105-108, 2010. [36] JinFeng Wang, KaiYu Chu, “An Application of Genetic Algorithms for the Flexible Job-shop Scheduling Problem,” International Journal of Advancements in Computing Technology, vol. 4, no. 3, pp. 271-278, 2012. [37] S.N. Sivanandam, S.N. Deepa, Introduction to Genetic Algorithms, Springer, 2007. [38] Cengiz Kahraman, Orhan Engin, Ihsan Kaya, Mustafa Kerim Yılmaz, “An application of effective genetic algorithms for solving hybrid flow shop scheduling problems,” International Journal of Computational Intelligence Systems, vol. 1, pp. 134–147, 2008. [39] Samuel Lukas, Arnold Aribowo, Milyandreana Muchri, “Genetic algorithm and heuristic search for solving timetable problem case study: Universitas Pelita Harapan timetable,” IEEE, pp. 629633, 2009. [40] Ling Zhu, Yan Wang, X.H. Meng, W.Y. Zhang, “A Genetic Algorithm based Approach for Emergency Material Dispatch among Multiple Disaster Points using the Principle of Balance”, International Journal of Digital Content Technology and its Applications, vol. 5, no. 9, pp. 112124, 2011 [41] Masanao Aoshima, Akinori Kansugi, “A Processor for Genetic Algorithm based on Redundant Binary Number “, Journal of Next Generation Information Technology, vol. 1, no. 3, pp. 66-74, 2010 [42] Agoston E. Eiben, Jame E. Smith, Introduction to Evolutionary Computing, Springer, 2008.

71

Suggest Documents