You are on page 1of 35

Multi-Objective Optimization

A quick introduction

Giuseppe Narzisi

Courant Institute of Mathematical Sciences


New York University

24 January 2008
Outline
1 Introduction
Motivations
Definition
Notion of optimum
2 Dominance and Pareto-optimality
Ideal, Utopian and Nadir objective vectors
Dominance relation and Properties
3 Pareto-Optimality
Non-dominated set
Globally and Locally Pareto-optimal sets
4 Procedure for Finding a Non-Dominated Set
Motivation
Three different approaches
Non-dominated sorting of a Population
5 Optimality Conditions
Motivation

Most problems in nature have several (possibly conflicting)


objectives to be satisfied.
Many of these problems are frequently treated as
single-objective optimization problems by transforming all
but one objective into constraints.
Scope of Optimization
in practice

Optimal design & manufacturing


Inverse Problems: output known, find input.
Parameter optimization for optimal performance
System modeling
Planning
Optimal control
Forecasting and prediction
Data mining (classification, clustering, pattern recognition)
Machine learning
Bioinformatics
What is a MOOP?
In words

Problem of finding a vector of decision variables which


satisfies constraints and optimizes a vector function whose
elements represent the objective functions.
These functions form a mathematical description of
performance criteria which are usually in conflict with each
other.
Hence, the term optimize means finding such a solution
which would give the values of all the objective functions
acceptable to the decision maker.
What is a MOOP?
Formal definition

min F(x) = [f1 (x), f2 (x), . . . , fM (x)]


subject to G(x) = [g1 (x), g2 (x), . . . , gJ (x)] ≥ 0
(1)
H(x) = [h1 (x), h2 (x), . . . , hK (x)] = 0
(L) (U)
xi ≤ xi ≤ xi , i = 1, . . . , N

x = (x1 , x2 , . . . , xN )T is the vector of the N decision


variables,
M is the number of objectives fi ,
J inequality and K equality constraints,
(L) (U)
xi and xi are respectively the lower and upper bound
for each decision variables xi .
Edgeworth-Pareto solution
Notion of optimum for MOOPs

Find good compromises (or trade-offs) instead of a single


solution (global optimization).
Originally proposed by Francis Ysidro Edgeworth in 1881;
it was later generalized by Vilfredo Pareto (in 1896).
Decision space vs. Objective space

In multi-objective optimization the objective function


constitute a multidimensional space
For each solution x in the decision variable space X there
is a point in the objective space Z denoted by
f (x) = z = (z1 , z2 , . . . , zM )T .
Convex and Non-convex MOOP
Definition
A multi-objective optimization problem is convex if all objective
functions are convex and the feasible region is convex.

Definition
A function f : Rn → R is a convex function if for any two pair of
solutions x1 , x2 ∈ Rn , the following condition is true:

f (λx1 + (1 − λ)x2 ) ≤ λf (x1 ) + (1 − λ)f (x2 ), (2)

for all 0 ≤ λ ≤ 1

Since a MOOP has two spaces, the convexity must be


analyzed on both spaces.
Moreover, although the search space can be non-convex,
the Pareto optimal front can be convex.
Two approaches to Multi-Objective Optimization

Although the solution of MOOP consists of a set of


solutions, from a practical point, the user needs only one
solution
Question: Which of this optimal solution must one choose?
Two possible approaches:
1 P REFERENCE - BASED PROCEDURE:
Composite objective function as the weighted sum of the
objectives
Only if a relative preference factor of the objectives is known
in advance.
2 I DEAL PROCEDURE:
1 Find multiple trade-off solutions with a wide range of values
for the objectives.
2 Choose one of the obtained solution using higher-level
information
Ideal Objective Vector

Definition
The m-th component of the ideal objective vector z∗ is the
constrained minimum of the following problem:

min fm (x)
(3)
subject to x ∈ S

Thus, the ideal vector is defined as following:

z∗ = (f ∗ ) = (f1∗ , f2∗ , . . . , fM∗ )T (4)

where fi∗ is the function value associated with the minimum


solution (xi∗ ) for the m-th objective function.
Ideal Objective Vector
Considerations

In general, the ideal objective vector corresponds to a


