Investigating Ahuja-Orlin s Large Neighbourhood Search Approach for Examination Timetabling

Similar documents
Investigating Ahuja-Orlin's Large Neighbourhood Search for Examination Timetabling

The Second International Timetabling Competition: Examination Timetabling Track

Benchmarking Curriculum-Based Course Timetabling: Formulations, Data Formats, Instances, Validation, and Results

Jurnal Teknologi. A Modified Migrating Bird Optimization For University Course Timetabling Problem. Full paper

Given a directed graph G =(N A), where N is a set of m nodes and A. destination node, implying a direction for ow to follow. Arcs have limitations

Seminar - Organic Computing

University of Groningen. Systemen, planning, netwerken Bosman, Aart

A simulated annealing and hill-climbing algorithm for the traveling tournament problem

Measurability and Reproducibility in University Timetabling Research: Discussion and Proposals

A Comparison of Annealing Techniques for Academic Course Scheduling

Multimedia Application Effective Support of Education

An application of Soft System Methodology

ACTL5103 Stochastic Modelling For Actuaries. Course Outline Semester 2, 2014

Radius STEM Readiness TM

On the Combined Behavior of Autonomous Resource Management Agents

Visit us at:

OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS

Artificial Neural Networks written examination

Fragment Analysis and Test Case Generation using F- Measure for Adaptive Random Testing and Partitioned Block based Adaptive Random Testing

ISFA2008U_120 A SCHEDULING REINFORCEMENT LEARNING ALGORITHM

Learning Methods for Fuzzy Systems

Team Formation for Generalized Tasks in Expertise Social Networks

Data Structures and Algorithms

UNIT ONE Tools of Algebra

Introduction to Simulation

Discriminative Learning of Beam-Search Heuristics for Planning

Rule Learning With Negation: Issues Regarding Effectiveness

Cal s Dinner Card Deals

Python Machine Learning

AN EXAMPLE OF THE GOMORY CUTTING PLANE ALGORITHM. max z = 3x 1 + 4x 2. 3x 1 x x x x N 2

Introduction to Causal Inference. Problem Set 1. Required Problems

QuickStroke: An Incremental On-line Chinese Handwriting Recognition System

Lecture 1: Machine Learning Basics

Reinforcement Learning by Comparing Immediate Reward

A Reinforcement Learning Variant for Control Scheduling

TABLE OF CONTENTS TABLE OF CONTENTS COVER PAGE HALAMAN PENGESAHAN PERNYATAAN NASKAH SOAL TUGAS AKHIR ACKNOWLEDGEMENT FOREWORD

CSC200: Lecture 4. Allan Borodin

BMBF Project ROBUKOM: Robust Communication Networks

An Effective Framework for Fast Expert Mining in Collaboration Networks: A Group-Oriented and Cost-Based Method

Maximizing Learning Through Course Alignment and Experience with Different Types of Knowledge

Axiom 2013 Team Description Paper

Probability and Game Theory Course Syllabus

Generative models and adversarial training

Research Article Hybrid Multistarting GA-Tabu Search Method for the Placement of BtB Converters for Korean Metropolitan Ring Grid

Math 181, Calculus I

Laboratorio di Intelligenza Artificiale e Robotica

Learning From the Past with Experiment Databases

Probability estimates in a scenario tree

Class-Discriminative Weighted Distortion Measure for VQ-Based Speaker Identification

LEGO MINDSTORMS Education EV3 Coding Activities

Probabilistic Latent Semantic Analysis

Modeling user preferences and norms in context-aware systems

Ohio s Learning Standards-Clear Learning Targets

Learning and Transferring Relational Instance-Based Policies

Learning Structural Correspondences Across Different Linguistic Domains with Synchronous Neural Language Models

Build on students informal understanding of sharing and proportionality to develop initial fraction concepts.

Circuit Simulators: A Revolutionary E-Learning Platform

Assignment 1: Predicting Amazon Review Ratings

Evolutive Neural Net Fuzzy Filtering: Basic Description

Chapter 2 Rule Learning in a Nutshell

Rule Learning with Negation: Issues Regarding Effectiveness

Entrepreneurial Discovery and the Demmert/Klein Experiment: Additional Evidence from Germany

What s in a Step? Toward General, Abstract Representations of Tutoring System Log Data

Major Milestones, Team Activities, and Individual Deliverables

Language properties and Grammar of Parallel and Series Parallel Languages

Paper Reference. Edexcel GCSE Mathematics (Linear) 1380 Paper 1 (Non-Calculator) Foundation Tier. Monday 6 June 2011 Afternoon Time: 1 hour 30 minutes

On-Line Data Analytics

Contents. Foreword... 5

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Objectives. Chapter 2: The Representation of Knowledge. Expert Systems: Principles and Programming, Fourth Edition

FUZZY EXPERT. Dr. Kasim M. Al-Aubidy. Philadelphia University. Computer Eng. Dept February 2002 University of Damascus-Syria

Australian Journal of Basic and Applied Sciences

SURVIVING ON MARS WITH GEOGEBRA

Decision Analysis. Decision-Making Problem. Decision Analysis. Part 1 Decision Analysis and Decision Tables. Decision Analysis, Part 1

Grade 6: Correlated to AGS Basic Math Skills

SARDNET: A Self-Organizing Feature Map for Sequences

An Evaluation of the Interactive-Activation Model Using Masked Partial-Word Priming. Jason R. Perry. University of Western Ontario. Stephen J.

CPS122 Lecture: Identifying Responsibilities; CRC Cards. 1. To show how to use CRC cards to identify objects and find responsibilities

Statewide Framework Document for:

Physics 270: Experimental Physics

CS Machine Learning

Mathematics process categories

have to be modeled) or isolated words. Output of the system is a grapheme-tophoneme conversion system which takes as its input the spelling of words,

NCEO Technical Report 27

Implementing a tool to Support KAOS-Beta Process Model Using EPF

A Generic Object-Oriented Constraint Based. Model for University Course Timetabling. Panepistimiopolis, Athens, Greece

Numeracy Medium term plan: Summer Term Level 2C/2B Year 2 Level 2A/3C

arxiv: v1 [math.at] 10 Jan 2016

The Strong Minimalist Thesis and Bounded Optimality

S T A T 251 C o u r s e S y l l a b u s I n t r o d u c t i o n t o p r o b a b i l i t y

CHAPTER 4: REIMBURSEMENT STRATEGIES 24

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I

Learning Methods in Multilingual Speech Recognition

Predicting Students Performance with SimStudent: Learning Cognitive Skills from Observation

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

