Upload
piyush-agarwal
View
899
Download
4
Embed Size (px)
Citation preview
Project Incharge: Mr. Divya Kumar
Muti-objective optimization using NSGA II and SPEA2
Team(CS07):
1 Piyush Agarwal2 Saquib Aftab3 Ravi Ratan4 Ravi Shankar5 Pradhumna Mainali
Multi-objective optimization 1/31
What we did?
Studied genetic algorithm: single objective optimization,multi-objective optimization problems.Implemented NSGA II and Strength Pareto EvolutionaryAlgorithm (SPEA2) in MATLABTested SPEA2 algorithm on all benchmark functionTested NSGA II algorithm on all benchmark functionCompared the results
Multi-objective optimization 2/31
What is Evolutionary Algorithm?
Evolutionary algorithms (EAs) are often well-suited foroptimization problems involving several, often conflictingobjectivesEvolutionary algorithms typically generate sets ofsolutions, allowing computation of an approximation ofthe entire Pareto frontSPEA2 and NSGA II are two such EvolutionaryAlgorithms implemented on multi-objective functions
Multi-objective optimization 3/31
Life cycle of EA
Initialization : Initializing the population in the firstgeneration satisfying the bounds and constraints of theproblem.Parent Selection : Selection of fittest individuals for themating poolRecombination: Forming new individuals from themating pool. Crossover and Mutation is applied to theparents to produce new individuals.Survivor Selection: Fittest individuals of parents andchildren combined are selected as population for nextgeneration.
Multi-objective optimization 4/31
Life cycle of EA contd.
Figure 1: Life cycle of Evolutionary Algorithm
Multi-objective optimization 5/31
NSGA II Algorithm
Input1 N (Population Size)2 P (Population)3 Q (Offsprings)4 T (Maximum number of generations)
Output1 A (non-dominated set)
Multi-objective optimization 6/31
NSGA II Algorithm Contd.
1 Initialization: Generate an initial population P.2 Mating selection: Perform binary tournament selection
with replacement on P in order to fill the mating pool.3 Variation: Apply recombination and mutation operators to
the mating pool and set P to the resulting population andstore the result into Q.
4 Non dominated sort: Non dominated sort of P and Q5 Fronts division: Divide into fronts. Front 0 is
non-dominated.6 New generation: Selection of new population from fronts
Multi-objective optimization 7/31
Fast non dominated sorting
1 Each population i is compared with every population j.2 ni is the count of individuals which dominate the ith
population.3 Si is the set of individuals that i dominates.4 When ni = 0, that means the individual is the best solution
and is assigned first front.5 After getting the first front,for each individuals in Si, np is
decremented by 1 and the next front in obtained like inStep 4.
Multi-objective optimization 8/31
Generation of NSGA II
Figure 2: One generation of NSGA II algorithm
Multi-objective optimization 9/31
Evolution of individuals on ZDT 3 Function
Multi-objective optimization 10/31
SPEA2 Algorithm
Input1 N(Population Size)2 N(Archive size)3 T (Maximum number of generations)
Output1 A (non-dominated set)
Multi-objective optimization 11/31
SPEA2 Algorithm contd.
1 Initialization: Generate an initial population P0 and createthe empty archive P0 = φ. Set t = 0.
2 Fitness assignment: Calculate fitness values of individualsin Pt and Pt.
3 Environmental selection: Copy all non-dominatedindividuals in Pt and Pt to Pt+1 keeping the size N.
4 Termination: If t ≥ T or another stopping criterion issatisfied then set A to the set of decision vectors in Pt+1.Stop.
5 Mating selection: Perform binary tournament selectionwith replacement on Pt+1 in order to fill the mating pool.
6 Variation: Apply recombination and mutation operators tothe mating pool and set Pt+1 to the resulting population.Increment generation counter (t = t + 1) and go to Step 2
Multi-objective optimization 12/31
Evaluation of individuals on Viennet Function
Multi-objective optimization 13/31
Testing on Benchmark Functions
Both the algorithm, NSGA II and SPEA2 are tested on allbenchmark functions. Benchmark functions may be convex ornon-convex (un-constraint) or can have single or multipleconstraints.For all tests on benchmark, the Red graphrepresents NSGA II curve and Yellow represents SPEA 2 curve.The x-axis represents the First objective function and the y -axis represents Second objective function.
Multi-objective optimization 14/31
Schaffer function N. 1
Minimize =
f1(x) = x2
f2(x) = (x − 2)2
s.t =
−A ≤ x ≤ A10 ≤ A ≤ 105
Multi-objective optimization 15/31
ZDT1
Minimize =
f1(x) = x1
f2(x) = g(x)h(f1(x), g(x))g(x) = 1 + 9
29∑30
i=2 xi
h(f1(x), g(x)) = 1 −√
f1(x)g(x)
s.t =
0 ≤ xi ≤ 11 ≤ i ≤ 30
Multi-objective optimization 16/31
Schaffer function N. 2
Minimize =
f1(x) =
−x, if x ≤ 1x − 2, if 1 ≤ x < 34 − x, if 3 ≤ x < 4x − 4, if 4 ≤ x
f2(x) = (x − 5)2
s.t ={−5 ≤ x ≤ 10
Multi-objective optimization 17/31
ZDT3
Minimize =
f1(x) = x1
f2(x) = g(x)h(f1(x), g(x))g(x) = 1 + 9
29∑30
i=2 xi
h(f1(x), g(x)) = 1 −√
f1(x)g(x) − ( f1(x)
g(x) ) sin(10πf1(x))
s.t =
0 ≤ xi ≤ 11 ≤ i ≤ 30
Multi-objective optimization 18/31
ZDT2
Minimize =
f1(x) = x1
f2(x) = g(x)h(f1(x), g(x))g(x) = 1 + 9
29∑30
i=2 xi
h(f1(x), g(x)) = 1 − ( f1(x)g(x) )2
s.t =
0 ≤ xi ≤ 11 ≤ i ≤ 30
Multi-objective optimization 19/31
Fonseca and Fleming function
Minimize =
f1(x) = 1 − exp(−∑n
i=1(xi −1√
n)2)
f2(x) = 1 − exp(−∑n
i=1(xi −1√
n)2)
s.t =
−4 ≤ xi ≤ 41 ≤ i ≤ n
Multi-objective optimization 20/31
Kursawe function
Minimize =
f1(x) =∑2
i=1[−10 exp(−0.2√
x2i + x2
i+1)]
f2(x) =∑3
i=1[|xi|0.8 + 5 sin(x3
i )]√
n)2)
s.t =
−5 ≤ xi ≤ 51 ≤ i ≤ 3
Multi-objective optimization 21/31
Poloni’s two objective function (POL)
Minimize =
f1(x, y) = [1 + (A1 − B1(x, y))2 + (A2 − B2(x, y))2]f2(x, y) = (x + 3)2 + (y + 1)2
s.t =
A1 = 0.5 sin(1) − 2 cos(1) + sin(2) − 1.5 cos(2)A2 = 1.5 sin(1) − cos(1) + 2 sin(2) − 0.5 cos(2)B1(x, y) = 0.5 sin(x) − 2 cos(x) + sin(y) − 1.5 cos(y)B2(x, y) = 1.5 sin(x) − cos(x) + 2 sin(y) − 0.5 cos(y)−π ≤ x, y ≤ π
Multi-objective optimization 22/31
Viennet function
Minimize =
f1(x, y) = 0.5(x2 + y2) + sin(x2 + y2)
f2(x, y) =(3x−2y+4)2
8 +(x−y+1)2
27 + 15f3(x, y) = 1
x2+y2+1 − 1.1 exp(−(x2 + y2))
s.t ={−3 ≤ x, y ≤ 3
Multi-objective optimization 23/31
Binh and Korn function
Minimize =
f1(x, y
)= 4x2 + 4y2
f2(x, y
)= (x − 5)2 + (y − 5)2
s.t =
g1(x, y) = (x − 5)2 + y2
≤ 25g2(x, y) = (x − 8)2 + (y + 3)2
≥ 7.70 ≤ x ≤ 50 ≤ y ≤ 3
Multi-objective optimization 24/31
Chakong and Haimes function
Minimize =
f1(x, y) = 2 + (x − 2)2 + (y − 1)2
f2(x, y) = 9x − (y − 1)2
s.t =
g1(x, y) = x2 + y2
≤ 225g2(x, y) = x − 3y + 10 ≤ 0−20 ≤ x, y ≤ 20
Multi-objective optimization 25/31
Test Function
Minimize =
f1(x) = x2− y
f2(x) = −0.5x − y − 1
s.t =
g1(x, y) = 6.5 − x
6 − y ≥ 0g2(x, y) = 7.5 − 0.5x − y ≥ 0g3(x, y) = 30 − 5x − y ≥ 0−7 ≤ x, y ≤ 4
Multi-objective optimization 26/31
Osyczka and Kundu function
Minimize =
f1(x) = −25(x1 − 2)2− (x2 − 2)2
− (x3 − 1)2− (x4 − 4)2
− (x5 − 1)2
f2(x) =∑6
i=1 x2i
s.t = g1(x) = x1 + x2 − 2 ≥ 0g2(x) = 6 − x1 − x2 ≥ 0g3(x) = 2 − x2 + x1 ≥ 0g4(x) = 2 − x1 + 3x2 ≥ 0g5(x) = 4 − (x3 − 3)2
− x4 ≥ 0g6(x) = (x5 − 3)2 + x6 − 4 ≥ 00 ≤ x1, x2, x6 ≤ 101 ≤ x3, x5 ≤ 50 ≤ x4 ≤ 6
Multi-objective optimization 27/31
Constr-Ex problem function
Minimize =
f1(x, y) = xf2(x, y) =
1+yx
s.t = g1(x, y) = y + 9x ≥ 6g1(x, y) = −y + 9x ≥ 10.1 ≤ x ≤ 10 ≤ y ≤ 5
Multi-objective optimization 28/31
Work in progress
One of the application of multi-objective real life problems isPortfolio Optimization. In a portfolio problem with an assetuniverse of n securities, let xi (i = 1, 2, . . . , n) designate theproportion of initial capital to be allocated to security i. Andtypically there are two conflicting goals
Minimize risk.∑n
i=1∑n
j=1 xiσijxj
Maximize profit∑n
i=1 rixi
where ri is the expected return of ith security. σij is the covariance between ith and jth security.
Multi-objective optimization 29/31
Constraints of Portfolio Optimization
n∑i=1
xi = 1
α <= xi <= β
dmin <= d <= dmax
5/10/40 rule
0 <= α <= β <= 1
where, α and β are minimum and maximum capital proportionto be allocated to security i respectively. dmin and dmax is the
minimum and maximum number of non zero securities in theportfolio respectively.
Multi-objective optimization 30/31
Conclusion
It was derived from the project that the multi-objectiveevolutionary algorithm can solve multi-objective functionssatisfying given sets of constraints. Higher number ofgenerations will lead to better solutions until an upper bound isreached where all solutions tend to converge. Multi-objectiveoptimization algorithms can solve various real life applicationsby converting them into sets of objective functions andapplying constraints.
Multi-objective optimization 31/31