81
CZECH TECHNICAL UNIVERSITY IN PRAGUE Faculty of Electrical Engineering Department of Cybernetics P. Poˇ ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 1 / 40 A4M33EOA Optimization. Local Search. Evolutionary methods. Petr Poˇ ık Czech Technical University in Prague Faculty of Electrical Engineering Department of Cybernetics

A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

CZECH TECHNICAL UNIVERSITY IN PRAGUE

Faculty of Electrical Engineering

Department of Cybernetics

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 1 / 40

A4M33EOA

Optimization. Local Search. Evolutionary methods.

Petr Posık

Czech Technical University in Prague

Faculty of Electrical Engineering

Department of Cybernetics

Page 2: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Course Introduction

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 2 / 40

Page 3: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

What is this course about?

Course Introduction

• Course

Revision

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40

Problem solving by means of evolutionary algorithms, especially for hard problemswhere

n no low-cost, analytic and complete solution is known.

Page 4: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

What is this course about?

Course Introduction

• Course

Revision

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40

Problem solving by means of evolutionary algorithms, especially for hard problemswhere

n no low-cost, analytic and complete solution is known.

What makes ’hard problems’ hard?

1. Barriers inside the people solving the problem.

n Insufficient equipment (money, knowledge, . . . )

n Psychological barriers (insufficient abstraction or intuition ability, ‘fossilization’,influence of ideology or religion, . . . )

Page 5: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

What is this course about?

Course Introduction

• Course

Revision

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40

Problem solving by means of evolutionary algorithms, especially for hard problemswhere

n no low-cost, analytic and complete solution is known.

What makes ’hard problems’ hard?

1. Barriers inside the people solving the problem.

n Insufficient equipment (money, knowledge, . . . )

n Psychological barriers (insufficient abstraction or intuition ability, ‘fossilization’,influence of ideology or religion, . . . )

2. Number of possible solutions grows very quickly with the problem size.

n Complete enumeration intractable

Page 6: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

What is this course about?

Course Introduction

• Course

Revision

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40

Problem solving by means of evolutionary algorithms, especially for hard problemswhere

n no low-cost, analytic and complete solution is known.

What makes ’hard problems’ hard?

1. Barriers inside the people solving the problem.

n Insufficient equipment (money, knowledge, . . . )

n Psychological barriers (insufficient abstraction or intuition ability, ‘fossilization’,influence of ideology or religion, . . . )

2. Number of possible solutions grows very quickly with the problem size.

n Complete enumeration intractable

3. The goal must fulfill some constraints.

n Constraints make the problem much more complex, sometimes it is very hard tofind any feasible solution.

Page 7: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

What is this course about?

Course Introduction

• Course

Revision

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40

Problem solving by means of evolutionary algorithms, especially for hard problemswhere

n no low-cost, analytic and complete solution is known.

What makes ’hard problems’ hard?

1. Barriers inside the people solving the problem.

n Insufficient equipment (money, knowledge, . . . )

n Psychological barriers (insufficient abstraction or intuition ability, ‘fossilization’,influence of ideology or religion, . . . )

2. Number of possible solutions grows very quickly with the problem size.

n Complete enumeration intractable

3. The goal must fulfill some constraints.

n Constraints make the problem much more complex, sometimes it is very hard tofind any feasible solution.

4. Two or more antagonistic goals.

n It is not possible to improve one without compromising the other.

Page 8: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

What is this course about?

Course Introduction

• Course

Revision

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40

Problem solving by means of evolutionary algorithms, especially for hard problemswhere

n no low-cost, analytic and complete solution is known.

What makes ’hard problems’ hard?

1. Barriers inside the people solving the problem.

n Insufficient equipment (money, knowledge, . . . )

n Psychological barriers (insufficient abstraction or intuition ability, ‘fossilization’,influence of ideology or religion, . . . )

2. Number of possible solutions grows very quickly with the problem size.

n Complete enumeration intractable

3. The goal must fulfill some constraints.

n Constraints make the problem much more complex, sometimes it is very hard tofind any feasible solution.

4. Two or more antagonistic goals.

n It is not possible to improve one without compromising the other.

5. The goal is noisy or time dependent.

n The solution process must be repeated over and over.

n Averaging to deal with noise.

Page 9: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Contents

Course Introduction

• Course

Revision

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 4 / 40

n Prerequisities: Revision

n Local search

n Evolutionary algorithms

Page 10: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Revision

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 5 / 40

Page 11: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Question you should be able to answer right now

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 6 / 40

n What is optimization? Give some examples of optimization tasks.

Page 12: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Question you should be able to answer right now

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 6 / 40

n What is optimization? Give some examples of optimization tasks.

n In what courses did you meet optimization?

Page 13: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Question you should be able to answer right now

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 6 / 40

n What is optimization? Give some examples of optimization tasks.

n In what courses did you meet optimization?

n What sorts of optimization tasks do you know? What are their characteristics?

Page 14: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Question you should be able to answer right now

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 6 / 40

n What is optimization? Give some examples of optimization tasks.

n In what courses did you meet optimization?

n What sorts of optimization tasks do you know? What are their characteristics?

n What is the difference between exact methods and heuristics?

Page 15: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Question you should be able to answer right now

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 6 / 40

n What is optimization? Give some examples of optimization tasks.

n In what courses did you meet optimization?

n What sorts of optimization tasks do you know? What are their characteristics?

n What is the difference between exact methods and heuristics?

