DM841 Discrete Optimization Lecture 12
Efficiency Issues Neighborhoods and Landscapes
Marco Chiarandini
Department of Mathematics & Computer Science University of Southern Denmark
Efficiency Issues Neighborhoods and Landscapes Marco Chiarandini - - PowerPoint PPT Presentation
DM841 Discrete Optimization Lecture 12 Efficiency Issues Neighborhoods and Landscapes Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Efficient Local Search Examples Computational
Department of Mathematics & Computer Science University of Southern Denmark
Efficient Local Search Examples Computational Complexity Search Space Properties
3
Efficient Local Search Examples Computational Complexity Search Space Properties
4
Efficient Local Search Examples Computational Complexity Search Space Properties
5
Efficient Local Search Examples Computational Complexity Search Space Properties
6
Efficient Local Search Examples Computational Complexity Search Space Properties
7
Efficient Local Search Examples Computational Complexity Search Space Properties
8
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ Interchange: size
2
◮ first-improvement: πj, πk
◮ best-improvement: πj, πk
◮ Swap: size n − 1 and O(1) evaluation each ◮ Insert: size (n − 1)2 and O(|i − j|) evaluation each
9
Efficient Local Search Examples Computational Complexity Search Space Properties
11
Efficient Local Search Examples Computational Complexity Search Space Properties
12
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ k-exchange heuristics
◮ 2-opt ◮ 2.5-opt ◮ Or-opt ◮ 3-opt
◮ complex neighborhoods
◮ Lin-Kernighan ◮ Helsgaun’s Lin-Kernighan ◮ Dynasearch ◮ ejection chains approach
13
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ determine pos of v in π ◮ determine succ and prec ◮ check whether uk is visited between ui and uj ◮ execute a k-exchange (reversal)
◮ |V | < 1.000 array for π and π−1 ◮ |V | < 1.000.000 two level tree ◮ |V | > 1.000.000 splay tree
◮ priority lists ◮ k-d trees
14
Efficient Local Search Examples Computational Complexity Search Space Properties
two_opt_b(tour); % best improvement, no speedup two_opt_f(tour); % first improvement, no speedup two_opt_best(tour); % first improvement including speed−ups (dlbs, fixed radius near neighbour searches, neughbourhood lists) two_opt_first(tour); % best improvement including speed−ups (dlbs, fixed radius near neighbour searches, neughbourhood lists) three_opt_first(tour); % first improvement
15
Efficient Local Search Examples Computational Complexity Search Space Properties
16
Efficient Local Search Examples Computational Complexity Search Space Properties 17
Efficient Local Search Examples Computational Complexity Search Space Properties
19
Efficient Local Search Examples Computational Complexity Search Space Properties
20
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ search initialization ◮ any single search step, including computation of
◮ local optimality can be verified in polynomial time ◮ improving search steps can be computed in polynomial time ◮ but: finding local optima may require super-polynomial time
21
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ TSP with k-exchange neighborhood with k > 3
◮ TSP with 2- or 3-exchange neighborhood is in PLS, but
22
Efficient Local Search Examples Computational Complexity Search Space Properties
23
Efficient Local Search Examples Computational Complexity Search Space Properties
24
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ Problem instance π ◮ Search space Sπ ◮ Neighborhood function N : S ⊆ 2S ◮ Evaluation function fπ : S → R
25
Efficient Local Search Examples Computational Complexity Search Space Properties
26
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ Simplified landscape
◮ Tabu Search ◮ Guided Local Search ◮ Iterated Local Search ◮ Evolutionary Alg.
27
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ search space size |S| ◮ reachability: solution j is reachable from solution i if neighborhood
◮ strongly connected neighborhood graph:
◮ weakly optimally connected neighborhood graph:
◮ distance between solutions ◮ neighborhood size (ie, degree of vertices in neigh. graph) ◮ cost of fully examining the neighborhood ◮ relation between different neighborhood functions
28
Efficient Local Search Examples Computational Complexity Search Space Properties
29
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ Permutation
◮ linear permutation: Single Machine Total Weighted Tardiness Problem ◮ circular permutation: Traveling Salesman Problem
◮ Assignment: SAT, CSP ◮ Set, Partition: Max Independent Set
30
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ πi is the element at position i ◮ posπ(i) is the position of element i
31
Efficient Local Search Examples Computational Complexity Search Space Properties
S|1 ≤ i ≤ n}
S(π1 . . . πiπi+1 . . . πn) = (π1 . . . πi+1πi . . . πn)
X|1 ≤ i < j ≤ n}
X(π) = (π1 . . . πi−1πjπi+1 . . . πj−1πiπj+1 . . . πn)
I |1 ≤ i ≤ n, 1 ≤ j ≤ n, j = i}
I (π) =
32
Efficient Local Search Examples Computational Complexity Search Space Properties
R|1 ≤ i < j ≤ n}
R(π) = (π1 . . . πi−1πj . . . πiπj+1 . . . πn)
B |1 ≤ i < j < k ≤ n}
B(π) = (π1 . . . πi−1πj . . . πkπi . . . πj−1πk+1 . . . πn)
SB|1 ≤ i < j ≤ n}
SB(π) = (π1 . . . πi−1πjπj+1πj+2πi . . . πj−1πj+3 . . . πn)
33
Efficient Local Search Examples Computational Complexity Search Space Properties
1E|1 ≤ i ≤ n, 1 ≤ l ≤ k}
1E
2E|1 ≤ i < j ≤ n}
2E(σ) =
Efficient Local Search Examples Computational Complexity Search Space Properties
1E | v ∈ C}
1E
′ = C \ v}
1E | v ∈ C}
1E
′ = C ∪ v}
1E | v ∈ C, u ∈ C}
1E
′ = C ∪ v \ u}
35
Efficient Local Search Examples Computational Complexity Search Space Properties
36
Efficient Local Search Examples Computational Complexity Search Space Properties
φ∈Φ(s,s′) |Φ|
37
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ Swap neighborhood operator
◮ Interchange neighborhood operator
◮ Insert neighborhood operator
38
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ Reversal neighborhood operator
◮ Block moves neighborhood operator
39
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ Hamming Distance ◮ An assignment can be seen as a partition of n in k mutually exclusive
j | with Si ∈ P and S′ j ∈ P′ and defined A(P, P′)
40
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ Search space size = (n − 1)!/2 ◮ Insert neighborhood
◮ 2-exchange neighborhood
2
◮ 3-exchange neighborhood
3
41
Efficient Local Search Examples Computational Complexity Search Space Properties
42
Efficient Local Search Examples Computational Complexity Search Space Properties
43
Efficient Local Search Examples Computational Complexity Search Space Properties
44
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ number of (optimal) solutions |S′|, solution density |S′|/|S| ◮ distribution of solutions within the neighborhood graph
45
Efficient Local Search Examples Computational Complexity Search Space Properties
0.2 0.4 0.6 0.8 1 3 3.5 4 4.5 5 5.5 6
#cl/#var P(sat), P(unsat)
−4 −3 −2 −1 1
P(sat) P(unsat) kcnfs mean sc (all)
log mean search cost [CPU sec]
0.2 0.4 0.6 0.8
1
3 3.5 4 4.5 5 5.5 6
#cl/#var P(sat), P(unsat)
−4 −3 −2 −1 1
kcnfs mean sc (unsat) kcnfs mean sc (all) nov+ mean sc (sat) P(sat) P(unsat)
log mean search cost [CPU sec]
46
Efficient Local Search Examples Computational Complexity Search Space Properties
47
Efficient Local Search Examples Computational Complexity Search Space Properties
◮ plateux ◮ barrier and basins B4 B3 B1 B2 l2 l1 B4 B3 B1 B2
48