Miami-Dade County Public Schools

OCR for Arabic using SIFT Descriptors With Online Failure Prediction

CPS122 Lecture: Identifying Responsibilities; CRC Cards. 1. To show how to use CRC cards to identify objects and find responsibilities

An Investigation into Team-Based Planning

arxiv: v1 [cs.cl] 2 Apr 2017

Transcription:

Investigating Ahuja-Orlin s Large Neighbourhood Search Approach for Examination Timetabling SALWANI ABDULLAH 1, SAMAD AHMADI 2, EDMUND K. BURKE 1, MOSHE DROR 3 1 Automated Scheduling, Optimisation and Planning Research Group, School of Computer Science & Information Technology, University of Nottingham, Jubilee Campus, Wollaton Road, Nottingham NG8 1BB, United Kingdom. 2 School of Computing, De Montfort University, The Gateway, Leicester LE1 9BH, United Kingdom. 3 MIS Department, Eller College of Management, University of Arizona, Tucson, Arizona 85721, USA. {sqa@cs.nott.ac.uk, sahmadi@dmu.ac.uk, ekb@cs.nott.ac.uk, mdror@bpa.arizona.edu} Abstract: Since the 1960 s, automated approaches to examination timetabling have been explored and a wide variety of approaches have been investigated and developed. In this paper we build upon a recently presented, sequential solution improvement technique which searches efficiently over a very large set of adjacent (neighbourhood) solutions. This solution search methodology, originally developed by Ahuja and Orlin, has been applied successfully in the past to a number of difficult combinatorial optimization problems. It is based on an improvement graph representation of solution adjacency and identifies improvement moves by finding cycle exchange operations using a modified shortest path label-correcting algorithm. We have drawn upon Ahuja-Orlin s basic methodology to develop an effective automated exam timetabling technique. We have evaluated our approach against the latest methodologies in the literature on standard benchmark problems. We demonstrate that our approach produces some of the best known. Keywords: examination timetabling, large neighbourhood, improvement graph 1

1. Introduction Examination timetabling represents a major administrative activity for academic institutions. It is often a difficult and demanding process and it affects a significant number of people. Romero (1982) points out that there are three broad categories of people that are affected by its outcome: administrators, academic staff and students. Many universities are seeing an increasing number of student enrolments into a wider variety of courses and an increasing number of combined degree courses. This is contributing to the growing challenge of developing examination timetabling software to cater for the broad spectrum of constraints and demands that are required by educational institutions across the world. Examination timetabling problems have attracted the attention of the Operational Research and Artificial Intelligence communities for the last four decades. A wide variety of approaches for constructing examination timetables have been described and discussed in the literature over this period. Carter (1986) divided these approaches into four broad categories: sequential methods, cluster methods, constraint-based methods and meta-heuristics. Petrovic and Burke (2004) added the following categories: multi criteria approaches, case based reasoning approaches and hyper-heuristics / self adaptive approaches. Sequential methods for timetabling problems usually abstract the problem in the form of a graph where exams are represented as nodes. Conflicts between two exams are represented by an edge (see, for example, de Werra 1985, Burke et al. 2004a and Carter and Johnson 2001). The construction of a conflict-free timetable is then modeled as a graph colouring problem. A variety of graph colouring based timetabling heuristics have been presented in the literature. For more details see a recent overview article by Burke et al. (2004a). Clustering based methods split exams into groups that satisfy hard constraints that cannot be violated. The groups are then assigned to timeslots to fulfill the soft constraints that are desirable but not essential. Examples of such approaches can be seen in Balakrishnan et al. (1992) and White and Chan (1979). Constraint-based approaches to timetabling problems have appeared consistently in the literature over the last twenty years or so. Examples include David (1997) and Boizumault et al. (1996) and more examples can been seen in Burke and Ross (eds) (1996), Burke and Carter (eds) (1998), Burke and Erben (eds) (2001), Burke 2

and De Causmaecker (eds) (2003) and Burke and Trick (eds) (2005). An overview of exam timetabling approaches can be seen in Carter (1986), and Carter and Laporte (1996). The last 20 years have also seen the emergence of numerous meta-heuristic approaches to examination timetabling which include simulated annealing, tabu search, genetic algorithms and hybrid approaches such as memetic algorithms. Many of these approaches represent some of the strongest methods on the established benchmark problems (see Section 5). Thompson and Dowsland (1998) investigated a 2 phase simulated annealing exam timetabling technique. The first phase finds a feasible solution and the second phase addresses the soft constraints. The great deluge algorithm for exam timetabling by Burke et al. (2004b) has certain similarities with simulated annealing. The method needs two parameters: the amount of computational time that the user wishes to spend and an estimate of the quality of solution that a user requires. An example of a tabu search based approach was presented by Di Gaspero and Schaerf (2001). They incorporated several features of graph colouring into their approach. White and Xie (2000) employed a long term memory mechanism which was combined with tabu relaxation. Genetic algorithms have been widely applied to examination timetabling. Examples of such approaches can be seen in Burke and Ross (eds) (1996), Burke and Carter (eds) (1998), Burke and Erben (eds) (2001), Burke and De Causmaecker (eds) (2003) and Burke and Trick (eds) (2005). The hybridization of evolutionary methods with other heuristics has been particularly effective. There have been several papers published in this area (e.g. Burke et al. 1996a, 1998 and Burke and Newall 1996). Merlot et al. (2003) applied a hybrid method that consists of constraint programming, simulated annealing and hill climbing for uncapacitated and capacitated examination timetabling and obtained the best known results on some benchmarks. Casey and Thompson (2003) employed a greedy randomized adaptive search procedure (GRASP) that produced the best result on one data set compared to other approaches in the literature (until the publication of the results in this paper). Caramia et al. (2001) employed a local search based method which includes an optimization step after allocating each exam and obtained the best known results on several of the 3

benchmark instances. Fuzzy reasoning has recently been investigated with some success for examination timetabling by Asmuni et al. (2005). In the majority of timetabling algorithms, a single cost function is used to evaluate a solution. However, multi criteria approaches to timetabling offer a more flexible way of handling different types of constraints simultaneously (see Petrovic and Burke 2004). In this approach each criterion measures the number of violations of the corresponding constraints as discussed in Burke et al. (2000a). Petrovic and Bykov (2002) applied a modified great deluge algorithm (from Burke et al. 2004b) with dynamic weights which direct the search of the solution space along a trajectory by changing the acceptance level of the cost function values. Case based reasoning (see Burke et al. 2000b) is an approach that is motivated by the human process of learning from previous experience and using that experience to solve new problems. An overview of case based reasoning for exam timetabling can be seen in Burke and Petrovic (2002) and Petrovic and Burke (2004). Burke et al. (2006) have used the method to select examination timetabling heuristics. Ross et al. (1997) observed that a fruitful area of research to be investigated is to explore genetic algorithm approaches as a method for finding good timetabling algorithms rather than for solving the problem directly. Indeed, hyperheuristics (which can be defined as heuristics to choose heuristics) are emerging as powerful approaches which are raising the level of generality of timetabling systems (e.g. see Terashima-Marín et al. 1999, Burke et al. 2003a, Lan and Kendall 2003a, 2003b, Burke and Petrovic 2002, Petrovic and Burke 2004 and Kendall and Hussin 2004). For more details about hyper-heuristics in general see Burke et al. (2003b). Burke and Newall (2004) have presented an adaptive heuristic approach which drew upon the squeaky wheel optimization methodology developed by Joslin and Clements (1999). This method reduces the dependency on the choice of heuristics. Indeed, in Burke and Newall (2004) it is shown that poor examination timetabling heuristics can be automatically turned into good ones. Burke and Newall (2003) hybridize this approach with the great deluge method by Burke et al. (2004b) to build a method which has the best known results on certain benchmark problems discussed in this paper. 4

Interested readers can find more details about examination timetabling research in the following papers by Schaerf (1999), Carter (1986), Carter and Laporte (1996), de Werra (1985), Bardadym (1996), Burke et al. (1996b), Burke et al. (1997), Burke and Petrovic (2002) and Petrovic and Burke (2004). In this paper, we focus on a specific adaptation of a solution improvement technique which can search efficiently over a very large set of adjacent (neighbourhood) solutions. We adapt the search methodology described by Ahuja et al. (2001) for solving the capacitated spanning tree problem. Most of the neighbourhood search algorithms in the literature use small sized neighbourhoods since they explicitly evaluate all neighbours. The most popular neighbourhood in the literature is the so called two-exchange neighbourhood (see Ahuja et al. 2000). Thompson and Orlin (1989) proposed the cyclic exchange neighbourhood (this is a generalisation of the two-exchange neighbourhood). Successful applications which employ a cyclic exchange neighbourhood search for the vehicle routing problem have been presented by Thompson and Psaraftis (1993), Fahrion and Wrede (1990) and Gendreau et al. (1998). Another example of a very large neighbourhood approach is described in Ahuja et al. (2001). There they applied a large neighbourhood search methodology to the construction of a capacitated minimum cost spanning tree problem. The capacitated minimum cost spanning tree problem can be viewed as a fundamental problem in telecommunication network design. In Ahuja et al. (2001), the authors created a neighbourhood structure by employing a linked node-exchange approach (by performing multi-exchanges involving nodes from several rooted sub-trees) and a tree-based neighbourhood structure. This neighbourhood is substantially larger. The unification of the node-based and the tree-based neighbourhood structure (called the composite neighbourhood structure) has also been explored and tested in Ahuja et al. (2003) on capacitated minimum spanning tree problems. The results indicate that the composite algorithm was better than the node-based and the tree-based neighbourhood search algorithms. For more details on large neighbourhood search applied to hard combinatorial optimisation problems refer to Ahuja et al. (2000, 2001, 2002, 2003). 5

This paper draws upon the research on large neighbourhood search described above to investigate its suitability as the basis of an approach to automated examination timetabling. The overall contributions that are presented in this paper can be outlined as follows: We treat the examination timetabling problem as a variant of the problem in which we divide the exams into cells. Each such cell is assigned a timeslot. We create a very large scale neighbourhood structure by employing a cyclic-exchange neighbourhood that is substantially larger than a twoexchange neighbourhood structure (by moving nodes from one cell to another and so on). We investigate large neighbourhood search techniques which are based upon an improvement graph to identify an improved neighbour implicitly without evaluating all the neighbours in the neighbourhood. We use a network flow optimisation technique called a shortest path label-correcting algorithm adapted from Ahuja et al. (1993) to find such neighbours by identifying a negative cost partition-disjoint graph cycles in the improvement graph. We investigate and adapt the search methodology from Ahuja et al. (2001) to present a powerful and effective automated technique for examination timetabling. We rigorously evaluate our algorithm and present a series of computational results on benchmark instances which are available in the literature. We compare our results against the best known methods from the literature. We conclude that our approach produces some of the best results on certain benchmark problems and that it represents one of the most effective approaches in the literature (on these benchmarks). The rest of the paper is organised as follows. The next section formally presents the examination timetabling problem. The solution approach adapted in Ahuja et al. (2001) is outlined in Section 3. In Section 4, we develop and describe our search algorithm for the examination timetabling problem. Our results are presented, discussed and evaluated in Section 5. This is followed by some brief concluding comments in Section 6. 6

2. Examination Timetabling: Problem Definition and Formulation Examination timetabling is concerned with allocating exams into a limited number of timeslots (periods) subject to a set of constraints (see Burke et al. 1996b). The constraints are divided into two categories: hard and soft. Hard constraints must be completely satisfied and cannot be violated. Generally accepted hard constraints are: no student can sit in two exams simultaneously the scheduled exams must not exceed the room capacity Solutions that satisfy all hard constraints are often called feasible solutions. In this paper, we consider both of the hard constraints above. It is not absolutely necessary to satisfy soft constraints. They are desirable but not essential. A particularly common soft constraint refers to spreading exams as evenly as possible over the schedule as discussed in Burke et al. (1996b). In real-world situations, it is usually impossible to satisfy all soft constraints, but minimising the violations of soft constraints represents an increase in the quality of the solution. The problem description that is employed in this paper is adapted from the description presented in Burke et al. (2004b). The input for the examination timetabling problem can be stated as follows N is the number of exams E i is an exam, i {1,,N} B is the set of all N exams, B = {E 1,,E N } D is the number of days T is the given number of available timeslots M is the number of students C = (c ij ) NxN is the conflict matrix where each element denoted by c ij, i,j {1,,N} is the number of students taking exams i and j. t k (1 t k T) specifies the assigned timeslot for exam k (k {1,,N}) The examination timetabling problem in this paper is divided into 2 categories i.e. (i) the uncapacitated problem and (ii) the capacitated problem. 7

