POPULATION BASED METAHEURISTICS

32
POPULATION BASED METAHEURISTICS Jacques A. Ferland Department of Informatique and Recherche Opérationnelle Université de Montréal [email protected] http://www.iro.umontreal.ca/~ferland/ Spring School in Optimization Ho Chi Minh March 2007

description

POPULATION BASED METAHEURISTICS. Jacques A. Ferland Department of Informatique and Recherche Opérationnelle Université de Montréal [email protected] http://www.iro.umontreal.ca/~ferland/ Spring School in Optimization Ho Chi Minh March 2007. Population Based Techniques ( PBT ). - PowerPoint PPT Presentation

Transcript of POPULATION BASED METAHEURISTICS

Page 1: POPULATION BASED METAHEURISTICS

POPULATION BASEDMETAHEURISTICS

Jacques A. FerlandDepartment of Informatique and Recherche OpérationnelleUniversité de Montréal

[email protected]

http://www.iro.umontreal.ca/~ferland/

Spring School in OptimizationHo Chi Minh March 2007

Page 2: POPULATION BASED METAHEURISTICS

Population Based Techniques (PBT)

• A Population Based Technique (PBT) can be seen as an iterative process starting with an initial population P0 including N feasible solutions. x* is the best solution of the population P0 .

• At each iteration ( generation): - During a collective process, the solutions of the current population are

compared and combined to generate new offspring-solutions inheriting the prevaling characteristics of the parent-solutions.

- Then the new offspring-solutions evolve individually according to an individual process.

- The best solution x* is updated. - Finally a new population of size N is generated.

• The procedure continues until some stopping criterion is satisfied.

Page 3: POPULATION BASED METAHEURISTICS

POPULATION BASED

• Genetic Algorithm

• Ant Colony

• Particle Swarm

• http://www.iro.umontreal.ca/~ferland/

Page 4: POPULATION BASED METAHEURISTICS

Initial Population

Page 5: POPULATION BASED METAHEURISTICS

Problem used to illustrate

• General problemmin f(x)

x є X

• Assignment type problem: Assignment of resources j to activities i

min f(x)

Subject to ∑1≤ j≤ m xij = 1 1≤ i ≤ n

xij = 0 or 1 1≤ i ≤ n, 1≤ j ≤ m

Page 6: POPULATION BASED METAHEURISTICS

Problem Formulation

• Assignment type problem min f(x) Subject to ∑1≤ j≤ m xij = 1 1≤ i ≤ n xij = 0 or 1 1≤ i ≤ n, 1≤ j ≤ m

• Graph coloring problem : Graph G = (V,E). V = { i : 1≤ i ≤ n} ; E = {(i, l) : (i, l) edge of G}. Set of colors {j : 1≤ j ≤ m}

min ∑ 1≤ j≤ m ∑ (i, l) є E xij xlj Subject to ∑1≤ j≤ m xij = 1 1≤ i ≤ n xij = 0 or 1 1≤ i ≤ n, 1≤ j ≤ m

Page 7: POPULATION BASED METAHEURISTICS

Heuristic Constructive Techniques

• Values of the variables are determined sequentially:

at each iteration, a variable is selected,

and its value is determined

Page 8: POPULATION BASED METAHEURISTICS

Heuristic Constructive Techniques

• Values of the variables are determined sequentially:

at each iteration, a variable is selected,

and its value is determined

• The value of each variable is never modifided once it is determined

Page 9: POPULATION BASED METAHEURISTICS

Heuristic Constructive Techniques

• Values of the variables are determined sequentially:

at each iteration, a variable is selected,

and its value is determined

• The value of each variable is never modifided once it is determined

Page 10: POPULATION BASED METAHEURISTICS

Greedy method

Next variable to be fixed and its value are selected to optimize the objective function given the values of the variables already fixed

Page 11: POPULATION BASED METAHEURISTICS

Greedy method

Next variable to be fixed and its value are selected to optimize the objective function given the values of the variables already fixed

Graph coloring problem:

Vertices are ordered in

decreasing order of their degree

Vertices selected in that order

For each vertex, select a color in order to reduce the number of pairs of adjacent vertices already colored with the same color

Page 12: POPULATION BASED METAHEURISTICS

GRASPGreedy Randomized Adaptive Search Procedure

• Next variable to be fixed is selected randomly among those inducing the smallest increase.

Page 13: POPULATION BASED METAHEURISTICS

GRASPGreedy Randomized Adaptive Search Procedure

• Next variable to be fixed is selected randomly among those inducing the smallest increase.

• Referring to the general problem,

i) let J’ = { j : xj is not fixed yet}

and δj be the increase induces by the best value that xj can take ( j є J’ )

