# MOEAs University of Missouri - Rolla Dr. T’s Course in Evolutionary Computation Matt D. Johnson November 6, 2006.

## Presentation on theme: "MOEAs University of Missouri - Rolla Dr. T’s Course in Evolutionary Computation Matt D. Johnson November 6, 2006."— Presentation transcript:

MOEAs University of Missouri - Rolla Dr. T’s Course in Evolutionary Computation Matt D. Johnson November 6, 2006

Main Topics Multi Objective Evolutionary Algorithms Multi Objective Evolutionary Algorithms Example Problem – ZDT1 Example Problem – ZDT1 T-MOEA T-MOEA Preliminary Results Preliminary Results

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

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)

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) If x1 dominates x2 (x1 ≤ x2), it can be said that If x1 dominates x2 (x1 ≤ x2), it can be said that x2 is dominated by x1 x2 is dominated by x1 x1 is non-dominated by x2 x1 is non-dominated by x2 x1 is non-inferior to x2 (Deb) x1 is non-inferior to x2 (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) 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)

Deterioration Deterioration occurs when individuals in the current solution are dominated by individuals that existed in the solution set previously, but have since been terminated Deterioration occurs when individuals in the current solution are dominated by individuals that existed in the solution set previously, but have since been terminated Even “elitist” algorithms can suffer from this condition Even “elitist” algorithms can suffer from this condition

Defeating Deterioration Efficiency Preservation: Property of accepting a new individual only if it dominates an existing individual in the population Efficiency Preservation: Property of accepting a new individual only if it dominates an existing individual in the population Negative Efficiency Preservation: An individual is deleted from the population only if it is being replaced by a superior individual. Negative Efficiency Preservation: An individual is deleted from the population only if it is being replaced by a superior individual.

Example Problem: ZDT1 Zitzler-Deb-Thiele’s Test Problems Zitzler-Deb-Thiele’s Test Problems Minimize f 1 (x) Minimize f 1 (x) Minimize f 2 (x) = g(x) h(f 1 (x), g(x)) Minimize f 2 (x) = g(x) h(f 1 (x), g(x))

ZDT1: Pareto Optimal Solution

MOEA Goals Find the Globally Pareto-Optimal set of solutions Find the Globally Pareto-Optimal set of solutions Would like as many solutions as possible Would like as many solutions as possible Even distribution of solutions Even distribution of solutions

NSGA-II A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, T. Meyarivan Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, T. Meyarivan Each generation bounded by a fast nondominated sort - O(MN 2 ) Each generation bounded by a fast nondominated sort - O(MN 2 )

NSGA-II Steps before main loop begins Steps before main loop begins Initialize population P 0 Initialize population P 0 Sort P 0 on the basis of nondomination Sort P 0 on the basis of nondomination Fitness of an individual is equal to an individuals nondomination level Fitness of an individual is equal to an individuals nondomination level Binary Tournament Selection Binary Tournament Selection Mutation and recombination create an offspring population Q 0 Mutation and recombination create an offspring population Q 0

NSGA-II Primary loop Primary loop R t = P t + Q t (t = generation) R t = P t + Q t (t = generation) Sort R t on the basis of nondomination Sort R t on the basis of nondomination Create P t+1 by adding individuals from each level of R t until P t+1 is of size N Create P t+1 by adding individuals from each level of R t until P t+1 is of size N Create Q t+1 by applying Binary Tournament Selection, Mutation, and Recombination to P t+1 Create Q t+1 by applying Binary Tournament Selection, Mutation, and Recombination to P t+1 Increment t Increment t

Epsilon MOEA A Fast Multi-objective Evolutionary Algorithm for Finding Well-Spread Parto-Optimal Solutions A Fast Multi-objective Evolutionary Algorithm for Finding Well-Spread Parto-Optimal Solutions Kalyanmoy Deb, Manikanth Mohan and Shikar Mishra Kalyanmoy Deb, Manikanth Mohan and Shikar Mishra Steady State, Elitist, Does not suffer from deterioration Steady State, Elitist, Does not suffer from deterioration Uses epsilon dominance (fuzzy dominance) Uses epsilon dominance (fuzzy dominance)

Epsilon MOEA Uses two populations Uses two populations An individual is only deleted when it is replaced with a superior individual An individual is only deleted when it is replaced with a superior individual Uses an identification array B which consists of abbreviated objective values, creating containers – only one individual may occur in a container Uses an identification array B which consists of abbreviated objective values, creating containers – only one individual may occur in a container

