








Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A new hybrid algorithm (nha) for solving the university course timetabling problem using genetic algorithm, local search, and groupings of students. The algorithm forms mutually disjoint groups of students for each event and assigns events to timeslots and rooms based on these groups. The document also discusses the construction of student groups and modification of room-features and event-features to satisfy room capacity and feature constraints.
Typology: Study Guides, Projects, Research
1 / 14
This page cannot be seen from the preview
Don't miss anything!









Department of Mathematics, Indian Institute of Technology Kharagpur, Kharagpur 721302, India
Article history: Received 28 February 2014 Received in revised form 23 July 2014 Accepted 23 September 2014 Available online 6 October 2014
Keywords: Timetabling Genetic algorithm Demand-driven Local search Grouping Distance to feasibility
In this paper, a new hybrid algorithm (NHA) combining genetic algorithm with local search and using events based on groupings of students is described to solve the university course timetabling problem. A list of events such as lectures, tutorials, laboratories and seminars are ordered and mutually disjoint groups of students taking them are formed in such a way that once a student is selected in any group, he is excluded from further selection in other groups. The union of all the events taken by all the students of each group is formed. The number of events in each group is termed as its group size whose upper bound is restricted by the total number of timeslots and can be reduced to the maximum number of events per student. The above process of forming groups is repeated till the size of each group is reduced within this bound by not choosing those events which are common for all the students in the group. Now, the genetic algorithm with local search (GALS) is applied on a number of benchmark problems. The experimental results show that our algorithm, NHA, is able to produce promising results when compared with the results obtained by using GALS and other existing algorithms. Ó 2014 Elsevier Ltd. All rights reserved.
The development of automated timetables also known as the allocation of the resources for tasks under predefined constraints, reduces time for its creation, minimizes errors and satisfies as nearly as possible a set of desirable objectives. These problems involve timetabling for educational (course and examination), employees, sports events, transportation, etc. These are important and challenging problems encountered in computer science (CS), operation research (OR) and artificial intelligence (AI). Here, we are concerned with the university course timetabling problem which maximizes the possibility of allocations and minimizes the violation of constraints. These are high dimensional multi- objectives combinatorial optimization problems belonging to a class of NP-complete problems. A university course timetabling problem consists in assigning a set of events (lectures, tutorials, laboratories, seminars, etc.) into a limited number of time slots and rooms in such a way as to minimize violation of a predefined set of constraints. A general and effective solution for timetabling
is very difficult as it involves problem diversity, constraints variances and changed requirements from university to university. As a result, the construction of their solution involving a weekly schedule of events acceptable to all people involved and satisfying hard as well as soft constraints as efficiently as possible is extre- mely difficult and grows exponentially with size. Hard constraints are those which can not be violated under any circumstances whereas soft constraints can be relaxed. For example, a hard con- straint implies that a student can not be physically present in two different events at the same time. An example of a soft con- straint can be to avoid the last time slot of the day for an event. Accordingly, a violation of soft constraints requires penalizing the underlying solution with some penalty value that is added to the cost of the solution. Thus, the aim of timetabling problem is usually to obtain a feasible solution that does not violate any hard con- straints and minimizes its cost when penalty of soft constraints violations is also taken into consideration. As many combinatorial optimization problems, their solutions are generally obtained in the construction and the improvement phases. The algorithm starts with an empty timetable in construction phase and gradually constructs a timetable by adding one event into it. In general, the initial timetable is usually of poor quality and consists of many constraints violations. The improvement phase is used after achieving a complete timetable from construction phase and tries to gradually improve the quality of complete timetable. In the
http://dx.doi.org/10.1016/j.cie.2014.09. 0360-8352/Ó 2014 Elsevier Ltd. All rights reserved.
q (^) This manuscript was processed by Area Editor T.C. Edwin Cheng. ⇑ (^) Corresponding author. Tel.: +91 3222 283652 (O); fax: +91 3222 255303x282700. E-mail addresses: [email protected] (R.P. Badoni), [email protected]. ernet.in (D.K. Gupta), [email protected] (P. Mishra).
Computers & Industrial Engineering 78 (2014) 12–
Contents lists available at ScienceDirect
j o u r n a l h o m e p a g e : w w w. e l s e v i e r. c o m / l o c a t e / c a i e
improvement phase, some events of the schedule may be altered hoping to achieve a better timetable. The university course timetabling problems are extensively studied by a number of researchers (Cambazard, Hebrard, O’Sullivan, & Papadopoulos, 2012; Carter, 1986; Lewis, 2008; Nothegger, Mayer, Chwatal, & Raidl, 2012; Yang & Jat, 2011) and a number of approaches are proposed for their solutions. They have systematically categorized these problems, presented their mathe- matical formulations and described both exact and heuristic algo- rithms for their solutions. Some of the most important methods used are sequential methods, cluster methods, constraint-based methods and generalized search methods. The hybrid evolutionary algorithms, metaheuristics, multi-criteria approaches, case based reasoning techniques, hyper-heuristics and adaptive approaches to solve them are described in (Petrovic & Burke, 2004). One approach (Abdullah & Turabieh, 2008; Wijaya & Manurung, 2009) converted it to a graph in which the nodes correspond to lectures and the edges between the nodes correspond to the constraints and used graph coloring algorithms. The graph coloring algorithm assigns a limited number of colors to the nodes of the graph in such a way that no two nodes connected by an edge have the same color. The number of colors correspond to the number of available time slots. The techniques of constraint based reasoning (Cambazard et al., 2012; Wijaya & Manurung, 2009) were also successfully used for the solution of the university course timetabling problem. These problems are represented as the Constraint Satisfaction Problems (CSPs) and then solved by using techniques used for solving CSPs. An approach in which constraints were iteratively added to the CSPs and solved by backtrack algorithm is described in Banks, Van Beek, and Meisels (1998). Several metaheuristic approaches inspired from nature and apply nature-like processes to solutions or populations of solutions to get optimal solutions of these prob- lems are ant colony optimization (Rossi-Doria et al., 2003; Nothegger et al., 2012), evolutionary algorithms (Rossi-Doria et al., 2003; Yang & Jat, 2011), simulated annealing (Abdullah, Shaker, McCollum, & McMullan, 2010; De Causmaecker, Demeester, & Vanden Berghe, 2009) and tabu search (Lü & Hao, 2010; Wilke & Ostler, 2008). Burke, McCollum, Meisels, Petrovic, and Qu (2007) employed tabu search within a graph based hyper- heuristic and applied it to the course timetabling benchmark data- sets with the aim of raising the level of generality by operating on different problem domains. In Abdullah et al. (2010), a Dual- sequence Simulated Annealing algorithm is employed as an improvement algorithm. The Round Robin algorithm is used to con- trol the selection of neighborhood structures within it. A genetic algorithm combined with a sequential local search for the curricu- lum based course timetabling problem which also used the two phased approach, i.e., the construction phase and the improvement phase is presented in Abdullah, Turabieh, McCollum, and Burke (2009). A guided search genetic algorithm for their solutions is dis- cussed in Yang and Jat (2011). By grouping similar lectures in a timetabling problem, a decomposed heuristic is described in De Causmaecker et al. (2009). In Rossi-Doria et al. (2003), the perfor- mance of the implementations of five different metaheuristics on a university course timetabling problem are compared unbiasedly. For fairness, all the algorithms implementing them use a common solution representation and a common local search. Lewis and Paechter (2005) presented a grouping genetic algorithm for feasible solution of university course timetabling problem. They used the definition of grouping (Falkenauer, 1998) as one where the task is to partition a set of objects U into a collection of mutually disjoint subsets u (^) i of U such that [u (^) i ¼ U and u (^) i \ u (^) j ¼ /; i – j, and accord- ing to a set of problem-specific constraints that define valid and legal groupings. The NP-hard bin packing problem defined for a finite set of items of various sizes is a well known example of it. Here, the task is to partition all of the items into various bins such
that the total size of all the items in any one bin does not exceed the bin’s maximum capacity with the minimum number of bins used. Further, when genetic algorithm with grouping is applied to solve university course timetabling problem, the representations and resulting genetic operators are used in such a way that allow the groupings of objects to be propagated as they are the building blocks of the problem and not the particular positions of any one object on its own. They also considered feasibility and optimality as two separate subproblems. They suggested that the performance of any algorithms satisfying hard and soft constraints might be dif- ferent. This means, what may be a good approach for finding feasi- bility may not necessarily be good for optimality of solutions. They further suggested that algorithms comprising two stages, the first to find feasibility and the second to optimize soft constraints whilst staying in feasible regions of the search space might be the more promising approach. In their work, the set of events represents the set of objects to partition and the groups are defined by the timeslots. So, a feasible solution is therefore one in which all the events jEj are partitioned into jTj feasible timeslots t 1 ; t 2 ;... ; tjTj. A feasible timeslot t (^) i ð 1 6 i 6 jTjÞ is one in which none of the events in t (^) i conflict and all the events in t (^) i can be placed in their own suit- able room. We have considered the set of students as the set of objects to partition into mutually disjoint student groups and then events taken by these student groups are assigned to timeslots and rooms by using GALS. This is applied in two phases, construction phase and improvement phase. In the first phase, the goal is to achieve feasibility by satisfying all hard constraints whereas in the second phase it is to optimize soft constraints whilst maintain- ing the feasibility of the solution. In this paper, a new hybrid algorithm (NHA) combining genetic algorithm with local search and using events based on groupings of students is described to solve the university course timetabling problem. A list of events such as lectures, tutorials, laboratories and seminars are ordered and mutually disjoint groups of students taking them are formed in such a way that once a student is selected in any group, he is excluded from further selection in other groups. The union of all the events taken by all the students of each group is formed. The number of events in each group is termed as its group size whose upper bound is restricted by the total number of timeslots and can be reduced to the maximum number of events per student. The above process of forming groups is repeated till the size of each group is reduced within this bound by not choosing those events which are common for all the stu- dents in the group. Now, the genetic algorithm with local search (GALS) is applied on a number of benchmark problems. The exper- imental results show that our algorithm, NHA, is able to produce promising results when compared with the results obtained by using GALS and other existing algorithms. This paper is organized as follows. Section 1 is the introduction. In Section 2, our university course timetabling problem and its mathematical formulation is described. Genetic algorithm with local search (GALS) is discussed in Section 3. The proposed new hybrid algorithm (NHA) combining GALS and using events based on grouping of students, instead of individual student, to get an optimal solution is given in Section 4. In Section 5, the results of the newly designed algorithm along with its comparison with the GALS and the other state-of-the-art algorithms considered from the literature are displayed. Finally, conclusions are included in Section 6.
In this section, a university course timetabling problem and its mathematical formulation is described. It is a multidimensional assignment problem, in which events (lectures, tutorials,
of possible rooms to which these events can be assigned according to size and features. Further, a bipartite matching algorithm gives a maximum cardinality matching between these two sets using a deterministic network flow algorithm considered by Papadimitriou and Steiglitz (1998). If there are still unplaced events left, it takes them in label order and puts each one onto the room of correct type and size which is occupied by the fewest events. If two or more rooms are tied, it takes the one with the smallest label. This leads to a complete assignment of timeslots and rooms to all events.
In this section, a hybrid algorithm combining a genetic algorithm with a local search algorithm using the solution representation as described in the previous section for university course timetabling problem is described. Genetic algorithms and their modifications have been successfully used to solve a number of combinatorial optimization problems in particular timetabling problems. GALS has been selected because it uses the merits of both genetic algo- rithm and local search algorithm. Genetic algorithm is a popula-
Table 1 The feasible timetable.
t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 ðe 26 ; r 1 Þ ðe 79 ; r 1 Þ ðe 89 ; r 1 Þ ðe 33 ; r 1 Þ ðe 64 ; r 1 Þ ðe 63 ; r 1 Þ ðe 1 ; r 5 Þ ðe 2 ; r 5 Þ ðe 38 ; r 2 Þ ðe 83 ; r 2 Þ ðe 81 ; r 2 Þ ðe 88 ; r 2 Þ ðe 65 ; r 1 Þ ðe 40 ; r 3 Þ t 10 t 11 t 12 t 13 t 14 t 15 t 16 t 17 t 18 ðe 7 ; r 1 Þ ðe 13 ; r 1 Þ ðe 28 ; r 1 Þ ðe 30 ; r 5 Þ ðe 23 ; r 1 Þ ðe 35 ; r 1 Þ ðe 4 ; r 4 Þ ðe 14 ; r 1 Þ ðe 12 ; r 5 Þ ðe 25 ; r 2 Þ ðe 73 ; r 2 Þ ðe 43 ; r 1 Þ ðe 44 ; r 2 Þ ðe 85 ; r 2 Þ ðe 21 ; r 5 Þ ðe 71 ; r 5 Þ ðe 29 ; r 2 Þ ðe 47 ; r 3 Þ ðe 82 ; r 3 Þ ðe 95 ; r 5 Þ ðe 92 ; r 3 Þ ðe 56 ; r 1 Þ ðe 98 ; r 2 Þ ðe 51 ; r 3 Þ ðe 96 ; r 5 Þ ðe 60 ; r 2 Þ ðe 66 ; r 3 Þ t 19 t 20 t 21 t 22 t 23 t 24 t 25 t 26 t 27 ðe 9 ; r 1 Þ ðe 16 ; r 5 Þ ðe 15 ; r 2 Þ ðe 3 ; r 5 Þ ðe 50 ; r 1 Þ ðe 18 ; r 4 Þ ðe 39 ; r 1 Þ ðe 10 ; r 1 Þ ðe 78 ; r 2 Þ ðe 34 ; r 1 Þ ðe 24 ; r 1 Þ ðe 93 ; r 2 Þ ðe 77 ; r 2 Þ ðe 31 ; r 2 Þ ðe 17 ; r 5 Þ ðe 99 ; r 3 Þ ðe 62 ; r 2 Þ ðe 67 ; r 5 Þ ðe 100 ; r 1 Þ ðe 91 ; r 3 Þ ðe 46 ; r 3 Þ ðe 37 ; r 2 Þ ðe 72 ; r 4 Þ ðe 84 ; r 3 Þ ðe 49 ; r 1 Þ ðe 94 ; r 3 Þ ðe 69 ; r 5 Þ t 28 t 29 t 30 t 31 t 32 t 33 t 34 t 35 t 36 ðe 57 ; r 5 Þ ðe 97 ; r 1 Þ ðe 41 ; r 1 Þ ðe 22 ; r 5 Þ ðe 58 ; r 2 Þ ðe 76 ; r 1 Þ ðe 53 ; r 1 Þ ðe 27 ; r 1 Þ t 37 t 38 t 39 t 40 t 41 t 42 t 43 t 44 t 45 ðe 20 ; r 1 Þ ðe 11 ; r 1 Þ ðe 19 ; r 1 Þ ðe 55 ; r 1 Þ ðe 6 ; r 1 Þ ðe 32 ; r 1 Þ ðe 36 ; r 1 Þ ðe 5 ; r 1 Þ ðe 42 ; r 2 Þ ðe 45 ; r 2 Þ ðe 48 ; r 3 Þ ðe 70 ; r 2 Þ ðe 8 ; r 5 Þ ðe 68 ; r 2 Þ ðe 74 ; r 2 Þ ðe 52 ; r 2 Þ ðe 59 ; r 3 Þ ðe 87 ; r 3 Þ ðe 86 ; r 2 Þ ðe 80 ; r 5 Þ ðe 54 ; r 2 Þ ðe 75 ; r 3 Þ ðe 61 ; r 4 Þ ðe 90 ; r 5 Þ
Table 2 The optimal timetable.
t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 ðe 83 ; r 2 Þ ðe 3 ; r 5 Þ ðe 34 ; r 2 Þ ðe 1 ; r 5 Þ ðe 63 ; r 1 Þ ðe 51 ; r 5 Þ ðe 21 ; r 5 Þ ðe 23 ; r 1 Þ ðe 20 ; r 1 Þ ðe 75 ; r 1 Þ ðe 38 ; r 2 Þ ðe 100 ; r 2 Þ ðe 77 ; r 1 Þ ðe 33 ; r 2 Þ ðe 89 ; r 3 Þ t 10 t 11 t 12 t 13 t 14 t 15 t 16 t 17 t 18 ðe 13 ; r 4 Þ ðe 10 ; r 1 Þ ðe 44 ; r 1 Þ ðe 41 ; r 1 Þ ðe 43 ; r 1 Þ ðe 2 ; r 5 Þ ðe 56 ; r 1 Þ ðe 7 ; r 1 Þ ðe 61 ; r 1 Þ ðe 17 ; r 5 Þ ðe 25 ; r 2 Þ ðe 74 ; r 3 Þ ðe 58 ; r 2 Þ ðe 85 ; r 2 Þ ðe 9 ; r 1 Þ ðe 73 ; r 3 Þ ðe 49 ; r 2 Þ ðe 26 ; r 2 Þ ðe 40 ; r 3 Þ ðe 99 ; r 2 Þ ðe 24 ; r 2 Þ ðe 82 ; r 4 Þ ðe 64 ; r 3 Þ ðe 36 ; r 3 Þ ðe 86 ; r 2 Þ ðe 94 ; r 1 Þ t 19 t 20 t 21 t 22 t 23 t 24 t 25 t 26 t 27 ðe 57 ; r 5 Þ ðe 35 ; r 1 Þ ðe 14 ; r 1 Þ ðe 19 ; r 1 Þ ðe 8 ; r 5 Þ ðe 6 ; r 1 Þ ðe 42 ; r 2 Þ ðe 66 ; r 2 Þ ðe 70 ; r 1 Þ ðe 48 ; r 3 Þ ðe 29 ; r 3 Þ ðe 69 ; r 2 Þ ðe 39 ; r 1 Þ ðe 79 ; r 3 Þ ðe 72 ; r 2 Þ ðe 52 ; r 2 Þ ðe 53 ; r 2 Þ ðe 98 ; r 3 Þ ðe 54 ; r 2 Þ ðe 93 ; r 2 Þ ðe 55 ; r 3 Þ t 28 t 29 t 30 t 31 t 32 t 33 t 34 t 35 t 36 ðe 15 ; r 2 Þ ðe 46 ; r 1 Þ ðe 27 ; r 2 Þ ðe 18 ; r 1 Þ ðe 12 ; r 5 Þ ðe 16 ; r 5 Þ ðe 45 ; r 1 Þ ðe 71 ; r 5 Þ ðe 5 ; r 1 Þ ðe 22 ; r 5 Þ ðe 81 ; r 2 Þ ðe 68 ; r 1 Þ ðe 59 ; r 4 Þ ðe 78 ; r 1 Þ ðe 97 ; r 2 Þ ðe 76 ; r 3 Þ ðe 90 ; r 2 Þ t 37 t 38 t 39 t 40 t 41 t 42 t 43 t 44 t 45 ðe 28 ; r 1 Þ ðe 65 ; r 2 Þ ðe 31 ; r 2 Þ ðe 4 ; r 1 Þ ðe 67 ; r 5 Þ ðe 62 ; r 2 Þ ðe 11 ; r 1 Þ ðe 37 ; r 2 Þ ðe 30 ; r 5 Þ ðe 84 ; r 1 Þ ðe 80 ; r 5 Þ ðe 47 ; r 3 Þ ðe 88 ; r 1 Þ ðe 96 ; r 5 Þ ðe 50 ; r 1 Þ ðe 32 ; r 3 Þ ðe 87 ; r 1 Þ ðe 60 ; r 2 Þ ðe 91 ; r 3 Þ ðe 92 ; r 2 Þ ðe 95 ; r 5 Þ
tion-based algorithm which uses exploration of the entire search space without concentrating on the individuals of good fitness within a population. They may experience premature convergence and get trapped into local optima. Thus, they take more time. On the other hand, local search algorithm emphasizes on exploitation and move in one direction without performing a wider scan of the search space. GALS improve their performance by fine tuning the global search. The term genetic algorithm (GA) was first used by John (1992). It is developed based on Darwin’s theory of survival of the fittest. It is an optimization procedure used in finding approx- imate solutions to many difficult problems arising in various fields of applications. It is a probabilistic search algorithm used to trans- form iteratively a population of objects, each with an associated fit- ness value into a new population of offspring objects using the natural selection and two operations termed as crossover and mutation operations. The encoding of potential solution to a specific problem in the form of chromosome like data structure is required. Better offsprings preserving the critical information are generated from these structures by applying the recombination operators. Thus, variables are represented as genes on chromosomes. Chromo- somes with better fitness are obtained through natural selection and the genetic operators. Natural selection guarantees that chro- mosomes with better fitness will propagate in future populations. Recombination or crossover operator combines genes from two parents chromosomes to form a new chromosome with high prob- ability of having better fitness than the parents. Mutation alters one or more genes values in a chromosome from its initial state with the aim of finding a better solution. It can help to prevent population from stagnating at any local optima. Thus, a genetic algorithm oper- ates on a population of randomly generated potential solutions across the search space and comprise three major stages namely selection, reproduction and replacement. Selection stage allocates more copies of those solutions with higher fitness and thus imposes the survival-of-the-fittest mechanism on the candidate solutions. The main idea of selection is to give higher chance to the fittest indi- viduals than those less fit of being chosen as parents for the next generation as in natural selection. Reproduction is performed by means of crossover and mutation operators applied to the selected parents. Crossover combines parts of each of two parental solutions to create new, possibly better solutions, while mutation modifies a solution locally, i.e., mutation performs a random walk in the vicin- ity of a candidate solution. Finally, the population of offsprings cre- ated by selection and reproduction replaces the original parental population, usually trying to keep the best individuals and remov- ing the worst ones. The selection stage ensures the better utilization of the healthier offspring, while the reproduction stage ensures the proper exploration of the search space based on the fact that the replacement policy allows the acceptance of new solutions that do not necessarily improve existing ones. GALS was first introduced by Moscato et al. (1989) and Moscato, Cotta, and Mendes (2004) as a form of population-based genetic algorithms hybridized with an individual learning procedure capable of fine tuning of global search. Many researchers (Abdullah, Burke, & McCollum, 2007a; Abdullah & Turabieh, 2008; Abdullah et al., 2009; Abdullah, Turabieh, McCollum, & McMullan, 2012; Rossi-Doria et al., 2003; Wijaya & Manurung, 2009) have purposed various methods of hybridization to get improve performance for the university course timetabling problem. In our work, we have used a basic implemen- tation of genetic algorithm that uses only the problem specific heu- ristic information coming from the local search. It is characterized by a steady-state evolution process, i.e. at each generation only one cou- ple of parent individuals is selected for reproduction. Tournament selection strategy is used. A number of individuals are chosen ran- domly from the current population and the best in terms of fitness function is selected as parent. Since university course timetabling problem involved both hard and soft constraints, where all hard con-
straints are to be satisfied and soft constraints violations are to be minimized as much as possible. A fitness function f ðIÞ is designed for estimating the violations of soft constraints. Hence, the fitness function f ðIÞ for an individual solution I is given by
f ðIÞ ¼ c hcvðIÞ þ scvðIÞ;
where hcvðIÞ; scvðIÞ and c are the number of hard constraint viola- tions, the number of soft constraint violations and a constant that is always set larger than the maximum possible number of soft con- straint violations respectively. A uniform crossover operator is used on the solution representation, where for each event, a timeslot’s assignment is inherited either from the first or the second parents with equal probability. Mutation is just a random move in the neigh- borhood defined by the local search extended with three-cycle per- mutations of the timeslots of three distinct events, which corresponds to the complete neighborhood of the local search algo- rithm. This complete neighborhood is defined as the union of three types of neighborhood move. Type 1 move takes one event from a timeslot to a different timeslot, type 2 move swaps two events in two different timeslots and type 3 move permutes three events in three distinct timeslots in one of the two possible ways. The off- spring replaces the worst member of the population at each genera- tion. The initial population is built randomly by assigning a timeslot to each event for each individual using uniform distribution. The bipartite matching is used for room assignments to ensure that each event-timeslot assignment corresponds uniquely to one timetable, i.e., a complete assignment of events and timeslots to all the rooms. Local search is then applied to each individual in two phases, the construction phase and the improvement phase. The population size and the tournament size is chosen 10 and 5 respectively. The termi- nation criteria of the algorithm is either time limit, or number of iter- ations, or optimal solution achieved with zero fitness function value.
Algorithm 1. Genetic algorithm Input: A problem instance I; Output: an optimal solution ybest for I. 1: begin 2: for ði 1 to maxÞ do // generate an initial random population of solutions of size max. 3: yi random initial solution; 4: yi solution after applying Local Search; 5: calculate fitness function value of yi; 6: sort population of solutions based on increasing order of their fitness function values; 7: repeat 8: select two parents from population by tournament selection; 9: y child solution created after crossover with probability a; 10: y child solution created after mutation with probability b; 11: y child solution created after applying the local search; 12: ymax y; // y replaces the worst solution ymax in the population of sorted solutions. 13: generate population of solutions sorted based on increasing order of their fitness function value; 14: ybest y 1 ; // y 1 is the best solution in the population. 15: until (termination criteria not reached); 16: end
The local search algorithm is a stochastic first improvement local search based on the neighborhood and applied to each individual solution in two phases, namely the construction phase and the
problems which is based on the following definition of grouping problem. The grouping problem is defined as one where the task is to partition a set of objects U into a collection of mutually dis- joint subsets ui of U such that [u (^) i ¼ U and u (^) i \ uj ¼ /; i – j, and according to a set of problem-specific constraints that define valid and legal groupings. In other words, the aim of a grouping prob- lem is to group the members of a set of objects into one or more groups, where each object is in exactly one group. Grouping genetic algorithm is not a ready-for-use approach; it has to be explicitly tailored to each grouping problem. However, the struc- ture of the problems is the same in the sense that their cost func- tions depend on the composition of these groups. In our approach, we have used events based on groupings of students to solve the university course timetabling problem. Thus, leading to a innovative way of using grouping approach of Falkenauer (1998). Here, set of students S is considered as a set of objects and is partitioned into a collection of k mutually disjoint groups Gi ði ¼ 1 ; 2 ;... ; kÞ such that [Gi ¼ S and Gi \ G (^) j ¼ /; i – j. The mutually disjoint groups of students are formed from the given set of students S for all the events in the given order, i.e., starting from first event, we select all those students who are taking this event and formed a group. A selected student is excluded from
further selection in other groups. This procedure is repeated for all the events until all the students are not selected. Let groups G 1 ; G 2 ;... ; Gk, where k be an integer are formed. We also formed group of events EðG (^) kÞ corresponding to group Gk, where EðG (^) kÞ ¼ [jfEðs (^) jÞjs (^) j 2 Gkg, i.e. the union of the events taken by all the students of group Gk. The number of events jEðGkÞj in each group Gk is termed as its group size. Once, the students and the events groups are formed, the group size of each events groups is reduced within a given upper bound. Initially, the upper bound of the group size is taken as the total number of timeslots. The second soft constraint reduces this bound to 30. This can be fur- ther reduced to the maximum number of events per student which is taken as 20 for all the problem instances of Rossi- Doria et al. (2003). In order to reduce the group size, the students groups are divided into a number of subgroups. This is done by selecting only those events which are not common for all the stu- dents in a group. This is repeated till the group size is not within the bounds. The modified problem is now solved by GALS of pre- vious section by considering each student group G (^) i ði ¼ 1 ; 2 ;... ; kÞ as a student, where k 6 p. The upper bound of the group size is successively reduced by one till either the optimal solution is not reached or becomes equal to the number of maximum events per student. Since, the university course timetabling problem is the problem of assignment of events into timeslots and rooms in such a way that there is no hard constraint violation and the number of soft constraint violations should be as minimum as possible. Hence, we assigned events taken by student groups, not by students, into timeslots and rooms.
Algorithm 4. New grouping algorithm Input: S: the set of p students; E: the set of all n events; Eðs (^) iÞ: the set of events taken by student s (^) i; Output: Groups of students F Group with their respective group of events of desired group size. 1: begin 2: X max 16 i 6 pfjEðs (^) iÞjg; 3: MAX ðmaximum possible cardinality of group jX 6 MAX 6 45 Þ; 4: G S; 5: i 1; 6: k 1; 7: F Group /; // F Group is a set consisting of the group of students, say G (^) k, as its elements. 8: while ðG – /Þ do 9: Gk /; // set G (^) k consists the elements (students) of kth^ group. 10: EðGkÞ /; // set EðGkÞ consists all the events taken by kth^ group. 11: for ðj 1 to pÞ do 12: if ððei 2 Eðs (^) jÞÞ ^ ðs (^) j 2 GÞÞ then 13: G (^) k G (^) k [ fsjg; 14: G G n fsjg; 15: EðGkÞ EðGkÞ [ Eðs (^) jÞ; 16: if ðGk – /Þ then 17: CheckSizeðG (^) k; EðGkÞ; MAXÞ; // returns the group of students Group with desired group size. 18: F Group F Group [ Group 19: k k þ 1; 20: i i þ 1; 21: end
Start
Optimum solution
Stop
Termination criteria met
Generate initial population of solution of size max
Calculate fitness of all solutions (^) Replace worst solution by new solution Sort solutions in increasing order of their fitness function value
Selection
Crossover
Mutation
Apply Local Search
Yes
No
Yes
No
Fig. 1. Flow chart of GALS.
Procedure CheckSizeðG (^) k; EðGkÞ; MAXÞ Taking G (^) k; EðGkÞ and MAX as arguments, it returns the group of students Group within required group size 1: begin 2: Group /; // Group is a set consisting of the students subgroup of Gk within required group size. 3: if ðjEðG (^) kÞj 6 MAXÞ then 4: Group fGkg; 5: return Group; 6: else 7: repeat 8: ReduceGroupSizeðG (^) k; EðGkÞÞ; // returns a subgroup Gjk of G (^) k with reduced group size. 9: EðGjkÞ
yfEðsyjsy^2 G
j kg 10: if ðjEðGjkÞj 6 MAXÞ then 11: Group Group
fGjkg; 12: until ðjEðGjkÞj > MAX for any Gjk # G (^) kj
jðG
j kÞ ¼^ GkÞ; 13: return Group; 14: end
Procedure ReduceGroupSizeðG (^) K ; EðG (^) kÞÞ Taking G (^) K and EðGkÞ as arguments, it returns a number of partitioned subgroups Gjk of G (^) k 1: begin 2: i 1; 3: j 1; 4: while ððe (^) i R \fEðs (^) yÞjsy 2 G (^) kgÞ ^ ðGk – /ÞÞ do 5: Gjk /; 6: EðGjkÞ /; 7: for ððl 1 topÞ ^ ðei 2 Eðs (^) lÞÞ ^ ðs (^) l 2 GkÞÞ do 8: Gjk Gjk [ fs (^) lg; 9: G (^) k Gk n fslg; 10: EðGjkÞ EðGjkÞ [ Eðs (^) lÞ; 11: if ðGjk – /Þ then 12: return Gjk; 13: j j þ 1; 14: i i þ 1; 15: end
After constructing disjoint groups of students, room-features and event-features are modified in order to satisfy the constraint requiring all the events are to be assigned to rooms having ade- quate seating capacity and all the required features. There are total m rooms and initially there are q features per room. If there are multiple rooms with the same seating capacity and there are total y distinct room capacities, where y 6 m. Then a total of ðq þ yÞ features will be there for each one of the room. Also, the rooms with the same seating capacity will have the same set of new features in addition to the given q features per room. The fol- lowing procedure will give us a total of ðq þ yÞ features for each one of the m rooms of the new problem instance after construc- tion of student groups.
Procedure Room-features for the new problem instance Input: All m rooms r 1 ; r 2 ;... ; r (^) m with their seating capacity and room-features; Output: Room-features for the new problem instance. 1: begin 2: for ði 1 to mÞ do 3: seat cap½i seating capacity of room r (^) i; 4: sort all room seating capacities (distinct) in their increasing order; 5: cap½ 1 least room seating capacity; 6: cap½y highest room seating capacity; // Assume, there are total y distinct room capacities, where y 6 m; 7: rf ½i½q all q features for room r (^) i; 8: for ði 1 to mÞ do // for m rooms; 9: give all the room-features rf ½i½q for room r (^) i; 10: for ðj 1 toyÞ do 11: if ðseat cap½i 6 cap½jÞ then 12: rf ½i½q þ j 1; 13: else 14: rf ½i½q þ j 0; 15: end
Similarly, we can modify the event-features for the new prob- lem instance after construction of student groups by the following procedure. Here, the number of students enrolled in a particular event is also required.
Modified problem instance after new grouping algorithm
New grouping algorithm with maximum group size MAX
GALS algorithms
Optimum solution
Start
Given problem instance
Stop
Termination criteria met
MAX = MAX -
No
No
Yes
Yes
Fig. 2. Flow chart of NHA.
Each instance of each problem is run for 20 times and the smallest fitness function value among them is taken as the best value for the solution of the problem instance. The fitness function values versus time taken by GALS and NHA are compared. This comparison is shown in Figs. 3 and 4 for small01 and medium01 instances. It is evident that our algorithm NHA in comparison to GALS gives zero fitness function values for each instances of the small class of problems. It takes the minimum fitness function values for each instances of the medium class of problems. No feasible solutions were obtained for all instances of large class of problems with the considered parameters. If we define the distance to feasi- bility as the total number of hard constraint violations in an unfea- sible solution, it is very less for NHA in comparison to GALS. To get the optimal solutions for all instances of large class of problems, the time limits as well as the number of iterations are increased incrementally. It is observed that for the time limit and number of iterations of 90 s and 8000, the optimal solution of hard
problem instance is obtained. The fitness function values versus time taken by GALS and NHA are compared by the graph given in Fig. 5 for the hard02 problem instance. However, no optimal solution of hard01 problem is obtained for all its instances. In order to get suitable combination of crossover probability (cr) and mutation probability (mr) for medium03 prob- lem instance, the Table 4 lists the fitness function values for vari- ous combination of cr and mr for medium03 problem instance. The comparison of fitness function values versus time for different combinations of cr and mr are plotted in Fig. 6. It is observed that the optimal fitness function value is obtained for cr ¼ 0 :8 and mr ¼ 0 :5. It is further found that this combination also gives opti- mal solutions for all other problems instances. The fitness function values for 12 problem instances of first experiment obtained by GALS and NHA are listed in Table 5. Next, our NHA compared with some other algorithms used in the litera- ture. The algorithms compared and the conditions under which there results are reported is described as follows.
NHA The results were reported out of twenty runs with 100, evaluations per run. The small problems instances are not considered since global optima for them was already obtained. The time limits for each run of medium and large instances are restricted by 900 and 9000 s respectively. A1 A genetic algorithm with a repair function and local search proposed by Abdullah and Turabieh (2008). The results were reported out of five runs. A2 A composite neighborhood structure with randomized itera- tive improvement algorithm proposed by Abdullah, Burke, and McCollum (2007b). The results were reported out of five runs with each run lasting for 200,000 evaluations. A3 A tabu search with graph-based hyperheuristic proposed by Burke et al. (2007). The results were reported out of five runs with 12,000 evaluations per run for small instances, 1200 evaluations per run for medium instances, and 5400 evalua- tions per run for the large instance. A4 A variable neighborhood search based on a random descent local search with Monte-Carlo acceptance criterion proposed by Abdullah, Burke, and Mccollum (2005). The results were reported out of five runs with each run lasting for 200, evaluations. A5 A hybrid evolutionary algorithm consisting of an evolution- ary algorithm using a light mutation operator followed by a randomized iterative improvement algorithm proposed by Abdullah et al. (2007a). The results were reported out of five runs with 200,000 evaluations per run. A6 An extended great deluge algorithm proposed by McMullan (2007). The results were reported out of ten runs with 200,000 evaluations per run. The time taken to achieve the best solutions for small instances was ranged between 15 to 60 s. A7 A modified great deluge algorithm by using a nonlinear decay of water level proposed by Landa-Silva and Obit (2008). They successfully improved the performance of the great deluge algorithm on medium instances. The results were reported out of ten runs with each run lasting for 3600, 4700 and 6700 s respectively for small, medium and large instances.
50 60 70 80 90
1100
1200
1300
1400
1500
1600
Time (in seconds)
Fitness function
GALS NHA
Fig. 5. Fitness function values versus time for hard02 by GALS and NHA.
(^4002 3 4 5 6 7 8 9 )
450
500
550
600
650
700
750
800
850
Time (in seconds)
Fitness function
GALS NHA
Fig. 4. Fitness function values versus time for medium01 by GALS and NHA.
Table 4 Fitness function values of medium03 instance corresponding to different crossover and mutation probabilities by NHA.
Crossover rate 0.0 0.0 0.2 0.2 0.2 0.4 0.4 0.6 0.6 0.8 0.8 0.8 1.0 1. Mutation rate 0.5 1.0 0.2 0.5 1.0 0.5 1.0 0.5 1.0 0.5 0.8 1.0 0.5 1. Fitness function 568 637 599 574 584 574 629 608 605 535 567 673 602 634
2 4 6 8 10 12 500
600
700
800
900
Time (in seconds)
Fitness function
GALS (cr = 0.8, mr = 0.5) NHA (cr = 0.0, mr = 0.5) NHA (cr = 0.0, mr = 1.0) NHA (cr = 0.2, mr = 0.2) NHA (cr = 0.2, mr = 0.5) NHA (cr = 0.2, mr = 1.0) NHA (cr = 0.4, mr = 0.5) NHA (cr = 0.4, mr = 1.0) NHA (cr = 0.6, mr = 0.5) NHA (cr = 0.6, mr = 1.0) NHA (cr = 0.8, mr = 0.5) NHA (cr = 0.8, mr = 0.8) NHA (cr = 0.8, mr = 1.0) NHA (cr = 1.0, mr = 0.5) NHA (cr = 1.0, mr = 1.0)
Fig. 6. Fitness function values versus time for medium03 by GALS and NHA for different cr and mr.
Table 5 Fitness function values for problem instances of Rossi-Doria et al. (2003) by GALS and NHA.
Method small01 small02 small03 small04 small05 medium01 medium02 medium03 medium04 medium05 hard01 hard GALS 6 9 2 4 0 (0.704 s) 524 441 605 441 599 1 1312 NHA 0 (0.176 s) 0 (0.112 s) 0 (0.520 s) 0 (0.548 s) 0 (0.080 s) 440 324 535 362 478 1 1082
Table 6 Comparison of fitness function values for problem instances of Rossi-Doria et al. (2003).
Instance NHA A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A Best Avg. Worst Std. dev. small01 0 0 0 0 2 0 6 0 0 0 3 8 1 10 0 0 0 small02 0 0 0 0 4 0 7 0 0 0 4 11 3 9 3 0 0 small03 0 0 0 0 2 0 3 0 0 0 6 8 1 7 0 0 0 small04 0 0 0 0 0 0 3 0 0 0 6 7 1 17 0 0 0 small05 0 0 0 0 4 0 4 0 0 0 0 5 0 7 0 0 0 medium01 106 131.45 147 12.96 254 242 372 317 221 80 140 199 195 243 280 139 175 medium02 107 126.70 140 9.40 258 161 419 313 147 105 130 202.5 184 325 188 92 197 medium03 132 151 185 17.11 251 265 359 357 246 139 189 77.5% Inf. 248 249 249 122 216 medium04 72 92.8 121 16.23 321 181 348 247 165 88 112 177.5 164.5 285 247 98 149 medium05 107 124.8 140 10.97 276 151 171 292 130 88 141 100% Inf. 219.5 132 232 116 190 hard01 505 555 655 36.59 1026 100% Inf. 1068 100% Inf. 529 730 876 100% Inf. 851.5 1138 100% Inf. 615 912 hard02 486 523.65 598 38.67 NA NA NA NA NA NA NA NA NA NA NA NA NA
(^60) medium01 medium02 medium03 medium04 medium
70
80
90
100
110
120
130
140
150
160
170
180
190190
Fitness Function
(a)
hard01 hard
480
500
520
540
560
580
600
620
640
660
Fitness function
(b)
Fig. 7. Box and whisker plot of results obtained by NHA (a) for medium problem instances (b) for large problem instances.
A12 An extended guided search genetic algorithm proposed by Yang and Jat (2011). The results were reported out of 50 runs with each run lasting for 90, 900 and 9000 s respectively for small, medium and large instances. A13 A hybrid metaheuristic approach proposed by Abdullah et al. (2012). The results were reported out of five runs with 100,000 evaluations per run. Also, the time limit for each run is restricted by 90, 7200 and 21,600 s respectively for small, medium and large instances.
Table 6 shows the comparison of the best fitness function val- ues obtained. Other algorithms have considered only the first 11 problem instances. Here, hard01 problem is corresponding to large problem whereas none of them used hard02 problem. Hence, the fitness function value of hard02 problem instance is shown as not available (NA) in all the compared methods. The term x% Inf in Table 6 indicates a percentage of runs that failed to produce fea- sible solutions. It is observed that our algorithm NHA is capable of finding feasible solutions for all the problem instances. The optimal solutions of all small sized problem instances are obtained within a second by our method. In fact, for small05 problem instance we get optimal solution within 0.08 s. Also, our algorithm NHA outper- forms all the other compared algorithms in medium04 and hard (or large instance of Socha et al. (2002)) instances. Results obtained for all medium and large instances from all the 20 runs are summa- rized by boxplot in Fig. 7(a) and (b). In the boxplot, a box shows the range between 25% and 75% quantile of the data. The median is indicated by a bar. The whiskers extend to the most extreme data point which is no more than 1.5 times the interquartile range from the box. Outliers are indicated as plus.
5.2. ITC2002 datasets
The second experiment is performed based on ITC2002 data- sets. The detailed description of these datasets are given in Table 7. Here, each of the 20 problem instances is run for 20 times by both GALS and NHA algorithms and the best results obtained by them are compared. The time limit and the number of iterations are fixed by 15 s and 1500 per generation. The graphs of two randomly selected instances competition05 and competition08 are given in Figs. 8 and 9. Fig. 8(a) and (b) are respectively showing distance to feasibility versus time and fitness function values versus time for competition05 instance. It can be seen that GALS does not give any feasible solution, whereas, NHA gives quite impressive result with the same parameters. Similarly, from Fig. 9 showing fitness function values versus time for competition08 instance, it is observed that NHA gives significant improvement compare to GALS. The fitness function values for all the twenty problem instances of ITC2002 obtained by GALS and NHA are given in Table 8. It is observed that NHA shows improved performance in comparison to GALS. In GALS, the events taken by students are assigned to timeslots and rooms. On the other hand, NHA using modified grouping prob- lem takes groups of students for this purpose. Thus, results in the reduction of selection time taken by the selection procedure in NHA compared to GALS.
A new hybrid algorithm, NHA, combining GALS and using events based on groupings of students is described to solve the university course timetabling problem. The experiments are car- ried out on datasets taken from Rossi-Doria et al. (2003) and ITC2002. The performance measure depending on the parameters and operators such as population size, crossover and mutation is given in terms of fitness function values. It is shown that in all small sized problem instances, NHA gives optimal solutions with zero fitness function values within 0.6 s. In all other datasets of benchmark problems, NHA outperforms GALS. In some problem instances, it is observed that GALS is not able to provide any feasi- ble solution whereas NHA is giving quite significant solutions with the same set of parameters. For medium04 and hard01 problem instances, NHA is outperforming all the other state-of-the-art algo- rithms considered.
Acknowledgments
The authors thank the anonymous referees for their valuable comments which have improved the presentation of the paper. First author also acknowledges financial support from CSIR through CSIR (NET) with application number 09/081(1093)/2010- EMR-I.
References
Abdullah, S., Burke, E. K., & McCollum, B. (2007a). A hybrid evolutionary approach to the university course timetabling problem. In IEEE congress on evolutionary computation, 2007, CEC 2007 (pp. 1764–1768). IEEE. Abdullah, S., Burke, E. K., & McCollum, B. (2007b). Using a randomised iterative improvement algorithm with composite neighbourhood structures for the university course timetabling problem. In Metaheuristics (pp. 153–169). Springer. Abdullah, S., Burke, E.K., & Mccollum, B. (2005). An investigation of variable neighbourhood search for university course timetabling. In The second multidisciplinary international conference on scheduling: theory and applications (MISTA) (pp. 413–427). Abdullah, S., Turabieh, H., McCollum, B., & Burke, E.K. (2009). An investigation of a genetic algorithm and sequential local search approach for curriculum-based course timetabling problems. In Proc. multidisciplinary international conference on scheduling: Theory and applications (MISTA 2009), Dublin, Ireland (pp. 727– 731). Abdullah, S., Shaker, K., McCollum, B., & McMullan, P. (2010). Dual sequence simulated annealing with round-robin approach for university course timetabling. In Evolutionary computation in combinatorial optimization (pp. 1–10). Springer. Abdullah, S., & Turabieh, H. (2008). Generating university course timetable using genetic algorithms and local search. Third international conference on convergence and hybrid information technology, 2008, ICCIT’08 (Vol. 1, pp. 254–260). IEEE. Abdullah, S., Turabieh, H., McCollum, B., & McMullan, P. (2012). A hybrid metaheuristic approach to the university course timetabling problem. Journal of Heuristics, 18(1), 1–23. Asmuni, H., Burke, E. K., & Garibaldi, J. M. (2005). Fuzzy multiple heuristic ordering for course timetabling. In Proceeding of the fifth United Kingdom workshop on computational intelligence (pp. 302–309). London: Citeseer. Banks, D., Van Beek, P., & Meisels, A. (1998). A heuristic incremental modeling approach to course timetabling. In Advances in artificial intelligence (pp. 16–29). Springer. Burke, E. K., McCollum, B., Meisels, A., Petrovic, S., & Qu, R. (2007). A graph-based hyper-heuristic for educational timetabling problems. European Journal of Operational Research, 176(1), 177–192.
Table 8 Fitness function values for problem instances of ITC2002 by GALS and NHA.
Method com01 com02 com03 com04 com05 com06 com07 com08 com09 com10 com11 com12 com13 com14 com15 com16 com17 com18 com19 com GALS 658 474 531 1004 1 651 702 545 550 873 594 1 827 1151 743 495 1 456 825 572 NHA 544 429 493 832 911 437 536 373 491 592 508 661 776 696 509 475 687 431 718 511
Cambazard, H., Hebrard, E., O’Sullivan, B., & Papadopoulos, A. (2012). Local search and constraint programming for the post enrolment-based course timetabling problem. Annals of Operations Research, 194(1), 111–135. Carter, M. W. (1986). Or practice-a survey of practical applications of examination timetabling algorithms. Operations Research, 34(2), 193–202. De Causmaecker, P., Demeester, P., & Vanden Berghe, G. (2009). A decomposed metaheuristic approach for a real-world university timetabling problem. European Journal of Operational Research, 195(1), 307–318. Falkenauer, E. (1998). Genetic algorithms and grouping problems. John Wiley & Sons, Inc. John, H. (1992). Adaptation in natural and artificial systems. Cambridge, MA: MIT Press. Landa-Silva, D., & Obit, J. H. (2008). Great deluge with non-linear decay rate for solving course timetabling problems. Fourth international IEEE conference intelligent systems, 2008, IS’08 (Vol. 1, pp. 8–11). IEEE. Lewis, R. (2008). A survey of metaheuristic-based techniques for university timetabling problems. OR Spectrum, 30(1), 167–190. Lewis, R., & Paechter, B. (2005). Application of the grouping genetic algorithm to university course timetabling. In Evolutionary computation in combinatorial optimization (pp. 144–153). Springer. Lü, Z., & Hao, J.-K. (2010). Adaptive tabu search for course timetabling. European Journal of Operational Research, 200(1), 235–244. McMullan, P. (2007). An extended implementation of the great deluge algorithm for course timetabling. In Computational science – ICCS 2007 (pp. 538–545). Springer. Moscato, P., Cotta, C., & Mendes, A. (2004). Memetic algorithms. In New optimization techniques in engineering (pp. 53–85). Springer.
Moscato, P. et al. (1989). On evolution, search, optimization, genetic algorithms and martial arts: Towards memetic algorithms. Caltech concurrent computation program. C3P Report 826. Nothegger, C., Mayer, A., Chwatal, A., & Raidl, G. R. (2012). Solving the post enrolment course timetabling problem by ant colony optimization. Annals of Operations Research, 194(1), 325–339. Papadimitriou, C. H., & Steiglitz, K. (1998). Combinatorial optimization: Algorithms and complexity. Courier Dover Publications. Petrovic, S., & Burke, E.K. (2004). University timetabling. Handbook of scheduling: Algorithms, models, and performance analysis (Vol. 45, p. 1–23). Rossi-Doria, O., Sampels, M., Birattari, M., Chiarandini, M., Dorigo, M., Gambardella, L. M., et al. (2003). A comparison of the performance of different metaheuristics on the timetabling problem. Practice and theory of automated timetabling IV (Vol. 2740, pp. 329–351). Springer. Socha, K., Knowles, J., & Sampels, M. (2002). A max-min ant system for the university course timetabling problem. In Ant algorithms (pp. 1–13). Springer. Wijaya, T., & Manurung, R. (2009). Solving university timetabling as a constraint satisfaction problem with genetic algorithm. In Proceedings of the international conference on advanced computer science and information systems (ICACSIS 2009), Depok. Wilke, P., & Ostler, J. (2008). Solving the school time tabling problem using tabu search, simulated annealing, genetic and branch & bound algorithms. In Seventh international conference on the practice and theory of automated timetabling, PATAT2008. Yang, S., & Jat, S. N. (2011). Genetic algorithms with guided and local search strategies for university course timetabling. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, 41(1), 93–106.