[ieee 2009 2nd conference on data mining and optimization - kajand, malaysia...

7

Click here to load reader

Upload: masri

Post on 03-Feb-2017

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: [IEEE 2009 2nd Conference on Data Mining and Optimization - Kajand, Malaysia (2009.10.27-2009.10.28)] 2009 2nd Conference on Data Mining and Optimization - Multi-Neighbourhood Particle

2009 2nd Conference on Data Mining and Optimization 27-28 October 2009, Selangor, Malaysia

978-1-4244-4944-6/09/$25.00 ©2009 IEEE 21

Multi-Neighbourhood Particle Collision Algorithm

for Solving Course Timetabling Problems

Anmar Abuhamdah , Masri Ayob Data Mining & Optimization Group (DMO), Centre of Artificial intelligence Technology (CAIT)

Computer Science Department, University Kebangsaan Malaysia 43600 UKM Bangi, Selangor, Malaysia

{anmar|masri}@ftsm.ukm.my

Abstract — This work presents a Particle Collision Algorithm

(PCA) to solve university course timetabling problems. The aim

is to produce an effective algorithm for assigning a set of courses,

lecturers and students to a specific number of rooms and

timeslots, subject to a set of constraints. PCA always accepts

improved solution but adaptively accepts worse solutions based

on the quality of the solution. PCA differs from Simulated

Annealing and other meta-heuristic approaches in that is does

not have cooling schedule and does not rely on user-defined

parameters. The Multi-Neighbourhood Collision Algorithm

(MPCA) enhances a PCA approach that was originally

introduced by Sacco for policy optimization. The structure of

PCA resembles the simulated annealing structure. It differs from

basic PCA in terms of improvement phase (Exploration phase).

PCA perform local search in both construction solution phase

and scattering phase, while MPCA perform local search (Hill

Climbing based search) in the scattering phase only, which

makes MPCA more capable than PCA of escaping from local

optima. Also MPCA differs in terms of applying multi-

neighbourhood structures. MPCA employ different

neighbourhood in two stages (construction solution stage and

improvement stage). We evaluate the effectiveness of MPCA on

standard benchmark course timetabling datasets which were

introduced by Socha. Results show that MPCA significantly

outperformed other approaches in some instances and that

MPCA is able to produce good quality solutions within a

reasonable time.

Keywords — Course Timetabling Problem; Meta-Heuristics;

Particle Collision Algorithm.

I. INTRODUCTION

The university course timetabling problem involves assigning a set of courses, lecturers and students to a specific number of rooms and timeslots [1]. The goal is to produce high-quality timetables that satisfy all hard constraints and attempt to accommodate soft constraints as much as possible. A feasible timetable must satisfy all hard constraints, and soft constraints can be violated if necessary. However, each violation of the soft constraints will increase the penalty cost. A good quality timetable should have a small penalty value. A course timetabling problem is an NP-complete problem [2-4], to which it is difficult to find an optimal solution in a reasonable time. Finding good-quality solutions to these

problems depends on the technique itself and the structure employed during the search.

Various approaches and techniques have been intensively applied to the course timetabling problems over the last few years. Meta-heuristic approaches are the most popular in solving university course timetabling problems, such as Tabu Search, implemented by Costa [5] to construct different real course timetabling, Simulated Annealing, implemented by Elmohamed et al. [6] with different cooling schedules to university course timetabling, which was tested at Syracuse University, Great Deluge, implemented by Burke et al.[7] to the university course timetabling problem and was tested at international timetabling competitions, Variable Neighbourhood Search (VNS), implemented by Abdullah et al. [8] to standard benchmark university course timetabling problems, Genetic Algorithms, implemented by Lewis and Paechter [9] with different number of crossover operators to solve course timetabling, which was tested at international timetabling competitions, Ant Colony, applying a MIN-MAX ant system, by Socha et al.[10], to standard benchmark university course timetabling problems and hybrid meta-heuristic approaches, such as Kostuch [11], which implemented a three-phase approach to the university course timetabling problem and was tested on the international timetabling, and Memetic Algorithms by Jat and Yang [12] that integrates two local search methods into the genetic algorithm for solving the university course timetabling problem. For further information on previous works, please refer to the following survey/overview papers: [13-17].

In this work, we present a Multi-Neighbourhood Particle Collision Algorithm, which is an enhancement of a new meta-heuristics algorithm to solving university course timetabling problems. Particle Collision Algorithm (PCA) was originally introduced by Sacco et al. [18]. The structure of PCA resembles the simulated annealing structure. The algorithm starts with a solution generated by any constructive heuristic method; the solution will be iteratively improved [18]. A basic difference is that it does not rely on user-defined parameters. PCA accepts the solution with a certain probability, which may avoid the convergence to local optima [18]. The aim of this work is to investigate the performance of applying modified PCA (MPCA) to solving course timetabling

Page 2: [IEEE 2009 2nd Conference on Data Mining and Optimization - Kajand, Malaysia (2009.10.27-2009.10.28)] 2009 2nd Conference on Data Mining and Optimization - Multi-Neighbourhood Particle

978-1-4244-4944-6/09/$25.00 ©2009 IEEE 22

problems. In order to evaluate the effectiveness of the enhanced algorithm, we tested it on 11 standard benchmark datasets that were introduced by Socha et al. [10].

II. PROBLEM DESCRIPTION

In this work, we use 11 datasets introduced by Socha et al [10] in intentional timetabling competitions. These datasets tackle the students’ satisfaction only for the course timetabling problem. The problem consists of: A set of events to be scheduled in 45 timeslots (5 days of 9 hours each day each), a set of rooms in which events can take place, a set of students who attend the events, and a set of features characterizing the rooms and required by events. These 11 datasets are categorized into three groups: small, medium and large. Each one has a different number of conflicts even if they have the same number of (events, rooms, features, students). These datasets were collected from various real-world university course timetabling problems (see details description in [10]). In order to produce a feasible timetable, all hard constraints must be satisfied. Soft constraints should be satisfied as much as possible. Socha-2002 datasets that were introduced as a test datasets in addition to the 1st international timetabling competition (ITC2002), have (HC1, HC2 and HC3) hard constraints and (SC1, SC2 and SC3) soft constrains, as follows: a) Hard Constraints

