90 likes | 118 Views
Iterated Local Search. General Idea: Start with an initial solution s . Find the local minima, s* , using a heuristic (this heuristic is most often the local improvement algorithm). Perturb s* to obtain some new solution s’. Then repeat step 2 starting from s’.
E N D
Iterated Local Search General Idea: • Start with an initial solution s. • Find the local minima, s*, using a heuristic (this heuristic is most often the local improvement algorithm). • Perturb s* to obtain some new solution s’. Then repeat step 2 starting from s’. • Repeat step 2 and 3 until some termination condition is met.
Iterated Local Search Visual Representation of ILS
Iterated Local Search Issue 1: How to generate the initial solution s? Options: a) Heuristic b) Randomly generated Issue 2: How to find the local minima? Options: a) Local Improvement Algorithm b) Newton’s Method c) Other heuristic
Iterated Local Search Issue 3: What to use for a stopping rule? Options: a) Total number of perturbations b) Number of perturbations without obtaining new incumbent c) Time
Iterated Local Search Issue 4: How to perturb a solution? Examples: Knapsack Problem: Let the solution s be represented by a listing of items in the knapsack followed by items not in the knapsack. e.g. [3, 6, 8, 9, 10 | 1, 2, 4, 5, 7] => [3, 4, 5, 8, 9, 10 | 1, 2, 6, 7] ^ ^ ^ Perturbation 1: Randomly remove two or more items from the knapsack and randomly insert items checking to ensure weight constraint is maintained. Perturbation 2: Remove one or more items from the knapsack, and rerun greedy algorithm for all remaining items.
Iterated Local Search Issue 4: How to perturb a solution? cont. Examples: Jobshop Scheduling Problem: Randomly perform n pairwise interchanges of the schedule. Machines s’ 1 [A,B,C,D] [B,A,C,D] 2 [B,A,D,C] => [A,B,D,C] 3 [A,C,B] [A,C,B] 4 [B,D,A] [B,A,D] Note, ensure feasibility during interchange.
Iterated Local Search Issue 4: How to perturb a solution? cont. Examples: Traveling Salesman Problem: Randomly select several jobs and swap their locations. s s’ [1-3-4-6-5-2-8-7-1] => [1-6-4-3-5-7-8-2-1] ^ ^ ^ ^ Others?