Multiobjective Optimization - USING OPTIMIZATION—PRACTICAL ESSENTIALS - Optimization in Practice with MATLAB for Engineering Students and Professionals (2015)

Optimization in Practice with MATLAB for Engineering Students and Professionals (2015)



In Part I, we presented some prerequisite material for our study of optimization: and introduction to MATLAB, and some elementary mathematics. In Part II, we learned what we needed to explore what optimization is all about, and the important role it can play in your life as and engineer, scientist, business person, or anyone dealing with improving things quantitatively (e.g., performance and cost). In Part III, we get into the thick of things! We learn what weneed to know to credibly address optimization problems in practice.

Specifically, the topics presented, with the chapter numbers, are given below:

6.Multiobjective Optimization

7.Numerical Essentials

8.Global Optimization Basics

9.Discrete Optimization Basics

10.Practicing Optimization—Larger Examples


Multiobjective Optimization

6.1 Overview

In Part I of this book, we reviewed preparatory knowledge needed to start learning optimization: MATLAB, and elementary mathematics. In Part II, we were exposed to the world of optimization and its potentially powerful role in our lives as engineers or professionals in quantitative fields. We then delved into the specific activities of analysis, design, and optimization, their links and distinctions. In the previous chapter, we then began addressing the fundamental aspects of computational optimization. These included single objective optimization, and the different approaches to optimization (analytical, numerical, experimental, and graphical). This was followed by a discussion of software options.

In this chapter, we study one of the most important aspects of optimization in practice, the notion of multiobjective optimization. Stated simply, Multiobjective optimization is the art and science of formulating how to optimize a set of competing objectives, which is almost always the case in practice. A detailed presentation of the pertinent methods is provided in such a way as to allow you to be readily productive and effective in practical design.

6.2 The Multiobjective Problem Definition

The identification of the right design objectives plays a crucial role in the design of any system. More often than not, in real-life design, you will find that your optimization problem contains more than one design objective. For example, wouldn’t it be nice if your car dealer would tell you that the car you like happens to feature more miles per gallon and also costs less than a competitor’s car? As an engineer, you would think twice before making a decision based on his interesting comments. If he were right, the other car company would probably not stay in business for very long. The point here is that while designing any product or system, you will almost always have to consider several competing design objectives. As a car designer, you would like the car to provide the most miles per gallon possible, while taking care that the car does not cost a million dollars. This is where multiobjective optimization comes to the rescue. It is a methodical approach to solving problems involving several competing design objectives simultaneously. The fundamental message is that you will almost always have to compromise between your various objectives and find a way to prioritize them somehow (see Refs. [1, 2, 3, 4]).

6.2.1 Example Problem

Let us illustrate a typical multiobjective optimization problem through a design example. As a member of a design team in an automobile company, your first simple task is to design a pinned-pinned beam shown in Fig. 6.1 [5]. Several of the beam’s features are already fixed by the design team, including its length L and width b, the material, and the load acting on it. The only parameter that you are allowed to change is the height, h. As part of the design, you have been asked to minimize the bending stress in the beam and, at the same time, minimize the deflection at the mid-span.

Figure 6.1. A Simple Beam Design Problem

Using this information, we can now set up our multiobjective design problem as follows. The design objectives are:

μ1 = Bending stress


μ2 = Deflection


The design variable is

x1 = Height


6.2.2 Multiobjective Optimization Problem Statement

We explore the structure of a generic multiobjective optimization problem statement. A mathematical definition is given below.


subject to

g(x) ≤ 0


h(x) = 0




Our example problem had only two objectives. Note that, in the above problem statement, the number of design objectives μi is equal to n. When n = 2, we call it a bi-objective problem. Recall that x is the design variable vector. Each element xi is a design variable. In the above problem statement, g(x) represents the vector of inequality constraints, and h(x) is the vector of equality constraints. That is, g1(x) is the first inequality constraint, and h3(x) is the third equality constraint. The vectors xl and xu are the lower and upper bounds on the design variable vector x, respectively.

6.3 Pareto Optimal Solution

6.3.1 Introducing the Pareto Solution

Thus far, we have discussed how to formulate a multiobjective optimization design problem. The next important question is: how do we solve this optimization problem? It indeed does not resemble the various single objective problems that we have seen thus far. Does it have a single optimum solution or multiple solutions? What is the value (or values) of x that seeks to minimize μ1 and μ2 simultaneously, while providing a desirable tradeoff between the two? One of the interesting features of multiobjective optimization is that the solution to the problem is generally not unique as different tradeoff levels may be desirable (with each tradeoff level yielding a different solution). A set of solutions called Pareto Optimal Solutions form the complete solution set of the optimization problem.

To understand the concept of Pareto optimality, we review the folloing example. For simplicity, we 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. Figure 6.2 provides the plot of each objective function on the same vertical axis and the design variable x on the horizontal axis.

Figure 6.2. Multiobjective Optimization

If we minimize each objective function independently, ignoring the other objective, we will obtain the point that corresponds to the minimum of the objective being minimized. These two points are indicated by stars in Fig. 6.2. Suppose you are at the minimum of Objective 1 (i.e. Point M1), and you decide that you want a design that has a lower value for Objective 2 than what you have at Point M1. To achieve this, you will have to move to the right of Point M1, say to a point B. In doing so, Objective 2 has decreased in value, but what happened to the value of Objective 1? It increased as we moved from Point M1 to Point B. Remember, we are trying to minimize both objectives. Thus, to improve the value of μ2, we had to compromise on the performance of μ1. In fact, this is true for all the points between M1 and M2. We call these points 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 [6]. That is, a tradeoff will take place.

Thus, if a point is Pareto optimal, we can be assured that there cannot be simultaneous improvement in all the objectives. In Fig. 6.2, if we move to the right of Point A, both objectives decrease simultaneously. Therefore, we call points, such as A, non-Pareto or dominated solutions. The same it true with other points such as C. The hatched region in the central portion is the set of all design variable values that are Pareto optimal. As an optimization engineer,if you are solving a multiobjective optimization problem, Pareto points are what you should be looking out for.