HC1: No student attends more than one event at the same time.

HC2: The room is big enough for all the attending students and satisfies all the features required by the event.

HC3: Only one event takes place in each room at any timeslot.

b) Soft Constraints SC1: A student should not have a class in the last slot of the

day. SC2: A student should not have more than two classes

consecutively. SC3: A student should not have a single class on a day. The quality of a timetable is measured by penalising each

violation of the soft constraints ‘1’.

III. CONSTRUCTION ALGORITHM

In this work, in order to produce feasible timetables, adopted originally by D. Landa-Silva, and J. H. Obit [19], we started from an empty timetable to produce the initial solution, using the constructive graph colouring heuristic. We obtained the feasible solution by adding and removing courses from the timetable while using the Tabu list based on the hard constraints until we had a feasible timetable, as follow:

• Highest Degree Heuristic Step: After we assigned all the events that do not conflict, we assigned randomly the unassigned events with the highest number of conflicts (not satisfying the hard constraints, common even with students) to timeslots; after assigning all events to timeslots, we assigned each event to a room by using the maximum matching algorithm for bipartite graph (see [19]). Even after ending this step, there is no guarantee that the timetable

satisfies the hard constraints (no guarantee for feasible timetable). If not feasible, we move to step 2.

• Local Search Step: Two neighbourhood structure moves (move 1, move 2) were applied to construct a feasible timetable that we could not obtain to the Highest Heuristic Degree. The move will be accepted if it is more satisfying of hard constraints, to find the feasibility. After 10 iterations, if the quality of solution does not improve, this step is terminated. If not feasible, we move to step 3.

