Lecture9 Multiobjective Optimization
Lecture9 Multiobjective Optimization
How to optimize
multiple
objectives?
Build Pareto-Front
INTRODUCTION
1
4 4
Pareto-frontier
3
2
3
Design 2 1 1/Q
218
Structural & Multidisciplinary Optimization Group
INTRODUCTION cont.
219
Structural & Multidisciplinary Optimization Group
MULTI-OBJECTIVE DESIGN STRATEGY
220
Structural & Multidisciplinary Optimization Group
MULTI-OBJECTIVE OPTIMIZATION
• Problem formulation
Minimize F(b )
subject to hi (b) 0
g j (b) 0
bL b bU
221
Structural & Multidisciplinary Optimization Group
EXAMPLE: DOMINATION
300
200
100
-100
-200
-150 -100 -50 0 50 100 150
222
Structural & Multidisciplinary Optimization Group
EXAMPLE: DOMINATION
223
Structural & Multidisciplinary Optimization Group
MULTI-OBJECTIVE FORMULATION
• Problem formulation
Minimize time 3b1 2b3 2b4
Maximize fun 3b1 2b3 b4
subject to pay b1 b3 3b4 100
bi 0
• Pay constraint in standard normalized form
224
Structural & Multidisciplinary Optimization Group
SOLUTION BY ENUMERATION
• In the range of three variables calculate time and fun for all
combinations that produce exactly $100.
• Pareto front is upper boundary and it is almost a straight
line.
• Matlab results
300
250
200
fun
150
100
50
0
50 100 150 200 250 300
time
225
Structural & Multidisciplinary Optimization Group
EXERCISE: PAY-FUN PROBLEM
226
Structural & Multidisciplinary Optimization Group
MORE EFFICIENT SOLUTION METHODS
227
Structural & Multidisciplinary Optimization Group
EXAMPLE: UTOPIA POINT
time 300
Minimize
66.7 fun 300
250
• It gives
time=168 minutes, 200
(b1=0, b3=76,b4=8)
100
50
0
50 100 150 200 250 300
time
228
Structural & Multidisciplinary Optimization Group
SERIES OF CONSTRAINTS
229
Structural & Multidisciplinary Optimization Group
MATLAB SEGMENT
b0 = [10 10 10];
for fun_idx = 30:5:300
A = [-1 -1 -3; -3 -2 -1]; c = [-100;-fun_idx];
lb = zeros(3,1);
options = optimset('Display','off');
[b,fval,exitflag,output,lambda] =
fmincon('myfun’,b0,A,c,[],[],lb,[],[],options);
pareto_sol(fun_idx,:) = b;
pareto_fun(fun_idx,1) = fval;
pareto_fun(fun_idx,2) = 3*b(1) + 2*b(2) + b(3);
end
function f = myfun(b)
f = 3*b(1) + 2*b(2) + 2*b(3);
230
Structural & Multidisciplinary Optimization Group
EXERCISE: PARETO-FRONT
• Generate the Pareto front for the pay and fun maximization
using a series of constraints, and also find a compromise
point on it using the utopia point.
• What is responsible for the slope discontinuity in the Pareto
front on Slide 10?
231
Structural & Multidisciplinary Optimization Group
EXAMPLE
• Minimize time & maximize fun while you make at least $100
• Will need between 33.3 to 100 items
• Fun can vary between 33.3. Try first for 150
Item Pay ($) Time (min) Fun index
1 1 3 3
2 2 4 2
3 1 2 2
4 3 2 1
f1=zeros(1,100000);
f2=zeros(1,100000);
k=1; 400
for i4=0:5:50
250
pay=i1+2*i2+i3+3*i4;
Fun Index
if pay >= 100 200
f1(k)=3*i1+4*i2+2*i3+2*i4; Increase time
150
f2(k)=3*i1+2*i2+2*i3+i4; Increase fun
k=k+1; 100
end
50
end
end 0
0 100 200 300 400 500 600
end Time
end
k=k-1
plot(f1(1:k),f2(1:k),'b.');
233
Structural & Multidisciplinary Optimization Group
PARETO OPTIMALITY
235
Structural & Multidisciplinary Optimization Group
WEIGHTED SUM METHOD
A Pareto front
f2
w1f1 + w2f2 = constant Problem with non-convex front
236
Structural & Multidisciplinary Optimization Group
EPSILON-CONSTRAINT METHOD
f1s
2 f2
237
Structural & Multidisciplinary Optimization Group
GOAL ATTAINMENT METHOD
Minimize
subject to fi (b) w i fi *
wig : slackness
f1 *
P
f2* f2
238
Structural & Multidisciplinary Optimization Group
MATLAB EXAMPLE
239
Structural & Multidisciplinary Optimization Group
MATLAB EXAMPLE
function y = simple_multiobjective(b)
y(1) = (b+2)^2 - 10;
y(2) = (b-2)^2 + 20;
Fitness = @simple_multiobjective;
NV = 1; lb = -1.5; ub = 0;
options = gaoptimset('PlotFcns',{@gaplotpareto,@gaplotscorediversity});
gamultiobj(Fitness, NV,[],[],[],[],lb, ub, options);
240
Structural & Multidisciplinary Optimization Group
Elitist Non-dominated Sorting
Genetic Algorithm: NSGA-II
Multi-objective optimization problem
• Mathematical formulation
•
– where 𝐅 𝐛 𝑓 , 𝑖 1, ⋯ , 𝑀
𝐛 𝑏 , 𝑗 1, ⋯ , 𝑁
• Subject to
–𝐠 𝐛 0, 𝐠 𝑔 ,𝑘 1, ⋯ 𝑃
–𝐡 𝐛 0, 𝐡 ℎ ,𝑙 1, ⋯ 𝑄
242
Structural & Multidisciplinary Optimization Group
PARETO OPTIMAL FRONT
Min f2
• Algorithm requirements:
– Convergence
– Spread
Min f1 243
Structural & Multidisciplinary Optimization Group
RANKING
f1
244
Structural & Multidisciplinary Optimization Group
ELITISM
• Elitism: Keep the best individuals from the parent and child
population f2
Parent
Child
f1
245
Structural & Multidisciplinary Optimization Group
NICHING FOR LAST RANK
• Crowding distance
c=a+b
f1
246
Structural & Multidisciplinary Optimization Group
Flowchart of NSGA-II
Crossover
Report final
population and
Mutation
Stop
No
Evaluate objective
function
Stopping Elitism
criteria
Yes met? Combine parent and
Select N child populations,
individuals rank population
247
Structural & Multidisciplinary Optimization Group
Elitism process
248
Structural & Multidisciplinary Optimization Group
Problems NSGA-II
• Sort all the individuals in slide 263 into ranks, and denote
the rank on the figure in the slide next to the individual.
• Describe how the 10 individuals were selected, and check if
any individuals were selected based on crowding distance.
249
Structural & Multidisciplinary Optimization Group
Example: Bicycle frame design
• Objectives
– Minimize area
• Constraints
– Components should be a
valid geometry
250
Structural & Multidisciplinary Optimization Group
Problem modeling
251
Structural & Multidisciplinary Optimization Group
Material properties and GA parameters
• Material Properties
– Yield Stress 𝜎 140 MPa
– Max Deflection 𝛿 5 mm
• GA Parameters
– Binary String Size 𝐿 14x9
– Population Size 30
– # of Generations 150
252
Structural & Multidisciplinary Optimization Group
Pareto optimal front
• Small increase in
weight leads to a large
drop in deflection
• Similarly small change
in deflection allows
significant reduction
of the weight
253
Structural & Multidisciplinary Optimization Group
Optimal shapes
255
Structural & Multidisciplinary Optimization Group
Other related topic of interest
• Hybrid GAs
• Particle swarm algorithms
• Ant colony optimization
256
Structural & Multidisciplinary Optimization Group
Constrained Particle Swarm
Optimization
Is animal
behavior
optimized?
Learn from the
social behavior of
a bird flock or fish
PARTICLE SWARM OPTIMIZATION
258
Structural & Multidisciplinary Optimization Group
CONSTRAINED PARTICLE SWARM OPTIMIZATION
259
Structural & Multidisciplinary Optimization Group
PARTICLE SWARM OPTIMIZATION
260
Structural & Multidisciplinary Optimization Group
ALGORITHM OVERVIEW
261
Structural & Multidisciplinary Optimization Group
MOVING TOWARDS PERSONAL BEST AND GROUP BEST
262
Structural & Multidisciplinary Optimization Group
EXERCISE: PARTICLE SWAM OPTIMIZATION
263
Structural & Multidisciplinary Optimization Group
WHAT IS BEST WHEN CONSTRAINTS ARE PRESENT?
Minimize f (b )
subject to g j ( x ) 0 j 1,, K
264
Structural & Multidisciplinary Optimization Group
BI-OBJECTIVE OR FILTER APPROACH
• Replace
K
f (b ) f (b ) max(0, g j (b ))
j 1
• By
Minimize f (b )
K
Minimize h(b ) max(0, g j (b))
j 1
267
Structural & Multidisciplinary Optimization Group
EXAMPLE: MOPSO
268
Structural & Multidisciplinary Optimization Group
EXERCISE: CROWDING DISTANCE
269
Structural & Multidisciplinary Optimization Group
CONSTRAINT SPECIALIZED BI-OBJECTIVE PSO
270
Structural & Multidisciplinary Optimization Group
EXAMPLE
• Methods compared
– Standard PSO with penalty function
Maximize A22
subject to 0.48 eff 0.52
5o k 5o or
40o k 50o or
85o k 95o
0.001 t k 0.05"
272
Structural & Multidisciplinary Optimization Group
RESULTS: PENALTY FUNCTION
273
Structural & Multidisciplinary Optimization Group
RESULTS: BI-OBJECTIVE FORMULATION
274
Structural & Multidisciplinary Optimization Group