6.3.2 The Pareto Frontier

In the previous subsection, we determined how to identify Pareto solutions in the design variable space; that is, x space. We introduce the concept of design objective space. This is a plot with a design objective plotted on each axis. We are particularly interested in what happens if we plot the design objective values of the Pareto solutions in this objective space. The pattern of points that you see in the objective space is called the Pareto frontier. The name might sound highly technical, but it is simply a plot of all Pareto solutions in the objective space. Figure 6.3 is a plot of all the Pareto points that we identified in Fig. 6.2.

Figure 6.3. Pareto Frontier

All the points (M1, M2, A, B, and C) illuatrated in Fig. 6.2 are plotted with their respective objective function values in Fig. 6.3. M1 and M2, in particular, form the end points of the Pareto frontier, also known as anchor points. Point M1 is where Objective 1 has the least value, while M2 is where Objective 2 has the least value. Points A and C, as dominated points, do not lie on the Pareto frontier.

You can appreciate why such a plot can be of immense use to a designer who is trying to optimize a particular system. By looking at the Pareto frontier, one can clearly see the tradeoffs associated with each Pareto point. For example, if Objective 1 and Objective 2, respectively, denote stress and deflection, then one can immediately identify regions of the Pareto frontier corresponding to the low values of stress, or regions with low values of deflection, whatever the preference of the designer. The designer can then select a particular Pareto point (say Point B), and map it back to the design variable space (Fig. 6.2) to determine what values of the design variables (x) yield Point B. Thus, the concept of Pareto frontier is central to the understanding and application of multiobjective decision making.

6.3.3 Obtaining Pareto Solutions

From the above discussion, it is clear that to solve a multiobjective problem, we need to obtain a Pareto optimal point or a set of points on the Pareto frontier. We cannot always plot the design objectives as shown in Fig. 6.2. In most real-life design problems, the design objectives are functions of several variables, and we need more methodical techniques to obtain Pareto solutions. Note that most optimization algorithms are developed for single objective problems. As such, one intuitive way to solve a multiobjective problem is to combine all the objectives into a single Aggregate Objective Function (AOF) in such a way that, when the AOF is optimized, a Pareto solution is obtained.

6.3.4 Aggregate Objective Function

Definition: An Aggregate Objective Function (AOF), generally denoted by J, is a function that combines the design objectives into a scalar function.

The AOF typically contains parameters to be selected by the designer. These parameters reflect the relative importance of each design objective. An objective with higher importance will be given priority during the optimization process. That is a form of inter-criteria preference. In addition, as effective AOF should provide the ability to express the relative preference for different values of a given objective (intra-criteria preference). Note that the most commonly used AOFs do not effectively provide both of these crucial attributes. Keep in mind that the final solution that can be achieved will depend on the type of AOF that is used. An important consideration in selecting the AOFto be used is its ability to allow the designer to impose his/her design objective preferences in an unambiguous manner. Below are some popular AOF formulations used by designers in industry. You will develop a deep appreciation for these crucial practical issues as you study the material in this chapter, and practice solving the problems at the end.

6.4 The Weighted Sum Method

6.4.1 Two-Objective Case

The Weighted Sum approach is the simplest and the most intuitively meaningful means of solving multiobjective optimization problems. It is also the one that is most widely used. However, it possesses some serious deficiencies. The AOF is simply a weighted linear combination of all the objective functions. Let’s consider the two-objective case shown below.

J(x) = w1μ1(x) + w2μ2(x)


The above equation is a linear function of the two objective functions. Therefore, if we plot the constant value curves (contour plot) of J in the objective space (see Fig. 6.3), these contours will appear as straight lines. Setting the weights in front of each objective function, and minimizing J yields a Pareto point. By changing the weights (w ≥ 0) uniformly, say from 0 to 1, we can obtain a series of Pareto points on the Pareto frontier. The mathematicalformulation of the optimization problem is given below.


subject to

g(x) ≤ 0


h(x) = 0




Note that we are considering the generic constrained optimization problem in Eq. 6.9. The constraints g(x) and h(x) define the feasible region, which is shown in Fig. 6.4 as the shaded region. A pictorial representation of what goes on behind the scenes during the optimization process is also provided. The dashed lines are the constant value curves of J.

Figure 6.4. Weighted Sum Method

As the optimization process decreases the value of J, the solution moves closer and closer to the Pareto frontier. The optimization will terminate when it is no longer possible to decrease both μ1 and μ2 simultaneously while remaining in the feasible region. Notice that if you set 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 you set w2 = 0, you will obtain M1 as the minimum. For all other combinations of w1 and w2, different points on the Pareto frontier can be obtained. A typical way to set the weights is to 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. They are generally chosen by trial and error.

6.4.2 Addressing More than Two Objectives

For two-objective (i.e., bi-objective) optimization problems, the two weights in Eq. 6.9 can be made to vary between 0 and 1 in an attempt to generate Pareto solutions. Here, we address the case of m objectives, where m > 2 and the Aggregate Objective Function can be expressed as

(x) = h1μ1(x) + h2μ2(x) + + hmμm(x)


where hi is greater than or equal to 0, and represents the weight for the ith objective function. Note that h i cannot be equal to 0 for all i. We now make the following observations. The solution obtained using (x) is the same as that obtained using J(x), where J(x) = (x) with α as a positive constant. If we let α = h1 + h2 + + hm, then the new objective function can be written as







Figure 6.5. The Plane of Weights for a Three-Objective Optimization Problem

With the above construction, we note that


From Eq. 6.19, we observed that the weights, (w1,w2,,wm) lie on the hyperplane defined by w1 + w2 + + wm = 1, where

0 ≤ wi ≤ 1


