STOCHASTIC LOCAL SEARCH
FOUNDATIONS AND APPLICATIONS
Holger H. Hoos Computer Science University of BC Canada Thomas St¨ utzle FB Informatik TU Darmstadt Germany
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 1
Motivation: Why Stochastic Local Search? Stochastic local search is - - PowerPoint PPT Presentation
S TOCHASTIC L OCAL S EARCH F OUNDATIONS AND A PPLICATIONS Holger H. Hoos Thomas St utzle Computer Science FB Informatik University of BC TU Darmstadt Canada Germany Hoos / St utzle Stochastic Local Search: Foundations and
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 1
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 2
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 3
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 4
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 5
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 5b
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 6
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 7
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 8
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 9
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 10
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 11
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 12
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 13
1000 2000 3000 4000 5000 6000 7000 1000 2000 3000 4000 5000 6000 7000 8000 9000 TSPLIB instance att532 -- optimal solution "att532-opt"
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 14
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 15
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 16
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 17
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 18
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 19
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 20
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 21
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 22
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 23
c s
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 23b
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 24
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 25
1000 2000 3000 4000 5000 6000 7000 1000 2000 3000 4000 5000 6000 7000 8000 9000 NN:att532
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 26
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 27
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 28
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 29
2-exchange
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 30
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 31
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 32
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 33
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 34
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 35
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 35b
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 36
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 37
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 38
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 39
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 40
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 41
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 42
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 43
[Battiti & Tecchiolli 1994–1997]
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 44
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 45
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 46
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 47
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 48
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 49
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 50
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 51
RP BI RW
CPROB( ) C O N D ( ) C O N D ( ) P R O B ( ) P R O B ( ) CPROB( ) not R, p not R, 1−p p 1 − p R R
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 52
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 53
COND( ) COND( ) PS LS DET COND( ) COND( ) : t:=pos DET : t:=pos AC(t) RP LS COND( ) COND( ) not CL not CL CP CL CL not CP Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 54
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 55
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 56
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 57
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 58
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 59
SLC XO PI
COND(R) COND(not R)
Mut
DET DET DET
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 60
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 61
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 62
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 63
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 64
COND( ) COND( ) : COND( ) COND( )
CI CI CS LS
DET updateTrails DET : initTrails not CL CL CC not CC
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 65
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 66
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 66b
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 67
m
ij
ij = 1/Lk if edge (i, j) is used by ant k on its tour
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 68
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 69
Feature SA TS ILS GA ACO Single trajectory + + − − − Population − − − + + Memory − + ∃ ∃ ∃ Multiple neighborhoods − − + ∃ −
− − − − + Nature-inspired + − − + + +: feature present, ∃: partially present, −: not present
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 70
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 70b
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 71
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 72
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 73
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 74
2 4 6 8 10 12 100 200 300 400 500 600 700 800 900 1000 CPU sec tries Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 75
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 100 1000 10000 100000 1e+06 P(solve) # variable flips RLD for WSAT ed[39225] Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 76
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 77
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 78
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 79
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 80
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.1 1 10 100 1000 p(solve) run-time [CPU sec] MMAS ILS
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 81
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 82
0.1 1 10 100 1000 0.1 1 10 100 1000 median run-time ILS [CPU sec] median run-time MMAS [CPU sec]
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 83
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 84
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1 10 100 1000 solution probability CPU time Run-time distributions for iterated 3-opt on att532.tsp "1%" "0.5%" "0.25%" "0.1%" "opt" ed1 ed2
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 85
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 86
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 87
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 88
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 89
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 90
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 91
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 92
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 93
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 94
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 95
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 96
8950 9000 9050 9100 9150 9200 9250 140 150 160 170 180 190 200 210 220 230 240 "opt-dist.rat783-ls" using 2:1
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 97
instance ∆avg avgd−opt avgd−opt/n ρls lin318.tsp 3.56 67.25 0.211 0.469 rat783.tsp 4.85 204.24 0.261 0.624 pcb1173.tsp 5.91 274.34 0.234 0.585 pr2392.tsp 5.71 552.49 0.231 0.538 ∆avg: Percentage deviation from optimum avgd−opt: Average distance from optimum ρls: Correlation coefficient
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 98
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 99
8.1 7.1 6.1 5.1
0.27 0.65 0.25 0.69 0.06 0.07 0.40 0.76 0.39 0.08 0.18 0.55 0.22 0.78 0.17 0.74 0.19 0.07 0.28 0.05
.91
0.84 1 1 0.07 0.06 0.43 1.8 1 1 0.11 0.29 1 1 1
4.1 2.4 2.1 2.3 2.8 1.2 1.3 2.5 2.6 2.7 4.2 1.1 2.2 0.1 3.3 3.4 3.1 3.2 3.6 3.5
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 100
9.1 8.1 7.1 6.1 5.1
0.09 0.60 0.28 0.63 0.66 0.68 0.07 0.25 0.06 0.74 0.22 0.79 0.2 0.91 0.4 0.35 1 1 1 1 0.2 0.5 0.5 0.25 0.08 0.28
4.1 4.2 3.2 3.4 3.3 2.1 1.2 1.3 3.1 2.3 2.2 1.1 1.4 0.1
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 100b
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 101
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 102
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 103
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 104
100 200 300 400 500 600 100 1000 10000 100000 0.05 acceptance 0.01 acceptance Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 105
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 106
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 107
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 107b
utzle & Hoos 1997–2004]
utzle, Dorigo 2001]
Aguirre-Hernandez 2002–2004]
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 108
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 109
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 110
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 111
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 112
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 113
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 114
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 115
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 116
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 117
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 118
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 119
Tr
DET
RI Nov
Tn
RW
Tr Tr T Tw
w
RI Nov
Tn Tn
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 120
0.2 0.4 0.6 0.8 1 1 10 100 1000 10000 100000 1e+006 P(sat) run-time [# search steps] Novelty+(0.7,0.01) Novelty(0.7)
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 121
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 122
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 123
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 124
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 125
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 126
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 127
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 128
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 129
c∈CU 1 = #CU
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 130
Test-set GLSSAT2 Novelty+/wcs+we t = 0.1s t = 1s t = 10s t = 0.1s t = 1s t = 10s scp4 1.33 0.02 0.01 0.02 0.01 0.00 gcp-yi 11.24 0.22 0.15 0.12 0.05 0.01 lgcmp75 8.1 · 106 49.3 0.20 3.27 0.09 0.00 lgcmp100 1.1 · 106 248.82 0.25 10.02 1.39 0.51
Performance measure = median relative solution quality for fixed cut-off times
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 131
1 10 100 1000 0.1 1 10 100
run-time [CPU sec] Novelty+/wcs+we GLSSAT2
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 132
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 133
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 134
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 135
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 136
several con- struction heuristics available
sequences
transpose, exchange, insert
A B C D E F A C B D E F φ φ' A B C D E F A E C D B F φ transpose neighbourhood φ' A B C D E F A C D B E F φ exchange neighbourhood insert neighbourhood φ'
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 137
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 138
constr. no local search interchange insert heuristic ∆avg nopt tavg ∆avg nopt tavg ∆avg nopt tavg EDD 135 24 0.001 0.62 33 0.140 1.19 38 0.64 MDD 61 24 0.002 0.65 38 0.078 1.31 36 0.77 AU 21 21 0.008 0.92 28 0.040 0.56 42 0.26 constr. interchange+insert insert+interchange heuristic ∆avg nopt tavg ∆avg nopt tavg EDD 0.24 46 0.20 0.47 48 0.67 MDD 0.40 46 0.14 0.44 42 0.79 AU 0.59 46 0.10 0.21 49 0.27 ∆avg: avg. deviation from best known, nopt: # of best known candidate solutions found tavg: avg. computation in seconds on Pentium II 266MHz
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 139
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 140
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 141
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 142
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 143
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 144
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 145
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 146
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 147
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 148
100 events, 80 students, 5 rooms, 5 features; 500 trials run per instance
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 149
400 events, 200 students, 10 rooms, 5 features; 50 trials run per instance
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 150
400 events, 400 students, 10 rooms, 10 features; 20 trials run per instance
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 151
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 152
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 152b
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 153
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 154
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 155
Hoos / St¨ utzle Stochastic Local Search: Foundations and Applications (MA2) 156