You are on page 1of 33

MOEAs

University of Missouri - Rolla


Dr. Ts Course in Evolutionary
Computation
Matt D. Johnson
November 6, 2006

Main Topics

Multi Objective Evolutionary


Algorithms
Example Problem ZDT1
T-MOEA
Preliminary Results

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 A
dominates B (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)

If x1 dominates x2 (x1 x2), it can be said


that
x2 is dominated by x1
x1 is non-dominated by x2
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)
Globally Pareto-optimal set: The nondominated set of the entire feasible
search space S is the globally Paretooptimal 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
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
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-Thieles Test Problems

Minimize f1(x)
Minimize f2(x) = g(x) h(f1(x), g(x))

ZDT1: Pareto Optimal


Solution

MOEA Goals

Find the Globally Pareto-Optimal set


of solutions
Would like as many solutions as
possible
Even distribution of solutions

NSGA-II

A Fast and Elitist Multiobjective


Genetic Algorithm: NSGA-II
Kalyanmoy Deb, Amrit Pratap,
Sameer Agarwal, T. Meyarivan
Each generation bounded by a fast
nondominated sort - O(MN2)

NSGA-II

Steps before main loop begins


Initialize population P0
Sort P0 on the basis of nondomination

Fitness of an individual is equal to an


individuals nondomination level
Binary Tournament Selection
Mutation and recombination create an
offspring population Q0

NSGA-II

Primary loop
Rt = Pt + Qt (t = generation)
Sort Rt on the basis of nondomination

Create Pt+1 by adding individuals from


each level of Rt until Pt+1 is of size N
Create Qt+1 by applying Binary
Tournament Selection, Mutation, and
Recombination to Pt+1
Increment t

Epsilon MOEA

A Fast Multi-objective Evolutionary


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

Epsilon MOEA

Uses two populations


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

Motivation for T-MOEA

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
Object Oriented existing algorithms
can be implemented in an OO manner,
but are not specifically designed that
way

Motivation for T-MOEA

Greater flexibility
Multiple selection approaches
Control size and number of
nondomination levels
Elitist
No deterioration

T-MOEA Algorithm

Initialization
while termination condition is false
do
Parent Selection
Recombination and Mutation
Insertion

end while

Data Structure

Most EAs and MOEAs use a pool of


individuals
T-MOEA calls for a vector of Binary
Search Trees
No duplicate individuals allowed

Selection select1

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 more parents are needed and all
levels have been exhausted, selection
is random in the entire population

Selection select2

Designed for higher selection


pressure
All parents are selected from the top
level

Selection select3

Randomly select individuals in the


population

Recombination and
Mutation

Problem specific
Operations are handled within the
Individual object
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
If x strongly dominates, insert x into a
new level above
If x weakly dominates, remove
dominated individuals and insert
If x is equivalent, insert
Else, try next lower level

Objective Truncation

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
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
Standard Binary Search Tree
Insertion depends on less than and
equivalency operators of the
individual object

Metrics - Convergence

Calculate a Pareto Optimal 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

Metrics - Diversity

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 pi than they are to any other
point in S
In a perfectly distributed solution, region
will have the same area
The standard deviation of the areas is the
metric

ZDT1 Results
EPSMOE
A
Avg Conv 0.001620
596
StdDv
0.000164
Conv
577
Avg Divrs 0.000828
195
StdDv
0.002586
Divrs
758

NSGA2

T-MOEA

0.002414
274
0.000365
921
0.001078
336
0.004802
443

0.000398
675
3.36481E05
0.000894
804
0.001620
805

Parameters

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

Questions?

You might also like