• Tabu Search Step: Tabu search has been applied using move 1 only. “The Tabu list contains events that were assigned less than tl iterations before calculated as tl = ran(10) + δ × nc, where ran(10) is a random number between 0 and 10, nc is the number of events involved in hard-constraint violations in the current timetable, and δ = 0.6” [28]. After 500 iterations, if the quality of solution does not improve, this step will be terminated.

We repeat the local search step and the Tabu search step until we find a feasible solution. For further information please see [19].

IV. THE ALGORITHM(MPCA)

Particle Collision Algorithm (PCA) was introduced by Sacco et al. [18] in 2005. This is a stochastic optimization algorithm based on simulated annealing approach. The structure of PCA resembles a simulated annealing structure. The basic difference is that is does not have cooling schedule and it does not rely on user-defined parameters. Since the acceptance criteria of PCA can probably accept worst solutions, it is capable of avoiding being trapped in local optima [18]. PCA starts with a solution generated by any constructive heuristic method; the solution will be iteratively improved [18].

In this work, we enhanced the PCA approach by introducing the Multi Neighbourhood Particle Collision Algorithm (MPCA), which has two separate stages of employing neighbourhood structure. The first stage is employed in the solution construction phase and the other in the exploration phase to improve the solution. In both stages, the neighbourhourhood will be randomly selected. After generating the feasible timetable [19], a neighbourhood structure will be randomly selected from stage 1 neighbourhourhood to generate new feasible solution. Meanwhile, if the new solution is not feasible, the same randomly selected neighbourhood will be applied frequently until finding a feasible solution for a certain number (i.e., 50 times) of trials. Otherwise, a different neighbourhood will be selected randomly and so on and the current solution will be equal to the new solution. If the current solution penalty cots less than the best solution penalty cost, then the best solution penalty cost is equal to the current solution. Otherwise, if the current solution penalty cost is greater than the best solution penalty cost, we check whether the current solution is accepted as a worst solution or not. If accepted, then a neighbourhood structure will be randomly selected from stage 2 neighbourhourhood to generate a new feasible solution, then

Page 3: [IEEE 2009 2nd Conference on Data Mining and Optimization - Kajand, Malaysia (2009.10.27-2009.10.28)] 2009 2nd Conference on Data Mining and Optimization - Multi-Neighbourhood Particle

978-1-4244-4944-6/09/$25.00 ©2009 IEEE 23

improve that solution by hill climbing local search (improvement phase). If not accepted, then the current solution is equal to the best solution.

The main difference between PCA and MPCA is that in

PCA there is an exploration of the boundaries searching for an even better solution (i.e., the function ‘‘Exploration’’ performs local search generating a small stochastic perturbation of the solution inside a loop) [20] in both phases, while in MPCA the function ‘‘Exploration’’ performs hill climbing local search in the improvement phase only. PCA employ the same neighbourhood in both stage, but MPCA employs different neighbourhood structures in both stages.

The acceptance criteria for PCA and MPCA are the same in the function ‘‘Scattering’’, where the algorithm is more likely to accept little bit worse solutions to solve the university course timetabling problem. The scattering is equal to the penalty of the new solution divided into the penalty of best solution] minus one. Then we check whether the scattering value is less than the random number between zero and one. If yes, then we accept that worst solution and enhance it by the exploration phase that will apply Hill Climbing search, but if greater than the random number between zero and one, we will not accept that solution and the current solution will be the best solution. Figure 1 show the MPCA pseudo code. Also Figure 1 shows that we implemented different neighbourhood structures (three in stage 1 and one in stage 2) for solving the university course timetabling problem. These are:

Figure 1. MPCA Pseudo Code

• Stage1 Neighbourhood

NS1: Randomly select two courses and swap their timeslots (and rooms if necessary).

NS2: Randomly select two timeslots and simply swap all the courses in one timeslot with all the courses in the other timeslot.

NS3: Randomly select four courses and swap their timeslots (and rooms if necessary).