non-existent solution.
The only way an ideal objective vector corresponds to a
feasible solution is when the minimum of all objective
functions are identical.
In this case the objectives are not conflicting.
The ideal objective vector denotes the array with the lower
bound of all objective functions.
Utopian Objective Vector

Some algorithms may require a solution which is strictly better


than any other solution in the search space. For this purpose
we define:
Definition
A Utopian objective vector z∗∗ is a vector whose components
are slightly smaller than that of the ideal objective vector:
zi∗∗ = zi∗ − i with i > 0 for all i ∈ 1, 2, . . . , M
Nadir Objective Vector

Definition
The m-th component of the nadir objective vector znad is the
constrained maximum of the following problem:

max fm (x)
(5)
subject to x ∈ P

where P is the Pareto-optimal set.


Unlike the ideal objective vector, znad represents the upper
bound of each objective function in the Pareto-optimal set (not
in the entire search space).
Nadir & Ideal objective vectors

The nadir objective vector may represent an existing or


non-existing solution (depending on the convexity and
continuity of the Pareto-optimal set).
In order to normalize the each objective, the knowledge of
the nadir and ideal vectors can be used as follows:

fi − zi∗
finorm = (6)
zinad − zi∗
Ideal, Utopian and Nadir objective vectors

max max
(f1 ,f2 ) w
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
f1 00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
Feasible space
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
nad z
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
* 11111111111111111111111111111111111111111
z 00000000000000000000000000000000000000000
1 11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
z*
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
*
2z
z **
f2
Dominance Relation

Definition
A solution x1 is said to dominate another solution x2 , and we
write x1  x2 , if both the following conditions are true:
1 The solution x1 is no worse than x2 in all objectives.
2 The solution x1 is strictly better than x2 in at least one
objective.

fi (x1 ) ≤ fi (x2 ) ∀i ∈ 1, . . . , M
x1  x2 iff (7)
∃j ∈ 1, . . . , M fj (x1 ) < fj (x2 )

if any of the above conditions is violated the solution x1 does


not dominate the solution x2 .
Dominance Relation
Example
Dominance Relation
Properties

R EFLEXIVE
The dominance relation is not reflexive since any solution x
does not dominate itself (by definition of dominance).
S YMMETRIC
The dominance relation is not symmetric because x  y
does not imply y  x. In fact the opposite is true, if x  y
then y  x
A NTISYMMETRIC
Since the dominance relation is not symmetric it cannot be
antisymmetric as well.
T RANSITIVE
The dominance relation is transitive. If x  y and y  z than
x  z.
Dominance Relation
Transitivity


fi (x) ≤ fi (y) ∀i ∈ 1, . . . , M
x  y iff (8)
∃j ∈ 1, . . . , M fj (x) < fj (y)

fi (y) ≤ fi (z) ∀i ∈ 1, . . . , M
y  z iff (9)
∃k ∈ 1, . . . , M fk (y) < fk (z)
xz
fi (x) ≤ fi (y) ≤ fi (z) ∀i ∈ 1, . . . , M
∃l ∈ 1, . . . , M fl (x) < fl (z)
if k = j then fj (x) < fj (y) < fj (z)
if k 6= j then
if we chose j: fj (x) < fj (y) ≤ fj (z)
if we chose k : fk (x) ≤ fk (y) < fk (z)
Dominance Relation
More properties

Another interesting property is that if a solution x does not


dominate a solution y, this does not imply that y dominates
x (for example they can be both non-dominated).
The dominance relation qualifies as an ordering relation,
because it is at least transitive.
Since the dominance relation is not reflexive, it is a strict
partial order.
In general, if a relation is reflexive, antisymmetric and transitive,
it is called a partial order relation. However, the dominance
relation is not reflexive and not antisymmetric, so the
dominance relation is not a partial order relation in the the
general sense.
Non-dominated set

For a given set of solution we can perform all possible


pairwise comparisons and find which solution dominates
which and which solutions are not dominated with respect
to each other.
This set has the property of dominating all the solutions
that do not belong to the set.

Definition (Non-dominated set)


Among a set of solutions P, the non-dominated set of solutions
P 0 are those that are not dominated by any member of the set
P.
Globally and Locally Pareto-optimal sets

