Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007."— Presentation transcript:

1 Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007

2 Main Topics MOEA Basics MOEA Basics NSGA-II NSGA-II Epsilon MOEA Epsilon MOEA SNDL-MOEA SNDL-MOEA Results Results Future Work – SNDL2 Future Work – SNDL2

3 MOEAs Multi Objective Evolutionary Algorithms Multi Objective Evolutionary Algorithms Based on the concept of the standard EA, but with multiple objectives to optimize Based on the concept of the standard EA, but with multiple objectives to optimize Some of the objectives may conflict with one another Some of the objectives may conflict with one another

4 Fitness vs. Dominance In a standard EA, an individual A is said to be better than an individual B if A has a higher fitness value than B In a standard EA, an individual A is said to be better than an individual B if A has a higher fitness value than B In a MOEA, an individual A is said to be better than an individual B if A dominates B (Deb) In a MOEA, an individual A is said to be better than an individual B if A dominates B (Deb)

5 Dominance A solution x1 is said to dominate a solution x2 if both conditions below are true: A solution x1 is said to dominate a solution x2 if both conditions below are true: The solution x1 is no worse than x2 in all objectives The solution x1 is no worse than x2 in all objectives The solution x1 is strictly better than x2 in at least one objective (Deb) The solution x1 is strictly better than x2 in at least one objective (Deb)

6 Pareto Optimality Non-dominated set: Among a set of solutions P, the non-dominated set of solutions P’ are those that are not dominated by any member of the set P (Deb) Non-dominated set: Among a set of solutions P, the non-dominated set of solutions P’ are those that are not dominated by any member of the set P (Deb) Globally Pareto-optimal set: The non-dominated set of the entire feasible search space S is the globally Pareto-optimal set (Deb) Globally Pareto-optimal set: The non-dominated set of the entire feasible search space S is the globally Pareto-optimal set (Deb)

7 MOEA Goals The Global Pareto-Optimal set of solutions The Global Pareto-Optimal set of solutions A sufficient number of solutions A sufficient number of solutions An even distribution of solutions An even distribution of solutions

8 MOEA Metrics Convergence: How close is a generated solution set to the true Pareto-optimal front Convergence: How close is a generated solution set to the true Pareto-optimal front Diversity: Are the generated solutions evenly distributed, or are they in clusters Diversity: Are the generated solutions evenly distributed, or are they in clusters

9 NSGA-II Initialization – before primary loop Initialization – before primary loop Create initial population P 0 Create initial population P 0 Sort P 0 on the basis of non-domination Sort P 0 on the basis of non-domination Best level is level 1 Best level is level 1 Fitness is set to level number; lower number, higher fitness Fitness is set to level number; lower number, higher fitness Binary Tournament Selection Binary Tournament Selection Mutation and Recombination create Q 0 Mutation and Recombination create Q 0

10 NSGA-II Primary Loop Primary Loop R t = P t + Q t R t = P t + Q t Sort R t on the basis of non-domination Sort R t on the basis of non-domination Create P t + 1 by adding the best individuals from R t Create P t + 1 by adding the best individuals from R t Create Q t + 1 by performing Binary Tournament Selection, Mutation, and Recombination on P t + 1 Create Q t + 1 by performing Binary Tournament Selection, Mutation, and Recombination on P t + 1

11 Epsilon MOEA Steady State Steady State Elitist Elitist No deterioration No deterioration

12 Epsilon MOEA Create an initial population P(0) Create an initial population P(0) Epsilon non-dominated solutions from P(0) are put into an archive population E(0) Epsilon non-dominated solutions from P(0) are put into an archive population E(0) Choose one individual from E, and one from P Choose one individual from E, and one from P These individuals mate and produce an offspring, c These individuals mate and produce an offspring, c A special array B is created for c, which consists of abbreviated versions of the objective values from c A special array B is created for c, which consists of abbreviated versions of the objective values from c

13 Epsilon MOEA An attempt to insert c into the archive population E An attempt to insert c into the archive population E The domination check is conducted using the B array instead of the actual objective values The domination check is conducted using the B array instead of the actual objective values If c dominates a member of the archive, that member will be replaced with c If c dominates a member of the archive, that member will be replaced with c The individual c can also be inserted into P in a similar manner using a standard domination check The individual c can also be inserted into P in a similar manner using a standard domination check

14 SNDL-MOEA Desired Features Desired Features Deterioration Prevention Deterioration Prevention Stored non-domination levels (NSGA-II) Stored non-domination levels (NSGA-II) Number and size of levels user configurable Number and size of levels user configurable Selection methods utilizing levels in different ways Selection methods utilizing levels in different ways Problem specific representation Problem specific representation Problem specific “compartments” (E-MOEA) Problem specific “compartments” (E-MOEA) Problem specific mutation and crossover Problem specific mutation and crossover

