MOEAs University of Missouri - Rolla Dr. T’s Course in Evolutionary Computation Matt D. Johnson...

33
MOEAs MOEAs University of Missouri - University of Missouri - Rolla Rolla Dr. T’s Course in Dr. T’s Course in Evolutionary Computation Evolutionary Computation Matt D. Johnson Matt D. Johnson November 6, 2006 November 6, 2006

Transcript of MOEAs University of Missouri - Rolla Dr. T’s Course in Evolutionary Computation Matt D. Johnson...

MOEAsMOEAs

University of Missouri - RollaUniversity of Missouri - RollaDr. T’s Course in Evolutionary Dr. T’s Course in Evolutionary

ComputationComputation

Matt D. JohnsonMatt D. JohnsonNovember 6, 2006November 6, 2006

Main TopicsMain Topics

Multi Objective Evolutionary Multi Objective Evolutionary AlgorithmsAlgorithms

Example Problem – ZDT1Example Problem – ZDT1 T-MOEAT-MOEA Preliminary ResultsPreliminary Results

MOEAsMOEAs

Multi Objective Evolutionary Multi Objective Evolutionary AlgorithmsAlgorithms

Based on the concept of the Based on the concept of the standard EA, but with multiple standard EA, but with multiple objectives to optimizeobjectives to optimize

Some of the objectives may conflict Some of the objectives may conflict with one anotherwith one another

Fitness vs. DominanceFitness vs. Dominance

In a standard EA, an individual In a standard EA, an individual AA is is said to be better than an individual said to be better than an individual BB if if AA has a higher fitness value than has a higher fitness value than BB

In a MOEA, an individual In a MOEA, an individual AA is said to is said to be better than an individual be better than an individual BB if if AA dominatesdominates BB (Deb) (Deb)

DominanceDominance A solution x1 is said to dominate a solution A solution x1 is said to dominate a solution

x2 if both conditions below are true:x2 if both conditions below are true: The solution x1 is no worse than x2 in all The solution x1 is no worse than x2 in all

objectivesobjectives The solution x1 is strictly better than x2 in at The solution x1 is strictly better than x2 in at

least one objective (Deb)least one objective (Deb) If x1 dominates x2 (x1 ≤ x2), it can be said If x1 dominates x2 (x1 ≤ x2), it can be said

thatthat x2 is dominated by x1x2 is dominated by x1 x1 is non-dominated by x2x1 is non-dominated by x2 x1 is non-inferior to x2 (Deb)x1 is non-inferior to x2 (Deb)

Pareto OptimalityPareto Optimality

Non-dominated set: Among a set of Non-dominated set: Among a set of solutions P, the non-dominated set of solutions P, the non-dominated set of solutions P’ are those that are not solutions P’ are those that are not dominated by any member of the set dominated by any member of the set P (Deb)P (Deb)

Globally Pareto-optimal set: The non-Globally Pareto-optimal set: The non-dominated set of the entire feasible dominated set of the entire feasible search space S is the globally search space S is the globally Pareto-optimal set (Deb)Pareto-optimal set (Deb)

DeteriorationDeterioration

Deterioration occurs when Deterioration occurs when individuals in the current solution individuals in the current solution are dominated by individuals that are dominated by individuals that existed in the solution set previously, existed in the solution set previously, but have since been terminatedbut have since been terminated

Even “elitist” algorithms can suffer Even “elitist” algorithms can suffer from this conditionfrom this condition

Defeating DeteriorationDefeating Deterioration

Efficiency Preservation: Property of Efficiency Preservation: Property of accepting a new individual only if it accepting a new individual only if it dominates an existing individual in dominates an existing individual in the populationthe population

Negative Efficiency Preservation: An Negative Efficiency Preservation: An individual is deleted from the individual is deleted from the population only if it is being population only if it is being replaced by a superior individual.replaced by a superior individual.

Example Problem: ZDT1Example Problem: ZDT1

Zitzler-Deb-Thiele’s Test ProblemsZitzler-Deb-Thiele’s Test Problems Minimize fMinimize f11((xx))

Minimize fMinimize f22((xx) = g() = g(xx) h(f) h(f11((xx), g(), g(xx))))

