BSCM-03 Multiobjective Optimization
BSCM-03 Multiobjective Optimization
optimization F : ℝm
where:
Multiobjective Optimization
Ω – the decision (search) space
ℝm – the objective space
fi – the objective (goal) functions
Krzysztof Michalak
krzysztof.michalak@ue.wroc.pl
Usually, no single solution minimizes all the
https://krzysztof-michalak.pl/
objectives
We are looking for the Pareto front 2
x x
area of the objective space
min
dominated by x
By changing the weights, constraints and goals
min f1 = travel time 3
multiple solutions are obtained 4
Bechikh S., Datta R., Gupta A., "Recent Advances in Evolutionary Multi-
The ε-constraint method:Learning,
optimize one criterion Based on Pareto domination
series vol.(e.g.
objective Optimization", Adaptation, and Optimization
min f1 ) while
20, Springer, 2017.constraining the others (e.g. f ≤ ε ).
j j Evolve a population of solutions
https://link.springer.com/book/10.1007/978-3-319-42978-6 Promote Pareto-dominating solutions
Goal-programming method: provide goals Gj and
minimize the weighted
It is free to download
or labs)
sum
from the UEW of (http
network deviations:
proxy, virtual machines Decomposition-based
min F( x) j 1 wj f j ( x) Gj
m
x
Transform the multiobjective problem to a set of single-
objective subproblems
By changing the weights, constraints and goals In the population each solutions is assigned to a different
multiple solutions are obtained 5 subproblem 6
1
NSGA (1/5) NSGA (2/5)
Nondominated Sorting Genetic Algorithm[1] Pareto front ranking
Different from the SGA in how the selection is performed FR0 = non-dominated specimens from the population P
Pareto front ranking FR1 = non-dominated specimens from P \ FR0
FR0 = nondominated solutions FR2 = non-dominated specimens from P \ (FR0 FR1)
FR1 = solutions dominated only by those from FR0 FR3 = …
etc. f2
Selection procedure
Solutions are sorted using the Pareto front ranking
min
Solutions in FRi are preferred to those in FRj for i < j
Fitness sharing is used within each FRi front to prioritize solutions in
less crowded areas
[1] Srinivas N., Deb K., "Multiobjective Optimization Using Nondominated Sorting in Genetic
Algorithms", Evolutionary Computation, vol. 2, no. 3, p. 221-248, 1994. 7 min f1 8
s s
yFRn
xy
Small value if
neighbours
s s
yFRn
xy
Parameter determining
y x are far away y x the niche size
d ( x, y ) 2 d ( x, y ) 2
d ( x, y ) share d ( x, y ) share
s xy 1 when s xy 1 when
share share
0 otherwise 0 otherwise
f ( x) f ( x ) / s f ( x) f ( x ) / s Larger fitness if neighbours are far away
Smaller fitness if neigbours are near
9 10
11 12
2
NSGA-II (1/16) NSGA-II (2/16)
Nondominated Sorting Genetic Algorithm II[1] NSGA-II – pseudocode
Drawbacks of the NSGA algoritm 1. Initialization: t = 0, new population P0.
Large computational complexity 2. Splitting of the population to FRn fronts using the information about
solutions dominating over and dominated by each solution
No elitism
3. Crowding distance calculation
Needs setting of the share parameter (maximum distance of
4. Mating pool selection using the binary tournament.
solutions in a niche)
A lower front number FRn wins
Most important features of NSGA-II For the same front a larger crowding distance wins
Uses the information about solutions dominating over and dominated 5. Crossover and mutation. The offspring join the population Pt.
by each solution to split the population into fronts 6. Population reduction in order to obtain Npop solutions for Pt+1.
Uses the crowding distance to ensure diversification of solutions Fronts FRn are copied for an increasing number n
along the Pareto front If the entire front FRn does not fit in Npop solutions then those
with a larger crowding distance are copied
[1] Deb K., Agrawal S., Pratap A., Meyarivan T., "A Fast Elitist Non-Dominated Sorting Genetic
Algorithm for Multi-Objective Optimization: NSGA-II", 2000. 7. t = t + 1, go back to step 2.
13 14
q1
If np = 0 then // no solutions dominating over p
q2
FR0 = FR0 { p }
3. R1 = P \ FR0 // the set of solutions not assigned to fronts
min f1
15 16
8. n = n + 1
No solutions dominate over q1 and q2, so nq1 = 0, nq2 = 0 and q1, q2 FR0 9. Go to step 5.
min f1
17 18
3
NSGA-II (7/16) NSGA-II (8/16)
Splitting of the population to FRn fronts (2/2) Splitting of the population to FRn fronts (2/2)
Sp FR0, FR1, FR2 Sp FR0, FR1, FR2
f2 f2
Sq1 Sq1
np = 2 np = 2
p p
Sq2 Sq2
min
min
q1 q1
q2 q2
When "removing" FR0 we decrease np twice, because p Sq1 and p Sq2 "Removing" these solutions from FR0 does not affect np
min f1 min f1
19 20
Sq1 Sq1
np = 1 np = 0
p p
Sq2 Sq2
min
min
q1 q1
q2 q2
min f1 min f1
21 22
Sq1 Sq1
np = 0 np = 0
p p
Sq2 Sq2
min
min
q1 q1
q2 q2
"Removing" these solutions from FR0 does not affect np After FR0 is "removed" np = 0, so p belongs to FR1
min f1 min f1
23 24
4
NSGA-II (13/16) NSGA-II (14/16)
Splitting of the population to FRn fronts (2/2) Calculating the crowding distance
Sp FR0, FR1, FR2 For each FRi front separately
f2
n = |FRi |
For each solution x FRi
x = 0
For each goal function number j = 1, …, m
p I = sort( FRi, j ) // solutions sorted w.r.t fj
min
k -1 k -1
min
min
k k
k+1 k+1
I [n] = ∞ I [n] = ∞
f j ( I [k 1]) f j ( I [k 1])
max ( f j ( x )) min ( f j ( x ))
x FRi x FRi
min f1 min f1
27 28
29 30
5
MOEA/D (1/10) MOEA/D (2/10)
Multiobjective Evolutionary Algorithm Based on Neighbourhood structure in MOEA/D
Decomposition[1]
f2
Most important features of MOEA/D
Neighbourhood B(i) of
Decomposes a multiobjective optimization problem to Npop single-
the i-th subproblem for
objective subproblems
T=5
Objective functions for the subproblems are obtained using weight B(i)
min
m
g ( x | ) i f i ( x)
ws
g te ( x | , z * ) max i f i ( x) zi*
1 i m
i 1
m i 0
i 0,
i 1
i 1
z * ( z1* ,..., z m* )
f2
If the Pareto front is convex then every point can be obtained for some f 2 ( x) z2*
weight vector λ.
Weighted sum decomposition is not suitable for concave Pareto fronts. F ( x ) [ f1 ( x ), f 2 ( x ),..., f m ( x )]T z*
33 min f1 34
F : ℝ m
g ( x | , z ) d1 d 2
bip *
where:
Ω – the decision (search) space
( z * F ( x))T
d1 f2
ℝm – the objective space
F(x)
fi – the objective (goal) functions
A stopping criterion
d 2 F ( x) ( z d1 ) * d2
6
MOEA/D (7/10) MOEA/D (8/10)
The algorithm keeps Step 1 - Initialization
A population of Npop solutions: x(1), …, x(N
pop ) , where x(i) is a 1.1) EP =
solution to the i-th subproblem
1.2) For each weight vector λ(i) determine the neighbourhood – the
Values of the objective vectors F(x(i)) set of T indices of the weight vectors λ(i1), …, λ(iT) closest (w.r.t.
the Euclidean distance in ℝm) to λ(i) :
The reference point z ( z1 ,..., z m ) , where
* * *
zi* is the best value of B (i ) i1 ,..., iT
the objective function fi found so far.
1.3) Generate the initial population: x(1), …, x(N )
pop
37 38
2.3) Update of the reference point: for each j = 1, …, m if z *j f j ( y ) If F(y) is not dominated by any vector from EP then set
then set z j f j ( y )
*
EP = EP { y }
39 40
7
Many-objective optimization Many-objective optimization
A large fraction of population is non-dominated An obvious problem: visualizing m ≥ 4 objectives
The Pareto Front is a set in ℝm We can easily understand 2-d and 3-d plots[1]
Approximating such set requires many solutions ZDT-3 DTLZ-7
Similar to the curse of dimensionality in ML
Costly computations [1] Kaifeng Yang et al. „Multiobjective Memetic Estimation of Distribution Algorithm Based on an
Incremental Tournament Local Searcher”, The Scientific World Journal, vol. 2014, Article ID
43 836272. 44
Non-dominated sorting
If a front FRn has too many solutions to be included
min
47 min f1 48
8
NSGA-III (4/8) NSGA-III (5/8)
Reference points Penalty Boundary Intersection (PBI) decomposition
Used to ensure even spreading of solutions along the Pareto front used in MOEA/D Note that PBI decomposition is not used in
NSGA-III!
Minimize:
This slide is just to remind the PBI technique,
g bip ( x | , z * ) d1 d 2 because a similar approach is used in NSGA-III
to assign solutions to reference points.
( z * F ( x))T
d1 f2
F(x)
d 2 F ( x) ( z * d1 ) d2
min
d1
F ( x ) [ f1 ( x ), f 2 ( x ),..., f m ( x )]
T
λ z*
49 min f1 50
λ z*
f1 51 52
9
NSGA-III solving the ZDT-3 problem NSGA-III solving the ZDT-3 problem
For better visualization translated vertically and Selection: we want to select N pop solutions
scaled by half After splitting to non-dominated fronts:
the true Pareto front non-dominated
solutions: FR 0
other solutions
selected from the
population: FR 1, …
n -th non-dominated
front which did not fit
in the next population
as a whole
55 56
NSGA-III solving the ZDT-3 problem NSGA-III solving the ZDT-3 problem
If the non-dominated front and fronts FR 1, …, FR n-1 If there are too many solutions in the n -th front FR n
add up exactly to N pop solutions we are done (i.e. there are more than N pop solutions in i 0 FRi )…
n
non-dominated non-dominated
solutions: FR 0 solutions: FR 0
57 58
NSGA-III solving the ZDT-3 problem NSGA-III solving the ZDT-3 problem
… we need to select some solutions from the n -th The ideal (a.k.a. utopia) point: best (minimum) value
front FRn so that altogether we have N pop solutions of each objective found so far
non-dominated
We use niching based on the reference points to solutions: FR 0
select those solutions that maximize diversity: other solutions
Draw reference lines through the reference points selected from the
population: FR 1, …
n 1
Assign solutions from
i 0
FRi to the closest reference lines
n -th non-dominated
front which did not fit
Add those solutions from FRn which correspond to the least in the next population
populated niches The ideal point
as a whole
ideal point
59 60
10
NSGA-III solving the ZDT-3 problem NSGA-III solving the ZDT-3 problem
Shift (translate) the population so that the ideal point Extreme points selected from the non-dominated
is placed at [0, 0] front FR 0 (those that are the closest to the axes)
non-dominated non-dominated
solutions: FR 0 solutions: FR 0
61 62
NSGA-III solving the ZDT-3 problem NSGA-III solving the ZDT-3 problem
The nadir point: worst (maximal) objectives from the Scale the points so that the ideal point is [0, 0] and
extreme points the nadir point is [1, 1]
non-dominated non-dominated
solutions: FR 0 solutions: FR 0
[1, 1]
The nadir point other solutions other solutions
selected from the selected from the
population: FR 1, … population: FR 1, …
63 64
NSGA-III solving the ZDT-3 problem NSGA-III solving the ZDT-3 problem
Now, we can place the reference points (▲) and Each reference line is a niche. Assign solutions to
draw reference lines niches. Populate the least crowded niches first
non-dominated non-dominated
solutions: FR 0 solutions: FR 0
11
NSGA-III solving the ZDT-3 problem NSGA-III solving the ZDT-3 problem
Each reference line is a niche. Assign solutions to Each reference line is a niche. Assign solutions to
niches. Populate the least crowded niches first niches. Populate the least crowded niches first
non-dominated non-dominated
solutions: FR 0 solutions: FR 0
NSGA-III solving the DTLZ-7 problem NSGA-III solving the DTLZ-7 problem
The DTLZ-7 is a 3-objective minimization problem Splitting to non-dominated fronts
Discontinuous Pareto Front
non-dominated
solutions: FR 0
other solutions
selected from the
population: FR 1, …
n -th non-dominated
front which did not fit
in the next population
as a whole
Figure from the website of professor Carlos Artemio Coello Coello, PhD:
http://delta.cs.cinvestav.mx/~ccoello/ 69 70
NSGA-III solving the DTLZ-7 problem NSGA-III solving the DTLZ-7 problem
Shifting the ideal point to [0, 0] Shifting the ideal point to [0, 0]
The ideal point
non-dominated non-dominated
solutions: FR 0 solutions: FR 0
The ideal point
other solutions other solutions
selected from the selected from the
population: FR 1, … population: FR 1, …
71 72
12
NSGA-III solving the DTLZ-7 problem NSGA-III solving the DTLZ-7 problem
Scaling using extreme points and the nadir point Scaling using extreme points and the nadir point
non-dominated non-dominated
solutions: FR 0 solutions: FR 0
NSGA-III solving the DTLZ-7 problem NSGA-III solving the DTLZ-7 problem
The reference points (▲) and reference lines Assigning solutions to niches
non-dominated non-dominated
solutions: FR 0 solutions: FR 0
13
Summary Summary
NSGA-II (Nondominated Sorting Genetic Algorithm II) MOEA/D (Multiobjective Evolutionary Algorithm Based on
Uses the crowding distance to ensure diversification of Decomposition)
solutions along the Pareto front Decomposes a multiobjective optimization problem to Npop
Selection performed using a binary tournament w.r.t. the single-objective subproblems
non-dominated front number and the crowding distance Objective functions for the subproblems are obtained using
weight vectors i for i = 1, …, Npop
NSGA-III (Nondominated Sorting Genetic Algorithm III) Uses a neighbourhood
Dedicated to many-objective optimization (m ≥ 4) structure to transfer
information between
Based on the previous version: NSGA-II
min
solutions to subproblems
Emphasizes population members which are non-dominated
yet close to a set of supplied reference points
Uses niching based on reference lines
min
79 80
14