• No results found

3.2 ITC 2011: High School Timetabling Problem

3.2.3 Low Level Heuristics

Ten low level domain-specific heuristics that are (mostly) fairly simple moves such as moving a task to a different resource, or swaps of events are designed and implemented to improve the initially generated solutions. The initial construction of a complete solution is performed using the general solver implemented by Jeff Kingston in the KHE library1. Note that the construction phase often gives a solution in which hard constraints are violated, and so the improvement phase also needs to improve the hard constraints. The low level heuristics are divided into two sets; 8 mutational operators that do a randomised move by perturbing a given candidate solution in different ways, and 2

1

Table 3.4: Characteristics of the problem instances used during three rounds of the competition

Round 1

Instance - Country Times Teachers Rooms Classes Students Duration

BGHS98 - Australia 40 56 45 30 1564 SAHS96 - Australia 60 43 36 20 1876 TES99 - Australia 30 37 26 13 806 Instance1 - Brazil 25 8 3 75 Instance5 - Brazil 25 31 13 325 Instance7 - Brazil 25 33 20 500 StPaul - England 27 68 67 67 1227 ArtificialSchool - Finland 20 22 12 13 200 College - Finland 40 46 34 31 854 HighSchool - Finland 35 18 13 10 297 SecondarySchool - Finland 35 25 25 14 306 HighSchool1 - Greece 35 29 66 372 Patras 3rd HS 2010 - Greece 35 29 84 340 Preveza 3rd HS 2008 - Greece 35 29 68 340 Instance1 - Italy 36 13 3 133 GEPRO - Netherlands 44 132 80 44 846 2675 Kottenpark2005 - Netherlands 37 78 42 26 498 1272

Lewitt2009 - South Africa 148 19 2 16 838

Common to All Rounds

Instance4 - Brazil 25 23 12 300 Instance6 - Brazil 25 30 14 350 Kottenpark2003 - Netherlands 38 75 41 18 453 1203 Rounds 2 and 3 Instance2 - Brazil 25 14 6 150 Instance3 - Brazil 25 16 8 200 ElementarySchool - Finland 35 22 21 60 445 SecondarySchool2 - Finland 40 22 21 36 566 Aigio 1st HS 2010 - Greece 35 37 208 532 Instance4 - Italy 36 61 38 1101 Instance1 - Kosovo 62 101 63 1912 Kottenpark2005A - Netherlands 37 78 42 26 498 1272 Kottenpark2008 - Netherlands 40 81 11 34 1118 Kottenpark2009 - Netherlands 38 93 53 48 1301

Woodlands2009 - South Africa 42 40 30 1353

School - Spain 35 66 4 21 439

WesternGreeceUni3 - Greece 35 19 6 210

WesternGreeceUni4 - Greece 35 19 12 262

hill climbing operators that search their neighbourhoods for better solutions. The mu- tational heuristics return a solution after processing a given solution with no quality guarantee, while a hill climbing heuristic always returns a non-worsening solution, even if the returned solution is the same as the input.

Mutational move operators:

• LLH0 (MU0): swaps the start time of two randomly selected events. For ex-

ample, assuming that the M athematics class meeting is assigned to the first time slot on Monday and the History class meeting assigned to the third time slot on Friday, after the swap operation, History is assigned to the first time slot on Monday, while M athematics to the third time slot on Friday.

• LLH1 (MU1): randomly selects an event and reschedules it to a random time.

For example, assuming that the M athematics class meeting is assigned to the first time slot on Monday, after applying this heuristic, M athematics could be rescheduled to the last time slot on Friday.

• LLH2 (MU2): swaps the time of two randomly chosen events. If both events

have the same duration, this heuristic operates like MH1, but if their durations

are not the same then the first chosen event is moved to the time slot right after the second event ends. For example, when swapping a M athematics class meeting with a duration of one assigned to the first time slot on Friday with a History class meeting with a duration of two assigned to the second time slot on Friday, MH3 moves the M athematics class to the third time slot on Friday, rather than

the second time slot, and moves the History class to the first time slot on Friday.

• LLH3 (MU3): selects a random resource element within an event and modifies

its assignment randomly. For example, assuming that Classroom1 is assigned for the P hysics meeting, after applying this heuristic, Classroom1 can be reassigned for a meeting of M athematics.

• LLH4 (MU4): swaps two random resources. For example, assuming that Classroom1

is assigned for M athematics and Classroom2 is assigned for History, after apply- ing this heuristic, Classroom1 is assigned for the History lesson while Classroom2 is assigned for the M athematics lesson.

• LLH5 (MU5): reassigns a randomly chosen resource element of an event to

a random resource. For example, assuming that T eacher1 is assigned to teach M athematics, after applying this heuristic, T eacher1 gets replaced by T eacher8.

• LLH6 (MU6): merges two class meetings of the same event and adjacent in time.

For example, assuming that the Biology class meeting with a duration of two is assigned to the first time slot on Monday and another Biology class meeting with a duration of one is assigned to the third time slot on Monday, then after applying the heuristic, the Biology class meetings are merged into a single meeting with a duration of three starting at the first time slot on Monday.

• LLH7 (MU7): splits a randomly selected event requiring an assignment of a time

block consisting of multiple time slots into two events with separate times with a fixed low probability of 0.1%. For example, assuming that a Biology class meeting is randomly chosen which has an assignment of a time block of two consecutive time slots, MH7 divides the teaching of Biology into two separate (but still consecutive)

time slots without changing their current assignments allowing future moves to operate on those two meetings separately.

Unlike most of the mutational operators, the 2 hill-climbing heuristics are capable of making quite large changes to a solution.

The hill climbing heuristics are themselves slightly non-standard. One of the operators

[LLH7 (HC0)] is designed using neighbourhood structures based on ejection chains

while the other operator [LLH8 (HC1)] is a type of first improvement hill climbing op-

erator. Both hill climbing operators attempt to make moves which respect to a particular constraint type while hoping to improve upon the other types of constraint violations but might have a net worsening of the objective, however, then such worsening moves are rejected. For example, it may remove the violation of assigning a resource, but may introduce another violations to other constraints and increase the value of the evaluation function. If the cost of the new solution is improved, the repair terminates successfully. If not, the method calls itself recursively in an attempt to improve the quality of the solution; in this way a chain of coordinated changes is built up. If the recursive call fails to improve the quality, the method undoes the repair and returns the previous solution.

3.3

MISTA 2013 Challenge: Multi-mode Resource-constrained