For three-objective optimization problems, the points belonging to the plane w1 + w2 + w3 = 1 (0 ≤ w1,w2,w3 ≤ 1) define the ranges of appropriate weights (see Fig. 6.5). To examine how the weights may change relative to each other, we recall that the sum of the weights is equal to 1, and we make the following observations: (i) We begin by allowing w1 to vary from 0 to 1. (ii) For a given w1, w2 must vary between 0 and (1 - w1), in order to have w1 + w2 = 1. (iii) For a given w1 and w2, w3 must vary between 0 and (1 - w1 - w2) in order to have w1 + w2 + w3 = 1. (iv) (For four objectives, we would have:) For a given w1, w2 and w3, w4 must vary between 0 and (1 - w1 - w2 - w3) inorder to have w1 + w2 + w3 + w4 = 1. And the process continues.

Figure 6.5 describes the range of weights for the three-objective case, where the horizontal dashed line describes the generic range for w2 and the vertical dashed line describes the generic range for w3.

The associated MATLAB code for the three-objective case is presented below. If we use an increment of 0.01 for the weights iterations, the range of weights can be evaluated using the following nested loop code.

for w1=0:0.01:1
for w2=0:0.01:1-w1
% (evaluate the objectives u1, u2, and u3)
J = w1*u1 + w2*u2 + w3*u3;

6.5 Compromise Programming

An important question is whether the weighted sum method has the ability to generate all correct results. To answer this question, consider Fig. 6.6. It displays, what we call in multiobjective optimization terminology, a non-convexPareto frontier. (Recall that the Pareto frontier in Fig. 6.4 was part of a convex set.)

Figure 6.6. Weighted Sum for Non-convex Pareto Frontier

If we try to use the weighted sum method for this type of problem, the Pareto points that lie in the non-convex regions (all points between P and Q) will be unobtainable. A pictorial representation of the optimization is shown in Fig. 6.6. As the optimization progresses, you might think that it will stop when the dashed line passes through point T. In fact, it continues beyond point T and yields point P as the optimum solution. No matter what set of weightsyou use, points such as T (and any point between P and Q) are unobtainable, because they lie in a non-convex portion of the Pareto frontier. This is a serious drawback of the weighted sum method, and one that calls for particular caution.

Is there a way out? Yes, one option is called Compromise Programming. It is a simple extension of the weighted sum strategy. The mathematical form of the pertinent AOF is provided below.

J(x) = w1μ1n(x) + w 2μ2n(x)


Notice the difference between the above equation and the weighted sum in Eq. 6.8. In Eq. 6.21, the objective functions have an exponent, n. If we plot the constant value curves of J, they will no longer be straight lines. Instead, they will be n-th order curves.

Figure 6.7 presents the constant value curves of J as dashed lines as the optimization progresses. Note that if we select a sufficiently high value for n, we can reach into the non-convex portions of the Pareto frontier. In this specific case, the optimum point obtained is point T, which was previously unobtainable using the weighted sum method.

Figure 6.7. Compromise Programming

As a general guideline, always choose n to be an even integer less than or equal to 8. In most cases, using n = 2 or n = 4 should yield satisfactory results. When n = 2, the compromise programming approach is sometimes called the weighted square sum method.

6.6 Generating the Pareto Frontier—with MATLAB

Previously in Sec. 5.5.1, we discussed how to use fmincon to solve a single nonlinear optimization problem with one objective. In this section, we explain how to develop a code in MATLAB to generate several Pareto solutions, or the Pareto frontier, for a multiobjective optimization problem.

Consider the following bi-objective optimization problem for which we wish to generate the Pareto frontier.


subject to





Figure 6.8 provides the MATLAB code for Pareto frontier generation using the weighted sum method. The procedure is summarized below:

1.Program Structure: The main program is called main.m, which upon execution, generates and plots a set of Pareto points. The file main.m calls the two functions objfun.m and confun.m, which generate the objective functions and the constraints, respectively.

2.Initialization: The file main.m begins by providing the initial guess (x0) and specifying lower and upper bounds (LB and UB) for the design variables. The quantities x0, LB, and UB are arguments in fmincon. A counter j= 1 is defined. This counter is used to increment the indices of the arrays in which the Pareto points are stored.

3.for loop and Details: After initialization, a for loop is defined. Like most optimization codes, the MATLAB solver fmincon can only solve single objective optimization problems. Therefore, we combine the two objectives in the problem at hand, μ1 and μ2, to form a single AOF. In order to obtain the Pareto frontier of the bi-objective problem, we solve a series of single objective problems. Each iteration of the for loop solves one single objective optimization problem. This approach is further discussed below.

a)Each single objective problem has a different AOF that can be formed using the weighted sum method or the compromise programming method, using different sets of weights. In order to automate this AOF generation for each single objective optimization, we use the for loop to generate the sets of weights.

b)As shown in Fig. 6.8, each iteration of the for loop generates one set of weights that defines an AOF for that iteration. The corresponding single objective problem is solved by calling fmincon. The command fmincon, in turn, calls the two function files objfun.m and confun.m.

c)Figure 6.8 describes the values that are exchanged among the files main.m, objfun.m, and confun.m. The file main.m provides the design variable and weight values to objfun.m and confun.m. Note that although the weights are not used in confun.m, they still need to be passed. All problem parameters in fmincon (in this problem, w1 and w2) must be provided to both objfun.m and confun.m; otherwise, a MATLAB error will occur.

d)Based on the weights that are passed into objfun.m from main.m, an AOF is formed in objfun.m. Every time fmincon calls the objective function file, objfun.m returns the value of f, which is the AOF value for the corresponding set of weights. The file confun.m returns to main.m the values of the inequality and equality constraints [c, ceq] every time fmincon calls confun.m.

e)The optimum values of the corresponding design variables obtained by calling fmincon are stored in the variable x. Next, the values of the corresponding objective functions are computed and stored in two arrays, solx andsoly. After each iteration of the for loop, the counter j is incremented.

4.Plotting: After the execution of the for loop is completed, the objective values in the two arrays, solx and soly, are plotted to obtain the Pareto frontier.

Figure 6.8. Generating the Pareto Frontier Using MATLAB

The number of Pareto points to be generated can be set using the for loop arguments. Different sets of weights used to form the AOF generally yield different Pareto points. The above statement, however, might not be true in problems with numerical issues.

The code in Fig. 6.8 generates the Pareto frontier shown in Fig. 6.9. Readers are encouraged to use this example to reproduce the Pareto frontier generation code and the results shown in Fig. 6.9.