n What is the difference between constructive and improving (generative, perturbative)methods?

Page 16: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Question you should be able to answer right now

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 6 / 40

n What is optimization? Give some examples of optimization tasks.

n In what courses did you meet optimization?

n What sorts of optimization tasks do you know? What are their characteristics?

n What is the difference between exact methods and heuristics?

n What is the difference between constructive and improving (generative, perturbative)methods?

n What is the black-box optimization? What can you do to solve such problems?

Page 17: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Question you should be able to answer right now

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 6 / 40

n What is optimization? Give some examples of optimization tasks.

n In what courses did you meet optimization?

n What sorts of optimization tasks do you know? What are their characteristics?

n What is the difference between exact methods and heuristics?

n What is the difference between constructive and improving (generative, perturbative)methods?

n What is the black-box optimization? What can you do to solve such problems?

n What is the difference between local and global search?

Page 18: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Question you should be able to answer right now

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 6 / 40

n What is optimization? Give some examples of optimization tasks.

n In what courses did you meet optimization?

n What sorts of optimization tasks do you know? What are their characteristics?

n What is the difference between exact methods and heuristics?

n What is the difference between constructive and improving (generative, perturbative)methods?

n What is the black-box optimization? What can you do to solve such problems?

n What is the difference between local and global search?

(Skip the rest of this sectionif you know the answers to the above questions.)

Page 19: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Optimization problems: definition

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 7 / 40

Among all possible objects x ∈ F ⊂ S , we want to determine such an object xOPT thatoptimizes (minimizes) the function f :

xOPT = arg minx∈F⊂S

f (x), (1)

where

n S is the search space (of all possible candidate solutions),

n F is the space of all feasible solutions (which satisfy all constraints), and

n f is the objective function which measures the quality of a candidate solution x.

Page 20: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Optimization problems: definition

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 7 / 40

Among all possible objects x ∈ F ⊂ S , we want to determine such an object xOPT thatoptimizes (minimizes) the function f :

xOPT = arg minx∈F⊂S

f (x), (1)

where

n S is the search space (of all possible candidate solutions),

n F is the space of all feasible solutions (which satisfy all constraints), and

n f is the objective function which measures the quality of a candidate solution x.

The task can be written in a different format, e.g.: minimize f (x)

subject to x ∈ F

Page 21: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Optimization problems: definition

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 7 / 40

Among all possible objects x ∈ F ⊂ S , we want to determine such an object xOPT thatoptimizes (minimizes) the function f :

xOPT = arg minx∈F⊂S

f (x), (1)

where

n S is the search space (of all possible candidate solutions),

n F is the space of all feasible solutions (which satisfy all constraints), and

n f is the objective function which measures the quality of a candidate solution x.

The task can be written in a different format, e.g.: minimize f (x)

subject to x ∈ F

The representation of a solution is

n a data structure that holds the variables manipulated during optimization, and

n induces the search space S .

Page 22: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Optimization problems: definition

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 7 / 40

Among all possible objects x ∈ F ⊂ S , we want to determine such an object xOPT thatoptimizes (minimizes) the function f :

xOPT = arg minx∈F⊂S

f (x), (1)

where

n S is the search space (of all possible candidate solutions),

n F is the space of all feasible solutions (which satisfy all constraints), and

n f is the objective function which measures the quality of a candidate solution x.

The task can be written in a different format, e.g.: minimize f (x)

subject to x ∈ F

The representation of a solution is

n a data structure that holds the variables manipulated during optimization, and

n induces the search space S .

The constraints then define the feasible part F of the search space S .

Page 23: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Optimization problems: definition

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 7 / 40

Among all possible objects x ∈ F ⊂ S , we want to determine such an object xOPT thatoptimizes (minimizes) the function f :

xOPT = arg minx∈F⊂S

f (x), (1)

where

n S is the search space (of all possible candidate solutions),

n F is the space of all feasible solutions (which satisfy all constraints), and

n f is the objective function which measures the quality of a candidate solution x.

The task can be written in a different format, e.g.: minimize f (x)

subject to x ∈ F

The representation of a solution is

n a data structure that holds the variables manipulated during optimization, and

n induces the search space S .

The constraints then define the feasible part F of the search space S .

The optimization criterion (aka objective or evaluation function) f

n must “understand” the representation, and adds the meaning (semantics) to it.

n It is a measure of the solution quality.

n It is not always defined analytically, it may be a result of a simulation or experiment,it may be a subjective human judgement, . . .

Page 24: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Representation

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 8 / 40

Representation is a data structure holding the characteristics of a candidate solution, i.e.its tunable variables. Very often this is

n a vector of real numbers,

n a binary string,

n a permutation of integers,

n a matrix,

but it can also be (or be interpreted as)

n a graph, a tree,

n a schedule,

n an image,

n a finite automaton,

n a set of rules,

n a blueprint of certain device,

n . . .

Page 25: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Features of optimization problems

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 9 / 40

n Discrete (combinatorial) vs. continuous vs. mixed optimization.

n Constrained vs. unconstrained optimization.

n None (feasibility problems) vs. single vs. many objectives.

n Deterministic vs. stochastic optimization.

n Static vs. time-dependent optimization.

Page 26: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Features of optimization problems

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 9 / 40

n Discrete (combinatorial) vs. continuous vs. mixed optimization.

n Constrained vs. unconstrained optimization.

n None (feasibility problems) vs. single vs. many objectives.

n Deterministic vs. stochastic optimization.