Like there are global and local optimal solutions in the case of
single-objective optimization we can define global and local
Pareto-optimal sets.
When the set P is the entire search space (P = S) then the
resulting non-dominated set P 0 is called Pareto-Optimal set.

Definition (Globally Pareto-Optimal set)


The non-dominated set of the entire feasible search space S is
the globally Pareto-optimal set.

Definition (Locally Pareto-Optimal set)


If for every member x in a set P, there exists no solutions y in
the neighborhood of x, ||y − x|| ≤ ε, dominating any member of
the set P, then P constitutes a locally Pareto-optimal set.
Globally and Locally Pareto-optimal sets
picture

f2
Locally Pareto−optimal set
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
x2
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 111111111111111111111111111111111111
000000000000000000000000000000000000
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
X
000000000000000000000000000000000000
111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
X
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
Globally Pareto−optimal set
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111 000000000000000000000000000000000000
111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111
00000000000000000000000000000000000000000
11111111111111111111111111111111111111111

f1 x1
Strong dominance & Weak Pareto-Optimality

The previous definition of dominance is usually referred as the


weak dominance relation. The strong version is defined as
follow:
Definition (Strong dominance)
A solution x strongly dominates a solution y, x ≺ y, if solution x
is strictly better than solution y in all M objectives.

Clearly, if x ≺ y than x  y but the vice versa does not hold.

Definition (Weakly non-dominated set)


Among a set of solutions P the weakly non-dominated set of
solutions P 0 are those that are not strongly dominated by any
other member of the set P.
We have that |P 0 | ≥ |P|.
Motivation

How do we find the non-dominated set in a given


population of solutions?
Since the non-dominated set may be required to be
identified in each iteration of a multi-objective optimization
algorithm, we are interested in computationally efficient
procedures.
We will discuss here three procedures, starting from one
that is naive and slow to one that is efficient and fast.
Approach 1
Naive and slow

Non-dominated set (V. 1)


1. i := 1 Let us define the complexity
2. P 0 := here as the total number of
3. while (i ≤ |P|)
4. j := 1
function evaluations.
5. while (j ≤ |P|) the inner while loop requires
6. if (j 6= i)
7. if (xj  xi ) continue
O(N) comparisons for
8. else j := j + 1 domination and each
9. end_while comparison needs M function
10. if (j = |P|) P 0 := P 0 ∪ {i}
11. i := i + 1
value comparisons. So we
12. end_while have a total complexity of
O(MN).
the outside loop requires O(N)
comparisons as well, so we
have a total complexity of
O(MN 2 ).
Approach 2
Continuously updated

Non-dominated set (V. 2)


1. P 0 := {1} x2 compared with x1
2. i := 2 x3 compared at most with x1 , x2
3. while (i ≤ |P|)
4. j := 1
and so on...
5. while (j ≤ |P 0 |) This requires in the worst case:
6. if (xi  xj )
7. P 0 := P 0 \ {j}
1 + 2 + · · · + (N − 1) = N(N − 1)/2
8. else if (xj  xi ) domination checks.
9. continue
Although the total complexity is still
10. j := j + 1
11. end_while O(MN 2 ), this method requires
12. if (j = |P 0 |) typically half of that required by
13. P 0 := P 0 ∪ {i}
approach 1.
14. i := i + 1
15. end_while
Approach 3
Kung et al.’s efficient method (1975)

Front(P)
1. Sort1 (P) It can be shown that the
2. if (|P| = 1) complexity of this approach is
3. then return(P)
4. else
O(N(logN)M−2 ) for M ≥ 4 and
5. T := Front([P1 , Pb|P|/2c ]) O(NlogN) for M = 2, 3, where
6. B := Front([Pb|P|/2c+1 , P|P| ]) N = |P|.
7. i := 1, M :=
8. while (i ≤ |B|) The details of the complexity
9. j := 1 calculation can be found in:
10. while (j ≤ |T |)
11. if (xj  xi )
Kung et al. [2].
12. then j := j + 1
13. else continue
14. end_while
15. if (j = |T |) M := M ∪ {i}
16. i := i + 1
17. end_while
18. return(T ∪ M)
Non-dominated sorting of a Population

