moeas university of missouri - rolla dr. t’s course in evolutionary computation matt d. johnson...
TRANSCRIPT
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