n Static vs. time-dependent optimization.

E.g., continuous constrained subclass may have other features:

n Convex vs. non-convex optimization.

n Smooth vs. non-smooth optimization.

n . . .

Page 27: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Taxonomy of single-objective deterministic optimization

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 10 / 40

Part of one possible taxonomy:

n Discrete

n Integer Programming, Combinatorial Optimization, . . .

n Continuous

n Unconstrained

n Nonlinear least squares, Nonlinear equations, Nondifferentiableoptimization, Global optimization, . . .

n Constrained

n Bound constrained, Nondifferentiable optimization, Global optimization, . . .

n Linearly constrained

n Linear programming, Quadratic programming

n Nonlinear programming

n Semidefinite programming, Second-order cone programming,Quadratically-constrained quadratic programming, Mixed integernonlinear programming, . . .

Page 28: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Black-box optimization

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 11 / 40

The more we know about the problem, the narrower class of tasks we want to solve,and the better algorithm we can make for them. If we know nothing about theproblem. . .

Page 29: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Black-box optimization

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 11 / 40

The more we know about the problem, the narrower class of tasks we want to solve,and the better algorithm we can make for them. If we know nothing about theproblem. . .

Black-box optimization (BBO)

n The inner structure of the objective function f is unknown.

n Virtually no assumptions can be taken as granted when designing a BBO algorithm.

n BB algorithms are thus widely applicable

n continuous, discrete, mixed

n constrained, unconstrained

n . . .

n But generally they have lower performance than algorithms using the rightassumptions.

n Swiss army knives: you can do virtually everyting with them, but sometimes ahammer, or a needle would be better.

Page 30: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Black-box optimization

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 11 / 40

The more we know about the problem, the narrower class of tasks we want to solve,and the better algorithm we can make for them. If we know nothing about theproblem. . .

Black-box optimization (BBO)

n The inner structure of the objective function f is unknown.

n Virtually no assumptions can be taken as granted when designing a BBO algorithm.

n BB algorithms are thus widely applicable

n continuous, discrete, mixed

n constrained, unconstrained

n . . .

n But generally they have lower performance than algorithms using the rightassumptions.

n Swiss army knives: you can do virtually everyting with them, but sometimes ahammer, or a needle would be better.

What can a BBO algorithm do?

n Sample (create) a candidate solution,

n check whether it is feasible, and

n evaluate it using the objective function.

Anything else (gradients? noise? . . . ) must be estimated from the samples!

Page 31: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Features of optimization methods

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 12 / 40

Do they provably provide the optimal solution?

n Exact methods

n ensure optimal solutions, but

n are often tractable only for small problem instances.

n Heuristics

n provide only approximations, but

n use techniques that “usually” work quite well, even for larger instances.

Page 32: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Features of optimization methods

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 12 / 40

Do they provably provide the optimal solution?

n Exact methods

n ensure optimal solutions, but

n are often tractable only for small problem instances.

n Heuristics

n provide only approximations, but

n use techniques that “usually” work quite well, even for larger instances.

How do they create the solution?

n Constructive algorithms

n require discrete search space,

n construct full solutions incrementally, and

n must be able to evaluate partial solutions.

n They are thus not suitable for black-box optimization.

n Generative algorithms

n generate complete candidate solutions as a whole.

n They are suitable for black-box optimization, since only complete solutions need tobe evaluated.

Page 33: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Optimization algorithms you may have heard of

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 13 / 40

Methods for discrete spaces:

n Complete (enumerative) search

n Graph-based: depth-, breadth-, best-first search, greedy search, A∗

n Decomposition-based: divide and conquer, dynamic programming, branch andbound

Page 34: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Optimization algorithms you may have heard of

Course Introduction

Revision

• Questions

• Optimization

• Representation

• Problem features

• Taxonomy

• BBO

• Algorithm features

• Algorithms

Local Search

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 13 / 40

Methods for discrete spaces:

n Complete (enumerative) search

n Graph-based: depth-, breadth-, best-first search, greedy search, A∗

n Decomposition-based: divide and conquer, dynamic programming, branch andbound

Methods for continuous spaces:

n Random search

n Gradient methods, simplex method for linear programming, trust-region methods

n Local search, Nelder-Mead downhill simplex search

Page 35: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Local Search

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 14 / 40

Page 36: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Neighborhood, local optimum

Course Introduction

Revision

Local Search

• Neighborhood

• Local search

• LS Demo

• Rosenbrock

• Rosenbrock demo

• Nelder-Mead

• NM demo

• Lessons Learned

• Escape from LO

• Taboo

• Stochastic HC

• SA

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 15 / 40

The neighborhood of a point x ∈ S :

N(x, d) = {y ∈ S|dist(x, y) ≤ d} (2)

Measure of the distance between points x and y: S × S → R:

n Binary space: Hamming distance, . . .

n Real space: Euclidean, Manhattan (City-block), Mahalanobis, . . .

n Matrices: Amari, . . .

n In general: number of applications of some operator that would transform x into y indist(x, y) steps.

Page 37: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Neighborhood, local optimum

Course Introduction

Revision

Local Search

• Neighborhood

• Local search

• LS Demo

• Rosenbrock

• Rosenbrock demo

• Nelder-Mead

• NM demo

• Lessons Learned

• Escape from LO

• Taboo

• Stochastic HC

• SA

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 15 / 40

The neighborhood of a point x ∈ S :

N(x, d) = {y ∈ S|dist(x, y) ≤ d} (2)

