neighbourhood methods, and local search (with special ... · variable depth search • make a...

99
1 COMP8620 Lecture 5-6 Neighbourhood Methods, and Local Search (with special emphasis on TSP)

Upload: others

Post on 18-Apr-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

1

COMP8620

Lecture 5-6

Neighbourhood Methods, and Local Search

(with special emphasis on TSP)

Page 2: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

2

Assignment

http://users.rsise.anu.edu.au/~pjk/teaching

• “Project 1”

Page 3: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

3

Neighbourhood

• For each solution S ∈ SSSS, NNNN(S) ⊆ SSSS

is a neighbourhood

• In some sense each T ∈ NNNN(S) is in some

sense “close” to S

• Defined in terms of some operation

• Very like the “action” in search

Page 4: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

4

Neighbourhood

Exchange neighbourhood:Exchange k things in a sequence or partition

Examples:

• Knapsack problem: exchange k1 things inside the bag with k2 not in. (for ki, k2 = {0, 1, 2, 3})

• Matching problem: exchange one marriage for another

Page 5: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

5

2-opt Exchange

Page 6: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

6

2-opt Exchange

Page 7: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

7

2-opt Exchange

Page 8: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

8

2-opt Exchange

Page 9: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

9

2-opt Exchange

Page 10: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

10

2-opt Exchange

Page 11: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

11

3-opt exchange

• Select three arcs

• Replace with three others

• 2 orientations possible

Page 12: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

12

3-opt exchange

Page 13: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

13

3-opt exchange

Page 14: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

14

3-opt exchange

Page 15: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

15

3-opt exchange

Page 16: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

16

3-opt exchange

Page 17: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

17

3-opt exchange

Page 18: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

18

3-opt exchange

Page 19: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

19

3-opt exchange

Page 20: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

20

3-opt exchange

Page 21: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

21

3-opt exchange

Page 22: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

22

3-opt exchange

Page 23: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

23

Neighbourhood

Strongly connected:

• Any solution can be reached from any other(e.g. 2-opt)

Weakly optimally connected

• The optimum can be reached from any starting solution

Page 24: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

24

Neighbourhood

• Hard constraints create solution impenetrable mountain ranges

• Soft constraints allow passes through the mountains

• E.g. Map Colouring (k-colouring)– Colour a map (graph) so that no two adjacent

countries (nodes) are the same colour

– Use at most k colours

– Minimize number of colours

Page 25: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

25

Map Colouring

Starting solTwo optimal solutions

Define neighbourhood as: Change the colour of at most one vertex

?

Make k-colour constraint soft…

Page 26: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

26

Iterative Improvement

1. Find initial (incumbent) solution S

2. Find T ∈ NNNN(S) which minimises objective

3. If z(T) ≥ z(S)

Stop

Else

S = T

Goto 2

Page 27: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

27

Iterative Improvement

• Best First (a.k.a Greedy Hill-climbing, Discrete Gradient Ascent)– Requires entire neighbourhood to be

evaluated

– Often uses randomness to split ties

• First Found– Randomise neighbourhood exploration

– Implement first improving change

Page 28: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

28

Local Minimum

• Iterative improvement will stop at a local minimum

• Local minimum is not necessarily a global minimum

How do you escape a local minimum?

Page 29: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

29

Restart

• Find initial solution using (random) procedure

• Perform Iterative Improvement

• Repeat, saving best

• Remarkably effective• Used in conjunction with many

other meta-heuristics

Page 30: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

30

• Results from SAT

Page 31: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

31

Variable Depth Search

• Make a series of moves

• Not all moves are cost-decreasing

• Ensure that a move does not reverse previous move

• Very successful VDS: Lin-Kernighan algorithm for TSP (1973)(Originally proposed for Graph Partitioning Problem (1970))

Page 32: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

32

Lin-Kernighan (1973) – δ-path

u v

u v

w

u v

w v’

u v

w v’w’

Page 33: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

33

Lin-Kernighan (1973)

• Essentially a series of 2-opt style moves

• Find best δ-path

• Partially implement the path

• Repeat until no more paths can be constructed

• If arc has been added (deleted) it cannot be deleted (added)

• Implement best if cost is less than original

Page 34: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

34

Dynasearch

• Requires all changes to be independent

• Requires objective change to be cummulative

• e.g. A set of 2-opt changes were no two swaps touched the same section of tour

• Finds best combination of exchanges– Exponential in worst case

Page 35: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

35

Variable Neighbourhood Search

• Large Neighbourhoods are expensive

• Small neighbourhoods are less effective

Only search larger neighbourhood when smaller is exhausted

Page 36: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

36

Variable Neighbourhood Search

• m Neighbourhoods Ni

• |N1| < |N2| < |N3| < … < |Nm|

1. Find initial sol S ; best = z (S)

2. k = 1;

3. Search Nk(S) to find best sol T

4. If z(T) < z(S)

S = T

k = 1

else

k = k+1

Page 37: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

37

Large Neighbourhood Search

• Partial restart heuristic

1. Create initial solution

2. Remove a part of the solution

3. Complete the solution as per step 1

4. Repeat, saving best

Page 38: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

38

LNS – Construct

Page 39: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

39

LNS – Construct

Page 40: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

40

LNS – Construct

Page 41: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

41

LNS – Construct

Page 42: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

42

LNS – Construct

Page 43: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

43

LNS – Construct

Page 44: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

44

LNS – Construct

Page 45: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

45

LNS – Construct

Page 46: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

46

LNS – Construct

Page 47: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

47

LNS – Construct

Page 48: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

48

LNS – Construct

Page 49: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

49

LNS – Destroy

Page 50: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

50

LNS – Destroy

Page 51: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

51

LNS – Destroy

Page 52: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

52

LNS – Destroy

Page 53: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

53

LNS – Construct

Page 54: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

54

LNS – Construct

Page 55: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

55

LNS

• The magic is choosing which part of the solution to destroy

• Different problems (and different instances) need different heuristic

Page 56: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

56

Speeding Up 2/3-opt

• For each node, store k nearest neighbours

• Only link nodes if they appear on list

• k = 20 does not hurt performance much

• k = 40 0.2% better

• k = 80 was worse

• FD-trees to help initialise

Page 57: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

57

Advanced Stochastic Local Search

• Simulated Annealing

• Tabu Search

• Genetic algorithms

• Ant Colony optimization

Page 58: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

58

Simulated Annealing

• Kirkpatrick, Gelatt & Vecchi [1983]

• Always accept improvement in obj

• Sometimes accept increase in obj

P(accept increase of ∆) = e ∆/T

• T is temperature of system

• Update T according to “cooling schedule”

• (T = 0) == Greedy Iterative Improvement

Page 59: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

59

Simulated Annealing

• Nice theoretical result:

As number of iters � ∞, probability of finding the optimal solution � 1

• Experimental confirmation: On many problem, long runs yield good results

• Weak optimal connection required

Page 60: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

60

Simulated Annealing

1. Generate initial S

2. Generate random T ∈ NNNN(S)

3. ∆ = z (T) – z (S)

4. if ∆ < 0

S = T ; goto 2

5. if rand() < e ∆/T

S = T ; goto 2

Page 61: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

61

Simulated Annealing

Initial T

• Set equal to max [acceptable] ∆

Updating T

• Geometric update: Tk+1 = α Tk

• α usually in [0.9, 0.999]

Don’t want too many changes at one temperature

(too hot):

If (numChangesThisT > maxChangesThisT)

updateT()

Page 62: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

62

Simulated Annealing

Updating T

• Many other update schemes• Sophisticated ones look at mean, std-dev of ∆

Re-boil (== Restart)• Re-initialise T

0-cost changes

• Handle randomly

Adaptive parameters• If you keep falling into the same local minimum,

maxChangesThisT *= 2, orinitialT *= 2

Page 63: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

63

Tabu Search

• Glover [1986]

• Some similarities with VDS

• Allow cost-increasing moves

• Selects best move in neighbourhood

• Ensure that solutions don’t cycle by making return to previous solution “tabu”

• Effectively a modified neighbourhood

• Maintains more memory than just best sol

Page 64: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

64

Tabu Search

Theoretical result (also applies to SA):

• As k � ∞ P(find yourself at an optimal sol) gets larger relative to other solutions

Page 65: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

65

Tabu Search

Basic Tabu Search:

1. Generate initial solution S, S* = S

2. Find best T ∈NNNN(S)

3. If z(T) ≥ z(S)

Add T to tabu list

4 S = T

5 if z(S) < z(S*) then S* = S

6 if stopping condition not met, goto 2

Page 66: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

66

Tabu Search

Tabu List:

• List of solutions cannot be revisited

Tabu Tenure

• The length of time a solution remains tabu

• = length of tabu list

• Tabu tenure t ensures no cycle of length t

Page 67: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

67

Tabu Search

Difficult/expensive to store whole solution

• Instead, store the “move” (delta between S and T)

• Make inverse move tabu– e.g. 2-opt adds 2 new arcs to solution

– Make deletion of both(?) tabu

But

• Cycle of length t now possible

• Some non-repeated states tabu

Page 68: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

68

Tabu Search

Tabu List:

• List of moves that cannot be undone

Tabu Tenure

• The length of time a move remains tabu

Stopping criteria

• No improvement for <param> iterations

• Others…

Page 69: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

69

Tabu Search

• Diversification– Make sure whole solution space is sampled

– Don’t get trapped in small area

• Intensification– Search attractive areas well

• Aspiration Criteria– Ignore Tabu restrictions if very attractive (and

can’t cycle)

– e.g.: z(T) < best

Page 70: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

70

Tabu Search

• Diversification

– Penalise solutions near observed local minima

– Penalise solution features that appear often

– Penalties can “fill the hole” near a local min

• Intensification

– Reward solutions near observed local minima

– Reward solution features that appear often

• Use z'(S) = z(S) + penalties

Page 71: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

71

Tabu Search – TSP

• TSP Diversification– Penalise (pred,succ) pairs seen in local

minima

• TSP Intensification– Reward (pred,succ) pairs seen in local

minima

• z'(S) = z(S) + Σij wijcount(i,j)– count(i,j): how many times have we seen (i,j)

– wij: weight depending on diversify/intensify cycle

Page 72: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

72

Adaptive Tabu Search

• If t (tenure) to small, we will return to the same local min

• Adaptively modify t

– If we see the same local min, increase t

– When we see evidence that local min

escaped (e.g. improved sol), lower t

• … my current favourite

Page 73: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

73

Tabu Search

1. Generate initial solution S ; S* = S

2. Generate V* ⊆ NNNN(S)

– Not tabu, or meets aspiration criterea

3. Find T ∈V* which minimises z'

4. S = T

5. if z(S) < z(S*) then S* = S

6. Update tabu list, aspiration criterea, t

7. if stopping condition not met, goto 2

Page 74: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

74

Path Relinking

Basic idea:

• Given 2 good solutions, perhaps a better solution lies somewhere in-between

• Try to combine “good features” from two solutions

• Gradually convert one solution to the other

Page 75: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

75

Path Re-linking

TSP: 1 2 3 4 5 6

1 2 3 5 6 4

1 3 2 5 6 4

1 3 5 2 6 4

1 3 5 6 4 21 3 5 6 4 2

Page 76: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

76

Genetic Algorithms

• Simulated Annealing and Tabu Search have a single “incumbent” solution(plus best-found)

• Genetic Algorithms are “population-based”heuristics – solution population maintained

Page 77: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

77

Genetic Algorithms

• Problems are solved by an evolutionary process resulting in a best (fittest) solution (survivor).

• Evolutionary Computing – 1960s by I. Rechenberg

• Genetic Algorithms– Invented by John Holland 1975

– Made popular by John Koza 1992

• Nature solves some pretty tough questions –let’s use the same method

…begs the question… if homo sapien is

the answer, what was the question??

Page 78: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

78

Genetic Algorithms

Vocabulary

• Gene – An encoding of a single part of the solution space (often binary)

• Genotype – Coding of a solution

• Phenotype – The corresponding solution

• Chromosome – A string of “Genes” that represents an individual – i.e. a solution.

• Population - The number of “Chromosomes” available to test

Page 79: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

79

VocabularyGenotype: coded solutionsPhenotype: actual solutions

Measure fitness

10011101000001

0011110

00101011111111

Search space Solution space

Note: in some evolutionary algorithms there is no cleardistinction between genotype and phenotype

Genotypes Phenotypes

78

64

30

21

127

Page 80: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

80

Vocabulary

Ind iv idua l (C hrom osom e)

1 0 0 0 0 0 1 1

G ene Locus (pos ition )

Biology Computation

Chromosome or

individual

Bitstring that represents a candidate solution

Gene A single bit (or a block of bits, in some cases)

Crossover Random exchange of genetic material between chromosomes

Mutation Random change of a certain bit in a chromosome

Genotype Bit configuration of a chromosome

Phenotype Solution decoded from a chromosome

Page 81: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

81

Crossover

1 0 0 0 1 1 1 0

1 1 0 1 0 0 1 1

Parentchrom osom e 1

Parentchrom osom e 2

Offspringchrom osom e 1

Offspringchrom osom e 2

Crossover point

1 0 0 0 0 0 1 1

1 1 0 1 1 1 1 0

Single-point crossover

Page 82: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

82

Mutation

• Alter each gene independently with a prob pm

(mutation rate)

• 1/pop_size < pm < 1/ chromosome_length

1 0 0 0 1 1 1 0 O rig ina lch rom osom e

M u ta tedch rom osom e

B it to be m u ta te d

1 0 0 0 0 1 1 0

S ing le-po in t m u ta tion

Page 83: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

83

Reproduction

• Chromosomes are selected to crossover and produce offspring

• Obey the law of Darwin: Best survive and create offspring.

• Roulette-wheel selection

• Tournament Selection

• Rank selection

• Steady state selection

Page 84: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

84

Roulette Wheel Selection

2Chr. 3

1Chr. 2

3Chr. 1

Fitness

P(select)Chr. 1

Chr. 2

Chr. 3

Main idea: better individuals get higher chance– Chances proportional to fitness

– Assign to each individual a part of the roulette wheel– Spin the wheel n times to select n individuals

Page 85: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

85

Tournament Selection

• Tournament competition among N individuals (N=2) are held at random.

• The highest fitness value is the winner.

• Tournament is repeated until the mating pool for generating new offspring is filled.

Page 86: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

86

Rank Selection

• Roulette-wheel has problem when the fitness value differ greatly

• In rank selection the

– worst value has fitness 1,

– the next 2,......,

– best has fitness N.

Page 87: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

87

Rank Selection vs Roulette

P(accept) P(accept)2%

5%

8%

10%

75%

Roulette Wheel Rank

7%

13%

20%

27%

33%

Page 88: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

88

Crossover

• Single –site crossover

• Multi-point crossover

• Uniform crossover

Page 89: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

89

Single-site

• Choose a random point on the two parents

• Split parents at this crossover point

• Create children by exchanging tails

• Pc typically in range (0.6, 0.9)

Page 90: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

90

n-point crossover

• Choose n random crossover points

• Split along those points

• Glue parts, alternating between parents

• Generalisation of 1 point (still some positional

bias)

Page 91: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

91

Uniform crossover

• Assign 'heads' to one parent, 'tails' to the other

• Flip a coin for each gene of the first child

• Make an inverse copy for the second child

• Inheritance is independent of position

Page 92: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

92

Genetic Algorithm

Page 93: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

93

Memetic Algorithm

• Memetic Algorithm = Genetic Algorithm +Local Search

• E.g.:

– LS after mutation

– LS after crossover

Page 94: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

94

Demo

• http://www.rennard.org/alife/english/gavintrgb.html

Page 95: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

95

Ant Colony Optimization

• Another “Biological Analogue”

• Observation: Ants are very simple creatures, but can achieve complex behaviours

• Use pheromones to communicate

Page 96: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

96

Ant Colony Optimization

• Ant leaves a pheromone trail

• Trails influence subsequent ants

• Trails evaporate over time

• E.g. in TSP

– Shorter Tours leave more pheromone

– Evaporation helps avoid premature

intensification

Page 97: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

97

ACO for TSP

• pk(i,j) is prob. moving from i to j at iter k

• α, β parameters

= ∑∈

otherwise0

),( if][][

][][

),( ,,

,,

i

Nh

hi

k

hi

ji

k

ji

k

Njic

c

jipi

βα

βα

τ

τ

Page 98: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

98

ACO for TSP

• Pheromone trail evaporates at rate ρ

• Phermone added proportional to tour quality

ij

kkt

ijijτρττ ∆+= − )(1

=∆

otherwise 0

tour ),(if ,

jiL

Q

k

k

jiτ

Page 99: Neighbourhood Methods, and Local Search (with special ... · Variable Depth Search • Make a series of moves • Not all moves are cost-decreasing • Ensure that a move does not

99

References

• Emile Aarts and Jan Karel Lenstra (Eds), Local Search in Combinatorial Optimisation Princeton University Press, Princeton NJ, 2003

• Holger H. Hoos and Thomas Stützle, Stochastic Local Search, Foundations and Applications, Elsevier, 2005