2.1 The Uncapacitated Examination Timetabling Problem In this problem, we formulate an objective function which tries to space out students exams throughout the exam period (Expression (1)). The uncapacitated examination timetabling problem can then be formulated as the minimization of: where N 1 F1 ( i) i = 1 M (1) N F1 ( i) = cij. proximity j = i + 1 ( ti, t j ) (2) and subject to: N 1 5 2 / 2 proximity( ti, t j ) = N i = 1 j = i + 1 ( t, t ) = 0 ti t j if 1 t 0 otherwise i t j 5 1 if t = t i j c λ where (4) ij i j λ( t, t ) = i j 0 otherwise (3) Equation (2) presents the cost for an exam i which is given by the proximity value multiplied by the number of students in conflict. Equation (3) represents a proximity value between two exams (Carter et al. 1996). For example if a student has two consecutive exams then a proximity value of 16 is assigned. If a student has two exams with a free timeslot in between then a value of 8 is assigned. The value will be 4 if there are 2 timeslots in between and so on. These values are summed up and divided by the number of students, M, to give an average penalty per student. Equation (4) represents a clash-free requirement so that no student is asked to sit two exams at the same time. The clash-free requirement is considered to be a hard constraint. This problem is tackled in our first set of experiments (without room capacity constraints). The details can be found in Subsection 5.1. 2.2 The Capacitated Examination Timetabling Problem This problem considers room capacity as a hard constraint in addition to the clashfree requirement in expression (4). In this problem, we use an objective function that minimizes the number of students having two exams in a row on the same 8

day (adapted from Burke et al. 1996a). We assume that exams start on Monday. Each week day has 3 timeslots. Saturday has 1 timeslot and Sunday has none. We can represent this as a vector. Indeed, Burke et al. (2004b) present the following vector which clearly demonstrates the idea: (1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 15, 15, 15, 16, 16, 16, 17, 17, 17, ). We can see that there is just one 6 entry (one timeslot on the first Saturday 6 th day) and one 13 entry (one timeslot on the second Saturday 13 th day). Sundays (days 7 and 14) are missing because there are no timeslots on Sundays. The corresponding timeslot vector is (1, 2, 3,, T). The day for a particular timeslot t (where t {1,,T}) is represented by d t. For example, d 4 would be day 2, d 7 would be day 3 and d 17 would be day 8. The days should not be confused with the timeslots. The formal presentation for this problem has the objective of minimizing the sum: where N 1 F 2( i) (5) i= 1 N F2 ( i) = cij. Adj( ti, t j ) j= i+ 1 where 1 if ( t i t j = 1) ( d t = d j Adj( t t ) = i t ) (6) i, j 0 otherwise and (1 D) specifies the assigned day for exam k (k {1,,N}) that is d tk d tk scheduled in timeslot t (t {1,,T}), subject to expression (4) and Student t Seats for t = 1,,T (7) where Student t is the number of students taking exams in timeslot t and Seats is the number of seats available in each timeslot. Equation (6) represents the number of students taking exam i who are forced to take other exams in adjacent timeslots on the same day. Inequality (7) represents the room capacity. This problem is 9

addressed in our second set of experiments that are discussed in detail in Subsection 5.2. 3. Neighbourhood Structure To investigate solution procedures for examination timetabling which are based upon the methodologies of Ahuja et al. (2001), we first have to model the examination timetabling problem as a partitioning problem. 3.1 The Partitioning Problem Let {S t : t {1,,T}, S t B} denote a feasible partition of exams that are to be scheduled at time t. The partition divides the set B such that t {1,,T} S t = B and S q S t = for all q, t {1,,T}, q t. Following standard terminology, we will refer the partition subsets {S t } as cells. In our paper, the objective function is not separable over the cell as it is in Ahuja et al. (2000) and we do not evaluate the objective function separately over each cell. We take the initial solution, Sol, (with its initial global penalty cost) and evaluate the implication of the local moves by moving one exam from one cell to another cell in a path or a cycle with respect to its global penalty cost. Note that the details of the local moves are discussed in Subsection 3.2. From Expression (1), it is easy to see that the total cost of Expressions (1) and (5) can be defined in terms of cell S t (t {1,,T}) as follows: T t = 1 i S t M F1( i) (8) for the uncapacitated examination timetabling problem and T t= 1 i St F2 ( i) for the capacitated examination timetabling problem, respectively. (9) 3.2 Cyclic/Path Exchange Neighbourhood Consider a set {E 1, E 2,, E L } of exams (where L N), each of which belongs to a different cell S t (as introduced in Subsection 3.1). We create a neighbourhood 10

structure by transferring a single exam among the cells. We can best illustrate this by presenting a small illustrative example by assuming that we have three timeslots (t {1,2,3}) and seven exams (denoted by E 1,,E 7 ). By employing the notations described above we partition this example into three cells, S t (t {1,2,3}). Suppose that the three cells are: S 1 = {E 2,E 3,E 7 }, S 2 = {E 4, E 6 } and S 3 = {E 1, E 5 } (see Figure 1). To form a neighbourhood structure using a cyclic exchange operation, we select an exam (say E 3 ) from S 1 and insert it into S 2, E 6 moves from S 2 to S 3 and finally E 1 moves from S 3 to S 1, thus completing a cycle of changes (see Figure 2). We represent this cyclic exchange as E 3 E 6 E 1 E 3 where E 3, E 6 and E 1 all belong to different cells. This notation (E 3 E 6 E 1 E 3 ) can be read as E 3 goes to E 6 s old cell, E 6 goes to E 1 s old cell and E 1 goes to E 3 s old cell. After the cyclic exchange S 1, S 2 and S 3 have been transformed into S 1, S 2 and S 3 where S 1 = {E 2, E 1, E 7 }, S 2 = {E 4, E 3 } and S 3 = {E 6, E 5 } (see Figure 3). The number of exams in each cell remains unchanged. Of course, the represented neighbourhood can be very large. A cell is called feasible if the hard constraints are not violated. Path exchange is defined similarly to cyclic exchange but without exchanging back to the first cell i.e. no exam from the last cell (S 3 in this case) is inserted into the first cell (S 1 in this case). S 1 E 2 E 7 E 3 E 4 S 2 E 6 E 1 E 5 S 3 Figure 1. Cells before a cyclic exchange operation 11