Page 14: POPULATION BASED METAHEURISTICS

GRASPGreedy Randomized Adaptive Search Procedure

• Next variable to be fixed is selected randomly among those inducing the smallest increase.

• Referring to the general problem,

i) let J’ = { j : xj is not fixed yet}

and δj be the increase induces by the best value that xj can take ( j є J’ )

ii) Denote δ* = min j є J’ { δj }

and α є [0, 1] .

Page 15: POPULATION BASED METAHEURISTICS

GRASPGreedy Randomized Adaptive Search Procedure

• Next variable to be fixed is selected randomly among those inducing the smallest increase.

• Referring to the general problem,

i) let J’ = { j : xj is not fixed yet}

and δj be the increase induces by the best value that xj can take ( j є J’ )

ii) Denote δ* = min j є J’ { δj }

and α є [0, 1] .

iii) Select randomly j’ є {j є J’ : δj ≤ ( 1 / α ) δ* }

and fix the value of xj’

Page 16: POPULATION BASED METAHEURISTICS

Genetic Algorithm

Page 17: POPULATION BASED METAHEURISTICS

Encoding the solution

• The phenotype form of the solution x є ℝn is encoded (represented) as a genotype form vector z є ℝm (or chromozome) where m may be different from n.

• For example in the assignment type problem:

let x be the following solution: for each 1≤ i ≤ n,

xij(i) = 1

xij = 0 for all other j

x є ℝnxm can be encoded as z є ℝn where

zi = j(i) i = 1, 2, …, n

i.e., zi is the index of the resource j(i) assigned to activity i

Page 18: POPULATION BASED METAHEURISTICS

Genetic Algorithm (GA)

• An initial population of size N is generated

• At each iteration (generation) three different operators are first applied to generate a set of new (offspring) solutions using the N solutions of the current population:

selection operator: selecting from the current population parent-solutions that reproduce themselves crossover (reproduction) operator: producing offspring-solutions from

each pair of parent-solutions mutation operator: modifying (improving) individual offspring-solution

• A fourth operator (culling operator) is applied to determine a new population of size N by selecting among the solutions of the current population and the offspring-solutions according to some strategy

Page 19: POPULATION BASED METAHEURISTICS

Two variants of GA

• At each iteration of the Classical genetic algorithm:

- N parent solutions are selected and paired two by two

- A crossover operator is applied to each pair of parent-solutions according to some

probability to generate two offspring-solutions. Otherwise the two parent-solutions become their own offspring-solutions

- A mutation operator is applied according to some probability to each offspring-solution.

- The population of the next iteration includes the offspring-solutions

• At each iteration of the Steady-state population genetic algorithm:

- An even number of parent-solutions are selected and paired two by two

- A crossover operator is applied to each pair of parent-solutions to generate two offspring-solutions.

- A mutation operator is applied according to some probability to each offspring-solution.

-The population of the next iteration includes the N best solutions among the current population and the offspring- solutions

Page 20: POPULATION BASED METAHEURISTICS

Selection operator

• This operator is used to select an even number (2, or 4, or …, or N) of parent-solutions.

• Each parent-solution is selected from the current population according to some strategy or selection operator.

• Note that the same solution can be selected more than once.

• The parent-solutions are paired two by two to reproduce themselves.

• Selection operators:

Random selection operator

Proportional (or roulette whell) selection operator

Tournament selection operator

Diversity preserving selection operator

Page 21: POPULATION BASED METAHEURISTICS

Random selection operator

• Select randomly each parent-solution from the current (entire) population

• Properties:

Very straightforward

Promotes diversity of the population generated

Page 22: POPULATION BASED METAHEURISTICS

Proportional (Roulette whell) selection operator

• Each parent-solution is selected as follows:

i) Consider any ordering of the solutions z1, z2, …, zN in P

ii) Select a random number α in the interval

[0, ∑1≤k≤ N ( 1 / f( zk) )]

iii) Let τ be the smallest index such that

∑1≤k≤ τ (1 / f( zk ) ) ≥ α

iv) Then zτ is selected

1 / f( z1 ) 1 / f( z2 ) 1 / f( z3) 1 / f( zN)

| | | | … | |

τ

α

The chance of selecting zk increases with its fittness 1 / f( zk)

For the problem Min f (x)where x is encoded as z 1/f (z) measures the fittness of thesolution z

Page 23: POPULATION BASED METAHEURISTICS

Tournament selection operator

• Each parent-solution is selected as the best solution in a subset of randomly chosen solutions in P:

i) Select randomly N’ solutions one by one from P (i.e., the same solution

can be selected more than once) to generate the subset P’

ii) Let z’ be the best solution in the subset P’:

z’ = argmin z є P’ f(z)

