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 Matt D. Johnson April 19, 2007.

Dec 20, 2015

Download

Documents

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 Matt D. Johnson April 19, 2007.

Multi-Objective Multi-Objective Evolutionary Evolutionary AlgorithmsAlgorithms

Matt D. JohnsonMatt D. Johnson

April 19, 2007April 19, 2007

Page 2: Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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)

Page 7: Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

Epsilon MOEAEpsilon MOEA

Steady StateSteady State ElitistElitist No deteriorationNo deterioration

Page 12: Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 different Selection methods utilizing levels in different

waysways 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 Matt D. Johnson April 19, 2007.

SNDL-MOEASNDL-MOEA

Population storage data structurePopulation storage data structure

Page 16: Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

Music: Selection 0Music: Selection 0

Page 27: Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007.

Music: Selection 20Music: Selection 20

Page 28: Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007.

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 A block consists of k integers in the range 1

to vto v 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 Each block contains k – 1 new pairs made

with the transfer and another entry in that with the transfer and another entry in that blockblock

Page 29: Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007.

TSCCDTSCCD

11

22

33

44

11

55

99

44

33

22

99

44

11

22

99

44

11

66

99

44

Page 30: Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007.

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 Matt D. Johnson April 19, 2007.

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