ZDT1: Pareto Optimal ZDT1: Pareto Optimal SolutionSolution

ZDT1

0

0.2

0.4

0.6

0.8

1

1.2

0 0.2 0.4 0.6 0.8 1 1.2

f1

f2

MOEA GoalsMOEA Goals

Find the Globally Pareto-Optimal set Find the Globally Pareto-Optimal set of solutionsof solutions

Would like as many solutions as Would like as many solutions as possiblepossible

Even distribution of solutionsEven distribution of solutions

NSGA-IINSGA-II

A Fast and Elitist Multiobjective A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-IIGenetic Algorithm: NSGA-II

Kalyanmoy Deb, Amrit Pratap, Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, T. MeyarivanSameer Agarwal, T. Meyarivan

Each generation bounded by a fast Each generation bounded by a fast nondominated sort - O(MNnondominated sort - O(MN22))

NSGA-IINSGA-II

Steps before main loop beginsSteps before main loop begins Initialize population PInitialize population P00

Sort PSort P00 on the basis of nondomination on the basis of nondomination Fitness of an individual is equal to an Fitness of an individual is equal to an

individuals nondomination levelindividuals nondomination level Binary Tournament SelectionBinary Tournament Selection Mutation and recombination create an Mutation and recombination create an

offspring population Qoffspring population Q00

NSGA-IINSGA-II

Primary loopPrimary loop RRt t = P= Ptt + Q + Qt t (t = generation)(t = generation)

Sort RSort Rt t on the basis of nondominationon the basis of nondomination

Create PCreate Pt+1 t+1 by adding individuals from by adding individuals from each level of Reach level of Rt t until Puntil Pt+1t+1 is of size N is of size N

Create QCreate Qt+1 t+1 by applying Binary by applying Binary Tournament Selection, Mutation, and Tournament Selection, Mutation, and Recombination to PRecombination to Pt+1t+1

Increment tIncrement t

Epsilon MOEAEpsilon MOEA

A Fast Multi-objective Evolutionary A Fast Multi-objective Evolutionary Algorithm for Finding Well-Spread Algorithm for Finding Well-Spread Parto-Optimal SolutionsParto-Optimal Solutions

Kalyanmoy Deb, Manikanth Mohan Kalyanmoy Deb, Manikanth Mohan and Shikar Mishraand Shikar Mishra

Steady State, Elitist, Does not suffer Steady State, Elitist, Does not suffer from deteriorationfrom deterioration

Uses epsilon dominance (fuzzy Uses epsilon dominance (fuzzy dominance)dominance)

Epsilon MOEAEpsilon MOEA

Uses two populationsUses two populations An individual is only deleted when it An individual is only deleted when it

is replaced with a superior individualis replaced with a superior individual Uses an identification array B which Uses an identification array B which

consists of abbreviated objective consists of abbreviated objective values, creating containers – only values, creating containers – only one individual may occur in a one individual may occur in a containercontainer

Motivation for T-MOEAMotivation for T-MOEA

Faster – avoid duplicating work (sorting Faster – avoid duplicating work (sorting the population again and again, even the population again and again, even when it has not changed that much)when it has not changed that much)

Simpler – existing algorithms are Simpler – existing algorithms are difficult to explain and understanddifficult to explain and understand

Object Oriented – existing algorithms Object Oriented – existing algorithms can be implemented in an OO manner, can be implemented in an OO manner, but are not specifically designed that but are not specifically designed that wayway

Motivation for T-MOEAMotivation for T-MOEA

Greater flexibilityGreater flexibility Multiple selection approachesMultiple selection approaches Control size and number of Control size and number of

nondomination levelsnondomination levels ElitistElitist No deteriorationNo deterioration

T-MOEA AlgorithmT-MOEA Algorithm

InitializationInitialization while while termination condition is falsetermination condition is false

dodo Parent SelectionParent Selection Recombination and MutationRecombination and Mutation InsertionInsertion

end whileend while

Data StructureData Structure

Most EAs and MOEAs use a “pool” of Most EAs and MOEAs use a “pool” of individualsindividuals