Non-Dominated Sorting
1. for j = 1, 2, . . . Some algorithms require to the
2. Pj = population to be classified into
4. end_for
3. j := 1
several levels of non-domination.
5. while (P = 6 ) Complexity? The sum of the
6. P 0 := NDS(P)
7. Pj := P 0
individual complexities involved in
8. P := P \ P 0 identifying each non-dominated set.
9. j := j + 1
|P| decreases after each
10.end_while
11.return(Pi , i = 1, 2, . . . , j) non-dominated set computation
For practical purpose the complexity
is governed by the procedure for
identifying the first non-dominated
set.
An O(MN 2 ) non-dominated sorting procedure
Non-Dominated Sorting
1. for i = 1, 2, . . . , |P| For each solution we compute two
2. ni := 0 entities:
3. Si :=
4. for j = 1, 2, . . . , |P| domination count ni : the number of
5. if (xi  xj )&(j 6= i) solutions that dominate xi .
6. Si := Si ∪ {j}
7. else if (xj  xi ) Si : the set of solutions which
8. ni := ni + 1 solution i dominates.
9. end_for
10. if (ni = 0) Complexity is O(MN 2 ):
11. P1 := P1 ∪ {i} O(MN 2 ) for computing ni and Si
12. end_for
13. k := 1 O(N 2 ) for computing all the fronts
14. while (Pk 6= ) Pk , k = 1, 2, . . . (non-domination
15. Q := levels).
16. for each i ∈ Pk Note that each solution will be visited at most N − 1 times
17. for each j ∈ Si before its domination count become zero and will never be
18. nj := nj − 1 visited again. There are at most N − 1 such solutions.
19. if (nj = 0) Q := Q ∪ {j}
20. end_for
Even if the time complexity is
21. end_for reduced to O(MN 2 ) the storage has
22. k := k + 1
23. Pk := Q been increased to O(N 2 ).
24. end_while
Karush-Kuhn-Tucker Theorem for MOOPs
necessary conditions

Theorem
A necessary condition for a solution x∗ to be Pareto-optimal is
that there exist vectors λ > 0 and u ≥ 0 where (λ ∈ RM , u ∈ RJ
and λ, u 6= 0) such that the following conditions are true:
PM ∗
PJ
m=1 λm 5 fm (x ) − j=1 uj 5 gj (x∗ ) = 0, and
∗ (10)
uj gj (x ) = 0, ∀j = 1, 2, . . . , j

The above theorem does not guarantee the existence of a


Pareto-optimal solution. This means that any solution that
satisfies equation (10) is not necessarily a Pareto-optimal
solution.
Optimality conditions
special cases
For an unconstrained MOOP the above theorem reduces
to:
M
X
λm 5 fm (x∗ ) = 0 (11)
m=1
For a problem with n = M (equal num. of decision
variables and objectives) we have:
M
X
5fm (x∗ ) = 0 (12)
m=1
The determinant of the partial derivative matrix must be
zero for Pareto-optimal solutions.
For a two-variable, two objective MOOP the above
condition reduces to:
∂f1 ∂f2 ∂f1 ∂f2
= (13)
∂x1 ∂x2 ∂x2 ∂x1
Karush-Kuhn-Tucker Theorem for MOOPs
sufficient conditions

The following theorem offers sufficient conditions for a solution


to be Pareto-optimal for convex function.
Theorem
Let the objective functions be convex and the constraint
functions non-convex. Let the objective and constraint functions
be differentiable at solution x∗ . A sufficient condition for x∗ to be
Pareto-optimal is that there exist vectors λ > 0 and u ≥ 0 where
(λ ∈ RM and u ∈ RJ ) such that the following conditions are true:
PM ∗
PJ
m=1 λm 5 fm (x ) − j=1 uj 5 gj (x∗ ) = 0, and
∗ (14)
uj gj (x ) = 0, ∀j = 1, 2, . . . , j
For Further Reading

Kalyanmoy Deb
Multi-Objective Optimization Using Evolutionary
Algorithms.
John Wiley & Sons, Inc, New York, NY, USA, 2001.
Kung, H. T., Luccio, F., and Preparata, F. P. 1975.
On Finding the Maxima of a Set of Vectors.
J. ACM 22, 4 (Oct. 1975), 469-476.

You might also like