Figure 6.9. Pareto Frontier for the Example

6.7 Reaching a Target—Goal Programming

In some problems, instead of simply minimizing the design objectives, we may wish to reach a given target value for each objective. For example, say 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. Such a design statement can be easily formulated as a compromise programming AOF, as shown below.

J(x) = w1 n + w 2 n


where n is an even integer, often chosen to be equal to two. In the above equation, notice that the smallest possible value of J is zero, which is achieved only when μ1 = 1500 and μ2 = 2. In most real-life problems, this point will not be achievable. Instead, by choosing an appropriate set of weights (w1 and w2) for the design objectives, we can obtain a Pareto solution that reflects the most desirable tradeoff between the two design objectives. Finally, we note that it is often desirable to use a normalized version of the goal programming formulation (Eq. 6.27). This version is expressed as


where μ1g and μ2g are good values of the objectives μ1 and μ2, respectively; and μ1b and μ2b are bad values of the objectives μ1 and μ2, respectively. With respect to Eq. 6.27, we would have μ1g = 1, 500 and μ2g = 2; and we might have μ1b = 8, 000 and μ2b = 10. The formulation in Eq. 6.28 will have more stable numerical behavior than that in Eq. 6.27. Such numerical conditioning and scaling strategies will be discussed in more detail in Chapter 7.

We conclude by noting that, in the above methods, we have described formulations from the point of view of two objectives. While the bi-objective case is indeed more computationally tractable, we find that, at least conceptually, these formulations can be readily extended to cases of more than two objectives by simply adding appropriate terms in the AOF.

6.8 Expressing a Preference—Physical Programming

In the case of Goal Programming (GP), we try to reach a given target for each objective. However, in practice, we generally have a more complex set of preferences. The Physical Programming method provides the means for a more realistic expression of preference. Instead of saying that the goal is for the mass to be close to single fixed target, we can say that we wish to minimize the mass with different ranges of differing desirability. Specifically, we might say that (i) it is Highly Desirable for the mass to be less than 2 kg, (ii) Desirable between 2 and 3 kg, (iii) Tolerable between 3 and 5 kg, (iv) Undesirable between 5 and 7 kg, and (v) Highly Undesirable between 7 and 8 kg. Beyond 8 kg is Unacceptable. This expression of preference through physical programming is depicted in Fig. 6.10 for the mass objective. A similar expression of preference for other objectives - deflection, sig1, and sig2 - are shown for minimization, and sig3 for maximization. This added flexibility is a distinguishing feature of the Physical Programming (PP) method. A more detailed presentation of the PP method is provided in Chapter 18. Figure 6.10 is part PhysPro (Ref. [7]), which is a software implementation of the Physical Programming method. (Note that this figure is color coded in the actual code Graphical User Interface).

Figure 6.10. Expressing Preference Using Physical Programming

Brief contrast of the two methods:

Goal Programming Key Characteristics: (i) GP is somewhat easier to implement than PP. (ii) GP is much easier to code. (iii) GP can provide useful answers in many practical cases. (iv) GP can be overly dependent on thetarget/goal values chosen. (v) GP requires the assignment of weights for each goal, which can be extremely difficult in cases of more than two objectives.

Physical Programming Key Characteristics: (i) PP is more amenable to leading the designer to the most preferred solution.(ii) PP is shown not to be highly sensitive on the desirability values chosen. (iii) PP does not require the assignment of weights, which are notoriously difficult to correctly determine in practical cases of more than two objecives. (iv) PP has been shown to work well in diverse multiobjective practical cases. (v) PP brings optimization within the reach of users with minimal technical knowledge thereof.

6.9 Multiobjective Optimization Using MATLAB Optimization Toolbox

The MATLAB Optimization Toolbox provides two functions for two distinct formulations of multiobjective optimization problems: (i) goal attainment and (ii) minimax.

The goal attainment problem 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. The function used to solve the goal attainment problem is fgoalattain. Please use the command help fgoalattain for furtherinformation.

The minimax problem involves minimizing the worst case value of a set of multivariate functions, possibly subject to linear and nonlinear constraints. The function used to solve the minimax problem is fminimax. Please use the command help fminimax for further information.

6.10 Summary

Real-life design problems often involve multiple objectives or criteria that need to be achieved; such as, reducing system cost, while maximizing the system efficiency, and minimizing the system weight. Special methodologies that can address multiple objectives are needed to solve such design problems. This chapter provided an introduction to the concept of multiobjective optimization, specifically focusing on how to formulate such multiobjective problems, how to compare solutions and identify best tradeoff designs, and how to solve multiobjective problems. The concept of Pareto solutions and Pareto frontier was first provided, followed by the concept of aggregate objective function. The major multiobjective optimization methods that were presented in this chapter included traditional methods such as the weighted sum method, compromise programming, and goal programming, as well as the contemporary method of physical programming. The chapter ended with a brief overview of the provisions in MATLAB for solving multiobjective optimization problems.

6.11 Problems

Warm-up Problems

6.1Consider the following bi-objective optimization problem. This is a standard single-variable bi-objective problem often used to test multiobjective optimizers.

μ1 = x2


μ2 = (x - 2)2


-5 ≤ x ≤ 5


(a) Obtain several optimal points on the Pareto frontier using the weighted sum method. Use the MATLAB function fmincon for optimization. Plot each design objective as a function of x on the same figure (as shown in Fig. 6.2). Identify on this plot, the Pareto solutions that you just obtained. Turn in your M-files. (b) Plot the Pareto optimal points in the μ1-μ2 space. Turn in your M-files and the plot.

6.2Consider the following bi-objective optimization problem.

μ1 = sin θ


μ2 = 1 - sin7 θ


0.5326 ≤ θ ≤ 1.2532


(a) Obtain several optimal points on the Pareto frontier using the weighted sum method. Use the MATLAB function fmincon for optimization. Plot the points in the μ1-μ2 space. Turn in your M-files and the plot. (b) Do you think that the weighted sum method performs satisfactorily in obtaining points on the Pareto frontier? (c) Use the compromise programming approach with an appropriate value for the exponent to obtain the Pareto frontier. Turn in the plot and the M-file that you think yields the most satisfactory results.