T-MOEA calls for a vector of Binary T-MOEA calls for a vector of Binary Search TreesSearch Trees

No duplicate individuals allowedNo duplicate individuals allowed

Selection – select1Selection – select1

Parents will be selected from the top Parents will be selected from the top levellevel

If all individuals in a level have been If all individuals in a level have been selected and more are needed, the selected and more are needed, the next lower level is usednext lower level is used

If more parents are needed and all If more parents are needed and all levels have been exhausted, levels have been exhausted, selection is random in the entire selection is random in the entire populationpopulation

Selection – select2Selection – select2

Designed for higher selection Designed for higher selection pressurepressure

All parents are selected from the top All parents are selected from the top levellevel

Selection – select3Selection – select3

Randomly select individuals in the Randomly select individuals in the populationpopulation

Recombination and Recombination and MutationMutation

Problem specificProblem specific Operations are handled within the Operations are handled within the

“Individual” object“Individual” object Will sometimes use a mutation size Will sometimes use a mutation size

that decreases as the number of that decreases as the number of generations increasesgenerations increases

InsertInsert

Check to see if the new individual x Check to see if the new individual x belongs in the top levelbelongs in the top level If x strongly dominates, insert x into a If x strongly dominates, insert x into a

new level abovenew level above If x weakly dominates, remove If x weakly dominates, remove

dominated individuals and insertdominated individuals and insert If x is equivalent, insertIf x is equivalent, insert Else, try next lower levelElse, try next lower level

Objective TruncationObjective Truncation

Suppose each objective function value Suppose each objective function value is a real number in the range [0, 1]is a real number in the range [0, 1]

When an individual is inserted into the When an individual is inserted into the data structure, it is compared using less data structure, it is compared using less than and equivalency operatorsthan and equivalency operators

These operators will multiply the These operators will multiply the objective values by say, 100, and then objective values by say, 100, and then truncate before doing the comparisontruncate before doing the comparison

Tree BehaviorTree Behavior

Duplicate individuals are not allowed Duplicate individuals are not allowed in a treein a tree

Standard Binary Search TreeStandard Binary Search Tree Insertion depends on less than and Insertion depends on less than and

equivalency operators of the equivalency operators of the individual objectindividual object

Metrics - ConvergenceMetrics - Convergence

Calculate a Pareto Optimal solution Calculate a Pareto Optimal solution setset

Calculate the distance from an Calculate the distance from an individual in the population to the individual in the population to the closest individual in the solution setclosest individual in the solution set

The convergence metric is the The convergence metric is the average of these distancesaverage of these distances

Metrics - DiversityMetrics - Diversity

Draw a Voronoi Diagram of a populationDraw a Voronoi Diagram of a population The Voronoi Diagram will “Decompose The Voronoi Diagram will “Decompose

space into regions around each point such space into regions around each point such that all the points in the region around pthat all the points in the region around p ii are closer to pare closer to pii than they are to any other than they are to any other point in S”point in S”

In a perfectly distributed solution, region In a perfectly distributed solution, region will have the same areawill have the same area

The standard deviation of the areas is the The standard deviation of the areas is the metricmetric

ZDT1 ResultsZDT1 Results

EPSMOEEPSMOEAA

NSGA2NSGA2 T-MOEAT-MOEA

Avg ConvAvg Conv 0.0016200.001620596596

0.0024140.002414274274

0.0003980.000398675675

StdDv StdDv ConvConv

0.0001640.000164577577

0.0003650.000365921921

3.36481E-3.36481E-0505

Avg DivrsAvg Divrs 0.0008280.000828195195

0.0010780.001078336336

0.0008940.000894804804

StdDv StdDv DivrsDivrs

0.0025860.002586758758

0.0048020.004802443443

0.0016200.001620805805

ParametersParameters

PopSize:100PopSize:100 LevelSize: 100LevelSize: 100 NumLevels: 4NumLevels: 4 NumChildren: 100NumChildren: 100 NumGens: 200NumGens: 200 Select1: trueSelect1: true F1_FACTOR: 100F1_FACTOR: 100 F2_FACTOR: 500F2_FACTOR: 500

Questions?Questions?