Measure of the distance between points x and y: S × S → R:

n Binary space: Hamming distance, . . .

n Real space: Euclidean, Manhattan (City-block), Mahalanobis, . . .

n Matrices: Amari, . . .

n In general: number of applications of some operator that would transform x into y indist(x, y) steps.

Local optimum:

n Point x is a local optimum, if f (x) ≤ f (y) for all points y ∈ N(x, d) for some positive d.

n Small finite neighborhood (or the knowledge of derivatives) allows for validation oflocal optimality of x.

Global optimum:

n Point x is a global optimum, if f (x) ≤ f (y) for all points y ∈ F .

Page 38: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Local Search, Hill-Climbing

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 16 / 40

Algorithm 1: LS with First-improving Strategy

1 begin2 x← Initialize()

3 while not TerminationCondition() do4 y← Perturb(x)5 if BetterThan(y, x) then6 x← y

Features:

n usually stochastic, possibly deterministic,applicable in discrete and continuous spaces

Page 39: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Local Search, Hill-Climbing

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 16 / 40

Algorithm 1: LS with First-improving Strategy

1 begin2 x← Initialize()

3 while not TerminationCondition() do4 y← Perturb(x)5 if BetterThan(y, x) then6 x← y

Features:

n usually stochastic, possibly deterministic,applicable in discrete and continuous spaces

Algorithm 2: LS with Best-improving Strategy

1 begin2 x← Initialize()

3 while not TerminationCondition() do4 y← BestOfNeighborhood(N(x, d))5 if BetterThan(y, x) then6 x← y

Features:

n deterministic, applicable only in discretespaces, or in descretized real-valued spaces,where N(x, d) is finite and small

Page 40: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Local Search, Hill-Climbing

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 16 / 40

Algorithm 1: LS with First-improving Strategy

1 begin2 x← Initialize()

3 while not TerminationCondition() do4 y← Perturb(x)5 if BetterThan(y, x) then6 x← y

Features:

n usually stochastic, possibly deterministic,applicable in discrete and continuous spaces

Algorithm 2: LS with Best-improving Strategy

1 begin2 x← Initialize()

3 while not TerminationCondition() do4 y← BestOfNeighborhood(N(x, d))5 if BetterThan(y, x) then6 x← y

Features:

n deterministic, applicable only in discretespaces, or in descretized real-valued spaces,where N(x, d) is finite and small

The influence of the neighborhood size:

n Small neighborhood: fast search, huge risk of getting stuck in local optimum (in zero neghborhood,the same point is generated over and over)

n Large neighborhood: lower risk of getting stuck in LO, but the efficiency drops. If N(x, d) = S , thesearch degrades to

n random search in case of first-improving strategy, or to

n exhaustive search in case of best-improving strategy.

Page 41: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Local Search Demo

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 17 / 40

LS with first-improving strategy:

n Neighborhood given by Gaussian distribution.

n Neighborhood is static during the whole algorithm run.

−3 −2.5 −2 −1.5 −1 −0.5 0

−0.5

0

0.5

1

1.5

Local Search on Sphere Function

−3 −2.5 −2 −1.5 −1 −0.5 0 0.5 1−1

−0.5

0

0.5

1

1.5

2

Local Search on Rosenbrock Function

Page 42: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Rosenbrock’s Optimization Algorithm

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 18 / 40

Described in [Ros60]:

Algorithm 3: Rosenbrock’s Algorithm

Input: α > 1, β ∈ (0, 1)1

2 begin3 x← Initialize(); xo ← x

4 {e1, . . . , eD} ← InitOrtBasis()

5 {d1, . . . , dD} ← InitMultipliers()

6 while not TerminationCondition() do7 for i=1. . . D do8 y← x + diei

9 if BetterThan(y,x) then10 x← y

11 di ← α · di

12 else13 di ← −β · di

14 if AtLeastOneSuccInAllDirs() andAtLeastOneFailInAllDirs() then

15 {e1, . . . , eD} ←UpdOrtBasis(x− xo)

16 xo ← x

Features:

n D candidates generated each iteration

n neighborhood in the form of a pattern

n adaptive neighborhood parameters

n distances

n directions

DEMO

[Ros60] H. H. Rosenbrock. An automatic method for finding the greatest or least value of a function. The Computer Journal, 3(3):175–184, March 1960.

Page 43: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Rosenbrock’s Algorithm Demo

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 19 / 40

Rosenbrock’s algorithm:

n Neighborhood given by a pattern.

n Neighborhood is adaptive (directions and lengths of the pattern).

−3 −2 −1 0 1 2 3

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

Rosenbrock Method on Sphere Function

−3 −2 −1 0 1

0

0.5

1

1.5

2

2.5

3

3.5

4

Rosenbrock Method on Rosenbrock Function

Page 44: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Nelder-Mead Simplex Search

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 20 / 40

Simplex downhill search (amoeba) [NM65]:

Algorithm 4: Nelder-Mead Simplex Algo-rithm

1 begin2 (x1, . . . , xD+1)← InitSimplex()

so that f (x1) ≤ f (x2) ≤ . . . ≤ f (xD+1)3

4 while not TerminationCondition() do

5 x← 1D ∑

Dd=1 xd

6 yr ← x + ρ(x− xD+1)7 if BetterThan(yr , xD) then xD+1 ← yr

8 if BetterThan(yr , x1) then9 ye ← x + χ(xr − x)

