Methodology of Design: A Novel Generic Approach Applied to the Course Timetabling Problem

The Course Timetabling problem is one of the most difficult and common problems inside a university. The main objective of this problem is to obtain a timetabling with the minimum student conflicts between assigned activities. A Methodology of design is a framework of solution applied to a heuristic algorithm for timetabling problem. This strategy has recently emerged and aims to improve the obtained results as well as provide a context-independent layer to different versions of the timetabling problem. This methodology offers the researcher the advantage of solving different set instances with a single algorithm; which it is a new paradigm in the timetabling problem state of art. In this chapter the proposed methodology is described and tested with several metaheuristic algorithms over some well-known set instances, Patat 2002 and 2007. The main objectives in this chapter are: to show the construction of a two-phase algorithm based in a novel generic approach called design methodology and to find which metaheuristic algorithm shows a better performance in terms of quality. The design methodology generates set of generic structures: MMA, LPH, LPA and LPS. These structures build an independent context layer, so the two-phase algorithm only needs to solve the problem coded into them. No further specification or explicit codification of any problem-dependent constraint is needed inside the algorithm. This guarantee that in order to solve other instance of the Course timetabling problem, only it is needed the translation of the incoming instance into the proposed structures. With these structures the proposed methodology searches, in the first phase, for at least one feasible solution (a solution that has no conflict in the hard constraints). In a second phase the methodology utilizes this feasible solution in order to intensify the search around it, looking for the perfect solution (a solution with no conflict in any constraint hard or soft). Precisely for this two phases it is necessary the use of metaheuristic algorithms. This kind of algorithms does not guarantee to obtain the 288 J.A. Soria-Alcaraz et al. global optima but offers an opportunity to obtain a good solution in a reasonable time. The algorithms chosen to be tested along with the design methodology are from the area of evolutionary computation, Cellular algorithms and Swarm Intelligence. It is important to say that there exist several previous implementations of these metaheuristic algorithms over CTTP problems but this is the first time that these algorithms will be evaluated under a generic approach like the Methodology of design. Finally our experiments use some non-parametric statistical tests like Sing test, Kruskal-Wallis test and Wilcoxon signed rank test in order to identify the metaheuristic algorithm with the best performance over the course timetabling problem using the Methodology of Design.