Heuristic Optimization Methods

54
Heuristic Optimization Methods Scatter Search

description

Heuristic Optimization Methods. Scatter Search. 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 - PowerPoint PPT Presentation

Transcript of Heuristic Optimization Methods

Page 1: Heuristic Optimization Methods

Heuristic Optimization Methods

Scatter Search

Page 2: Heuristic Optimization Methods

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?

Page 3: Heuristic Optimization Methods

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...

Page 4: Heuristic Optimization Methods

4

Based on …

Laguna, M. and R. Martí (2003) Scatter Search: Methodology and Implementations in C, Kluwer Academic Publishers, Boston.

Page 5: Heuristic Optimization Methods

Scatter Search

Methodology

Page 6: Heuristic Optimization Methods

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

Page 7: Heuristic Optimization Methods

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

Page 8: Heuristic Optimization Methods

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)

Page 9: Heuristic Optimization Methods

9

Scatter SearchP

Diversification GenerationMethod

Repeat until |P| = PSize

Subset GenerationMethod

ImprovementMethod

Solution CombinationMethod

ImprovementMethod

Stop if no morenew solutions

Reference SetUpdate Method

RefSet

Page 10: Heuristic Optimization Methods

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

Page 11: Heuristic Optimization Methods

11

Tutorial

• Unconstrained Nonlinear Optimization Problem

4,,1for 1010toSubject

118.19111.10

1901100Minimize

422

42

2

23

2234

21

2212

ix

xxxx

xxxxxx

i

Page 12: Heuristic Optimization Methods

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

Page 13: Heuristic Optimization Methods

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

Page 14: Heuristic Optimization Methods

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)

Page 15: Heuristic Optimization Methods

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

Page 16: Heuristic Optimization Methods

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

Page 17: Heuristic Optimization Methods

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

Page 18: Heuristic Optimization Methods

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

Page 19: Heuristic Optimization Methods

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

Page 20: Heuristic Optimization Methods

20

Reference Set Update Method

RefSet of size b

Worst

BestQuality 1

b

2...

New trialsolution

Updated RefSet

Worst

Best1

b

2...

Page 21: Heuristic Optimization Methods

21

Static Update

RefSet of size b

Worst

BestQuality 1

b

2...

Pool of new trial solutions

Updated RefSet = Best b from RefSet Pool

Page 22: Heuristic Optimization Methods

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

Page 23: Heuristic Optimization Methods

23

Additional Strategies

• Reference Set– Rebuilding– Multi-tier

• Subset Generation– Subsets of size > 2

• Combination Method– Variable number of solutions

Page 24: Heuristic Optimization Methods

24

RebuildingRefSet Rebuilt RefSet

b1

b2

DiversificationGeneration Method

Reference SetUpdate Method

Page 25: Heuristic Optimization Methods

25

2-Tier RefSet

RefSet

b1

b2

Solution CombinationMethod

ImprovementMethod

Try here first

If it fails, thentry here

Page 26: Heuristic Optimization Methods

26

3-Tier RefSet

RefSet

b1

b2

Solution CombinationMethod

ImprovementMethod

Try here first

If it fails, thentry here

b3

Try departingsolution here

Page 27: Heuristic Optimization Methods

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.

Page 28: Heuristic Optimization Methods

28

Subsets of Size > 2

Type 1 Type 2Type 3

Type 4

LOLIB

Random0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

Page 29: Heuristic Optimization Methods

29

Variable Number of Solutions

RefSet of size b

Worst

BestQuality 1

b

2... Generate 5 solutions

Generate 3 solutions

Generate 1 solution

Page 30: Heuristic Optimization Methods

30

Hybrid Approaches

• Use of Memory– Tabu Search mechanisms for intensification and

diversification

• GRASP Constructions

• Combination Methods– GA Operators– Path Relinking

Page 31: Heuristic Optimization Methods

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)

Page 32: Heuristic Optimization Methods

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)

Page 33: Heuristic Optimization Methods

33

Advanced Designs

• Reference Set Update– Dynamic / Static– 2 Tier / 3 Tier

• Subset Generation

• Use of Memory– Explicit Memory– Attributive Memory

• Path Relinking

Page 34: Heuristic Optimization Methods

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

Page 35: Heuristic Optimization Methods

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

Page 36: Heuristic Optimization Methods

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.

Page 37: Heuristic Optimization Methods

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

Page 38: Heuristic Optimization Methods

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

Page 39: Heuristic Optimization Methods

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

Page 40: Heuristic Optimization Methods

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

Page 41: Heuristic Optimization Methods

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.

Page 42: Heuristic Optimization Methods

42

OptQuest based Applications

User-writtenApplication

OptQuestCallable Library

SystemEvaluator

Solution Generator

Solution Evaluator

Page 43: Heuristic Optimization Methods

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

Page 44: Heuristic Optimization Methods

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

Page 45: Heuristic Optimization Methods

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.

Page 46: Heuristic Optimization 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)

Page 47: Heuristic Optimization Methods

47

Some Classifications

Simulated AnnealingM/S/1

Tabu SearchA/N/1

Genetic AlgorithmM/S/P

Scatter SearchM/N/P

(randomized) (systematic)

(local search)

(population)

Page 48: Heuristic Optimization Methods

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

Page 49: Heuristic Optimization Methods

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

Page 50: Heuristic Optimization Methods

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

Page 51: Heuristic Optimization Methods

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

Page 52: Heuristic Optimization Methods

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

Page 53: Heuristic Optimization Methods

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)

Page 54: Heuristic Optimization Methods

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