10 if BetterThan(ye , yr) then xD+1 ← ye ;Continue

11 if not BetterThan(yr , xD) then12 if BetterThan(yr , xD+1) then13 yoc ← x + γ(xr − x)14 if BetterThan(yoc , yr) then

xD+1 ← yoc ; Continue

15 else16 yic ← x− γ(x− xD+1)17 if BetterThan(yic , xD+1) then

xD+1 ← yic ; Continue

18 ysi ← x1 + σ(xi − x1), i ∈ 2, . . . , D + 119 MakeSimplex(x1, ys2, . . . , ys(D+1))

-1 0 1 2 3 4 5 6 7-1

0

1

2

3

4

x3 x2

x1 yr

ye

yoc

yic

ys3 ys2

Features:

n universal algorithm for BBO in real space

n inRD maintains a simplex of D + 1 points

n neighborhood in the form of a pattern(reflection, extension, contraction, reduction)

n static neighborhood parameters!

n adaptivity caused by changing relationshipsamong solution vectors!

n slow convergence, for low D only

[NM65] J.A. Nelder and R. Mead. A simplex method for functionminimization. The Computer Journal, 7(4):308–313, 1965.

Page 45: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Nelder-Mead Simplex Demo

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 21 / 40

Nelder-Mead downhill simplex algorithm:

n Neighborhood is given by a set of operations applied to a set of points.

n Neighborhood is adaptive due to changes in the set of points.

−3 −2.5 −2 −1.5 −1 −0.5 0

−0.5

0

0.5

1

1.5

Nelder−Mead Simplex Search on Sphere Function

−3 −2.5 −2 −1.5 −1 −0.5 0 0.5 1

−0.5

0

0.5

1

1.5

2

2.5Nelder−Mead Simplex Search on Rosenbrock Function

Page 46: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Lessons Learned

Course Introduction

Revision

Local Search

• Neighborhood

• Local search

• LS Demo

• Rosenbrock

• Rosenbrock demo

• Nelder-Mead

• NM demo

• Lessons Learned

• Escape from LO

• Taboo

• Stochastic HC

• SA

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 22 / 40

n To search for the optimum, the algorithm must maintain at least one base solution (fullfiledby all algorithms).

n To adapt to the changing position in the environment during the search, the algorithmmust either

n adapt the neighborhood (model) structure or parameters (as done in Rosenbrockmethod), or

n adapt more than 1 base solutions (as done in Nelder-Mead method), or

n both of them.

n The neighborhood

n can be finite or infinite

n can have a form of a pattern or a probabilistic distribution.

n Candidate solutions can be generated from the neighborhood of

n one base vector (LS, Rosenbrock), or

n all base vectors (Nelder-Mead), or

n some of the base vectors (requires selection operator).

Page 47: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

The Problem of Local Optimum

Course Introduction

Revision

Local Search

• Neighborhood

• Local search

• LS Demo

• Rosenbrock

• Rosenbrock demo

• Nelder-Mead

• NM demo

• Lessons Learned

• Escape from LO

• Taboo

• Stochastic HC

• SA

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 23 / 40

All the above LS algorithms often get stuck in the neighborhood of a local optimum!

Page 48: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

The Problem of Local Optimum

Course Introduction

Revision

Local Search

• Neighborhood

• Local search

• LS Demo

• Rosenbrock

• Rosenbrock demo

• Nelder-Mead

• NM demo

• Lessons Learned

• Escape from LO

• Taboo

• Stochastic HC

• SA

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 23 / 40

All the above LS algorithms often get stuck in the neighborhood of a local optimum!

How to escape from local optimum?

Page 49: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

The Problem of Local Optimum

Course Introduction

Revision

Local Search

• Neighborhood

• Local search

• LS Demo

• Rosenbrock

• Rosenbrock demo

• Nelder-Mead

• NM demo

• Lessons Learned

• Escape from LO

• Taboo

• Stochastic HC

• SA

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 23 / 40

All the above LS algorithms often get stuck in the neighborhood of a local optimum!

How to escape from local optimum?

1. Run the optimization algorithm from a different initial point.

n restarting, iterated local search, . . .

Page 50: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

The Problem of Local Optimum

Course Introduction

Revision

Local Search

• Neighborhood

• Local search

• LS Demo

• Rosenbrock

• Rosenbrock demo

• Nelder-Mead

• NM demo

• Lessons Learned

• Escape from LO

• Taboo

• Stochastic HC

• SA

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 23 / 40

All the above LS algorithms often get stuck in the neighborhood of a local optimum!

How to escape from local optimum?

1. Run the optimization algorithm from a different initial point.

n restarting, iterated local search, . . .

2. Introduce memory and do not search in already visited places.

n taboo search

Page 51: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

The Problem of Local Optimum

Course Introduction

Revision

Local Search

• Neighborhood

• Local search

• LS Demo

• Rosenbrock

• Rosenbrock demo

• Nelder-Mead

• NM demo

• Lessons Learned

• Escape from LO

• Taboo

• Stochastic HC

• SA

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 23 / 40

All the above LS algorithms often get stuck in the neighborhood of a local optimum!

How to escape from local optimum?

1. Run the optimization algorithm from a different initial point.

n restarting, iterated local search, . . .

2. Introduce memory and do not search in already visited places.

n taboo search

3. Make the algorithm stochastic.

n stochastic hill-climber, simulated annealing, evolutionary algorithms, swarmintelligence, . . .

Page 52: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

The Problem of Local Optimum