• Stage 2 Neighbourhood NS4: Randomly select a course, feasible timeslot and

feasible room, and move the course to the new timeslot (and move the course to the new room if necessary).

.

V. EXPERIMENTAL RESULTS

In this work, we tested our algorithm on a PC with an Intel dual core 1800 MHz, 1GB RAM. These results were obtained out of 11 runs and 200,000 iterations. The results of all small datasets were obtained with a running time ranging between 130 to 287 seconds for the datasets. Meanwhile, the result of

Fitness(S*)

Fitness (BestSol)

Generate an initial solution So (current solution) Set BestSol = So Set # of n.iteration Set # of m.iteration Set index=0; Set Solution=0; (the solution that had accepted) Calculate Fitness(So) for n = 0 to n.iterations Apply randomly selected Stage 1 neighbourhood to the solution So to generate new feasible solution S* Calculate Fitness(S*) if Fitness(S*) < Fitness (So) So = S*; BestSol = So; index= index+1; Solution (index) = Fitness (So); else S1= Scattering (S*, BestSol); end if end for

Scattering (S*, BestSol)

Scattering = - 1 ;

if Scattering > random (0, 1) So = BestSol; else Index= index+1; Solution (index) = Fitness(S*); So = Exploration (S*); end

Return So

Exploration (S*) for m = 0 to m. Iterations Apply randomly selected Stage 2 neighbourhood to the solution S* to generate new feasible solution S1*

Calculate Fitness(S1*) if Fitness (S1*) < Fitness(S*) S*= S1*; end if end for if Fitness(S*) < Fitness (BetsSol) So = S*; BestSol = So; index= index+1; Solution (index) = Fitness (So); else So=S*; end if Return So

Page 4: [IEEE 2009 2nd Conference on Data Mining and Optimization - Kajand, Malaysia (2009.10.27-2009.10.28)] 2009 2nd Conference on Data Mining and Optimization - Multi-Neighbourhood Particle

978-1-4244-4944-6/09/$25.00 ©2009 IEEE 24

medium and large datasets was obtained with running time ranging between 14,400 to 35,200 seconds for the datasets. Reviews of the best results obtained by other meta-heuristics search and our methodology can be seen in (Table 1).

TABLE I. COMPARISON BETWEEN OUR METHODOLOGY AND OTHER

LOCAL HYBRID META-HEURISTIC SEARCH RESULTS ON COURSE

TIMETABLING PROBLEM

Note: R1. VNS-TS [21]. R2. ELM-GD[22]. R3. EGD [23]. R4.HEA [24]. R5. DHC-OABA[25]. R6. FMHA [26]. R7. GA-LS [27]. R8. RII-C N [28]. R9. GBHH [29]. R10. NLGD [19]. R11. AMMA-LS [30].

Table 1 shows the comparison between our approaches and

other local hybrid meta-heuristic searches that were applied on Socha benchmark datasets under 200,000 iterations. The best results are presented in bold.

Abdullah et al. [21] reproduced the eight used neighbourhoods that were used in Randomized Iterative Improvement with Composite Neighborhood (RII-CN) [26] along with three additional neighbourhoods used in Variable Neighbourhood Structure with Tabu Search (VNS-TS) algorithm for clarity and completeness.

Electromagnetic like Mechanism and Great Deluge (ELM-GD) results in the datasets from S1 to M5 obtained within 10 hours and 200,000 iterations for each [22]

Extended Great Deluge (EGD) has produced the best results of all datasets, except the large dataset, and each best

result has been obtained within a range of between 15 and 60 seconds for the small datasets, and 200,000 iterations with 10 runs for each to obtain an average value [23].

The Hybrid Evolutionary Algorithm (HEA) obtained feasible results for the whole datasets, and 8 best results out of 11 among Evolutionary Algorithm, along with beating only 1 dataset (large) among local search methods; their termination criterion is set to 200,000 iterations, and 10 hours to obtain each result [24].

