0% found this document useful (0 votes)
0 views34 pages

L05-Multiobjective_Optimization

The document discusses multi-objective optimization, highlighting its importance in real-life design problems where conflicting objectives must be addressed simultaneously, such as maximizing fuel efficiency while minimizing cost. It introduces concepts like Pareto optimal solutions and the Pareto frontier, which represent trade-offs between different objectives, and outlines methods for obtaining these solutions, including the weighted sum method and compromise programming. Additionally, it provides examples and MATLAB code for practical implementation of these optimization techniques.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
0 views34 pages

L05-Multiobjective_Optimization

The document discusses multi-objective optimization, highlighting its importance in real-life design problems where conflicting objectives must be addressed simultaneously, such as maximizing fuel efficiency while minimizing cost. It introduces concepts like Pareto optimal solutions and the Pareto frontier, which represent trade-offs between different objectives, and outlines methods for obtaining these solutions, including the weighted sum method and compromise programming. Additionally, it provides examples and MATLAB code for practical implementation of these optimization techniques.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

Course #

Course Name

Lecture - 5
MULTI-OBJECTIVE
OPTIMIZATION

Instructor: First and Last names

Reference: Book Chapter 6


Copyright ©2014 by A. Messac Optimization in Practice with MATLAB:
for Engineering Students and Professionals
MULTI-OBJECTIVE PROBLEMS

▪ Many real-life design problems contains more than one design


objective (to be maximized or minimized).
▪ Example: Car design: Maximize Fuel Efficiency and Minimize Cost.

▪ Generally, in practical problems where multiple objectives need to be


considered, the objectives tend to be conflicting in nature
▪ Example: More fuel efficient cars (e.g., hybrid cars or cars with regenerative
braking) tend to be more expensive than less efficient counterparts).

▪ Multi-objective optimization is a methodical way to solve problems


involving multiple design objectives simultaneously.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 2


for Engineering Students and Professionals
MULTI-OBJECTIVE PROBLEM EXAMPLE
Design a pinned-pinned beam, with the following given:
▪ Fixed beam features: its length L and width b, the material, and the
load acting on it.
▪ The only parameter allowed to change is the height, h.
▪ Minimize the bending stress in the beam, and at the same time
minimize the deflection at mid-span.

Design objectives:
1. μ1 = Bending stress
2. μ2 = Deflection
Design variable:
1. x1 = Height

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 3


for Engineering Students and Professionals
MULTI-OBJECTIVE PROBLEM STATEMENT

Multiple objective functions

Vector of inequality constraints

Vector of equality constraints

Side constraints

When n = 2, we call it a bi-objective problem.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 4


for Engineering Students and Professionals
CONCEPT OF PARETO SOLUTIONS
▪ One of the interesting features of multi-objective optimization is that
the solution to the problem is generally not unique.
▪ A set of solutions called Pareto Optimal Solutions or the best tradeoff
solutions form the complete solution set of the optimization problem.

Example
▪ Lets consider an unconstrained problem involving two design
objectives, μ1 and μ2, which are functions of a single design variable x.
▪ We are interested in minimizing both design objectives
simultaneously.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 5


for Engineering Students and Professionals
CONCEPT OF PARETO SOLUTIONS (CONT.)
▪ If we minimize each objective function independently, ignoring the
other objective, we will generally obtain the point that corresponds to
the minimum of the objective being minimized.
▪ These two points, called anchor points, are indicated by star symbols.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 6


for Engineering Students and Professionals
CONCEPT OF PARETO SOLUTIONS (CONT.)
▪ When you move from the minimum of objective 1 (M1) to its right, say to a
point B – Objective 2 decreases, but objective 1 increases.
▪ To improve μ1, we have to compromise on the performance of μ2, and vice
versa. This is true for all the points between M1 and M2.
▪ Such points (between M1 and M2) are called Pareto optimal solutions, or
non-dominated solutions.

Definition: Pareto optimal


solutions are those for which
any improvement in one
objective will result in the
worsening of at least one
other objective.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 7


for Engineering Students and Professionals
CONCEPT OF PARETO SOLUTIONS (CONT.)
▪ If you move to the right of M2 to C or to left of M1 to A, both
objectives increase simultaneously.
▪ These points beyond M1–M2 (e.g., A and C) are called non-Pareto or
dominated solutions.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 8


for Engineering Students and Professionals
THE PARETO FRONTIER

▪ In the previous slides, Pareto solutions are identified in the design


variable space, that is, x space.
▪ Design objective space is a plot, where each design objective is
plotted on one axis – up to three objectives.
▪ The Pareto solutions plotted in the design objective space, mark a
curve or a surface that is called the Pareto frontier.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 9


for Engineering Students and Professionals
PARETO FRONTIER: OBJECTIVE SPACE
▪ M1 and M2 form the end points of the Pareto frontier. Point M1 is
where objective 1 has the least value, while M2 is where objective
2 has the least value.
▪ A and C, dominated points, do not lie on the Pareto frontier.
▪ There are tradeoffs associated with each Pareto point.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 10