iii) Then z’ is selected as a parent-solution

Page 24: POPULATION BASED METAHEURISTICS

Elitist selection

• The main drawback of using elitist selection operator like Roulette whell and Tournament selection operators is premature converge of the algorithm to a population of almost identical solutions far from being optimal.

• Other selection operators have been proposed where the degree of elitism is in some sense proportional to the diversity of the population.

Page 25: POPULATION BASED METAHEURISTICS

Diversity preserving selection operator

Page 26: POPULATION BASED METAHEURISTICS

Crossover (recombination) operators

• Crossover operator is used to generate new solutions including interesting components contained in different solutions of the current population.

• The objective is to guide the search toward promissing regions of the feasible domain X while maintaining some level of diversity in the population.

• Pairs of parent-solutions are combined to generate offspring-solutions according to different crossover (recombination) operators.

Page 27: POPULATION BASED METAHEURISTICS

One point crossover

• The one point crossover generates two offspring-solutions from the two parent-solutions

z1 = [ z11, z2

1, …, zm1]

z2 = [ z12, z2

2, …, zm2]

as follows: i) Select randomly a position (index) ρ, 0 ≤ ρ ≤ m. ii) Then the offspring-solutions are specified as follows:

oz1 = [ z11, z2

1, …, zρ1, zρ+1

2, …, zm2]

oz2 = [ z12, z2

2, …, zρ2, zρ+1

1, …, zm1]

The first ρ components of offspring oz1 (offspring oz2) are the corresponding ones of parent 1 (parent 2), and the rest of the components are the corresponding ones of parent 2 (parent 1)

Page 28: POPULATION BASED METAHEURISTICS

Two points crossover

• The two points crossover generates two offspring-solutions from the two parent-solutions

z1 = [ z11, z2

1, …, zm1]

z2 = [ z12, z2

2, …, zm2]

as follows: i) Select randomly two positions (indices) μ,ν, 1 ≤ μ ≤ ν ≤ m. ii) Then the offspring-solutions are specified as follows: oz1 = [ z1

1, …, zμ-11, zμ2, …, zν2, zν+1

1, …, zm1]

oz2 = [ z12, …, zμ-12, zμ1, …, zν

1, zν+12, …, zm

2]

The offspring oz1 (offspring oz2) has components μ, μ+1, …, ν of parent 2 (parent 1), and the rest of the components are the corresponding ones of parent 1 (parent 2)

Page 29: POPULATION BASED METAHEURISTICS

Uniform crossover

• The uniform crossover requires a vector of bits (0 or 1) of dimension m to generate two offspring-solutions from the two parent-solutions

z1 = [ z11, z2

1, …, zm1] , z2 = [ z1

2, z22, …, zm

2] :

i) Generate randomly a vector of bits, for example [0, 1, 1, 0, …, 1, 0] ii) Then the offspring-solutions are specified as follows:

parent 1: [ z11, z2

1, z31, z4

1,…, zm-11, zm

1]

parent 2: [ z12, z2

2, z32, z4

2,…, zm-12, zm

2]

Vector of bits: [ 0 , 1 , 1 , 0 , …, 1 , 0 ]

Offspring oz1 : [ z11, z2

2, z32, z4

1,…, zm-12, zm

1]

Offspring oz2 : [ z12, z2

1, z31, z4

2,…, zm-11, zm

2]

The ith component of oz1

(oz2) is the ith component of parent 1 (parent 2) if the ith

component of the vector of bits is 0, otherwise, it is equal to theith component of parent 2 (parent 1)

Page 30: POPULATION BASED METAHEURISTICS

Ad hoc crossover operator

The preceding crossover operators are sometimes too general to be efficient. Hence, whenever possible, we should rely on the structure of the problem to specify ad hoc problem dependent crossover operator in order to improve the efficiency of the algorithm.

Page 31: POPULATION BASED METAHEURISTICS

Recovery procedure

Furthermore, whenever the structure of the problem is such that the offspring-solutions are not necessarily feasible, then an auxiliary procedure is required to recover feasibility. Such a procedure is used to transform the offspring-solution into a feasible solution in its neighborhood.

Page 32: POPULATION BASED METAHEURISTICS

Mutation operator

• Mutation operator is an individual process to modify offspring-solutions

• In traditional implementations of Genetic Algorithm the mutation operator is used to modify arbitrarely each componenet zi with a small probability:

For i = 1 to m

Generate a random number β є [0, 1]

If β < βmax then select randomly a new value for zi

where βmax is small enough in order to modify zi with a small probability

• Mutation operator simulates random events perturbating the natural evolution process

• Mutation operator not essential, but the randomness that it introduces in the process, promotes diversity in the current population and may prevent premature convergence to a bad local minimum