tutorial on evolutionary multiobjective optimization
TRANSCRIPT
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
1/34
A Tutorial on EvolutionaryA Tutorial on EvolutionaryMultiobjectiveMultiobjective OptimizationOptimization
Eckart Zitzler
Computer Engineering and Networks Lab
Swiss Federal Institute of Technology (ETH) Zurich
Computer EngineeringComputer Engineering
and Networks Laboratoryand Networks Laboratory
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
2/34
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMOverviewOverview
n The Big Picture:Optimization and evolutionary computation
o The Construction Kit:
Design issues and algorithmic concepts
p The Pieces Put Together:
Example of an algorithm variantq The Big Question:
Performance of evolutionary algorithms
r The Challenge:
Standard interface for search algorithms
sThe End:Conclusions and outlook
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
3/34
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMDecision and Objective SpaceDecision and Objective Space
y2
y1
x2
x1
(x1, x2, , xn) f (y1, y2, , yk)
decisionspace
objectivespace
search evaluation
Pareto setPareto set approximation Pareto frontPareto front approximation
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
4/34
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMOptimization and Decision MakingOptimization and Decision Making
y1
y2 Pareto optimality:defines set of optimal trade-offs
(all objectives equally important)
Decision making:
choose best compromise
(based on preference information)
n Decision making before search (define single objective)
o Decision making after search (find/approximate Pareto set first)
p Decision making during search (guide search interactively)
q Combinations of the above
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
5/34
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMStochastic Search AlgorithmsStochastic Search Algorithms
selection
environmental
selection
mating
selection
variationmemory
EA 1 both 1 N : M
1 randomized
TS 1 no mating selection 1 1 : M
1 deterministic
SA 1 no mating selection 1 1 : M
1 randomized
ACO 1 neither 1 1 : 11 randomized
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
6/34
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMOutline of a Simple Evolutionary AlgorithmOutline of a Simple Evolutionary Algorithm
0100
0011 = 1 solution
fitness
evaluation
0111 fitness = 19
mating selection
recombination
0011
0000
mutation
0011
1011
environmentalselection
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
7/34
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMOverviewOverview
n The Big Picture:Optimization and evolutionary computation
o The Construction Kit:
Design issues and algorithmic concepts
p The Pieces Put Together:
Example of an algorithm variantq The Big Question:
Performance of evolutionary algorithms
r The Challenge:Standard interface for search algorithms
sThe End:Conclusions and outlook
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
8/34
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMIssues in EMOIssues in EMO
y2
y1
Diversity
Convergence
How to maintain a diverse
Pareto set approximation?
odensity estimation
How to prevent nondominated
solutions from being lost?
p environmental selection
How to guide the population
towards the Pareto set?
nmating selection
i i i
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
9/34
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMFitness Assignment StrategiesFitness Assignment Strategies
y1
y2
y1
y2y2
y1
aggregation-based criterion-based dominance-based
parameter-orientedscaling-dependent set-orientedscaling-independent
weighted sum VEGA SPEA2
iD i d kiB d R ki
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
10/34
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMDominanceDominance--Based RankingBased Ranking
Types of information:dominance rank by how many individuals is an
individual dominated?
dominance count how many individuals does an
individual dominate?
dominance depth at which front is an individual
located?
Examples:MOGA, NPGA dominance rank
NSGA/NSGA-II dominance depth
SPEA/SPEA2 dominance count + rank
E k t Zit l MOMH 200
Di i P iDi it P ti
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
11/34
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMDiversity PreservationDiversity Preservation
Density estimation techniques: [Silverman: 1986]
ff
f
Kernel
MOGA
density estimate=
sum of f values
where f is afunction of the
distance
Nearest neighbor
SPEA2
density estimate=
volume of the
sphere defined bythe nearest
neighbor
Histogram
PAES
density estimate=
number of
solutions in thesame box
Eckart Zitzler MOMH 200
E i t l S l tiE i t l S l ti
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
12/34
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMEnvironmental SelectionEnvironmental Selection
old population offspring
newpopulation
offspring archive
newarchive
old population
newpopulation
Variant 1: without archive Variant 2: with archive
Selection criteria:
Dominance: only nondominated solutions are kept
Density: less crowded regions are preferred to crowded regions
Time: old archive members are preferred to new solutions
Chance: each solution has the same probability to enter the archive
Eckart Zitzler MOMH 200
O iO i
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
13/34
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMOverviewOverview
n The Big Picture:Optimization and evolutionary computation
o The Construction Kit:
Design issues and algorithmic concepts
p The Pieces Put Together:
Example of an algorithm variantq The Big Question:
Performance of evolutionary algorithms
r The Challenge:Standard interface for search algorithms
s The End:
Conclusions and outlook
Eckart Zitzler MOMH 200
SPEA2 Al ithSPEA2 Algorithm
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
14/34
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EM
Step 1: Generate initial population P0 and empty archive
(external set) A0. Set t = 0.
Step 2: Calculate fitness values of individuals in Pt and At.
Step 3: At+1 = nondominated individuals in Pt and At.
If size of At+1 > N then reduce At+1, else ifsize of At+1 < N then fill At+1 with dominated
individuals in Pt and At.
Step 4: If t > T then output the nondominated set of At+1.Stop.
Step 5: Fill mating pool by binary tournament selection
with replacement on At+1.Step 6: Apply recombination and mutation operators to
the mating pool and set Pt+1 to the resulting
population. Set t = t + 1 and go to Step 2.
SPEA2 AlgorithmSPEA2 Algorithm
[Zitzler, Laumanns, Thiele: 2001]
Eckart Zitzler MOMH 200
Pareto Fitness AssignmentPareto Fitness Assignment
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
15/34
ETH Zrich Tutorial on EMPareto Fitness AssignmentPareto Fitness Assignment
y2
y1
2
14
5+45+7
5+2
SPEA
y2
y1
0
00
4+3+2
2+1+4+3+2
2
4
4+3
SPEA2
S (strength) =
#dominated solutions
R (raw fitness) = N +
strengths of dominators
S (strength) =
#dominated solutions
R (raw fitness) =
strengths of dominators
Eckart Zitzler MOMH 200
Diversity PreservationDiversity Preservation
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
16/34
ETH Zrich Tutorial on EMDiversity PreservationDiversity Preservation
Density Estimation
k-th nearest neighbor method:
Fitness = R + 1 / (2 + Dk)
Dk = distance to the k-th
nearest individual
k = popsize + archivesize
Truncation
Incremental approach:
Remove individual A for which
A
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
17/34
ETH Zrich Tutorial on EMOverviewOverview
n The Big Picture:Optimization and evolutionary computation
o The Construction Kit:
Design issues and algorithmic concepts
p The Pieces Put Together:
Example of an algorithm variantq The Big Question:
Performance of evolutionary algorithms
r The Challenge:Standard interface for search algorithms
s The End:
Conclusions and outlook
Eckart Zitzler MOMH 200
lPerformance Assessment: ApproachesPerformance Assessment: Approaches
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
18/34
ETH Zrich Tutorial on EMPerformance Assessment: ApproachesPerformance Assessment: Approaches
n Theoretically (by analysis): difficult
Limit behavior
Is the Pareto set found, if there are unlimited run-timeresources?
Run-time analysis
How long does it take to generate the Pareto set with high
probability?
o Empirically (by simulation): standard
Eckart Zitzler MOMH 200
T t i l EMLimit BehaviorLimit Behavior
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
19/34
ETH Zrich Tutorial on EMLimit BehaviorLimit Behavior
Basic assumptions:Every solution can be generated from every other solution by
mutation
The number of iterations tgoes to infinity (t)
Studies:
Convergence: [Hanne: 1999][Rudolph, Agapie: 2000]
Diversity: e.g., [Knowles, Corne: 2000][Deb et al.: 2001]
Convergence + diversity:
Unlimited memory resources [Rudolph and Agapie: 2000]
Limited memory resources [Laumanns et al.: 2002]
Eckart Zitzler
ETH Z i h
MOMH 200
Tutorial on EMEpsilon DominanceEpsilon Dominance
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
20/34
ETH Zrich Tutorial on EMEpsilon DominanceEpsilon Dominance
Definition 1: -DominanceA -dominates B iff f(A) f(B)
(known since 1987)
Definition 2: -Pareto set
subset of the Pareto set
which -dominates all Pareto-optimal solutions
-dominated
dominated
Pareto front
-Pareto front
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMAchieving Convergence and DiversityAchieving Convergence and Diversity
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
21/34
ETH Zrich Tutorial on EMAchieving Convergence and DiversityAchieving Convergence and Diversity
Goal: Maintain -Pareto setIdea: -grid, i.e. maintain a
set of nondominated
boxes (one solutionper box)
Algorithm: (-update)
Accept a child if
n the corresponding box is not
dominated by any box that
contains an individual
AND
o any other individual in the samebox is dominated by the new
solution
y2
y1
2
2
3
3
1
1
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMRunRun--Time Analysis of aTime Analysis of a MultiobjectiveMultiobjective EAEA
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
22/34
ETH Zrich Tutorial on EMRunRun Time Analysis of aTime Analysis of a MultiobjectiveMultiobjective EAEA
Basic question: [Laumanns et al.: 2002]
What is the worst case run-time of a multiobjective EA to find
the Pareto set with high probability?
Scenario:Problem: leading ones,
trailing zeros (LOTZ)
Variation: single
point mutation
1 1 0 1 0 0 0
1 1 1 0 0 0
1 1 1 0 0 01
0
y2
y1
0 0 0 0 0 0 0
trailing 0s
leading 1s
1 1 1 1 1 1 1
1 1 1 1 0 0 0
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMTwo SimpleTwo Simple Multiobjective EAsMultiobjective EAs
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
23/34
ETH Zrich Two SimpleTwo Simple Multiobjective EAsMultiobjective EAs
select
individualfrom archive
insert
into archive
if not dominated
remove
dominatedfrom archive
flip
randomlychosen bit
Variant 1: SEMOEach individual in the
archive is selected with
the same probability
(uniform selection)
Variant 2: FEMOSelect individual with
minimum number of
children
(fair selection)
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMResults of AnalysisResults of Analysis
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
24/34
ETH Zrich Results of AnalysisResults of Analysis
Simple multiobjective EA with uniform selection (SEMO): (n )To get to the Pareto front requires n steps
To cover the entire front needs n steps
Simple multiobjective EA with fair selection (FEMO): (n log n)
Fair selection helps to spread over the Pareto front
Multistart single-objective optimizer: (n )
In average, one out ofn mutations successful
To get to the Pareto front, n successful mutations needed
Overall n Pareto-optimal solutions have to be found
3
3
2
2
3
multiobjective EA faster than multistart strategy
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMEmpirical Performance AssessmentEmpirical Performance Assessment
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
25/34
Empirical Performance AssessmentEmpirical Performance Assessment
Issues: quality measures, statistical testing, benchmark problems,visualization,
Popular approach: unary quality measures
Assign each outcome a real number
Outcomes are compared by comparing the corresponding values
Hypervolume
[Zitzler, Thiele: PPSN1998]
Generational Distance
[Van Veldhuizen: 1999]
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMQuality Measures: Theoretical Results IQuality Measures: Theoretical Results I
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
26/34
Quality Measures: Theoretical Results IQ y
There is no combination of unary quality measures such thatS is better than T in all criteria is equivalent to S dominates T
ST
application of
quality measures
Basic question: Can we say on the basis of the quality measures
whetheror thatan algorithm outperforms another?
hypervolume 432.34 420.13
distance 0.3308 0.4532
diversity 0.3637 0.3463
spread 0.3622 0.3601
cardinality 6 5
S T
Unary quality measures usually do not tell thatS dominates T; at maximum that S does not dominate T
[Zitzler et al.: 2002]
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMQuality Measures: Theoretical Results IIQuality Measures: Theoretical Results II
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
27/34
Q yQ y
Many popular quality measures are not compliantwith the dominance relation
[Hansen, Jaszkiewicz: 1998][Knowles, Corne: 2002][Zitzler et al.: 2002]
Example: diversity measures
Needed: appropriate binary quality measures that indicatewhetheran outcome dominates another, e.g., -measure
ST
S better diversityvalue than T
ST
T better diversityvalue than S
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMEpsilon Quality MeasureEpsilon Quality Measure
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
28/34
p Q yp Q y
Definition 3: single solutionsI(A,B) = minimum such that
A -dominates B
Definition 4: sets of solutions
I(S,T) = minimum such thateach solution in T is
-dominated by at leastone solution in S
AB
S
T[Zitzler et al.: 2002]
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMOverviewOverview
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
29/34
nThe Big Picture:Optimization and evolutionary computation
o The Construction Kit:
Design issues and algorithmic concepts
p The Pieces Put Together:
Example of an algorithm variant
q The Big Question:
Performance of evolutionary algorithms
r The Challenge:Standard interface for search algorithms
s The End:
Conclusions and outlook
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMImplementation: Current SituationImplementation: Current Situation
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
30/34
pp
Application engineerknowledge in the algorithm
domain necessary
state-of-the-art algorithms getmore and more complex
many algorithms
Algorithm designercomparison to competing
algorithms mandatory
tests on various benchmarkproblems necessary
algorithms and applications
become increasingly complex
high implementation effort / risk of implementation errors
Programming libraries:
valuable tools to tailor a particular technique to a specific application
exchange of optimization algorithm or application still difficult
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMThe Concept of PISAThe Concept of PISA
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
31/34
SPEA2
NSGA-II
PAES
Algorithms Applications
knapsack
TSP
network
design
text-based
Platform and programming language independent Interface
for Search Algorithms [Bleuler et al.: 2002]
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMPISA: ImplementationPISA: Implementation
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
32/34
selector
process
selector
process
text
files
sharedfile system
sharedfile system
variator
process
variator
process
application independent:
mating / environmentalselection
individuals are described
by IDs and objective
vectors
handshake protocol:
state / actionindividual IDs
objective vectors
parameters
application dependent:
variation operatorsstores and manages
individuals
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMConclusionsConclusions
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
33/34
Why using an evolutionary algorithm?Flexibility: problem formulation can be easily modified /
extended (minimum requirements)
Multiple objectives: the solution space can be explored in asingle optimization run
Feasibility: EAs are applicable to complex and huge search
spacesWhy multiobjective optimization?
Robustness: aggregation of several objectives into a single one
requires setting of parametersConfidence: it is easier to select a solution if alternatives are
known
Main application of EMO: design space exploration
Eckart Zitzler
ETH Zrich
MOMH 200
Tutorial on EMMore onMore on EMOEMO
-
7/30/2019 Tutorial on Evolutionary Multiobjective Optimization
34/34
Links:
EMO mailing list:http://w3.ualg.pt/lists/emo-list/
EMO bibliography:
http://www.lania.mx/~ccoello/EMOO/PISA website:http://www.tik.ee.ethz.ch/pisa/
Events:
Conference on Evolutionary Multi-Criterion Optimization (EMO 2003),
April 8-11, 2003, Algarve, Portugal:http://conferences.ptrede.com/emo03/
Acknowledgments:
Stefan Bleuler, Marco Laumanns, Lothar Thiele