360 likes | 621 Views
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
E N D
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 • Based on the concept of the standard EA, but with multiple objectives to optimize • Some of the objectives may conflict with one another
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 MOEA, an individual A is said to be better than an individual B if AdominatesB (Deb)
Dominance • 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 strictly better than x2 in at least one objective (Deb)
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) • Globally Pareto-optimal set: The non-dominated set of the entire feasible search space S is the globally Pareto-optimal set (Deb)
MOEA Goals • The Global Pareto-Optimal set of solutions • A sufficient number of solutions • An even distribution of solutions
MOEA Metrics • 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
NSGA-II • Initialization – before primary loop • Create initial population P0 • Sort P0 on the basis of non-domination • Best level is level 1 • Fitness is set to level number; lower number, higher fitness • Binary Tournament Selection • Mutation and Recombination create Q0
NSGA-II • Primary Loop • Rt = Pt + Qt • Sort Rt on the basis of non-domination • Create Pt + 1 by adding the best individuals from Rt • Create Qt + 1 by performing Binary Tournament Selection, Mutation, and Recombination on Pt + 1
Epsilon MOEA • Steady State • Elitist • No deterioration
Epsilon MOEA • Create an initial population P(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 • 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
Epsilon MOEA • 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 • 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
SNDL-MOEA • Desired Features • Deterioration Prevention • Stored non-domination levels (NSGA-II) • Number and size of levels user configurable • Selection methods utilizing levels in different ways • Problem specific representation • Problem specific “compartments” (E-MOEA) • Problem specific mutation and crossover
SNDL-MOEA • Population storage data structure
SNDL-MOEA • While(terminating condition not met) • Select parents • Utilize one of three different selection procedures • Create children • Perform recombination and mutation • Insert children into the population • May or may not remove individuals
SNDL-MOEA • Parent Selection • Method 1 • All parents randomly selected from top level • Method 2 • Top down, then random from the entire population • Method 3 • Random from the entire population
SNDL-MOEA • Create Children • Clone • CrossAndMutate • Required member function of Individual class • Application programmer chooses crossover and mutation methods using two Individuals • Typical for sample problems: • One point crossover • Always mutate one value
SNDL-MOEA • Insert Children • Starting at the top level, determine the relationship between child and individuals in that level • Strongly dominates -> create new level • Weakly dominates - > insert and remove weak • Equality -> insert • Dominated -> try lower level • Level Pruning
Music • Chord Progression Objectives: • Match Chord Pair Percentages • Maximize number of different chords • Start with I chord • End with I or V chord
Music • Arrangement Objectives • Large Jumps: minimized • Melody Lengths: should all be the same • Notes Out of Key: should be minimized • Cross Voices: should be minimized • Notes Out of Range: should be minimized • Bad Chords: (chords not in the chord progression) should be minimized
TSCCD • Tight Single Change Covering Design • Construct a sequence of blocks • 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 • 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
TSCCD • TSCCD(12, 4) • solved by SNDL-MOEA • TSCCD(20, 5) • Work in progress • Only a few known solutions
Future Work • SNDL2 • Domination check against a configurable percentage of a level (except top level) • Eliminate quadratic delete from level – replace with something constant time • Re-Implement with efficiency as a high priority • Option to read initial population from file • Practical Applications