MultiObjective Evolutionary Algorithms Matt D Johnson April 19
Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007
Main Topics MOEA Basics n NSGA-II n Epsilon MOEA n SNDL-MOEA n Results n Future Work – SNDL 2 n
MOEAs Multi Objective Evolutionary Algorithms n Based on the concept of the standard EA, but with multiple objectives to optimize n Some of the objectives may conflict with one another n
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 n In a MOEA, an individual A is said to be better than an individual B if A dominates B (Deb) n
Dominance n A solution x 1 is said to dominate a solution x 2 if both conditions below are true: The solution x 1 is no worse than x 2 in all objectives n The solution x 1 is strictly better than x 2 in at least one objective (Deb) n
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) n Globally Pareto-optimal set: The nondominated set of the entire feasible search space S is the globally Pareto-optimal set (Deb) n
MOEA Goals The Global Pareto-Optimal set of solutions n A sufficient number of solutions n An even distribution of solutions n
MOEA Metrics Convergence: How close is a generated solution set to the true Pareto-optimal front n Diversity: Are the generated solutions evenly distributed, or are they in clusters n
NSGA-II n Initialization – before primary loop Create initial population P 0 n Sort P 0 on the basis of non-domination n Best level is level 1 n Fitness is set to level number; lower number, higher fitness n Binary Tournament Selection n Mutation and Recombination create Q 0 n
NSGA-II n Primary Loop Rt = Pt + Qt n Sort Rt on the basis of non-domination n Create Pt + 1 by adding the best individuals from Rt n Create Qt + 1 by performing Binary Tournament Selection, Mutation, and Recombination on Pt + 1 n
Epsilon MOEA Steady State n Elitist n No deterioration n
Epsilon MOEA Create an initial population P(0) n Epsilon non-dominated solutions from P(0) are put into an archive population E(0) n Choose one individual from E, and one from P n These individuals mate and produce an offspring, c n A special array B is created for c, which consists of abbreviated versions of the objective values from c n
Epsilon MOEA An attempt to insert c into the archive population E n The domination check is conducted using the B array instead of the actual objective values n If c dominates a member of the archive, that member will be replaced with c n The individual c can also be inserted into P in a similar manner using a standard domination check n
SNDL-MOEA n Desired Features Deterioration Prevention n Stored non-domination levels (NSGA-II) n Number and size of levels user configurable n Selection methods utilizing levels in different ways n Problem specific representation n Problem specific “compartments” (E-MOEA) n Problem specific mutation and crossover n
SNDL-MOEA n Population storage data structure
SNDL-MOEA n While(terminating condition not met) n Select parents n Utilize one of three different selection procedures n Create children n Perform recombination and mutation n Insert children into the population n May or may not remove individuals
SNDL-MOEA n Parent Selection n Method 1 n All parents randomly selected from top level n Method 2 n Top down, then random from the entire population n Method 3 n Random from the entire population
SNDL-MOEA n Create Children Clone n Cross. And. Mutate n n Required member function of Individual class n Application programmer chooses crossover and mutation methods using two Individuals n Typical for sample problems: n n One point crossover Always mutate one value
SNDL-MOEA n Insert Children n Starting at the top level, determine the relationship between child and individuals in that level n Strongly dominates -> create new level n Weakly dominates - > insert and remove weak n Equality -> insert n Dominated -> try lower level n Level Pruning
Convergence Epsi SN lon NS DL MO GA- MO EA II EA 0. 0 Z 0. 00 024 003 D 162 142 986 T 1 059 7 7 0. 0 Z 0. 00 024 004 D 238 176 031
Convergence Epsi SN lo D n NS L MO G MO E A E A -II A 0. 3 1 4 0. 31 2 6 D 4 9 2 T 0 6 7 8 L 5 7
Diversity Epsi SN lo D n NS L MO G MO E A E A -II A 0. 0 0 0. 00 1 0 0 0 8 Z 8 7 9 D 2 8
Diversity Epsi SN lo D n NS L MO G MO E AE A II A 0. 0 0 0. 00 0 D 0 3 T 1 0. 02 1 6 62 L 9
Music n Chord Progression Objectives: Match Chord Pair Percentages n Maximize number of different chords n Start with I chord n End with I or V chord n
Music n Arrangement Objectives Large Jumps: minimized n Melody Lengths: should all be the same n Notes Out of Key: should be minimized n Cross Voices: should be minimized n Notes Out of Range: should be minimized n Bad Chords: (chords not in the chord progression) should be minimized n
Music: Selection 0
Music: Selection 20
TSCCD n Tight Single Change Covering Design Construct a sequence of blocks n A block consists of k integers in the range 1 to v n Every pair of integers in the range 1 to v must occur at least once n Each block is identical to the previous block, except for one integer n Each block contains k – 1 new pairs made with the transfer and another entry in that block n
TSCCD 1 1 31 1 2 2 52 6 3 9 9 9 4 4
TSCCD n TSCCD(12, 4) n n solved by SNDL-MOEA TSCCD(20, 5) Work in progress n Only a few known solutions n
Future Work n SNDL 2 Domination check against a configurable percentage of a level (except top level) n Eliminate quadratic delete from level – replace with something constant time n Re-Implement with efficiency as a high priority n Option to read initial population from file n Practical Applications n
- Slides: 31