6.3Design a single-support water tower of maximum height, h, and maximum water storage capacity. For this exercise, the only mode of failure to protect against is support column buckling. The basic tower design is shown in Fig. 6.11.

Figure 6.11. Problem 6.3—Water Tower


(1)The steel water tank is a spherical pressure vessel of thickness t.

(2)The support column has a circular cross section and is made of steel.

(3)The weight of the full tank acts vertically at Point B.

Design Variables:

(1)Column height: h

(2)Tank radius: r

Side constraints:

(1)Height: 10 ≤ h ≤ 16 (meters)

(2)Radius: 2.13 ≤ r ≤ 14 (meters)

Numerical Constants:

(1)Modulus of steel, E = 206 GPa

(2)Diameter of support column, d = 0.3 m

(3)Thickness of tank, t = 0.0127 m

(4)Buckling safety factor, SF = 2

(5)Gravitational constant, g = 9.8 m/s2

(6)Density of steel, ρs = 7,800 kg/m3

(7)Density of water, ρw = 1,000 kg/m3

The questions are:

(a)Find the tallest water tower design, h.

(b)Find the largest storage capacity design.

(c)Find four other Pareto solutions that are significantly different from any other design you have obtained. How do you compare your designs to decide the extent to which they are different?

(d)Plot all your designs from the previous parts in the μ1-μ2 space. Turn in your plot and your M-files.

Intermediate Problems

6.4You are a new member of an optimization team at an automobile company. As your first task, you are asked to optimize a particular automotive component. You have been asked to simultaneously minimize the mass (μ1) and the cost (μ2) of the component. The other team members give you a hint, saying that if the mass and cost are modeled as optimization variables, then the following optimization constraints can be imposed to solve the problem.

Table 6.1. Problem 6.4—Results





To solve the problem, you will need to construct an appropriate Aggregate Objective Function (AOF) using the approaches presented in this chapter: weighted sum and compromise programming. An example of an AOF is shown below:

J = w1μ1m + w 2μ2m


(a)Your task is to duplicate the optimal values provided in the table below. To do so, you will need to choose values for w1,w2, and m that yield the given μ12 when J is minimized. For each case in the table, you will have to solve a separate optimization problem. You can use weighted sum (m = 1) or compromise programming (m = 2, 4, 6,..., even numbers). Fill in the following table after you are confident that you have the correct values for the three parameters. Provide values of the weights correct to three decimal places. In each case, use the smallest value of m possible. Use the MATLAB function fmincon for the optimization. Provide your M-files.

(b)For the above problem, generate a number of optimal solutions on the Pareto frontier. Use the following AOF formulations: (1) Weighted sum, (2) Weighted square sum, (3) Compromise programming with m = 4, and (4) Compromise programming with m = 10. Use the MATLAB function fmincon for the optimization. Generate about 60-80 points on the Pareto frontier. Plot your results in the μ1-μ2 space. Label your plots. Provide your M-files.

(c)Comment on the performance of the weighted sum and compromise programming approaches. Which approach would you recommend for this problem?



subject to





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.)

6.6You have a good friend who is about to buy two items. For some strange reason, the costs of these two items depend on a variable x which varies from -4 to 4. The cost for the first and second items are μ1 and μ2, respectively. After much market research, you determine that the following relationships apply.

Table 6.2. Problem 6.6—Results

μ1 = ex + R


μ2 = e-x + R




Being a good friend yourself, you would like to save him money. You decide to minimize the function

J = w1μ1m + w 2μ2m; m = 2, 4, 6,...; w 1,w2 ≥ 0


Your friend has various requests. For each request, you need to solve an optimization problem. Therefore, you need to find the correct scalar weights, w1 and w2, in addition to the appropriate power m. For each case, use the smallest m possible. (a) For Cases A through F below, your friend would like to have the price of Item 1 to be very near 1.5, 2, 2.9, 3.5, 4, and 5.1, respectively. For each case, fill in the missing information in following table.Turn in your M-files. (b) Explain the relationship between the AOF that you use and the Pareto frontier in geometrical terms (e.g., convex or concave).

6.7Consider the following multiobjective problem:

subject to

1.Generate the Pareto frontier using the weighted sum method. Do you obtain a good representation of the Pareto frontier? Explain why or why not.

2.Use the compromise programming method to obtain the Pareto frontier. What value of the exponent gives an adequate representation of the Pareto frontier?

3.Discuss your ability to generate the Pareto frontier in terms of the exponents you used in the compromise programming formulation. Which exponents worked satisfactorily for the complete Pareto frontier generation?

6.8Consider the following multiobjective problem:

subject to

1.Plot the Pareto frontier for this problem using the weighted sum method. Do you obtain a good representation of the Pareto frontier?

2.Give one possible reason why the weighted sum method does not give all the Pareto points for this problem. Suggest another method that you think will achieve a good representation of the Pareto frontier.

3.Solve the above problem using the method you suggested in response to the previous question. Plot at least 50 Pareto points.

4.Explain why the method you suggested is more suitable than the weighted sum method for solving similar problems.

6.9SPEED REDUCER: Figure 6.12 shows an illustration of the Golinski speed reducer [8]. The design of the speed reducer involves the design of a simple gear box. This mechanism can be used in a light airplane between the engine and the propeller to allow optimum rotating speed for each.

Figure 6.12. Golinski Speed Reducer

There are seven design variables in the problem: (1) gear face width, x1 (cm), (2) teeth module, x2 (cm), (3) number of teeth of the pinion, x3 (we will treat this as a continuous variable), (4) distance between the bearing set 1, x4 (cm), (5) distance between the bearing set 2, x5 (cm), (6) diameter of shaft 1, x6 (cm), and (7) diameter of shaft 2, x7 (cm).

We are interested in minimizing two objectives: (1) the volume of the speed reducer and (2) the stress in one of the gears. The volume of the speed reducer, μ1, which translates to its weight, is given as follows.


The stress in one of the gears, μ2, is given as follows.


Ten inequality constraints are imposed by considering gear and shaft design practices. An upper limit on the bending stress of the gear tooth is imposed (g1). The contact stress of the gear tooth is constrained using g2. Constraints g3 and g4 are upper limits on the transverse deflections of the shafts. Dimensional constraints due to space limitations are imposed using g5 through g7. The constraints g8 and g9 are design requirements on the shaft based on past experience. The stress in the gear shaft is constrained by g10. The constraints are given as follows:


≡ ≤ 1



≡ ≤ 1



≡ ≤ 1



≡ ≤ 1



≡ ≤ 1



≡ ≤ 1



≡ ≤ 1



≡ ≤ 1



≡ ≤ 1



≡ ≤ 1


All the seven design variables have upper and lower bounds (b1 through b7), as given below.


≡ 2.6 ≤ x1 ≤ 3.6



≡ 0.7 ≤ x2 ≤ 0.8



≡ 17 ≤ x3 ≤ 28



≡ 7.3 ≤ x4 ≤ 8.3



≡ 7.3 ≤ x5 ≤ 8.3



≡ 2.9 ≤ x6 ≤ 3.9



≡ 5.0 ≤ x7 ≤ 5.5


Based on the above information, answer the following questions.

(a)Find the design that yields the minimum weight for the speed reducer, subject to the constraints discussed above.

(b)Find the design that yields the minimum stress for the gear, subject to the constraints discussed above.

(c)Now, try to minimize the weight and the stress simultaneously. Use the weighted sum method to form the AOF. Minimize the AOF for a set of 10 evenly spaced weights between zero and one. Can a complete representation of the Pareto frontier be obtained?

(d)How can a better representation of the Pareto frontier be obtained? (Hint: Consider a larger set of evenly spaced weights between zero and one when compared to Part (c). Increase the number of points until you can obtain a complete representation of the Pareto frontier). Discuss the advantages/disadvantages of using the technique discussed above, especially in large scale problems.

6.10You have been recently hired as an optimization expert for the company CoBeams. This company specializes in the design of sandwich beams. These sandwich beams are composites made up of different material layers. The engineering properties of the beam, due to its composite nature, are well suited for certain design applications. A particular order has been requested by one of the company’s major customers. The beam under consideration is idealized as a pinned-pinned sandwich beam that supports a motor as shown in Fig. 6.13.

Figure 6.13. Sandwich Beam Designed with Vibrating Motor

A vibratory disturbance (at v Hz) is imparted from the motor onto the beam. The beam is of length L and width b. The variables, d1 and d2, respectively, locate the contact of Materials one and two, and two and three. The variable, d3, locates the top of the beam. The mass density, Young’s modulus, and cost per unit volume for Materials one, two, and three, are respectively denoted by the triplets (ρ1, E1, c1), (ρ2, E2, c2), and (ρ3, E3, c3).

The overall objective is to design the preceding sandwich beam in such a way as to passively minimize the vibration of the beam that results from the disturbance (v = 10Hz). Minimizing the vibration will require maximizing the fundamental frequency, f0, of the beam. The optimal solution should be such that the fundamental frequency is maximized economically (i.e., at minimum cost, c).

In the design of the plant, the quantities and objectives of interest are as follows:

Fundamental frequency maximization:





The minimization of the cost is given as


The mass is given as

M = μL


The width of Layer 2 is given as

d21 = d2 - d1


The width of Layer 3 is given as

d32 = d3 - d2


The design parameters are

x = [d1 d2 d3 b L]


1.Develop a function that allows you to enter the design variables, d1, d2, d3, b, and L, for the corresponding values of f0, c, M, d21, and d32. Save this function as vbeam.m.

2.The customer’s specified conditions (e.g., material properties and dimensions) are expressed in Table 6.3.

Table 6.3. Constants and Design Variable Constraints





ρ1 = 100kg/m3

0.01 ≤d1 ≤ 0.3m

M = 1,845kg

ρ2 = 2,770kg/m3

0.01 ≤d2 ≤ 0.35m

d3 = 0.345m

ρ3 = 7,780kg/m3

E1 = 1.6 × 109Pa

0.3 ≤b ≤ 0.7m

E2 = 70 × 109Pa

3 ≤L ≤ 6m

E3 = 200 × 109Pa

c1 = 500 $/m3

d21 ≥ 0.001

c2 = 1,500 $/m3

d32 ≥ 0.001

c3 = 800 $/m3

3.To ensure your function is working correctly, enter the following values for the design variables: d1 = 0.3, d2 = 0.35, d3 = 0.4, b = 0.4, and L = 5. Your output should give f0 = 112.684,9, c = 1,060, M = 2,230, d21 = 0.05, and d32 = 0.05

4.The customer has also given you a budget of $500. Use the weighted sum method to maximize μ1 = f0, minimize μ2 = c, and determine the weights to obtain an optimal design cost of ≈ $500, if possible. Use the values of the design variables given in Part 2 above as initial values. (Hint: Form the aggregate objective function, f(x) = w1μ1 + w2μ2, where w2 = 1 - w1. Vary the value of w1, ranging between 0.85 and 1, with incremental changes of 0.01. Determine which set of weights in this range gives the closest value of c = 250.)

5.Plot a Pareto frontier that contains 100 distinct solutions. (Note: Due to numerical issues, the generation of, say, 100 Pareto solutions might produce significantly less than 100 distinct solutions.)

6.From the plot generated in 4, form a table that provides the different values of the design objectives for the corresponding design variables.

7.Another customer interested in a similar beam design wants to know, as soon as possible, what fundamental frequency can be achieved with a design budget of $600. He also wishes to know how the design variables will be affected. By referring to your table from 5, provide the requested information for the customer.

Advanced Problems

6.11Optimization of a Simple Two Bar Truss: Minimize the square of the deflection at node P and minimize the total structural volume (see Fig. 6.14); subject to constraints that ensure the normal stresses and beam cross sectional areas are within acceptable levels. Plot the Pareto frontier for this problem.

Figure 6.14. Schematic of Simple Two-Bar Truss

Design Parameters: a1 = cross sectional area of bar 1 (m2); a 2 = cross sectional area of bar 2 (m2); and b = horizontal distance from the leftmost part of the truss to node P (m).

Constant Numerical Values: L = 18.288 m (60 ft); W1 = 4.45 × 105 N (100 kips); W 2 = 4.45 × 106 N (1, 000 kips); E = 1.99 × 1011 Pa (29 × 103 kpsi); Smax = 3.79 × 109 Pa (550 kpsi) (Maximum allowable stress); aimin = 5.16 × 10-4 m2, i = 1, 2; aimax = 1.94 × 10-3 m2, i = 1, 2; b min = 9.144 m (30 ft); and bmax = 27.432 m (90 ft).

Design Objectives: μ1 = the square of the displacement of node P (m2); μ 2 = the total structural volume (m3).

Determining Nodal Displacements in Bars: In order to formulate the problem, you first need to calculate the stiffness matrix of the system. You have only one node, so you will have a 2 × 2 stiffness matrix. The relation between the nodal displacement (u) and the axial deflections in the bars (δ) is as follows:

δ = Au, where A =

δ = , u =

The force balance at the node yields:

ATf = W, where W = , f =

where W is the applied load, and f is the axial force in each bar.

You also have, from elasticity equations: f =

where C =

Substituting the expression for f into the force balance equation:

AT = W, (ATCA)u = W

Consequently: u = (ATCA)-1W. Use the above information to solve the problem.

6.12Design a cylindrical pressure vessel that can store 750 ft3 of compressed air at a pressure of 30 psi. The design variables are: (i) the radius, R; (ii) the length of the cylindrical shell, L; (iii) the shell thickness, Ts; and (iv) thehead thickness Th. The basic pressure vessel configuration is shown in Fig. 6.15 below.

Figure 6.15. Pressure Vessel

The main cylindrical shell of the pressure vessel is fabricated in two halves of rolled steel plate. The two halves are joined together by a longitudinal weld. Manufacturing limitations restrict the length of the shell to be at a maximum of 20 ft. The pressure vessel has two end caps, which are hemispherical, forged, and welded to the shell. All of the welds are single-welded butt joints with a backing strip. The material is carbon steel.

The radius can range from 25 to 150 inches, and the length of the cylindrical shell from 25 to 240 inches. The thickness of the shell must be between 1 and 1 inches, and the thickness of the head must be between and 1inch. According to the ASME Boiler and Pressure Vessel Codes, the thickness of the shell must be at least 0.0193 times the radius, and the thickness of the head must be at least 0.00954 times the radius.

1.Minimize the total cost of the pressure vessel, which is a combination of the welding, material, and forming costs. The total cost of the system is given as


Determine the optimal cost, as well as the optimal values, for the design variables.

2.What other design objectives do you think could be considered in this problem? Develop an equation for the hoop stress in the cylindrical section.

3.Minimize this hoop stress in the pressure vessel. Provide the minimum hoop stress value, as well as the optimal values, for the design variables.

4.You are now asked to minimize both objectives (cost and hoop stress) simultaneously. Plot the Pareto frontier for this bi-objective problem. Determine whether and when the solutions you obtained in No. 1 and No. 3belong to the Pareto frontier of the bi-objective problem.

5.Modify your code for the bi-objective problem to ensure that the hoop stress does not exceed the maximum stress for carbon steel (σmax = 35,000 psi). Do you expect the Pareto solutions to be different from those of No. 4 with the inclusion of this additional constraint? To be certain, repeat No. 4 with your modified code. Is the new Pareto frontier different from the one you obtained in No. 4? Explain why or why not.

6.13The company Modern Energy specializes in new energy efficient systems for commercial and domestic buildings. You have been recently hired as an optimization expert to be a part of their research and development department. The head of your design team spawned an ambitious idea that uses windows to remove heat from a building. He calls this design the Active Window [9]. He claims that if an active cooling system is placed around the window, then it might be possible for that window to remove heat from the building in addition to removing the heat that was allowed to enter in the first place. He suggests using thermoelectric (TE) units aligned around the perimeter of the window as shown in Fig. 6.16 (see Refs. [2, 10, 11, 12, 11]).

Figure 6.16. Proposed Schematic of Active Window

TE units are solid state devices that use thermocouples to convert electrical energy into thermal energy or vice versa. For a given input current, the TE unit absorbs heat at its cold side and dissipates it at its hot side. The amount of heat that can be absorbed by the TE unit, Qte, for a input current, Ite, is given as

Qte = 2N


and the supplied voltage, V te, as

V te = 2N


where N is the number of thermocouples, α is the Seebeck coefficient, Tc is the cold side temperature of the TE unit, ρ is the resistivity, ΔT is the temperature difference between the hot and cold side of the TE unit, κ is the thermal conductivity, and G is the geometry factor, which is the area to thickness ratio of the TE unit.

For practical and innovative purposes, it is necessary that this design provides an efficiency that is equivalent to or greater than existing cooling systems. Cooling systems are usually rated by their coefficient of performance (COP). The COP is defined as the amount of heat that can be absorbed by a cooling device per unit of input power. Good cooling systems have a COP of approximately 3.

The head of your design team has assigned you the task of doing an initial study on the Active Window. He is interested in finding out the maximum amount of heat the Active Window can remove from a building under energy efficient conditions. The Active window will be considered feasible only if it can, at the very least, remove the heat it allowed to enter the building for a COP ≥ 3. Experts on window heat transfer are available to supply you with information regarding the heat allowed by a particular window.

The head of your design team suggests carrying out your study based on three TE units for which pertinent information is provided in Table 6.4. Information in Table 6.4 corresponds to Tc = 297 K.

Table 6.4. Geometrical Properties for the Different Thermoelectric Units

TE No.





V max












2.02e - 4

1.01e - 5









2.02e - 4

1.01e - 5









2.02e - 4

1.01e - 5


In Table 6.4, Th (K) is the hot side temperature of the TE unit. Before you begin your study, he would like you to note the following:

1.Despite the fact that the TE units are aligned physically in series around the perimeter of the window, they can be connected electrically in parallel and series. Ntep and Ntes correspond to the number of TE units connected in parallel and series, respectively.

2.The total length occupied by the TE units is the product of the length of one TE unit, Lte (m), and the total number of TE units, NtepNtes.

3.The total length occupied by the TE units should not exceed the perimeter of the window.

4.Ite and V te should not exceed the TE maximum current, Imax, and TE maximum voltage, V max, respectively. These values are specified by the manufacturer, and are given in Table 6.4

5.The total heat absorbed by the Active Window, Q (W), is given as



6.The Power input to the Active Window, P (W), is given as


7.The COP for the Active Window should be above 3 when possible, or otherwise as close to 3 as possible. Specifically, we have


Use Ite, Ntep, and Ntes as design variables with the following bounds:


The head of your design team wants a report that contains all the necessary information. You can complete your report by doing the following:

1.Maximize Q for a window with Lwin = 1 m, satisfying all the conditions previously stated for each TE unit. Can all the TE units satisfy the conditions imposed? Develop a table that provides the optimum values for the design variables, V te, Q, P, and the COP for the TE units that satisfy the constraints.

2.If the experts claim that a window with Lwin = 1 m allows 581 W to enter the building, what conclusions can you draw based on the feasibility of the Active Window with respect to the TE units?

3.Remove the constraint for COP and maximize Q for each TE unit. Develop a table similar to that in No. 1 above.

4.With the constraint for COP removed, plot a Pareto frontier that maximizes Q and minimizes P for each TE unit. Identify the point on each plot that corresponds to the maximum COP achievable by that TE unit.

5.Compare the value of Q for TE No. 3 corresponding to the maximum COP with that from No. 1. What observation can be made?

Graduate Level Problems

6.14(Note: This problem could also be used as an Advanced problem). Figure 6.17 provides the schematic representation of a ten-bar truss. The ten members are connected to each other at six nodes, represented by the numbers 1 through 6. You can assume that the truss lies and deflects in one plane, and that every node has only two degrees of freedom (the displacements along the horizontal and vertical axes). The left-hand-side of the truss is fixed to the wall, yielding zero displacements for Nodes 1 and 4. The displacements along the horizontal and vertical axes for the remaining nodes are represented by u1 through u8. F1 through F8 represent loads applied to these nodes, respectively. The cross sectional areas of the truss members are given by x1 through x10. The stresses induced in the ten bars are given by

{σ} = [S]{u}


Figure 6.17. Ten-Bar Truss

where, {σ} = {σ12,...σ10}T is the stress vector, and {u} = {u1,u2,...u8}T is the displacement vector. Matrix [S] is given by Eq. 6.96 at end of this problem. The displacements vector u is evaluated using the finite element formulation

{F} = [K]{u}


where, the force vector is {F} = {F1,F2,...F8}T. The stiffness matrix [K] is given by Eq. 6.14 at the end of this problem. The maximum allowable stresses are (σmaxt maxc) = (150 MPa,-150 MPa) (tension/compression), and the maximum allowable deflections are (umaxt,u maxc) = (15 mm,-15 mm) (tension/compression). The cross sectional areas should be between 5 mm2 and 200 mm2.

1.Minimize the total material volume of the truss when Fi = 2KN (i=1 to 8) and E = 2 × 105 N∕mm2. The optimization problem statement is given by


subject to


≤{σ}≤{σ maxt}



≤{u}≤{u maxt}





2.Minimize the maximum deflection of the truss. The optimization problem statement is given as follows.


subject to


≤{σ}≤{σ maxt}



≤{u}≤{u maxt}





3.Generate a two-objective Pareto frontier for this problem with at least 100 design points. Plot it, discuss the tradeoffs that it presents to you, and do so in quantitative terms.

Matrices: For the above problem, the [S] matrix is given as

[S] =


For the above problem, the [K] matrix is given as follows (with z = 2):

[K] = [Ka|Kb]










[1]C. A. Coello Coello, G. B. Lamont, and D. A. Van Veldhuizen. Evolutionary Algorithms for Solving Multi-objective Problems. Springer, 2nd edition, 2007.

[2]K. Miettinen. Nonlinear Multiobjective Optimization. Springer, 1998.

[3]Y. Collette and P. Siarry. Multiobjective Optimization: Principles and Case Studies. Springer, 2011.

[4]G. P. Rangaiah and A. Bonilla-Petriciolet. Multi-objective Optimization in Chemical Engineering: Developments and Applications. John Wiley and Sons, 2013.

[5]A. Messac. From the dubious construction of objective functions to the application of Physical Programming. AIAA Journal, 38(1):155-163, January 2000.

[6]C. A. Mattson, A. A. Mullur, and A. Messac. Smart Pareto filter: Obtaining a minimal representation of multiobjective design space. Engineering Optimization, 36(6):721-740, 2004.

[7]K. E. Lewis, W. Chen, and L. C. Schmidt. Decision Making in Engineering Design. ASME Press, 2006.

[8]J. Golinski. Optimal synthesis problems solved by means of nonlinear programming and random methods. Journal of Mechanisms, 5(3):287-309, 1970.

[9]T. Harren-Lewis, S. Rangavajhala, A. Messac, and Junqiang Zhang. Optimization-based feasibility study of an active thermal insulator. Building and Environment, 53:7-15, 2012.

[10]R. Khire. Selection-Integrated Optimization (SIO) Methodology for Adaptive Systems and Product Family Optimization. PhD thesis, Rensselaer Polytechnic Institute, Troy, New York, September 2006.

[11]A. Messac, R. S. Birthright, T. Harren-Lewis, and S. Rangavajhala. Optimizing thermoelectric cascades to increase the efficiency of thermoelectric windows. In 4th AIAA Multidisciplinary design optimization specialist conference. Schaumburg, IL, 2008.

[12]T. Harren-Lewis, S. Rangavajhala, A. Messac, and Junqiang Zhang. Optimization-based feasibility study of an active thermal insulator. Building and Environment, 53:7-15, 2012.