S 1 E 2 E 7 E 3 E 4 S 2 E 6 E 1 E 5 S 3 Figure 2. A cyclic exchange takes place S 1 S 2 E 2 E 7 E 1 E 4 E 3 E 6 E 5 S 3 Figure 3. Cells after a cyclic exchange operation 3.3 Improvement Graph The improvement graph was introduced in Thompson and Orlin (1989) and was first explored in Thompson and Psaraftis (1993). The improvement graph G = (V,A) is a directed graph comprising of the vertex set V and the arc set A with a cost on each arc (i,j) A. Each vertex i in V corresponds to an exam i in B. A directed arc (i,j) in G signifies that the exam i moves from its current cell to the cell containing exam j and simultaneously exam j is ejected from its current cell. To construct G, we consider every pair E r and E z of exams in S t where r, z {1,,N}, t {1,,T} and add the directed arc (E r,e z ) to G if and only if (i) the exams E r and E z belong to different cell S t and S t and (ii) the cell {E r } (the old cell which E z belonged to) \ {E z } is feasible (i.e. it does not represent a violation of the hard constraint(s)). To illustrate what a directed arc represents in the improvement graph, we can consider the example of the directed arc (3,6) as shown in Figure 4. This signifies that exam E 3 leaves its current cell S 1 and moves to the cell containing exam E 6 (S 2 in this case) and at the same time exam E 6 12

leaves S 2. We refer to E 3 as the inserted exam, E 6 as the ejected exam, and S 2 as the old cell of the ejected exam. (1,3) E 2 (3,4) E 4 (4,1) E 1 E 3 E 7 (3,6) (7,1) (7,5) E 6 (1,4) (6,1) (4,5) (6,5) E 5 (1,6) S 1 S 2 (5,6) S 3 Figure 4. The improvement graph of the example in Subsection 3.2 The cost for the directed arc is defined as: cost of {{ inserted exam } { old cell of the ejected exam } \ { ejected exam }} cost of { old cell of the ejected exam }. We then resort to a network flow optimisation technique to find improving moves by heuristically solving negative cost partition-disjoint graph cycles for the improvement graph using a modified shortest path label-correcting algorithm which was adapted for the problem in hand from the one presented in Ahuja et al. (1993). This algorithm does not always solve the negative cost cycle problem to optimality. It only finds an approximate solution. The details are discussed in Section 4. 4. The Search Algorithm Figure 5 illustrates the pseudo-code that represents our approach. The algorithm starts with a feasible initial solution which is generated by a saturation degree graph colouring heuristic (see Brelaz 1979) that is known to be a reasonably effective and relatively quick approach. For more details about graph colouring applications to timetabling see Burke et al. (2004a). Then the cells are created based on timeslots. We construct the improvement graph once. In the do-while loop, we implement the modified shortest path label-correcting algorithm adjusted from Ahuja et al. (1993) to find the negative cost partition-disjoint graph cycles for the improvement graph until the termination-criteria is met (the pseudo code of the shortest path label-correcting algorithm is presented in Figure 6 and 13

followed by a more detailed description). To enable a creation of paths using only the insertion/ejection moves and to increase the computation speed, we keep the last exam in the shortest path in its current cell. Set the initial solution Sol by employing saturation degree by Brelaz (1979); Calculate initial cost function f(sol); Sol best Sol; Create partition; Define neighbourhood structures and construct the improvement graph, G; do while (not termination-criteria) Find a negative cost partition-disjoint graph cycles for G using the modified shortest path label- correcting algorithm; Calculate the quality of a new solution f(sol*); if (f(sol*) f(sol best )) Sol Sol*; Sol best Sol*; else Calculate the difference between old and new solution, δ = f(sol*) - f(sol)); Generate RandNum, a random number in [0,1]; if (RandNum < e -δ ) Sol Sol*; Recreate partition; Define neighbourhood structure and update G (see Figure 7); end do; Figure 5. Pseudo-code for the examination timetabling problem In this paper, the termination-criteria is set to be 1,000,000 iterations. The modified shortest path label-correcting algorithm is run several times with a different source exam (origin node), since the success of finding a valid cycle is related to the source exam from which the search is initiated. The basic idea of this algorithm is to find the shortest distance from a source exam to the other exams in the improvement graph. We performed some initial tests to understand the behaviour of the algorithm by using different categories of the source exam while trying to find the shortest path in the improvement graph. Since our initial solution consists of exams with timeslots assigned to them which is sorted in descending order based on the number of clashes, we categorised the nodes into three categories. The cut off points for each category are based on a percentage. The first 33.3 % is considered to be the high clashes category, the second 33.3% is taken as the medium clashes category and the last 33.3% is the low clashes category. 14

We choose the source exams randomly from each category. Our initial tests indicate that the source exams that were being selected from the medium clashes category were the most suitable compared to the other two categories because: i. If the source exam is taken from the high clashes category group, it restricts further moves to look for a negative cost partition-disjoint graph cycles because this exam does not have many directed arcs (connected edges) to other exams in the improvement graph. ii. If the source exam is taken from the low clashes category, we try to move the exams with fewer clashes thus yielding less impact to the objective function. Note that the selected source exams from the medium clashes category should come from the starting node of a directed arc which is connected to other exams in the improvement graph in order to find the shortest distance between them. For example (from Figure 4), let us assume that exams E 3 and E 6 are categorised under the medium clashes category. Exams E 3 and E 6 are selected as source exams since they have a directed arc (or arcs) going to the other cells. Once the negative cost partition-disjoint graph cycles, using a modified shortest path label-correcting algorithm is obtained, we recalculate the quality of the new solution, f(sol*), and compare with the quality of the best solution, f(sol best ). If there is an improvement (including no change in the cost function), f(sol*) f(sol best ), we accept the new solution, Sol* and set the best solution, Sol best with the new solution, Sol*. The reason we accept when the cost is equal (zero improvement) is because the new solution might be different from the old solution even though the cost function is producing the same result (i.e. the improvement is zero). In order to escape from local optima, a worse solution is accepted using the exponential Monte Carlo acceptance probability (see Ayob and Kendall 2003) which is quite similar to the acceptance criteria in a simulated annealing approach. Ayob and Kendall (2003) have shown that exponential Monte Carlo performs well in the application of component placement sequencing for a multi head placement machine. In this paper, the new solution Sol* is accepted if the generated random number, RandNum, in [0,1] is less than the probability e -δ where δ is a difference between the cost of the old and new solutions (i.e. δ = f(sol*) f(sol)). The exponential Monte Carlo will exponentially increase the 15

