SlideShare a Scribd company logo
1 of 70
Download to read offline
Solving MOOP: Pareto-based MOEA approaches
Debasis Samanta
Indian Institute of Technology Kharagpur
dsamanta@iitkgp.ac.in
29.03.2016
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 1 / 70
MOEA strategies
MOEA Solution
Techniques
A priori approach A posteriori approach
Pareto selection
Ranking (MOGA)
Ranking and Niching
Demes
Elitist
Independent sampling
Aggregate Selection
Criterion selection (VEGA)
Lexicographic ordering
SOEA
Min-Max method
Non-linear fitness evaluation
Game theory approach
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 2 / 70
MOEA strategies
MOEA Solution
Techniques
A priori approach A posteriori approach
Pareto selection
Ranking (MOGA)
Ranking and Niching
Demes
Elitist
Independent sampling
Aggregate Selection
Criterion selection (VEGA)
Lexicographic ordering
SOEA
Min-Max method
Non-linear fitness evaluation
Game theory approach
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 3 / 70
MOGA : Multi-Objective Genetic Algorithm
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 4 / 70
MOGA : Multi-Objective Genetic Algorithm
It is Pareto-based approach based on the principle of ranking
mechanism prposed by Carlos M. Fonseca and Peter J. Fleming
(1993).
Reference :
C. M. Fonseca and P. J. Fleming, ”Genetic Algorithm for
multi-objective Optimization : Formulation, Discussion and
Generalization” in Proceeding of the 5th International Conference
on Genetic Algorithm, Page 416-423, 1993.
Regarding the ”generation” and ”selection” of the Pareto-optimal
set, ordering and scaling techniques are required.
MOGA follows the following methodologies:
For ordering: Dominance-based ranking,
For scaling: Linearized fitness assignment and fitness averaging.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 5 / 70
Flowchart of MOGA
Converged ?
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 6 / 70
Dominance-based ranking
Definition 6 : Rank of a solution
The rank of a certain individual corresponds to the number of
chromosomes in the current population by which it is dominated.
More formally,
If an individual xi is dominated by pi individuals in the current
generation, then rank(xi) = 1 + pi
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 7 / 70
Example 1: Dominance-based ranking
Min f1
Min
f
2
xi
Xi
Rank(x1)=1+|xi|
Where |xi| = number of solutions in
the shaded region
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 8 / 70
Example 2: Dominance-based ranking
Max f2
Max f1
xi
Rank(x1)=1+11=12
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 9 / 70
Example 3: Dominance-based ranking
Max f2
Max f1
1
2
8 1
Number of dominated points
with their domination count
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 10 / 70
Interpretation : Dominance-based ranking
Note :
1 Domination count = How many individual does an individual
dominates
2 All non-dominated individuals are assigned rank 1.
3 All dominated individuals are penalized according to the
population density of the corresponding region of the trade-off
surface.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 11 / 70
Fitness Assignment in MOGA
Steps :
1 Sort the population in ascending order according to their ranks.
2 Assign fitness to individuals by interpolating the best (rank 1) to
the worst (rank ≤ N, N being the population size) according to
some linear function.
3 Average the fitness of individual with the same rank, so that all of
them are sampled at the same rate.
This procedure keeps the global population fitness constant while
maintaining appropriate selective pressure, as defined by the function
used.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 12 / 70
Fitness Assignment in MOGA
f2
f1
interpolation
Individual with rank i
Rank i+1
Linerization
Example : Linearization = f̄i =
Pk
j=1
fi
i
¯
fi
j
where fi
j denotes the j-th objective function of a solution in the i-th rank
and ¯
fi
j denotes the average value of the j-th objectives of all the
solutions in the i-th rank.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 13 / 70
Illustration of MOGA
1 2 3 4 k l
1, 2, n
1 2
1 2 q
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 14 / 70
Remarks on MOGA
The fitness assignment (Step 3) in MOGA attempts to keep global
population fitness constant while maintaining appropriate
selection pressure.
MOGA follows blocked fitness assignment which is likely to
produce a large selection pressure that might lead to premature
convergence.
MOGA founds to produce better result (near optimal) in majority of
MOOPs.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 15 / 70
Niched Pareto Genetic Algorithm (NPGA)
J. Horn and N. Nafploitis, 1993 Reference : Multiobjective
Optimization using the Niched Pareto Genetic Algorithm by J.Horn and
N.Nafpliotis, Technical Report University of Illionis at
Urbans-Champaign, Urbana, Illionis, USA, 1993
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 16 / 70
Niched Pareto Genetic Algorithm (NPGA)
NPGA is based on the concept of tournament selection scheme
(based on Pareto dominance principle).
In this techniques, first two individuals are randomly selected for
tournament.
To find the winner solution, a comparison set that contains a
number of other individuals in the population is randomly selected.
Then the dominance of both candidates with respect to the
comparison set is tested.
If one candidate only dominates the comparison set, then the
candidate is selected as the winner.
Otherwise, niched sharing is followed to decide the winner
candidate.
The above can be specified as follows.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 17 / 70
Niched Pareto Genetic Algorithm (NPGA)
Pareto-domination tournament
let N = size of the population, K is the no of objective functions.
Steps :
1 i=1 (The first iteration)
2 Randomly select any two candidates C1 and C2
3 Randomly select a ”Comparison Set (CS)” of individuals from the
current population
Let its size be N∗ (Where N∗ = P%N; P decided by the
programmer)
4 Check the dominance of C1 and C2 against each individual in CS
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 18 / 70
Niched Pareto Genetic Algorithm (NPGA)
4 If C1 is dominated by CS but not by C2 than select C2 as the
winner
Else if C2 is dominated by CS but not C1 than select C1 as the
winner
Otherwise Neither C1 nor C2 dominated by CS
do sharing (C1, C2) and choose the winner.
5 If i = N0 than exit (Selection is done)
Else i=i+1, go to step 2
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 19 / 70
Niched Pareto Genetic Algorithm (NPGA)
A sharing is followed, when there is no preference in the
candidates.
This maintains the genetic diversity allows to develop a
reasonable representation of Pareto-optimal front.
The basic idea behind sharing is that the more individuals are
located in the neighborhood of a certain individual, the more its
fitness value is degraded.
The sharing procedure for any candidate is as follows.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 20 / 70
Niched Pareto Genetic Algorithm (NPGA)
Procedure do sharing(C1, C2)
1 j=1. Let x = C1
2 Compute a normalized (Euclidean distance) measure with the
individual xj in the current population as follows,
dxj =
s
Pk
i=1

