You are on page 1of 11

Introduction to multi-objective

optimization
• We often have more than one objective
• This means that design points are no
longer arranged in strict hierarchy
• There are points that are clearly poorer
than others because all objectives are
worse
• In optimization jargon we call these points
dominated
• Points that are not dominated are called
non-dominated or Pareto optimal
Vilfredo Pareto, 1848-1923

The Italian economist Vilfredo Pareto was


one of the leaders of the Lausanne School
and an illustrious member of the "second
generation" of the Neoclassical
revolution. Although only mildly influential
during his lifetime, his "tastes-and-
obstacles" approach to general equilibrium
theory were resurrected during the great
"Paretian Revival" of the 1930s and have
guided much of economics since.
Definition of Pareto optimality
• For a problem with m objective functions, a
design variable vector x* is Pareto optimal if
and only if there is no vector x in the feasible
space with the characteristics

fi (x)  fi (x*) for all i  1, 2, ,m


and
fi (x)  fi (x*) for at least one i
Example
Item Pay ($) Time (min) Fun index
1 1 3 3
2 2 5 2
3 1 2 2
4 3 2 1

Minimize time so that you make at least $100 and


maximize fun. Will need between 33.3 to 100 items.
Time can vary from 66.7 minutes to 300. Fun can
vary between 33.3 and 300.
Example
Item Pay Total time Total fun
($)/hour (hours)
1 20 5 300
2 24 4.17 100
3 30 3.33 100
4 90 1.11 33.3

Item 2 is dominated. Items 1,3,4 are Pareto optimal


Multi-objective Formulation
Minimize time  3 x1  5 x2  2 x3  2 x4
and Item Pay Time Fun
Maximize fun  3 x1  2 x 2 2 x3  x4
Such that pay  x1  2 x2  x3  3x4  100
1 1 3 3
xi  0 2 2 5 2
Pay constraint in standard form
100  ( x1  2 x2  x3  3 x4 )  0 3 1 2 2
Common sense constraints
x1  100, x2  50, x3  100, x4  33.3
4 3 2 1
Solution methods
• Methods that try to avoid generating the Pareto
front
– Generate “utopia point”
– Define optimum based on some measure of distance
from utopia point
• Generating entire Pareto front
– Weighted sum of objectives with variable coefficients
– Optimize one objective for a range of constraints on
the others
– Niching methods with population based algorithms
The utopia point is (66.7,300). Finding the
nearest point may be a reasonable compromise.
The entire front tells us, that for this problem, the
front is almost a straight line, so there is no clear
appealing compromise.
Series of constraints

Minimize time  3x1  4 x2  2 x3  2 x4


Such that pay  x1  2 x2  x3  3x4  100
fun  3x1  2 x 2 2 x3  x4  funk k  1, 2,
xi  0
Matlab segment
x0 = [10 10 10 10];
for fun_idx = 30:5:300
A = [-1 -2 -1 -3; -3 -2 -2 -1]; b = [-100;-fun_idx];
lb = zeros(4,1);
options = optimset('Display','off');
[x,fval,exitflag,output,lambda] =
fmincon('myfun',x0,A,b,[],[],lb,[],[],options);
pareto_sol(fun_idx,:) = x;
pareto_fun(fun_idx,1) = fval;
pareto_fun(fun_idx,2) = 3*x(1) + 2*x(2) + 2*x(3) + x(4);
End

function f = myfun(x)
f = 3*x(1) + 4*x(2) + 2*x(3) + 2*x(4);

You might also like