Dev 2012 Chapter 1
Dev 2012 Chapter 1
Introduction
1
2 Optimization for Engineering Design: Algorithms and Examples
1.1.2 Constraints
Having chosen the design variables, the next task is to identify the constraints
associated with the optimization problem. The constraints represent some
functional relationships among the design variables and other design
parameters satisfying certain physical phenomenon and certain resource
limitations. Some of these considerations require that the design remain in
static or dynamic equilibrium. In many mechanical and civil engineering
problems, the constraints are formulated to satisfy stress and deflection
limitations. Often, a component needs to be designed in such a way that
it can be placed inside a fixed housing, thereby restricting the size of the
component. There is, however, no unique way to formulate a constraint in
all problems. The nature and number of constraints to be included in the
formulation depend on the user. In many algorithms discussed in this book,
it is not necessary to have an explicit mathematical expression of a constraint;
but an algorithm or a mechanism to calculate the constraint is mandatory. For
example, a mechanical engineering component design problem may involve
a constraint to restrain the maximum stress developed anywhere in the
component to the strength of the material. In an irregular-shaped component,
there may not exist an exact mathematical expression for the maximum stress
developed in the component. A finite element simulation software may be
necessary to compute the maximum stress. But the simulation procedure and
the necessary input to the simulator and the output from the simulator must
be understood at this step.
There are usually two types of constraints that emerge from most
considerations. Either the constraints are of an inequality type or of an
equality type. Inequality constraints state that the functional relationships
among design variables are either greater than, smaller than, or equal to,
a resource value. For example, the stress (σ(x)) developed anywhere in a
component must be smaller than or equal to the allowable strength (Sallowable )
of the material. Mathematically,
σ(x) ≤ Sallowable .
Most of the constraints encountered in engineering design problems are of this
type. Some constraints may be of greater-than-equal-to type: for example,
the natural frequency (ν(x)) of a system may required to be greater than
2 Hz, or mathematically, ν(x) ≥ 2. Fortunately, one type of inequality
constraints can be transformed into the other type by multiplying both sides
by −1 or by interchanging the left and right sides. For example, the former
constraint can be transformed into a greater-than-equal-to type by either
−σ(x) ≥ −Sallowable or Sallowable ≥ σ(x).
Introduction 5
δ(x) ≤ 6.
The third task in the formulation procedure is to find the objective function
in terms of the design variables and other problem parameters. The common
engineering objectives involve minimization of overall cost of manufacturing,
or minimization of overall weight of a component, or maximization of net
profit earned, or maximization total life of a product, or others. Although
most of the above objectives can be quantified (expressed in a mathematical
form), there are some objectives that may not be quantified easily. For
example, the esthetic aspect of a design, ride characteristics of a car suspension
design, and reliability of a design are important objectives that one may be
interested in maximizing in a design, but the exact mathematical formulation
may not be possible. In such a case, usually an approximating mathematical
expression is used. Moreover, in any real-world optimization problem, there
could be more than one objective that the designer may want to optimize
simultaneously. Even though a few multi-objective optimization algorithms
exist in the literature (Chankong and Haimes, 1983), they are complex and
computationally expensive. Thus, in most optimal design problem, multiple
objectives are avoided. Instead, the designer chooses the most important
6 Optimization for Engineering Design: Algorithms and Examples
The final task of the formulation procedure is to set the minimum and the
maximum bounds on each design variable. Certain optimization algorithms
do not require this information. In these problems, the constraints completely
surround the feasible region. Other problems require this information in order
to confine the search algorithm within these bounds. In general, all N design
variables are restricted to lie within the minimum and the maximum bounds
as follows:
(L) (U )
xi ≤ xi ≤ xi for i = 1, 2, . . . , N .
Introduction 7
Figure 1.2 Illustration of the duality principle. The maximum point of f (x) is the
same as the minimum point of F (x).
(L)
In any given problem, the determination of the variables bounds xi and
(U )
xi may be difficult. One way to remedy this situation is to make a guess
about the optimal solution and set the minimum and maximum bounds so
that the optimal solution lies within these two bounds. After simulating the
optimization algorithm once, if the optimal solution is found to lie within
the chosen variable bounds, there is no problem. On the other hand, if any
design variable corresponding to the optimal solution is found to lie on or
near the minimum or the maximum bound, the chosen bound may not be
correct. The chosen bound may be readjusted and the optimization algorithm
may be simulated again. Although this strategy may seem to work only with
linear problems, it has been found useful in many real-world engineering
optimization problems.
After the above four tasks are completed, the optimization problem
can be mathematically written in a special format, known as nonlinear
programming (NLP) format. Denoting the design variables as a column
vector1 x = (x1 , x2 , . . . , xN )T , the objective function as a scalar quantity
f (x), J inequality constraints as gj (x) ≥ 0, and K equality constraints as
hk (x) = 0
1
The representation of the design variables in the above column vector helps
to achieve some matrix operations in certain multivariable optimization methods
described in Chapters 3 and 4.
8 Optimization for Engineering Design: Algorithms and Examples
(A1 to A7 ). Using the symmetry of the truss structure and loading, we observe
that for the optimal solution, A7 = A1 , A6 = A2 , and A5 = A3 . Thus, there
are practically four design variables (A1 to A4 ). This completes the first task
of the optimization procedure.
The next task is to formulate the constraints. In order for the truss to
carry the given load P = 2 kN, the tensile and compressive stress generated
in each member must not be more than the corresponding allowable strength
Syt and Syc of the material. Let us assume that the material strength for all
elements is Syt = Syc = 500 MPa and the modulus of elasticity E = 200 GPa.
For the given load, we can compute the axial force generated in each element
(Table 1.1). The positive force signifies tensile load and the negative force
signifies compressive load acting on the member.
AB − P2 csc θ BC + P2 csc α
Thereafter, the axial stress can be calculated by dividing the axial load
by the cross-sectional area of that member. Thus, the first set of constraints
can be written as
P csc θ
≤ Syc ,
2A1
P cot θ
≤ Syt ,
2A2
P csc α
≤ Syt ,
2A3
P
(cot θ + cot α) ≤ Syc .
2A4
In the above truss structure, tan θ = 1.0 and tan α = 2/3. The other set of
constraints arises from the stability consideration of the compression members
AB, BD, and DE. Realizing that each of these members is connected by pin
joints, we can write the Euler buckling conditions for the axial load in members
AB and BD (Shigley, 1986):
P πEA21
≤ ,
2 sin θ 1.281ℓ2
P πEA24
(cot θ + cot α) ≤ .
2 5.76ℓ2
Introduction 11
This shows the formulation of the truss structure problem (Deb et al.,
2000). The seven-bar truss shown in Figure 1.3 is statically determinate
and the axial force, stress, and deflection were possible to compute exactly.
In cases where the truss is statically indeterminate and large (for hand
calculations), the exact computations of stress and deflection may not be
possible. A finite element software may be necessary to compute the stress
and deflection in any member and at any point in the truss. Although similar
constraints can then be formulated with the simulated stresses and deflections,
the optimization algorithm which may be used to solve the above seven-bar
truss problem may not be efficient to solve the resulting NLP problem for
statically indeterminate or large truss problems. The difficulty arises due to
the inability to compute the gradients of the constraints. We shall discuss
more about this aspect in Chapter 4.
In some cars, the axle assembly is directly supported on the wheel. The
tyre of the wheel can also be assumed to have some stiffness in the vertical
direction. A two-dimensional dynamic model of a car suspension system is
shown in Figure 1.5. In this model, only two wheels (one each at rear
and front) are considered. The sprung mass of the car is considered to be
supported on two axles (front and rear) by means of a suspension coil spring
and a shock absorber (damper). Each axle contains some unsprung mass
which is supported by the tyre.
In order to formulate the optimal design problem, the first task is to
identify the important design variables. Let us first identify all the design
parameters that could govern the dynamic behaviour of the car vibration. In
the following, we list all these parameters:
Introduction 13
Figure 1.5 The dynamic model of the car suspension system. The above model
has four degrees-of-freedom (q1 to q4 ).
We may consider all the above parameters as design variables, but the
time taken for convergence of the optimization algorithm may be too much.
In order to simplify the formulation, we consider only four of the above
parameters—front coil stiffness kf s , rear coil stiffness krs , front damper
coefficient αf , and rear damper coefficient αr —as design variables. We keep
the other design parameters as constant:
The parameters ℓ1 and ℓ2 are the horizontal distance of the front and rear
axles from the centre of gravity of the sprung mass. Using these parameters,
differential equations governing the vertical motion of the unsprung mass at
the front axle (q1 ), the sprung mass (q2 ), and the unsprung mass at the
14 Optimization for Engineering Design: Algorithms and Examples
rear axle (q4 ), and the angular motion of the sprung mass (q3 ) are written
(Figure 1.5):
F1 = kf t d1 , F2 = kf s d2 , F3 = αf d˙2 ,
d1 = q1 − f1 (t),
d2 = q2 + ℓ1 q3 − q1 ,
d3 = q4 − f2 (t),
d4 = q2 − ℓ2 q3 − q4 .
The time-varying functions f1 (t) and f2 (t) are road irregularities as functions
of time. Any function can be used for f1 (t). For example, a bump can be
modelled as f1 (t) = A sin(πt/T ), where A is the amplitude of the bump and T
the time required to cross the bump. When a car is moving forward, the front
wheel experiences the bump first, while the rear wheel experiences the same
bump a little later, depending upon the speed of the car. Thus, the function
f2 (t) can be written as f2 (t) = f1 (t − ℓ/v), where ℓ is the axle-to-axle distance
and v is the speed of the car. For the above bump, f2 (t) = A sin(π(t−ℓ/v)/T ).
The coupled differential equations specified in Equations (1.2) to (1.5) can
be solved using a numerical integration technique (for example, a fourth-
order Runge-Kutta method can be used) to obtain the pitching and bouncing
dynamics of the sprung mass ms . Equations can be integrated for a time range
from zero to tmax .
After the design variables are chosen, the next task is to formulate the
constraints associated with the above car suspension problem. In order to
simplify the problem, we consider only one constraint. The jerk (the rate
of change of the vertical acceleration of the sprung mass) is a major factor
concerning the comfort of the riding passengers. The guideline used in car
Introduction 15
When the four coupled differential equations (1.2) to (1.5) are solved, the
above constraint can be computed by numerically differentiating the vertical
movement of the sprung mass (q2 ) thrice with respect to time.
The next task is to formulate the objective function. In this problem, the
primary objective is to minimize the transmissibility factor which is calculated
as the ratio of the bouncing amplitude q2 (t) of the sprung mass to the road
excitation amplitude A. Thus, we write the objective function as
0 ≤ kf s , krs ≤ 2 kg/mm,
0 ≤ αf , αr ≤ 300 kg/(m/s).
Thus, the above optimal car suspension design problem can be written in
NLP form as follows (Deb and Saxena, 1997):
subject to
0 ≤ kf s , krs ≤ 2,
0 ≤ αf , αr ≤ 300.
considered that the operation will remove 219,912 mm3 of material. The set-
up time, tool-change time and the time during which the tool does not cut
have been assumed as 0.15, 0.20 and 0.05 min, respectively. The objectives are
minimization of operation time (Tp ) and used tool life (ξ). The multi-objective
optimization problem formulation is given below (Deb and Datta, 2012):
Minimize F1 (x) = Tp (x),
subject to
P (x)
g1 (x) ≡ 1 − ≥ 0,
ηP max
Fc (x)
g2 (x) ≡ 1 − ≥ 0,
Fcmax
R(x)
g3 (x) ≡ 1 − ≥ 0,
Rmax
xmin
i ≤ xi ≤ xmax
i ,
where
( 0.20
)
1+ T (x)
Tp (x) = 0.15 + 219,912 + 0.05,
M RR(x)
219,912
ξ(x) = × 100,
M RR(x) T (x)
5.48(109 )
T (x) = ,
v 3.46 f 0.696 a0.460
125f 2
R(x) = .
rn
The objective ξ(x) is considered as the part of the whole tool life which is
consumed in the machining process, hence an operating condition that will
minimize this objective will use the machining task optimally. Here, R is the
surface roughness and rn is the nose radius of the tool. The constant parameter
values are given below:
Following variable bounds can be used for cutting speed, feed, and depth of
cut:
vmin = 250 m/min, vmax = 400 m/min,
fmin = 0.15 mm/rev, fmax = 0.55 mm/rev,
amin = 0.5 mm, amax = 6 mm.
1.2.2 Modelling
The next major application area of optimization methods is in modelling of
systems and processes that are often faced in engineering studies. Modelling
refers to a task that is used to describe a system or process in a manner
that can be later analyzed to gather further information about the system
or process. Often a crisp and clear idea about the working principle in any
reasonable scientific detail is usually not known for most engineering systems.
Take, for example, modelling a blast furnace in which steel is produced from
raw materials, such as iron ore, sinter, coke, etc. Given all the input materials
and their sizes and compositions that are fed into a blast furnace, the quality
of the produced steel after some hours of its operation cannot be written in
mathematical form in any accurate way. This is because the quality of the raw
materials is not uniform across their charges. Moreover, all heat and mass
transfer phenomena and chemical reactions may not be known appropriately.
In such a scenario, a mathematical modelling of such a system becomes a
difficult task. However, steel has been produced for more than 100 years and
there exists a plethora of data (input raw material information versus output
quality of steel production) with most steel plants. In such a scenario, there
are two types of modelling tasks that can be performed:
(i) Manipulation of governing equations: Whatever scientific
knowledge is available about the system or process, they can be used
by using some modification parameters. For example, if the following
system of (hypothetical) partial differential equations (PDEs) describes
a particular process:
∂E
= a11 x2 + a12 y,
∂x
∂E
= a21 xy 2 + a12 y 3 ,
∂y
then the difference between the predicted E values (obtained by solving
above equations) and the actual E values (obtained from practice) can
be taken care of by modifying the above PDEs as follows:
∂E
= β11 a11 x2 + β12 a12 y,
∂x
∂E
= β21 a21 xy 2 + β22 a12 y 3 .
∂y
18 Optimization for Engineering Design: Algorithms and Examples
In the above PDEs, the β-terms are unknown. We can then formulate
an optimization procedure to find a set of values of β-terms so that the
difference between simulated and observed E values is minimum:
( )2
Minimize f (β) = E observed − E simulated ,
subject to
E simulated = Solution (PDEs).
For a given point β in the search space, the above PDEs can be
numerically (or exactly, if possible) solved and simulated E values can
be found as a function of x and y. These simulated values can then be
compared with observed values from practice and the objective function
f (β) can be calculated. The optimization algorithm should drive the
search towards a solution β ∗ that would correspond to the minimum
possible difference. The advantage with such a procedure is that at the
end a mathematical expression of E(x, y) can be known and a further
analysis can be performed to optimize its performance and get useful
insights about an optimal operation of a system or a plant.
(ii) Use of non-mathematical techniques: Most recent modelling
tasks are performed using a non-mathematical procedure in which
instead of arriving at a mathematical function of the model, the
modelling information is stored in a network of entities or by some other
means. One such common approach is to use artificial neural networks
(ANN) (Haykin, 1999). In an ANN, a network of connectivities
between input and output layers through a series of hidden layers is
established. This is done by first choosing a network of connectivities
and then employing an ANN learning algorithm to arrive at optimal
connection weight for each connection link by minimizing the error
between ANN and observed output data. This process is called the
training phase of ANN. One popular approach is the use of back-
propagation learning algorithm (Rumelhart and McClelland, 1986).
The learning optimization task is achieved through an optimization
procedure. Both the tasks of finding the optimal connectivity and
the optimal connection weights can be achieved by other more
sophisticated ANN methodologies. However, at the end of the ANN
learning process, the optimal network is capable of providing output
value of a new input set accurately, provided the new test set
interpolates the training data well. Thus, such an ANN model can
be used to perform an analysis of the system or process for a better
understanding of the system.
Here, we illustrate a mathematical modelling task as an optimization problem.
Optimal design of an ammonia reactor
In an ammonia reactor design problem, feed gas containing nitrogen,
hydrogen, methane, argon, and a small percentage of ammonia enters the
bottom of the reactor (Figure 1.6).
Introduction 19
Thereafter, the feed gas rises till it reaches the top of the reactor. Then,
while moving downward, the nitrogen and hydrogen present in the feed gas
undergo reaction to form ammonia in the presence of a catalyst placed in the
reactor. The production of ammonia depends on the temperature of the feed
gas, the temperature at the top of the reactor, the partial pressures of the
reactants (nitrogen and hydrogen), and the reactor length. The modelling
task attempts to arrive at a mathematical governing reaction equations so as
to correctly predict certain problem parameters.
In this problem, for a given reactor length x, we identify three design
parameters—the molar flow rate of nitrogen per unit catalyst area NN2 , the
feed gas temperature Tf , and the reacting gas temperature Tg . In order
to maintain the energy balance of reactions in the reactor, three coupled
differential equations must be satisfied (Murase, Roberts, and Converse, 1970;
Upreti and Deb, 1997). First, the decrease in the feed gas temperature must
be according to the heat loss to the reaction gas:
dTf US1
=− (Tg − Tf ). (1.6)
dx WCpf
In Equation (1.6), U is the overall heat transfer coefficient, S1 is the
surface area of the catalyst tubes per unit reactor length, W is the total mass
flow rate, and Cpf is the specific heat capacity of the feed gas. Secondly, the
change in the reaction gas temperature must be according to the heat gain
from the feed gas and heat generated in the reaction:
dTg US1 (−∆H)S2
=− (Tg − Tf ) + fa
dx WCpg WCpg
( )
1.5pN2 pH2 pNH3
× K1 − K2 , (1.7)
pNH3 1.5pH2
20 Optimization for Engineering Design: Algorithms and Examples
pH2 = 3pN2 ,
286(2.23NN20 − 2NN2 )
pNH3 = ,
2.598NN20 + 2NN2
where NN20 is the molar flow rate of nitrogen per unit catalyst area at the top
of the reactor. We use the following parameter values:
fa = 1.
Note that all the above three ordinary differential equations (ODEs)
(1.6)–(1.8) are coupled to each other. In order to solve these equations, we
use the following boundary conditions:
Tf (x = 0) = T0 ,
Tg (x = 0) = 694 K,
The three constraints (Equations (1.6) to (1.8)) can be used to compute the
three parameters of the problem. By comparing these three parameters with
Introduction 21
their recorded values from an actual reactor, the chemical process can be
modelled. There are various practical reasons why the solutions of the above
ODEs usually do not match with the plant values. By using the objective
of the model optimization problem as minimization of the difference between
simulated parameter values and their actual plant values, we hope to represent
the model of the reactor with the ODEs. Thus, the NLP problem is as follows:
( )2
plant plant 2
Minimize NN2 − NN2 + (Tf − Tf ) + (Tg − Tgplant )2 ,
subject to
dTf US1
= −β1 (Tg − Tf ),
dx WCpf
Data fitting and regression analysis are activities commonly used by scientists,
engineers and managers. We often employ a software to help us find a fitted
curve on a set of data. If thought carefully, the software formulates and solves
an optimization problem to arrive at the fitted curve. For a set of given data
points (say (xi,p , y i,p ) for i = 1, 2, . . . , K) involving input variable set x and
output y, any curve y = f (x) is assigned an objective function as the sum of
the squared difference between the y i,p and f (xi,p ):
∑K ( )
i,p 2
i=1 f (x ) − y
Minimize i,p
. (1.9)
The decision variables are the coefficients of the fitted curve f (x). For a
single-input linear regression (y = ax + b), there are two decision variables a
and b. The minimization procedure will find a and b values that will make the
overall error between the fitted line and the supplied data points minimum.
The same idea can be extended to fit a curve of any sort. The regression task
can be made more generic, by keeping the nature of the curve y = f (x) also
as a part of the variable set. This domain then falls under the category of
modelling of systems which is discussed in the previous subsection.
22 Optimization for Engineering Design: Algorithms and Examples
Figure 1.7 A schematic of the overhead crane consisting of a trolley and a swaying
load.
N = M g + 2T cos(α),
where T is twice the tension in each cable, M is the mass (in kg) of the trolley,
and ẍ is the acceleration of the trolley in the x-direction. Performing a similar
task for the hanging load (of mass m kg), we have the following two equations:
−2T sin(α) − cẋ1 = mx¨1 ,
Here, lo is the length of the cable, α̇ and α̈ are the angular velocity and
acceleration of the cable. By eliminating T , x1 and y1 from the above
expressions, we get the following two equations of motion of the trolley and
the hanging mass:
[
ẍ = F − cẋ sin2 (α) + mlo sin(α)α̇2 + mg sin(α) cos(α)
]
−f (mlo cos(α)α̇2 − cẋ sin(α) cos(α) − mg sin2 (α))
cos(α)
α̈ = − (ẍ + rẋ + g tan(α)) − rα̇, (1.11)
lo
where r is the ratio of c to m. These two equations can be solved using a
numerical integration technique and the variation of x and α with time t can
be found.
A little thought of the problem makes it clear that the two objectives
(i) total energy supplied to the system and (ii) the total time for the block-
load system to reach the desired position and stabilize are the two conflicting
24 Optimization for Engineering Design: Algorithms and Examples
objectives. The supplied energy will be minimum for the case of moving ever
slowly towards the destination. But such a solution will require quite a long
time to complete the task. On the other hand, reaching the destination with
a large velocity and suddenly stopping at the destination would be a quick
way to reach the destination; however, some time needs to be elapsed for
the sway of the load to diminish. Although such a solution may not be the
quickest overall time solution, there would exist a solution with a reasonable
velocity which would minimize the overall time. Ideally, this is a two-objective
problem, but for the sake of our discussion here, we may formulate a single-
objective time minimization of the crane maneuvering problem:
Minimize Time = T ,
subject to
α(T ) ≤ ϵ.
Values x(T ) and α(T ) can be found by solving the differential equations given
in Equations (1.10) and (1.11) from suitable initial conditions. The parameter
ϵ is a user-specified small sway angle for a stable system at time T . The
decision variables of this problem are F (t) and ℓ(t).
Figure 1.8 (a) Ray coverage, (b) Ultrasound signal indicating TOF.
The simulation of TOF assumes that the ultrasound rays follow straight
paths from source to the detector. This assumption is reasonable when the
impedance mismatch within the specimen is small.
A solution to this problem is a configuration in which some cells are
occupied by foreign materials or voids (Kodali et al., 2008). The task of the
optimization is then to identify the cells with foreign materials or voids that
minimize the error between actual TOF and simulated TOF. The simulated
TOF for a ray r originating from j-th source and terminating at the k-th
detector is estimated using Equation (1.12):
∑M (r)
lm (j, k)
TOFsimulated (r) = , (1.12)
m=1
vm
where
M = number of cells intercepted by the ray,
(r)
lm (j, k) = length of ray intercepted by m-th cell along the ray path,
vm = velocity of propagation of ultrasound through the m-th cell.
where R is the number of rays that are considered. The optimization procedure
will then enable finding the size and location of voids or foreign material
embedded in a component.
Figure 1.10 shows a typical transit system network. The solid lines represent
different routes, the points on the lines represent the stops and the circled
intersections of the routes represent the transfer stations. The problem is to
determine schedules for the routes such that the transit system provides the
best level of service (LOS) to its passengers, within the resources available.
One of the good measures of the LOS is the amount of time passengers wait
during their journey—the lesser the waiting time, the better is the LOS
(Chakroborty et al., 1995). On any transit network, either the passengers
wait to board the vehicle at the station of origin or they wait at a transfer
Introduction 27
Figure 1.9 A typical schedule for a travelling salesperson problem with some
Indian cities.
station at which they transfer from one vehicle to another. For example, a
passenger wishing to travel from station A to station B (in the network shown
in Figure 1.10) will have to wait at station A to board a vehicle on Route 1.
Further, the passenger will have to wait at transfer station C to board a vehicle
on Route 3 (which will take him/her to the destination). We will refer to the
wait at station A as the initial wait time (IWT) and the wait at station C
as the transfer time (TT). A good schedule is one which minimizes the sum
of IWT and TT for all passengers. Thus, the optimization problem involves
finding a schedule of vehicles on all routes (arrival and departure times) such
that the total waiting time for the passengers is minimum.
28 Optimization for Engineering Design: Algorithms and Examples
The design variables in this problem are the arrival time aki and departure
time dki for the k-th vehicle at the i-th route. Thus, if in a problem, there are
a total of M routes and each route has K vehicles, the total number of design
variables is 2MK. In addition, there are a few more artificial variables which
we shall discuss later.
The constraints in this problem appear from different service-related
limitations. Some of these constraints are formulated in the following:
Minimum stopping time: A vehicle cannot start as soon as it stops; it has to
wait at the stop for a certain period of time, or
Maximum stopping time: A vehicle cannot stop for more than a certain period
of time even if it means increasing the total transfer time on the network, or
Figure 1.11 Transfers from the k-th vehicle in the i-th route to three consecutive
vehicles in the j-th route.
in the i-th route is not possible to the (l − 1)-th vehicle in the j-th route,
because the departure time of the latter vehicle (dl−1
j ) is earlier than that of
k,l−1 k,l
aki . Thus, the parameter δi,j takes a value zero, whereas the parameter δi,j
takes a value one. In order to simplify the model, we assume that transfers to
vehicles departing after the l-th vehicle in the j-th route are also not possible.
k,q
All parameters δi,j for q = (l + 1), (l + 2), . . . are also zero. Thus, between
any two vehicles, the following condition must be satisfied:
k,l
(dlj − aki )δi,j ≤T for all i, j, k and l.
It is clear that the left side expression of the above condition is zero for those
transfers that are not feasible. Since transfers only to the next available vehicle
k,l
are assumed, only one δi,j (for l = 1, 2, . . .) is one and the rest all are zeros
for fixed values of i, j, and k. Mathematically,
∑ k,l
δi,j = 1 for all i, j and k.
l
k,l
The introduction of the artificial variables δi,j makes the formulation easier,
but causes a difficulty. Many optimization algorithms cannot handle discrete
k,l
design variables efficiently. Since the artificial design variables δi,j can only
take a value zero or one, another set of constraints is added to enforce the
binary values:
k,l
(dlj − aki ) + M (1 − δi,j )≥0 for all i, j, k and l,
where M is a large positive number. The above constraint ensures that the
k,l
variable δi,j always takes a value one whenever a transfer is possible and the
value zero whenever a transfer is not possible. This constraint is derived purely
from the knowledge of the available optimization algorithms. There may be
other ways to formulate the concept of feasible transfers, but inclusion of such
artificial design variables often makes the understanding of the problem easier.
Maximum headway: The headway between two consecutive vehicles should be
less than or equal to the policy headway, hi , or
(ak+1
i − aki ) ≤ hi for all i and k.
30 Optimization for Engineering Design: Algorithms and Examples
The objective function consists of two terms: the first term represents
the total transfer time (TT) over all the passengers and the second term
represents the initial waiting time (IWT) for all the passengers. The objective
is to minimize the following function:
∑∑∑∑ k,l l
δi,j (dj − aki )wi,j
k
i j k l
∫ k−1
i −ai
ak
∑∑ [ ]
+ vi,k (t) (aki − ak−1
i ) − t dt.
i l 0
k
The parameter wi,j is the number of passengers transferring from the k-th
vehicle of the i-th route to the j-th route. The first term is obtained by
summing the individual transfer time (dlj − aki ) over all passengers for all
the vehicles for every pair of routes. The parameter vi,k (t) is the number of
passengers arriving at the stop for the k-th vehicle in the i-th route at a given
time t. Since the arrival time for passengers can be anywhere between t = 0
and t = (aki −ak−1
i ) (the headway), the initial waiting time also differs from one
passenger to another. For example, a passenger arriving at the stop just after
the previous vehicle has left has to wait for the full headway time (aki − ak−1
i )
before the next vehicle arrives. On the other hand, a passenger arriving at the
stop later has to wait for a shorter time. The calculation of the second term
assumes that passengers arrive at the stop during the time interval ak−1 i to
aki according to the known time-varying function vi,k (t), where t is measured
from ak−1
i . Then the quantity
∫ k−1
i −ai
ak [ ]
vi,k (t) (aki − ak−1
i ) − t dt
0
gives the sum of the initial waiting times for all passengers who board the
k-th vehicle of the i-th route. We then sum it over all the routes and vehicles
to estimate the network total of the IWT. Thus, the complete NLP problem
can be written as follows:
∑ ∑ ∑ ∑ k,l l
Minimize δi,j (dj − aki )wi,j
k
i j k l
∫ k−1
i −ai
ak
∑∑ [ ]
+ vi,k (t) (aki − ak−1
i ) − t dt
i l 0
subject to
smax − (dki − aki ) ≥ 0 for all i and k,
k,l
(dlj − aki ) + M (1 − δi,j )≥0 for all i, j, k and l,
hi − (ak+1
i − aki ) ≥ 0 for all i and k,
∑ k,l
δi,j = 1 for all i, j and k.
l
k,l
In the above NLP problem, the variables δi,j are binary variables taking
only a value zero or a one and other variables aki and dki are real-valued.
Thus, a mixed integer programming technique described in Chapter 5 or
genetic algorithms described in Chapter 6 can be used to solve the above
NLP problem (Chakroborty et al., 1995).
Data mining activities have become an inseparable part of any scientific work,
mainly due to the availability and ease of generation of data. When the data
generation task is expensive or tedious, data is usually generated in parallel
among various research groups and they are shared by scientists. In such an
activity, the first task is often to cluster the data into several categories to
establish which data from what source are related to each other. Optimization
is usually a tool employed for such a clustering activity. Here, we discuss such
a procedure.
Let us consider a two-dimensional data shown in Figure 1.12. When the
data is achieved, they are all jumbled together. One way to formulate an
optimization problem is to first decide on a number of clusters that the data
may be divided to. Then, for each cluster, a few parameters are used variables
for the optimization task. The parameters describe an affinity function for a
cluster. Say, for example, we define a simple affinity function for the i-th
cluster, as follows:
(x − xi )2 (y − yi )2
ci (x, y) = + .
a2i b2i
This is an equation of an ellipse with centre at (xi , yi ) and major and minor
axis values as ai and bi , respectively. Next, each data point (x, y) is tested for
each cluster affinity function Ci . The point is associated with that cluster for
which the affinity function value is minimum. This procedure will associate
every data point with a particular cluster. Point A (in the figure) may get
associated with Cluster 2.
Next, an intra-cluster distance (Diintra ) between all associated points of
each cluster is computed as follows:
1 ∑ √
Diintra = (x − xi )2 + (y − yi )2 . (1.14)
|Ci |
(x,y)∈Ci
Diintra
Minimize ,
Dinter
i
subject to
(xi , yi ) ∈ R,
where R is the specified range in which the centres of ellipses are supposed to
lie. The minimization will ensure that intra-cluster points are as close to the
centre as possible and all cluster centres are as far away from each other as
possible, thereby achieving the goal of clustering.
Prediction is another data mining activity which is used on a daily basis by
weather forecasters, share market predictors, etc. The task here is to model
the past few days (or weeks or months) of data and then extrapolate the
model to predict how the future is going to be for the next hours, days or
weeks. Since the modelling activity can be achieved through an optimization
problem-solving (as discussed before), the prediction activity can be achieved
using an optimization procedure.
algorithms work at finding the optimal solution in the search space, which
is not any arbitrary solution, they can be ideal candidates for arriving at an
intelligent solution. For example, consider the robot path planning problem in
which the task is to design the ‘brain’ of the robot which will help it to avoid
obstacles that may be moving and still reach a destination with minimum
time or using minimum energy or optimizing some other criterion.
The use of an optimization method to solve such problems causes an inher-
ent problem. The optimal path depends on how the obstacles will be moving
in a real scenario and unfortunately this information may not be known a
priori. One way to address such a task is to first develop an optimal ‘rule
base’ by performing an off-line optimization on several training cases. Once
the optimal rule-base is developed, the robot can then utilize it to navigate
in a real scenario. If sufficient training cases are considered, a fairly robust
rule-base can be developed. Figure 1.13 depicts the above-discussed off-line
optimization-based approach (Pratihar et al., 1999). On a set of instantia-
tions, an optimization algorithm is applied to find a knowledge base using
rules or by other means. The optimization task would find a set of rules or
classifiers which will determine the nature of the outcome based on the vari-
able values at any time instant. In the following, we describe the procedure
in the context of an on-line robot navigation problem. There are essentially
two parts of the problem:
(i) Learn to find any obstacle-free path from point A to B, and
(ii) Learn to choose that obstacle-free path which takes the robot in a
minimum possible time.
This process of avoiding an object can be implemented using a rule of the
following sort:
If an object is very near and is approaching, then turn right to the original path.
34 Optimization for Engineering Design: Algorithms and Examples
Figure 1.14 A schematic showing condition and action variables for the robot
navigation problem.
The angle and distance of a robot from a critical obstacle and its decision
on deviation, if any, are illustrated in Figure 1.14. Because of the imprecise
definition of the deviation in this problem, it seems natural to use a fuzzy logic
technique (Mendel, 2000) here. Table 1.2 shows a set of possible fuzzy rules.
The (1,1) position of the table suggests that if an obstacle is very near (VN)
to the robot and it is left (L) of the robot, the decision is to move ahead (A).
L AL A AR R
VN A AR AL AL A
Distance
N A A AL A A
F A A AR A A
VF A A A A A
This way, the rule-base shows every possible decision that the robot should
take in navigating in a real scenario. Finding what decision to take in every
combination of angle and distance is the task of an off-line optimization
algorithm. To extend the scope, the presence or absence of a rule for every
combination of angle and distance may be considered as another kind of
decision variable. The fuzzy rules involve membership functions that define
the attributes such as the extent of distance values for VN, N, etc. and also A,
L, etc. Triangular membership functions are commonly used for this purpose.
Introduction 35
This involves another set of decision variables as the width of the triangles
(such as parameters b1 and b2 shown in Figure 1.15). Thus, when a rule-
subject to
Path (rule-base) is obstacle-free.
Note that both Time and Path are functions of the rule-base and the elements
of the rule-base are decision variables of the optimization task.
one problem, but may perform poorly on other problems. That is why the
optimization literature contains a large number of algorithms, each suitable to
solve a particular type of problem. The choice of a suitable algorithm for an
optimization problem is, to a large extent, dependent on the user’s experience
in solving similar problems. This book provides a number of optimization
algorithms used in engineering design activities.
Since the optimization algorithms involve repetitive application of certain
procedures, they need to be used with the help of a computer. That is why the
algorithms are presented in a step-by-step format so that they can be easily
coded. To demonstrate the ease of conversion of the given algorithms into
computer codes, most chapters contain a representative working computer
code. Further, in order to give a clear understanding of the working of
the algorithms, they are hand-simulated on numerical exercise problems.
Simulations are performed for two to three iterations following the steps
outlined in the algorithm sequentially. Thus, for example, when the algorithm
suggests to move from Step 5 to Step 2 in order to carry out a conditional
statement, the exercise problem demonstrates this by performing Step 2 after
Step 5. For the sake of clarity, the optimization algorithms are classified into
a number of groups, which are now briefly discussed.
Single-variable optimization algorithms. Because of their simplicity, single-
variable optimization techniques are discussed first. These algorithms provide
a good understanding of the properties of the minimum and maximum
points in a function and how optimization algorithms work iteratively to
find the optimum point in a problem. The algorithms are classified into two
categories—direct methods and gradient-based methods. Direct methods do
not use any derivative information of the objective function; only objective
function values are used to guide the search process. However, gradient-based
methods use derivative information (first and/or second-order) to guide the
search process. Although engineering optimization problems usually contain
more than one design variable, single-variable optimization algorithms are
mainly used as unidirectional search methods in multivariable optimization
algorithms.
Multivariable optimization algorithms. A number of algorithms for uncons-
trained, multivariable optimization problems are discussed next. These
algorithms demonstrate how the search for the optimum point progresses in
multiple dimensions. Depending on whether the gradient information is used
or not used, these algorithms are also classified into direct and gradient-based
techniques.
Constrained optimization algorithms. Constrained optimization algorithms
are described next. These algorithms use the single-variable and multivariable
optimization algorithms repeatedly and simultaneously maintain the search
effort inside the feasible search region. Since these algorithms are mostly used
in engineering optimization problems, the discussion of these algorithms covers
most of the material of this book.
Introduction 37
to solve such problems (Deb and Sinha, 2010). Tri-level and higher-level
optimization problems are also possible.
Most optimization problems discussed in this chapter are deterministic
in nature, meaning that the objective function, constraint function or
parameters are fixed from the beginning till the end of the optimization run.
These problems are called deterministic optimization problems. However, as
discussed somewhat in Section 1.2.8, some problems may have dynamically
changing objective function or constraint function or parameters. While the
optimization run is in process, one or a few of the functions and parameters
may change. This happens usually if a system depends on the environment
(ambient temperature or humidity) and the process continues over most of the
day. The ambient condition becomes different from morning to noon. Thus,
the solution that was optimal during morning may not remain optimal in
the noon time. Such problems are called stochastic optimization problems,
or sometimes dynamic optimization problems as well. Although an off-line
optimization, as discussed in Section 1.2.8, is one approach, recent dynamic
optimization methodologies (Deb et al., 2007) are other viable and pragmatic
approaches.
At the end of the optimization process, one obvious question may arise:
Is the obtained solution a true optimum solution? Unfortunately, there is
no easy answer to this question for an arbitrary optimization problem. In
problems where the objective functions and constraints can be written in
simple, explicit mathematical forms, the Kuhn-Tucker conditions described
in Chapter 4 may be used to check the optimality of the obtained solution.
However, those conditions can only be used for a few classes of optimization
problems. In a generic problem, this question is answered in a more practical
way. In many engineering design problems, a good solution is usually known
either from the previous studies or from experience. After formulating the
optimal problem and applying the optimization algorithm if a better solution
than the known solution is obtained, the new solution becomes the current
best solution. The optimality of the obtained solution is usually confirmed by
applying the optimization algorithms a number of times from different initial
solutions.
Having discussed different types of optimization algorithms that exist to
solve different kinds of optimization problems, we suggest that for practical
applications there is always a need for customizing an optimization algorithm
for solving a particular problem. The reasons are many. First, there may
not exist a known efficient optimization algorithm for a particular problem at
hand. Second, the size and complexity of solving a problem using an algorithm
may be computationally too expensive for it to be pragmatic. Third, in
many scenarios, the user may not be interested in finding the exact optimal
solution, rather a reasonably good (or better than an existing solution)
may be adequate. In such scenarios, knowledge (or problem information)
about the current problem may be used to design a customized optimization
algorithm that is appropriate for the current problem (Deb, Reddy and Singh,
2003). Such optimization methods are often known as heuristic optimization
40 Optimization for Engineering Design: Algorithms and Examples
1.4 Summary
In order to use optimization algorithms in engineering design activities, the
first task is to formulate the optimization problem. The formulation process
begins with identifying the important design variables that can be changed
in a design. The other design parameters are usually kept fixed. Thereafter,
constraints associated with the design are formulated. The constraints may
arise due to resource limitations such as deflection limitations, strength
limitations, frequency limitations, and others. Constraints may also arise due
to codal restrictions that govern the design. The next task is to formulate
the objective function which the designer is interested in minimizing or
maximizing. The final task of the formulation phase is to identify some
bounding limits for the design variables.
The formulation of an optimization problem can be more difficult than
solving the optimization problem. Unfortunately, every optimization problem
requires different considerations for formulating objectives, constraints, and
variable bounds. Thus, it is not possible to describe all considerations in a
single book. However, many of these considerations require some knowledge
about the problem, which is usually available with the experienced designers
due to their involvement with similar other design problems.
The rest of the book assumes that the formulation of an optimization
problem is available. Chapters 2 to 6 describe a number of different
optimization algorithms—traditional and nontraditional—in step-by-step
format. To demonstrate the working of each algorithm, hand-simulations on
a numerical example problem are illustrated. Sample computer codes for a
number of optimization algorithms are also appended to demonstrate the ease
of conversion of other algorithms into similar computer codes.
REFERENCES