acceptance probability if δ is small. We do not choose e -δ/f(sol) because, in this case, the worse solution is likely to be accepted if the value of f(sol) is too large. This would then make it difficult for the search to converge. The pseudo code for the shortest path label-correcting algorithm implemented in this paper is shown in Figure 6. dist(s) := 0 and pred(s):=0; dist(j) := for each exam j N \ {s}; FIFOLIST := {s}; do while FIFOLIST NULL remove an exam i from FIFOLIST; for each directed arc (i,j) in G do if dist(j) > dist(i) + cost of directed arc (i,j) then dist(j) = dist(i) + cost of directed arc(i,j); pred(j) = i; if j FIFOLIST then add exam j to FIFOLIST; apply loop detection strategy to check if the distance label of exam j is continuing to decrease for a certain number of counters, then terminate; end if; end if; end for; end do; Figure 6. Pseudo code for a shortest path label-correcting algorithm which can handle negative cycles The details of the implementation of the shortest path label-correcting algorithm can be described as follows: The shortest path label-correcting algorithm maintains a set of distance labels, dist( ). This algorithm begins by setting the distance label for the source exam, s, as zero, dist(s) = 0. We maintain a predecessor index, pred( ). For each exam j, a predecessor index, pred(j) records an exam prior to exam j in the current directed path of length dist(j). The predecessor for the source exam, s, is set to be zero, pred(s) = 0. The distance label for other exams, dist(j) is set to be. We also maintain a first-in first-out list (FIFOLIST) of all exams j where the directed arc (i,j) in the improvement graph violates the condition, dist(j) > dist(i) + cost of the directed arc (i,j). Note that the calculation for the cost of a directed arc is discussed in Subsection 3.3. Also note 16

that the source exam, s, is added into the FIFOLIST. If the FIFOLIST is empty, a solution is obtained. We then use the predecessor indices to trace the shortest path from an exam j back to the source exams s. Otherwise, the first exam, i, in the FIFOLIST is removed. For each directed arc (i,j) in the improvement graph, we examine if this directed arc violates its condition mentioned above. If it violates the condition, we then update the distance label for exam j, dist(j). We repeat the process until the FIFOLIST is empty. We now describe the adaptation of our algorithm from the standard modified shortest path label-correcting algorithm presented by Ahuja et al. (1993) which can only be applied for a graph that does not contain any negative cycle. In our algorithm (see Figure 6), we apply a loop detection strategy which can detect the presence of a negative cycle. The standard label-correcting algorithm will keep decreasing distance labels indefinitely and will never terminate if an improvement graph contains a negative cycle. However the loop detection strategy will check if the distance label of exam j continues to decrease for a certain number of counters with the same predecessor i and, if so, we terminate the computation. Thus, the negative cycle can be obtained by tracing the predecessor indices and we then recalculate the cost of the solution. The accepted move might be a valid path or a valid cycle that has been traced from the predecessor indices. If the cost of a valid path is less than the cost of a valid cycle, then a valid path is accepted (best improvement in terms of less cost will be accepted). Otherwise a valid cycle is accepted. Figure 7 shows the pseudo code to update the improvement graph. 17

Determine the cells that are involved in cyclic (or path) exchanges called AffectedCells; Determine the number of AffectedCells called NumberOfAffectedCells; Keep the directed arcs that are not connected to / from the AffectedCells called OriginalArcs; Case 1: repeat Generate the directed arcs for every pair of exams from AffectedCells to other cells called NewArcs1; Calculate the costs for the NewArcs1; until (NumberOfAffectedCells) Case 2: repeat Generate the directed arcs for every pair of exams from other cells to AffectedCells called NewArcs2; Calculate the costs for the NewArcs2; until T Combine OriginalArcs, NewArcs1 and NewArcs2 to form the improvement graph; Figure 7. Pseudo-code for updating the improvement graph The improvement graph, G, is updated after performing cyclic (or path) exchanges. The process of updating the improvement graph can be described as follows. We determine the cells and number of cells that play a part in the cyclic (or path) exchange (these are called AffectedCells and NumberOfAffectedCells, respectively). The directed arcs in the current improvement graph (before the update) that are not connected to or from the AffectedCells are assigned to a set called OriginalArcs. Then we generate the new directed arcs in two different cases. The first case is where we generate the set of directed arcs for every pair of exams from the AffectedCells to other cells which we call NewArcs1. We then calculate the cost for NewArcs1. We repeat this process in Case 1 (see Figure 7) for all the AffectedCells. In the second case (which is the opposite of the first case) we generate the set of directed arcs for every pair of exams from all the other cells to AffectedCells which we referred to as NewArcs2. The cost for NewArcs2 is calculated. We repeat the process in Case 2 (see Figure 7) for all the cells. Of course, the costs for the directed arcs (a,b) and (b,a) (see Figure 4 for an example) are different to each other (refer to Subsection 3.3 to calculate the cost for the directed arcs). That is the reason why we generate the directed arcs in two different cases. The 18

combination of OriginalArcs, NewArcs1 and NewArcs2 will update the improvement graph. 5. Experiments and Results We demonstrate the strength of our approach by evaluating it on two sets of accepted benchmark problems: (i) the uncapacitated problem and (ii) the capacitated problem (where room capacities play a role). 5.1 The Uncapacitated Problem The first series of experiments that we carry out in this section considers the proximity between two exams taken by a student as a measure of quality (once the hard constraints are satisfied). However, room capacity is not considered in this first series of experiments. The objective is to minimise the objective function (Expression (1)) as presented in Subsection 2.1. In this series of experiments we employ Carter et al. (1996) collection of exam timetabling data that can be freely downloaded from the archive at ftp://ftp.mie.utoronto.ca/pub/carter/testprob/. The problems were collected from different universities during 1983 1993. The method described in this paper was run on the datasets as shown in Table 1 (taken from Carter et al. 1996). We ran the experiments overnight for each of the datasets. We note that examination timetabling is a problem that is usually tackled several months before the schedule is required. An overnight run for examination timetabling is perfectly acceptable in a real world environment. This is a scheduling problem where the time taken to solve the problem is often not critical. We ran the experiments on an Athlon machine with a 1.2 GHz processor and 256 MB RAM. 19

Table 1: The uncapacitated benchmark problems used Density of Conflict Matrix Data Institution Periods Number of Exams Number of Students car-f-92 Carleton University, Ottava 32 543 18419 0.14 car-s-91 Carleton University, Ottava 35 682 16925 0.13 ear-f-83 Earl Haig Colleagiate Institute, Toronto 24 190 1125 0.29 hec-s-92 18 81 2823 0.42 kfu-s-93 lse-f-91 rye-s-93 sta-f-83 Tre-s-92 uta-s-92 ute-s-92 yor-f-83 Ecole des Hautes Etudes Commerciales, Montreal King Fahd University, Dharan 20 461 5349 0.06 London School of Economic 18 381 2726 0.06 Ryeson University, Toronto 23 481 11483 0.07 St. Andrew s Junior High School, Toronto 13 139 611 0.14 Trent University, Peterborough, 23 261 4360 0.18 Ontario Faculty of Arts and Sciences, University of Toronto Faculty of Engineering, University of Toronto 35 622 21267 0.13 10 184 2750 0.08 York Mills Collegiate Institute, Toronto 21 181 941 0.27 Table 2 provides the comparison of our results with the previous state of the art given by Carter et al. (1996) (several sequencing heuristics with backtracking), Di Gaspero and Schaerf (2001) (tabu search), Burke and Newall (2003) (a hybridised adaptive approach with the great deluge algorithm), Burke et al. 2004b) (a great deluge algorithm), Merlot et al. (2003) (hybrid constraint programming, simulated annealing and hill climbing), Casey and Thompson (2003) (GRASP) and Caramia et al. (2001) (local search based method which includes an optimisation step after allocating each exam). 20