fx
i
−f
j
i
fU
i
−fL
i
2
where fj
i denotes the i-th objective function of the j-th individual
fU
i and fL
i denote the upper and lower values of the i-th objective
function.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 21 / 70
Niched Pareto Genetic Algorithm (NPGA)
3 Let σshare= Niched Radius
Compute the following sharing value
sh(dxj) =
(
1 −

dxj
σshare
2
, if dxj  σshare
0 , otherwise
4 Set j = j + 1, if j  N, go to step 2 else calculate ”Niched Count”
for the candidate as follows
n1 =
PN
j=1 sh dij

5 Repeat step 1-4 for C2.
Let the niched count for C2 be n2
6 if n1  n2 then choose C2 as the winner else C1 as the winner.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 22 / 70
Niched Pareto Genetic Algorithm (NPGA)
C1
C2
C1
C2
N*
Initial Population of
size N
Random Population
index
.
.
.
.
.
.
.
.
.
.
.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 23 / 70
Niched Pareto Genetic Algorithm (NPGA)
This approach proposed by Horn and Nafploitis [1993]. The approach
is based on tournament scheme and Pareto dominance. In this
approach, a comparison was made among a number of individuals
(typically 10%) to determine the dominance. When both competitors
are dominated or non-dominated (that is, there is a tie) the result of the
tournament is decided through fitness sharing (also called equivalent
class sharing)
The pseudo code for Pareto domination tournament assuming that all
of the objectives are to be maximized is presented below. Let us
consider the following.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 24 / 70
Pareto domination Tournament
S = an array of N individuals in the current population.
random pop index = an array holding N individuals of S, in a random
order.
tdom= the size of the comparison set.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 25 / 70
Algorithm Selection
1
2
3
1
2
Candidate 1
Candidate 2
Comparison_individual
N
Population list
Random_pop_index
Comparison_set_index
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 26 / 70
Algorithm Selection
This algorithm returns an individual from the current population S.
Begin
shuffle(random pop index)
candidate 1 = random pop index[1];
candidate 2 = random pop index[2];
candidate 1 dominated = F;
candidate 2 dominated = F;
for comparison set index = 3 to tdom + 3 do
comparison individual = random pop index[comparison set index];
if s[comparison set index]dominatess[candidate 1] then
candidate 1 dominated = TRUE;
end if
if s[comparison set index]dominatess[candidate 2] then
candidate 2 dominated = TRUE;
end if
end for
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 27 / 70
Algorithm Selection
if candidate 1 dominatedand ∼ candidate 2 dominated then
return candidate 1
else if candidate 2 dominatedand ∼ candidate 1 dominated then
return candidate 2
else
if nichecount(candidate 1)  nichecount(candidate 2) then
return candidate 2
else
return candidate 1
end if
end if
END
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 28 / 70
Algorithm Selection
This approach does not apply Pareto selection to the entire population,
but only to a segment of it at each num, the technique is very first and
produces good non-dominated num that can be kept for a large
number of generation.
However, besides requiring a sharing factor, this approach also
requires a good choice of the value of tdom to perform well,
complicating its appropriate use in practice.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 29 / 70
Points to Ponder an Multi-objective Evolutionary
Algorithm
How you solve two optimization problem
Strategy 1 : Solve individually
Strategy 2 : Solve 1 as main as other as constraint
Strategy 3 : C = C1 + c2, X = X1 ∪ X2
Justify three strategies
What are the issues with one minimize and another maximization
problem
Explain weighted-sum approach.
What are the issues ?
How pareto-based approach address this issues ?
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 30 / 70
Non-dominated Sorting Genetic Algorithm(NSGA)
N.Srinivas and K.Deb, 1994
Reference : Multi-objective Optimization using Non-dominated Sorting
in Genetic Algorithm by N.Srinivas and K.Deb, IEEE Transaction on
Evolutionary Computing, Vol. 2, No. 3, Pages 221-248, 1994.
The algorithm is based on the concept of
1 Non-dominated sorting procedure (a ranking selection method to
select good non dominated points.
2 Niche method (is used to maintain stable subpopulation of good
points)
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 31 / 70
Non-dominated Sorting Procedure
Notations :
xi - denotes i-th solution
Si - denotes a set of solutions which dominate the solution xi
P - denotes a set of solutions (input solutions)
Pk - denotes a non-domination front at the k-th level (output as
sorting based on the non-domination rank of solution)
ni denotes the domination count, i.e. the number of solutions
which dominates xi
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 32 / 70
Non-dominated Sorting Procedure
Max f2
Max f1
P
Front 1
Front 2
Front 4 Front 3
xi
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 33 / 70
Non-dominated Sorting Procedure
Steps :
1 For each xi ∈ P do
1 For all xj 6= xi and xj ∈ P
If xi ≤ xj (i.e. if xi ) dominates xj
then si = si ∪ xj
else if xj ≤ xi then ni = ni + 1
2 If ni = 0, keep xi in P1 (the first front). Set a front counter K = 1
2 [INITIALIZATION]
For each xi ∈ P, ni = 0 and Si = φ
 −− This completes the finding of first front −− 
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 34 / 70
Non-dominated Sorting Procedure
 −− To find other fronts −− 
3 While Pk = φ do
1 [Initialize] Q = φ (for sorting next non-dominated solutions)
2 For each xi ∈ Pk and For each xj ∈ Si do
Update nj = nj − 1
If nj = 0 then xj in Q Else Q = Q ∪ xj
3 Set k = k + 1 and Pk = Q (Go for the next front)
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 35 / 70
Non-dominated Sorting Procedure
Note : Time complexity of this procedure is O(MN2), where M is the
number of objective and N is the population size.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 36 / 70
An Illustration
f1 maximize
1
2
3
4
5
2
4
5
3
1
2 6 10 14 18
f
2
maximize
Here, 1 dominates 2
5 dominates 1 etc.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 37 / 70
Non-dominated Sorting Procedure
Three non-dominated fronts as shown.
The solutions in the front [3, 5] are the best, follows by solutions
[1, 4].
Finally, solution [2] belongs to the worst non-dominated front.
Thus, the ordering of solutions in terms of their non-domination
level is : [3, 5], [1, 4], [2]
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 38 / 70
NSGA Technique
NSGA is based on several front of classification of the individuals.
It finds a front (of non dominated individuals) at particular rank and
then assign a fitness value (called dummy fitness value) to each
solution in the front followed by sharing of fitness value.
It then selects some individuals based on shared fitness values of
the individuals for mating pool.
Reproduce offspring for next generation and thus completes an
iteration.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 39 / 70
Flowchart of NSGA
Start
Initial Population
Front k = 1
Is Population
Classified ?
Reproduction
(Crossover, Mutation)
Converged ?
Identified non-
dominated individual
Assign dummy fitness
value
Fitness sharing
front k = k + 1
Yes
Yes
No
No
Sharing
Classification
MOOP
Encoding
Selection for mating
pool
Evaluate each
individual
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 40 / 70
Assign dummy fitness value
Once all non dominated individual are identified for a front, it
assigns a unique fitness value to each belongs to that front is
called dummy fitness value.
The dummy fitness value is a very large number and typically is
proportional to the number of population (which includes the
number of individuals in all fronts including the current front).
The proportional constant (≥ 1) is decided by the programmer
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 41 / 70
Assign dummy fitness value
Note :
The same fitness value is assigned to give an equal reproductive
potential to all the individual belong to the front.
A higher value is assigned to individuals in an upper layer front to
ensure selection pressure, that is, having better chance to e
selected for mating
As we go from an upper front to next lower front, count of
individuals are ignored (i.e. logically remove from the population
set) and thus number of population successive decreases as we
move from one front to next.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 42 / 70
Sharing the fitness value
In the given front, all individuals are assigned with a dummy
fitness value which is proportional to the number of population.
These classified individuals are then shared with their dummy
fitness values.
Sharing is achieved by dividing the dummy fitness value by ”a
quantity proportional to the number of individuals around it”. This
quantity is called niche count.
This quantity is calculated by computing ”Sharing coefficient”
denoted as sh(dij) between the individual xi,xj belong to the front
under process, as per following.
sh(dij) =
(
1 −

dij
Tshared
2
, if dij  Tshared
0 , otherwise
In the above, the parameter dij is the ”phenotype distance”
between two individuals xi and xj in the current front.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 43 / 70
Sharing the fitness value
Tshare is the maximum phenotype distance allowed between any
two individuals to become members of a niche. This value should
be decided by the programmer.
Niche count of xi then can be calculated as
γ(xi) =
P
∀xj ∈pk
Sh(dij)
where Pk denotes the set of non dominated individual in the
current front k).
The shared fitness value of xi is then ¯
fi = f
γ(xi ) , where f is the
dummy fitness value.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 44 / 70
NSGA Technique
f2
f1
Individual are with
higher niche count
Current front
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 45 / 70
Sharing the fitness value
Note :
The sharing is followed to ensure the population diversity. That is,
give a fair chance to those individuals which are not so niche.
sh(dij) 6= 0, and it always greater than or equal to 1 (=1 when
dij = 0).
After the fitness sharing operation, all individuals in the current
front are moved to a population set to be considered for mating
subject to their selection.
The assignment of dummy fitness value followed by fitness
sharing is then repeated for the next front (with a smaller
population size).
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 46 / 70
NSGA Selection
Once all fronts are processed, we obtained a set of population
with their individual shared fitness values.
This population is then through a selection procedure.
NSGA follows ”stochastic remainder proportionate selection”,
which is as follows.
1 Calculate cumulative probabilities of all individuals as in
Roulette-Wheel scheme.
2 Generate a random number (for first time only) ri (this is the
probability to get an individual to be selected).
3 If Pj−1 ≤ ri  Pj (where PJ and Pj−1 are two cumulative
probabilities, then consider j-th individual for the selection.
4 Let Ej = Pj × N (N, the population size and Ej denotes expected
count).
5 If integer part in Ej is nonzero, then select j-th solution for mating.
6 The fractional part is used as the random number for the selection
of next solution.
7 Repeat step 3-6 until the mating pool of desired size is not reached.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 47 / 70
Reproduction and generation of new population
Follow the standard reproduction procedure as in Simple GA.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 48 / 70
Remark on NSGA
Several comparative studies reveal that NSGA is outperformed by
both MOGA and NPGA.
NSGA is also highly inefficient algorithms because of the way in
which it classified individuals (if is O(MN3)) time complexity)
Deb et al. proposed an improved version of NSGA algorithm
called NSGA-II.
It needs to specify a sharing parameter.
Tshare It is a non-elitism appraoch.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 49 / 70
Elitist Multi-objective Genetic Algorithm : NSGA-II
K.Deb, A.Protap, S.Agarwal and T.Meyarivan 2002.
Reference :
A Fast and Elitist Multi-objective Genetic Algorithm : NSGA-II by
K.Deb, A.Pratap, S.Agrawal and T.Meyarivan in IEEE Transaction on
Evolutionary Computation, Vol.6, No.2, Pates 182-197, April 2002.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 50 / 70
Elitist Multi-objective Genetic Algorithm : NSGA-II
The following approach of finding non-domination front is followed in
NSGA.
Notation
P = A set of input solution
xi and xj denote any two solution
P0 = set of solutions on non-dominated front.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 51 / 70
Elitist Multi-objective Genetic Algorithm : NSGA-II
Approach
In this approach every solution from the population P is checked with a
partially filled population P0 (which is initially empty). To start with, the
first solution from P is moved into initially empty P0. Thereafter, each
solution xi ∈ P one by one is compared with all member of the set P0.
If the solution xi dominates any member of P0, then that solution is
removed from P0. Otherwise, if solution xi is dominated by any
member of P0, the solution xi is ignored. On the other hand, if solution
xi is not dominated by any member of P0 it is moved in to P0. This is
how the set P0 grows with non dominated solutions. When all solutions
of P are checked, the remaining members of P0 constitute the
solutions on non-dominated front.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 52 / 70
Elitist Multi-objective Genetic Algorithm : NSGA-II
This front is removed and the same steps are repeated with the
remaining solutions to find the next non-domination front until P is
empty. This approach is precisely stated in the following.
Steps :
P = x1, x2, · · · , xN
1 Initialize P0 = xi set solution counter j = 2.
2 Let j = 1.
3 Compare solution xi with xj from P for domination
4 If xi ≤ xj, delete xj from P0
5 If j  |P0|, then increment j by one and go to step 3.
Else Go to step 7.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 53 / 70
Elitist Multi-objective Genetic Algorithm : NSGA-II
6 If xj ≤ xi, then increment i by one and go to step 2.
7 Insert xi in P0 i.e. P0 = P0 ∪ i
8 If i  N, increment i by one and go to step 2.
9 Output P0 as the non-dominated from with current population
10 if P 6= φ, repeat Step 1-9.
11 Stop.
Note : Time complexity of this procedure is O(MN2) and in worst
case O(MN3) (when one front contains only one solution.)
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 54 / 70
Overview of NSGA-II
Let P be the current population
Create offspring population Q from P using the genetic operators
(mating pool, crossover and mutation)
Two population are combined together to form a large population
R of size of 2N
Apply non-dominating sorting procedure to classify the entire
population R.
After the non-domination sorting, the new population P is obtained
by fitting the non-dominated front one-by-one until the |P0|  |P|
The filling starts with the best non-dominated front followed by the
second non-dominated front, followed by the third non-dominated
front and so on.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 55 / 70
Overview of NSGA-II
Since the total population size is 2N, not all fonts may be
accommodated in N stats available in P0. All fronts which could
not be accommodated are simply rejected. when the last allowed
front is being considered, there may exist more solution in the lase
front than the remaining slots in the new population.
Instead of arbitrarily discarding some members from the last
acceptable front, the solution which will make the diversity of the
selected solutions the highest are chosen.
This is accomplished by calculating crowding distance of solutions
in the last acceptable front.
This way a new generation was obtained and the steps are
repeated until it satisfies a termination condition.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 56 / 70
NSGA Technique
Rejected
Non-dominated
sorting
P
Q
F1
F2
Fi
R
F1
F2
Fi
Solution based on
crowding distance
Last acceptable front
P’
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 57 / 70
Basic Steps : NSGA-II
Steps :
1 Combine parent (P) and offspring (Q) populations and obtain
R = P ∪ Q
2 Perform a non-dominated sorting to R and identify different fronts
of non-dominated solutions as Fi, i = 1, 2, · · · , etc.
3 Set new population P0 = φ. Set a new counter i = 1 (to indicate
front to be allowed to fill P0.
4 Fill P0 until |P0| + |Fi|  N that is, P0 ∪ Fi and i = i + 1.
5 Perform Crowding sort (Fi) and include the most-widely spread
N − |P0| solution by using the crowding distance values in the
sorted Fi to P0.
6 Create offspring population Q0 from P0 by using the
crowded-tournament selection, crossover and mutation operator.
7 P = P0, Q = Q0.
8 Repeat step 1-7 until the convergence of solutions.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 58 / 70
Crowding sort procedure
The crowding sort follows the following two concepts.
Crowding distance metric (d) and
Crowded comparison operator e
Note :
The crowding distance di of a solution xi is a measure of the
search space around xi which is not occupied by any other
solutions in the population. (It is just like a population density : di
is lower for a dense population.
The crowded comparison operator e (a binary operator) to
compare two solutions and returns a winner.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 59 / 70
Crowding sort procedure
Definition 8 : Crowding comparison operator
A solution xi wins over a solution xj, iff any of the following conditions
are true
If solution xi has a better rank (i.e. dominance rank). That is
rank(xi)  rank(xj)
If they have the same rank but solution xi has better crowding
solution xj.
That is rank(xi) = rank(xj) and di  dj (where di and dj are
crowding distance of xi and xj, respectively.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 60 / 70
Crowding sort procedure
Note :
The first condition ensures that xi lies on a better non-domination
front.
The second condition resolve the tie of both solution being on the
same non-dominated front by deciding on their crowding distances
(Note : For NSGA-II, only the second condition is valid as all solution
are belong to one front only.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 61 / 70
Crowding sort procedure
Definition 7 : Crowding distance measure
The crowding distance measure di is an estimate of the size of the
largest cuboid enclosing the point xi (i-th solution) without including
any point in the population.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 62 / 70
Crowding sort procedure
f2
f1
x2
Xi-1
Xi+1
f2
f1
Xi-1
Xi+1
f3
Xi
(a) Solutions in 2D space (b) Solutions in 3D space
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 63 / 70
Crowding sort procedure
In Fig(a), the crowding distance is the average side length of the
rectangle (so that two nearest solutions of xi and xi − 1 at two
opposite corners).
In fig.(b), the crowding distance is the sum of three adjacent
edges of a cuboid formed by the two neighbors xi−1 and xi+1 of xi
at two opposite corners of the cuboid.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 64 / 70
Crowding distance calculation
Given a set of non-dominated solutions say F, and objective functions
f = f1, f2, · · · , fM, the procedure to calculate the crowding distance of
each solution xi ∈ F is stated below. Steps :
1 Let l = |F| (Number of solutions in F)
2 For each xinF, set di = 0 (Initialize the crowding distance)
3 For each objective fi ∈ f
Fi
= sort(F, i)
Sort all solutions in F with respect to objective values fi
This will result F1
, F2
, · · · , Fm
sorted vector.
The sorting is performed in ascending order of objective values fi
The sorted vectors are shown in the fig.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 65 / 70
Crowding distance calculation
11
12
1l
1
21
22
2l
2
M1
M2
Ml
M
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 66 / 70
Crowding distance calculation
1 For each solution j = 2 to l − 1 do
dj =
PM
k=1
fk∗j+1−fk∗j−1
fMAX
k
−fMIN
k
2 di = dl =∝(Each boundary solutions are not crowded and hence
large crowded distance)
2
f11 f12 f13 f14 f15 f16 f17
f21
f22
f23
f24
f25
f26
f27
1
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 67 / 70
Crowding distance calculation
Note :
1 All objective function are assumed be minimized
2 Time complexity of the above operation is O(MN log2 N) , is the
complexity of M sorting operation with N elements.
3 The parameters fMAX
k and fMIN
k , K = 1, 2, · · · M can be set as the
population-maximum and population-minimum values of k-th
objective function and is used here to normalize the objective
values.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 68 / 70
Crowding Tournament
Once crowding distance of all solutions in the last acceptable front
F is calculated we are to select N − |P0| solutions from F to
complete the size of |P| = N.
To do this, we are to follow tournament selection operation
according to c (Crowding comparison operator). That is we
select xi over xj (xi c xj) if di  dj.
Note that we prefer those solutions which are not in the crowded
search space. This ensure a better population diversity.
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 69 / 70
Crowding Tournament
Remarks :
NSGA-II is an elitist approach
It consider a faster non-dominated sorting procedure with time
complexity O(MN2) compared to O(MN3) in NSGA.
It does not require explicit sharing concept rather use a crowding
tournament selection with time complexity O(MN log N)
Thus, the overall time complexity of NSGA-II is O(MN2)
Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 70 / 70

More Related Content

Similar to new file best book from the university.pdf

Distributed Digital Artifacts on the Semantic Web
Distributed Digital Artifacts on the Semantic WebDistributed Digital Artifacts on the Semantic Web
Distributed Digital Artifacts on the Semantic Web
Editor IJCATR
 
Turnover Prediction of Shares Using Data Mining Techniques : A Case Study
Turnover Prediction of Shares Using Data Mining Techniques : A Case Study Turnover Prediction of Shares Using Data Mining Techniques : A Case Study
Turnover Prediction of Shares Using Data Mining Techniques : A Case Study
csandit
 
Mimo system-order-reduction-using-real-coded-genetic-algorithm
Mimo system-order-reduction-using-real-coded-genetic-algorithmMimo system-order-reduction-using-real-coded-genetic-algorithm
Mimo system-order-reduction-using-real-coded-genetic-algorithm
Cemal Ardil
 
Mastering the game of go with deep neural networks and tree searching
Mastering the game of go with deep neural networks and tree searchingMastering the game of go with deep neural networks and tree searching
Mastering the game of go with deep neural networks and tree searching
Brian Kim
 
Training language models to follow instructions with human feedback.pdf
Training language models to follow instructions
with human feedback.pdfTraining language models to follow instructions
with human feedback.pdf
Training language models to follow instructions with human feedback.pdf
Po-Chuan Chen
 

Similar to new file best book from the university.pdf (20)

Bx34452461
Bx34452461Bx34452461
Bx34452461
 
Distributed Digital Artifacts on the Semantic Web
Distributed Digital Artifacts on the Semantic WebDistributed Digital Artifacts on the Semantic Web
Distributed Digital Artifacts on the Semantic Web
 
Da35573574
Da35573574Da35573574
Da35573574
 
my IEEE
my IEEEmy IEEE
my IEEE
 
Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016
 
IRJET- Performance Evaluation of Various Classification Algorithms
IRJET- Performance Evaluation of Various Classification AlgorithmsIRJET- Performance Evaluation of Various Classification Algorithms
IRJET- Performance Evaluation of Various Classification Algorithms
 
IRJET- Performance Evaluation of Various Classification Algorithms
IRJET- Performance Evaluation of Various Classification AlgorithmsIRJET- Performance Evaluation of Various Classification Algorithms
IRJET- Performance Evaluation of Various Classification Algorithms
 
A Novel Hybrid Voter Using Genetic Algorithm and Performance History
A Novel Hybrid Voter Using Genetic Algorithm and Performance HistoryA Novel Hybrid Voter Using Genetic Algorithm and Performance History
A Novel Hybrid Voter Using Genetic Algorithm and Performance History
 
Turnover Prediction of Shares Using Data Mining Techniques : A Case Study
Turnover Prediction of Shares Using Data Mining Techniques : A Case Study Turnover Prediction of Shares Using Data Mining Techniques : A Case Study
Turnover Prediction of Shares Using Data Mining Techniques : A Case Study
 
The role of Dataset in training ANFIS System for Course Advisor
The role of Dataset in training ANFIS System for Course AdvisorThe role of Dataset in training ANFIS System for Course Advisor
The role of Dataset in training ANFIS System for Course Advisor
 
IRJET- Predicting Customers Churn in Telecom Industry using Centroid Oversamp...
IRJET- Predicting Customers Churn in Telecom Industry using Centroid Oversamp...IRJET- Predicting Customers Churn in Telecom Industry using Centroid Oversamp...
IRJET- Predicting Customers Churn in Telecom Industry using Centroid Oversamp...
 
E034023028
E034023028E034023028
E034023028
 
Mimo system-order-reduction-using-real-coded-genetic-algorithm
Mimo system-order-reduction-using-real-coded-genetic-algorithmMimo system-order-reduction-using-real-coded-genetic-algorithm
Mimo system-order-reduction-using-real-coded-genetic-algorithm
 
Mastering the game of go with deep neural networks and tree searching
Mastering the game of go with deep neural networks and tree searchingMastering the game of go with deep neural networks and tree searching
Mastering the game of go with deep neural networks and tree searching
 
APPLYING DYNAMIC MODEL FOR MULTIPLE MANOEUVRING TARGET TRACKING USING PARTICL...
APPLYING DYNAMIC MODEL FOR MULTIPLE MANOEUVRING TARGET TRACKING USING PARTICL...APPLYING DYNAMIC MODEL FOR MULTIPLE MANOEUVRING TARGET TRACKING USING PARTICL...
APPLYING DYNAMIC MODEL FOR MULTIPLE MANOEUVRING TARGET TRACKING USING PARTICL...
 
SCA FL-04.pdf
SCA FL-04.pdfSCA FL-04.pdf
SCA FL-04.pdf
 
Training language models to follow instructions with human feedback.pdf
Training language models to follow instructions
with human feedback.pdfTraining language models to follow instructions
with human feedback.pdf
Training language models to follow instructions with human feedback.pdf
 
Improving the Performance of MCTS-Based μRTS Agents Through Move Pruning
Improving the Performance of MCTS-Based μRTS Agents Through Move PruningImproving the Performance of MCTS-Based μRTS Agents Through Move Pruning
Improving the Performance of MCTS-Based μRTS Agents Through Move Pruning
 
A Threshold fuzzy entropy based feature selection method applied in various b...
A Threshold fuzzy entropy based feature selection method applied in various b...A Threshold fuzzy entropy based feature selection method applied in various b...
A Threshold fuzzy entropy based feature selection method applied in various b...
 
NON-STATIONARY BANDIT CHANGE DETECTION-BASED THOMPSON SAMPLING ALGORITHM
NON-STATIONARY BANDIT CHANGE DETECTION-BASED THOMPSON SAMPLING ALGORITHMNON-STATIONARY BANDIT CHANGE DETECTION-BASED THOMPSON SAMPLING ALGORITHM
NON-STATIONARY BANDIT CHANGE DETECTION-BASED THOMPSON SAMPLING ALGORITHM
 

Recently uploaded

[[Nerul]] MNavi Mumbai Honoreble Call Girls Number-9833754194-Panvel Best Es...
[[Nerul]] MNavi Mumbai Honoreble  Call Girls Number-9833754194-Panvel Best Es...[[Nerul]] MNavi Mumbai Honoreble  Call Girls Number-9833754194-Panvel Best Es...
[[Nerul]] MNavi Mumbai Honoreble Call Girls Number-9833754194-Panvel Best Es...
priyasharma62062
 
Call Girls in Tilak Nagar (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in Tilak Nagar (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in Tilak Nagar (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in Tilak Nagar (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Vip Call Girls Rasulgada😉 Bhubaneswar 9777949614 Housewife Call Girls Servic...
Vip Call Girls Rasulgada😉  Bhubaneswar 9777949614 Housewife Call Girls Servic...Vip Call Girls Rasulgada😉  Bhubaneswar 9777949614 Housewife Call Girls Servic...
Vip Call Girls Rasulgada😉 Bhubaneswar 9777949614 Housewife Call Girls Servic...
 
2999,Vashi Fantastic Ellete Call Girls📞📞9833754194 CBD Belapur Genuine Call G...
2999,Vashi Fantastic Ellete Call Girls📞📞9833754194 CBD Belapur Genuine Call G...2999,Vashi Fantastic Ellete Call Girls📞📞9833754194 CBD Belapur Genuine Call G...
2999,Vashi Fantastic Ellete Call Girls📞📞9833754194 CBD Belapur Genuine Call G...
 
Bhubaneswar🌹Kalpana Mesuem ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...
Bhubaneswar🌹Kalpana Mesuem  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...Bhubaneswar🌹Kalpana Mesuem  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...
Bhubaneswar🌹Kalpana Mesuem ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...
 
Russian Call Girls New Bhubaneswar Whatsapp Numbers 9777949614 Russian Escor...
Russian Call Girls New Bhubaneswar Whatsapp Numbers 9777949614  Russian Escor...Russian Call Girls New Bhubaneswar Whatsapp Numbers 9777949614  Russian Escor...
Russian Call Girls New Bhubaneswar Whatsapp Numbers 9777949614 Russian Escor...
 
✂️ 👅 Independent Bhubaneswar Escorts Odisha Call Girls With Room Bhubaneswar ...
✂️ 👅 Independent Bhubaneswar Escorts Odisha Call Girls With Room Bhubaneswar ...✂️ 👅 Independent Bhubaneswar Escorts Odisha Call Girls With Room Bhubaneswar ...
✂️ 👅 Independent Bhubaneswar Escorts Odisha Call Girls With Room Bhubaneswar ...
 
✂️ 👅 Independent Lucknow Escorts U.P Call Girls With Room Lucknow Call Girls ...
✂️ 👅 Independent Lucknow Escorts U.P Call Girls With Room Lucknow Call Girls ...✂️ 👅 Independent Lucknow Escorts U.P Call Girls With Room Lucknow Call Girls ...
✂️ 👅 Independent Lucknow Escorts U.P Call Girls With Room Lucknow Call Girls ...
 
Mahendragarh Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
Mahendragarh Escorts 🥰 8617370543 Call Girls Offer VIP Hot GirlsMahendragarh Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
Mahendragarh Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
 
Kurla Capable Call Girls ,07506202331, Sion Affordable Call Girls
Kurla Capable Call Girls ,07506202331, Sion Affordable Call GirlsKurla Capable Call Girls ,07506202331, Sion Affordable Call Girls
Kurla Capable Call Girls ,07506202331, Sion Affordable Call Girls
 
Kopar Khairane Cheapest Call Girls✔✔✔9833754194 Nerul Premium Call Girls-Navi...
Kopar Khairane Cheapest Call Girls✔✔✔9833754194 Nerul Premium Call Girls-Navi...Kopar Khairane Cheapest Call Girls✔✔✔9833754194 Nerul Premium Call Girls-Navi...
Kopar Khairane Cheapest Call Girls✔✔✔9833754194 Nerul Premium Call Girls-Navi...
 
Bhubaneswar🌹Ravi Tailkes ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
Bhubaneswar🌹Ravi Tailkes  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...Bhubaneswar🌹Ravi Tailkes  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
Bhubaneswar🌹Ravi Tailkes ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
 
Effortless Income Tax Filing Online Your Path to Financial Ease..pdf
Effortless Income Tax Filing Online Your Path to Financial Ease..pdfEffortless Income Tax Filing Online Your Path to Financial Ease..pdf
Effortless Income Tax Filing Online Your Path to Financial Ease..pdf
 
Nalasopara TRusted Virar-Vasai-Housewife Call Girls✔✔9833754194 Gorgeous Mode...
Nalasopara TRusted Virar-Vasai-Housewife Call Girls✔✔9833754194 Gorgeous Mode...Nalasopara TRusted Virar-Vasai-Housewife Call Girls✔✔9833754194 Gorgeous Mode...
Nalasopara TRusted Virar-Vasai-Housewife Call Girls✔✔9833754194 Gorgeous Mode...
 
Seeman_Fiintouch_LLP_Newsletter_May-2024.pdf
Seeman_Fiintouch_LLP_Newsletter_May-2024.pdfSeeman_Fiintouch_LLP_Newsletter_May-2024.pdf
Seeman_Fiintouch_LLP_Newsletter_May-2024.pdf
 
Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...
Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...
Famous No1 Amil Baba Love marriage Astrologer Specialist Expert In Pakistan a...
 
[[Nerul]] MNavi Mumbai Honoreble Call Girls Number-9833754194-Panvel Best Es...
[[Nerul]] MNavi Mumbai Honoreble  Call Girls Number-9833754194-Panvel Best Es...[[Nerul]] MNavi Mumbai Honoreble  Call Girls Number-9833754194-Panvel Best Es...
[[Nerul]] MNavi Mumbai Honoreble Call Girls Number-9833754194-Panvel Best Es...
 
Webinar on E-Invoicing for Fintech Belgium
Webinar on E-Invoicing for Fintech BelgiumWebinar on E-Invoicing for Fintech Belgium
Webinar on E-Invoicing for Fintech Belgium
 
Call Girls in Tilak Nagar (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in Tilak Nagar (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in Tilak Nagar (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in Tilak Nagar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
W.D. Gann Theory Complete Information.pdf
W.D. Gann Theory Complete Information.pdfW.D. Gann Theory Complete Information.pdf
W.D. Gann Theory Complete Information.pdf
 
Escorts Indore Call Girls-9155612368-Vijay Nagar Decent Fantastic Call Girls ...
Escorts Indore Call Girls-9155612368-Vijay Nagar Decent Fantastic Call Girls ...Escorts Indore Call Girls-9155612368-Vijay Nagar Decent Fantastic Call Girls ...
Escorts Indore Call Girls-9155612368-Vijay Nagar Decent Fantastic Call Girls ...
 
CBD Belapur((Thane)) Charming Call Girls📞❤9833754194 Kamothe Beautiful Call G...
CBD Belapur((Thane)) Charming Call Girls📞❤9833754194 Kamothe Beautiful Call G...CBD Belapur((Thane)) Charming Call Girls📞❤9833754194 Kamothe Beautiful Call G...
CBD Belapur((Thane)) Charming Call Girls📞❤9833754194 Kamothe Beautiful Call G...
 

new file best book from the university.pdf

  • 1. Solving MOOP: Pareto-based MOEA approaches Debasis Samanta Indian Institute of Technology Kharagpur dsamanta@iitkgp.ac.in 29.03.2016 Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 1 / 70
  • 2. MOEA strategies MOEA Solution Techniques A priori approach A posteriori approach Pareto selection Ranking (MOGA) Ranking and Niching Demes Elitist Independent sampling Aggregate Selection Criterion selection (VEGA) Lexicographic ordering SOEA Min-Max method Non-linear fitness evaluation Game theory approach Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 2 / 70
  • 3. MOEA strategies MOEA Solution Techniques A priori approach A posteriori approach Pareto selection Ranking (MOGA) Ranking and Niching Demes Elitist Independent sampling Aggregate Selection Criterion selection (VEGA) Lexicographic ordering SOEA Min-Max method Non-linear fitness evaluation Game theory approach Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 3 / 70
  • 4. MOGA : Multi-Objective Genetic Algorithm Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 4 / 70
  • 5. MOGA : Multi-Objective Genetic Algorithm It is Pareto-based approach based on the principle of ranking mechanism prposed by Carlos M. Fonseca and Peter J. Fleming (1993). Reference : C. M. Fonseca and P. J. Fleming, ”Genetic Algorithm for multi-objective Optimization : Formulation, Discussion and Generalization” in Proceeding of the 5th International Conference on Genetic Algorithm, Page 416-423, 1993. Regarding the ”generation” and ”selection” of the Pareto-optimal set, ordering and scaling techniques are required. MOGA follows the following methodologies: For ordering: Dominance-based ranking, For scaling: Linearized fitness assignment and fitness averaging. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 5 / 70
  • 6. Flowchart of MOGA Converged ? Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 6 / 70
  • 7. Dominance-based ranking Definition 6 : Rank of a solution The rank of a certain individual corresponds to the number of chromosomes in the current population by which it is dominated. More formally, If an individual xi is dominated by pi individuals in the current generation, then rank(xi) = 1 + pi Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 7 / 70
  • 8. Example 1: Dominance-based ranking Min f1 Min f 2 xi Xi Rank(x1)=1+|xi| Where |xi| = number of solutions in the shaded region Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 8 / 70
  • 9. Example 2: Dominance-based ranking Max f2 Max f1 xi Rank(x1)=1+11=12 Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 9 / 70
  • 10. Example 3: Dominance-based ranking Max f2 Max f1 1 2 8 1 Number of dominated points with their domination count Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 10 / 70
  • 11. Interpretation : Dominance-based ranking Note : 1 Domination count = How many individual does an individual dominates 2 All non-dominated individuals are assigned rank 1. 3 All dominated individuals are penalized according to the population density of the corresponding region of the trade-off surface. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 11 / 70
  • 12. Fitness Assignment in MOGA Steps : 1 Sort the population in ascending order according to their ranks. 2 Assign fitness to individuals by interpolating the best (rank 1) to the worst (rank ≤ N, N being the population size) according to some linear function. 3 Average the fitness of individual with the same rank, so that all of them are sampled at the same rate. This procedure keeps the global population fitness constant while maintaining appropriate selective pressure, as defined by the function used. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 12 / 70
  • 13. Fitness Assignment in MOGA f2 f1 interpolation Individual with rank i Rank i+1 Linerization Example : Linearization = f̄i = Pk j=1 fi i ¯ fi j where fi j denotes the j-th objective function of a solution in the i-th rank and ¯ fi j denotes the average value of the j-th objectives of all the solutions in the i-th rank. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 13 / 70
  • 14. Illustration of MOGA 1 2 3 4 k l 1, 2, n 1 2 1 2 q Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 14 / 70
  • 15. Remarks on MOGA The fitness assignment (Step 3) in MOGA attempts to keep global population fitness constant while maintaining appropriate selection pressure. MOGA follows blocked fitness assignment which is likely to produce a large selection pressure that might lead to premature convergence. MOGA founds to produce better result (near optimal) in majority of MOOPs. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 15 / 70
  • 16. Niched Pareto Genetic Algorithm (NPGA) J. Horn and N. Nafploitis, 1993 Reference : Multiobjective Optimization using the Niched Pareto Genetic Algorithm by J.Horn and N.Nafpliotis, Technical Report University of Illionis at Urbans-Champaign, Urbana, Illionis, USA, 1993 Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 16 / 70
  • 17. Niched Pareto Genetic Algorithm (NPGA) NPGA is based on the concept of tournament selection scheme (based on Pareto dominance principle). In this techniques, first two individuals are randomly selected for tournament. To find the winner solution, a comparison set that contains a number of other individuals in the population is randomly selected. Then the dominance of both candidates with respect to the comparison set is tested. If one candidate only dominates the comparison set, then the candidate is selected as the winner. Otherwise, niched sharing is followed to decide the winner candidate. The above can be specified as follows. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 17 / 70
  • 18. Niched Pareto Genetic Algorithm (NPGA) Pareto-domination tournament let N = size of the population, K is the no of objective functions. Steps : 1 i=1 (The first iteration) 2 Randomly select any two candidates C1 and C2 3 Randomly select a ”Comparison Set (CS)” of individuals from the current population Let its size be N∗ (Where N∗ = P%N; P decided by the programmer) 4 Check the dominance of C1 and C2 against each individual in CS Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 18 / 70
  • 19. Niched Pareto Genetic Algorithm (NPGA) 4 If C1 is dominated by CS but not by C2 than select C2 as the winner Else if C2 is dominated by CS but not C1 than select C1 as the winner Otherwise Neither C1 nor C2 dominated by CS do sharing (C1, C2) and choose the winner. 5 If i = N0 than exit (Selection is done) Else i=i+1, go to step 2 Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 19 / 70
  • 20. Niched Pareto Genetic Algorithm (NPGA) A sharing is followed, when there is no preference in the candidates. This maintains the genetic diversity allows to develop a reasonable representation of Pareto-optimal front. The basic idea behind sharing is that the more individuals are located in the neighborhood of a certain individual, the more its fitness value is degraded. The sharing procedure for any candidate is as follows. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 20 / 70
  • 21. Niched Pareto Genetic Algorithm (NPGA) Procedure do sharing(C1, C2) 1 j=1. Let x = C1 2 Compute a normalized (Euclidean distance) measure with the individual xj in the current population as follows, dxj = s Pk i=1 fx i −f j i fU i −fL i 2 where fj i denotes the i-th objective function of the j-th individual fU i and fL i denote the upper and lower values of the i-th objective function. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 21 / 70
  • 22. Niched Pareto Genetic Algorithm (NPGA) 3 Let σshare= Niched Radius Compute the following sharing value sh(dxj) = ( 1 − dxj σshare 2 , if dxj σshare 0 , otherwise 4 Set j = j + 1, if j N, go to step 2 else calculate ”Niched Count” for the candidate as follows n1 = PN j=1 sh dij 5 Repeat step 1-4 for C2. Let the niched count for C2 be n2 6 if n1 n2 then choose C2 as the winner else C1 as the winner. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 22 / 70
  • 23. Niched Pareto Genetic Algorithm (NPGA) C1 C2 C1 C2 N* Initial Population of size N Random Population index . . . . . . . . . . . Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 23 / 70
  • 24. Niched Pareto Genetic Algorithm (NPGA) This approach proposed by Horn and Nafploitis [1993]. The approach is based on tournament scheme and Pareto dominance. In this approach, a comparison was made among a number of individuals (typically 10%) to determine the dominance. When both competitors are dominated or non-dominated (that is, there is a tie) the result of the tournament is decided through fitness sharing (also called equivalent class sharing) The pseudo code for Pareto domination tournament assuming that all of the objectives are to be maximized is presented below. Let us consider the following. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 24 / 70
  • 25. Pareto domination Tournament S = an array of N individuals in the current population. random pop index = an array holding N individuals of S, in a random order. tdom= the size of the comparison set. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 25 / 70
  • 26. Algorithm Selection 1 2 3 1 2 Candidate 1 Candidate 2 Comparison_individual N Population list Random_pop_index Comparison_set_index Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 26 / 70
  • 27. Algorithm Selection This algorithm returns an individual from the current population S. Begin shuffle(random pop index) candidate 1 = random pop index[1]; candidate 2 = random pop index[2]; candidate 1 dominated = F; candidate 2 dominated = F; for comparison set index = 3 to tdom + 3 do comparison individual = random pop index[comparison set index]; if s[comparison set index]dominatess[candidate 1] then candidate 1 dominated = TRUE; end if if s[comparison set index]dominatess[candidate 2] then candidate 2 dominated = TRUE; end if end for Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 27 / 70
  • 28. Algorithm Selection if candidate 1 dominatedand ∼ candidate 2 dominated then return candidate 1 else if candidate 2 dominatedand ∼ candidate 1 dominated then return candidate 2 else if nichecount(candidate 1) nichecount(candidate 2) then return candidate 2 else return candidate 1 end if end if END Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 28 / 70
  • 29. Algorithm Selection This approach does not apply Pareto selection to the entire population, but only to a segment of it at each num, the technique is very first and produces good non-dominated num that can be kept for a large number of generation. However, besides requiring a sharing factor, this approach also requires a good choice of the value of tdom to perform well, complicating its appropriate use in practice. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 29 / 70
  • 30. Points to Ponder an Multi-objective Evolutionary Algorithm How you solve two optimization problem Strategy 1 : Solve individually Strategy 2 : Solve 1 as main as other as constraint Strategy 3 : C = C1 + c2, X = X1 ∪ X2 Justify three strategies What are the issues with one minimize and another maximization problem Explain weighted-sum approach. What are the issues ? How pareto-based approach address this issues ? Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 30 / 70
  • 31. Non-dominated Sorting Genetic Algorithm(NSGA) N.Srinivas and K.Deb, 1994 Reference : Multi-objective Optimization using Non-dominated Sorting in Genetic Algorithm by N.Srinivas and K.Deb, IEEE Transaction on Evolutionary Computing, Vol. 2, No. 3, Pages 221-248, 1994. The algorithm is based on the concept of 1 Non-dominated sorting procedure (a ranking selection method to select good non dominated points. 2 Niche method (is used to maintain stable subpopulation of good points) Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 31 / 70
  • 32. Non-dominated Sorting Procedure Notations : xi - denotes i-th solution Si - denotes a set of solutions which dominate the solution xi P - denotes a set of solutions (input solutions) Pk - denotes a non-domination front at the k-th level (output as sorting based on the non-domination rank of solution) ni denotes the domination count, i.e. the number of solutions which dominates xi Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 32 / 70
  • 33. Non-dominated Sorting Procedure Max f2 Max f1 P Front 1 Front 2 Front 4 Front 3 xi Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 33 / 70
  • 34. Non-dominated Sorting Procedure Steps : 1 For each xi ∈ P do 1 For all xj 6= xi and xj ∈ P If xi ≤ xj (i.e. if xi ) dominates xj then si = si ∪ xj else if xj ≤ xi then ni = ni + 1 2 If ni = 0, keep xi in P1 (the first front). Set a front counter K = 1 2 [INITIALIZATION] For each xi ∈ P, ni = 0 and Si = φ −− This completes the finding of first front −− Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 34 / 70
  • 35. Non-dominated Sorting Procedure −− To find other fronts −− 3 While Pk = φ do 1 [Initialize] Q = φ (for sorting next non-dominated solutions) 2 For each xi ∈ Pk and For each xj ∈ Si do Update nj = nj − 1 If nj = 0 then xj in Q Else Q = Q ∪ xj 3 Set k = k + 1 and Pk = Q (Go for the next front) Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 35 / 70
  • 36. Non-dominated Sorting Procedure Note : Time complexity of this procedure is O(MN2), where M is the number of objective and N is the population size. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 36 / 70
  • 37. An Illustration f1 maximize 1 2 3 4 5 2 4 5 3 1 2 6 10 14 18 f 2 maximize Here, 1 dominates 2 5 dominates 1 etc. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 37 / 70
  • 38. Non-dominated Sorting Procedure Three non-dominated fronts as shown. The solutions in the front [3, 5] are the best, follows by solutions [1, 4]. Finally, solution [2] belongs to the worst non-dominated front. Thus, the ordering of solutions in terms of their non-domination level is : [3, 5], [1, 4], [2] Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 38 / 70
  • 39. NSGA Technique NSGA is based on several front of classification of the individuals. It finds a front (of non dominated individuals) at particular rank and then assign a fitness value (called dummy fitness value) to each solution in the front followed by sharing of fitness value. It then selects some individuals based on shared fitness values of the individuals for mating pool. Reproduce offspring for next generation and thus completes an iteration. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 39 / 70
  • 40. Flowchart of NSGA Start Initial Population Front k = 1 Is Population Classified ? Reproduction (Crossover, Mutation) Converged ? Identified non- dominated individual Assign dummy fitness value Fitness sharing front k = k + 1 Yes Yes No No Sharing Classification MOOP Encoding Selection for mating pool Evaluate each individual Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 40 / 70
  • 41. Assign dummy fitness value Once all non dominated individual are identified for a front, it assigns a unique fitness value to each belongs to that front is called dummy fitness value. The dummy fitness value is a very large number and typically is proportional to the number of population (which includes the number of individuals in all fronts including the current front). The proportional constant (≥ 1) is decided by the programmer Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 41 / 70
  • 42. Assign dummy fitness value Note : The same fitness value is assigned to give an equal reproductive potential to all the individual belong to the front. A higher value is assigned to individuals in an upper layer front to ensure selection pressure, that is, having better chance to e selected for mating As we go from an upper front to next lower front, count of individuals are ignored (i.e. logically remove from the population set) and thus number of population successive decreases as we move from one front to next. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 42 / 70
  • 43. Sharing the fitness value In the given front, all individuals are assigned with a dummy fitness value which is proportional to the number of population. These classified individuals are then shared with their dummy fitness values. Sharing is achieved by dividing the dummy fitness value by ”a quantity proportional to the number of individuals around it”. This quantity is called niche count. This quantity is calculated by computing ”Sharing coefficient” denoted as sh(dij) between the individual xi,xj belong to the front under process, as per following. sh(dij) = ( 1 − dij Tshared 2 , if dij Tshared 0 , otherwise In the above, the parameter dij is the ”phenotype distance” between two individuals xi and xj in the current front. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 43 / 70
  • 44. Sharing the fitness value Tshare is the maximum phenotype distance allowed between any two individuals to become members of a niche. This value should be decided by the programmer. Niche count of xi then can be calculated as γ(xi) = P ∀xj ∈pk Sh(dij) where Pk denotes the set of non dominated individual in the current front k). The shared fitness value of xi is then ¯ fi = f γ(xi ) , where f is the dummy fitness value. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 44 / 70
  • 45. NSGA Technique f2 f1 Individual are with higher niche count Current front Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 45 / 70
  • 46. Sharing the fitness value Note : The sharing is followed to ensure the population diversity. That is, give a fair chance to those individuals which are not so niche. sh(dij) 6= 0, and it always greater than or equal to 1 (=1 when dij = 0). After the fitness sharing operation, all individuals in the current front are moved to a population set to be considered for mating subject to their selection. The assignment of dummy fitness value followed by fitness sharing is then repeated for the next front (with a smaller population size). Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 46 / 70
  • 47. NSGA Selection Once all fronts are processed, we obtained a set of population with their individual shared fitness values. This population is then through a selection procedure. NSGA follows ”stochastic remainder proportionate selection”, which is as follows. 1 Calculate cumulative probabilities of all individuals as in Roulette-Wheel scheme. 2 Generate a random number (for first time only) ri (this is the probability to get an individual to be selected). 3 If Pj−1 ≤ ri Pj (where PJ and Pj−1 are two cumulative probabilities, then consider j-th individual for the selection. 4 Let Ej = Pj × N (N, the population size and Ej denotes expected count). 5 If integer part in Ej is nonzero, then select j-th solution for mating. 6 The fractional part is used as the random number for the selection of next solution. 7 Repeat step 3-6 until the mating pool of desired size is not reached. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 47 / 70
  • 48. Reproduction and generation of new population Follow the standard reproduction procedure as in Simple GA. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 48 / 70
  • 49. Remark on NSGA Several comparative studies reveal that NSGA is outperformed by both MOGA and NPGA. NSGA is also highly inefficient algorithms because of the way in which it classified individuals (if is O(MN3)) time complexity) Deb et al. proposed an improved version of NSGA algorithm called NSGA-II. It needs to specify a sharing parameter. Tshare It is a non-elitism appraoch. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 49 / 70
  • 50. Elitist Multi-objective Genetic Algorithm : NSGA-II K.Deb, A.Protap, S.Agarwal and T.Meyarivan 2002. Reference : A Fast and Elitist Multi-objective Genetic Algorithm : NSGA-II by K.Deb, A.Pratap, S.Agrawal and T.Meyarivan in IEEE Transaction on Evolutionary Computation, Vol.6, No.2, Pates 182-197, April 2002. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 50 / 70
  • 51. Elitist Multi-objective Genetic Algorithm : NSGA-II The following approach of finding non-domination front is followed in NSGA. Notation P = A set of input solution xi and xj denote any two solution P0 = set of solutions on non-dominated front. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 51 / 70
  • 52. Elitist Multi-objective Genetic Algorithm : NSGA-II Approach In this approach every solution from the population P is checked with a partially filled population P0 (which is initially empty). To start with, the first solution from P is moved into initially empty P0. Thereafter, each solution xi ∈ P one by one is compared with all member of the set P0. If the solution xi dominates any member of P0, then that solution is removed from P0. Otherwise, if solution xi is dominated by any member of P0, the solution xi is ignored. On the other hand, if solution xi is not dominated by any member of P0 it is moved in to P0. This is how the set P0 grows with non dominated solutions. When all solutions of P are checked, the remaining members of P0 constitute the solutions on non-dominated front. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 52 / 70
  • 53. Elitist Multi-objective Genetic Algorithm : NSGA-II This front is removed and the same steps are repeated with the remaining solutions to find the next non-domination front until P is empty. This approach is precisely stated in the following. Steps : P = x1, x2, · · · , xN 1 Initialize P0 = xi set solution counter j = 2. 2 Let j = 1. 3 Compare solution xi with xj from P for domination 4 If xi ≤ xj, delete xj from P0 5 If j |P0|, then increment j by one and go to step 3. Else Go to step 7. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 53 / 70
  • 54. Elitist Multi-objective Genetic Algorithm : NSGA-II 6 If xj ≤ xi, then increment i by one and go to step 2. 7 Insert xi in P0 i.e. P0 = P0 ∪ i 8 If i N, increment i by one and go to step 2. 9 Output P0 as the non-dominated from with current population 10 if P 6= φ, repeat Step 1-9. 11 Stop. Note : Time complexity of this procedure is O(MN2) and in worst case O(MN3) (when one front contains only one solution.) Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 54 / 70
  • 55. Overview of NSGA-II Let P be the current population Create offspring population Q from P using the genetic operators (mating pool, crossover and mutation) Two population are combined together to form a large population R of size of 2N Apply non-dominating sorting procedure to classify the entire population R. After the non-domination sorting, the new population P is obtained by fitting the non-dominated front one-by-one until the |P0| |P| The filling starts with the best non-dominated front followed by the second non-dominated front, followed by the third non-dominated front and so on. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 55 / 70
  • 56. Overview of NSGA-II Since the total population size is 2N, not all fonts may be accommodated in N stats available in P0. All fronts which could not be accommodated are simply rejected. when the last allowed front is being considered, there may exist more solution in the lase front than the remaining slots in the new population. Instead of arbitrarily discarding some members from the last acceptable front, the solution which will make the diversity of the selected solutions the highest are chosen. This is accomplished by calculating crowding distance of solutions in the last acceptable front. This way a new generation was obtained and the steps are repeated until it satisfies a termination condition. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 56 / 70
  • 57. NSGA Technique Rejected Non-dominated sorting P Q F1 F2 Fi R F1 F2 Fi Solution based on crowding distance Last acceptable front P’ Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 57 / 70
  • 58. Basic Steps : NSGA-II Steps : 1 Combine parent (P) and offspring (Q) populations and obtain R = P ∪ Q 2 Perform a non-dominated sorting to R and identify different fronts of non-dominated solutions as Fi, i = 1, 2, · · · , etc. 3 Set new population P0 = φ. Set a new counter i = 1 (to indicate front to be allowed to fill P0. 4 Fill P0 until |P0| + |Fi| N that is, P0 ∪ Fi and i = i + 1. 5 Perform Crowding sort (Fi) and include the most-widely spread N − |P0| solution by using the crowding distance values in the sorted Fi to P0. 6 Create offspring population Q0 from P0 by using the crowded-tournament selection, crossover and mutation operator. 7 P = P0, Q = Q0. 8 Repeat step 1-7 until the convergence of solutions. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 58 / 70
  • 59. Crowding sort procedure The crowding sort follows the following two concepts. Crowding distance metric (d) and Crowded comparison operator e Note : The crowding distance di of a solution xi is a measure of the search space around xi which is not occupied by any other solutions in the population. (It is just like a population density : di is lower for a dense population. The crowded comparison operator e (a binary operator) to compare two solutions and returns a winner. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 59 / 70
  • 60. Crowding sort procedure Definition 8 : Crowding comparison operator A solution xi wins over a solution xj, iff any of the following conditions are true If solution xi has a better rank (i.e. dominance rank). That is rank(xi) rank(xj) If they have the same rank but solution xi has better crowding solution xj. That is rank(xi) = rank(xj) and di dj (where di and dj are crowding distance of xi and xj, respectively. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 60 / 70
  • 61. Crowding sort procedure Note : The first condition ensures that xi lies on a better non-domination front. The second condition resolve the tie of both solution being on the same non-dominated front by deciding on their crowding distances (Note : For NSGA-II, only the second condition is valid as all solution are belong to one front only. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 61 / 70
  • 62. Crowding sort procedure Definition 7 : Crowding distance measure The crowding distance measure di is an estimate of the size of the largest cuboid enclosing the point xi (i-th solution) without including any point in the population. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 62 / 70
  • 63. Crowding sort procedure f2 f1 x2 Xi-1 Xi+1 f2 f1 Xi-1 Xi+1 f3 Xi (a) Solutions in 2D space (b) Solutions in 3D space Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 63 / 70
  • 64. Crowding sort procedure In Fig(a), the crowding distance is the average side length of the rectangle (so that two nearest solutions of xi and xi − 1 at two opposite corners). In fig.(b), the crowding distance is the sum of three adjacent edges of a cuboid formed by the two neighbors xi−1 and xi+1 of xi at two opposite corners of the cuboid. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 64 / 70
  • 65. Crowding distance calculation Given a set of non-dominated solutions say F, and objective functions f = f1, f2, · · · , fM, the procedure to calculate the crowding distance of each solution xi ∈ F is stated below. Steps : 1 Let l = |F| (Number of solutions in F) 2 For each xinF, set di = 0 (Initialize the crowding distance) 3 For each objective fi ∈ f Fi = sort(F, i) Sort all solutions in F with respect to objective values fi This will result F1 , F2 , · · · , Fm sorted vector. The sorting is performed in ascending order of objective values fi The sorted vectors are shown in the fig. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 65 / 70
  • 66. Crowding distance calculation 11 12 1l 1 21 22 2l 2 M1 M2 Ml M Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 66 / 70
  • 67. Crowding distance calculation 1 For each solution j = 2 to l − 1 do dj = PM k=1 fk∗j+1−fk∗j−1 fMAX k −fMIN k 2 di = dl =∝(Each boundary solutions are not crowded and hence large crowded distance) 2 f11 f12 f13 f14 f15 f16 f17 f21 f22 f23 f24 f25 f26 f27 1 Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 67 / 70
  • 68. Crowding distance calculation Note : 1 All objective function are assumed be minimized 2 Time complexity of the above operation is O(MN log2 N) , is the complexity of M sorting operation with N elements. 3 The parameters fMAX k and fMIN k , K = 1, 2, · · · M can be set as the population-maximum and population-minimum values of k-th objective function and is used here to normalize the objective values. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 68 / 70
  • 69. Crowding Tournament Once crowding distance of all solutions in the last acceptable front F is calculated we are to select N − |P0| solutions from F to complete the size of |P| = N. To do this, we are to follow tournament selection operation according to c (Crowding comparison operator). That is we select xi over xj (xi c xj) if di dj. Note that we prefer those solutions which are not in the crowded search space. This ensure a better population diversity. Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 69 / 70
  • 70. Crowding Tournament Remarks : NSGA-II is an elitist approach It consider a faster non-dominated sorting procedure with time complexity O(MN2) compared to O(MN3) in NSGA. It does not require explicit sharing concept rather use a crowding tournament selection with time complexity O(MN log N) Thus, the overall time complexity of NSGA-II is O(MN2) Debasis Samanta (IIT Kharagpur) Soft Computing Applications 29.03.2016 70 / 70