15 SNDL-MOEA Population storage data structure Population storage data structure

16 SNDL-MOEA While(terminating condition not met) While(terminating condition not met) Select parents Select parents Utilize one of three different selection procedures Utilize one of three different selection procedures Create children Create children Perform recombination and mutation Perform recombination and mutation Insert children into the population Insert children into the population May or may not remove individuals May or may not remove individuals

17 SNDL-MOEA Parent Selection Parent Selection Method 1 Method 1 All parents randomly selected from top level All parents randomly selected from top level Method 2 Method 2 Top down, then random from the entire population Top down, then random from the entire population Method 3 Method 3 Random from the entire population Random from the entire population

18 SNDL-MOEA Create Children Create Children Clone Clone CrossAndMutate CrossAndMutate Required member function of Individual class Required member function of Individual class Application programmer chooses crossover and mutation methods using two Individuals Application programmer chooses crossover and mutation methods using two Individuals Typical for sample problems: Typical for sample problems: One point crossover One point crossover Always mutate one value Always mutate one value

19 SNDL-MOEA Insert Children Insert Children Starting at the top level, determine the relationship between child and individuals in that level Starting at the top level, determine the relationship between child and individuals in that level Strongly dominates -> create new level Strongly dominates -> create new level Weakly dominates - > insert and remove weak Weakly dominates - > insert and remove weak Equality -> insert Equality -> insert Dominated -> try lower level Dominated -> try lower level Level Pruning Level Pruning

20 Convergence Epsilon MOEANSGA-II SNDL MOEA ZDT10.001620590.002414270.00039867 ZDT20.002382830.002417620.00040317 ZDT30.001055270.001389030.00061604 ZDT40.006304880.014675740.02256824 ZDT60.006620710.016496150.00291917

21 Convergence Epsilon MOEANSGA-II SNDL MOEA DTLZ10.314086660.312965440.34627738 DTLZ20.018890540.023402610.02686478 DTLZ36.3034806742.649485.84609866 DTLZ40.029316930.028334540.02699411 DTLZ50.030700710.026548710.02111537

22 Diversity Epsilon MOEANSGA-II SNDL MOEA ZDT10.000828190.001078330.0008948 ZDT20.001014740.000983530.00088526 ZDT30.003637320.001294030.00167855 ZDT40.000867320.000986230.00438463 ZDT60.000293920.000229530.00085335

23 Diversity Epsilon MOEANSGA-II SNDL MOEA DTLZ10.000165480.026276170.00031916 DTLZ20.000192620.00065767.82E-05 DTLZ30.329943133269.4013090.46402944 DTLZ40.000196570.00072440.00184699 DTLZ57.41E-072.84E-061.90E-06

24 Music Chord Progression Objectives: Chord Progression Objectives: Match Chord Pair Percentages Match Chord Pair Percentages Maximize number of different chords Maximize number of different chords Start with I chord Start with I chord End with I or V chord End with I or V chord

25 Music Arrangement Objectives Arrangement Objectives Large Jumps: minimized Large Jumps: minimized Melody Lengths: should all be the same Melody Lengths: should all be the same Notes Out of Key: should be minimized Notes Out of Key: should be minimized Cross Voices: should be minimized Cross Voices: should be minimized Notes Out of Range: should be minimized Notes Out of Range: should be minimized Bad Chords: (chords not in the chord progression) should be minimized Bad Chords: (chords not in the chord progression) should be minimized

26 Music: Selection 0

27 Music: Selection 20

28 TSCCD Tight Single Change Covering Design Tight Single Change Covering Design Construct a sequence of blocks Construct a sequence of blocks A block consists of k integers in the range 1 to v A block consists of k integers in the range 1 to v Every pair of integers in the range 1 to v must occur at least once Every pair of integers in the range 1 to v must occur at least once Each block is identical to the previous block, except for one integer Each block is identical to the previous block, except for one integer Each block contains k – 1 new pairs made with the transfer and another entry in that block Each block contains k – 1 new pairs made with the transfer and another entry in that block

29 TSCCD 1 2 3 415 9 432 9 412 9 416 9 4

30 TSCCD TSCCD(12, 4) TSCCD(12, 4) solved by SNDL-MOEA solved by SNDL-MOEA TSCCD(20, 5) TSCCD(20, 5) Work in progress Work in progress Only a few known solutions Only a few known solutions

31 Future Work SNDL2 SNDL2 Domination check against a configurable percentage of a level (except top level) Domination check against a configurable percentage of a level (except top level) Eliminate quadratic delete from level – replace with something constant time Eliminate quadratic delete from level – replace with something constant time Re-Implement with efficiency as a high priority Re-Implement with efficiency as a high priority Option to read initial population from file Option to read initial population from file Practical Applications Practical Applications


Download ppt "Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007."

Similar presentations


Ads by Google