The Graph-Based Hyper-Heuristic (GBHH) produced only one good quality and competitive result for the 5th medium dataset; also they considered the number of iterations as 5 multiplied by the number of events [29].

Asmuni et al. [26] provided a comparative quality solution and rescheduling procedure (required for producing solutions) between the Fuzzy Multiple Heuristic Approach (FMHA) and single heuristics ordering in solving the problem [24]. The single heuristic ordering is a basic version of the timetabling problem and can be considered a graph colouring problem, which means it does not handle the soft constraints. The used single heuristics ordering in their work are: Largest Degree first, Largest Enrolment first, Least Saturation Degree first, Largest Coloured Degree first and for large dataset).

Die Hard Co-Operative Ant Behaviour Approach (DHC-OABA) [25] obtained a feasible result comparable to others in some datasets.

The hybrid meta-heuristics Non-Linear Great Deluge

(NLGD) performed well and obtained good quality results for all medium datasets, large datasets as well, besides one optimal solution for the S5 dataset with a fixed computational time in seconds (3,600 for small datasets, 4,700 for medium, 6,700 for the large dataset), and ran the algorithm 10 times for each dataset [19].

Genetic Algorithm and Local Search (GA-LS) [27], Ant MAX-MIN Algorithm (AMMA) with a separate Local Search routine (10 runs and 200,000 iterations, and a limited given time: 90sec for small datasets, 900sec for medium datasets, and 9000sec takes approximately 10 hours for each datasets)[30].

of the MPCA seem to be quite good using Multi- Neighborhood for all the datasets (best results obtained out of 11 runs, 200,000 iterations).

The observation of the results obtained indicates that MPCA performed well using the multi-neighbourhood structure and obtained a good quality solution for all small, medium and large datasets. The results of all small datasets scored zero, the same as some of the published results; medium and large datasets were within the range of the published results. Meanwhile, medium 4 were better than those in the published results and obtained a very good-quality solution.

Data

Set

MPCA R1 R2 R3 R4 R5

Min Avg

S1 0 2.18 0 0 0 0 5

S2 0 2.09 0 0 0 0 5

S3 0 1.72 0 0 0 0 3

S4 0 1.45 0 0 0 0 3

S5 0 1.09 0 0 0 0 0

M1 105 120.45 338 175 80 221 176

M2 108 118 326 197 105 147 154 M3 156 165.45 384 216 139 246 191

M4 84 107.72 299 149 88 165 148

M5 141 158.45 307 190 88 130 166 L 719 782.45 - 912 730 529 798

Data

Set R6 R7 R8 R9 R10 R11

S1 10 2 0 6 3 1 S2 9 4 0 7 4 3 S3 7 2 0 3 6 1 S4 17 0 0 3 6 1 S5 7 4 0 4 0 0

M1 243 254 242 372 140 195 M2 225 258 161 419 130 184 M3 249 251 265 359 189 248 M4 285 321 181 348 112 164.5 M5 132 276 151 171 141 219.5

L 1138 1027 - 1068 876 851.5

Page 5: [IEEE 2009 2nd Conference on Data Mining and Optimization - Kajand, Malaysia (2009.10.27-2009.10.28)] 2009 2nd Conference on Data Mining and Optimization - Multi-Neighbourhood Particle

978-1-4244-4944-6/09/$25.00 ©2009 IEEE 25

Figure 2. Box and whisker plot of MPCA for all datasets

Figure 2 shows the box and whisker plot that summarise the results of 11 runs on Socha benchmark datasets, with each run for the small datasets ranging from 130 to 287 seconds. Meanwhile, the medium and large datasets ranged from 14,400 to 35,200 seconds in small 1, small 3, small 4, small 5, medium 1 and medium 3 datasets. We can see that the median is closer to the best, than the worst, of these runs. This indicates that the algorithm is stable and consistent, and most of the time can produce very good quality solutions. The result also shows that HPCA is capable of producing feasible solutions for all datasets, high-quality solutions that are comparable to the best-known results obtained in literature. For example, Figure 3 shows the behaviour of MPCA on the medium 4 dataset since our algorithm produces the best results among other method presented in Table I.

