## 3 Related Work  
Many approaches have been published to tackle the ETP problem, and there are various surveys that examine them. [PERSON] _et al._[18] published a very thorough survey describing the problem, the techniques used to solve it and the benchmark datasets that exist for this problem, while [PERSON] [19] presents the approaches published to solve the school timetabling problem, the university course timetabling problem and the examination timetabling problem. Furthermore, in [PERSON] and [PERSON] [20], the integration of several approaches about university timetabling problems aiming at achieving a higher level of generality is discussed. According to [PERSON] _et al._[18], the techniques used to solve the ETP problem can be categorized into graph based, constraint based, local search based, population based, multi-criteria techniques and hyper-heuristics. In the graph-based techniques category belongs the work of [PERSON] and [PERSON] [21], which is very important, as they show the relation between graph coloring and timetabling. [PERSON] _et al._[12] examine the impact of six ordering heuristics in timetabling problems. The heuristics examined are saturation degree, largest degree, largest weighted degree, largest enrollment, random ordering and color degree. Moreover, in this work, the 13 Toronto datasets have been introduced, which have been a performance benchmark for most ETP research since. [PERSON] _et al._[22] use fuzzy logic for the solution of the ETP problem, while [PERSON] _et al._[23] developed a neural network to decide the difficulty of an examination to be scheduled according to more than one ordering heuristics. Furthermore, [PERSON] and [PERSON] [24] solve the ETP problem with a more general and faster method by adapting heuristic orderings. This method was examined in many benchmark problems and proved to be a robust and reliable solution. Another category of techniques that were applied to the ETP problem is the constrained-based techniques. [PERSON] _et al._[25] show how combinatorial optimization problems can be solved using these techniques. In the same category falls the work of [PERSON] _et al._[14] given that they use a constrained programming method to create initial solutions in the first phase. However, in a second phase, simulated annealing and hill climbing, which belong to local search methods, are applied in order to improve the solutions. Local search-based techniques include hill climbing, simulated annealing and tabu search. [PERSON] and [PERSON] [26] use a combination of two tabu search-based solvers in order to solve the ETP problem, one to focus on the hard constraints, while the other to provide other possible improvements. [PERSON] _et al._[27] show that long-term memory can improve tabu search to a great extent. [PERSON] and [PERSON] [28] designed a greedy randomized adaptive search procedure (GRASP) algorithm, where in the first greedy phase, a feasible, collision-free timetable is constructed, and in the second, the solution quality is improved. [PERSON] and [PERSON] [29] present a solution that uses the backtracking with a forward checking algorithm to create an initial legal solution and simulated annealing to improve the cost of the solution. [PERSON] _et al._[30] use local search techniques to obtain some of the best available results in the bibliography, while [PERSON] and [PERSON] [31] designed a robust system, which solves the ETP problem with a simulated annealing algorithm. Another widely-used technique uses population-based algorithms, such as genetic, memetic and ant algorithms.