Course Introduction

Revision

Local Search

• Neighborhood

• Local search

• LS Demo

• Rosenbrock

• Rosenbrock demo

• Nelder-Mead

• NM demo

• Lessons Learned

• Escape from LO

• Taboo

• Stochastic HC

• SA

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 23 / 40

All the above LS algorithms often get stuck in the neighborhood of a local optimum!

How to escape from local optimum?

1. Run the optimization algorithm from a different initial point.

n restarting, iterated local search, . . .

2. Introduce memory and do not search in already visited places.

n taboo search

3. Make the algorithm stochastic.

n stochastic hill-climber, simulated annealing, evolutionary algorithms, swarmintelligence, . . .

4. Perform the search in several places in the same time.

n population-based optimization algorithms (Nelder-Mead, evolutionaryalgorithms, swarm intelligence, . . . )

Page 53: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Taboo Search

Course Introduction

Revision

Local Search

• Neighborhood

• Local search

• LS Demo

• Rosenbrock

• Rosenbrock demo

• Nelder-Mead

• NM demo

• Lessons Learned

• Escape from LO

• Taboo

• Stochastic HC

• SA

EAs

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 24 / 40

Algorithm 5: Taboo Search

1 begin2 x← Initialize()

3 y← x4 M← ∅

5 while not TerminationCondition() do6 y← BestOfNeighborhood(N(y, d)−M)

7 M← UpdateMemory(M, y)8 if BetterThan(y, x) then9 x← y

Meaning of symbols:

n M — memory holding already visited points that become taboo.

n N(y, d)−M — set of states which would arise by taking back some of the previousdecisions

Features:

n The canonical version of TS is based on LS with best-improving strategy.

n First-improving can be used as well.

n It is difficult to use in real domain, usable mainly in discrete spaces.

Page 54: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Stochastic Hill-Climber

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 25 / 40

Assuming minimization:

Algorithm 6: Stochastic Hill-Climber

1 begin2 x← Initialize()

3 while not TerminationCondition() do4 y← Perturb(x)

5 p = 1

1+ef (y)− f (x)

T

6 if rand() ≤ p then7 x← y

Features:

n It is possible to move to a worse pointanytime.

n T is the algorithm parameter and staysconstant during the whole run.

n When T is low, we get local search withfirst-improving strategy

n When T is high, we get random search

Page 55: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Stochastic Hill-Climber

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 25 / 40

Assuming minimization:

Algorithm 6: Stochastic Hill-Climber

1 begin2 x← Initialize()

3 while not TerminationCondition() do4 y← Perturb(x)

5 p = 1

1+ef (y)− f (x)

T

6 if rand() ≤ p then7 x← y

Features:

n It is possible to move to a worse pointanytime.

n T is the algorithm parameter and staysconstant during the whole run.

n When T is low, we get local search withfirst-improving strategy

n When T is high, we get random search

Probability of accepting a new point y whenf (y)− f (x) = −13:

T e−13T p

1 0.000 1.0005 0.074 0.931

10 0.273 0.78620 0.522 0.65750 0.771 0.565

1010 1.000 0.500

Probability of accepting a new point y whenT = 10:

f (y)− f (x) ef (y)− f (x)

10 p

-27 0.067 0.937-7 0.497 0.6680 1.000 0.500

13 3.669 0.21443 73.700 0.013

Page 56: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Simulated Annealing

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 26 / 40

Algorithm 7: Simulated Annealing

1 begin2 x← Initialize()

3 T ← Initialize()

4 while not TerminationCondition() do5 y← Perturb(x)6 if BetterThan(y,x) then7 x← y

8 else

9 p = e−f (y)− f (x)

T

10 if rand() < p then11 x← y

12 if InterruptCondition() then13 T ← Cool(T)

Page 57: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Simulated Annealing

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 26 / 40

Algorithm 7: Simulated Annealing

1 begin2 x← Initialize()

3 T ← Initialize()

4 while not TerminationCondition() do5 y← Perturb(x)6 if BetterThan(y,x) then7 x← y

8 else

9 p = e−f (y)− f (x)

T

10 if rand() < p then11 x← y

12 if InterruptCondition() then13 T ← Cool(T)

Very similar to stochastic hill-climber

Main differences:

n If the new point y is better, it is alwaysaccepted.

n Function Cool(T) is the cooling schedule.

n SA changes the value of T during the run:

n T is high at beginning: SA behaves likerandom search

n T is low at the end: SA behaves likedeterministic hill-climber

Page 58: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Simulated Annealing

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 26 / 40

Algorithm 7: Simulated Annealing

1 begin2 x← Initialize()

3 T ← Initialize()

4 while not TerminationCondition() do5 y← Perturb(x)6 if BetterThan(y,x) then7 x← y

8 else

9 p = e−f (y)− f (x)

T

10 if rand() < p then11 x← y

12 if InterruptCondition() then13 T ← Cool(T)

Very similar to stochastic hill-climber

Main differences:

n If the new point y is better, it is alwaysaccepted.

n Function Cool(T) is the cooling schedule.

n SA changes the value of T during the run:

n T is high at beginning: SA behaves likerandom search

n T is low at the end: SA behaves likedeterministic hill-climber

Issues:

n How to set up the initial tempereature T and the cooling schedule Cool(T)?

n How to set up the interrupt and termination condition?

Page 59: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Evolutionary Optimization Algorithms

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 27 / 40

Page 60: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Evolutionary Algorithms

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 28 / 40

