Multi-Objective Evolutionary Algorithms
description
Transcript of Multi-Objective Evolutionary Algorithms
![Page 1: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/1.jpg)
Multi-Objective Multi-Objective Evolutionary Evolutionary AlgorithmsAlgorithms
Matt D. JohnsonMatt D. JohnsonApril 19, 2007April 19, 2007
![Page 2: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/2.jpg)
Main TopicsMain Topics MOEA Basics MOEA Basics NSGA-IINSGA-II Epsilon MOEAEpsilon MOEA SNDL-MOEASNDL-MOEA ResultsResults Future Work – SNDL2Future Work – SNDL2
![Page 3: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/3.jpg)
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
![Page 4: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/4.jpg)
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)
![Page 5: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/5.jpg)
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)
![Page 6: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/6.jpg)
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)
![Page 7: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/7.jpg)
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
![Page 8: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/8.jpg)
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
![Page 9: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/9.jpg)
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
![Page 10: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/10.jpg)
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
![Page 11: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/11.jpg)
Epsilon MOEAEpsilon MOEA Steady StateSteady State ElitistElitist No deteriorationNo deterioration
![Page 12: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/12.jpg)
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
![Page 13: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/13.jpg)
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
![Page 14: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/14.jpg)
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
![Page 15: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/15.jpg)
SNDL-MOEASNDL-MOEA Population storage data structurePopulation storage data structure
![Page 16: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/16.jpg)
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
![Page 17: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/17.jpg)
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
![Page 18: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/18.jpg)
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
![Page 19: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/19.jpg)
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
![Page 20: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/20.jpg)
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
![Page 21: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/21.jpg)
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
![Page 22: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/22.jpg)
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
![Page 23: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/23.jpg)
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
![Page 24: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/24.jpg)
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
![Page 25: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/25.jpg)
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
![Page 26: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/26.jpg)
Music: Selection 0Music: Selection 0
![Page 27: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/27.jpg)
Music: Selection 20Music: Selection 20
![Page 28: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/28.jpg)
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
![Page 29: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/29.jpg)
TSCCDTSCCD
11223344
11559944
33229944
11229944
11669944
![Page 30: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/30.jpg)
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
![Page 31: Multi-Objective Evolutionary Algorithms](https://reader035.fdocuments.net/reader035/viewer/2022062521/56814986550346895db6cfe4/html5/thumbnails/31.jpg)
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