For more understanding of the robustness and consistency

of our algorithm in producing good quality solutions, the following table illustrates the statistical analysis of applying our algorithm (MPCA) on the Socha benchmark datasets. The statistical readings are based on the following performance indicators: the best score (fmin), the average score (favg), the standard deviation σ, the total number of iteration moves (Iter.) and the total CPU time on our computer needed to find the best solution fmin (Time/s). If there are multiple hits on the best solution in each independent run (11 runs for small, 11 runs for medium, and 11 runs for the large instance), the values listed in the table are the average over these multiple best hits (see Table II).

TABLE II

STATISTICAL ANALYSIS OF OUR ALGORITHM (MPCA) APPLIED TO SOCHA

BENCHMARK DATASETS

Data

Set

fmin favg Std. Dev.

(σ)

Iter. Time/s

s1 0 2.18 1.66 11,545 145

s2 0 2.09 1.04 13,274 159

s3 0 1.73 1.27 25,866 275

s4 0 1.45 0.93 18,759 137

s5 0 1.09 1.22 22,187 220

m1 105 120.45 10.39 120,478 16890

m2 108 118 6.93 115,762 15400

m3 156 165.45 8.05 155,248 25200

m4 84 107.73 11.55 143,869 19445

m5 141 158.45 10.96 139,598 18540

l 719 782.45 39.19 171,859 34840

Figure 3. The behaviour of MPCA on the medium 4 dataset

Figure 3 shows the correlation between the number of iterations and the penalty (solution quality) cost after we minimise the 200 iterations to see the algorithm performance. The slope of the curve of the smallest penalty cost is improved while the numbers of iterations increased. It shows that the penalty cost can be quickly reduced at the beginning of the search, where there appears to be a lot of neighbourhood improvement. Also Figure 3 shows that the MPCA acceptance criteria for the worst solution can escape from local optima and the acceptance of the worst solution from the beginning to the end of the curve becomes smaller, which helps the search to produce good-quality solutions.

VI. CONCLUSIONS AND DISCUSSIONS

The overall goal of this work is to investigate the effectiveness of applying MPCA as a meta-heuristic search for solving the university course timetabling problem. In order to evaluate the effectiveness of our approach, we test it on Socha benchmark datasets. Results indicate that using the Multi-Neighbourhood Structure in Collision Algorithm approach while defining the suitable Neighbourhood Structure (NS1-NS4) is comparable to the other approaches in the literature and is particularly suitable for solving course timetabling problems. The MPCA approach is capable of producing high-quality solutions in reasonable time. Our future work is to hybridize the MPCA with other optimisation methods and to improve MPCA with composite neighbourhood structures from a much larger pool of neighbourhoods and apply to ITC2007 datasets.

Page 6: [IEEE 2009 2nd Conference on Data Mining and Optimization - Kajand, Malaysia (2009.10.27-2009.10.28)] 2009 2nd Conference on Data Mining and Optimization - Multi-Neighbourhood Particle

978-1-4244-4944-6/09/$25.00 ©2009 IEEE 26

ACKNOWLEDGMENT

Many thanks to Mr. Hamzah Turabieh for his kindness to explain some important points in my research.

REFERENCES

[1] S. Petrovic, and E.K. Burke, “University timetabling” , Ch. 45 in the Handbook of Scheduling: Algorithms, Models, and Performance Analysis (eds. J. Leung), Chapman Hall/CRC Press, 2004.

[2] A. Schaerf, “A Survey of Automated Timetabling”, Technical Report CS-R9567, CWI, Amsterdam,NL, 1995.

[3] S. Even, A. Itai and A. Shamir, “On the Complexity of Timetable and Multi commodity Flow Problem”, SIAM J. Comput., 5(4):691-703, 1976.