Evolutionary algorithms

n are population-based counterpart of single-state local search methods (more robustw.r.t. getting stuck in LO).

n Inspired by

n Mendel’s theory of inheritance (transfer of traits from parents to children), and

n Darwin’s theory of evolution (random changes of individuals, and survival ofthe fittest).

Page 61: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Evolutionary Algorithms

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 28 / 40

Evolutionary algorithms

n are population-based counterpart of single-state local search methods (more robustw.r.t. getting stuck in LO).

n Inspired by

n Mendel’s theory of inheritance (transfer of traits from parents to children), and

n Darwin’s theory of evolution (random changes of individuals, and survival ofthe fittest).

Difference from a mere parallel hill-climber: candidate solutions affect the search of othercandidates.

Page 62: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Evolutionary Algorithms

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 28 / 40

Evolutionary algorithms

n are population-based counterpart of single-state local search methods (more robustw.r.t. getting stuck in LO).

n Inspired by

n Mendel’s theory of inheritance (transfer of traits from parents to children), and

n Darwin’s theory of evolution (random changes of individuals, and survival ofthe fittest).

Difference from a mere parallel hill-climber: candidate solutions affect the search of othercandidates.

Originally, several distinct kinds of EAs existed:

n Evolutionary programming, EP (Fogel, 1966): real numbers, state automatons

n Evolutionary strategies, ES (Rechenberg, Schwefel, 1973): real numbers

n Genetic algorithms, GA (Holland, 1975): binary or finite discrete representation

n Genetic programming, GP (Cramer, Koza, 1989): trees, programs

Currently, the focus is on emphasizing what they have in common, and on exchange ofideas among them.

Page 63: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Inspiration by biology

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 29 / 40

individual a candidate solutionfitness quality of an individual

fitness function (landscape) objective functionpopulation a set of candidate solutions

selection picking individuals based on their fitnessparents individuals chosen by selection as sources of genetic

materialchildren (offspring) new individuals created by breeding

breeding the process of creating children from a population ofparents

mutation perturbation of an individual; asexual breedingrecombination or crossover producing one or more children from two or more pa-

rents; sexual breedinggenotype an individual’s data structure as used during breeding

phenotype the meaning of genotype, how is the genotype inter-preted by the fitness function

chromosome a special type of genotype – fixed-length vectorgene a variable or a set of variables in the genotypeallele a particular value of gene

generation one cycle of fitness assessment, breeding, and replace-ment

Page 64: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Evolutionary cycle

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 30 / 40

Population

Parents

Offspring

Selection

Crossover

Evaluation

Replacement

Mutation

Initialization

Evaluation

Page 65: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Algorithm

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 31 / 40

Algorithm 8: Evolutionary Algorithm

1 begin2 X ← InitializePopulation()

3 f ← Evaluate(X)

4 xBSF , fBSF ← UpdateBSF(X, f)5 while not TerminationCondition() do6 XN ← Breed(X, f) // e.g., using the pipeline below

7 fN ← Evaluate(XN)

8 xBSF , fBSF ← UpdateBSF(XN , fN)

9 X, f ← Join(X, f , XN , fN) // aka ‘‘replacement strategy’’

10 return xBSF , fBSF

BSF : Best So Far

Page 66: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Algorithm

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 31 / 40

Algorithm 8: Evolutionary Algorithm

1 begin2 X ← InitializePopulation()

3 f ← Evaluate(X)

4 xBSF , fBSF ← UpdateBSF(X, f)5 while not TerminationCondition() do6 XN ← Breed(X, f) // e.g., using the pipeline below

7 fN ← Evaluate(XN)

8 xBSF , fBSF ← UpdateBSF(XN , fN)

9 X, f ← Join(X, f , XN , fN) // aka ‘‘replacement strategy’’

10 return xBSF , fBSF

BSF : Best So Far

Algorithm 9: Canonical GA Breeding Pipeline

1 begin2 XS ← SelectParents(X, f)3 XN ← Crossover(XS)

4 XN ← Mutate(XN)

5 return XN

Other different Breed() pipelines can be pluged in the EA.

Page 67: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Initialization

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 32 / 40

Initialization is a process of creating individuals from which the search shall start.

n Random:

n No prior knowledge about the characteristics of the final solution.

n No part of the search space is preferred.

n Informed:

n Requires prior knowledge about where in the search space the solution can be.

n You can directly seed (part of) the population by solutions you already have.

n It can make the computation faster, but it can unrecoverably direct the EA to asuboptimal solution!

n Pre-optimization:

n (Some of) the population members can be set to the results of several (probablyshort) runs of other optimization algorithms.

Page 68: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Selection

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 33 / 40

Selection is the process of choosing which population members shall become parents.

n Usually, the better the individual, the higher chance of being chosen.

n A single individual may be chosen more than once; better individuals influence morechildren.

Page 69: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Selection

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 33 / 40

Selection is the process of choosing which population members shall become parents.

n Usually, the better the individual, the higher chance of being chosen.

n A single individual may be chosen more than once; better individuals influence morechildren.

Selection types:

n No selection: all population members become parents.

n Truncation selection: the best n % of the population become parents.

n Tournament selection: the set of parents is composed of the winners of smalltournaments (choose n individuals uniformly, and pass the best of them as one of theparent).

n Uniform selection: each population member has the same chance of becoming aparent.

n Fitness-proportional selection: the probability of being chosen is proportional to theindividual’s fitness.

