Download - Multi-Objective Evolutionary Algorithms
Multi-Objective Multi-Objective Evolutionary Evolutionary AlgorithmsAlgorithms
Matt D. JohnsonMatt D. JohnsonApril 19, 2007April 19, 2007
Main TopicsMain Topics MOEA Basics MOEA Basics NSGA-IINSGA-II Epsilon MOEAEpsilon MOEA SNDL-MOEASNDL-MOEA ResultsResults Future Work – SNDL2Future Work – SNDL2
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 A solution x1 is said to dominate a
solution x2 if both conditions below solution x2 if both conditions below are true:are true: The solution x1 is no worse than x2 in The solution x1 is no worse than x2 in
all objectivesall objectives The solution x1 is strictly better than x2 The solution x1 is strictly better than x2
in at least one objective (Deb)in at least one objective (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 Pareto-search space S is the globally Pareto-optimal set (Deb)optimal set (Deb)
MOEA GoalsMOEA Goals The Global Pareto-Optimal set of The Global Pareto-Optimal set of
solutionssolutions A sufficient number of solutionsA sufficient number of solutions An even distribution of solutionsAn even distribution of solutions
MOEA MetricsMOEA Metrics Convergence: How close is a Convergence: How close is a
generated solution set to the true generated solution set to the true Pareto-optimal frontPareto-optimal front
Diversity: Are the generated Diversity: Are the generated solutions evenly distributed, or are solutions evenly distributed, or are they in clustersthey in clusters
NSGA-IINSGA-II Initialization – before primary loopInitialization – before primary loop
Create initial population PCreate initial population P00
Sort PSort P00 on the basis of non-domination on the basis of non-domination Best level is level 1Best level is level 1 Fitness is set to level number; lower Fitness is set to level number; lower
number, higher fitnessnumber, higher fitness Binary Tournament SelectionBinary Tournament Selection Mutation and Recombination create QMutation and Recombination create Q00
NSGA-IINSGA-II Primary LoopPrimary Loop
RRtt = P = Ptt + Q + Qtt
Sort RSort Rtt on the basis of non-domination on the basis of non-domination Create PCreate Pt + 1t + 1 by adding the best by adding the best
individuals from Rindividuals from Rtt
Create QCreate Qt + 1t + 1 by performing Binary by performing Binary Tournament Selection, Mutation, and Tournament Selection, Mutation, and Recombination on PRecombination on Pt + 1t + 1
Epsilon MOEAEpsilon MOEA Steady StateSteady State ElitistElitist No deteriorationNo deterioration
Epsilon MOEAEpsilon MOEA Create an initial population P(0)Create an initial population P(0) Epsilon non-dominated solutions from P(0) Epsilon non-dominated solutions from P(0)
are put into an archive population E(0)are put into an archive population E(0) Choose one individual from E, and one Choose one individual from E, and one
from Pfrom P These individuals mate and produce an These individuals mate and produce an
offspring, coffspring, c A special array B is created for c, which A special array B is created for c, which
consists of abbreviated versions of the consists of abbreviated versions of the objective values from cobjective values from c
Epsilon MOEAEpsilon MOEA An attempt to insert c into the archive An attempt to insert c into the archive
population Epopulation E The domination check is conducted The domination check is conducted
using the B array instead of the actual using the B array instead of the actual objective valuesobjective values
If c dominates a member of the archive, If c dominates a member of the archive, that member will be replaced with cthat member will be replaced with c
The individual c can also be inserted The individual c can also be inserted into P in a similar manner using a into P in a similar manner using a standard domination checkstandard domination check
SNDL-MOEASNDL-MOEA Desired FeaturesDesired Features
Deterioration PreventionDeterioration Prevention Stored non-domination levels (NSGA-II)Stored non-domination levels (NSGA-II) Number and size of levels user configurableNumber and size of levels user configurable Selection methods utilizing levels in Selection methods utilizing levels in
different waysdifferent ways Problem specific representationProblem specific representation Problem specific “compartments” (E-MOEA)Problem specific “compartments” (E-MOEA) Problem specific mutation and crossoverProblem specific mutation and crossover
SNDL-MOEASNDL-MOEA Population storage data structurePopulation storage data structure
SNDL-MOEASNDL-MOEA While(terminating condition not met)While(terminating condition not met)
Select parentsSelect parents Utilize one of three different selection Utilize one of three different selection
proceduresprocedures Create childrenCreate children
Perform recombination and mutationPerform recombination and mutation Insert children into the populationInsert children into the population
May or may not remove individualsMay or may not remove individuals
SNDL-MOEASNDL-MOEA Parent SelectionParent Selection
Method 1Method 1 All parents randomly selected from top levelAll parents randomly selected from top level
Method 2Method 2 Top down, then random from the entire Top down, then random from the entire
populationpopulation Method 3Method 3
Random from the entire populationRandom from the entire population
SNDL-MOEASNDL-MOEA Create ChildrenCreate Children
CloneClone CrossAndMutateCrossAndMutate
Required member function of Required member function of IndividualIndividual classclass
Application programmer chooses crossover Application programmer chooses crossover and mutation methods using two and mutation methods using two IndividualsIndividuals
Typical for sample problems:Typical for sample problems: One point crossoverOne point crossover Always mutate one valueAlways mutate one value
SNDL-MOEASNDL-MOEA Insert ChildrenInsert Children
Starting at the top level, determine the Starting at the top level, determine the relationship between child and relationship between child and individuals in that levelindividuals in that level Strongly dominates -> create new levelStrongly dominates -> create new level Weakly dominates - > insert and remove Weakly dominates - > insert and remove
weakweak Equality -> insertEquality -> insert Dominated -> try lower levelDominated -> try lower level
Level PruningLevel Pruning
ConvergenceConvergence
Epsilon MOEA NSGA-II
SNDLMOEA
ZDT1 0.00162059 0.00241427 0.00039867
ZDT2 0.00238283 0.00241762 0.00040317
ZDT3 0.00105527 0.00138903 0.00061604
ZDT4 0.00630488 0.01467574 0.02256824
ZDT6 0.00662071 0.01649615 0.00291917
ConvergenceConvergence
EpsilonMOEA NSGA-II
SNDLMOEA
DTLZ1 0.31408666 0.31296544 0.34627738
DTLZ2 0.01889054 0.02340261 0.02686478
DTLZ3 6.30348067 42.64948 5.84609866
DTLZ4 0.02931693 0.02833454 0.02699411
DTLZ5 0.03070071 0.02654871 0.02111537
DiversityDiversity
EpsilonMOEA NSGA-II
SNDLMOEA
ZDT1 0.00082819 0.00107833 0.0008948
ZDT2 0.00101474 0.00098353 0.00088526
ZDT3 0.00363732 0.00129403 0.00167855
ZDT4 0.00086732 0.00098623 0.00438463
ZDT6 0.00029392 0.00022953 0.00085335
DiversityDiversity
EpsilonMOEA NSGA-II
SNDLMOEA
DTLZ1 0.00016548 0.02627617 0.00031916
DTLZ2 0.00019262 0.0006576 7.82E-05
DTLZ3 0.32994313 3269.401309 0.46402944
DTLZ4 0.00019657 0.0007244 0.00184699
DTLZ5 7.41E-07 2.84E-06 1.90E-06
MusicMusic Chord Progression Objectives:Chord Progression Objectives:
Match Chord Pair PercentagesMatch Chord Pair Percentages Maximize number of different chordsMaximize number of different chords Start with I chordStart with I chord End with I or V chordEnd with I or V chord
MusicMusic Arrangement ObjectivesArrangement Objectives
Large Jumps: minimizedLarge Jumps: minimized Melody Lengths: should all be the sameMelody Lengths: should all be the same Notes Out of Key: should be minimizedNotes Out of Key: should be minimized Cross Voices: should be minimizedCross Voices: should be minimized Notes Out of Range: should be Notes Out of Range: should be
minimizedminimized Bad Chords: (chords not in the chord Bad Chords: (chords not in the chord
progression) should be minimizedprogression) should be minimized
Music: Selection 0Music: Selection 0
Music: Selection 20Music: Selection 20
TSCCDTSCCD Tight Single Change Covering DesignTight Single Change Covering Design
Construct a sequence of blocksConstruct a sequence of blocks A block consists of k integers in the range 1 to A block consists of k integers in the range 1 to
vv Every pair of integers in the range 1 to v must Every pair of integers in the range 1 to v must
occur at least onceoccur at least once Each block is identical to the previous block, Each block is identical to the previous block,
except for one integerexcept for one integer Each block contains k – 1 new pairs made with Each block contains k – 1 new pairs made with
the transfer and another entry in that blockthe transfer and another entry in that block
TSCCDTSCCD
11223344
11559944
33229944
11229944
11669944
TSCCDTSCCD TSCCD(12, 4)TSCCD(12, 4)
solved by SNDL-MOEAsolved by SNDL-MOEA TSCCD(20, 5) TSCCD(20, 5)
Work in progressWork in progress Only a few known solutionsOnly a few known solutions
Future WorkFuture Work SNDL2SNDL2
Domination check against a configurable Domination check against a configurable percentage of a level (except top level)percentage of a level (except top level)
Eliminate quadratic delete from level – Eliminate quadratic delete from level – replace with something constant timereplace with something constant time
Re-Implement with efficiency as a high Re-Implement with efficiency as a high prioritypriority
Option to read initial population from fileOption to read initial population from file Practical ApplicationsPractical Applications