Data Table 2: Results on the uncapacitated problem using proximity cost Our method Carter et al. Di Gaspero and Schaerf Burke and Newall Burke et al. Merlot et al. Casey and Thompson Caramia et.al car-f-92 4.4 6.2 5.2 4.10 4.2 4.3 4.4 6.0 car-s-91 5.2 7.1 6.2 4.65 4.8 5.1 5.4 6.6 ear-f-83 34.9 36.4 45.7 37.05 35.4 35.1 34.8 29.3 hec-s-92 10.3 10.8 12.4 11.54 10.8 10.6 10.8 9.2 kfu-s-93 13.5 14.0 18.0 13.90 13.7 13.5 14.1 13.8 lse-f-91 10.2 10.5 15.5 10.82 10.4 10.5 14.7 9.6 rye-s-93 8.7 7.3 - - 8.9 8.4-6.8 sta-f-83 159.2 161.5 160.8 168.73 159.1 157.3 134.9 158.2 tre-s-92 8.4 9.6 10.0 8.35 8.3 8.4 8.7 9.4 uta-s-92 3.6 3.5 4.2 3.20 3.4 3.5-3.5 ute-s-92 26.0 25.8 29.0 25.83 25.7 25.1 25.4 24.4 yor-f-83 36.2 41.7 41.0 37.28 36.7 37.4 37.5 36.2 The best results are presented in bold. Our algorithm produces better results on all problems when compared against the method of Di Gaspero and Schaerf (2001). Note that Di Gaspero and Schaerf (2001) do not attempt to solve the ryes-93 data set. The algorithm produces better results than Carter et al. (1996) on nine out of twelve data sets. Note that Carter et al. (1996) use different heuristics in their paper (not one method across all problems). Our algorithm produces better results than Casey and Thompson (2003) on six data sets. Note that Casey and Thompson (2003) do not attempt to solve the rye-s-93 and the uta-s-92 data sets. The algorithm produces better results than Burke et al. (2004b) on four out of twelve datasets. Burke and Newall (2003) and Merlot et al. (2003) narrowly outperformed our method on five data sets. Note that Burke and Newall (2003) do not attempt to solve the rye-s-93 data set and they reported the average individual results. Burke and Newall s method (2003) has three of the best results across all these methodologies. Casey and Thompson s method (2003) has one best result of all (on the sta-f-83 data set). The method of Caramia et al. (2001) produces better results than our approach on seven of the twelve data sets. It has six of the best overall results across all the methods discussed here. Our algorithm obtained the best overall results on two benchmark problems. Figures 8ab show the behaviour of the algorithm when applied to two of the data sets i.e. ute-s-92 and yor-f-83, respectively. 21

40 60 Penalty Cost 35 30 25 20 15 10 5 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 ute-s-92 Penalty Cost 50 40 30 20 10 0 1 3 5 7 9 11 13 15 17 19 21 23 yor-f-83 Iterations (x10 5 ) Iiterations (x10 5 ) Figures 8a,b. The behaviour of our algorithm on ute-s-92 and yor-f-83, respectively In all the figures above, the x-axis represents the number of iterations (where one iteration corresponds to an entire run of the search process) while the y-axis represents the average penalty cost per student. Every point in the graphs corresponds to the average penalty cost per student and the number of iterations of a separate solution. These graphs show how our algorithm explores the search space. The curve moves up and down because we accept worse solutions with a certain probability in order to escape from local optima. The analysis of the diagrams shows that at the beginning of the search the slope of the curves is relatively steep which indicates the high improvement in the quality of the solutions. The longer the search times, the slower the improvement of the solutions. The results from Table 2 also show that the average penalty costs per student for large problems (e.g. car-s-91 and uta-s-92 datasets) are worse than the published best results. We believe that prolonging the search may improve the performance of our algorithm but this is the subject of future work. 5.2 The Capacitated Problem The second series of experiments that we undertake in this section deals with the capacitated problem where the constraint of room capacity is taken into account in addition to the clash-free requirement. We evaluated the performance of our method with five capacitated benchmarks. The characteristics of the datasets used are as shown in Table 3. 22