for Engineering Students and Professionals
OBTAINING PARETO SOLUTIONS
▪ Many optimization algorithms (including most conventional or
classical algorithms) are suited to solve single objective problems.
▪ One way to solve a multi-objective problem, by leveraging typical
single-objective algorithms is to combine all the objectives into a
single Aggregate Objective Function.
▪ If the single objective is optimized, a Pareto solution is obtained.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 11


for Engineering Students and Professionals
AGGREGATE OBJECTIVE FUNCTION
▪ Definition: An Aggregate Objective Function (AOF) is a combined
function of all the design objectives.
▪ The AOF typically contains weight parameters to be selected by
the designer. These parameters generally reflect the relative
importance of each design objective.
▪ The type of final solution that you obtain will be directly
dependent on the type of AOF that you use.
▪ A general guideline is to use an AOF that allows a designer to
impose his/her design objective preferences in an unambiguous
manner.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 12


for Engineering Students and Professionals
AGGREGATE OBJECTIVE FUNCTION FORMULATIONS
Some popular AOF formulations:
1. The weighted sum method
2. Compromise programming
3. Goal programming
4. Physical programming
5. Matlab optimization toolbox

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 13


for Engineering Students and Professionals
THE WEIGHTED SUM METHOD
▪ Aggregate Objective: A weighted linear combination of all the
objective functions, J(x).
▪ Each combination of weights corresponds to parallel straight lines
of same slope for a bi-objective problem, or n-D hyperplanes for a
n-objective problem.
▪ Minimizing J(x) for different combination of weights (1 ≥ w ≥ 0)
produces the different Pareto points on the Pareto frontier.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 14


for Engineering Students and Professionals
THE WEIGHTED SUM METHOD: STEPS
▪ As the optimization process decreases the value of J (for a particular
weight combination), the solution approaches the Pareto frontier.
▪ If w1 = 0, the constant value curves of J are parallel to μ1, and the
optimum point obtained will be M2, the minimum of μ2.
▪ Similarly, if w2 = 0, you will get M1 as the minimum.
▪ For all other combinations of w1 and w2, different points on the
Pareto frontier are obtained.
▪ A typical way to set the weights is to uniformly vary them between
0 and 1, such that their sum is equal to 1.
▪ One of the deficiencies of the weighted sum method is that there is
no easy way to know what values of w to use.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 15


for Engineering Students and Professionals
THE WEIGHTED SUM METHOD
▪ The Weighted Sum Method may not be effective for non-convex
Pareto frontiers.
▪ Example: The weighted sum method cannot obtain the Pareto points
which lie in the non-convex region of the shown Pareto frontier (all
points between P and Q).
▪ During minimization, the dashed line continues beyond point T, and
gives you point P as the optimum solution.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 16


for Engineering Students and Professionals
COMPROMISE PROGRAMMING
▪ Compromise Programming is a more effective extension of the
weighted sum strategy.
▪ The objective functions have an exponent, n. The constant value
curves of J are not straight lines. Instead, they are n-th order
curves.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 17


for Engineering Students and Professionals
COMPROMISE PROGRAMMING: STEPS
▪ Choose a high enough value for n, such that it reaches into the non-
convex portions of Pareto frontier.
▪ As a general guideline, choose n as an even integer less than or
equal to 8.
▪ In most cases, n = 2 or 4 yield satisfactory results.
▪ n = 2: weighted square sum method

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 18


for Engineering Students and Professionals
GENERATING PARETO WITH MATLAB: CODE
Example

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 19


for Engineering Students and Professionals
GENERATING PARETO WITH MATLAB: CODE

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 20


for Engineering Students and Professionals
GENERATING PARETO WITH MATLAB: RESULTS
▪ The objective values of the Pareto solutions (solx, soly), are plotted
to obtain the Pareto frontier.
▪ The number of Pareto points to be generated is set by the rate of
variation of the weights. More division of weights between 0 and 1
generally yields more Pareto points, but also demands greater
computational time.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 21


for Engineering Students and Professionals
GOAL PROGRAMMING
▪ Instead of minimizing design objectives, we might wish to reach a
given target value or goal for each objective.
▪ For example, the stress design objective (μ1) is required to be as
close to 1,500 MPa as possible, while the value of deflection (μ2)
is required to be as close to 2 inches as possible.
▪ Goal programming AOF can be formulated using the compromise
programming concept, where n is an even integer (often 2), e.g.:

▪ The smallest theoretical value of J is zero, when μ1 = 1500 and μ2


= 2. In most real-life problems, this point will not be achievable.
▪ By choosing an appropriate set of weights (w1 and w2) for the
design objectives, we can obtain a Pareto solution that reflects
the best trade-offs.
Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 22
for Engineering Students and Professionals
GOAL PROGRAMMING
▪ A normalized version of the goal programming formulation

▪ μ1g and μ2g are the goal values of the objectives μ1 and μ2,
respectively. μ1b and μ2b are reference bad values of the
objectives μ1 and μ2, respectively.
▪ We set μ1g = 1, 500 and μ2g = 2; and we might have μ1b = 8, 000
and μ2b = 10.
▪ Such a normalized formulation will have more stable numerical
behavior, especially when the objectives have different orders of
magnitude.
▪ Conceptually, these formulations can be readily extended to
cases of multiple objectives.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 23


