Top Banner
Multi-Objective Multi-Objective Evolutionary Evolutionary Algorithms Algorithms Matt D. Johnson Matt D. Johnson April 19, 2007 April 19, 2007
31

Multi-Objective Evolutionary Algorithms

Mar 18, 2016

Download

Documents

roscoe

Multi-Objective Evolutionary Algorithms. Matt D. Johnson April 19, 2007. Main Topics. MOEA Basics NSGA-II Epsilon MOEA SNDL-MOEA Results Future Work – SNDL2. MOEAs. Multi Objective Evolutionary Algorithms - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Multi-Objective Evolutionary Algorithms

Multi-Objective Multi-Objective Evolutionary Evolutionary AlgorithmsAlgorithms

Matt D. JohnsonMatt D. JohnsonApril 19, 2007April 19, 2007

Page 2: Multi-Objective Evolutionary Algorithms

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

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

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

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

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

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

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

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

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

Epsilon MOEAEpsilon MOEA Steady StateSteady State ElitistElitist No deteriorationNo deterioration

Page 12: Multi-Objective Evolutionary Algorithms

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

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

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

SNDL-MOEASNDL-MOEA Population storage data structurePopulation storage data structure

Page 16: Multi-Objective Evolutionary Algorithms

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

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

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

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

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

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

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

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

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

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

Music: Selection 0Music: Selection 0

Page 27: Multi-Objective Evolutionary Algorithms

Music: Selection 20Music: Selection 20

Page 28: Multi-Objective Evolutionary Algorithms

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

TSCCDTSCCD

11223344

11559944

33229944

11229944

11669944

Page 30: Multi-Objective Evolutionary Algorithms

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

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