Motivation for T-MOEA Faster – avoid duplicating work (sorting the population again and again, even when it has not changed that much) Faster – avoid duplicating work (sorting the population again and again, even when it has not changed that much) Simpler – existing algorithms are difficult to explain and understand Simpler – existing algorithms are difficult to explain and understand Object Oriented – existing algorithms can be implemented in an OO manner, but are not specifically designed that way Object Oriented – existing algorithms can be implemented in an OO manner, but are not specifically designed that way

Motivation for T-MOEA Greater flexibility Greater flexibility Multiple selection approaches Multiple selection approaches Control size and number of nondomination levels Control size and number of nondomination levels Elitist Elitist No deterioration No deterioration

T-MOEA Algorithm Initialization Initialization while termination condition is false do while termination condition is false do Parent Selection Parent Selection Recombination and Mutation Recombination and Mutation Insertion Insertion end while end while

Data Structure Most EAs and MOEAs use a “pool” of individuals Most EAs and MOEAs use a “pool” of individuals T-MOEA calls for a vector of Binary Search Trees T-MOEA calls for a vector of Binary Search Trees No duplicate individuals allowed No duplicate individuals allowed

Selection – select1 Parents will be selected from the top level Parents will be selected from the top level If all individuals in a level have been selected and more are needed, the next lower level is used If all individuals in a level have been selected and more are needed, the next lower level is used If more parents are needed and all levels have been exhausted, selection is random in the entire population If more parents are needed and all levels have been exhausted, selection is random in the entire population

Selection – select2 Designed for higher selection pressure Designed for higher selection pressure All parents are selected from the top level All parents are selected from the top level

Selection – select3 Randomly select individuals in the population Randomly select individuals in the population

Recombination and Mutation Problem specific Problem specific Operations are handled within the “Individual” object Operations are handled within the “Individual” object Will sometimes use a mutation size that decreases as the number of generations increases Will sometimes use a mutation size that decreases as the number of generations increases

Insert Check to see if the new individual x belongs in the top level Check to see if the new individual x belongs in the top level If x strongly dominates, insert x into a new level above If x strongly dominates, insert x into a new level above If x weakly dominates, remove dominated individuals and insert If x weakly dominates, remove dominated individuals and insert If x is equivalent, insert If x is equivalent, insert Else, try next lower level Else, try next lower level

Objective Truncation Suppose each objective function value is a real number in the range [0, 1] Suppose each objective function value is a real number in the range [0, 1] When an individual is inserted into the data structure, it is compared using less than and equivalency operators When an individual is inserted into the data structure, it is compared using less than and equivalency operators These operators will multiply the objective values by say, 100, and then truncate before doing the comparison These operators will multiply the objective values by say, 100, and then truncate before doing the comparison

Tree Behavior Duplicate individuals are not allowed in a tree Duplicate individuals are not allowed in a tree Standard Binary Search Tree Standard Binary Search Tree Insertion depends on less than and equivalency operators of the individual object Insertion depends on less than and equivalency operators of the individual object

Metrics - Convergence Calculate a Pareto Optimal solution set Calculate a Pareto Optimal solution set Calculate the distance from an individual in the population to the closest individual in the solution set Calculate the distance from an individual in the population to the closest individual in the solution set The convergence metric is the average of these distances The convergence metric is the average of these distances

Metrics - Diversity Draw a Voronoi Diagram of a population Draw a Voronoi Diagram of a population The Voronoi Diagram will “Decompose space into regions around each point such that all the points in the region around p i are closer to p i than they are to any other point in S” The Voronoi Diagram will “Decompose space into regions around each point such that all the points in the region around p i are closer to p i than they are to any other point in S” In a perfectly distributed solution, region will have the same area In a perfectly distributed solution, region will have the same area The standard deviation of the areas is the metric The standard deviation of the areas is the metric

ZDT1 Results EPSMOEANSGA2T-MOEA Avg Conv 0.0016205960.0024142740.000398675 StdDv Conv 0.0001645770.0003659213.36481E-05 Avg Divrs 0.0008281950.0010783360.000894804 StdDv Divrs 0.0025867580.0048024430.001620805

Parameters PopSize:100 PopSize:100 LevelSize: 100 LevelSize: 100 NumLevels: 4 NumLevels: 4 NumChildren: 100 NumChildren: 100 NumGens: 200 NumGens: 200 Select1: true Select1: true F1_FACTOR: 100 F1_FACTOR: 100 F2_FACTOR: 500 F2_FACTOR: 500

Questions?

Download ppt "MOEAs University of Missouri - Rolla Dr. T’s Course in Evolutionary Computation Matt D. Johnson November 6, 2006."

Similar presentations