DM63 HEURISTICS FOR COMBINATORIAL OPTIMIZATION Lecture 6 Lin-Kernighan Heuristic. Simulated Annealing Marco Chiarandini Outline 1. Competition 2. Variable Depth Search 3. Simulated Annealing DM63–HeuristicsforCombinatorialOptimizationProblems 2 Results - Boxplots of Errors Trees Trees Trees Trees city drilling grid unif 2812742569−MST 260581.pl−MST 090481−MST Tours Tours Tours Tours city drilling grid unif 2812742569−FA 260581.pl−NI 090481−RA Fragments Fragments Fragments Fragments city drilling grid unif Stuetzle/tsp−test−NN 2812742569−NN 260581.pl−NN 090481−NN 20 40 60 80 20 40 60 80 20 40 60 80 20 40 60 80 err TSP: Benchmark Instances, Examples DM63–HeuristicsforCombinatorialOptimizationProblems 4 Results - Boxplots of Ranks Trees Trees Trees Trees city drilling grid unif Stuetzle/tsp−test−NN 2812742569−NN 2812742569−MST 2812742569−FA 260581.pl−NN 260581.pl−NI 260581.pl−MST 090481−RA 090481−NN 090481−MST Tours Tours Tours Tours city drilling grid unif Stuetzle/tsp−test−NN 2812742569−NN 2812742569−MST 2812742569−FA 260581.pl−NN 260581.pl−NI 260581.pl−MST 090481−RA 090481−NN 090481−MST Fragments Fragments Fragments Fragments city drilling grid unif Stuetzle/tsp−test−NN 2812742569−NN 2812742569−MST 2812742569−FA 260581.pl−NN 260581.pl−NI 260581.pl−MST 090481−RA 090481−NN 090481−MST 2 4 6 8 10 2 4 6 8 10 2 4 6 8 10 2 4 6 8 10 ranks Results - Scatter Plots: size vs time 090481−MST l 090481−NN l 090481−RA l 260581.pl−MST 260581.pl−NI 260581.pl−NN 2812742569−FA 2812742569−MST 2812742569−NN Stuetzle/tsp−test−NN 10^2.410^2.610^2.810^3.0 10^2.410^2.610^2.810^3.0 10^2.410^2.610^2.810^3.0 Fragments Tours Trees 10^2 10^2 10^1 10^1 l time 101^0−^10 ll lllll llll llllll lllllllllllllllllll ll lllll llll llllll lllllllllllllllllll ll lllll llll llllll llllllllllllllllll 1100^^−01 10^−2 10^−2 10^−3 10^−3 10^2.410^2.610^2.810^3.0 10^2.410^2.610^2.810^3.0 10^2.410^2.610^2.810^3.0 size DM63–HeuristicsforCombinatorialOptimizationProblems 6 Software Framework for LS Methods From EasyLocal++ by Schaerf and Di Gaspero (2003). DM63–HeuristicsforCombinatorialOptimizationProblems 8 Variable Depth Search I Key idea: Complex steps in large neighborhoods = variable-length sequences of simple steps in small neighborhood. I Use various feasibility restrictions on selection of simple search steps to limit time complexity of constructing complex steps. I Perform Iterative Improvement w.r.t. complex steps. Variable Depth Search (VDS): determine initial candidate solution s tˆ:=s While s is not locally optimal: || Repeat: || || select best feasible neighbor t || | If g(t)<g(tˆ): tˆ:=t || Until construction of complex step has been completed b s:=tˆ DM63–HeuristicsforCombinatorialOptimizationProblems 10 Example: The Lin-Kernighan (LK) Algorithm for the TSP (1) I Complex search steps correspond to sequences of 2-exchange steps and are constructed from sequences of Hamiltonian paths I δ-path: Hamiltonian path p + 1 edge connecting one end of p to interior node of p (‘lasso’ structure): u v a) u w v b) DM63–HeuristicsforCombinatorialOptimizationProblems 11 Basic LK exchange step: I Start with Hamiltonian path (u,...,v): u v a) I Obtain δ-path by adding an edge (v,w): u w v b) I Break cycle by removing edge (w,v0): u w v' v c) I Note: Hamiltonian path can be completed into Hamiltonian cycle by adding edge (v0,u): u w v' v c) DM63–HeuristicsforCombinatorialOptimizationProblems 12
Description: