Optimization in Practice with MATLAB for Engineering Students and Professionals (2015)
PART 5
MORE ADVANCED TOPICS IN OPTIMIZATION
17
Methods for Pareto Frontier Generation/Representation
17.1 Overview
Multiobjective optimization plays an important role in engineering design, management, and decision making in general. In Chapter 6, the formulation of multiobjective optimization problems and the concept of Pareto frontier wereintroduced. Several approaches to obtain Pareto solutions, including the weighted sum method, compromise programming, goal programming, and physical programming, were introduced in Chapter 6.
In this chapter, new approaches used to obtain Pareto solutions are presented. These approaches can generate an evenly spaced set of Pareto points in the design space, with the objective of capturing the entire Pareto frontier. Thischapter is structured as follows. Section 17.2 presents the requisite mathematical preliminaries. Section 17.3 presents the Normal Boundary Intersection (NBI) method. In Sec. 17.4, the normalized Normal Constraint (NC) method isintroduced. Section 17.5 develops the Pareto filter concept, which eliminates dominated solutions from the generated set of points. Numerical examples are provided in Sec. 17.6, while the summary of this chapter is presented in Sec. 17.7.
17.2 Mathematical Preliminaries
This section provides the requisite mathematical preliminaries. A generic formulation of the multiobjective optimization problem is defined as follows. This problem is named Problem P1.
(17.1) 
subject to
(17.2) 

(17.3) 

(17.4) 
The vector x denotes the design variables and μ_{i} denotes the i_{th} generic design objective. Equation 17.2 and 17.3 denote the inequality and equality constraints, respectively, while Eq. 17.4 denotes the side constraint. The aboveproblem does not generally yield a unique solution.
Before the approaches used to obtain Pareto frontiers are introduced, several definitions need to be introduced.
Anchor point (μ^{i}^{*}): The generic i^{th} anchor point (or end point of the Pareto frontier) is obtained when the generic i^{th} objective is minimized independently. When the global optimum is not unique, the one nondominated is chosen. It is also called an optimum vertex.
Utopia line:The line joining two anchor points in biobjective cases is called the Utopia line.
Utopia hyperplane: The plane that comprises all the anchor points in the multiobjective case is called the Utopia hyperplane.
Utopia point: It is defined by a vector where it’s generic i^{th} components is the value of the design objective minimum obtained by minimizing only the corresponding i^{th} design objective.
The word Utopia is used here to indicate that the plane contains the n optimum vertices, components of which form the Utopia point. We note that since the Utopia point is generally unattainable, it is not part of the Utopia plane.If the optimization problem has n objectives, it involves n anchor points. The i^{th} anchor points can be obtained by solving Problem PUi, which is defined as follows:
(17.5) 
subject to
(17.6) 

(17.7) 

(17.8) 
We now define the following quantities, which result from solving the above PUi problem:
x^{i}^{*} :Optimal decision vector (x^{i}^{*}∈ R^{n}_{x}^{ });
μ_{i}^{*} :Generic i^{th} optimal objective  specifically, μ_{i}^{*} = μ_{i}(x^{i}^{*})(μ_{ }_{i}^{*}∈ R);
μ^{u} :Utopia Point μ^{u} = [μ_{1}^{*},μ_{ }_{2}^{*},...,μ_{ }_{n}^{*}]^{T}(μ^{u} ∈ R^{n});
μ^{i}^{*} :i^{th} Anchor Point μ^{i}^{*} = [μ_{1}(x^{i}^{*}),μ_{ }_{2}(x^{i}^{*}),...,μ_{ }_{n}(x^{i}^{*})]^{T}, (μ^{i}^{*}∈ R^{n});
P^{u} :Utopia Plane. Hyperplane in ndimensions that comprises the n anchor points, μ^{i}^{*}(i = 1,...,n).
We provide a Pareto frontier of a biobjective optimization problem in Fig. 17.1. Anchor points and the Utopia point are illustrated in the figure. Please note that the design space is not normalized.
Figure 17.1. General Design Objective Space for a BiObjective Case
17.3 Normal Boundary Intersection Method
This section introduces the Normal Boundary Intersection (NBI) Method [1, 2] for finding several Pareto optimal points for a general nonlinear multiobjective optimization problem. This method is successful in producing an evenlydistributed set of points in the Pareto frontier, and it method can be applied to optimization problems with more than two objectives.
In Section 17.2, the Utopia point μ^{u} and the anchor point μ^{i}^{*}are defined. We define the payoff matrix, Φ, as follows: Φ is an n × n function whose i^{th} column is μ^{i}^{*}μ^{u}. The payoff matrix has the following form:
Φ = 
(17.9) 
The payoff matrix translates anchor points in the design objective space. For a biobjective design space, Fig. 17.2 shows the following: (i) in the translated coordinate system of the design objective space, the Utopia point is atthe origin, (ii) the two anchor points lie on the axes lines, and (iii) the coordinates of the two anchor points are determined by their distances from the Utopia point. For optimization problems with more than two design objectives, in the translated coordinate system of the design objective space, the Utopia point is at the origin. One coordinate of each anchor point is 0, and the other coordinates are determined by the distance between the anchor point and the Utopia point.
Figure 17.2. Translated Design Objective Space for a BiObjective Case
Using the payoff matrix, the convex combinations of μ^{i}^{*}μ^{u} are {Φβ : β ∈ R^{n},∑_{ }_{i}_{=1}^{n}β_{ }_{i} = 1,β_{i} ≥ 0}. For a biobjective optimization problem, Φβ are the points on its Utopia line. For an optimization problem with more than twoobjectives, Φβ are the points on its Utopia hyperplane.
In the translated design objective space, let denote the unit normal to the points on the Utopia line (biobjective) or the Utopia hyperplane (more than two objectives) toward the origin; then, Φβ +t,t ∈ R represents the set of points on that normal. The point of intersection of the normal and the Pareto frontier is the solution to the following subproblem:
(17.10) 
subject to
(17.11) 

(17.12) 

(17.13) 

(17.14) 
The steps of the NBI method are:
1.Evaluate all the anchor points, μ^{1*} to μ^{n}^{*}, by solving Problem PUi (i = 1, 2,...,n).
2.Generate the payoff matrix using Eq. 17.9.
3.Generate the weights, β, so that Φβ samples the Utopia line for a biobjective optimization problem, or samples the Utopia hyperplane for an optimization problem with more than two objectives.
4.For each set of weights, solve the optimization problem defined by Eq. 17.10 to Eq. 17.14.
Please refer to Section. 17.6 for examples.
17.4 Normalized Normal Constraint Method
This section provides the analytical development of the normalized normal constraint method [3] for multiobjective optimization problems. This section is divided into two subsections: biobjective and multiobjective cases. Thisseparation of the biobjective from the general multiobjective case is intended to promote clarity and simplicity of presentation.
Normalized Normal Constraint for Biobjective Case
Figure 17.3 represents the normalized Pareto frontier in the normalized design space. In the normalized objective space, all the anchor points are one unit away from the Utopia point, and the Utopia point is at the origin. A bar over avariable implies that it is normalized.
Figure 17.3. Normalized Design Objective Space for a BiObjective Case
We begin with a graphical perspective of the normalized normal constraint method. Figure 17.1 illustrates the nonnormalized design space and the Pareto frontier of a generic biobjective problem. Figure 17.3 represents thenormalized Pareto frontier in the normalized design space. In the normalized objective space, all the anchor points are one unit away from the Utopia point, and the Utopia point is at the origin by definition.
We now present the normalized normal constraint method by defining a sevenstep process for its application. To understand the idea of the NC method, consider Figs. 17.4 and 17.5 for the biobjective case. In Fig. 17.4, weobserve the feasible region and the corresponding Pareto frontier. We also note that the two anchor points are obtained by successively minimizing the first and second design metrics (Problem PUi). A line joining the two anchorpoints is drawn, and is called the Utopia line. The Utopia line is divided into m_{1}  1 segments, resulting in m_{1} points. In Fig. 17.5, one of the generic points intersecting the segments is used to define a normal to the Utopia line. Thisnormal line is used as an additional constraint that progressively reduces the feasible region, and generates successive Pareto solutions, as indicated in Fig. 17.5. If we minimize μ_{2}, the resulting optimum point is μ^{*}. By translatingthe normal line, a corresponding set of solutions will be generated.
Figure 17.4. A Set of Evenly Spaced Points on the Utopia Line for a BiObjective Problem
Figure 17.5. Graphical Representation of the Normalized Normal Constraint Method for BiObjective Problems
Importantly, we note that the generation of the set of Pareto points is performed in the normalized objective space, resulting in critically beneficial scaling properties. We now proceed to define the sevenstep process thatformalizes the preceding description.
1.ANCHOR POINTS. Obtain the two anchor points, denoted by μ^{1*} and μ^{2*}, resulting from solving Problem PU1 and PU2, respectively. The line joining these two points is the Utopia line.
2.OBJECTIVES MAPPING/Normalization. To avoid scaling deficiencies, the optimization takes place in the normalized design metric space (design objective space). Let μ be the normalized form of μ. We define the Utopiapoint, μ^{u}, as
μ^{u} = [μ_{ 1}(x^{1*}) μ_{ 2}(x^{2*})]^{T} 
(17.15) 
and we let l_{1} and l_{2} be the distances between μ^{2*} and μ^{1*}, and the Utopia point, μ^{u}, respectively. We have

Using the above definitions, the normalized design metrics can be evaluated as
μ = 
(17.18) 
Following the normalization of the design metrics, we can generate the Pareto points, as indicated in Figs. 17.4 and 17.5.
3.UTOPIA LINE VECTOR. Define N_{1} as the vector from μ^{1*} to μ^{2*}, yielding
N_{1} = μ^{2*}μ^{1*} 
(17.19) 
4.NORMALIZED INCREMENTS. Compute a normalized increment, δ_{1}, along the direction of N_{1} for a prescribed number of solutions, m_{1}, as
δ_{1} = 
(17.20) 
5.GENERATE UTOPIA LINE POINTS. Evaluate a set of evenly distributed points on the Utopia line as (see Fig. 17.4)
X_{pj} = α_{1j}μ^{1*} + α_{ 2j}μ^{2*} 
(17.21) 
where

Please note that α_{ij} is incremented by δ_{1} between 0 and 1 (Fig. 17.4), and we use values of j where j ∈{1, 2,...,m_{1}}.
6.PARETO POINTS GENERATION. Using the set of evenly distributed points on the Utopia line, generate a corresponding set of Pareto points by solving a succession of optimization runs of Problem P2. Each optimization runcorresponds to a point on the Utopia line. Specifically, for each generated point on the Utopia line, solve for the j^{th} point.
Problem P2 (for j^{th} point) is defined as follows:
(17.24) 
subject to
(17.25) 

(17.26) 

(17.27) 

(17.28) 

(17.29) 
7.PARETO DESIGN METRICS VALUES. Evaluate the nonnormalized design metrics that correspond to each Pareto point. This evaluation can be done in two ways. First, since the function μ(x) is known, a direct evaluation ispossible. Alternatively, if the normalized design metrics were saved from Step 6, the nonnormalized design metrics can be obtained through an inverse mapping of (12) by using the relation
μ = [μ_{1}l_{1} + μ_{1}(x^{1*}) μ_{ 2}l_{2} + μ_{2}(x^{2*})]^{T} 
(17.30) 
Up to this point, we have not considered the possibility that some of the points generated in some pathological cases might be dominated by other points in the set. This important situation is examined in Sec. 17.5, where a Paretofilter is developed.
Normalized Normal Constraint for nObjective Case
In this section, the development of the normalized normal constraint method is presented for a general multiobjective case. This development will be terse to avoid repetition with respect to the biobjective case. The basic steps are similar to those of the biobjective case.
1.ANCHOR POINTS. Obtain the anchor points, μ_{i}. for i ∈ {1, 2,..., n}, which are obtained by solving Problem PUi. We define the hyperplane, which is comprised of all the anchor points. This plane is called the Utopiahyperplane (or Utopia plane). Figure 17.6 illustrates the Utopia plane for three design metrics. Recall that the optimum design variables obtained from solving Problem PUi are denoted by x^{i}^{*}.
Figure 17.6. Utopia Hyperplane for a ThreeObjective Case
2.OBJECTIVES MAPPING/Normalization. To avoid scaling deficiencies, the optimization is performed in the normalized design metric space. In order to obtain the required mapping parameters, we need to define two points: theUtopia point and the Nadir point, which are respectively evaluated as follows:

where

We define the matrix L as
L = = μ^{N}  μ^{u} 
(17.34) 
which leads to the normalized design metrics as
μ_{i} = ,i = 1, 2,...,n 
(17.35) 
3.UTOPIA PLANE VECTORS. Define the direction, N_{k} from μ^{k}^{*}to μ^{n}^{*}for k ∈{1, 2,...,n1} as
N_{k} = μ^{n}^{*}μ^{k}^{*} 
(17.36) 
4.NORMALIZED INCREMENTS. Compute a normalized increment, δ_{k}, along the direction N_{k} for a prescribed number of solutions, m_{k}, along the associated N_{k} direction.
δ_{k} = , (1 ≤ k ≤ n  1) 
(17.37) 
Care must be taken in choosing the number of points, m_{k}, for each direction N_{k}. To ensure an even distribution of points on the ndimensional Utopia plane, the following relationship can be used. Given a specified number ofpoints, m_{1}, along the vector N_{1}, m_{k} is given as
m_{k} = 
(17.38) 
5.GENERATE HYPERPLANE POINTS. Evaluate a set of evenly distributed points on the Utopia hyperplane as
X_{pj} = ∑ _{k}_{=1}^{n}α_{ kj}μ^{k}^{*} 
(17.39) 
where

Figure 17.6 describes how generic points are generated in the Utopia plane, where two planes serve as constraints (see Eq. 17.45). Figure 17.7 shows the resulting uniformly distributed points on the Utopia plane for a threedimensional case in the normalized objective space.
Figure 17.7. Evenly Spaced Points on the Utopia Plane for a ThreeObjective Case
6.PARETO POINTS GENERATION. We generate a set of welldistributed Pareto solutions in the normalized objective space. For each value of X_{pj} generated in Step 5, we obtain the corresponding Pareto solution by solvingProblem P3:
(17.41) 
subject to
(17.42) 

(17.43) 

(17.44) 

(17.45) 

(17.46) 
In solving Problem P3 using a gradientbased algorithm, the initial point used contributes to the efficiency of the Pareto frontier generation. In the case of the normalized normal constraint method, a good choice for a startingpoint is the point X_{p}j. This automated scheme works well in practice.
7.PARETO DESIGN METRICS VALUES. The design metrics values for the Pareto solutions obtained in Step 6 can be obtained using the unscaling equation
μ_{i} = μ_{i}l_{i} + μ_{i}(x^{i}^{*}),i = 1, 2,...,n 
(17.47) 
17.5 Pareto Filter
As indicated earlier, under certain circumstances, the normal constraint method can generate nonPareto solutions. This unfortunate situation can occur, for example, in the case of a feasible region depicted in Fig. 17.8. In such cases, we propose using a Pareto filter. A Pareto filter is an algorithm that, given a set of points in objective space, produces a subset of the given points for which none will be dominated by any other. That is, the filter eliminates alldominated points from the given set.
Figure 17.8. Normal Constraint Generates a NonPareto Solution Under a Contrived Feasible Region
To facilitate the ensuing discussion, it is important to differentiate between local Pareto optimality and global Pareto optimality. We note that a global Pareto optimal point is also a local Pareto optimal point, but the reverse is nottypically true. Two important definitions based on the concept of weak domination follow.
Definition 1: A design metric vector μ^{*} is globally Pareto optimal if there does not exist another design metric vector μ such that μ_{j} ≤ μ_{j}^{*} for all j ∈{1, 2,...,n}, and μ_{j} < μ_{j}^{*} for at least one index of j, j ∈{1, 2,...,n} in the feasibledesign space.
Definition 2: A design metric vector μ^{*} is locally Pareto optimal if there does not exist another design metric vector μ such that μ_{j} ≤ μ_{j}^{*} for all j ∈{1, 2,...,n}, and μ_{j} < μ_{j}^{*}, for at least one index of j, j ∈{1, 2,...,n} in a neighborhoodof μ^{*}.
Consider Fig. 17.8, in which a highly concave feasible region is depicted. Arcs AB and FG represent the (global) Pareto frontier. Regions BC and DE are local Pareto frontiers. Arcs CD and EF are neither globally nor locallyPareto. We now make the important note that generating Pareto points using the normal constraint method with the anchor points A and G will yield nonPareto solutions. Point S, for example, a nonPareto solution, would begenerated by the normal constraint method when the Line NU is used as the normal constraint. Using a different optimization starting point in a gradientbased scheme, we could obtain the point R. The NBI method would also suffer from this deleterious behavior.
In light of the fact that certain methods yield nonPareto solutions, it is important to develop a means to avoid retaining dominated points in the set of solutions from which an optimum will be chosen. The Pareto filter does just that. The filter works by comparing a point on the Pareto frontier with every other generated point. If a point is not globally Pareto optimal, it is eliminated.
Figure 17.9 provides a functional diagram of the Pareto filter. A fourstep process of the Pareto filter algorithm is presented in the following pseudocode.
Figure 17.9. Pareto Filter
Figure 17.10. Flow Diagram of Pareto Filter
1.Initialize
Initialize the algorithm indices and variables: i = 0, j = 0, k = 1, and m= number of generated solutions; m = f(m_{k}).
2.Set i = i+ 1; j = 0.
3.(enclosed in the dashed box): Eliminate nonglobal Pareto points by doing the following: j = j+ 1
If i = j go to the beginning of Step 3
Else continue
If μ^{i} ⁄= μ^{j} and (μ^{i} μ^{j})_{ }_{s} ≥ 0,∀s
then μ^{i} is not a global Pareto point.
Go to Step 4.
Else if j = m
Then i is a global Pareto point.
p^{k} = μ^{i}
k = k+ 1
Go to Step 4.
Else go to the beginning of Step 3.
4.If i ≠ m, go to Step 2, else end.
17.6 Examples
In this section, we use the normalized normal constraint method to generate Pareto frontiers in three examples.
The first example deals with scaling issues when one design metric is orders of magnitude larger than the other, and compares the NC and (Weighted Sum) WS methods. The second example demonstrates a case in which nonPareto points are generated, and compares the behaviors of the NC and NBI methods for the same problem. In the third example, a truss problem is used, in which we deal with a concave Pareto frontier and compare the relativebehaviors of the NC and WS methods.
Example: Consider the multiobjective optimization problem below. Generate its Pareto frontier using the normalized normal constraint method.
(17.48) 

subject to
(17.49) 

(17.50) 

(17.51) 
The normalized normal constraint method leads to the following single criterion optimization problem:
(17.52) 
subject to
(17.53) 

(17.54) 

(17.55) 

(17.56) 
The following MATLAB code generates 21 evenly distributed points on the Pareto frontier (included in the book website www.cambridge.org/Messac).
1.Main file
clear;clc;
%Define sideconstraints
lb=[];ub=[];
%Define initial guess
x0=[20 1];
%Numbers of evenly distributed points
m=21;
%Define options for FMINCON
options=optimset(’display’,’on’,’algorithm’,’activeset’);
%Initialize points for normalized NC Method
xp=[0,0];
N=[1,1];
%Optimization for separate objectives
x1=fmincon(@NNC_obj1_eg1,x0,[],[],[],[],lb,ub, ...
@NNC_con_eg1,options,xp,N);
x2=fmincon(@NNC_obj2_eg1,x0,[],[],[],[],lb,ub, ...
@NNC_con_eg1,options,xp,N);
A1=NNC_obj1_eg1(x1,xp,N);B1=NNC_obj2_eg1(x1,xp,N);
A2=NNC_obj1_eg1(x2,xp,N);B2=NNC_obj2_eg1(x2,xp,N);
N=[A2A1 B2B1];
delta=1/(m1);
%initial index
k=1;
for i=0:m1
alpha=i*delta;
xp=[alpha*A1+(1alpha)*A2,alpha*B1+(1alpha)*B2];
x=fmincon(@NNC_obj2_eg1,x0,[],[],[],[],lb,ub, ...
@NNC_con_eg1,options,xp,N);
x0=x;
A(k)=abs(N(1))*NNC_obj1_eg1(x,xp,N);
B(k)=abs(N(2))*NNC_obj2_eg1(x,xp,N);
k=k+1;
end
%%%%%%%%%%% Plot Pareto Frontier %%%%%%%%%%%%%
figure
plot(A,B,’.’)
axis([1 20 .05 1])
xlabel(’\mu1’)
ylabel(’\mu2’)
1.First Objective function file
function f=NNC_obj1_eg1(x,xp,N)
f=x(1)/abs(N(1)); %Normalized Form
end
1.Second Objective function file
function f=NNC_obj2_eg1(x,xp,N)
f=x(2)/abs(N(2)); %Normalized Form
end
1.Constraint function file
function [c,ceq]=NNC_con_eg1(x,xp,N)
x1=x(1);
x2=x(2);
c(1)=((x120)/20)^8+((x21)/1)^81;
ceq=[];
if xp(1)~=0
c(2)=[1,1]*(([x1 x2]xp)./abs(N))’;
end
Figure 17.11 shows the Pareto frontier generated by the above MATLAB code.
Figure 17.11. Pareto Frontier Using Normalized Normal Constraint
Example: Consider the multiobjective optimization problem below. Use the normalized normal constraint method and the Pareto filter to generate the Pareto frontier.
(17.57) 
subject to
(17.58) 

(17.59) 

(17.60) 
The NBI method is used to generate points on the Pareto frontier. A total of 60 evenly spaced points on the Utopia line are used. Figure 17.12(a) depicts the points on the Pareto frontier. In the figure, some points are not globallyPareto optimal.
Figure 17.12. Pareto Frontier Generated Using Normal Boundary Intersection and Normalized Normal Constraint
1.Main file
clear;clc;
%Define sideconstraints
lb=[0 0 inf];ub=[5 5 inf];
%Define initial guess
x0=[5 0 1];
%Numbers of evenly distributed points
m=61;
%Define options for FMINCON
options=optimset(’display’,’off’,’algorithm’,’activeset’);
%Initialize points for NC Method
xp=[0,0];
N=[1,1];
%Optimization for separate objectives
x1=fmincon(@NNC_obj1_eg2,x0,[],[],[],[],lb,ub, ...
@NNC_con_eg2,options,xp,N);
x2=fmincon(@NNC_obj2_eg2,x0,[],[],[],[],lb,ub, ...
@NNC_con_eg2,options,xp,N);
A1=NNC_obj1_eg2(x1,xp,N);
B1=NNC_obj2_eg2(x1,xp,N);
A2=NNC_obj1_eg2(x2,xp,N);
B2=NNC_obj2_eg2(x2,xp,N);
N=[A2A1 B2B1];
delta=1/(m1);
k=1; %initial index
for i=0:m1
alpha=i*delta;
xp=[alpha*A1+(1alpha)*A2,alpha*B1+(1alpha)*B2];
x=fmincon(@NNC_obj2_eg2,x0,[],[],[],[],lb,ub, ...
@NNC_con_eg2,options,xp,N);
x0=x;
A(k)=NNC_obj1_eg2(x,xp,N);
B(k)=NNC_obj2_eg2(x,xp,N);
k=k+1;
end
figure
plot(A,B,’.’);
xlabel(’\mu1’);
ylabel(’\mu2’);
title(’Normal Boundary Intersection’);
2.First Objective function file
function f=NNC_obj1_eg2(x,xp,N)
f=x(1);
end
3.Second Objective function file
function f=NNC_obj2_eg2(x,xp,N)
f=x(2);
end
4.Objective function file for subproblem
function f=NNC_obj3_eg2(x,xp,N)
t=x(3);
f=t;
end
5.Constraint function file
function [c,ceq]=NNC_con_eg2(x,xp,N)
x1=x(1);
x2=x(2);
t=x(3);
c(1)=5*exp(x1)+2*exp(0.5*(x13)^2)x2;
ceq=[];
if xp~=0
ceq=xp+t.*[1, N(1)/N(2)][NNC_obj1_eg2(x,xp,N), ...
NNC_obj2_eg2(x,xp,N)];
end
This example can also be solved by the normalized normal constraint method, with or without using the Pareto filter. Figures 17.6 and 17.6 are generated using the normalized normal constraint method. Figure 17.6 shows the pointsgenerated before the Pareto filter is used. Some points are not globally Pareto optimal. Figure 17.6 shows the points on the Pareto frontier after the Pareto filter is used. The points on Fig. 17.6 are globally Pareto optimal.
1.Main file
clear;clc;
%Define sideconstraints
lb=[0 0];ub=[5 5];
%Define initial guess
x0=[5 0];
%Numbers of evenly distributed points
m=61;
%Define options for FMINCON
options=optimset(’display’,’off’,’algorithm’,’activeset’);
%Initialize points for NC Method
xp=[0,0];
N=[1,1];
%Optimization for separate objectives
x1=fmincon(@NNC_obj1_eg2,x0,[],[],[],[],lb,ub, ...
@NNC_con_eg2,options,xp,N);
x2=fmincon(@NNC_obj2_eg2,x0,[],[],[],[],lb,ub, ...
@NNC_con_eg2,options,xp,N);
A1=NNC_obj1_eg2(x1,xp,N);B1=NNC_obj2_eg2(x1,xp,N);
A2=NNC_obj1_eg2(x2,xp,N);B2=NNC_obj2_eg2(x2,xp,N);
N=[A2A1 B2B1];
delta=1/(m1);
k=1; %initial index
for i=0:m1
alpha=i*delta;
xp=[alpha*A1+(1alpha)*A2,alpha*B1+(1alpha)*B2];
x=fmincon(@NNC_obj2_eg2,x0,[],[],[],[],lb,ub, ...
@NNC_con_eg2,options,xp,N);
x0=x;
A(k)=abs(N(1))*NNC_obj1_eg2(x,xp,N);
B(k)=abs(N(2))*NNC_obj2_eg2(x,xp,N);
k=k+1;
end
figure
plot(A,B,’.’);
xlabel(’\mu1’);
ylabel(’\mu2’);
title(’Normal Constraint Method without Using Pareto
Filter’);
%%%%%%%%%%% Pareto Filtering %%%%%%%%%%%%%%%%%
[mA,mB]=pareto_filter(A,B);
%%%%%%%%%%% Plot Pareto Frontier %%%%%%%%%%%%%
figure
plot(mA,mB,’.’);
xlabel(’\mu1’);
ylabel(’\mu2’);
title(’Normal Constraint Method Using Pareto Filter’);
2.First Objective function file
function f=NNC_obj1_eg2(x,xp,N)
f=x(1)/abs(N(1)); %Normalized Form
end
3.Second Objective function file
function f=NNC_obj2_eg2(x,xp,N)
f=x(2)/abs(N(2)); %Normalized Form
end
4.Constraint function file
function [c,ceq]=NNC_con_eg2(x,xp,N)
f1=x(1);f2=x(2);
c(1)=5*exp(x(1))+2*exp(0.5*(x(1)3)^2)x(2);
ceq=[];
if xp~=0
c(2)=[1,1]*(([f1 f2]xp)./abs(N))’;
end
5.Pareto Filter
function [mA,mB]=pareto_filter(A,B)
k=1;
m=length(A);
for i=1:m
for j=i+1:m
if A(i)<A(j)B(i)>B(j)
break;
end
end
if j==m
p(k)=i;
k=k+1;
end
end
mA=A(p);
mB=B(p);
17.7 Summary
This chapter presents two Pareto frontier generation methods: the normal boundary intersection (NBI) method and the normalized normal constraint (NNC) method. These two methods have the ability to generate a well distributedset of Pareto points even in numerically demanding (illconditioned) situations. It is shown that, in nonconvex Pareto frontier cases, the NBI method may generate nonPareto point where the NNC method will avoid these points. All Pareto points generated by NBI will also be generated by NNC. In addition, NBI involves equality constraints while NNC involves inequality constraints, which are generally computationally favorable. This chapter also introducesthe notion of a Pareto filter, which performs the function of eliminating all but the global Pareto solutions when given a set of candidate solutions.
17.8 Problems
17.1Consider the first multiobjective optimization problem given in Sec. 17.6. Reproduce the results using the normalized normal constraint method. Also solve it using the weighted sum method. Show the figures of the Paretofrontier generated by the two methods. Turn in your Mfile and results.
17.2Consider the second multiobjective optimization problem given in Sec. 17.6. Reproduce the results using the normalized normal constraint method and the Pareto filter. Turn in your Mfile and results.
17.3Solve the following threebar truss optimization problem.
We consider a threebar truss structure from the following paper written by J Koski in 1985: Defectiveness of weighting methods in multicriterion optimization of structures. Commun. Appl. Numer. Methods 1, 333^{..}C337.
The structure and the loading conditions of the problem is provided in Fig. 17.13. For this particular problem, the design metrics are: (1) the volume of the structure, and (2) a linear combination of the displacements at nodeP, Δ. The design metrics are to be minimized.
Figure 17.13. ThreeBar Truss Under Static Loading
The cross sectional areas of the threebar truss are the design variables, which are allowed to vary between 0.1 and 2 cm^{2}. The stresses in each bar are limited to 200 MPa. The length L is fixed to 100 cm. The forces, F, whichare applied at node P, have the same value of 20 kN. The modulus of elasticity of the material used is 200 GPa. Koski (1985) used a linear combination of the displacement design metric, Δ, at node P to yield nonconvexity.The coefficients of δ_{1} and δ_{2} are 0.25 and 0.75, respectively.
Generate the Pareto frontier using the normalized normal constraint method with the Pareto filter.
17.4Understand how the normalized normal constraint method [3] works, and use that method to duplicate the Pareto frontier shown in Fig. 16.8(a) from Chapter 16.
17.5Solve Problem 17.4 using a new version of the NNC method recently reported in Ref. [4]. Discuss any possible benefits or drawbacks.
BIBLIOGRAPHY OF CHAPTER 17
[1] I. Das and J. E. Dennis. Normalboundary intersection: A new method for generating the Pareto surface in nonlinear multicriteria optimization problems. SIAM J. OPTIM., 8(3):631657, August 1998.
[2] F. Logist and J. Van Impe. Novel insights for multiobjective optimisation in engineering using Normal Boundary Intersection and (Enhanced) Normalised Normal Constraint. Structural and Multidisciplinary Optimization, 45(3):417431, 2012.
[3] A. Messac, A. IsmailYahaya, and C. A. Mattson. The normalized normal constraint method for generating the Pareto Frontier. Structural and Multidisciplinary Optimization, 25(2):8698, 2003.
[4] B. J. Hancock and C. A. Mattson. The smart normal constraint method for directly generating a smart Pareto set. Structural and Multidisciplinary Optimization, 48(4):763775, 2013.