Multiobjective Optimization

Multi-objective Optimization
Implementation of Constrained GA
Based on NSGA-II
Some introductory figures from : Deb Kalyanmoy, Multi-Objective Optimization using Evolutionary Algorithms,
Wiley 2001
Optimization
• Optimization refers to finding one or more
feasible solutions which correspond to extreme
values of one or more objectives
• Finding out design variable : x
Minimize
f(x)
- Single objective
Subjected to
gj(x) ≤ 0, j=1,…,nj
hk(x) = 0, k=1,…,nk
xi(L) ≤ xi ≤ xi(U)
Optimization Model Classification
• Basic classifications are:
– Constrained or unconstrained
– Linear or non-linear
– Single objective or multi-objective
– Another classification can be made by variables:
• continuous/discrete/mixed-integer
Single and Multi-objective Optimization
• Single Objective : Only one objective function
• Multi-Objective : Two or more and often conflicting
objective functions
• e.g. Buying a car : minimize cost and maximize
comfort
Pareto Optimal Front
• Mapping between feasible decision
space and objective space
• Dominated solutions : Set of design
points performing worse than some
other better points
• Domination criterion :
A feasible solution x1 dominates an other feasible solution x2 (denoted as
x1 < x2), if both of the following conditions are true:
1) The solution x1 is no worse than x2 in all objectives, i.e. fi(x1) ≤ fi(x2)
2) The solution x1 is strictly better than x2 in at least one objective, i.e. fi(x1) < fi(x2)
• Non-dominated solutions :
If two solutions are compared, then the solutions are said to be non-dominated
with respect to each other IF neither solution dominates the other
• Pareto optimal front : The function space representation of all the nondominated solutions
Pareto Optimal Front .. contd
Options :
• Min – Min
• Min – Max
• Max – Min
• Max – Max
Which one is
which ?
Solution Methods
• Methods that try to avoid generating the Pareto
front
– Generate “utopia point”
– Define optimum based on some measure of distance
from utopia point
• Generating entire Pareto front
– Weighted sum of objectives with variable coefficients
– Optimize one objective for a range of constraints on
the others
– Niching methods with population based algorithms
Implementation of
Multiobjective Constrained GA,
Based on NSGA-II
Genetic Algorithms
• Genetic algorithms imitate natural optimization
process, natural selection in evolution
• Coding: replace design variables with a
continuous string of digits or “genes”
– Binary
– Integer
– Real
•
•
•
•
Population: Create population of design points
Selection: Select parents based on fitness
Crossover: Create child designs
Mutation: Mutate child designs
Problem Formulation
≥
Inequalities defined ≥ 0
• Current program is written for 2 objectives
(M=2), it is possible to change it
NSGA-II
• Non-dominated Sorting Genetic Algorithm (NSGA)-II performs better than
other constrained multi-objective optimizers* (PAEA, SPEA)
– Better and faster convergence to true optimal front
– Better spread on Pareto optimal front
• NSGA-II ranks designs based on non-domination
• For example : min-max problem
3
Design
Cost
Comfort
A
25K
65%
B
45K
80%
3
55K
50%
• Design 3 is dominated by both design A and B (and thus undesirable), but
design A and B are non-dominated with respect to one another (and thus
Pareto optimal).
* Deb, K, et al, “A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II,” IEEE
Transactions on Evolutionary Computations, Vol. 6, No. 2, pp. 182-197, 2002
Flow Chart *
* From presentation of Tushar Goel
Implementation
• Initialize population
– Fixed number of population size (N_pop)
– Fixed number of variables (N_var)
– Discrete variables
• Variable upper (UB) and lower bounds (LB)
• Number of increments (N_increments)
– Randomly distributed throughout the design
space
Ranking
• Ranks designs based on nondomination
– The Pareto front is all rank 1 designs
– If the rank 1 designs are removed, the next
Pareto front will be all rank 2 designs, etc.
– Sorting method is different than what
NSGA-II* details
Rank 1
Rank 2
• Constraints : handled with constraint-domination ideas
– If two designs are both feasible, the standard non-domination
techniques are used
– If one design is feasible and the other is not, the former is obviously
favored (ranked lower)
– If both designs are infeasible, the design with a smaller overall
constraint violation is favored (ranked lower)
* Deb, K, et al, “A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II,” IEEE
Transactions on Evolutionary Computations, Vol. 6, No. 2, pp. 182-197, 2002
Selection and Fitness
• More fit designs have higher chance of passing
their genes to the next generation
• Fitness is based on rank, low rank designs have
higher fitness
• Selection :
–
–
–
–
Using fitness based roulette wheel
Create roulette wheel with ns segments
Create random number between 0 and 1
Find segment on roulette wheel that contains the
random number
– Segment number corresponds to design number
– Build parent database
* From presentation of Gerhard Venter
*
Child Population Creation
• Select two parents for each reproduction –
randomly from parent database
• Crossover :
– Probability close to 1
– One point crossover – randomly select crossover point
– Child =
[parent1(1:cross_pt),parent2(cross_pt+1:N_var)]
• Mutation :
–
–
–
–
Exploration parameter
Probability of mutation is typically small (e.g. 0.2)
Randomly select gene to mutate
Randomly modify gene
Elitism
• Keeps best individuals
– Combine the child and parent population
– Select best individuals from the combined
population
* Figure from presentation of Tushar Goel
Nitching
• Guides the selection process toward a uniformly spread-out
Pareto front
• Uses a parameter based upon crowding distance (c = a + b),
where designs which provide the greatest spread along the
Pareto front are favored
– Between two solutions with differing
nondomination ranks, we prefer the
solution with the lower (better) rank
– If both solutions belong to the same
front, then we prefer the solution
that is located in a lesser crowded
region
* Figure from presentation of Tushar Goel
Example
Laminate Design
Problem Formulation
• Objectives : Design a symmetric laminate
– Maximize D11, maximize D22
• Design Variables :
– 8 to 16 layers
– Layup orientations, 0 ≤ θi ≤ 90 (15° step)
• Constraints :
– D12 ≥ 0.5*D11
– D12 ≥ 0.5*D22
Optimization Settings
•
•
•
•
•
•
•
N_pop = 10; % size of the population
N_gen = 30; % # of generations
cross = 1.0; % crossover probability
mut = 0.2; % mutation probability
LB = [1 1 1 1 0 0 0 0];
UB = [7 7 7 7 7 7 7 7];
N_increments = [7 7 7 7 8 8 8 8];
Use higher
values
Layup Orientations
• For last 4 layers If variable is 0,the ply does not exist
for i = 1:4
ply_angles(i) = (X(i)-1)*15;
end
count = 5;
for i=5:8
if X(i) > 0
ply_angles(count) = (X(i)-1)*15;
count = count+1;
end
end
Pareto Front – 30 Generations
A
B
C
D
Design
A
B
C
D
D11
259.81
287.08
310.96
325.42
D22
333.23
317.54
300.29
275.83
con1
0.14248
0.06128
0.00750
0.00034
con2
0.00093
0.00744
0.02553
0.09029
θ1
15
15
15
15
θ1 is outermost layer
θ2
15
15
15
15
Layup orientation (°)
θ3 θ4 θ5 θ6
90 90 45 15
90 45 75 30
90 45 0 75
90 15 0 45
θ7
0
0
30
0
θ8
90
45
15
90