[4] R. Lewis, B. Paechter and B. McCollum,” Post Enrolment based Course Timetabling”: A Description of the Problem Model used for Track Two of the Second International Timetabling Competition, Cardiff Working Papers in Accounting and Finance A2007-3. Prifysgol Caerdydd/ Cardiff University, Wales. ISSN: 1750-6658, v 1.0, 2007.

[5] D. Costa, “A tabu search for computing an operational timetable”. European Journal of Operational Research, 76, pp 98-110, 1994.

[6] M.A.S. Elmohamed, P. Coddington, and G. Fox, “A comparison of annealing techniques for academic course scheduling”. The Practice and Theory of Automated Timetabling II: Selected Papers from 2nd International Conference on the Practice and Theory of Automated Timetabling (PATAT II), Toronto, Canada, Lecture Notes in Computer Science 1408, Springer-Verlag. (Editors: E.K. Burke and M. Carter), pp 92-112, 1998.

[7] E. K. Burke, Y. Bykov, J. Newall and S. Petrovic, “ A time-predefined approach to course timetabling”. Yugoslav Journal of Operations Research (YUJOR), 13(2), pp 139-151, 2003.

[8] S. Abdullah, E.K. Burke and B. McCollum, “An Investigation of Variable Neighbourhood Search for Course Timetabling”. In: The Proceedings of the 2nd Multidisciplinary International Conference on Scheduling: Theory and Applications (MISTA 2005), New York, USA, July 18th-21st, pages 413-427, 2005.

[9] R. Lewis and B. Paechter, “Application of the grouping genetic algorithm to university course timetabling”. The 5th European Conference in Evolutionary Computation in Combinatorial Optimisation (EvoCop 2005), Lausanne, Swizerland, Lecture Notes in Computer Science 3448, pp 144-153, 2005.

[10] K. Socha, J. Knowles and M. Samples “A max-min ant system for the university course timetabling problem”. Proceedings of the 3rd International Workshop on Ant Algorithms, ANTS 2002, Springer Lecture Notes in Computer Science Vol 2463 (10), pp 1-13, 2002.

[11] P. Kostuch, “The university course timetabling problem with a three-phase approach”. The Practice and Theory of Automated Timetabling V: Selected Papers from 5th International Conference on the Practice and Theory of Automated Timetabling (PATAT V), Pittsburg, USA, Lecture Notes in Computer Science 3616, Springer-Verlag. (Editors: E.K. Burke and M. Trick), pp 109-125, 2005.

[12] N. S. Jat, S. Yang, “A Memetic Algorithm for the University

Course Timetabling Problem”, The proceeding of 20th IEEE International Conference on Tools with Artificial Intelligence, vol, pp.1082-3409/08, IEEE DOI 10.1109/ICTAI.2008.126. 2008.

[13] L. Di Gaspero, and A. Schaerf, “Multi-neighbourhood local search with application to course timetabling”. In Edmund Burke and Patrick De Causmaecker, editors, The Practice and Theory of Automated Timetabling IV: Selected Papers from the

4th International Conference, Springer Lecture Notes in Computer Science Vol 2740, pp 262-275, 2002.

[14] D. De Werra, “An Introduction to Timetabling”. European Journal of Operations Research, 19, pp 151-162, 1985.

[15] V. Bardadym, Computer-Aided School and University Timetabling: The New Wave. In Edmund Burke and Peter Ross, editors, “The Practice and Theory of Automated Timetabling” : Selected papers from the 1st International Conference, Springer Lecture Notes in Computer Science Vol 1153, pp 22-45, (1996)

[16] A. Schaerf, “A Survey of Automated Timetabling”. Artificial Intelligence Review 13(2), pp 87-127, 1999.

[17] E. K. Burke, J. Kingston and D. de Werra , “ Applications to Timetabling”. Handbook of Graph Theory, (editors, J. Gross and J. Yellen), Chapman Hall/CRC Press, pp 445-474, 2004.