for Engineering Students and Professionals
EXPRESSING A PREFERENCE – PHYSICAL PROGRAMMING
▪ The physical programming method provides a more realistic
expression of preference.
▪ Different ranges of differing desirability for the objectives.

Highly desirable Desirable Tolerable Undesirable Highly Undesirable

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 24


for Engineering Students and Professionals
MULTIOBJECTIVE OPTIMIZATION: MATLAB TOOLBOX
goal attainment and minimax
▪ fgoalattain: The goal attainment Matlab function involves
reducing the value of a linear or nonlinear vector function in
order to attain the goal values given in a goal vector.
▪ A weight vector is used, which is intended to indicate the relative
importance of the goals.
▪ The goal attainment problem may also be subject to linear and
nonlinear constraints.
▪ fminimax: The minimax problem involves minimizing the worst-
case value of a set of multivariate functions, possibly subject to
linear and nonlinear constraints.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 25


for Engineering Students and Professionals
EXAMPLE: USING MATLAB
Consider the following bi-objective optimization problem.

(a) Obtain several optimal points on the Pareto frontier using the
weighted sum method. Use MATLAB’s fmincon function for
optimization. Plot the points in the μ1-μ2 space.
(b) Do you think that the weighted sum method performs
satisfactorily in obtaining points on the Pareto frontier?
(c) Use compromise programming with an appropriate value for the
exponent to potentially obtain a better Pareto frontier.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 26


for Engineering Students and Professionals
EXAMPLE: WEIGHTED SUM CODE
(a) The weighted sum method
main function
clear; clc;
x0 = 0;
LB = 0.5326; UB = 1.2532;
i = 1;
for alpha = 0:0.1:1
xopt(i) = fmincon('fun32ws', x0, [], [], [], [], LB, UB, 'nonlcon3_2', [], alpha);
plotmu1(i) = sin(xopt(i));
plotmu2(i) = 1-(sin(xopt(i)))^7;
x0 = xopt(i);
i = i+1;
end
plot(plotmu1, plotmu2, 'b*'); xlabel('mu1'); ylabel('mu2');

objective function
function f = fun32ws(x, alpha)
f = alpha*sin(x) + (1-alpha)*(1-(sin(x))^7);

constraint function
function [C, Ceq] = nonlcon3_2(x, alpha)
C = [];
Ceq = [];

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 27


for Engineering Students and Professionals
EXAMPLE: WEIGHTED SUM RESULTS

The Weighed Sum method performs very poorly in obtaining the


Pareto frontier.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 28


for Engineering Students and Professionals
EXAMPLE: COMPROMISE PROGRAMMING RESULTS

Compromise programming produces a satisfactory Pareto frontier.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 29


for Engineering Students and Professionals
3-OBJECTIVE EXAMPLE PROBLEM

Using the weighted sum method, plot the Pareto frontier for the
above problem.(Hint: You will need three weights, each
corresponding to a design objective. Allow each of these weights to
vary between 0 and 1 when executing your code.)

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 30


for Engineering Students and Professionals
3-OBJECTIVE PROBLEM: WEIGHT ASSIGNMENT
w3
1

w2

0 1 w1
▪ Any weight ratio h1:h2:h3 (h1 ≥0,h2 ≥0,h3≥0, and h1+h2+h3>0) can be
converted to

▪ w1,w2, and w3 satisfy w1+w2+w3=1 (0≤w1,w2,w3 ≤1)


▪ (w1,w2,w3) is on the plane surrounded by the red lines
▪ Use all the points on the plane as weight ratios.
Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 31
for Engineering Students and Professionals
Computationally Efficient Solution
w3
Two loops for all points
1
(w1,w2,w3)=(w1,w2,1-w1-w2) w1+w2+w3=1

w2 for i=0:0.02:1
for j=0:0.02:1-i
1 (w1,1-w1,0) w1=i;w2=j;w3=1-i-j;
……
end
0 1 w1 end
(w1,0,0) (w1,w2,0)
▪ On plane w1-w2, a point on the red line can be (w1,1-w1,0).
▪ w2 of a point on the plane surrounded by red lines can be projected to
plane w1-w2.
▪ w2 of a point on the green line is between 0 and 1-w1.
▪ w3 of a point on the plane surrounded by red lines is 1-w1-w2.

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 32


for Engineering Students and Professionals
PARETO FOR 3-OBJECTIVE PROBLEM

3D Pareto

1.4

1.2

0.8
3

0.6

0.4

0.2 0

0
1 0.5
0.8
0.6
0.4
0.2 1
0
2
1

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 33


for Engineering Students and Professionals
What’s Next?

➢ Lecture 6 - Numerical Essentials


➢ Lecture 7 - Global Optimization Basics
➢ Lecture 8 - Discrete Optimization Basics

Copyright ©2014 by A. Messac Optimization in Practice with MATLAB: 34


for Engineering Students and Professionals

You might also like