heuristic optimization methods scatter search. 2 agenda scatter search (ss) –for local search...
TRANSCRIPT
Heuristic Optimization Methods
Scatter Search
2
Agenda
• Scatter Search (SS)– For Local Search based Metaheuristics:
• SA based on ideas from nature
• TS based on problem-solving and learning
– For population based Metaheuristics:• GA based on ideas from nature
• SS based on problem-solving and learning
– Nature works, but usually very slowly– Being clever is better than emulating nature?
Scatter Search:Methodology and Applications
Manuel LagunaUniversity of Colorado
Rafael MartíUniversity of Valencia
The following is a presentation previously held at the conference ICS 2003...
4
Based on …
Laguna, M. and R. Martí (2003) Scatter Search: Methodology and Implementations in C, Kluwer Academic Publishers, Boston.
Scatter Search
Methodology
6
Metaheuristic
• A metaheuristic refers to a master strategy that guides and modifies other heuristics to produce solutions beyond those that are normally generated in a quest for local optimality.
• A metaheuristic is a procedure that has the ability to escape local optimality
7
Typical Search Trajectory
0
10
20
30
40
50
60
70
80
90
100
1 4 7 10 13 16 19 22 25 28 31 34 37 40
Iteration
Ob
jec
tiv
e F
un
cti
on
Value
Best Value
8
Metaheuristic Classification
• x/y/z Classification– x = A (adaptive memory) or M (memoryless)– y = N (systematic neighborhood search) or S (random
sampling)– Z = 1 (one current solution) or P (population of
solutions)
• Some Classifications– Tabu search (A/N/1)– Genetic Algorithms (M/S/P)– Scatter Search (M/N/P)
9
Scatter SearchP
Diversification GenerationMethod
Repeat until |P| = PSize
Subset GenerationMethod
ImprovementMethod
Solution CombinationMethod
ImprovementMethod
Stop if no morenew solutions
Reference SetUpdate Method
RefSet
10
Repeat until |P| = PSize
Scatter Search with RebuildingP
Diversification GenerationMethod
Subset GenerationMethod
ImprovementMethod
Solution CombinationMethod
ImprovementMethod
No more new solutions
Reference SetUpdate Method
RefSet
Diversification GenerationMethod
ImprovementMethod
Stop if MaxIterreached
11
Tutorial
• Unconstrained Nonlinear Optimization Problem
4,,1for 1010toSubject
118.19111.10
1901100Minimize
422
42
2
23
2234
21
2212
ix
xxxx
xxxxxx
i
12
Diversification Generation Method
-10 +10-5 0 +5
Subrange 1 Subrange 2 Subrange 3 Subrange 4
Probability of selecting a subrange is proportional to a frequency count
13
Solution x1 x2 x3 x2 f(x)
1 1.11 0.85 9.48 -6.35 835546.2
2 -9.58 -6.57 -8.81 -2.27 1542078.9
3 7.42 -1.71 9.28 5.92 901878.0
4 8.83 -8.45 4.52 3.18 775470.7
5 -6.23 7.48 6 7.8 171450.5
6 1.64 3.34 -8.32 -8.66 546349.8
7 0.2 -3.64 -5.3 -7.03 114023.8
8 -3.09 6.62 -2.33 -3.12 7469.1
9 -6.08 0.67 -6.48 1.48 279099.9
10 -1.97 8.13 -5.63 8.02 54537.2
Diverse Solutions
14
Improvement MethodSolution x1 x2 x3 x2 f(x)
1 2.5 5.4 2.59 5.67 1002.7
2 -0.52 -0.5 0.35 -0.14 138.5
3 -2.6 5.9 4.23 10 7653.7
4 0.49 0.53 2.47 5.89 213.7
5 -3.04 9.45 1.14 0.41 720.1
6 -1.4 2.46 0.37 -3.94 1646.7
7 -0.36 -0.31 0.8 1.14 57.1
8 -1.63 2.51 0.73 0.56 21.5
9 -0.8 0.69 -1.16 1.5 11.2
10 -2.47 5.32 -2.92 8.15 1416.7
Nelder and Mead (1965)
15
Reference Set Update Method(Initial RefSet)
RefSet of size b
b1 high-qualitysolutions
b2 diversesolutions
Min-max criterion andEuclidean distances tomeasure diversity
Objective functionvalue to measurequality
16
Initial RefSetSolution
number in P x1 x2 x3 x4 f(x)
35 -0.0444 0.0424 1.3577 1.8047 2.1
46 1.133 1.2739 -0.6999 0.5087 3.5
34 -0.0075 0.0438 1.4783 2.2693 3.5
49 1.1803 1.4606 -0.344 0.2669 5.2
38 1.0323 0.9719 -0.8251 0.695 5.3
Solution x1 x2 x3 x4 f(x)
37 -3.4331 10 1.0756 0.3657 1104.1
30 3.8599 10 -4.0468 10 9332.4
45 -4.4942 10 3.0653 10 13706.1
83 -0.2414 -6.5307 -0.9449 -9.4168 17134.8
16 6.1626 10 0.1003 0.1103 78973.2
High-Quality Solutions
Diverse Solutions
17
Subset Generation Method
• All pairs of reference solutions that include at least one new solution
• The method generates (b2-b)/2 pairs from the initial RefSet
18
Combination Method
1 2 3 4 5 6 7 8 9 10 11 12 13
1
2
3
4
5
6
7
8
9
10
x2 = (8,4)
x1 = (5,7)
x3 = x1 - r(x2 - x1)
x4 = x1 + r(x2 - x1)
x5 = x2 + r(x2 - x1)
x4 = (6.5,5.5)r = 1/2
x5 = (11,1)r = 1
x3 = (9,7)r = 2/3
y
x
19
Alternative Combination Method
x3
1 2 3 4 5 6 7 8 9 10 11 12 13
1
2
3
4
5
6
7
8
9
10
x2 = (8,4)
x1 = (5,7)
x3 = x1 - r(x2 - x1)
x4 = x1 + r(x2 - x1)
x5 = x2 + r(x2 - x1)
y
x
x4
x5
20
Reference Set Update Method
RefSet of size b
Worst
BestQuality 1
b
2...
New trialsolution
Updated RefSet
Worst
Best1
b
2...
21
Static Update
RefSet of size b
Worst
BestQuality 1
b
2...
Pool of new trial solutions
Updated RefSet = Best b from RefSet Pool
22
RefSet after Updatex1 x2 x3 x4 f(x)
1.1383 1.2965 0.8306 0.715 0.14
0.7016 0.5297 1.2078 1.4633 0.36
0.5269 0.287 1.2645 1.6077 0.59
1.1963 1.3968 0.6801 0.446 0.62
0.3326 0.1031 1.3632 1.8311 0.99
0.3368 0.1099 1.3818 1.9389 1.02
0.3127 0.0949 1.3512 1.8589 1.03
0.7592 0.523 1.3139 1.7195 1.18
0.2004 0.0344 1.4037 1.9438 1.24
1.3892 1.9305 0.1252 -0.0152 1.45
23
Additional Strategies
• Reference Set– Rebuilding– Multi-tier
• Subset Generation– Subsets of size > 2
• Combination Method– Variable number of solutions
24
RebuildingRefSet Rebuilt RefSet
b1
b2
DiversificationGeneration Method
Reference SetUpdate Method
25
2-Tier RefSet
RefSet
b1
b2
Solution CombinationMethod
ImprovementMethod
Try here first
If it fails, thentry here
26
3-Tier RefSet
RefSet
b1
b2
Solution CombinationMethod
ImprovementMethod
Try here first
If it fails, thentry here
b3
Try departingsolution here
27
Subset Generation• Subset Type 1: all 2-element subsets.• Subset Type 2: 3-element subsets derived from the 2-
element subsets by augmenting each 2-element subset to include the best solution not in this subset.
• Subset Type 3: 4-element subsets derived from the 3-element subsets by augmenting each 3-element subset to include the best solutions not in this subset.
• Subset Type 4: the subsets consisting of the best i elements, for i = 5 to b.
28
Subsets of Size > 2
Type 1 Type 2Type 3
Type 4
LOLIB
Random0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
29
Variable Number of Solutions
RefSet of size b
Worst
BestQuality 1
b
2... Generate 5 solutions
Generate 3 solutions
Generate 1 solution
30
Hybrid Approaches
• Use of Memory– Tabu Search mechanisms for intensification and
diversification
• GRASP Constructions
• Combination Methods– GA Operators– Path Relinking
31
Multiobjective Scatter Search
• This is a fruitful research area
• Many multiobjective evolutionary approaches exist (Coello, et al. 2002)
• SS can use similar techniques developed for MOEA (multiobjective evolutionary approches)
32
Multiobjective EA Techniques
• Independent Sampling
– Search on f(x) = wi fi(x)
– Change weights and rerun
• Criterion Selection– Divide reference set into k subsets
– Admission to ith subset is according to fi(x)
33
Advanced Designs
• Reference Set Update– Dynamic / Static– 2 Tier / 3 Tier
• Subset Generation
• Use of Memory– Explicit Memory– Attributive Memory
• Path Relinking
34
An ExampleThe Linear Ordering Problem
Given a matrix of weights E = {eij}mxm, the LOP consists of finding a permutation p of the columns (and rows) in order to maximize the sum of the weights in the upper triangle
Applications Triangulation for Input-Output Economic Tables. Aggregation of individual preferences Classifications in Sports
C p eE p pj i
m
i
m
i j( )
11
1
Maximize
35
An Instance
1234
1 2 3 4
3412
3 4 1 2
p=(1,2,3,4)
cE(p)=12+5+3+2+6+9=37
0462
12035
41102
38900 12 5 3
4 0 2 6
8 3 0 9
11 4 2 0
p*=(3,4,1,2)
cE(p*)=9+8+3+11+4+12=47
36
Diversification Generator• Use of problem structure to create methods in order to
achieve a good balance between quality and diversity.• Quality
– Deterministic constructive method• Diversity
– Random Generator– Systematic Generators (Glover, 1998)
• GRASP constructions. – The method randomly selects from a short list of the most attractive sectors.
• Use of Memory– Modifying a measure of attractiveness proposed by Becker with a
frequency-based memory measure that discourages sectors from occupying positions that they have frequently occupied.
37
Diversity vs. Quality
0.0
0.2
0.4
0.6
0.8
1.0
1.2
1.4
1.6
DG05 DG04 DG02 DG01 DG09 DG08 DG06 DG03 DG07 DG10
Procedure
C
d
C+d
d = Standardized DiversityC = Standardized Quality
Compare the different generators Create a set of 100 solutions with each one
38
Improvement Method• INSERT_MOVE (pj, i) consist of deleting pj from
its current position j to be inserted in position i
• Apply a first strategy– scans the list of sectors in search for the first
sector whose movement results in an improvement
E p( )
0 12 5 3 1 8 3
6 0 3 6 4 4 2
8 5 0 5 7 0 3
2 7 2 0 3 6 0
8 0 3 1 0 4 1
9 1 6 2 13 0 4
2 9 4 5 8 1 0
MoveValue = CE(p’) - CE(p)
CE (p’) = 78 + (1 - 4) + (6 - 0) + (2 - 6) + (13 - 4) = 78 + 8 = 86
39
Solution Combination Method• The method scans (from left to right) each reference
permutation.– Each reference permutation votes for its first element that is still
not included in the combined permutation (“incipient element”).
– The voting determines the next element to enter the first still unassigned position of the combined permutation.
– The vote of a given reference solution is weighted according to the incipient element’s position.
Incipient element (3,1,4,2,5) votes for 4 Solution under construction: (1,4,3,5,2) votes for 4 (3,1,2,4,_ ) (2,1,3,5,4) votes for 5
40
Experiments with LOLIB
GD CK CK10 TS SSOptima deviation
0.15%
0.15% 0.02% 0.04% 0.01%
Number of optima
11 11 27 33 42
Run time (seconds)
0.01 0.10 1.06 0.49 2.35
49 Input-Output Economic Tables
41
Another ExampleA commercial SS implementation
OptimizationProcedure
Input
Output
SystemEvaluator
OptQuest Callable Library (by OptTek) As other context-independent methods separates the
method and the evaluation.
42
OptQuest based Applications
User-writtenApplication
OptQuestCallable Library
SystemEvaluator
Solution Generator
Solution Evaluator
43
Feasibility and Evaluation
ConstraintMapping
Complex SystemEvaluator
PenaltyFunction
x x*F(x*)
G(x*)P(x*)
The OptQuest enginegenerates a new solution
User Implementation
Returns to OptQuest
44
Comparison with Genocop
• Average on 28 hard nonlinear instances
1.0E+03
1.0E+04
1.0E+05
1.0E+06
1.0E+07
1.0E+08
1.0E+09
1.0E+10
1.0E+11
1.0E+12
1.0E+13
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Evaluations
Aver
age
ob
ject
ive
fun
ctio
n v
alu
e
(Logari
thm
ic s
cale
)
Genocop
OCL
1.0E+03
1.0E+04
1.0E+05
1.0E+06
1.0E+07
1.0E+08
1.0E+09
1.0E+10
1.0E+11
1.0E+12
1.0E+13
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Evaluations
Aver
age
ob
ject
ive
fun
ctio
n v
alu
e
(Logari
thm
ic s
cale
)
Genocop
OCL
45
Conclusions
• The development of metaheuristics usually entails a fair amount of experimentation (“skill comes from practice”).
• Code objectives:– Quick Start– Benchmark – Advanced Designs
• Scatter Search provides a flexible “framework” to develop solving methods.
46
Metaheuristic Classification
• x/y/z Classification– x = A (adaptive memory) or M (memoryless)– y = N (systematic neighborhood search) or S (random
sampling)– Z = 1 (one current solution) or P (population of
solutions)
• Some Classifications– Tabu search (A/N/1)– Genetic Algorithms (M/S/P)– Scatter Search (M/N/P)
47
Some Classifications
Simulated AnnealingM/S/1
Tabu SearchA/N/1
Genetic AlgorithmM/S/P
Scatter SearchM/N/P
(randomized) (systematic)
(local search)
(population)
48
About the Classifications• Our four main methods (SA, TS, GA, SS) all belong
far from the center (they are very randomized or very systematic)
• Other methods have both some element of randomized and some element of systematic behaviour
• Most implementations will mix the ingredients, and we have an element of local search in population based methods (e.g., Memetic Algorithms), or an element of randomness in systematic approaches (such as random tabu tenure in TS)
• The classifications highlight the differences between methods, but there are also many similarities
49
GA vs. SS (1)• GA has a ”long” history: proposed in the 1970s,
and immediately becoming popular– Not initially used for optimization– Gradually morphed into a metodology whose major
concern is the solution of optimization problems
• The concepts and principles of SS was also proposed early (1970s), but was not popularized until the 1990s– The SS template most often used is from 1998– Propsed to solve Integer Programming problems
50
GA vs. SS (2)
• GA is based on natural processes (genetics, the ”survival of the fittest”, and imitation of the nature)
• SS is based on strategic ideas for how to use adaptive memory– Some TS concepts are critically linked with SS
51
GA vs. SS (3)
• Diversification– GA: mutation– SS: favoring diverse solutions in the reference set,
and generating diverse solutions in the initialization
• Intensification– GA: probabilistic selection of parents, favoring the
fittest parents (but this is not really very intensifying)
– SS: the improvement method
52
GA vs. SS (4)
• GA has a population that is usually 10x larger than the reference set in SS
• GA applies operators (mutation, crossover) to random solutions, SS applies operators (combination, improvement) non-randomly
• Evolution in GA follows random ”survival of the fittest”, in SS there are deterministic rules in the reference set update method
53
GA vs. SS (5)
• Use of Local Search (improvement) is an integral part of SS, but added to GA only to create hybrid/improved approaches
• GA usually limited to combine only a pair of solutions (parents), while SS allows combination of any number of solutions
• GA uses full randomization to create initial population, while SS balances diversity and quality (diversification generation method)
54
Summary of Todays’s Lecture
• Scatter Search– M/N/P (memoryless, systematic ”neighborhood”,
population of solutions)
• Components of Scatter Search:– Diversification Generation– Improvement– Reference Set Update– Subset Generation– Solution Combination