Table 3: The capacitated benchmarks Data Periods Capacity tre-s-92 35 655 kfu-s-93 20 1955 car-f-92 31 2000 car-s-91 51 1550 uta-s-92 38 2800 The computational results from our algorithm are summarized in Table 4. The results obtained by our algorithm are compared with the published results by Burke et al. (1996a), Di Gaspero and Schaerf (2001), Merlot et al. (2003) and Caramia et al. (2001). Table 4: Results on the capacitated problem Data Our method Di Gaspero and Schaerf Burke et al. Merlot et al. Caramia et.al car-f-92 525 424 331 158 268 car-s-91 47 88 81 31 74 kfu-s-93 206 512 974 247 912 tre-s-92 4 4 3 0 2 uta-s-92 310 554 772 334 680 Once again the best results are presented in bold. Our algorithm obtained the best result for kfu-s-93 and uta-s-92 with 82.15% and 51.18% improvement respectively (with respect to the initial solution). It had 16.60% and 7.19% improvement (with respect to the next best result presented in Merlot et al. (2003). Our main competitor for the capacitated problem is the algorithm of Merlot et al. (2003). In the uncapacitated problem, Merlot et al. (2003) obtain one best result but here it provides the best solution in three out of five data sets. Our method gets the best results for two of the data sets. However, our method performs poorly on the car-f-92 data set. The behavior of the algorithm is shown in Figures 9ab, 10ab and 11. We use a similar representation for both axes as in Subsection 5.1. The graphs demonstrate how this method explores the search space. Again, worse moves are accepted with a certain probability in order to enable the method to explore the search space beyond the local optima. However, accepting worse moves can lead to cycling where we repeatedly move between some sets of solutions. We believe this causes poor results on certain instances (e.g. car-f-92). We also believe that the results obtained can be related to the value of the conflict matrix density (see Table 1). The higher the value of the conflict matrix density, 23

the higher the number of the exams conflicting with each other, thus we might have less and sparsely distributed solution points in the solution space. This is indicated by the results obtained for the car-f-92 and car-s-91 datasets. On the other hand, the graph shown in Figure 9b for the kfu-s-93 dataset shows that the approach does not get trapped in a cycle. This may be because of more solution points in the solution space since the value of the conflict matrix density is lower compared to the other datasets used in this experiment. So there is some evidence to suggest that we need a mechanism to escape from the cycle and to jump the barrier from one solution point to another in order to obtain a better solution. Such a mechanism is the subject of future work. 2500 1400 Penalty Cost 2000 1500 1000 500 car-f-92 Penalty Cost 1200 1000 800 600 400 200 kfu-s-93 0 1 4 7 10 13 16 19 22 25 28 31 34 37 40 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Iterations (x10 5 ) Iterations (x10 5 ) Figures 9ab. The behaviour of our algorithm on car-f-92 and kfu-s-93, respectively Penalty Cost 200 180 160 140 120 100 80 60 40 20 0 1 4 7 10 13 16 19 22 25 28 31 34 car-s-91 Penalty Cost 35 30 25 20 15 10 5 0 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 tre-s-92 Iterations (x10 5 ) Iteration (x10 5 ) Figures 10ab. The behaviour of our algorithm on car-s-91 and tre-s-92, respectively Penalty Cost 700 600 500 400 300 200 100 0 1 2 3 4 5 6 7 8 9 10111213141516 Iterations (x10 5 ) uta-s-92 Figure 11. The behaviour of our algorithm on uta-s-92 24

6. Conclusions and Future Work In this paper, we modeled an improvement procedure for the examination timetabling problem as a variant of a very large-scale neighbourhood search using a cyclic exchange operation. Within the context of examination timetabling, we investigated the search ideas proposed by Ahuja et al. (2001) for the capacitated minimum cost spanning tree problem. This is a new procedure in the timetabling arena and it represents an approach that outperforms the current state of the art on two benchmark problems. We show that the solution quality is dependent on the neighbourhood structure and the search approach. The key feature of our approach is the combination of a very large neighbourhood structure (based on the concept of an improvement graph) and the technique of identifying improvement moves by addressing negative cost partition-disjoint cycles (or paths) using a modified shortest path label-correcting algorithm. We also show that our cyclic exchange operation is far superior than simply employing two exchanges when defining a neighbourhood structure for examination timetabling. However, the limitation of our system is that a relatively long running time is needed to identify the improvement moves in the improvement graph (which is, of course, dependent on the number of exams). We note that in real world situations, examination timetabling is an off line problem, and the processing time is usually not very critical. If an examination timetabling scenario requires results very quickly then the method presented in this paper would not be the most appropriate in the timetabling literature. However, if it was reasonable to run the system overnight (and this would be the case in many real world scenarios) then this approach can produce some of the highest quality results on the standard benchmark problems and would be a highly appropriate methodology to employ. Having said this it would, of course, improve the method if it could be employed more quickly and our future research work aims to combine moves (insert/eject and shift) in the building of an improvement graph and try to shorten the required time to identify the improvement moves in the improvement graph. We also aim to investigate mechanisms to avoid cycling during the search process. 25

Acknowledgements This work has been supported by the Public Services Department of Malaysia (JPA) and the University Kebangsaan Malaysia (UKM). Prof. Dror s contribution was funded by an EPSRC Visiting Fellowship (GR/S071241/01). We are very grateful for this support. We are also very grateful to the anonymous referees whose thoughtful and considered comments significantly improved the paper. References 1. Ahuja RK, Magnanti LT and Orlin JB (1993) Network Flows: Theory, Algorithms, and Applications. ISBN 1000499012, Prentice Hall, New Jersey, pp 133-165 2. Ahuja RK, Orlin JB and Sharma D (2000) Very Large Scale Neighbourhood Search. International Transactions in Operational Research 7, pp 301-317 3. Ahuja RK, Orlin JB and Sharma D (2001) Multiexchange Neighbourhood Search Algorithm for Capacitated Minimum Spanning Tree Problem. Mathematical Programming 91, pp 71-97 4. Ahuja RK, Ozlem Ergun, Orlin JB and Abraham O Punnen (2002) A Survey of Very Large-scale Neighborhood Search Techniques. Discrete Applied Mathematics 123, pp 75-102 5. Ahuja RK, Orlin JB and Sharma D (2003) A Composite Neighbourhood Search Algorithm for Capacitated Spanning Tree Problem. Operations Research Letters 31, pp 185-194 6. Asmuni H, Burke EK and Garibaldi JM (2005) Fuzzy Multiple Ordering Criteria for Examination Timetabling. In Edmund Burke and Michael Trick, editors, The practice and theory of automated timetabling V: Selected papers from the 5 th International Conference, Lecture Notes in Computer Science 3616. pp 334-353. Springer-Verlag, Berlin 7. Proceedings of the 5 th International Conference on the Practice and Theory of Automated Timetabling Pittsburg, pp 51-65 8. Ayob M and Kendall G (2003) A Monte Carlo Hyper-Heuristic to Optimise Component Placement Sequencing For Multi Head Placement Machine. Proceedings of the International Conference on Intelligent Technologies, InTech 03, Chiang Mai, Thailand, pp 132-141 9. Balakrishnan N, Lucena A and Wong RT (1992) Scheduling Examinations to Reduce Second Order Conflicts. Computers and Operations Research 19, 353-361 10. Bardadym VA (1996) Computer-Aided School and University Timetabling: The New Wave. In Edmund Burke and Peter Ross, editors, The Practice and Theory of Automated Timetabling I: Selected papers from the 1 st International Conference Lecture Notes in Computer Science 1153, pp 22-45. Springer-Verlag, Berlin 11. Boizumault P, DelonY and Peridy L (1996) Constraint Logic Programming for Examination Timetabling. Journal of Logic Programming 29(2), pp 217-233 12. Brelaz D (1979) New Methods to Color the Vertices of a Graph. Communication of the ACM 22(4), pp 251-256 13. Burke EK and Ross P, editors, (1996) Practice and Theory of Automated Timetabling I, of Lecture Notes in Computer Science 1153. Springer-Verlag 14. Burke EK, Newall JP and Weare RF (1996a) A Memetic Algorithm for University Exam Timetabling. In Edmund Burke and Peter Ross, editors, The Practice and Theory of Automated Timetabling I: 26