[18] W. F. Sacco and B. de Oliveira, “A new stochastic optimization algorithm based on particle collisions”. In: Transactions of the American Nuclear Society, vol. 92, 2005,ANSAnnualMeeting, San Diego, CA, June, 2005.

[19] D. Landa-Silva and J.H. Obit, “Great Deluge with Non-linear Decay Rate for Course timetabling Problems”, 2008 4th International IEEE Conference Intelligent Systems, 978-1-4244-1739-1/08/, 2008.

[20] R. CARUANA and D. FREITAG, “Greedy attribute selection”. In: Proceedings of the International Conference on Machine Learning, 28 – 36, 1994.

[21] S. Abdullah, E.K. Burke and B. McCollum “An investigation of a variable neighbourhood search approach for course timetabling”, The Proceedings of the 2nd Multidisciplinary International Conference on Scheduling: Theory and Applications (MISTA 2005), New York, USA, pp. 413-427, 2006.

[22] S. Abdullah and H. Turabieh, “Electromagnetic Like Mechanism and Great Deluge for Course Timetabling Problems”, In the First 2008 Seminar on Data Mining and Optimization DMO, vol. I, ISBN 9778-967-5048-36-4, 21-25, 2008.

[23] P. McMullan “An Extended Implementation of the Great Deluge Algorithm for Course Timetabling”, ICCS International Conference of Computational Science, Part I, LNCS Lecture Note in Computer Science, vol. 4487, pp. 538-545, Springer-Verlag Berlin Heidelberg, Germany, 2008.

[24] S. Abdullah, E.K. Burke and B. Mccollum, “A hybrid evolutionary approach to the university course timetabling problem”, In Proceedings of the IEEE Congress on Evolutionary Computation. Singapore, September, 2007.

[25] N. Ejaz and M. Javed, “Approach for Course Scheduling Inspired by Die-Hard Co-Operative Ant Behavior”, Proceedings of the IEEE International Conference on Automation and Logistics August 18 - 21, 2007, Jinan, China , 2007.

[26] H. Asmuni, E. K. Burke and J. M. Garibaldi, “Fuzzy Multiple Heuristic Ordering for Course Timetabling”, In: The Proceedings of the 5th United Kingdom Workshop on Computational Intelligence (UKCI05), London, UK, September 5th-7th, 302-309, 2005.

[27 ] S. Abdullah and H. Turabieh, “Generating University Course Timetabling Using Genetic Algorithm and Local Search”, In the Third 2008 International Conference on Convergence and Hybrid Information Technology ICCIT, vol. I, 254-260, 2008.

[28] S. Abdullah, E.K. Burke and B. McCollum, “Using a Randomised Iterative Improvement Algorithm with Composite Neighbourhood Structures for the University Course Timetabling Problem”. In Metaheuristics - Progress in Complex Systems Optimization (Doerner K. F., Gendreau M., Greistorfer P., Gutjahr W. J., Hartl R. F., and Reimann M.,

Page 7: [IEEE 2009 2nd Conference on Data Mining and Optimization - Kajand, Malaysia (2009.10.27-2009.10.28)] 2009 2nd Conference on Data Mining and Optimization - Multi-Neighbourhood Particle

978-1-4244-4944-6/09/$25.00 ©2009 IEEE 27

Eds.), Computer Science Interfaces Book Series, Springer Operations Research, ISBN-13:978-0-387-71919-1, Vol 39, pp 153-169, 2007.

[29] E. K. Burke, B. McCollum, A. Meisels, S. Petrovic and R. Qu, “A Graph-Based Hyper-Heuristic for Educational Timetabling Problems”, European Journal of Operational Research, 2006.

[30] K. Socha, M. Samples and M. Manfrin, “Ant algorithm for the university course timetabling problem with regard to the state-of-the-art”, The Proceedings of the 3 European Workshop on Evolutionary Computation in Combinatorial Optimisation, Essex, UK, Lecture Notes in Computer science 2611, Springer-Verlag, pp. 334-345, 2003.