n Rank-based selection: the probability of being chosen is proportional to the rank ofthe individual in population (when sorted by fitness).

n . . .

Page 70: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Mutation

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 34 / 40

Mutation makes small changes to the population members (usually, it iteratively appliesperturbation to each individual). It

n promotes the population diversity,

n minimizes the chance of loosing a useful part of genetic code, and

n performs a local search around individuals.

Page 71: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Mutation

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 34 / 40

Mutation makes small changes to the population members (usually, it iteratively appliesperturbation to each individual). It

n promotes the population diversity,

n minimizes the chance of loosing a useful part of genetic code, and

n performs a local search around individuals.

Selection + mutation:

n Even this mere combination may be a powerfull optimizer.

n It differs from several local optimizers run in parallel.

Page 72: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Mutation

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 34 / 40

Mutation makes small changes to the population members (usually, it iteratively appliesperturbation to each individual). It

n promotes the population diversity,

n minimizes the chance of loosing a useful part of genetic code, and

n performs a local search around individuals.

Selection + mutation:

n Even this mere combination may be a powerfull optimizer.

n It differs from several local optimizers run in parallel.

Types of mutation:

n For binary representations: bit-flip mutation

n For vectors of real numbers: Gaussian mutation, . . .

n For permutations: 1-opt, 2-opt, . . .

n . . .

Page 73: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Crossover

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 35 / 40

Crossover (xover) combines the traits of 2 or more chosen parents.

n Hypothesis: by combining features of 2 (or more) good individuals we can maybe geteven better solution.

n Crossover usually creates children in unexplored parts of the search space, i.e.,promotes diversity.

Page 74: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Crossover

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 35 / 40

Crossover (xover) combines the traits of 2 or more chosen parents.

n Hypothesis: by combining features of 2 (or more) good individuals we can maybe geteven better solution.

n Crossover usually creates children in unexplored parts of the search space, i.e.,promotes diversity.

Types of crossover:

n For vector representations: 1-point, 2-point, uniform

n For vectors of real numbers: geometric xover, simulated binary xover, parent-centricxover, . . .

n For permutations: partially matched xover, edge-recombination xover, . . .

n . . .

Page 75: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Replacement

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 36 / 40

Replacement strategy (the join() operation) implements the survival of the fittestprinciple. It determines which of the members of the old population and which newchildren shall survive to the next generation.Types of replacement strategies:

n Generational: the old population is thrown away, new population is chosen just fromthe children.

n Steady-state: members of the old population may survive to the next generation,together with some children.

n Similar principles as for selection can be applied.

Page 76: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Why EAs?

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 37 / 40

EAs are popular because they are

n easy to implement,

n robust w.r.t. problem formulations, and

n less likely to end up in a local optimum.

Page 77: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Why EAs?

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 37 / 40

EAs are popular because they are

n easy to implement,

n robust w.r.t. problem formulations, and

n less likely to end up in a local optimum.

Some of the application areas:

n automated control

n planning

n scheduling

n resource allocation

n design and tuning of neural networks

n signal and image processing

n marketing

n . . .

Page 78: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Why EAs?

Course Introduction

Revision

Local Search

EAs

• EAs

• Biology

• Cycle

• Algorithm

• Initialization

• Selection

•Mutation

• Crossover

• Replacement

•Why EAs?

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 37 / 40

EAs are popular because they are

n easy to implement,

n robust w.r.t. problem formulations, and

n less likely to end up in a local optimum.

Some of the application areas:

n automated control

n planning

n scheduling

n resource allocation

n design and tuning of neural networks

n signal and image processing

n marketing

n . . .

Evolutionary algorithms are best applied in areas where we have no idea about the final solution.Then we are often surprised what they come up with.

Page 79: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Summary

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 38 / 40

Page 80: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Learning outcomes: Prerequisities

Course Introduction

Revision

Local Search

EAs

Summary

• Learning outcomes:Prerequisities

• Learning outcomes:This lecture

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 39 / 40

Before entering this course, a student shall be able to

n define an optimization task in mathematical terms; explain the notions of searchspace, objective function, constraints, etc.; and provide examples of optimizationtasks;

n describe various subclasses of optimization tasks and their characteristics;

n define exact methods, heuristics, and their differences;

n explain differences between constructive and generative algorithms and giveexamples of both.

Page 81: A4M33EOA Optimization. Local Search. Evolutionary methods.€¦ · Local Search EAs Summary P. Posˇ´ık c 2016 A4M33EOA: Evolutionary Optimization Algorithms – 3 / 40 Problem

Learning outcomes: This lecture

Course Introduction

Revision

Local Search

EAs

Summary

• Learning outcomes:Prerequisities

• Learning outcomes:This lecture

P. Posık c© 2016 A4M33EOA: Evolutionary Optimization Algorithms – 40 / 40

After this lecture, a student shall be able to

n describe and explain what makes real-world search and optimization problems hard;

n describe black-box optimization and the limitations it imposes on optimizationalgorithms;

n define a neighborhood and explain its importance to local search methods;

n describe a hill-climbing algorithm in the form of pseudocode; and implement it in achosen programming language;

n explain the difference between best-improving and first-improving strategy; anddescribe differences in the behaviour of the resulting algorithm;

n enumerate and explain the methods for increasing the chances to find the globaloptimum;

n explain the main difference between single-state and population-based methods; andname the benefits of using a population;

n describe a simple EA and its main components; and implement it in a chosenprogramming language.