10 - Operation Research
10 - Operation Research
[MTH2C10]
STUDY MATERIAL
II SEMESTER
CORE COURSE
M.Sc. Mathematics
(2020 Admission onwards)
UNIVERSITY OF CALICUT
SCHOOL OF DISTANCE EDUCATION
CALICUT UNIVERSITY- P.O
MALAPPURAM- 673635, KERALA
190560
MTH2C10-OPERATIONS RESEARCH
SCHOOL OF DISTANCE EDUCATION
UNIVERSITY OF CALICUT
STUDY MATERIAL
SECOND SEMESTER
CORE COURSE:
MTH2C10-OPERATIONS RESEARCH
Prepared by:
Sri.Fedric Joseph
Assistant Professor
Department of Mathematics
St.Aloysius College, Thrissur
Scrutinized By:
MTH2C10-OPERATIONS RESEARCH
PRE-REQUISITES
A collection of n real numbers, taken in order such that the first number is the
value of x1, the second of x2, and so on, is called an ordered n-tuple of real
numbers. We may denote an ordered n-tuple by a single symbol X, so that
x=(x1, x2,…,xn) and a set of such n-tuples by Rn, so that
Rn={X|X=(x1,x2,…..,xn)}.
Definitions
1. Vector space:
Let V be a set such that if X, Y, Z V and a, b R, then the following
postulates (defining the binary operation of sum and the operation of product
with a real number) hold.
Sum:
i. X + Y V;
ii. X + Y = Y + X
iii. (X + Y) + Z = X + (Y + Z);
iv. There exists an element 0V, called the null or zero vector, such that
X + 0 = X;
v. There exists an element XV, called th additive inverse of X, such that
X + (X) = 0;
Product:
vi. a X V;
vii. a (X + Y) = a X + a Y;
viii.(a+b) X = a X + b X;
ix. (ab) X = a (bX);
x. IX = X.
Then V is called a vector space and its elements are called vectors.
1
2. Subspace of a vector space
A subset W of V is called a subspace of the vector space V if W is itself a
vector space with respect to the operations of sum and product defined in V.
3. Linear combination
Let Xi, i=1, 2, ……., m, be vectors of V. Then X is called a linear
m
combination of the vectors Xi, if X = a
i 1
i X i , ai R.
If, however, this is so only if ai = 0 for all i, then the vectors are said to be
linearly independent.
Let X1 = [21 3 2]’, X2 = [1 2 24]’, X3 = [4 3 76]’. Since X1+2 X2X3 = 0,
the vectors are linearly dependent. But x1, x2 linearly independent. So are
X2, X3.
5. Dimension of a vector space V.
V is said to be of dimension m if there exists at least one set of m linearly
independent vectors in V, while every set of m+1 vectors in V is linearly
dependent. The linearly independent set is called a basis of V.
6. Inner product and orthogonality.
The inner product <X, Y> of any two vectors X and Y of V is a real number
satisfying the following properties.
i. <X, Y> = <Y, X>;
ii. <X + Z, Y> = <X, Y> + <Z, Y>, Z V;
iii. <aX, Y> = a<X, Y>, a R;
iv. <X, X> 0 if X 0, <X, X> = 0 if X = 0.
Two nonzero vectors are said to be orthogonal if their inner product is zero.
2
7. Euclidean space
A vector space with an inner product defined on it is called a Euclidean
space.
n
For vectors of the vector space Rn, the expression X1Y = x
i 1
i yi
This basis is called the canonical or the natural basis of R3. Another basis of R3
is [1 0 0]1, [1 1 0]1, [1 1 1]1. For
3
x1 1 0 1
x a 0 b 1 c 1
2
x3 0 0 1
Note:
1. Cauchy – Schwarz inequality.
For any pair of n-vectors X, Y, |X1Y| < |X| |Y|
4
2. A particular n-vector XEn may be said to define a point X in space En with
the origin corresponding to the zero vector. Then |X| may be regarded as the
length of the vector X or the distance of the point X from the origin 0. A
vector with norm 1 is called a unit vector. A unit vector in the direction of X
is X/|X|.
|XY| = [(x1y1)2 + … + (xnyn)2]1/2 may be regarded as the distance
between the points X and Y, or the length of the vector from X to Y or Y to
X.
11.Consider a system of m linear equation in n unknowns x 1,x2,…,xn of the
form
a11x1 + a12 x2 + …. + a1n xn = b1
a21x1 + a22 x2 + …. + a2nxn = b2 (1)
am1x1 + am2x2 + …. + amn xn = bm, where aw and bi, i=1, 2…, m,
j=1, 2, …., n are real numbers. In matrix notation we may write (1)
as AX=B (2)
a11 a12 .... a1n
a a ... a
where A is the m x n matrix 21 22 2n
...................
am1 am 2 ...amn
B is the column vector B = [b1 b2 ….. bm]1, and X is the column vector
X = [x1, x2, …… xn]1
A vector “X which satisfies, the system of equations (1) is said to be a
solution of (1).
The system of equations (1) is said to be inconsistent if it has no solution,
otherwise it is consistent.
If B=0, equation (2) reduces to the homogeneous form AX=0.
12.-neighbourhood
The -neighbourhood of X in En is defined as the set of all points Y in En
such that |Y X| < , where >0, R.
5
13.Boundary point
X is a boundary point of the set S if every -neighbourhood of X contains
some which are in S and some which are not in S.
For example, in S1 = {X| | X | < 1}, S2 = {X | | X | < 1}, X E2, the points on
all its boundary points while S2 contains none of them. Thus the boundary
points of a set may belong to the set or may not. This leads to the concept of
closed and open sets.
14.Complement in En
If S En, the set EnS of all points which are in En but not in S is called the
complement of S.
15.Open and closed sets
A set is said to be closed if it contains all its boundary points, and is said to
be open if its complement is closed.
16.Bounded from below and above
A set S is bounded from below if there exist a Y in En with each component
finite, such that for every X in S, Y < X.
[Note: Y < X yj < xj, j = 1, 2, …, n.]
If the inequality in the above definition is reversed we get the definition of a
set bounded from above.
17.Bounded set.
A set S is bounded if there exists a finite real number M > 0 such that for all
X in S, |X| < M.
It can be proved that a bounded set a set bounded from below and above.
Example: the set S ={x|(x,-1)z + x2z < 4}, S E2
is bounded, since for every X, |X| < 3. It is bounded from above as for every
(x1, x2) in S, (x1, x2) < (3, 2). It is bounded from below as (x1, x2) > (1, 2).
S = {X| (x1 < x2, x1 > 0, x2 > 0}, S E2,
6
is bounded from below as for every X in S, X>0. But it is not bounded from
above. So it is not bounded.
18.Line, half line and line segment
Let X1, X2 be two points in S En.
The set L = {X|X = (1)X1 + X2}, R, is defined as a line in En passing
through X1 and X2.
If >0, the set L+ = {X|X = (1)X1 + X2} is called the half line originating
from the point X1.
By restricting to 0 < < 1, we get the set of points lying on the line
segment between X1 and X2.
19.Convex linear combination of two points.
The point X = (1)X1 + X2, 0 < < 1, is called the convex linear
combination of X1 and X2.
It is any point lying on the line segment joining X1 and X2.
20.Convex Sets
A set K En is said to be convex if the convex linear combination of any
two points in K belongs to K. In other words, K is convex if X1, X2 K X
K where X = (I‒)X1 + X2, 0 < < 1.
Some simple examples of convex and nonconvex sets in E2 are shown in Fig.
2 to give and intuitive idea. In each convex set every point P on the line
segment joining any two points in the set which does not satisfy this
condition, the set is not convex.
7
To take an example in En, consider S1 = {X| |X|<1}.
Let X1, X2 S1. Then |X1| < 1, |X2| < 1, and for 0 < < 1,
|X1 + ()X2| < | X1| + | (1)X2|
= |X1| + (1)X2 S1 S1 is convex.
21.Convex linear combination of points
m
Let Xi En, and let i be non-negative real numbers such that 1. Then
i 1
i
8
23.Vertices or extreme points of a convex set.
A point X of a convex set K is an extreme point or vertex of K if it is not
possible to find two points X1, X2, in K such that X = (1)X1 + X2, 0<<1.
A point of K which is not a vertex of K is an internal point of K.
24.Convex polyhedron
The set of all convex combinations of a finite number of points
X1, i=1,2,….,m, is the convex polyhedron spanned by these points.
25.Hyperplanes, half-spaces
Let X En, C (0) a constant row n-vector and R. Then we define
i. a hyperplane as {X|CX=};
ii. a closed half-space as {X|CX < };
iii. an open half-space as {X|CX<}.
26.Polytope
The intersection of a finite number of closed half-spaces is called a polytope.
The hyperplanes producing the half-spaces are called the generating
hyperplanes of the polytope.
27.Cone
The polytope generated by hyperplanes all of which intersect in one and only
one point is a cone.
9
28.Edge of a polytope
A line in a polytope is said to be an edge of the polytope if the line is the
only intersection of those generating hyperplanes which contain the line.
29.Supporting hyperplane
Let S be a nonempty set (not necessarily convex) and let CX= be a
hyperplane which meets S such that S is contained either in the half-space
CX< or in CX>. Then CX = is called a supporting hyperplane to the set
S.
30.Quadratic forms and definiteness
Let XEn, A homogeneous expression of the second degree of the form
f(X) c11 x12 c22x 22 ... cnn x 2n c12 x1 x 2 c13x1x 3 c23x 2 x 3 ...
The quadratic form x1 2x2 is positive for some values of x1, x2 and negative
2 2
for others. It is neither definite nor semi definite. It may be called indefinite.
10
DEFINITION
31.Real valued function
Let X be a vector in S, a subset of En.
If for every X there exists a unique real number f(X), then f(X) is said to be a
real valued function of X. In other words, it is mapping of S into R, the set of
real numbers. S is the domain of the function.
32.Continuous function
F(X) is said to be continuous at X0 if for each real number m>0 there exists a
real number >0 such that
|XX0 |< f(X) f(X0) |< .
It can be proved that f(X) is continuous at X0 if and only if
XX0f(X)f(X0).
If f(X) is continuous at every point in S, it is said to be continuous in S, S
being a subset of En.
33.Partial derivatives & gradient vector.
Let xj=[0 0….xj 0 0]1 be an n-vector in En with all its components zero
except the jth which is xj.
The partial derivative of f(X) with respect to any component x j of X is
defined as
lim f ( X x j ) f ( X )
,
x j 0 x j
34.Differentiability.
If f(X) has continuous partial derivatives with respect to each of its variables,
it is said to be differentiable.
11
35.Taylor series.
Let f(X) be a real-valued differentiable function of X in En. Let X + X be a
neighbouring point of X in En such that
X = [x1 x2 … xn]1
and X + X = [x1 + x1 x2 + x2 … xn + xn]1.
The Taylor series for a function of n variables may be written as
2
1
+ x1 x2 ... xn f + terms in third and higher powers of xj,
2 x1 x2 xn
1
f f f
We have f(x) = ... .
x1 x2 xn
2f 2f 2f
...
H(X) = x 2 x1 x 22 x 2x n
................................
2
f 2f 2f
x x x x ... x 2
n 1 n 2 n
12
37.The directions of f and f are respectively called the directions of
steepest ascent and steepest descent.
38.Global minimum and maximum.
f(x) is said to have a global minimum at X0 in S if for all X in S, f(X)> f(X0).
By reversing the inequality sign we get the definition of a global maximum.
39.F(X) is said to have a local or relative minimum at X0 in S if there exists a -
neighbourhood of X0, such that f(X) > f(X0) for all X in the neighbourhood.
Again, by reversing the sign of inequality we get the definition of a local or
relative maximum.
The word extremum (plural extrema) is used to indicate either maximum or
minimum.
40.Saddle point
The function f(Y,Z) is said to have a saddle point at (Y0, Z0)if
f(Y0, Z) < f(Y0,Z0) < f(Y, Z0) for all (Y,Z) in the neighbourhood of (Y0, Z0).
41.Relative extremum and constrained extremum
f(X) is said to have a relative extremum at X0 subject to constraints gi(X)=0
1=1,2,…….m, where each g;(X) is a real valued function if there is a -
neighbourhood N of X0 such that f(X) < f(X0) (maximum) or f(X) > f(X0)
(minimum) for every X in S1N. In either case X0 is a point of constrained
extremum of f(X).
42.Implicit function theorem
Let XEn. Let gi(X), i=1, 2, …, m, be m real-valued differentiable functions
in some neighbourhood of X0 in S En, and let,
gi(X0) = 0, i=1,2,…,m. (6)
Also let the Jacobian
g1 , g 2 ..., g m
0
x1 , x2 , ..., xm
13
at X0. Then there exists a neighbourhood N of (xm+10, Xm+20,…, xn0) and
functions 1, 2, …. m differentiable in N such that
xk = k (xm+1, xm+2, …., xn0), k=1,2,….,m,
is a solution of (6) in N giving xk0 at (xm+10, xm+20, …. Xn0)
43.Method of Lagrange multipliers
Let XSEn and f(X) be a real-valued differentiable function. Also let
gi(X)=0, i=1, 2, …, m, (7)
where each gi(X) is a real-valued differentiable function and for each X in S
the m x n matrix
g1
, i=1, 2, …, m, j = 1, 2, …., n, (8)
x j
14
MODULE – I
CHAPTER – 1
CONVEX FUNCTIONS
Convex functions
Let XKEn where K is a convex set. A function f(X) is said to be convex if
for any two points X1 and X2 in K,
f(X) < (1) f(X1) + f(X2) 0 < < 1,
for every X = (1) X1 + X2.
The function is said to be concave if the inequality sign is reversed or iff(X) is
convex.
Interpreting in E1, let x1, x2 be two points M and N respectively on the real line
(Plot 1) and let a convex linear combination of x1 and x2 be x which is any point
R on the segment MN. With f(x) as the curve shown, MA=f(x 1), NB = f(x2),
RP=f(x). If x=(1) x1 + x2, it is easy to see that RC = (1) f(x1) + f(x2).
Now RP < RC for all R lying in MN means that the curve is bulging out or
convex towards the real line. If this happen for all x1, x2 in a convex domain
[a, b] we say the curve f(x) is convex. If RP > RC f(x) is concave.
Plot : 1
15
It is important to note that the convexity or concavity of a function is defined
only when its domain is a convex set. The use of convex sets in this context
gives us regions in En which are in a sense ‘unbroken’ in each variable xj, j = 1,
2, …, n.
The following theorems are proved for convex functions. The corresponding
theorems for concave functions can be easily enunciated.
Theorem 3. Let XEn and let f(X) = X’AX be a quadratic form. If f(X) is
positive semi definte, then f(X) is a convex function.
Proof. Let X1, X2 be any two points in En, and let X = (1) X1 + X2, 0<<1.
Also let f(X) = X1AX be positive semidefine, that is, X1AX > 0 for any X En.
Then
(1) f(X1) +f(X2) f(X)
= (1) X11AX1 + X12AX2((1) X1 + X2)1 A((1)X1+X2)
= (1) X11AX1 + X12AX2 (1)2 X11AX12 X12AX2 2(1) X11AX2
= (1) (X11AX1+ X12AX2 2X11AX2)
= (1) (X1X2)1A (X1X2) > 0
because 0 < < 1 and X1X2 is any vector in En. Hence
f(X) < (1) f(X1) + f(X2)
which means f(X) is a convex function. Proved.
Theorem 4. Let KEn be a convex set, XK, and f(X) a convex function. Then
if f(X) has a relative minimum, it is also a global minimum. Also if this
minimum is attained at more than one point, the minimum is attained at the
convex linear combination of all such points.
Proof: Let f(X) have a relative minimum at X0, Let X1K. The for any >0 it is
possible to choose n, 0 < < 1, such that there exists X=X0 + (1)X1 lying
in the -neighbourhood of X0. By the definition of relative minimum, with X in
this neighbourhood.
16
f(X0) < f(X)
f(X0) < f(X0+(1)X1) < f(X0) + (1) f (X1), since f(X) is convex
(1) f(X0) < (1) f(X1)
f(X0) < f(X1), since 1 is positive,
f(X0) is a global minimum.
Let Y0 be another point where the minimum is attained. Then
f(X0) = f(Y0).
Since Y0 is a point in K, what is true of X1 is also true of Y0, and so
f(X0) < f(X0 + (1)Y0)
< f(0) + (1)f(Y0) = f(Y0)
f(X0) = f(X0 + (1)Y0)
Which means minimum is also attained at the convex linear combination of X0
and Y0. Thus the set of points where f(X) is minimum is a convex set and is
therefore a convex linear combination of points (not necessarily only two) in it.
Proved.
Theorem 5. Let f(X) be defined in a convex domain KEn and be differentiable.
Then f(X) is a convex function if and only if
f(X2) f(X1) > (X2X1)1f(X1)
for all X1, X2 in K.
Proof: First, for any X1, X2 in K let
f(X2)f(X1) > (X2X1)1f(X1)
Let X3 be any point in K such that
X1 = X2 + (1)X3, 0 < < 1.
Then, from hypothesis,
f(X3) f(X1) > (X3X1)1f(X1).
From the above two inequalities
f(X2) f(X1) + (1)f(X3) ‒ (1‒) f(x1)
> [(X2X1)1 + (1) (X3X1)1]f(X1)
17
f(X2) + (1) f(X3) f(X1) > [X2 + (1)X3X1]1f(X1) = 0
f(X2) + (1) f(X3) > f(X1) = f(X2 + (1)X3)
which means f(X) is a convex function.
To prove the converse, let f(X) be a convex function. Then for X1, X2 in K and
0 < < 1,
(1) f(X1) + f(X2) > f((1) X1 + X2)
f(X2) f(X1) > f((1)X1+ X2) f(X1)
18
Since f(X) is convex, from theorem 5,
f(X) f(X0) > (XX0)1f(X0) > 0.
which means f(X0) is a global minimum.
19
CHAPTER – II
GENERAL PROBLEM OF MATHEMATICAL
PROGRAMMING
In the mathematical model of the system occur variables X = (x1, x2, …., xn)
which can be controlled and varied, and parameters over which there is no
control. The latter are to be regarded as given constants. The limitation on X,
when put in mathematical terms, take the form of constraints of the type
gi(X) < 0, i=1, 2, …, p; gi(X) > 0, i=p+1, … r; gi(X) = 0, i=r+1, …, m; where
gi(X) are real-valued functions of X. In general the constraints can always be
put as
gi(X) < 0, i=1, 2, ...,m,
because
gi(X) > 0 gi(X) < 0,
gi(X) = 0 gi(X) > 0, gi(X) < 0.
It is also possible to convert an inequality into an equation by introducing an
extra variable with a constraint imposed on it. Thus
gi(X) > 0 gi(X) + xn+i = 0, xn+i > 0, (i)
and gi(X) > 0 gi(X) xn+i = 0, xn+i > 0 (ii)
The variable xn+i so introduced is called a slack variable. Many authors
distinguish between cases (i) and (ii) by calling xn+i in case (i) the slack variable
and in case (ii) the surplus variable. We, however, propose to use the term slack
to cover both cases.
The constraints X>0, usually referred to as nonnegativity conditions, often
occur in mathematical models of systems either because negative values of
variables do not make any sense and are therefore excluded from consideration
or because it is mathematically convenient to introduce some slack variables
with this constraint.
20
The performance, return, utility or whatever other objective is sought to be
achieved through the system is generally measured by a real-valued function
f(X). It is given various names in various problems, such as performance index,
utility measure, return function, objective function, gain, etc. We shall
throughout this book call it the objective function. The most advantageous or
optimum value of the objective function is sought to be achieved through a
mathematical solution. The value X0 of the variable X which makes f(X)
optimum is called the optimal value of X or the optimal solution. Usually the
optimum value of f(X) is the maximum or the minimum of f(X) under
constraints.
Mathematical programming is the general term used for such problems. The
general problem may be stated as follows.
Mathematical programming is the general term used for such problems. The
general problem may be stated as follows.
Let f(X), gi(X), i=1, 2, ….,m, be real-valued functions of X in En, and let S be
the subset of En containing all points satisfying the constraints.
gi(X) < 0, i=1, 2, ….., m; X > 0.
To find X0 in S such that f(X0) is a global minimum in S.
As explained above, we may introduce slack variables xn+i to put the constraints
as
gi(X)+xn+i = 0, xn+i > 0.
Then the total number of variables becomes n+m. We can state the general
problem in the following alternative form also.
To find X0SEn such that f(X0) is a global minimum in S and for all X in S
gi(X) = 0, i=1, 2, …,m; X>0.
It should however be remembered that n in the above statement is n+m of the
earlier statement and neither X nor gi are identical in the two cases.
21
If S is a convex set and f(X) and gi(X) are convex functions, the problem is said
to be of convex programming. The following theorem is significant in this
connection.
Theorem 7. Let XEn and let gi(X), i=1, 2, ….,m, be convex functions in En.
Let S En be the set of points satisfying the constraints gi(X) < 0, i=1, 2, ….,
m. Then S is a convex set.
Proof: Let X1, X2 be in S, and let X3 = X1+(1)X2, 0 < < 1. Since gi(X) is a
convex function and gi(X1) < 0, gi(X2) < 0,
gi(X3) = gi (X1+ (1)X2)
< gi(X1) + (1)gi(X2) < 0.
Hence X3 is in S and so S is a convex set.
22
CHAPTER – III
LINEAR PROGRAMMING
III.1 Introduction
The general problem of mathematical programming, described in chapter 2,
reduces to linear programming (LP) when the functions f(X), gi(X), i=1,2,….,m,
all are linear. So the problem of LP is to find a minimum (or maximum) of a
linear function subject to linear constraints.
23
the origin. So with (iii) and (iv). Constraint (v) however is the half-space of
points either on the line x1 + x2 = 1 or on that side of it which is opposite to the
origin. The intersection of all constraints (2) and (3) is the convex polygon
ABCDEFG (see Fig. 1). Any point X within the polygon or on its boundary
satisfies constraints (2) and (3). An infinity of such points exist. Our problem is
to find that point (or points) X0 within the polygon or on its boundary which
makes f(X) = 4x1 + 5x2 the maximum.
Consider the parallel straight lines that correspond to different values of f(X).
The lines f(X) = 8, 10, 12 cut through the polygon and f(X) = 16 just goes
through the point D. The line for values of f(X) greater than 16 will not intersect
the polygon at all. Therefore the maximum value, subject to the constraints, that
f(X) can have is 16, and it is attained at the point x1 = 7/3, x2 = 4/3, which is one
of the vertices of the polygon.
Suppose the problem were to find the minimum value of f(X) subject to the
same constraints. It can be seen that the line f(X) =4 just passes through the pint
A(1,0) and lines for smaller values of f(X) do not intersect the polygon. The
solution therefore would be min f(X) = 4 for X = (1, 0) which again is a vertex
of the polygon.
In both cases the point where f(X) attains its extreme value is unique and is a
vertex of the polygon.
24
Let us consider a slightly different case. Let f(X) be 2x 1+x2, and suppose the
maximum of f(X) subject to the same constraints has to be determined. The
answer in this case is f(X) = 6 with any point on the side DC of the polygon
giving this value. f(X) thus attains its maximum value at the vertex C(14/5, 2/5)
and also at D(7/3, 4/3) and also at every pint on CD, that is, any convex linear
combination of C and D.
The following features of the problem which are of fundamental significance
deserve notice.
(i) The set of solutions of (2) and (3) is a convex set with vertices.
(ii) f(X) is optimum (maximum or minimum) at a vertex of this convex
set, and if there are two such vertices, every convex linear
combination of the vertices is also a point where f(X) is optimum.
Constraints (2) are in the form of inequalities. Mathematically it is easier to deal
with equations, and theoretical discussion would be simpler if constraints coud
be written as equations. It can be done by introducing one slack variable in each
of the constraints. The resulting system of equations and constraints is.
Note that we introduce the slack variables in such a way that all of them, along
with the original variables, satisfy the non-negativity conditions (5).
We have replaced (2) and (3) with the equivalent conditions (4) and (5) but only
by increasing the number of variables. But any complication caused by this
25
increase is more than compensated by the fact that we have to deal with
equations now.
Let us examine equations (4) closely. These are five equations in seven
unknowns and therefore can have an infinity of solutions. Putting any two
variables zero, we get unique values for the rest of the variables, thus getting a
7
basic solution. There are C2 (=21) ways of choosing two variables as zero.
Table 1 gives all the 21 basic solutions of (4). The significant thing about these
solutions is that there are exactly seven solutions which are non-negative, and
these, so far as the values of x1 and x2 are concerned, correspond to the seven
vertices of the convex polygon we have obtained graphically. One can suspect
some theoretical relationship between such solutions of equations of constraints
and the solution to the LP problem. We shall establish such a relationship in the
following sections.
TABLE 1
No. X1 X2 X3 X4 X5 X6 X7 Vertices of Polygon
1 0 0 2 6 5 2 ‒1
2 0 ‒1 0 7 7 3 ‒2
3 0 6 14 0 ‒7 ‒4 5
4 0 5/2 7 7/2 0 ‒1/2 3/2
5 0 2 6 4 1 0 1 F
6 0 1 4 5 3 1 0 G
7 2 0 0 2 3 4 1 B
8 3 0 ‒1 0 2 5 2
9 5 0 ‒3 ‒4 0 7 4
10 ‒2 0 4 10 7 0 ‒3
11 1 0 1 4 4 3 0 A
12 14/5 2/5 0 0 7/5 22/5 11/5 C
13 7/2 ¾ 0 ‒7/4 0 19/4 ‒13/4
26
14 ‒6 ‒4 0 22 19 0 11
15 4/3 ‒1/3 0 11/3 13/3 11/6 0
16 7/3 4/3 7/3 0 0 3 8/3 D
17 4/3 10/3 22/3 0 ‒3 0 ‒11/3
18 5 ‒4 ‒11 0 8 11 0
19 1/3 7/3 19/3 3 0 0 5/3 E
20 ‒3 4 13 8 0 ‒5 0
21 ‒1/2 3/2 11/2 11/2 5/2 0 0
n
gi(X) =
j 1
aij xj bi; cj, aij, bi R; i=1, 2, …, m, j=1, 2, …, n.
27
a11 a12 ... a1n
a21 a22 ... a2 n
A
. . ... .
am1 am 2 ... amn
The equivalent form of the problem in ordinary notation is
n
Minimize f= c j x j , (6)
j 1
n
subject to j 1
aij xj = bi; i=1, 2, …, m, (7)
28
Replacing x2 by two variables x21, x22, such that x2 = x21‒x22, x21 > 0, x22 > 0,
putting all the constraints as equations by introducing slack variables x 4 and x5,
and changing the sign of the objective function, the problem takes the following
standard form.
Minimize =(f) = 2x1x21 + x22 + x3,
subject to 2x15x21 + 5x22 + 3x3 + x4 = 4,
3x1 + 6x21 6x22 x3 = 4,
x1, x21, x22, x3, x4, x5 > 0.
Theorem 1. The set SF of feasible solutions, if not empty, is a closed convex set
(polytope) bounded from below and so has at least one vertex.
Proof: SF is the intersection of the hyperplanes gi(X)=0, i=1,2,….., m, and the
set H={X|X>0}. All these are closed convex sets and H is bounded from below.
Hence SF is a closed convex set (polytope) bounded from below, and so it has a
vertex.
Alternatively, we can give a more direct proof of the convexity of SF as follows.
Let X1 and X2 be two feasible solutions. Then
X1 > 0, X2 > 0; (9)
and AX1 = B, AX2 = B. (10)
Let X be any convex linear combination of X1 and X2. Then
X=(1) X1 + X2, 0<<1,
> 0, from (9), (11)
Further AX = A (1) X1+X2]
29
= (1)AX1 + AX2 = B, from (10) (12)
(11) and (12) mean that X is a feasible solution. Thus the convex linear
combination of every two feasible solutions is a feasible solution. Therefore the
set of feasible solutions is a convex set.
30
Since Pj is a vector in Em, not more than m of the vectors P1, P2, …. Pn can be
linearly independent. Since the equations are assumed linearly independent,
exactly m of the vectors are linearly independent. Let these m vectors (suffixes
rearranged, if necessary).
P1, P2, P3, …, Pm.
That they are linearly independent means that there do not exist j R,
j=1,2,…,m, not all zero, such that
1P1 + 2P2 + … + mPm = 0.
On the other hand it is possible to find j, not all zero, such that
1P1 + 2P2 + … + mPm + m+r Pm+r = 0.
where Pm+r is any of the remaining vectors of the set. Thus the vectors P m+1,
Pm+2, …, Pn can be separately expressed as linear combinations of P1, P2, ….,
Pm, and s (14) can be rewritten as y1P1 + y2P2 + …. + ymPm = B
Suppose that the m-vector [1 2 3 … m]1 is the solution of the above
equations. Then the n-vector [1 2 … m0 0 … 0]1 is a solution of (14) or (7).
This is a basic solution of AX = B. The corresponding linearly independent
vectors P1, P2, …, Pm are a basis and the variables x1, x2, …, xm are the basic
variables.
31
which is a b.f.s. is an extreme point (or vertex) of SF.
Proof: That the point X belongs to SF is obvious. Suppose it is not an extreme
point. Then two points X1 and X2 different from X exist in SF such that
X = X1 + (1)X2, 0 < < 1,
that is, 1 = xj2 + (1)xj2, j=1,2,…,m,
and 0=xj1 + (1)xj2, j=m+1,…,n.
since X1, X2SF, xj1, xj2 > 0. Also 0<<1.
Hence xj1 = xj2=0, j = m + 1,…,n.
Therefore X1 = [x11 x21 … xm1 0 0 … 0]1,
X2 = [x12 x22 … xm2 0 0 … 0]1.
Since X1, X2 are solutions of “AX=B,
x11P1 + x21P2 + … + xm1Pm = B, (16)
x12P1 + x22P2 + … + xm2Pm = B. (17)
From (15) and (16),
(1x11) P1 + (2x21) P2 + … + (mxm1)Pm=0.
But P1, P2,…,Pm are, by hypothesis, linearly independent. Therefore
1=x11, 2 = x21,…,mxm1,
or X = X1,
which contradicts the assumption. Hence X is an extreme point. Proved.
Theorem 3. A vertex of SF is a basic feasible solution.
(This is the converse of theorem 2.)
Proof: Let X=[1, 2, …,n]1 be a vertex of SF. Then since XSF, X>0. Let r
of the j’ s, j=1,2,…,n, be nonzero, where r < n. since m < n, either r < m or
r > m. If r < m, X is obviously a b.f.s. and so the theorem holds.
If r > m, then we may put X as
X = [1 2 … m, 0 0 …0]1.
where j > 0 for j=1,2,….,r. Since Xis a solution of AX=B, we have
1P1 + 2P2 + … + mPr = B. (18)
32
As r > m, the vectors P1, P2, …, P, are not linearly independent.
Hence there exist scalars 1, 2,…,r not all zero such that
1P1 + 2P2 + … + rPr = 0.
Multiplying by c>0, we get c1P1 + c2P2 + … + crPr=0. (19)
From (18) and (19),
(1 + c1) P1 + (2 + c2)P2 + … + (r + cr)Pr = B. (20)
and (1 c1) P1 + (2 c2)P2 + … + (r cr)Pr = B. (21)
Choose c > 0 sufficiently small to make j + cj > 0 for j=1,2,…,r.
Then we conclude from (20) and (21) that
X1 = [1 + c1 2 + c2 … r + cr 0 0 … 0]1,
and X2 = [1 c1 2 c2 … r cr 0 0 … 0]1
are feasible solutions. We have now three feasible solutions, X, X1 and X2
which are related through.
1 1
X = X1 + X2
2 2
33
Proof: Two cases arise. Either SF is bounded or unbounded.
Case (i). SF is bounded. Then SF has vertices and every point in SF is a convex
linear combination of its vertices. Let X1, X2, …., XP be the vertices of SF.
Since SF is closed and bounded, f(X) is finite for all X in SF, and so there is a
point X0 in SF where f(X0) is minimum. X0 can be expressed as a convex linear
P P
combination of Xr, r=1,2,…,p, and so X0 = α X , α
r 1
r r
r 1
r 1, α r 0.
P P
Since f(X) is linear, f(X0) = f r r α r f X r
α X
r1 r 1
P
αr f X k f X k ,
r 1
34
Now consider f(X1). One of the two following situations can arise.
(a) For every X on any of the edges of Sc, f(X1) < f(X). In other words f(X)
does not decrease as increases where X=(1)X1 + Y, >0, and Y is
any fixed point on any of the edges.
If possible, let X0 in Sc be a point different from X1 such that f(X0) is
minimum for all X in Sc. We can find a hyperplane containing X0
intersecting all the edges of Sc and thereby producing a bounded polytope
SPSc. The vertices of SP are contained in the edges of Sc. From case (i)
f(X) has a minimum in the bounded polytop SP at one of the vertices of
Sp. Let Xv be such a vertex. Then since X0SP Sc, f(X0) < f(Xv). Also
f(Xv) < f(X0), for f(Xv) is minimum in SP. Hence f(X0) = f(Xv). But
f(X1) < f(Xv) because Xv I on an edge of Sc. Also f(Xv)<f(X1) because
f(Xv) is minimum in SP. Hence f(X0) = f(X0) which means f(X) is
minimum at X1 in Sc. Since SF Sc, in SF also f(X) is minimum at X1, a
vertex of SF.
(b) Along some edge of Sc f(X) decreases as increases. If this edge is
wholly the edge of SF, then f(X) decreases without limit along this edge,
and so f(X) has an unbounded minimum in SF.
If the edge is partly in SF, then for =0 we arrive at another vertex X2 of
SF with f(X2) < f(X1). We can now apply the same reasoning to X2 which
35
we have been applying to X1, namely that either f(X2) is minimum or f(X)
has an unbounded minimum or there is another vertex X3 of SF such that
f(X3) < f(X2). Since the number of vertices of SF is finite, proceeding like
this, if f(X) has not an unbounded minimum, we shall arrive at some
vertex of SF for which f(X) is minimum.
Proved.
Theorem 5. If f(X) is minimum at more than one of the vertices of S F,
then it is minimum at all those points which are the convex linear
combinations of these vertices.
Proof: Let X1, X2, …., Xk be the vertices of SF where f(X) is minimum.
Then f(X1) = f(X2) = … = f(Xk).
Let Y be any convex linear combination of these vertices. Then
k k
Y= r X r , r 1, r 0,
r 1 r 1
k
k
and since f(X) is linear f(Y) = f β r X r β r f X r
r 1 r 1
k
= β f X f X
r 1
r 1 1
III.8. Summary
If the set SF of feasible solutions is empty, the problem has no solution. If SF is
nonempty, it is a convex set (polytope) with vertices corresponding to the basic
feasible solutions. These are finite in number as they are a subset of basic
solutions which are at most n C m in number.
36
The convex set SF may be bounded or unbounded. If bounded, it is a convex
polyhedron, and the problem has a solution with f(X) attaining its minimum
value at a vertex.
If SF is unbounded, f(X) may have a finite minimum at a vertex. Or else f(X)
may tend to in which case the solution is unbounded.
37
The m x m matrix on the left side is nonsingular because the basic vectors
which are the columns of this matrix are linearly independent. Premultiplying
both sides by its inverse, we get.
or
Equations (22) which are equivalent to (7) are called the canonical form of the
equations provided bi 0, i 1,2,..., m. Corresponding to each feasible basis we can
get a canonical form, and vice versa. The advantage of putting the equations in a
canonical form is that the basis and the corresponding b.f.s. can be immediately
known. Since the b.f.s. should have zero values of nonbasic variables, putting
xm+1 = xm+2 = …= xn = 0 in (22), we get the b.f.s. as b1 b2 b3 ,... bm 0 0 ... 0. Thus the
right side of (22) gives the values of the basic variables.
Using (22) we can eliminate the basic variables from the objective function (6)
and get
m n
f(X) = b i ci c j xj (23)
i 1 j m 1
m
where C j C j ci a ij , j m 1,...., n.
i 1
It may be noted that the above formula for c j , holds even for j=1,2,…,m, it can
be seen to give zero values for c which is right because xj, j=1,2,….,m, have
been eliminated from (6), and therefore their coefficients in (23) are zero. The
advantage of this form is that the value of f(X) for the present b.f.s. is
38
m
immediately obtained as b
i 1
i ci . The coefficients c j , j m 1, ..., n, are called the
Equations (25) are four equations in six variables. Two of the variables,
arbitrarily chosen, can be given zero values to obtain a basic solution. To obtain
a b.f.s. (or a vertex of the convex set of feasible solutions) zero variables have to
be so chosen that the other variables are non-negative.
1 First canonical form. Equations (25) are in canonical form which gives a
b.f.s as
x1=0, x2 = 0, x3 = 2, x4 = 6, x5 = 5, x6 = 2;
and the corresponding value of as
= 4x1 5x2 = 0. (27)
Both x1 and x2, the nonbasic variables in terms of which is expressed, are
zero. If either of them is made positive, will decrease because the coefficients
of x1 and x2 in (27) are negative. So at this stage is not minimum. It can be
39
decreased by changing the basis so as to include x1 or x2 in place of some other
variable which is in the present basis. Let us decide to bring x2 into the basis. It
would be equally reasonable to decide in favour of x 1. But which variable to
drop (or be given zero value)? Examining (25) the following are the alternatives
(keeping x1=0).
i. Put x3 =0; then x2 = 1, x4=7, x5=7, x6=3. This is not a feasible solution.
ii. Put x4=0; then x2 = 6, x3=14, x5=7, x6=4. This is also not feasible.
iii. Put x5=0; then x2 = 5/2, x3=7, x4=7/2, x6=1/2. This is also not feasible.
iv. Put x6=0; then x2 = 2, x3=6, x4=4, x5=1. This is a feasible solution.
So, the greatest value that can be given to x2 without making the solution non-
feasible is 2. Putting x2 = 2 would mean putting x6=0 which means x6 goes out
of he basis.
It is easy to discover a simple rule for deciding which variable to drop. Consider
the ratios 2/(2), 6/1, 5/2, 2/1 of the right-hand side constant of each of the
equations (25) to the coefficient of x2 in that equation. Of the positive ones the
least is 2/1 corresponding to the last equation which determines the maximum
value which can be given to x2 bringing it into the basis without forcing any
other variable to become negative. This also indicates that x 6 should be dropped
from the basis. The negative ratio need not be considered because in the
corresponding equation x2 can be made as large as we please without forcing
any other variable in that equation to become negative.
II Second canonical form. The new basic variables should therefore be x3, x4,
x5, x2. The canonical form for this basis can be obtained by eliminating x 2 from
the first three of the equations (25) with the help of the last, and writing the
equations such that the coefficient of each basic variable in its respective
equation is 1. The required form is
40
From this canonical form we get the second b.f.s. as
x3 = 6, x4=4, x5 = 1, x2=2, x1 = 0, x6 = 0.
Also we eliminate x2 from (24) and express in terms of the nonbasic variables
x1 and x6 as
+10=9x1+5x6. (29)
This gives the value of for the present b.f.s. as 10. Notice that since is
expressed in terms of the nonbasic variables which are zero, the constant term
occurring in (29) directly gives the value of . It is an improvement on the first
value. Can we reduce it further? Yes, by bringing x1 into the basis because the
coefficient of x1 in (29) is negative. But which basic variable to drop? The
relevant ratios to be examined in (28) are 6/(1), 4/3, 1/3, 2/(1). Keeping the
negative ratios out of consideration for reasons already explained, the least ratio
is 1/3 which corresponds to the third of equations (28). So to bring x 1 into the
basis x5 should be dropped.
III Third canonical form. The new basic variables are x1, x2, x3, x4 and the
corresponding canonical form is
41
and expressed in terms of the nonbasic variables is
+13=3x2 x6. (31)
The b.f.s. is x1=1/3, x2=7/3, x3=19/3, x4 = 3, x5=0, x6=0.
The coefficient of x6 in (31) is negative and so can be futher decreased by
bringing x6 back into the basis. The ratios to be observed now are 19/4, 3/1, 7/1;
the fourth one being negative is out of consideration. Out of these 3/1 is the
least. So x6 should replace x4.
IV Fourth canonical form. The new basic variables are x 1, x2, x3, x6 and the
corresponding canonical form is
42
III. 12. Simplex tableau
The numerical work explained in the last section can be economically organized
in a form known as the simplex tableau. The following is the simplex tableau
for the proceeding example.
I Basis B P1 P2 P3 P4 P5 P6
X3 2 1 -2 1
X4 6 2 1 1
1 X5 5 1 2 1
X6 2 -1 1 1
0 -4 -5
X3 6 -1 1 2
X4 4 3 1 -1
2 X5 1 3 1 -2
X2 2 -1 1 1
10 -9 5
X3 19/3 1 1/3 4/3
X4 3 1 -1 1
3 X1 1/3 1 1/3 -2/3
X2 7/3 1 1/3 1/3
13 3 -1
X3 7/3 1 -4/3 5/3
X6 3 1 -1 1
4 X1 7/3 1 2/3 1/3
X2 4/3 1 -1/3 2/3
16 1 2
43
The first column shows the iteration number I. The second and the third
columns give the variables in the basis and their values (vector B). the
succeeding columns give the vectors P1, P2, … of canonical form, which means
that row-wise the entries in these columns are the coefficients of x1, x2, … in the
equations. (For this reason sometimes it is more convenient to write x 1, x2, … in
place of P1, P2, … at the top of these columns). For example, the first numerical
row in the above table records the first equation in the first canonical form (I=1)
which is the equation with 1 as the coefficient of x1, 2 as the coefficient of x2,
1 as the coefficient of x3, and 2 as the right side constant. The equation for the
objective function is also written as a row, putting in the column for basic
variables, its value with sign changed in the next column, and the relative cost
coefficients of the nonbasic variables in the respective columns. The equation
for is read, say for I=2, as +10 = 9x1 + 5x6, [compare (29)].
The following sequence of steps constitutes one iteration leading from one b.f.s.
to another. (I=1 is taken as an example).
i. Examine the relative cost coefficients. If all are non-negative, the current
solution is optimal.
ii. If not, pick out the numerically largest negative coefficient (5). The
vector corresponding to it (P2) is to be brought into the basis. The
corresponding basic variable is x2.
iii. Divide each element of vector B by the corresponding elements of the
chosen column vector (P2). Out of the positive ratios choose the least
(2/1). The corresponding basic variable (x6) has to go out of the basis.
iv. If all the ratios are negative, it means that the value of the incoming
variable (whatever it is), can be made as large as we please without
violating the feasibility condition. It follows that the problem has an
unbounded solution. Iteration stops.
44
v. Replace x6 by x2 in the basic variables column in the table for the next
iteration I=2 and rewrite the equation against it so that the coefficient of
x2 is 1. Eliminate x2 from the rest of the equations in such a way that the
coefficients of the basic variables x3, x4, x5 remain 1.
vi. Eliminate x2 from the equation for also so that it is expressed in terms
of the new nonbasic variables x1, x6 only. The entry in the third column
of the equation gives the value of at this stage.
vii. Thus the table for I=2 is complete. Go to (i).
45
x1+x2> 1,
x1 + 4x2 > 2,
x1, x2 > 0.
Introducing the slack variables,
46
values. Then the values of the variables other than the artificial ones should
constitute a b.f.s. of the original problem which can become the starting point of
iterations for that problem.
Table 3 is the simplex tableau for this example. In phase I we solve the auxiliary
problem. Its optimal solution gives the starting b.f.s. for the original problem. At
the beginning of phase II we drop the columns for the artificial variables and the
row for the function g(X), and carry on the iterations for minimizing f(X). It is
convenient to carry the equation for f(X) through phase I also, so that when we
start on phase II the expression for f(X) in terms of the nonbasic variables at that
stage is readily available.
Phase I starts with the basic variables x3, x4, x7, x8 and so g(X) should be
expressed in terms of the non basic variables as g(X)3=2x15x2+x5+x6.
Phase Basis B P1 P2 P3 P4 P5 P6 P7 P8
X3 6 2 1 1 0 0
X4 5 1 2 1 0 0
X7 1 1 1 -1 0 1
X8 2 1 4 0 -1 1
g -3 -2 -5 1 1
f 0 4 5 0 0
X3 11/2 7/4 1 0 ¼ -1/4
X4 4 1/2 1 0 ½ -1/2
X7 1/2 3/4 -1 ¼ 1 -1/4
X2 1/2 ¼ 1 0 -1/4 1/4
g -1/2 -3/4 0 5/4 -5/4
f -5/2 11/4 0 5/4 -5/4
X3 5 1 1 1 -1 0
X4 3 -1 1 2 -2 0
X6 2 3 -4 1 4 -1
X2 1 1 1 -1 1 0
g 0 0 0 1 1
47
f -5 -1 5 -5 0
X1 2/3 1 -4/3 1/3
X2 1/3 1 1/3 -1/3
X3 13/3 1 7/3 -1/3
X4 11/3 1 2/3 1/3
f -13/3 11/3 1/3
In general we define the auxiliary (or phase I) problem for the LP problem
(6)(8) as
m
Minimize g(X) = x
i 1
n i
n
subject to a
j1
ij x j x n i bi , i=1,2,…,m,
X > 0,
where X=[x1x2,…xnxm+1…xn+m]1, xn+i being called the artificial variables.
In this problem min g(X) = 0 if and only if xn+i=0 for all i. Hence if we solve
this problem by the simplex method we get its solution as g(X)=0 only if in its
optimal b.f.s. the artificial variables are zero. The optimal values of the rest of
the variables, being non-negative, will then satisfy the constraints of the original
problem. Moreover, not more than m of these being nonzero, they will
constitute a basic feasible solution of the original problem providing a starting
point for its solution by the simplex method.
If min g(X) > 0, the conclusion is that there is no feasible solution of auxiliary
problem with the values of the artificial variables as zero, and consequently no
feasible solution of the original LP problem.
As an alternative to solving the problem in two phases, it is also possible to
solve it in one phase after the artificial variables have been introduced. We
48
describe one such method, popularly called the big M method. In this method
m
the original objective function f is replaced by F=f+M x n i
i 1
where xn+i are the artificial variables and M is an arbitrary large number as
compared to the coefficients in f. This modified objective function F is
minimized subject to the constraints of the original problem. It can be shown
that if in the optimal solution of the modified problem all the artificial variables
are zero, then that is also the optimal solution of the original problem. If,
however, in the optimal solution of the modified problem all the artificial
variables are not zero, the conclusion is that the original problem is not feasible.
If the modified problem is found to have an unbounded minimum, then the
original too, if feasible, is unbounded.
To solve the numerical problem of this section by the big M method, we may
take the objective function as F=4x1 + 5x2 + 100 (x7+x8).
The iterations would be the same as in table 3 except that the successive rows
for F (instead of for f or g) will be as follows:
B P1 P2 P3 P4 P5 P6 P7 P8
F -300 -196 -495 100 100
F -105/2 -289/4 100 -95/4 495/4
F -5 -1 5 95 100
F -13/3 11/3 1/3 289/3 299/3
49
equal and the least. In that case a tie occurs as to which variable to drop. One
can arbitrarily decide in favour of one, but then it turns out that the variables
which tied with it and continue to remain in the basis also become zero. In other
words, one or more of the basic variables too have zero value. Such a case is
called degenerate.
The difficulty appears in the next iteration when we find that the variable to be
brought into the basis and the variable to be dropped both are already zero. The
basis, theoretically, is changed, but the value of the objective function remains
the same. Geometrically it may be interpreted as the case of two coincident
vertices. We change from one to the other but substantially remain where we
were. In most cases we go ahead with our iterations and find that following the
procedure we eventually change to a substantially different basis which gives an
improved value of the objective function, and we finally get the optimal
solution.
It may, however, happen that the successive iterations only make us go through
a number of (one or more) degenerate bases to arrive back at the degenerate
basis from which we started.
We get into a cycle with no apparent way to get out of it. This situation presents
some difficulty, but procedures have been discovered to overcome it. Such a
situation is very rare. It is claimed that in thousands of linear programming
models solved by the simplex method, some of them very large, there is not a
case when degeneracy has proved a hurdle. The procedure recommended to deal
with such a hurdle, if it occurs, is therefore of theoretical interest, and so we
shall omit its discussion.
50
preceding canonical form. It is possible to get it for any basis directly from the
original equations (6) and (7). This we proceed to explain.
Suppose (x1,x2,….xm, 0, 0… 0) is a b.f.s. To express f(X) in terms of the non
basic variables xm+1, xm+2, …., xn, we may eliminate the basic variables x1, x2, …
xm from (6) with the help of (7). With this object in view let us multiply each of
the equations (7) by constants 1, 2, …..m respectively and add them to (6).
m
m
m
m
We get C1 ai1 i x1 c2 ai 2 i x2 .... cn ain i xn f bi i . (34)
i 1 i 1 i 1 i 1
Choose 1, 2, …. m such that the coefficients of x1, x2,….xm vanish, that is, let
m
a
i 1
ij i c j , j=1, 2, …, m. (35)
m
Where c j c j ai j i , j=m+1,…,n. (37)
i 1
(35) are m equations in m unknowns i, and on solution give the required values
of i. In matrix notation we may put (35) as
A10 = C’0
where
a11 a12 .... a1m
a a .... a
A 0 21 22 2m
, = [1, 2 … m]1, C0 = [c1 c2 … cm].
. . . . . . . . . . . . .
am1 am 2 .... amm
Hence
= [A10]1 C10 = [A01]1C10’
or 1 = C0A01. (38)
Here we have defined as a column vector and C0 as a row vector. 1, C01, A01
are the transpose of the respective vectors and matrix. The vector is called the
51
multiplier vector and its components the simplex multipliers. To calculate at
any stage the inverse of A0, the matrix of basic vectors at that stage, is needed.
Having calculated i for any basis, the value of the objective function for that
basis is given by
m
f bi i , (39)
i 1
because the terms in (36) involving the nonbasic variables x m+1, xm+2, …, xn are
zero for the simple reason that the variables themselves are zero.
The above discussion is of theoretical interest in a general case when A0 is any
m x m matrix. For, to get A01 or to solve equations (35) for i, i=1,2,…m,
means essentially the same thing, and may not be easy. However, where A0
arises from constraints converted into equations through slack variables, it
becomes easy to read A01 and from the tables of the original equations and
equations in the canonical form with respect to the basis under consideration.
As an example, consider the problem of section 13 and its solution obtained in
table 3. The table below shows the initial form of the problem after introducing
slack variables, and the final canonical form which gives the optimal solution.
We shall show how A01 and the simplex multipliers for the optimal solution
can be read off from the table 4.
Basis Value x1 x2 x3 x4 x5 x6
x3 6 2 1 1
x4 5 1 2 1
x5 1 1 1 -1
x6 2 1 4 -1
f 0 4 5
x1 2/3 1 -4/3 1/3
x2 1/3 1 1/3 -1/3
x3 13/3 1 7/3 -1/3
x4 11/3 1 2/3 1/3
f -13/3 11/3 1/3
52
x1, x2, x3, x4 being the basic variables in the optimal solution, the problem is to
find A01 where A0 is the matrix of the coefficient of these variables in the initial
form, namely.
2 1 1 0
1 2 0 1
A0 =
1 1 0 0
1 4 0 0
A0-1 operating on the initial matrix of coefficients produces the final matrix of
coefficients, that is
2 1 1 0 0 0 1 0 0 0 4 / 3 1 / 3
1 2 0 1 0 0 0 1 0 0 1 / 3 1 / 3
A01 1 1 0 0 1 0 0 0 1 0 7 / 3 1 / 3
1 4 0 0 0 1 0 0 0 1 2 / 3 1/ 3
or, taking only the submatrix of the last four columns on either side,
1 0 0 0 0 0 4 / 3 1/ 3
0 1 0 0 0 0 1 / 3 1 / 3
A01
0 0 1 0 1 0 7 / 3 1 / 3
0 0 0 1 0 1 2/3 1/ 3
Since the inverse of a diagonal matrix with diagonal entries 1 or 1 is the matrix
itself, we get
0 0 4 / 3 1 / 3 1 0 0 0
0 0 1 / 3 1 / 3 0 1 0 0
A0 =
1
1 0 7 / 3 1 / 3 0 0 1 0
0 1 2/3 1 / 3 0 0 0 1 / 3
0 0 4 / 3 1 / 3
0 0 1 / 3 1 / 3
or A0 =
1
1 0 7 / 3 1/ 3
0 1 2 / 3 1 / 3
The rule for determining A01 boils down to this. Observe the columns in the
original form which constitute a diagonal matrix with 1 or 1 on the diagonal.
53
The matrix of columns corresponding to them in the final form multiplied by
this diagonal matrix gives the require inverse.
To get the simplex multipliers, by (38)
0 0 4 / 3 1 / 3
0 0 1 / 3 1 / 3
[1 2 3 4] = [4 5 0 0] = [0 0 11/3 1/3]
1 0 7 / 3 1/ 3
0 1 2 / 3 1 / 3
Even otherwise, we can directly observe that the row for f in the final form can
only be obtained from the initial form by multiplying the initial rows of the
coefficients by 0, 0, 11/3, 1/3 respectively and adding to the initial row for f.
n
subject to a
j 1
ij x j > bi, i=1,2,….,m, (44)
54
that the above form is quite general follows from the fact that constraints in
other form can always be put in form (44). For, an inequality of the type
a
j
ij x j bi can be put as a
j
ij x j bi , and an equation of the type a
j
ij x j bi
For example, the example of section 3 can be written in the present standard
form as
Definition 4. If the primal LP problem is in the form (43), (44), (45), then its
dual is defined as the following LP problem.
m
subject to a
i 1
ij yi c j , j 1,2,..., n, (47)
55
The above definition implies the following correspondence between the primal
in the standard form (43), (44), (45), and its dual.
Primal Dual
n n variables n constraints
m m constraints m variables
cj, j=1,2,…n cost coefficients constraint constants
bi, i=1,2,…m constraint constants cost coefficients
variables xj > 0, j==1,2,…n yi > 0, i=1,2,…m
n m
constraints
a ij x j bi
j1
a
j1
ij yj cj
n n
objective function minimize c j1
j xj maximize b
j1
i yi
As an example, to write the dual of the example of section 3 we first put it in the
standard form (43), (44), (45), as has been done above. We then write the dual
as
Maximise = ‒4y1 + 2y2 + 4y3 ‒ 4y4,
subject to ‒2y1 + 3y2 + y3 ‒ y4 < ‒ 2,
5y1 + 6y2 + y3 ‒ y4 < ‒ 1,
‒5y1 ‒ 6y2 ‒ y3 + y4 < 1,
‒3y1 ‒ y2 + y3 ‒ y4 < 1,
y1, y2, y3, y4 > 0.
We can simplify the above statement of the problem by noticing that y3, and y4
occur throughout as y3 y4, and so y3 y4 can be regarded as a single variable.
Let it be denoted by a single symbol, say y3, (It does not mean that we are
making the statement y3y4=y3. It is convenient to call the new variable y3
because the other two variables are y1 and y2. We could use any other symbol).
56
Since the original y3 and y4 are both non-negative, y3y4, is unrestricted, and so
the new variable y3 is unrestricted. The problem can now be written as
Maximise = ‒4y1 + 2y2 + 4y3,
subject to ‒2y1 + 3y2 + y3 < ‒ 2,
5y1 + 6y2 + y3 < ‒ 1,
‒5y1 ‒ 6y2 ‒ y3 < 1,
‒3y1 ‒ y2 + y3 < 1,
y1, y2 > 0, y3 unrestricted.
We further notice that the second and third constraints are equivalent to one
equation. Therefore we may write the above problem as
Maximise = ‒4y1 + 2y2 + 4y3,
subject to ‒2y1 + 3y2 + y3 < ‒ 2,
5y1 + 6y2 + y3 < = ‒ 1,
‒3y1 ‒ y2 + y3 < 1,
y1, y2 > 0, y3 unrestricted.
This is the dual of the primal problem of section 3 which, for better comparison,
we write below.
Maximise f = ‒2x1 ‒ x2 + x3,
subject to ‒2x1 + 5x2 ‒ 3x3 > ‒ 4,
3x1 + 6x2 ‒ x3 > 2,
x1 + x2 + x3 = 4,
x1, x3 > 0, x2 unrestricted.
The interesting point to note in the above primal and dual problems is that the
third constraint in the primal is an equation while the third variable in the dual is
unrestricted, and the second variable in the primal is unrestricted while the
second constraint in the dual is an equation. (for general statement of this
property see problems 27, 28).
If we generalize the statement of the standard LP problem to admit that some of
the constraints (44) may be equations and the rest inequalities of > type, then we
57
get the following rule regarding constraints and variables in the primal and the
dual.
Primal Dual
ith constraint > type yi > 0
ith constraint = type yi unrestricted
xj > 0 jth constraint < type
xj unrestricted jth constraint = type
MODULE II
DUALITY (Continued)
58
Proof: Let us introduce the necessary slack variables in the primal (43), (44),
(45) and the dual (46), (47), (48). We obtain
Let x1, x2 …. xn+m, and y1, y2, …., ym+n be any feasible solutions of the primal
and the dual respectively. Multiply the primal constraints by y1, y2, …. ym
respectively and add, also multiply the dual constraints by x 1, x2, .., xn
respectively and add. Thus we obtain two equations. Subtracting one from the
other we get.
f = x1ym+1 + x2ym+2 + …. + xnym+n + y1xn+1 + y2xn+2 + … + ymxn+m.
Since all the variables on the right-hand side are non-negative (they are
components of feasible solutions),
f > 0. Proved.
Corollary. It immediately follows from above that
min f(X) > max (Y).
Theorem 8. The optimum value of f(X) of the primal, if it exists, is equal to the
optimum value of (Y) of the dual.
Proof. After introducing slack variables in (44) we get.
n
a
j 1
ij x j xn i bi , i 1, 2, ..., m.
59
Let the primal have the optimal solution (x1, x2, …. xn, xn+1, …., xn+m). Since it
has to be a basic feasible solution, at least n of these numbers are zero. Let 1,
2, …., m be the simplex multipliers for this solution. Then, as in (34), f(X) for
this b.f.s. is given by
m n
m
m
f(X) +
i 1
i i
b
j 1
c j ij i
i 1
a
x j i xn i .
i 1
is,
m
cj + a
i 1
ij i 0, j=1, 2, …, n; i>0, i=1,2,…,m;
m
or ai j i c j , i 0.
i 1
The last two inequalities mean that (1, 2, …., m) is a solution of (47),
(48), that is, a feasible solution of the dual. Corresponding to this solution, from
(46).
m
(Y) = bi π i min f(X).
i 1
Thus we have found a feasible solution of the dual such that min f(X) = (Y),
which, by corollary of theorem 7, is possible only when min f(x) = max (y).
Hence this solution of the dual is optimal. Proved.
Theorem 9. The negative of the simplex multipliers for the optimal solution of
the primal are the values of the variables for the optional solution of the dual;
and the simplex multipliers for the optimal solution of the dual are the values of
the variables for the optimal solution of the primal.
The proof of the first part is implied in the proof of theorem 8, and the second
part can be proved likewise.
60
Theorem 10. If the primal problem is feasible, then it has an unbounded
optimum if and only if the dual has no feasible solution, and vice versa.
Proof: Let the primal have an unbounded optimum. It means f(X) has no lower
bound, or in other words, there is no number which is less than all possible
values of f(X).
If possible, let the dual have a feasible solution. Then is a definite number
corresponding to that solution, and by theorem 7 < f(X). This contradicts the
conclusion in the last paragraph. So the dual has no feasible solution.
Conversely, let the primal be feasible and the dual infeasible. Let f(X) have a
minimum (not unbounded) for feasible X. By theorem 8, min f(X) = max (Y)
over feasible values of Y. Thus a feasible Y exists which contradicts the
assumption that the dual is infeasible. Therefore f(X) has an unbounded
minimum.
Since the dual of the dual is the primal, the theorem is true if the words dual and
primal are interchanged in its enunciation. Proved.
Theorem 11. If, in the optimal solutions of the primal and the dual, (i) a primal
variable xj is positive, then the corresponding dual slack variable ym+j is zero;
and (ii) if a primal slack variable xn+i is positive, then the corresponding dual
variable yi is zero; and vice versa.
Proof: It follows from theorem 7 and 8 that for the optimal solutions xj, j =1, 2,
…., n, n+1, …. n+m, of the primal, and yi, i=1,2,… m, m+1, … m+n, of the
dual.
x1ym+1 + x2ym+2 + … + xnym+n + y1xn+1 + y2xn+2 + … + ymxn+m = 0
Since an optima solution is feasible, all xj > 0, all yi > 0. Hence all the terms in
the expression on the left side above are non-negative, and since their sum is
zero, each term separately should be zero. It follows that in a term like x j ym+j, if
xj>0 then ym+j=0, and if ym+j>0 then xi=0. Also in a term like yixn+i, if xn+i>0 then
yi=0, and if yi>0 then xn+i=0. Proved.
61
These conditions are called the complementary slackness conditions. In words
they can be stated as follows.
In the optimal solutions of the primal and the dual,
(i) If the jth primal variable xj>0, then the corresponding dual constraint is
satisfied as an equation, or, in other words, the constraint is ‘tight’ (since
its slack variable ym+j is zero), and vice versa; and
(ii) If the ith primal constraint is satisfied as a strict inequality, or, in other
words, the constraint is ‘slack’ (since its slack variable xn+i is positive),
then the corresponding dual variable yi is zero, and vice versa.
This theorem is sometimes helpful in determining the optimal solution of the
primal from the optimal solution of the dual, or vice versa.
Its dual is
Minimize = 20y1 + 20y2,
Subject to 2y1 + 3y2 > 3,
2y1 + y2 > 2,
y1 + 2y2 > 1,
3y1 + 2y2 > 4,
y1, y2 > 0.
This is a two-variable problem whose solution can be obtained geometrically as
y1 = 1.2, y2 = 0.2, =28.
After introducing the slack variables, the primal and dual constraints are
62
2x1 + 2x2 + x3 + 3x4 + x5 = 20,
3x1 + x2 + 2x3 2x4 + x6 = 20,
Substituting the optimal values of y1 (=1.2) and y2 (=0.2) in the dual constraints,
it follows that the slack variables
y3 = y6 = 0, y4 > 0, y5 > 0.
Thus the second and the third constraints are satisfied as strict inequalities, and
so the corresponding primal variables should be zero, that is, x 2 = 0, x3=3. Also
since the dual variables y1>0, y2>0, it follows that the corresponding primal
constraints should be tight, that is, x5 = x6 = 0. The primal constraints thus
reduce to
2x1 + 3x4 = 20,
3x1 + 2x4 = 20,
which give x1 = 4, x4 = 4. The optimal solution of the primal is therefore
x1=x4=4, x2 = x3 = 0, f=28.
63
variables. Since the two get interchanged in the dual problem, if the constraints
in the primal far outnumber the variables, then it is generally economical to
solve the dual.
It is also possible under certain conditions to avoid the introduction of artiial
variables to obtain an initial b.f.s. and thus avoid Phase I part in the simplex
procedure. If the introduction of slack variables in the primal leads to a non-
feasible basic solution of the primal, but the introduction of slack variables in
the dual provides a basic feasible solution of the dual, then also it may be
economical to solve the dual. What is more interesting is that in such a case it is
also possible to start on the simplex tableau of the primal with a nonfeasible
basic solution, and proceed with the iterations with a modified algorithm which
finally leads to the optimal solution, provided the cost coefficients satisfy a
certain condition. The procedure which we explain in the next section is
particularly useful when additional constraints are introduced in a problem after
the optimal solution has been obtained under the original set of constraints and
the objective is to find the optimal solution to the modified problem without
starting work from the very beginning.
64
cost coefficients b i of the dual are all non-positive. We would have then arrived
at the optimal solution. To get the optima basis of the primal from the optimal
basis of the dual we shall have to use theorem 9.
It is possible to abridge this procedure by applying a slightly modified algorithm
to the primal tableau wherein we start with a non-feasible basic solution but
with non-negative cost coefficients. This modified procedure is called the dual
simplex method.
Let us write the simplex tableau (table 5) for the primal problem (43)(45) with
a basis consisting of slack variables. We assume that some b i>0 (that is, the
values of some basic variables are negative) and all cj>0. The dual simplex
method consists in changing a negative basic variable in such a way that the
value of the new basic variable in its place would be positive, and the relative
cost coefficients for the changed basis till remain non-negative.
For example, let br>0 so that the corresponding basic variable xn+r is negative.
Also let some coefficients arj be negative. Let, in particular, arp < 0. We may
replace xn+r by xp in the basis by dividing the rth equation by arp and
eliminating xp from all other equations and also from the last row giving the
expression for f in terms of the nonbasic variables and relative cost coefficients.
This change should be such that no relative cost coefficient becomes negative.
This will be so when
a rj
cj cp > 0, j=1,2,…,n+m,
a rp
cr c
or r over all those j for which arj < 0.
arj arp
65
min c j c p
or , arj<0.
j arj arp
This leads to the determination of p. The value of the new basic variable x p
would be (br)/(arp) which is positive. If for br < 0, there is no arj<0, the
problem is infeasible.
We may change the basis in this way step by step, one basic variable in each
iteration, till all the basic variables come to have non-negative values. Thus we
shall arrive at a basic feasible solution which is optimal.
Notice that in this method we move through a set of points which are not primal
feasible taking care all the time that the relative cost coefficients remain non-
negative so that the moment we arrive at a feasible basis, we find ourselves at
the optimal.
Table 7 gives the iterations by the dual simplex algorithm leading to the optimal
solution x1 = x2 = 0, x3 = 2 and the optimum value of f=4.
66
one-band model. If the company were to produce only two-band models, it
could manufacture 150 units per week. The company is licensed to produce in
all not more than 250 units per week. The market survey has shown that no
more than 100 pieces of two-band model per week could be sold. The company
is also committed to supply at least 50 pieces of one-band model per week. If
the net profit on the sale of one-band model is Rs. 10 per piece, and on the two-
band model Rs. 15 per piece, how should the company plan its production to
maximize profit?
The problem is to determine the number of one-band and two-band model
radios which the company should produce per week to eam maximum profit.
Let these be x1, x2 respectively.
Since the profit from the sale per piece of one-band model is Rs. 10, and of two-
band is Rs. 15, the total profit per week on x1 and x2 pieces of the two models
respectively will be 10x1 + 15x2, which it is sought to maximize. This therefore
is the objective function to be maximized.
As for the constraints:
i) The production capacity of the company is such that if only two-band
radios were to be produced, it will be able to produce only 150 units per
week. It takes twice as much time to produce a two-band model as to
produce a one-band model.
Therefore x1 pieces of one-band model use the same manufacturing
1
capacity as x1 pieces of two-band model. The total capacity used is
2
1
therefore x1 + x2 which cannot exceed 150. Hence
2
1
x1+x2<150
2
ii) Since the company is licensed to produce in all not more than 250 pieces
per week.
x1+x2<250
67
iii) Since the demand per week of two-band radios is not more than 100, the
company should not produce more than 100 of this type. Hence
x2 < 100
iv) Also since the manufacturer has a commitment to supply at least 50 one-
band models per week.
x2<50
v) Finally since a solution in which either x1 or x2 has negative values has no
practical significance (making negative number of articles is senseless),
x1, x2 should be non-negative.
x1 > 0, x2 > 0
Summing up, the mathematical model of the problem which should be
solved to provide answer to the company’s problem is
Maximize f=10x1 + 15x2
1
Subject to x1 + x2 < 150
2
x1 + x2 < 250
x2 < 100
x1 > 50
x1 > 0, x2 > 0
This is a two-variable LP problem easily solvable graphically or by the simplex
method. Its solution can be found to be x1 = 200, x2 = 50 with the maximum
value of f as 2750. Interpreting in the words of the original problem, the
company should manufacture 200 one-band models and 50 two-band models
per week to earn the maximum possible profit of Rs. 2750.
Example 2:
A company manufactures three products, A, B and C. Each product has to
undergo operations on three types of machines, M1, M2, M3 before they are
ready for sale. The time that each product requires on each machine, and the
68
total time per day available on each machine are given in the following table.
The table also shows the net profit per unit on the sale of the three products.
Formulate the mathematical model for this problem to maximize the total net
profit of the company per day, and obtain its solution.
69
Maximize f=4x1 + 3x2 + 5x3
Subject to x1 + 2x2 + x3 < 480
2x1 + x2 < 540
x1 + 3x3 < 510
x1 > 0, x2 > 0, x3 > 0
(The solution of this problem by the simplex method is left to the student).
The solution is x1 = 231, x2 = 78, x3 = 93, with f=1623. Thus the company
should manufacture 231 units of A, 78 units of B and 93 units of C per day.
With this production schedule it will earn the maximum possible profit of Rs.
1623 per day.
Example 3: The manager of an agricultural farm of 80 hectares learns that for
effective protection against insects, he should spray at least 15 units of chemical
A and 20 units of chemical B per hectare. Three brands of insecticides are
available in the market which contain these chemicals. One brand contains 4
units of A and 8 units of B per kg and costs Rs. 5 per kg, the second brand
contains 12 and 8 units respectively and costs Rs. 8kg, and the third contains 8
and 4 units respectively and costs Rs. 6 per kg. It is also learnt that more than
2.5 kg per hectare of insecticides will be harmful to the crops. Determine the
quantity of each insecticide he should buy to minimize the total cost for the
whole farm.
Let the quantity of each of the three insecticides used be x1, x2, x3 kg per
hectare. Since the cost of these three is Rs. 5, 8 and 6 per kg respectively, the
total cost per hectare would be 5x1 + 8x2 + 6x3. This is the objective function to
be minimized.
The first brand of insecticide contains 4 units of chemical A per kg, the second
12 units and the third 8 units. Hence the total content of chemical A is 4x 1 +
12x2 + 8x3 units which should not be less than 15. Hence
70
4x1 + 12x2 + 8x3>15
Similarly the constraint provided by the content of chemical B is
71
The optimal solution is x1 = 15/8, x2=5/8, x3=0, with f=115/8. Hence the
manager must buy for each hectare 15/8 kg of the first brand of the insecticide
and 5/8 kg of the second brand and none of the third. The cost will be Rs. 115/8
per hectare, or Rs. 1150 for the whole farm.
72
CHAPTER – IV
TRANSPORTATION
IV. 1. Introduction
We shall consider in this chapter some linear programming problems which
have special mathematical structure. The general method of solving an LP
problem, namely, the simplex method, can be applied to them. But their special
features have led to the discovery of simpler algorithms for their solution.
Because of the occurrence of fairly large number of physical situations whose
mathematical formulation conform or can be made to conform to these special
structures, these problems have assumed considerable importance and have
been given special names-the transportation problem and the assignment
problem.
ai b j
i 1 j 1
(1)
73
transportation is minimum? Or in more general terms, what is the flow with
minimum cost?
Let xij be the flow from Oi to Dj. Then the total outflow at Oi and the total
inflow at Dj are respectively.
n m
x
j 1
ij and x
i 1
ij ,
and therefore
n
x
j 1
ij = ai, i=1,2,…,m, (2)
m
and x
i 1
ij = bj, j=1,2,…,n. (3)
Also since the flow, in order to be meaningful, should be either zero or positive,
we further impose the condition.
xij > 0 for all i and j. (4)
The cost of flow is
n m
f= cij xij (5)
j 1 i 1
where cij is the cost of unit flow from Oi to Dj. The problem is to find xij subject
to (1), (2), (3) and (4) which minimize the objective function (5). Equation (2)
and (3) and the objective function are linear in xij. Therefore it is an LP
problem. It can be solved by the simplex method. Because of the special
structure of the problem, a simpler algorithm has been discovered by which a
basic feasible solution can be obtained, its optimality or non-optimality can be
tested, and, if non-optimal, a change can be made to another basic feasible
solution which is nearer the optimal.
74
IV. 3. Transportation Array
Some special features of the constraint equations in the transportation problem
are very well revealed when the equations are visualized in the array form (table
1). Also, as we shall see later, the simplex method of solution when applied to
the transportation problem reduces to very simple rules of computation if the
equations are written in the array form. Therefore for theoretical as well
practical reasons the transportation array is useful.
Visualized in the array form, equations (2) may be called the row equations and
equations (3) the column equations. There are m rows and n columns in the
array, providing mn number of cells, one for each of the variables. The cell in
the ith row and the jth column, which we cal the (i,j) cell, is the position of the
variable xij. The constants ai and bj are placed respectively in an additional
column on the right and an additional row below.
Table 1
In some discussions it may not be necessary to refer to ai and bj, and in such
cases we shall consider the array to consist of only the mn number of (i,j) cells.
It is also not necessary to explicity write xy in the (i,j) cell. For example, the
transportation array for m=3, n=4 would be as in table 2.
Table 2
75
IV. 4. Transportation matrix
Though the array is the most useful form of representation of the transportation
equations, their matrix representation is also useful to bring out some of their
important features. To put them in their matrix form, it is convenient to multiply
one set of constraint equations, say equations (3), by-1, and put them as
(6)
The advantage of this form will become evident as we proceed. The above
equations, in the matrix form, are
TX=B. (7)
where X is the column vector of elements xij which are mn in number. The
column vector B has m+n elements, m of the type ai and n of the type –bj. The
matrix T is of order (m+n) x (mn).
To get a clear idea of the form of T, let us write equations (6) more explicity for
the particular case m=3, n=4, as follows.
(8)
(9)
76
P11, P12, … have been written above the matrix to denote the column vectors of
T corresponding to x11, x12,…. for future reference. It is obvious that each
column of T has one entry +1, another −1, and all others zero. The general form
of T can be written as
(10)
Where Ii, i=1,2,…., m, is an m x n matrix in which all entries in the ith row are
+1 and all other entries are zero, and Ui is an nxn unit matrix. It is important to
note that each column of T contains two and only two nonzero entries, one +1
and the other −1.
The correspondence between a variable xij and a column in T should also be
borne in mind. For every xij there is a column in T which gives the coefficients
of that variable in the set of equations (6).
77
basic solution will consist of at most m+n−1 of the variables having nonzero
values.
We now enunciate and prove a theorem about the transportation problem which
provides a simple method of obtaining a basic solution.
78
So in every case N > m + n. But, as we have already seen, N = m + n – 1. This
is a contradiction. Therefore the assumption that there are at least two basic
variables in each row and column is wrong. There is therefore at least one
equation, row or column, in which there is only one basic variable.
Let the rth row equation be such an equation and let x rc, the variable in the rth
row and the cth column, be the only basic variable in it. Then xrc = ar. Eliminate
this equation from the system by deleting the rth row equation and putting
xrc = ar in the cth column equation. The rth row then stands cancelled, and bc is
replaced by bc1 = bc−ar.
The resulting system consists of m−1 row equations and n column equations, of
which m + n – 2 are linearly independent. Therefore, the number of basic
variables in this system is m + n – 2. Repeating the earlier argument we
conclude that there is an equation in this reduced system which has only one
basic variable. If this equation happens to be the cth column equation, in the
original system the cth colmn equation now contains two basic variables. So we
conclude that the original system has an equation which has at most two basic
variables. Continuing with this line of reasoning we next prove that there is an
equation with at most three basic variables, and so on. We thus prove the
theorem.
Alternative proof. Referring to the matrix T, it has m + n rows but is of rank m
+ n – 1. Deleting a row from T we are left with a matrix T with m + n – 1 rows,
and it should be possible to find m + n – 1 columns in this matrix which are
linearly independent. Let A be the (m + n – 1) x (m + n – 1) matrix with such
linearly independent columns. Each of these columns can at most have two non
zero entries, one +1 and the other −1. If all the columns have two non zero
entries, then the sum of the rows will be a zero row, and so the matrix A will be
singular which would mean that its columns are not linearly independent. This
will be a contradiction. Hence all the columns cannot have two non zero entries.
79
The total number of non zero entries in A should therefore be less than 2 (m + n
– 1). Since there are only m + n – 1 rows in A and each row must contain at
least one non zero entry (otherwise A will not be non singular), there should be
at least one row with one non zero entry. This means there should be an
equation with only one basic variable. Eliminating this equation from the
system, we are left with a nonsingular matrix of order m+n‒2, and repeating the
argument we must find an equation in this system containing only one basic
variable, the original system then having an equation with at most two basic
variables. Repeating the argument we prove that the basic variables constitute a
triangular system of equations.
We have given two proofs because it is important for the reader to clearly
understand the correspondence between the matrix and the array of the
transportation problem.
The theorem provides a very simple method of testing whether a given set of
m + n – 1 variables is a set of basic variables. For example, for m=3, n = 4,
consider the two different sets of six variables shown in tables 3 and 4. We shall
test in each case whether they form a triangular set of equations. Considering
table 3 first, there is an equation containing only one variable; it is the column
equation j=4. Let us
Table 3 Table 4
x11 x12 x11 x12
x21 x23 x21 x22
x33 x34 x33 x34
cross out this column, implying thereby that the variable x34 is eliminated from
the equations. In the remaining array, the row equation i=3 contains only one
variable, namely x33. Crossing out this row, we are left with an array in which
column equation j=3 contains only one variable x23. Crossing out the column
80
j=3, in the remaining array the row equation i=2 has only one variable x21.
Crossing out this row, the column equations of the remaining array contain only
one variable each. These variables therefore form a triangular set of equations,
and so the variables are basic.
Turning to table 4, we cross out the column j=4 which contains only one
variable. In the remaining array the column j=3 contains only one variable, so
we cross it out. Now there is no row or column in the remaining array having
only one variable. The variables therefore do not form a triangular system of
equations and are not basic.
81
so obtained is basic feasible. The last row or column left uncrossed will be
automatically satisfied.
It is important to cross out one and not more than one row or column at each
stage after choosing a basic variable. In the case when at any stage of the above
procedure ar = bc, we may put xrc = ar or bc and may cross out the rth row or the
cth column but not both. If we choose to cross out the rth row, then bc is
replaced by bc – ar = 0, and the cth column has still to be satisfied by choosing
some other variable in the cth column to be included in the basis. The value of
this variable would be zero. On the other hand if the cth column is crossed out
first, the rth row should be kept open for choosing another basic variable in it
whose value would be zero. The resulting basis in either case would be
degenerate. We illustrate the method by two numerical examples, the second
involving degeneracy.
the three origins have capacities 25, 35 and 30, and the four destinations have
demands 10, 18, 20 and 42. The total capacity equals the total demand. The
number of linearly independent equations and so the number of basic variables
is six. Starting with x11 as a basic variable, we put x11 = 10 because a1 = 25 > b1
= 10. This satisfies the first column equation, and a11=25−10=15. Turning to the
first row equation, we put x12 = min (15, 18) = 15 and b21 = 18 – 15 = 3. The
first row equation is also satisfied. Next we put x22 = 3 which satisfies the
second column equation. The second row equation should not be satisfied by
putting x22 = 32, because b3 = 20 < a21 = 32. Instead we put x23 = 20 thus
82
satisfying the third column equation. Proceeding further we put x 24 = 12 and
finally x34 = 30, thus satisfying all the equations and getting a b.f.s. as x11 = 10,
x12 = 15, x22 = 3, x23 = 20, x24 = 12, x34 = 30, and all other variables zero.
It is not necessary that we should always start with x11. Any variable may be
selected to make a start. For example, starting with x13 = 20 the b.f.s as given in
table 6 is obtained.
Example 2: The example in table 7 illustrates a degenerate case. After setting
x11 = 10, the first column is crossed and in the first row a1 = 25 is replaced by
25−10=15 which is equal to b2. Putting x12 = 15 satisfies both the first row and
the second column. But we cross the first row only, and put x 22 = 0 and then
cross the second column. Proceeding further we get a b.f.s. as shown in table 7.
83
In the transportation problem the relative cost coefficients can be worked out
very easily. Let us for simplicity consider the problem with m=3, n=4 and write
equations (2) and (3) and the objective function (5) in the following extended
form.
(11)
c11x11 + c12x12 + c13x13 + c14x14 + c21x21 + c22x22 +
+ c23x23 + c24x24 + c31x31 + c32x32 + c33x33 + c34x34= f. (12)
Following table 5, let a feasible basis be x 11, x12, x22, x23, x24, x34. To find the
relative cost coefficients for this case we have to eliminate these variables from
(12). Let 1, 2, 3 be the simplex multipliers for the three row equations and 1,
2, 3, 4 for the four column equations respectively. Then in order to eliminate
the basic variables we must evaluate these multipliers from the following
equations.
1 + 1 + c11 = 0,
1 + 2 + c12 = 0,
2 + 2 + c22 = 0,
2 + 3 + c23 = 0,
2 + 4 + c24 = 0,
3 + 4 + c34 = 0,
These are six equations but seven unknown to be evaluated. In general these are
respectively m+n−1 and m + n in number. Obviously there are infinitely many
solutions, but anyone would serve our purpose. We may therefore choose any
one of the simplex multipliers arbitrarily. The simplest way would be to choose
84
one of these, say 1 as zero. Putting 1 = 0, the other are evaluated quite easily.
In tabulated form the rule for evaluation turns out to be very simple. The
simplex multipliers for a column and a row should be such that the sum of the
two multipliers plus the cost coefficient in the intersecting cell should be zero
provided the square is occupied by a basic variable. This rule enables us to
evaluate all the simplex multipliers.
Now to evaluate the relative cost coefficients cij’ (the coefficients of the non
basic variables xij in f after the basic variables have been eliminated),
Cij1 = i + j + cij
where the cell (i, j) corresponds to nonbasic variable. This is calculated for all
nonbasic variables. If cij1 is negative for any (i,j), the present basis is not optimal
and the value of f can be improved by bringing the variable xij in the basis.
Example: Let the cost coefficients cij in example 1 (table 5) be as shown in the
righ-hand bottom corner of each square of table 8. We shall test whether the
b.f.s. of table 5 is optimal. Let 1 = 0 (written in the second row of the square
containing
a1 (=25)]. Since x11 (=10) is a basic variable,
1 + 1 + c11 = 0 0 + 1 + 3 = 0 1 = −3.
Also x12 (=15) is a basic variable, and so
1 + 2 + c12 = 0 0 + 2 + 2 = 0 2 = −2.
Table 8
D1 D2 D3 D4 ai
O1 10 15-u U 25
3 2 -3 5 -3 4 0
O2 3+u 20-u 12 35
2 4 1 7 6 1
O3 30 30
6 7 8 8 -3 3 5 2
bj 10 18 20 42
-3 -2 -8 -7 90
85
Similarly, since x22 (=3) is a basic variable,
2 + 2 + c22 = 0 2 – 2 + 1 = 0 2 = 1.
In this way all the simplex multipliers are easily evaluated. These are written in
the second row in each square for ai and bj. Now, since the relative cost
coefficient for the nonbasic variable xij is
cij1 = i + i + cij,
c131 = 0−8 + 5 = −3, c141 = 0−7 + 4 = −3,
c211 = 2, c311 = 6, c321 = 8, c331 = −3.
We write these in the left bottom comers of the nonbasic (vacant) cells. Since
there are negative cij1, the present basis is not optimal. The value of the
objective function for the present solution is
f=10 x 3 + 15 x 2 + 3 x 1 + 20 x 7 + 12 x 6 + 30 x 5 = 425.
This can be reduced by a change of basis. The candidates to enter the basis are
x13, x14, x33.
86
cells forming a loop, starting from any one cell, it is possible to go through all
the other cells of the loop and back to the starting cell, visiting each
intermediate cell once only and moving alternately along rows and columns of
the array.
Theorem 2: The necessary and sufficient condition for a set of column vectors
Pij in the matrix T (section 5) to be linearly dependent is that the corresponding
variables xij in the transportation array occupy cells a subset of which
constitutes a loop.
Proof: To prove that the condition is necessary, let a set of column vectors P ij of
the matrix T (obtained by deleting a now from T) be linearly dependent. It is
more convenient in the present case to denote the column vectors as P(i,j), i=i1,
i2…, ip, …, i4, j=j1, j2…., jr …, js. Since they are linearly dependent, there exist
numbers (i, j), not all zero, such that
Pick up a nonzero multiplier (ip, jr) of the column vector P(ip, jr). The
corresponding variable x(ip, jr) occupies the cell (ip, jr) in the array. The row of
the column vector P(ip, jr) corresponding to the ipth now of the array contains
the entry +1. Therefore in order that (13) is satisfied for this row of the matrix
of column vectors, there must be at least one more nonzero entry in that very
row of the matrix, that is, there must be another column vector of type P(ip, jr) in
the given set of column vectors, and its multiplier (ip, j3) should be nonzero.
The corresponding variable x(ip, jr) occupies the cell (ip, j3). Thus the ipth row of
87
the array contains at least two variables x(ip, jr) and x(ip, j3) corresponding to the
column vectors of the given set.
Also in the column vector P(ip, jr) the entry in the row corresponding to the jrth
column of the array is −1. Again, in order that (13) is satisfied for this row of
the matrix of the given column vectors, there must be another column of the
type P(iq, jz) whose multiplier (iq, jz) is nonzero. This means there is a variable
x(iq, jz) in the cell (iq, jz) of the array, making the number of variables in the jrth
column at least two.
We can proceed with this type of argument till we find that for all nonzero
multipliers (i,j) of P(i,j) there must be corresponding variables x(i, j) in the
array such that in a row or a column of the array if one of such variables occur,
then at least one more of them also occurs. This proves the existence of a loop
in the set of variables corresponding to the given set of linearly dependent
column vectors.
To prove the converse, let the set of variables x(i,j) corresponding to the column
vectors P(i,j), i=i1, i2, …., ip, …., iq, j=j1, j2, …., jr, …., js, contain a subset
forming a loop. Let the subset be x(i,j1), x (i1, j2), x(i2, j2),…., x(ip, jr), x(ip, j1).
Let the corresponding column vectors be multiplied by +1 and −1 alternatively
and let the remaining column vectors of the given set be multiplied by zero.
Then consider the following linear combination of the given set of column
vectors.
P(i1, j1) − P(i1, j2) + P(i2, j2) − …. − P(ip, j1)
The row of this vector corresponding to the i1th row of the array becomes zero
because only two vectors P(i1, j1) and P(i1, j2) have nonzero entries in this row
and they are each +1 and so their difference becomes zero. Similarly for all
other rows of the vector corresponding to other rows and columns of the array.
Hence the above linear combination is a zero vector, which means that the given
column vectors are linearly dependent.
88
IV. 9. Changing the basis
Theorem 2 provides a method of changing the basis in a transportation array so
as to bring into the basis any desired variable in place of another which is
deleted from the basis without making the solution non-feasible.
In section 7 we have seen how to select a variable for entry into the basis. The
existing m + n – 1 basic variables along with this new variable become m + n in
number. The corresponding m + n column vectors in the matrix T are linearly
dependent because the matrix is of rank m + n – 1. Hence, by theorem 2, the
m + n variables in the transportation array have a loop within themselves. It can
be proved that this loop is unique for a particular set of basic variables with a
particular additional variable and includes the latter. (We omit the proof). This
loop can be easily traced as illustrated in the example of table 8.
Let us, in table 8, decide to bring x13 into the basis. This variable x13 together
with x12, x22, x23 which are variables of the existing basis, forms a loop. The
values of these basic variables at this stage are
x12 = 15, x22 = 3, x23 = 20
If we put x13 = u (a constant), and alternately subtract and add u from and to the
other variables of the loop so that the equations are still satisfied, we get
x12 = 15 – u, x22 = 3 + u=, x23 = 20 – u.
The value of u which would reduce the value of one of these variables to zero
without making any of the others negative is u = 15, Then x12 = 0, x22 = 18,
x23 = 5.
Thus x12 goes out of the basis and x13 comes in. The new basis is down in table
10. The value of f for this solution is 380 which is an improvement on the
previous value (section 7).
89
The procedure outlined in sections 6, 7 & 9 constitutes the algorithm for the
solution of the transportation problem. It is repeated till an optimal solution is
obtained. It is left to the reader to proceed with the successive iterations. The
optimal solution is shown in table 11 with the minimum value of f as 310.
It should be remembered that while the minimum value of the objective
function has to be unique, the optimal basis may not be unique. There may be
other solutions giving the same value of the objective function. If any c ij1 = 0 at
the optimal stage, then an alternative solution exists with the corresponding
variable in the basis.
a b
i 1
1
j 1
j ,
90
The problem (2)-(5) becomes infeasible. In physical sense, if ai > bj, there
would be surplus left at the sources after all the demands are met, and if ai <
bj, there would be deficit at the sinks after all the sources have exhausted their
capacities. Problems involving surpluses and deficits are common and
significant in practical life. They have only to be posed properly to have feasible
solutions.
Let us look at the problem of surplus at the sources in the following way. If the
total available supply is more than the total demand, the demands at the sinks
can be fully met without exhausting the supplies. We may want to know the
minimum cost of meeting the demands at all the sinks. The problem then may
be
If equality holds in the third constraint, the total demand can be fully met only
with all the supply, and so a feasible solution exists. The problem then reduces
to a balanced problem already discussed. If, however, the third constraint is an
inequality, the following artifice converts it into a balanced problem.
We create a fictitious sink j=n+1 with demand
m n
bn+1 = ai b j .
i 1 j 1
(15)
The new problem with m sources and n+1 sinks is balanced. Any amount going
from a source to the fictitious sink is actually the surplus remaining at that
source. Before this balanced problem can be solved, the cost coefficient c i, n+1
from the ith source to the fictitious sink for all i, i = 1, 2, …, m, should be
known. It is obviously the cost of surplus lying at the source i. Depending upon
91
the physical nature of the problem, it may be zero or some other number which
should be estimated.
The problem of surplus at the sources may be posed in another way also. The
demand may be flexible with prescribed minimum at each sink. The supply at
each source is fixed and all of it must be transported. The problem is then as
follows.
(16)
To solve it we again introduce a fictitious sink j=n+1 with demand bn+1 given by
(15). But now the cost coefficients for the (n+1)th column in the array should be
taken as
ci,n+1 = ci,ri = min (c13, c12, c13, …., cin), i=1,2,….., m.
The idea is that with the minimum demands at all the sinks been met, the
surplus at a source is transported to that sink for which the cost is minimum.
The optimal solution of the balanced problem with m sources and n+1 sinks
provides the optimal solution of the original problem after the value in the (i,
n+1) cell is added to the value in the (i, ri) cell for all i, i = 1,2,…., m.
The problem in which the total demand exceeds the total supply may be posed
as follows.
92
(17)
The demand at each sink is not necessarily fully met. The actual supply may fall
short of the demand. To solve this problem a fictitious source i=m+1 is
introduced with capacity.
n m
am+1 = b j ai .
j 1 i 1
The cost coefficients in the (m+1)th row should be the cost of deficit at each
sink. It again depends upon the physical nature of the problem to estimate how
much loss is suffered on account of deficit supply at a sink. The balanced
problem of m+1 sources and n sinks so obtained is solved for optimal solution.
Suppliers from the fictitious (m+1)th source given by the optimal solution are to
be interpreted as deficits in the original problem.
The following is an example of an unbalance problem, also involving
degeneracy during its solution.
Example: Table 12 gives the quantity of goods available at four origins 0i, i=1,
2, 3, 4, and the minimum requirement at three destinations. D j, j=1,2,3, and the
cost of transportation of unit quantity of goods from origins to destinations. The
available goods exceed the minimum total requirement, and the excess can be
transported to the destinations, but at minimum cost. Find the distribution of
goods such that the total cost of transportation is minimum.
93
The total availability is 90, while the minimum requirement is 55. Hence we
introduce a fictitious destination with demand 35. Whatever goes to the
fictitious destination D4 from 01 should really go to one of the real destinations
D1, D2 or D3 such that the cost is minimum. Hence the cost coefficient c14 = min
(c11, c12, c13) = min (2, 1, 3) = 1. Similarly c24 = 4, c34 = 0, c44 = 1. The balanced
transportation array obtained after introducing D4 and the corresponding cost
coefficients is given in table 13(i). It also indicates a basic feasible solution
which serves as a starting point for search for the optimal solution. The simplex
multipliers and the resulting relative cost coefficients of the non basic variables
are also written in the table, as was done in table 8.
Nothing that the relative cost coefficient c123 is negative and the least (−7), we
bring x23 into the basis. Putting x23 = u, we adjust x33 = 5−u, x32 = 15 + u,
x22 = 5 – u, and hence set u=5. This makes x33 = x22 = 0. Treating only one of
these, x33, as the nonbasic variable and retaining x22 as a basic variable, we get
the new basic feasible solution as shown in table 13(ii). It is a degenerate
solution.
94
For this basic feasible solution c124 is the only negative relative cost coefficient.
Therefore x24 is brought into the basis. This necessitates dropping x22 out of the
basis. The new value of x24 is also zero. Table 13 (iii) gives the next basic
feasible solution. As all the relative cost coefficients are non-negative in this
table, we have obtained the optimal solution. It is x13 = 10, x21 = 20, x23 = 5,
x32 = 20, x34 = 5, x44 = 30. The value of x34 is to be interpreted as the excess
quantity sent from 03 to D2, and similarly the value of x44 is the excess quantity
from 04 to D1. Thus the optimal distribution in terms of the original problem is:
01D3, 10; 02D1, 20; 02D3, 5; 03D2, 25; O4 D1, 30. The supply to D1 is
50, to D2 it is 25, and to D3 it is 15. The first two destinations receive more than
the minimum required, while the third receives just the required minimum.
The total cost of transportation is
10 x 3 + 20 x 4 + 5 x 7 + 20 x 0 + 5 x 0 + 30 x 1 = 175.
95
IV. 12. Caterer Problem
What is popularity known as the caterer problem in operations research first
arose in connection with number of spare engines required to maintain a fleet of
aeroplanes airworthy during a certain period. We shall describe the problem in
general terms.
Suppose there is an article which is used once and then sent for repair or
servicing before it can be used again. On a job a1, a2, …, an (positive integers) of
these articles are required at times T, 2T, …., nT respectively. The job lasts till
nT. The job begins at T with a1 articles purchased new from the market at a
certain price. But at successive times the requirement can be met partly by
repaired articles and partly, if necessary, through purchase of new ones. The
minimum time of repair is rT and maximum (r++s)T, r and s being positive
integers with r + s < n. The quicker the service, the higher the cost of repair,
which in any case is less than the price of a new article. The problem is: How to
organize purchase and repair of articles so that the job is completed with
minimum cost of the articles.
We can look at the problem as follows.
Let xij be the number of articles received back after repair which were sent for
repair at time iT to be returned at time jT, and let cij be the cost of this repair per
n
article. Then x
i 1
ij is the total number of repaired articles available at jT. Of
course xij is meaningless for i>j and can have nonzero value only if r < j – i < r
+ s. The difficulty is easily overcome by putting cij = for inadmissible values
of i, so that the minimum cost expression can never include a nonzero value of
xp for any inadmissible i. Any shortage at time jT will have to be met by urchase
of new articles. Let xn+i, j be this number. Then
n
x
i 1
ij xn 1, j a j , j=1, 2, …., n.
96
The use of the symbol xn+1, j for the number of new articles purchased is
convenient. It makes up the deficit in the inequality.
n
x
i 1
ij aj
and is therefore a slack variable. Moreover its introduction helps put the
problem in the transportation form.
n
Also x
i 1
ij is the total number of articles sent out for repair at time iT. Again
since xij can be nonzero only for r<j – i<r + s, we put cij = for inadmissible
values of j. All the articles used at time iT need not be sent for repair, as the job
is to last only up to nT and if they cannot be repaired before that time they may
as well be left unrepaired. The cost of leaving an article unrepaired may be
taken as zero, Let xi, n+1 be the number of articles used but not sent for repair at
time iT. Then
n
x
j 1
ij xi , n 1 ai, i=1,2,…,n.
97
provided we can give meanings to xn+1, n+1, an+1 and cn+1,n+1. Let an+1 be a
sufficiently large number chosen arbitrarily. A convenient value will be ai
which is the total number of articles required on all the days. The variable x n+1,
n+1 can be interpreted as the number of new articles left without being used and
so not purchased at all.
The cost of this fictitious transaction may be taken as cn+1, n+1 = 0. This finally
puts the problem in the transportation form which can be solved by the standard
procedure.
Example: A caterer needs clean table covers every day for six days to meet a
contract according to the following schedule.
Days 1 2 3 4 5 6
Number of 50 60 80 70 90 100
covers
The cost of a new cover is Rs. 20 while washing charges are Re 1 for return on
the fourth day or later, Rs. 2 for return on the third day and Rs 3 for the next
day. Find the minimum cost schedule for the purchase and washing of table
covers, assuming that after the end of the contract the covers are rejected.
The problem, when put in the transportation form, is as shown in table 15. The
table shows an initial b.f.s. and also the optimal solution (bold numbers). The
minimum cost is Rs. 2950. The new purchases are 100 required on the first two
days. Subsequently the used ones return after washing.
98
99
MODULE – III
CHAPTER – V
INTEGER PROGRAMMING
V. 1. Introduction
In many programming problems optimal solution is sought in terms of integral
values of the variables, non-integral answers not being meaningful in the context
of the situation which gives rise to the problem. For example, if the variables are
the numbers of buses on different routes in a town or the numbers of bank
branches in different, regions of a country, fractional answers have no meaning.
Mathematical programming subject to the constraint that the variables are
integers is called integer programming. If some of the variables are restricted to
be integers while others are real numbers, the problem is said to be mixed integer
programming.
Strictly speaking, if in an LP problem we restrict the variables to integers, the
problem becomes non-linear. But it is convenient to call it an integer linear
programming problem (ILP) because the constraints and the objective function
remain linear if the integral restriction on the variables is ignored. If not all but
some of the variables are restricted to be integers, we have a mixed integer linear
programming problem (MILP). In general we may have an integer or a mixed
integer non-linear programming problem if it is obtained by imposing integer
restriction on an otherwise non-linear problem. In this chapter we shall consider
only the integer and the mixed integer linear programming problems.
One obvious way of getting an answer to an ILP or MILP is to ignore the integer
restrictions on variables and solve it as an ordinary LP problem, and then to round
off the optimal solution to nearest integers. When the answers are in the
nieghbourhood of large integers, the method gives satisfactory results. For
100
example, if the problem is concerned with human population in a town, a
fractional answer giving the number of persons as 3548.68 can be rounded off to
3549 or even to 3550 without any significant error. But if the answer is in the
neighbourhood of small integers such rounding off may give a totally wrong
answer.
101
last three are not feasible. So the only feasible point obtained by rounding off is
(3, 1), which makes =13.
Consider now the given ILP problem. We restrict x1, x2 to be integers, and so the
set of feasible solution are the points in the polygon ABCDEF whose coordinates
are integers. Such points, marked x in fig. 1, are (1, 0), (2, 0), (0, 1), (1, 1), (2, 1),
(3, 1), (0, 2), (1, 2), (2, 2). Among these points the objective function is
maximum at (2, 2) with =14. Thus rounding off gives a wrong answer.
The set of feasible solution of the ILP problems is not convex, because it consists
of the isolated nine points given above. If we obtain the convex hull of this non-
convex set of feasible solutions, we get the polygon EGHKLM. Every vertex of
this convex polygon is a feasible solution of the ILP problem. Let us consider the
LP problem:
Maximize (X) = 3x1 + 4x2 (1)
102
problem whose objective function is the same as that of the ILP problem but
whose constraints are such that the convex set of feasible solutions turns out to
be the convex hull of the set of feasible solutions of the ILP problem.
103
Minimise f ( X ) CX ,
(11)
subject to X S F
104
Proof. Let X0 TF be an optimal solution of (10). Then for all XTF.
f(X0) < f(X). (13)
Let Y be any point in (TF). Then Y is a convex linear combination of some points
Xi, i=1,2,…,r, of TF, that is
r r
Y i X i , i 0, i 1.
i 1 i 1
Since X0 TF, X0 is also in [TF]. Let Y be different from X0, and if possible, let
f(Y) < f(X0) (14)
r
f i X i < f(X0),
i1
r
f(Xi) < f(X0), since f(X) is linear,
i 1
i
r
f(Xi) <f(X0),
i 1
i
105
is the convex hull of the set of feasible solutions of the original problem. It is,
however, not easy to find the required convex hull, and therefore the theorem
provides only theoretical insight and not any practical method of solution. The
practical methods generally recommended fall in two categories, commonly
called (i) the cutting plane method and (ii) the branch and bound method. We
proceed to discuss these methods, in each case first explaining the underlying idea
with the help of numerical example of section 2.
106
V.5. Cutting planes
We confine our discussion to the general ILP problem (5)-(8), leaving the MILP
problem for later comment. We therefore assume that X is an integer vector. The
related LP problem is (5) – (7).
Let a basic optimal solutions of the related LP problem be [x1, x2, ..…., xm, 0, ……0], and let
a x β α
n n
xi – [bi1] + 1
ij j i ij xj ,
jm 1 jm 1
This equation, being one of the constraints, must be satisfied by every feasible
solution of the ILP as well as the related LP problem. For an integer feasible
107
solution the left side should be an integer and so the right side too should be an
integer. Also, since 0<ij < 1 and xj, being feasible, is non-negative,
n
α
jm1
ij x j 0.
n
Hence i − a
jm1
ij x j is an integer < i.
n
or ‒ α
jm1
ij x j βi . (20)
But for the optimal solution of the related problem with which we started,
xj = 0, j=m+1, …. n, and so
n
i − α
jm1
ij x j β i 0.
108
The successively modified LP problem obtained after adding each time a
constraint of the type (20) are best solved by the dual simplex method. Constraint
(20) leads to the constraint equation.
n
− α
jm1
ij x j y βi ,
V.6. Example
We illustrate the cutting plane method explained in the preceding section through
the example of section 2. Introducing the slack variables x 3, x4, x5, x6 and the
artificial variable x7 (which we introduce to obtain a basic feasible solution by
first solving the Phase I problem which minimizes w), the problem can be written
as
Table 1 is the simplex tableau for a complete solution. Phase I ends after the
iteration I=2 when get a basic feasible solution of the related LP problem. The
end of Phase II at iteration I=4 gives the optimal solution of this problem. This is
109
nonintegeral, and so cutting planes in the form of additional constraints are
included, one at a time, in subsequent iterations till the integer optimal solution
is reached.
In the optimal solution of the related LP problem x1 = 7/2. The corresponding
equation of type (17) is
2 2 7
x1 + x3 x5
16 16 2
1 1 1
or x1 + 0 x3 0 x5 3
8 8 2
The constraints is added to the problem as it stands at stage I=4 producing the
problem at stage I=5. The dual simplex algorithm is used to proceed the further
and the optimal solution of the current problem is obtained in I=6. This is also
non-integral. Hence from the equation.
1 1 7
x2 + x3 x8
4 2 4'
1 1 3
or x2 + 0 x3 1 x8 1
4 2 4'
Or ‒ 1 x3 1 x8 x9 3
4 2 4'
Again the optimal solution of the current problem is obtained by the dual simplex
method (I=8). The optimal solution is not yet integral. A third cutting plane is
added in I=9 which finally gives the integral optimal solution in I=10.
110
111
V. 7. Remarks on cutting plane methods.
The above method of obtaining cutting planes is only one of the several methods
of generating cutting planes which have been proposed by various authors and
which can be found in the vast literature on integer programming. It has been
proved that the cutting plane method solves the ILP problem in a finite number
of steps, either giving an integer optimal solution or indicating that a feasible
solution does not exist.
One disadvantage of the method is that the number of steps can be very large
sometimes even in problems which apparently look simple. The number of
constraints goes on increasing leading to increased volume of numerical work.
Some relief can be obtained by dropping out a cutting plane from the simplex
tableau once it becomes superfluous due to subsequent addition of other cutting
112
planes. This happen when the slack variable in that cutting plane becomes a basic
variable with a positive value in the simplex tableau. For example, in tables 1, let
us follow the part played by the first cutting plane introduced at the stage I=5. We
find that the slack variable x8 in the constraint added at stage I=5 is nonbasic for
the optimal solution at stage I=6. This means that at this stage x 8=0 and so the
optimal solution lies on the cutting plane.
1 1 1
x3 x3
8 8 2
Later on after a second cutting plane has been introduced at I=7, x8 appears as a
basic variable with positive value at I=8. This means that the optimal solution at
this stage does not lie on the first cutting plane but within the region.
1 1 1
x3 x5 .
8 8 2
It remains so throughout subsequent work. The first cutting plane plays no active
part in the remaining stages of the solution. It could therefore as well be erased
from the simplex tableau after I=8.
Cutting plane methods can be applied to MILP problems also. There are rules by
which cutting planes for mixed integer problems can be obtained. We, however,
omit these as, in general, the cutting plane method has been found to be less
suitable than the other method, the branch and bound method, which we proceed
to discuss.
113
Dropping the constraint (4) we get the related LP problem. Its solution is f=−33/2
with x1 = 7/2, x2 = 3/2 (as can be easily obtained graphically or otherwise).
Obviously – 33/2 is a lower bound (LB) for the objective function f of this
problem. Let us call the related LP as problem 1, and say that a LB of the objective
function f of this problem is – 33/2 with x1 = 7/2, x2 = 3/2. (We adopt this
phraseology because, as we shall see later, what is essential to the branch and
bound method is not the exact minimum value of the objective function but a
lower bound to it). In Fig. 2 circle 1 at the top with information regarding the LB
and the corresponding values of the variables indicates this situation.
114
Let us divide problem 1 into two subproblems, problem 11 and problems 12, by
imposing the constraints x1<3 and x1 > 4 respectively on problem 1. These
consolutions, the interval 3 < x, < 4 in which x1 = 7/2 lies can be left out, and
further probes need be made only in regions x1 > 4 and x1 < 3. (We could, with
equal justification, impose the constraints x2 < 1 and x2 > 2 first). This operation
of replacing a problem by two subproblems is called branching. Problem 1 which
may be called the parent problem has been branched into problems 11 and 12.
Solution to problem 11 can be obtained, again graphically or otherwise, as x 1 =
3, x2 = 7/7, with f = - 16. Following the phraseology explained above, -16 is the
LB of the problem with values x1 = 3, x2=7/4. Problem 12 is easily found to be
infeasible. It is therefore left out of further consideration, or, in standard branch
and bound terminology, pruned. Problem 11 is further branched into two
problems, 111 and 112, by imposing the additional constraints x 2 = 7/4. The LB
of problem 111 is found to be – 13 for x1 = 3, x2=1. This is an integer solution,
and is therefore a possible candidate for the optimal solution of the original ILP
problem. Moreover, no other feasible integer solution of problem 111 need the be
found out as the one already found gives the lowest value of f. We say that
problem 111 has been fathomed. There is no need to branch it further, but its LB
integer solution should be kept in view as a possible candidate for the optimal
solution of the given ILP problem.
Problem 112 is found to have an LB = - 31/2 with x1 = 5/2, x2 = 2. Since its LB
is lower than the LB of problem 111, it may be concealing integer solutions which
into problem 1121 and 1122. The latter is found to be infeasible and is therefore
pruned. The former gives the LB – 15 for x1=2, x2 = 9/4. Since this LB is lower
than the LB of the fathomed problems 111, we branch problem 1121 into
problems 11211 and 11212. The former has the LB-14 for x1 = 2, x2 = 2. Since
this solution is integral, this problem stands fathomed, and its solution gives a
possible candidate for the optimal solution of the original ILP problem is not
fathomed, but since its LB is higher than he LB of the fathomed problem 11211,
115
it cannot possibly conceal an integer solution which may be a candidate for
optimality. Hence this problem is also left out of consideration or pruned.
Now all the subproblems have been fathomed or pruned or branched. The
fathomed problem which gives the lowest LB for the objective function gives the
optimal solution of the original ILP problem. Thus x 1 = 2, x2 = 2, f=-14 is the
required solution.
Example 2:
Minimise f = 3x4 + 4x5 + 5x6,
Subject to 2x1 + 2x4 – 4x5 + 2x6 = 3,
2x2 + 4x4 + 2x5 – 2x6 = 5,
x3 – x4 + x5 + x6 = 4,
x1, x2, ……., x6 > 0, x1, x2 integers.
Since only two of the six variables are constrained to be integers, the problem is
of mixed integer programming.
Deleting the integer constraints, we get the related LP problem, whose minimal
solution is easily found as x1 = 3/2, x2 = 5/2, x3 = 4 x4 = x5 = x6 =0, giving the LB
of f as zero. This is problem 1 of Fig. 3. Since x1 is required to be an integer, we
branch problem 1 into problems 11 and 12 by introducing respectively the
constraints x1, < 1 and x1 > 2 indicated by the value x1 = 3/2 which lies between
1 and 2. The solution to these two problems can be found by the dual simplex
method, and are shown in the figure. Since problems have optimal solutions in
which the variable x2 is non-integral, none of the problems has been fathomed.
Nor any of them has been pruned (that is, not to be considered further). So both
problems 11 and 12 are branched into problems 111, 112, 121, 122, with
additional constraints respectively as x2 <1, x2 >2, x2 <2, x2 >3, indicated by the
value x2 = 3/2 in problem 11 and x2 = 9/4 in problem 12. Again the four problems
can be solved by the dual simplex method to give the solutions as written in the
116
figure. Problems 112, 121 and 122 stand fathomed as the optimal solution in each
case is integeral in 3/2, the LB of problem 121. Hence it is pruned. Among the
fathomed problems the least LB is provided by problem 121. The therefore gives
the solution of the original problem.
117
ILP, by the branch and bound method, is only a special case of MILP, with
r = n, and needs no separate discussion.
We start with the related LP problem, hereafter designated as problem 1,
and solve it to obtain a lower bound of its objective function. Let us suppose, for
the present, that it is the actual minimum that we are able to determine. We
presume that this minimum and the corresponding optimal (minimal) solution
can be found without much difficulty. If the optimal solution happens to satisfy
the integer constraint also, it is the optimal solution of the given MILP, and
nothing more need be done. If not, then the value of at least one of the variables
xj, j =1,2,..., r, in that optimal solution is not integral. Let xP be one such variable,
and at the optimal let xP = b, where b is not an integer. Let [b] be the largest
integer less than b. Since b, being feasible, is non-negative, [b] is also non-
negative.
Formulate two subproblems, designed as problems 11 and 12, by imposing
on problem 1 the additional constraints xp < [b] and xp > [b] + 1 respectively.
This operation is called branching. In effect, the set of feasible solutions of the
MILP is partitioned into two subsets, and the optimal solution which we are
seeking is in one subset or the other, provided it exists.
Each of the two subproblems 11 and 12 is now treated as an independent
problem, and subjected to the same operation as problem 1, namely, obtaining
the minimum of the objective function, and then, if necessary, branching. This
'branch and bound' process is continued through resulting subproblems which fan
out from problem 1 as a tree. Branching terminates when any of the following
three conditions arise.
i. The subproblem yields an optimal solution which satisfies the integer
constraint on all the variables xj,j= 1,2,.., r, the subproblem is then said to
have been fathomed.
118
ii. The optimum (minimum) value of the objective function in the subproblem
is not lower than the minimum value of the objective function in a
subproblem which has been fathomed.
iii. The subproblem turns out to be infeasible.
The reasons to terminate branching in the above three cases are as follows.
In case (i) the optimal solution with required integer constraint out of the subset
of feasible solutions of that subproblem has been obtained, and no further probe
in that subproblem is necessary. In case (ii), since an integer optimal solution
which is lower than the optimal solution of the subproblem has been discovered
in the set of feasible solutions of another subproblem, the former subproblem
needs no further probe, as it cannot be concealing a solution which would make
the objective function lower than what has been discovered in the latter
subproblem. In case (iii) the subproblem obviously cannot contain the required
solution. Subproblems falling under cases (ii) and (iii) arc said to be pruned.
When all the subproblems obtained through branching have been either fath-
omed or pruned, the branch and bound algorithm terminates. The fathomed sub-
problem with the lowest minimum gives the answer to the original problem.
The branch and bound method is partially enumerative. The set of feasible
solutions is successively partitioned into subsets and those subsets which cannot
contain the optimal solution are deleted from further consideration. The criterion
for deletion is provided by the lower bound of the objective function for the fea-
sible values in that subset.
It is sometimes difficult or strenuous to determine the minimum of the
objective function in a problem. The reason why in the branch and bound method
the stress is on a lower bound and not the minimum of the objective function is
that any suitable lower bound and not necessarily the exact minimum is needed
to decide whether a subset of feasible solutions should be further probed or
deleted. Of course the closer a lower bound is to the minimum the better, but one
has to balance the time spent in determining the minimum against the time spent
119
in going ahead with further branching. If a suitable lower bound is more easily
determined than the minimum, it is worthwhile saving time here. Branching
being easier than finding the minimum, bulk of the total time spent in solving a
problem by the branch and bound method is spent in the latter operation, and so
whatever time can be saved on it should be saved. It may result in more
branching, but the overall effort is less.
There are several strategies recommended for determining a lower bound.
We shall briefly mention only two of them. The detailed discussion would be
omitted. One method consists in ignoring the constraints which appear to be
difficult, and minimising the objective function subject to the remaining
constraints. This minimum is certainly not higher than the minimum under all the
constraints, and so can serve as the required lower bound. Another method is to
construct another objective function which is not greater than the given objective
function for any feasible solution of the original problem, and determination of
whose minimum is comparatively easier than that of the original function.
120
CHAPTER VI
SENSITIVITY ANALYSIS
VI. 1. Introduction
In the preceding chapters we primarily discussed methods for solving linear
programming problems. However, solving an LP in itself is not the end of the
story. In most real life problems we want to find not only an optimal solution but
also to know as to what happens to this optimal solution when changes are made
in the initial system. It would be preferable to determine the effect of these
changes on the optimal solution without having to solve a modified problem from
the very beginning. In sensitivity analysis (also called post-optimality analysis)
we develop methods to do this. A more general problem is to study the effects on
the optimal solution of an LP as some parameter of it undergoes continuous
change in its value. The procedures developed for doing this are known as
parametric programming techniques.
In linear programming our aim so far has been to get as large (or small) a value
of the objective function as is possible without violating any of the constraints. It
may happen that in doing so other considerations which may also be important
are ignored. In many practical problems, instead of maximizing or minimizing
the objective function, it may be considered better to be satisfied with setting up
a certain value of the objective function as a reasonable goal, and then try to
achieve it as closely as possible. This approach is known as goal programming.
121
which different goals are set for different objective functions, it being desired that
the objective functions achieve these goals as closely as possible.
VI. 3. Changes in bi
For the LP problem:
122
Minimize f(x) = CX, subject to AX = B, X > 0, (1)
let the optimal basis be
X0 = [x1 x2 …., xm]1, X0 > 0,
xm+1, xm+2, …., xn being the nonbasic variables for this solution. The
corresponding relative cost coefficients c j given by
m
c j = cj c
i 1
i a ij , j=1,2,….,n, (2)
are all nonnegative. Also since the nonbasic variables have zero values in the
optimal solution, the constraints in (1) reduce to
A0X0=B,
So that
X0=A0-1B,
Where
a11 a12 .... a1m
a .... a2 m
21 a22
A0 = . . . .
. . . .
am1 am 2 ... amm
Let B change to B + B where B = [b1, b2….bm]’, everything else in
(1) remaining the same. Then the new values of the variables of the earlier optimal
basis are given by
X0 + X0 = A0-1 (B + B)
Now if A0-1 (B + B) > 0 (3)
the original optimal basis continues to be feasible for the new problem. It will
also be an optimal basis if all the relative cost coefficients of the modified
problem for this basis are nonnegative. The relative cost coefficients, by (2), are
independent of B, and so remain unchanged. So they remain nonnegative. Hence,
if (3) holds, the original optimal basis is still optimal. The new value of the
objective function is given by f (X0+X0).
123
If, however, B is such that (3) does not hold, that is, the new values of the
variables in the basis Xo are not all nonnegative, then the new solution X0+X0
is not feasible. In such a case we may replace the values of the basic variables in
the earlier optimal solution by their new values and proceed further by the big M
or the two-phase or the dual simplex method to obtain the new optimal solution.
If too many components of X0+X0 are negative, it may be more economical to
solve the new problem ab initio.
Example: Consider the problem of section 13, chapter 3. Its optimal solution, as
obtained there, is given in table 1.
Basis B P1 P2 P3 P4 P5 P6
x1 2/3 1 -4/3 1/3
x2 1/3 1 1/3 -1/3
x3 13/3 1 7/3 -1/3
x4 11/3 1 2/3 1/3
f 13/3 11/3 1/3
124
Then A0-1 (B + B) =[2/3 1/3 16/3 8/3]'>0. Thus the original optimal basis
remains feasible and hence optimal. The new optimal values of the basic variables
are x1 = 2/3, x2 = 1/3, x3 = 16/3, x4 = 8/3, and the new optimal value of the
objective function is f= 13/3 which is the same as before. This is so because the
values of only those basic variables have changed which do not occur in the
original form of the objective function. In fact, from the form of A 0-1 it follows
that any change in the value of b1 or b2 will not affect the values of x1 and x2, and
therefore the value of the objective function, as long as the new basis is feasible.
Thus the original optimal basis is still feasible with the optimal values of the basic
variables as xi = 1, x2 = 0, x3 = 4, x4 = 4. However, the optimal value of the
objective function is now 4 which is different from the earlier value.
In this case the original optimal basis X0 becomes infeasible. Since the relative
cost coefficients remain unchanged and so non negative, from this point onwards
we may proceed by the dual simplex method to obtain the optimal solution of the
modified problem. The new values of the basic variables are
x1 = 7/3, x2 = 1/3, x3 = 5/3, x4 = 10/3, and the new value of f is 23/3. With these
values in the simplex table and doing one iteration of the dual simplex method,
we get the new optimal solution as x1 = 2, x2 = 0, x3 = 2, x4 = 3, x5 = 0, x6 = 1;
f=8.
VI. 4. Changes in cj
125
If cj are changed to c *j , everything else in the problem remaining the same, then
the changed relative cost coefficients of the non basic variables are given by (2)
as
These may not all be nonnegative. If c *j is negative for some j, then this would
mean that the basic feasible solution X0 which was earlier optimal is now not
optimal. So from this point onwards.further iterations may be done with c j in the
If c *j are such that all c *j are nonnegative, then the original optimal basis remains
optimal and the optimal values of the basic variables also remain unchanged.
Optimum value of the objective function, however, will be different since the cost
coefficients have changed. In the particular case when c *j = cj for the basic vari-
ables, even the value of the objective function will not change.
(4)
As c5* and c5* are both nonnegative, the original optimal basis is still optimal, and
there is no change in the optimal values of the basic variables. The new value of
* * *
the objective function is f = c1 x1 + c2 x2 = 16/3. From (4) it is evident that c5 and
*
c6* will be nonnegative as long as c1 < c2 < 4cj*. So the original optimal basis
*
will remain optimal so long as the changed cost coefficients satisfy this condition.
126
* *
Next suppose that c1 and c2 change to c1 = 5, c2 =1. Then c5* = 19/3 and c6* =
4/3. Since c6* is negative, the original optimal basis cases to be optimal.
Replacing the previous value 11/3 of c5 by c5* = 19/3, and the value 1/3 of c6 by
c6* = 4/3, and the original entry 23/3 for the value of f by its new value 11/3 in
table 1, we can do one more iteration to obtain the new optimal solution x1 = 0,
x2 = 1, x3 = 5,
x4 = 3, x5 = 0, x6 = 2; f = 1).
If the changes arc in aik, where xk is a nonbasic variable of the original optimal
solution, then the modified value ck* ck of ck may be found by using equation.
m
ck ck a *ik πi (5)
i 1
where aik* are new values of aik. If ck* > 0, the original optimal solution is still
optimal. If ck* < 0, then further iterations of the simplex method may be done to
find the new optimal solution. For this purpose the values of aik* , the modified
values of aik* in the original optimal table, may be calculated by the formula.
If xk is a basic variable in the original optimal solution, then the procedure may
be as follows.
Introduce a new variable xk* in the system with coefficients aik* and ck* = ck. In this
new problem treat the original variable xk as an artificial variable and use phase
I of the two-phase simplex method to eliminate it, and then proceed to phase II to
get the new optimal solution.
127
Example: To illustrate the above procedures, we take the example of the section
of linear programing. There the problem has been solved by the dual simplex
method, and its optimal solution is given in table 2.
Table 2
Basis B P1 P2 P3 P4 P5 P6
x3 2 1 2 1 1
x4 1 3 2 1 2
x6 8 4 5 2 1
f 4 1 1 2
2 1 0 0 1 0
1 0 0 Hence A0 1 2 0
1
and A0 =
2 0 1 0 2 1
i. Let the values of a11, a21, a31 change from (1,1,2) to (1, 1, 2). The changes
are in the coefficients of x1 which is a nonbasic variable. In this case
a
*
11
*
a21 *
a31 1 1 2,
3
and so c1 c ai*1 i = 3+1 x 0 + (-1) (-2) + (-2) x 0 = 5 > 0.
*
k
i 1
128
ii. Suppose the changed values of a11, a21, a31 are 1,2, - 2.
In this case a11* a21
* *
a31
1 2 2 , and so c1* 1 . The original optimal solution,
therefore, ceases to be optimal. The entries in the column for P1 in table 2 are
modified to
Basis B P1 P2 P3 P4 P5 P6
x3 2 2 2 1 1
x4 1 3 2 1 2
x6 8 2 5 2 1
f 4 1 1 2
On performing one iteration of the simplex method we find the new optimal solu-
tion to be x1 = 1/3, x2 = 0, x3 = 4/3;f=11/3.
iii. Let a13, a23, a33 change from (2,1,-2) to (1, -1,2). Since the change is in the
coefficients of x3 which is a basic variable in the original optimal solution, to
*
study the effect of this change we introduce a new variable x3 with coefficients
a13* 1, a23
*
1, a33
*
2 and c3* c3 2.
From these c3 4, a13 1, a23 3, a33 0. Now the simplex table (given below)
* * * *
for finding the new optimal solution by the two- phase method, treating the
original variable x3 as an artificial variable, is obtained by introducing a
column P3* in table 2. The objective function g for phase I is given by g=x3,
which in terms of non basic variables is g=2x12x2 + x5 + x*3.
129
Basis B P1 P2 P3 P4 P5 P6 P3*
x3 2 1 2 1 1 1
x4 1 3 2 1 2 3
x6 8 4 5 2 1 0
f 4 1 1 2 4
g ‒2 1 2 1 1
Proceeding from here onwards, the new optimal solution is found to be x1=0,
x2=5/4, x3 (or x3) = ½, x4 = 0, x5 = 0, x6 = 7/4; f = 29/4.
Let- the new variables be xn+k, k = 1,2,3,..., and their coefficients be ai, n+k,
i=1,2,…m, and cn+k. Since the number of constraints remains the same, the
number of basic variables also remains the same, and so the original optimal
solution gives a basic feasible solution of the new problem. The relative cost
coefficients corresponding to the newly introduced cost coefficients cn+k would
be given by (5) as
If all these are nonnegative, the original optimal solution remains optimal for the
new problem. If not, then from this point onwards iterations may be done to obtain
the new optimal solution taking into account the new variables.
130
the simplex multipliers, by (7), are
4
c7 =c7 + a
i 1
i7 i 12 0.
Therefore in case (i) the original optimal basis remains optimal, and the optimum
value of the objective function remains unchanged.
In case (ii), proceeding similarly, c 7 = 10. This being negative, the original
optimal basis is now not optimal, and further iterations are necessary to get the
new optimal. The starting table for finding the new optimal solution will be the
same as of the original optimal solution, (table 1), with an additional column P 7
in which a 17 a 27 a 37 a 47 1
= A-10 [a17 a27 a37 a47]1 = [3 0 5 4]1 and c 7 = 10.
Basis B P1 P2 P3 P4 P5 P6 P7
x1 2/3 1 4/3 1/3 3
x2 1/3 1 1/3 -1/3 0
x3 13/3 1 7/3 -1/3 -5
x4 11/3 1 2/3 1/3 -4
f 13/3 11/3 1/3 -10
The new optimal solution after two iterations turns out to be x 1 = x2 = 0, x3 = 16/3,
x4 = 17/3, x5 = 1, x6 = 0, x7 = 2/3; f = 4/3.
131
If K is the set of feasible solutions of the original problem and K' the set of
feasible solutions of the modified problem obtained by introducing new con-
straints, then K' K. If the original optimal solution X0 satisfies the new con-
straints, then X0 is in K1, and since f (X0) is minimum in K, it is also minimum in
K1. In this case, therefore, the original optimal solution continues to be optimal.
If some or all of the new constraints are violated by X0, then the problem has to
be solved further by taking into consideration the new constraints. Each new
constraint in the form of an inequality gives rise to a slack variable, and, if neces-
sary, also an artificial variable. For a constraint in the form of an equation, an
artificial variable may be introduced. A start is made with the feasible basis
consisting of the variables in the original optimal solution and the slack or
artificial variables (as the need be) of the new constraints. The problem may now
be solved by the two-phase or the big M method. If all the additional constraints
are inequalities, the problem may also be solved, without introducing artificial
variables, by the dual simplex method.
Example: Let us introduce the additional constraint 3x1 - 2x2 < 2 in the example
of section 3. The original optimal solution, x1 = 2/3, x2 = 1/3, does not violate this
constraint. Hence it continues to be the optimal solution of the modified problem.
However, if the new constraint is 3xI 2x2 > 2, the situation becomes different.
The original optimal solution, (table 1) x1 = 2/3, x2 = 1/3, violates this constraint.
In order to obtain the new optimal solution, we introduce the slack variable x7 in
the new constraint, and write it as
3x1 2x2 x7 = 2.
Eliminating the basic variables x1, x2 from this equation with the help of the first
two equations in the original optimal table, we put this equation as
14 5
x5 x6 x7
2
3 3 3
132
and introduce it in table 1 as follows.
Basis B P1 P2 P3 P4 P5 P6 P7
x1 2/3 1 4/3 1/3
x2 1/3 1 1/3 -1/3
x3 13/3 1 2/3 1/3
x4 11/3 1 2/3 1/3
x7 -2/3 -14/3 5/3 1
f 13/3 11/3 1/3
Doing one iteration of the dual simplex method, we obtain the new optimal
solution as x1 = 6/7, x2 = 2/7; f=34/7.
If the deleted variable is a nonbasic variable or a basic variable with a zero value
in the optimal basis, then the original optimal solution remains unchanged,
because the zero value of the variable in the optimal solution makes the variable
nonexistent in effect.
If the variable to be deleted is a basic variable with positive value in the optimal
solution, its removal will affect the optimal solution. To obtain the new optimal
solution, we should delete from the original optimal table the column correspond-
ing to the deleted variable. Also this variable should be dropped from the basis
column. This leaves the equation against the deleted basic variable in a form
which is not canonical, and the number of basic variables in the system one short.
We may now introduce an artificial variable in this equation, and proceed to
obtain the solution by the two-phase or the big M method. As an alternative,
another approach is also possible which involves the dual simplex method. After
dropping the deleted variable from the table, the sign of all the entries of the row
corresponding to that variable are changed. This leaves the equation essentially
133
unchanged. Then a new basic variable is introduced in this equation with+1 as its
coefficient. This makes the new basis, which includes this variable, infeasible,
but the relative cost coefficients remain unchanged as nonnegative. Therefore
from here onwards the dual simplex method may be employed to obtain the new
optimal solution, with the new variable becoming nonbasic, which can then be
dropped without affecting the optimal solution.
Basis B P1 P2 P4 P5 P6 P7
x7 2 1 2 1 1
x4 1 3 2 1 2
x3 8 4 5 2 1
f 4 1 1 2
x2 3/2 1/2 1 1/2 1
x5 1 2 1 1 1
x6 5/2 5/2 1/2 1 3
f 15/2 11/2 5/2 3
If the constraint to be deleted is such that its slack variable has a positive value
in the optimal solution, then its deletion leaves the optimal solution unchanged.
134
This is so because the constraint is not being satisfied as an equality by the
optimal solution, and therefore it is ineffective in determining the optimal
solution. There are other constraints, those which are satisfied as equations,
which determine it. Therefore the ineffective constraint may be deleted from the
problem without doing any damage to the optimal solution.
If the constraint to be deleted has zero value for its slack variable in the optimal
solution, that is, if it is being satisfied as an equality, then the modified problem
may have a different optimal solution. Let the constraint to be deleted be of the
type
n
a
j 1
kj x j bk ,
a
j 1
kj x j + uk = bk, uk > 0.
There are two ways of looking at the process of deletion of this constraint. The
obvious one is to delete it from the problem, but in that case we shall have to
solve the problem ab initio. The other is to say that
n n
either a
j 1
kj x j < bk or a
j 1
kj x j > bk.
(Notice that it is one constraint or the other, not one and the other.) This also, in
effect, removes the constraint. The two alternative constraints can be combined
into a single equation by introducing a slack variable which is not restricted in
sign:
n
a
j 1
kj x j +sk = bk, sk unrestricted in sign,
which is equivalent to
135
n
a
j 1
kj x j + uk vk = bk, uk > 0, vk > 0.
uk can be identified with the slack variable already occurring in the original con-
straint, and so now we have only to introduce another variable vk with coefficient
-1 in the original constraint to get the modified problem. The problem so modified
is equivalent to the problem obtained by deleting the constraint from the original
problem. The problem with the additional variable can now be solved by the
method of section 6.
a
j 1
kj x j >bk
a
j 1
kj x j vk = bk, vk > 0,
a
j 1
kj x j +uk vk = bk, uk > 0, vk > 0,
a
j 1
kj x j =bk,
we may introduce two new variable, uk, yk, with coefficients +1 and -1
respectively, in the constraint to get the desired effect of deleting the constraint.
136
Example: In the optimal solution of the example of section 5, (table 2), the vari-
ables x4 and x6, which are respectively the slack variables of the first and the third
constraint of the original problem, are positive. Hence the deletion of the first or
the third constraint from the problem leaves the optimal solution unchanged. But
the slack variable x5 of the second constraint is zero in the original optimal
solution. Therefore if the second constraint is deleted, the optimal solution will
change. Since this constraint is of > type, to determine the optimal solution of the
modified problem, we introduce a new variable x 7 with coefficient +1, in
addition to the old slak variable x5 (with coefficient —1), to get the constraint
xl+2x2+x3-x5+x7 = 2.
The other two constraints remain the same. The coefficients of x 7 in the three
constraint equations and the objective function are a17 = 0, a 27 = 1, a 37 = 0, c7=0.
The corresponding values in the original optimal solution, (table 2), can be calcu-
Basis B P1 P2 P3 P4 P5 P6 P7
x3 2 1 2 1 1 1
x4 1 3 2 1 2 2
x3 8 4 5 2 1 2
f 4 1 1 2 2
One iteration on the above table gives the new optimal solution as x, = 0, x2 = 0,
x3 = 3/2; f = 3. It can be verified that this solution satisfies the first and the third
constraint but not the second, as it now stands deleted.
So far in this chapter we discussed the effect of changes in the values of the input
data of an LP problem on its original optimal solution. The changes considered
137
were discrete. We shall now assume that the coefficients in the problem vary
continuously as a function of some parameter. The analysis of the effect of this
functional dependence, hereafter called parametric variation, on the optimal
solution of the problem, is called parametric linear programming. Parametric
variation can be linear or nonlinear. The nonlinear case will not be considered
here, as the computations in that case become too cumbersome.
In the subsequent sections we shall consider linear parametric variations in (i) the
cost coefficients cj, (ii) the right hand entries bi of the constraints, (iii) the
coefficients aij and (iv) cj, bi and aij simultaneously.
138
CHAPTER VII
VII. 1. Introduction
Networks are familiar diagrams in electrical theory; they are easily visualized in
transportation or communication systems like roads, railways or pipelines, nerves
or blood vessels. A large variety of mathematical problems are presented by
networks, ranging from puzzles for children to intricate problems challenging
mathematicians. Many problems, particularly those which involve sequential
operations or different but related states or stages, are conveniently described
diagrammatically as networks. Sometimes a problem with no such apparent
structure assumes a mathematical form which is best understood and solved by
interpreting it as a network.
A network, in its more generalized and abstract sense, is called a graph. In this
chapter we shall discuss some linear programming problems of such special
forms that the ideas of graph theory help in their solution.
139
The graph is said to be finite when V and U are finite sets. We shall restrict our
discussion to finite graphs only.
Fig. 1
140
shall denote by (Vk) the set of arcs of G(V, U) incident with a subset Vk of V,
by +(Vk) the set of arcs incident to Vk, and by -(Vk) the set of arcs incident
from Vk. In the figure, if V1 = {v2, v3}, then
+(V1) = {u1,u5}, -(V1) = {u2, u4,u6} and (V1) = {u1, u2, u4, u5, u6}.
A sequence of arcs (ul, u2, ….., uk+1, ……. uq) of a graph such that every
intermediate arc uk has one vertex common with the arc uk-1 and another common
with uk+1 is called a chain. For example, the sequence (u2, u3, u4, u7) in the figure
is a chain. We may also denote a chain by the vertices which it connects, for
example, the above chain may also be written as (vl, v3, v2, v9, v6).
A chain becomes a cycle if in the sequence of arcs no arc is used twice and
the first arc has a vertex common with the last arc, and this vertex is not common
with any intermediate arc. For example, the (u3, u5, u7, u4) in the figure is a cycle.
A path is a chain in which all the arcs are directed in the same sense such
that the terminal vertex of the preceding arc is the initial vertex of the succeeding
arc. In the figure the sequence of arcs (u1, u3, u6, u9) is a path. We may also denote
the path in terms of the vertices as (v1, v2, v3, v4, v5). A path is a chain, but every
chain is not a path.
A circuit is a cycle in which all the arcs arc directed in the same sense. The
cycles (u1, u3, u2) and (u8, u9) are circuits.
141
at least two components. The graph of Fig. 1 has two components, one consisting
of vertices v7, v8 and the arc u11 and the other the remaining portion.
142
many centres. Every vertex of a strongly connected graph is a centre. The tree of
Fig. 2 has no centre. A tree can at the most have only one centre.
A tree with a centre is called an arborescence (Fig. 3). In the figure the
centre is marked ʘ. In an arborcscence all the arcs incident with the centre go
from it and all the other arcs are directed in the same sensed
Let a number xjk be associated with each arc (vj , vk of a graph G(V, U), and
let va and vb be two vertices of the graph. There may be a number of paths from
va to vb. For each path we define the length of the path as xjk where the
summation is over the sequence of arcs forming the path. The problem is to find
the path of the smallest length.
The term length is used here in a generalized sense of any real number
associated with the arc and should not be regarded as a geometrical distance. A
road map connecting towns is a graph and the distance along a road between any
two towns is the length of a path within the present definition of the term, but this
is only a particular case. The time or the cost involved in going from one town to
another is also a length under the present definition. There may be more abstract
situations in which the length is not even non-negative. In general xjk is a real
number, unrestricted in sign.
Many methods and algorithms have been suggested for solving the
problem of the minimum path. We shall describe two algorithms here, one
applicable only to the case when xjk>0 for all arcs and the other for the general
case when xjk is unrestricted
I All arc lengths non-negative. Let fj denote the minimum path from va to vj. We
have to find fb. Obviously fa=0
143
Let Vp be a subset of V such that va is in Vp and vb is not in VP Further
suppose that fj for every vj in VP has been determined. Now determine fj + xjk for
every vj in VP and vk not in VP such that (vj, vk) is an arc incident from Vp.
Let
fs = fr + xrs.
VP+1 = Vp {vs},
Example: Find the minimum path from v0 to v, in the graph of Fig. 4 in which
the number along a directed arc denotes its length.
144
Table 1 shows the iteration according to the algorithm explained above. In the VP
column are listed the vertices in the subset VP. Under f are written the least
distances to these vertices from v0. (VP) are the arcs incident from VP’ (vj, vk)
being written as (j, k). Under x are given the lengths of the arcs. F s, is the
minimum of f+x, and vs is the vertex to which this minimum distance leads and
which in the next iteration is included in the enlarged subset VP+1.
145
The minimum path is found to be of length 17 and goes through the
vertices (0,1,2,3,6,8).
Let va, vb be two vertices in the graph G(V, U) whose arc lengths are real numbers,
positive, negative or zero. We have to find the minimum path from v a to vb. We
assume that there are no circuits in the graph whose arc lengths add up to a
negative number. For, if there is any such circuit, one can go around and round
it and decrease the length of the path without limit, getting an unbounded
solution.
146
Let fj denote the length of the path from va to any vertex vj in the
arborescence. The arborescence determines fj uniquely for each vj in V1, but fj is
not necessarily minimum. Let (vk, vj) be an arc in G but not in A1. Consider the
length fk + xkj and compare it with fj. If fj < fk + xkj, make no change. If fj > fk+xkj,
delete the arc incident to vj in A1 and include instead the arc (vk, vj). This modifies
the arborescence from A1 to A2 and reduces fj to its new value fk + xkj, the
reduction in the value of fj being fjfkxkj. The lengths of the paths to the vertices
going through vj are also reduced by the same amount These adjustments are
made and thus the new values of fj for all vj in A2 are calculated.
Now repeat the operation in A2, that is, select a vertex and see if any
alternative arc gives a smaller path to it If yes, modify A2 to A3 and adjust fj
accordingly. Ultimately an arborescence Ar is reached which cannot be further
changed by the above procedure. Ar marks out the minimum path to each vj from
va, and fb in this arborescence is the minimum path to vb. The proof is as follows.
Proof. Let (va, v1, v2,..., vb) be any path in G from va to vb. Its length is
x a 1 + x12 + ..... + xpb. The vertices in this path are in Ar also because Ar contains all
those vertices of G which can be reached from va. By the property of Ar given in the
last paragraph, for every vertex vj in Ar and for every arc (vk, vj) in Gr,
Fj < fk + xkj,
or fj fk < xkj,
because otherwise A,could have been further modified. Writing these inequalities
for all vertices of the above path,
f1 fa < xa1,
f2 f1 < x12,
……………..
fb fp < xpb,
Adding, we get,
147
fbfa<xa1 + x12 + x23 + …. + xpb,
or since fa = 0,
Thus we prove that no path from va to vb in G can be smaller than fb. Since the
path of length fb is also in G, this path is the minimum. Proved.
The path of maximum length can be found either by changing the signs of the
lengths of all arcs and then finding the minimum path, or by reversing the
inequality fj > fk+ xkj to fj < fk + xkj as the criterion for changing an arc in the
arborescence, so that at every stage a greater path is selected against a smaller
one.
Example: Find the minimum path from v0 to v7 in the graph G of Fig. 5. Notice
that it has no circuit whose length is negative.
Draw an arborescence A1 (Fig. 6) with centre v0 consisting of all those vertices
of the graph which can be reached from v0, (v8 is thus excluded), and the
necessary number of arcs. Notice that there can be many such arborescences. A1
is one of them.
148
Now consider the vertex v3. There is an arc (v2, v3) in G which is not in A1 such
that
So we delete the arc (v1, v3) which is incident to v3 in A1 and instead include the
arc (v2, v3). This gives us a new arborescence A2 with f3 =5. Since no vertex is
reached in A1 through v3, all other fj remain unchanged.
Coming now to v4 in A2 (figure not drawn), arc (v3, v4) is in G but not in A2 such
that f4 = 3 > f3 + x34 = ‒5 ‒ 4 = ‒ 9. So we delete the arc (v0, v4), include (v3, v4),
get another arborescence A3 with f4 = ‒ 9 and consequently f7 = ‒7.
Continuing like this we finally get the arborescence (Fig. 7) which cannot be
further modified. No alternative arc decreases the length of the path from v 0 to
any vertex. This is seen by testing for every possible alternative arc. The
minimum path from v0 to v7 is (v0, v2, v3, v4, v6, v7) with length -12.
149
VII. 4 Spanning tree of minimum length
Let G(V, U) be a connected graph with undirected arcs, and let T(V, U’) be a tree
such that U' U. The set of vertices of T is the same as that of G, while all the
arcs of T are arcs of G also. Then T(V, U’) is said to be a spanning tree of G(V,
U) or T is said to span G. In Fig. 8 a spanning tree is shown in thick lines and the
graph which it spans consists of thick and thin lines. It is obvious that a spanning
tree of a graph is not unique. For example in Fig. 8 if we remove u1 and introduce
u2 in the tree, we still have a spanning tree.
Fig. 8
The problem is to find the spanning tree of minimum length if the length of each
arc of G is given as a non-negative number. The problem is of practical signifi-
cance in laying down pipelines or telephone wires connecting towns.
We denote the arc length between the vertices vj and vk by xjk. Since the arcs are
undirected, xjk=xkj for all arcs. Also xJk > 0 for all arcs.
We describe an algorithm for solving this problem which needs the condition that
no two arcs of G are of the same length. Therefore we assume that this condition
holds. In case some arcs are of-equal length, it is possible to introduce small
differences in their lengths in such a way that these changes do not affect the
optimal solution. For example, if
X
jk = Xpi = Xrs,
150
we put xpq = xjk + e, xrs = xjk + 2e, e >0,
keeping e small enough as not to make xrs equal to or greater than any other arc
length which is greater than xjk.
Consider each vertex of V one by one and connect it to its nearest neighbour. In
this way we shall get a partial graph G1(V, U1) of G consisting of all its vertices
and some of its arcs. G1 may, in general, be an unconnected graph with several
components, each of which is connected within itself.
Again let each of these components be treated as 'vertices' and let each
'vertex' be connected to its nearest neighbour, yielding a graph G3(V, U3). We
repeat this procedure till a connected graph Gp(V, Up) is obtained. This graph is
the required spanning tree.
151
Before giving a proof of this algorithm we work out an example to clarify
the procedure described above.
Example: Find the minimum spanning tree of the graph G(V,U) of Fig. 9. Notice
that it is an undirected graph.
Going through all the vertices v1 to v8 and drawing the arc connecting each to its
nearest neighbour, we get the graph G1(V, U1) of Fig. 10. The nearest neighbour
of v1 is v3, of v2 is v3, of v3 is v2, and so on. The graph G1 is not connected. It has
three components A1, A2, A3 We treat them as three 'vertices'. The arcs of G
connecting A1 to A2 are of lengths 14,18, 8, 16, 11 and so the distance between
A1 and A2 is 8. Similarly the distance between A2 and A3 is 9. Also since there is
no arc connecting A1 and A3, the distance between them is . The nearest
neighbour of A1 is A2 and of A2 is A1. So we connect the two by arc (v2, v5) which
measures the distance between the two.
152
Thus we get the graph G2(V, U2) of Fig. 11 which has two components, A4 and
A3 Since they are only two, each is the nearest neighbour of the other, and so we
connect them with the arc (v4, vg) (shown dotted) which measures the distance
between them. Thus we get a single connected graph which is the smallest span-
ning tree. The length of the tree is 38.
Proof. Since G(V, U) is connected and no two arcs are of equal length,
every vertex of G has a unique nearest neighbour. By connecting every vertex to
its nearest neighbour we get the graph G1(V, U1) which has components. When
these components are connected, each to its nearest neighbour, we get another
graph G2(V, U2) which has components. By repeating this operation we finally
get a graph Gp(V, Up) which has one single component, and thus the final product
is a connected graph.
This graph has no cycles. For, if possible, let it have a cycle (v a, vb, vc,....
vd, va). Let us mark arrows on the arcs in this cycle (remember that originally
they are undirected) which indicate the nearest neighbour of each vertex. For
example, if the nearest neighbour of vb is vc we mark the arrow from vk to vc. In
this way every arc in the cycle will receive an arrow. Because if, for instance.
(va, vb) does not get an arrow, then neither vb is the nearest neighbour of va. nor
va of vb, and so the arc (va, vb) should not have been there at all.
After all the arcs in the cycle have been marked, there will be one of the
two following situations.
i) All the arcs are marked in the same sense. Let us suppose they have been
marked as va vb, vb vc,.... vd va. Then since vc and not va is the nearest
neighbour of vb, xab >xbc. Similarly for other vertices; so we find that
xab>xbc>…>xda
153
But xab>xda means that the nearest neighbour of va is not vb. This is a
contradiction. Therefore all the arcs cannot have arrow marks in the same sense.
(ii) Some arcs are marked in one sense and some in the opposite. Then there must
be a vertex, say vb, such that the arrows to both its neighbours va and vc are
directed away from vb. This would mean vb is nearest to v, and also to vc. Since
the arcs are of different lengths, this is not possible. So this case also leads to a
contradiction.
We thus prove that the graph we get by this algorithm is a connected graph
without cycles, that is, it is a tree. Since it includes all the vertices of G, it spans
G.
To prove that it is the smallest spanning tree, let us suppose, if possible, that the
smallest spanning tree T(V, U’) is not the same as Gp (V, UP). Then there must be
an arc in Gp which is not in T, otherwise the two will not be different Let this arc
be (va, vb) such that vb is the nearest neighbour of va. Let us introduce this arc in
T. A cycle will be formed, because any additional arc in a tree produces a cycle.
Let this cycle be (va, vb, vc …., vd, va). Since vb is the nearest neighbour of va, the
length of the arc (vd, va) is greater than that of (va, vb). So if we delete the arc (vd,
va) from T and introduce (va, vb), the length of the resulting tree will decrease,
which would mean T is not of minimum length, which is contrary to hypothesis.
So there is not an arc of Gp which is not in T. But the total number of arcs in Gp
is the same as in T, because both are trees spanning the same graph and should
have n 1 arcs where n is the. number of vertices in G. Thus Gp is the same as
T, the minimum spanning tree of G) Proved.
154
VII. 5. Scheduling of sequential activities.
Let cjk be the time required on job vj before job vk can start. It is the time
interval between the start of the two jobs, vj preceding vk. We indicate this
information by drawing the arc (vj, vk) and associating the length cjk with it. The
time required to complete vj is represented by the arc (vj, vb) of length cjb, as it
would mean that the time cjb should be spent on vj before the end vb can be
reached. Also if vj can start only after some time has passed from the beginning
of the project, we may indicate it by caj. All arcs (vj, vk) with lengths cjk will in
this way denote a sequential relationship in terms of time among various jobs.
Each sequence of jobs which must be done before work on vj can begin is
represented by a path connecting va to vj. The longest of these paths determines
the earliest time vj can start. In this way the longest path joining va to vb gives the
minimum time of completion of the project. The problem thus reduces to finding
the maximum path with arc lengths cjk (or the minimum path with arc lengths
cjk). This path is called the critical path.
Example: A building activity has been analyzed as follows, Vg stands for a job.
155
(i) v1 and v2 can start simultaneously, each one taking 10 days to finish.
(ii) v3 can start after 5 days and v4 after 4 days of starting v1.
(iii) v4 can start after 3 days of work on v3 and 6 days of work on v2.
(iv) v5 can start after v1 is finished and v2 is half done.
(v) v3, v4 and v5 take respectively 6, 8 and 12 days to finish. Find the critical
path and the minimum time for completion.
Fig. 14 is the graph of the activity, vertices v0and vb representing the start and the
finish, and the other vertices the jobs to be done in between. The arc lengths
denote the time between the start of two jobs.
The arborescence giving the maximum path is shown in Fig. 15. The critical path
is (va, v1, v5, v0) of length 22 days which is the minimum time of completion of
the work.
Having determined the critical path, another type of question can be raised.
Suppose it is possible to reduce time on some jobs but at an increased cost. To
keep matters simple let us assume that cost of a job increases linearly as time of
its completion decreases within certain limits. What is the least increase in cost
156
if the time of completion of the project is decreased by a certain period? If the
maximum path is to be reduced, some arc lengths must decrease. We have to
determine the decrease which costs the least.
Let j be the increase in cost for a unit decrease in time for the completion
of the job vj. Normally j would be positive. But there can be situations when
slowing down a job results in increased cost and speeding it up leads to some
saving. Therefore j, in general, are real numbers unrestricted in sign.
We pick up the paths which need reduction in time and examine each
vertex vj in these paths in the order of j increasing, beginning with the smallest
j and reduce the time there as much as is necessary and possible. When the
reduction in time in the concerned paths has been made, we stop further reduction
and add up the cost. We illustrate by the following example.
vj 1 2 3 4 5
Normal cjb 10 10 6 8 12
Minimum cjb 7 8 4 6 8
j 3 1 2 2 2
The paths from va to v1 exceeding the length of 16 days are (va, v1 v5, vb)
and (va, v2, v5, vb). The former is of length 22 days and so needs a reduction of 6
days, while the latter is of length 17 and so needs to be reduced by 1 day. The
jobs (or vertices) involved are v1, v2, v5. Of these reduction at v2 is the cheapest.
So we start with 2 = 1. The path through v2 needs reduction of 1 day only which
157
we get by putting c25 = 4 days at a cost of 1. This brings the path (va, v2, v5, vb) to
16. In the other path the reduction required is still 6, because the arc (v2, v5) is
not in it. The vertices to be examined are now v1 and v5 of which reduction at v5
is cheaper. So we should reduce c5b by 6. That would make c5b = 6, but the
minimum possible value of c5b is 8. So we reduce it to 8 days at a cost 4 x 2 = 8.
The remaining reduction of 2 days can come only at v1 at a cost 2 x 3 = 6. But
reducing c56 to 8 days makes reduction in c25 unnecessary. So we restore c25 to its
original value of 5 days. The minimum additional cost of doing the work in 16
days is thus 14.
158
be no accumulation of whatever stuff is flowing. To extend the idea to more
abstract situations it is necessary to give a precise definition of flow in a graph.
Let xi, be a real number associated with every arc ui, i = 1,2,..., m, of a
graph G(V, U) such that for every vertex vj,
where the left-hand side summation 1 is on all arcs going to vj and the right-
hand side summation is on all arcs going from v j. Then x, is said to be a flow in
the arc ui, and the set {xi}, i = 1,2….,m, is said to be a flow in the graph G.
Let G(V, U) be a graph (Fig. 16) with V as the set of n + 2 vertices va, v1,
v2, v3, ..., vn, vb, and U as the set of m + 1 arcs u0, u1, u2, ….., um. The vertices va
and vb and the arc uo play a special role in this graph, va is called the source and
vb the sink, and the arc u0 connects vb to va. It is the only arc going from vb and
also the only arc going to va. Other arcs incident with va are such that they all go
from va. Similarly all other arcs incident with vb go to vb.
With every arc ui, i=1, 2, …., m, (except u0), is associated a real number ci > 0
called the capacity of the arc.
Let {xi} be a flow in the graph G such that 0 < xi < ci, i = 1, 2,…, m. Notice that
x0 as the flow in the arc u0 is defined but the capacity of the arc u0 is not defined
and so there is no constraint on x0. By the definition of flow and because x0 is the
only flow out at vb and in at va,
= xo
= total flow in at va
159
All that flows out at va flows in at vb. This explains why va and vb have been called
the source and the sink respectively. The arc u0 serves as a mathematical device
to bring the flow in the network within the definition of a flow in a graph. We
shall call u0 the return arc.
The problem is to determine the maximum flow out at the source (= maximum
flow in at the sink). More precisely, the problem is to find the flow {xi} such that
x0 is maximum
We first describe an algorithm which solves the problem. The proof will be given
later.
(i) Start by assuming a feasible flow. In the absence of any better guess, it is
always possible to start with xi = 0 for all i.
(ii) Divide the set V of vertices into two subsets, Wl and W2, such that each vertex
is either in W1 or in W2 but not in both. To begin with let W1 = {va}, all other
vertices being in W2.
(iii) Adopt the following procedure of transferring a vertex from W 2 to W1. Let
vj W1, vk W2.
(a) if (vj, vk) is an arc ui, and xi < ci, transfer vk to W1;
(iv) If the flow is not optimal, increase xi in arc of category (a) in which xi< ci
and decrease xi in arc of category (b) in which xt > 0 so that the flow remains
feasible and at least one arc gets capacity flow. Go back to (ii).
160
Repeating operations (ii), (iii) and (iv) we shall come to a stage when v b
cannot be transferred to W1 by operation (iii). The flow at that stage is optimal.
Example: In the graph of Fig. 16, numbers along arcs are values of c i. Find the
maximum flow in the graph.
Assuming the initial flow as zero in all arcs, let W1 = {va}. There is an arc
(va, vI) from va in W1, to v1 in W2 in which the flow (zero) is less than its capacity
3. Therefore by criterion (iiia) transfer vI to WI. Now there is an arc (v1, v4) with
v1 W1 and v4 W2 such that the flow in it is less than its capacity 1. So we
transfer v4 to W1. In the arc (v4, vb), v4 Wl, vb W2, the flow is zero which is
equal to its capacity and so we cannot transfer vb to W1 for this reason. But there
is another arc (v4, v3), v4 W1, v3 W2, which is such that v3 is transferrable to
W1. Further, because the flow in arc (v3, v5), v3 W1 v5 W2 is below capacity,
v5 is transferred to W1, and finally because the arc (v5, vb) satisfies the same
criterion, vb is transferred to W1. Thus it is possible to transfer vb to W1, and so
the flow is not optimal.
We have gone along the chain (va, v1, v4, v3, v5, vb). The least capacity in
this chain is 1. So in each arc of this chain and also in the return arc (vb, va)
increase the flow to 1, keeping the flow as it was in all other arcs. The modified
flow is feasible because in each arc it is less than or equal to its capacity, and also
at every vertex the flow in equals the flow out.
161
The above reasoning is repeated with every modified feasible flow until it
is not possible to transfer vb to W1. The iterations are shown in table 3. In each
feasible flow the numbers in ( ) indicate the chain along which it is possible to
proceed to bring vb into W1. The asterisk indicates that the flow in the
corresponding arc is equal to its capacity and cannot be further increased.
162
reduce flows in them by 1 and increase flows in other arcs of the chain by 1
thereby saturating the arc (va, v3).
The iterations stop at this stage because no matter how we try we cannot
bring vb into W1. In fact we cannot even proceed one step from the initial position
of W1 containing only one point va. This is so because the arcs going out from va
are all saturated and so neither v1, nor v2 nor v3 can be brought in W1. The
maximum flow in the graph is 6.
Theorem 1. For any feasible flow {xi}, i=1,2,….,m, in the graph, the flow x0 in
the return arc is not greater than the capacity of any cut in the graph.
Proof. Let +(W2) be any cut. Consider the flow in the arcs going to and going
from W2. The flow in should be equal to the flow out.
Therefore
1xi = x0 + 2xi,
Where 1 and 2 respectively denote summations over the arcs going to and going
from W2 (except u0). Since xi>0 for all i,
163
Theorem 2. The algorithm described earlier in this section solves the
problem of the maximum flow.
Again, let uj (W2), j0. It means uj is an arc (vr, vs) where vr W2,
vs W1. The flow in this arc should be zero, because if it were not so, it would
have been possible to transfer v, from W2 to W1 by criterion (iiib), which again is
contrary to hypothesis.
We conclude that the flow into W2 is ci, summation being over all uj +(W2),
and the flow out of W2 is only in the return arc u0, because it is the only arc going
from W2 carrying a nonzero flow. Let the flow in u0 be y0. Then, since the flow
in and out of W2 should balance.
ci = y0,
where ci, is the capacity of the cut obtained by the application of the algorithm.
But from theorem 1, for any flow x0 in u0.
x0 < ci,
y0=max x0,
which means the algorithm leads to finding out the maximum flow. Proved.
164
Proof. By theorem I, x0 < ci,
But we have seen in the course of the proof of theorem 2 that there is a cut corre-
sponding to which the flow in is equal to cut capacity. Necessarily this flow
should be maximum and the corresponding cut capacity should be the least of all
cut capacities. Proved.
This theorem is generally known as the max-flow min-cut theorem.
165
CHAPTER VIII
THEORY OF GAMES
VIII. 1. Introduction
In all the various types of optimization problems considered so far the assumption
has been that there is a single decision maker whose interest lies in choosing the
variables in such a way as to optimize the objective function, there; being no
conflict in deciding what the objective is. There are, however, situations in which
there are two or more decision makers, each one making decisions (that is,
choosing variables) to optimize his objective function which may be in conflict
with the objectives of others. Trade and commerce, battles and wars, various
types of games, and many other activities present situations in which different
parties compete to achieve their own objective and prevent others from achieving
theirs. Mathematical models of such situations and their solutions form the
subject matter of the theory of games.
Game is defined as an activity between two or more persons involving moves by
each person according to a set of rules, at the end of which each person receives
some benefit or satisfaction or suffers loss (negative benefit).
The set of rules defines the game. Going through the set of rules once by the
participants defines a play. There can be various types of games. They can be
classified on the basis of the following characteristics.
166
(iii) Number of moves: These may be finite or infinite.
(iv) Number of alternatives (or choices) available to each person per move: These
also may be finite or infinite.
A finite game has a finite number of moves, each involving a finite number
of alternatives. Otherwise the game is infinite.
(v) Information available to players of the past moves of other players: The two
extreme cases are, (a) no information at all, (b) complete information avail-
able. There can be cases in between in which information is partly available.
(vi) Pay off: It is a quantitative measure of the satisfaction a person gets at the
end of the play. It is a real-valued function of the variables in the game.
Let pi be the pay off to the person Pi i=1,2,..., n, in an n-person game. Then if
n
The player P1 has m choices i,i = 1,2,…,m, the rows of a matrix, while P2 has n
choices j, j =1,2,….,n, the columns of the same matrix. The mxn matrix A = {aij}
gives the pay off to P1 for all possible combinations of the choices. Since it is a
zero-sum game, the pay off to P2 is the matrix -A. Conventionally the pay off
matrix to P1, the player who chooses row-wise, is taken as the matrix of the game
(table 1).
167
The game is played as follows. P1 chooses a value of i and P2 choose a value of j
without each knowing what the other has chosen. Then the choices are disclosed,
and P1 receives aij (or P2 pays aij). Here we shall discuss matrix games.
168
"If I choose i= 1, then it could happen that P2 chooses j=3 in which case I gain
only4. Similarly for my other choices i = 2,3,4,5, P2 can force me to get only
1, 2, 3, 3 respectively by his choice of j. Thus the best choice for me is to
opt for i = 2, for this assures me at least the gain 1. In general, I should try to
maximize my least gain, or find out
P2 can argue similaiiy to keep P1's gain the least. By his choosing j = 1,2,3,4, P1’s
gain can be respectively as high as 4, 3, 1, 2. So P2 should settle for j =3
because that would minimize P1's gain. In general, he should find out
and so the arguments of P1 and P2 lead to the same pay off. It may not always
happen, as in the following example.
169
The two are not equal. Notice that
max min au < min max aij
If, a matrix {aij} is such that
max min aij - min max aij => ars
i j j i
the matrix is said to have a saddle point at (r, s). In a game whose pay off matrix
is of this type, the optimal strategies of players P1 and P2 are said to be
i = r and j=s respectively, and ars is said to be the value of the game. Example 1
is of this type. But, in general, a matrix need not be of this type, as example 2
shows, and a saddle point as defined above may not exist. The above definitions
of optimal strategy and value of the game are therefore not adequate to cover all
cases and need to be generalized. The definition of a saddle point of a function
of several variables and some theorems connected with it form the basis of such
a generalization. We therefore first present these theorems.
170
Similarly the expression
min max f(X, Y)
y x
171
max min aij < min max aij. (2)
i j j i
We have only to regard as a real-valued function f(i, j) = aij of two variables i and
j where i = 1,2, ……, m, and j = 1,2,..., n, and (2) follows immediately from (1).
f(X0, Y0) = max min f(X, Y) = min max f(X, Y). (4)
x y y x
Proof.
(i) To prove that the condition is necessary, let (X0, Y0) be a saddle point such
that (3) holds. Since
172
But min f(X0, Y) < max [min f(X, Y)].
y x y
min max f(X, Y) < f(X0, Y0) < max min f(X, Y).
y x x y
(ii) To prove that the condition is sufficient, let (4) be true. Let the maximum of
min f(X,Y) occur at X0, and the minimum of max f(X, Y) occur at Y0. Then,
y x
from (4)
173
which so, again from (5).
which means
Which, by definition, means that (X0, Y0) is a saddle point of f(X, Y).
Proved.
174
Let P1 choose a particular i, i = 1,2,…..,m, with probability xi. We may also
interpret it as the relative frequency with which P1 chooses i in a large number of
plays of the game. The probabilities xi i = 1 , 2 , … … . , m , constitute the
strategy of P1. Similarly if P2 chooses a particular j with probability yj, the
probabilities yj, j = 1, 2,..., n, are the strategy of P2.
m
x 1,
i 1
i
Definition 2. The vector X = {xi} of nonnegative numbers xi, such that is
defined as the mixed strategy of P 1 . Similarly the vector Y = {yj} of nonnegative
n
y
j 1
j 1,
numbers yj, such that defines the mixed strategy of P2.
For the sake of brevity we define Sm as the set of ordered m-tuples of nonnegative
numbers whose sum is unity, and say that X Sm. Similarly Y Sn. Unless
otherwise mentioned it will be assumed throughout this chapter that X Sm and
Y Sn, where X and Y are mixed strategies of P1 and P2 respectively.
Definition 3. The mixed strategy X = i whose ith component is unity and all
other components are equal to zero is called a pure strategy of P 1 . Similarly
Y=j, where all the components of Y except the jth are zero, is called a pure
strategy of P2.
m n
E (X,Y) = x a
i 1 j 1
i ij y j = X’AY
175
so as to minimize P1's greatest expectation. Thus P1 aims at max min E(X, Y) and
x y
P2 aims at min max E(X, Y).
y x
Definition 5. If max min E(X, Y) = min max E(X, Y) = E(X0, Y0), then (X0, Y0)
x y y x
is defined as the strategic saddle point of the game, X0 and Y0 are defined as the
optimal strategies, and v = E(X0, Y0) is the value of the game.
where x1 + x2 = 1, y1 + y2 = 1.
E(X,Y) = 5x1y13x1y1+4
1 3 17
= 5 x1 y1 .
5 5 5
176
reconcile to - 17/5 and play Y0 = [3/5, 2/5]. These are the optimal strategies for
P1 and P2. The value of the game is 17/5, and (X0, Y0) is a saddle point of
E(X, Y).
Proof. Let i Sm be a vector such that its ith component is unity and all other
components are zero. Consider the m + n points
belonging to Em. Let C be the convex hull of the m + n points. Then the origin 0
of Em is either in C or not in C. We consider the two case separately.
Such that
m n
i 1
i i
j 1
j Pj 0 ,
n
or i +
j 1
j aij 0, i 1,2,...., m. (8)
n
since i > 0,
i 1
j aij 0, i 1,2,...., m. (9)
177
n
Also
j 1
j 0,
for, if it is equal to zero, each j should be zero, which from (8) would mean that
each i should also be zero. This would contradict hypothesis (7), and therefore
n
is not possible. Dividing (9)
j 1
j by we get
n n
j aij / j 0.
j 1 j 1
n
Putting yj = j / i 1
j
n
We get y
j 1
j aij 0 ,
(ii) Let 0C. Then by the theorem on separating hyperplanes there exists a
hyperplane containing 0, say BZ = 0, such that C is contained in the halfspace BZ
> 0. In particular, since i C,
Bi > 0,
or bi > 0, i = 1,2,…,m,
and therefore
m
b 0,
i 1
i
m m
Dividing by bi and putting xi = bi /
i 1
b , we get
i 1
i
178
m
x a
i 1
i ij 0 ,
THEOREM 4. For an m x n matrix game both max min E (X, Y) and min max
x y y x
E(X, Y) exist and are equal.
Proof. E(X, Y) is a continuous linear function of X defined over the closed and
bounded subset Sm of Em for each Y in Sn. Therefore max E(X, Y) exists and is a
x
continuous function of Y. Since Sn is also closed and bounded, min max E(X,Y)
y x
exists. Similarly we prove that max min E(X, Y) also exists.
x y
From theorem 3 either (10) or (11) holds. Let (11) hold. Then multiplying (11)
by the component yj- of Y and summing for all j, we get
n m
E(X,Y) = x a
j 1 i 1
i ij yj 0
x a kyj ,
m n
Ek(X,Y) = i ij
i 1 j 1
179
m n m n
= x a
i 1 j 1
i ij y j k xi y j ,
i 1 j 1
= E(X,Y) k. (13)
Since A is any matrix, what is true for A is true for A k. Therefore, from (12),
max min Ek(X, Y) < 0 < min max Ek(X, Y) is not true,
x y y x
or using (13), max min E(X, Y) <k< min max E(X, Y) is also not true (14)
x y y x
for any value of k. The only conclusion from (12) and (14) is that
max min E(X, Y) < min max E(X, Y) is false.
x y y x
Therefore
By theorem 2, (15) is a necessary and sufficient condition for a point (X0. Y0), X0
Sm Y0 Sn to exist such that
By definition 5, (X0, Y0) is a strategic saddle point, E(X0, Y0) is the value of the
game and X0, Y0 are the optimal strategies.
We thus conclude that every matrix game has a value and an optimal strategy for
each player.
180
THEOREM 5. Condition (16) is equivalent to
where i, i = 1,2, ..., m and j, j =1,2,..., n, are the pure strategies.
Proof. To prove the equivalence of (16) and (17) we have to prove that (17) is a
necessary and sufficient condition for the existence of (16).
That the condition is necessary is obvious. For, (16) holds for all X Sm. and
YSn, and i and are in Sm and Sn respectively.
n
To prove that (17) is sufficient for (16), we notice that E(iI, Y)= a
j 1
ij yj ,
because the ith component of i is unity and all the other components are zero.
Similarly
n
E(X, j) = x a
j 1
i ij .
m
Hence E , Y x = E(X,Y),
i 1
i i
E X , y
n
and j j = E(X,Y).
j 1
m m n n
E (i, Y0) xi < E (X0, Y0)xi, E (X0, Y0)yj < E (X0, j)yj
i 1 i 1 j 1 j 1
181
THEOREM 6. Condition (17) reduces to strict equality for at least one i and one
j, that is max E(i, Y0) = E(X0, Y0) = min E(Xo, j) (18)
i j
Proof. If possible let
182
It is clear that there is no saddle point in this game. Let the mixed strategy of Pl
be X = [x 1— x], Then
We plot E against x in the domain 0<x < 1, and obtain Fig, 1, The four lines
represent the four expected payoffs to P1. The continuous piecewise linear curve
OBCD gives the least expectation for any value of x,0 < x < 1. P1 must choose x
so as to maximize his least expectation Obviously C is the point where the least
expectation is the maximum. It is the intersection of lines (ii) and (iv), giving
x = 15/16, So the optimal strategy for P1 is X0 = [15/16, 1/16], and the value of
the game is v =E(X0,2) = E(X0, 4) = 245/16.
183
y1 = y3 = 0, sine y1 > 0, y3 > 0.
16y2 = 5 + 15y2,
or y2 = 11/16.
Consequently
y4 = 1 y2 = 5/16.
The optimal strategy of P2 is thus Y0 = [0 11/16 0 5/16].
It can be verified that E(X0, Y0) = 245/16. This completes the solution of the
problem.
184
VIII. 8. Notion of dominance
Sometimes a row or a column in the payoff matrix of a game is obviously
ineffective in influencing the optimal strategies and the value of the game. For
example, consider the game
Notice the rows 1 and 2. For every j, aij > a2j. Whatever the choice of P2, P1 will
do better by choosing i = 1 rather than i = 2. The second row therefore should not
play any part in the strategy of P1 or, in other words, the probability associated
with it should be zero. The solution of the above game would be the same as that
of the game with the payoff matrix
Thp problem is thus simplified. As another example, in the following matrix, the
first column does not play any part in deciding the strategy of P2 and so may be
left out of consideration.
3 1 1
1 2 3
4 3 3
185
Let the m x n matrix A = {aij} be the payoff matrix of the game and v its value, v
is a real number. By increasing every aij by a suitable positive number k, we may
form a matrix Ak = {aij+k} = {aij’} where every aij1 > 0. The expectation function
Ek (X, Y) of the game with payoff matrix Ak is given by equation (13) as
Ek(X,Y) = E(X,Y) + k.
By such a transformation the optimal strategies of the game do not change, but
the value of the game is increased by k, and it is ensured that this new value is
positive.
Let us assume that, if necessary, after this transformation, the matrix of the game
is A = {aij}, where aij > 0 for all i and j, and the value of the game is v > 0. Let
X0 = [X1 X2... xm and Y0 = [y1 y2 ... yn] be optimal strategies of P1 and P2
respectively. Then, from (17), for all j,
m
subject to x 1,
i 1
i
a
i 1
ij xi, 1, j=1,2,….,n,
m
subject to x 1/ v, x 0.
i 1
,
i
,
i
186
Subject to (20)
This is an LP problem put in the standard primal form. The value of the game is
v = l/fmin, and the optimal strategy of P1 is {xi} ={xi’v) where {xi1} is the optimal
solution of the LP problem.
If we start from the inequality
E(i,Y0) < E(X0,Y0) = V
of (17), we shall get the LP problem as
(21)
which is the dual of (20). One may either solve the primal or the dual to get the
solution of the game.
187
PROBLEMS
1. Prove that f(x) = x2, x R, is a convex function.
3. Prove that the linear function f(X) = CX, X En, is both convex and
concave.
8. Solve graphically.
a. Maximize 5x1 + 3x2 subject to 4x1 + 5x2 < 10, 5x1 + 2x2 < 10,
3x1 + 8x2 < 12, x1 > 0, x2 > 0.
b. Maximize 4x1 + 5x2 subject to x1 2x2 < 2, 2x1 + x2 < 6, x1 + 2x2 < 5, x1
+ x2 < 2, x1 + x2 > 1, x1 > 0, x2 > 0.
188
f. Minimize 5x1 3x2 subject to x1 + x1 < 2, 5x1 + 2x2 < 10, 3x1 + 8x2 < 12,
x1 > 0, x2 > 0.
g. Maximize 4x1 + 2x2 subject to x1 + x2 < 8, x1 = 4, x1 > 0, x2 > 0. Does the
optimal solution.
Change if the constraint x1 = 4 is changed to (i) x1< 4 (ii) x1 > 4? [(i) No
(ii) Yes]
9. Show graphically that
a. The problem: Maximize 3x1 + 4x2 subject to 4x1 + 3x2 > 12, x1 + 2x2 < 2,
x1 > 0, x2 > 0, has no feasible extreme points. What can be concluded
regarding the solution of the problem? [No solution]
c. Minimize 3x1 + 4x2 2x3 + 5x4 subject to 2x1 + 3x2 x3 + 2x4 > 2, 4x1
x2 + 2x3 x4 = 2, x1 + x2 + 3x3 x4 < 14, x1 > 0, x2 > 0, x3 and x4
unrestricted in sign.
11.For the problem: Maximize 6x1 + 2x2 4x3 + 5x4 subject to 4x1x2+ 2x3 +
3x4 < 1, x2 + 4x3 2x4 < 2, x1, x2, x3, x4 > 0, determine (i) the maximum
number of possible basic solutions, (ii) the basic feasible solutions, (iii) the
feasible extreme point solutions, (iv) the optimal solution.
189
[(i)15; (ii) (0,8,0,3,0,0), (3/4,2,0,0,0,0), (0,0,0,1/3,0,8/3), (1/4,0,0,0,0,2),
(0,0,1/2,0,0,0), (0,0,0,0,1,2); (iii) same as in (ii); (iv) (0,8,0,3,0,0); 31]
12.Solve (i) and (ii) of problem 1 by simplex method. In each case follow the
solution steps of the simplex method by interpreting them as the shift from
one vertex of the feasible region to another vertex in the graphical solutions
obtained earlier.
13.Solve the following problems using (a) the big M method, (b) the two-phase
simplex method. (i) Problem 8 (iii). (ii) Problem 8 (iv).
(iii) Minimize 2x13x2 + 6x3 subject to 3x1 4x2 6x3 < 2, 2x1 + x2 + 2x3 > 11,
x1 + 3x2 2x3 < 5, x1, x2, x3 > 0. [9; x1 = 0, x2 = 4, x3=7/12]
14.Solve the following problems using simplex method.
(i) Maximize 5x13x2 + 4x3 subject to x1x2<1, 3x1 + 2x2 + 2x3 < 1, 4x1
x3 = 1, x2 > 0, x3 > 0, x1, unrestricted in sign.
[43/5; x1=3/5, x2 = 0, x3=7/5]
190
Minimize x12x23x3 subject to 2x1 + 4x3 < 12, 4x1 + 8x2 + 3x3 < 10, 3x1 +
2x2 x3 < 7, x1 > 0, x2 > 0, x3 > 0.
Now solve this problem again, selecting the entering variable at each iteration
as the non basic variable with the least negative relative cost coefficient at that
stage. Do you get the same solution in both cases? [Yes]
17.Show that the LP problem: Minimize f(X) subject to AX=B, X>D>0, can be
converted into the form: Minimize f(Y) subject to AY = = K, Y > 0. Use this
approach to solve the problem: Minimize −3x1−x2−2x3 subject to 2x1 + 3x2 –
x3 < 28, −2x1 + 2x2 + 5x3 < 33, x1 + x2 – 2x3 < 37,
X1 > 2, x2 > 1, x3 > 3. [−175/2, x1 = 39/2, x2 = 1, x3 = 14]
18.Show that the simplex method can be used to solve a system of linear
equations or inequalities, and use this approach to solve the following sets.
i. 2x1 + x2 – x3 + 2x4 = 4, x1 – x2 + x3 + x4 = 2, x1 – x3 + 3x4 = 3, x1, x2, x3, x4 > 0.
ii. 2x1 – 4x2 = 1, 2x1 – 3x2 – 2x3 > 3, x1 – x2 – 6x3 < 5, x1, x2, x3 > 0.
[Hint. Introduce an artificial variable in each of the equations (after converting
inequalities into equations), and then minimize an objective function which is
the sum of the artificial variables. Thus we get a set of basic variables
expressed in terms of the other variables which can be given arbitrary values
to get any number of solutions.
i. x2 = 3−2x1, x3 = 3 – 2x1, x4 = 2 – x1
ii. x1=(19/2) + 12x3 – 2x5, x2 = (9/2) + 6x3 – x5, x4 = (5/2) + 4x3 – x5]
19.For the problem: Maximize f=3x1 + 4x2+x3+5x4 subject to 4x1 + 3x2 – 2x3 +
x4 < 10, 3x1 + 8x2 – 3x3 + 2x4 < 20, − 5x1 + 4x2 – 6x3 + 4x4 > − 20, x1, x2, x3,
x4 > 0; one iteration in the simplex table is as follows. (x5, x6, x7 are the slack
variables).
191
Basis Value P1 P2 P3 P4 P5 P6 P7
x4 1 2
x3 1
x7 2
–f –50 –38 33 –17 11
Without actually performing the simplex iterations, find the following missing
entries. (i) P7 column, (ii) P2 column, (iii) coefficient of x4 in the objective
function row, (iv) values of the basic variables x 4, x3, x7, [Hint. X=A-1B]. [(i)
(0,0,1), (ii) (7,2,12), (iii) 0, (iv) (10,0,60)].
20.Each of the following tables represents an iteration of the simplex tableau.
21.Let A0 be the matrix of a feasible basis of the LP problem as stated by (6), (7),
(8), and II be the multiplier vector for this basis, and C0 the row vector of cost
coefficients corresponding to the basic variables. Prove that f(X) = −B1 =
C0(A0−1B). (Hint. See section 15).
22.Show that an LP problem (with objective function required to be minimum)
has a unique optimal solution if there exists an optimal basis such that the
relative cost coefficients of the nonbasic variables are strictly positive. If one
192
of these relative cost coefficients, say ck’ is zero, then there exists another
optimal solution with xk in the basis, provided there is a positive coefficient
a'ik of xk in the canonical form of equations at that stage.
23.Show that the problem:
Minimize f=−x4+7x5+x6+2x7
Subject to x1 + x4 + x5 + x6 + x7 = l,
x1,…..,x7 > 0;
is degenerate and cycling occurs if the initial basis (x1, x2, x3) is successively
modified as follows:
Incoming: x4 x5 x6 x7 x2 x3
Outgoing: x2 x3 x4 x5 x6 x7;
but no cycling occurs and the optimal solution is immediately obtained if x3 is
replaced by x4. (Marshall and Suurballe).
24.In the problem: Maximize 20x1 + x2 + 10X3 subject to x1 + 4X2 – x3 < 20.
x1+x2 < 10, 3x1 + 5x2 −3x3 < 50, x1, x2, x3 > 0, in which direction is the solution
space unbounded? Without any computations what can be said about the
optimal solution to the problem?
[Solution space is unbounded in the direction of x3. Optimal solution is also
unbounded].
Duality
25.Write the duals of the following LP problems. In each case verify that the dual
of the dual is the primal.
(i) Minimize 6x1 + 3x2 subject to 3x1 + 4x2 + x3 > 5, 6x1 − 3x2 + x3 > 2, x1,
x2, x3 > 0.
193
(ii) Minimize x1 − 3x2 − 2x3 subject to 2x1 − 4x2 > 12, 3x1 – x2 + 2x3 < 7,
− 4x1 + 3x2 + 8x3 = 10, x1 > 0, x2 > 0, x3, unrestricted.
(iii) Maximize x1 + 6x2 + 4x3 + 6x4 subject to 2x1 + 3x2 +17X3+80X4 < 48, 8x1 + 4x2
Write the dual problem, and find its solution from this table.
[Minimize 40y1 + 30y2 subject to y1 + y2 > 5, − 6y1 + 2y2 > 3, − 5y1 + 5y2 > 2,
y1 > 0, y2 unrestricted; y1 = 0, y2 = 5; 150].
194
30.Show graphically that the problem: Maximize 6x1 + 8x2 subject to – x1 + x2 > 2,
‒5x1 + 5x2 < 3, x1 > 0, x2 > 0; has no feasible solution. Write its dual and show
that it has no unbounded solution. How do you reconcile this example with
the statement of theorem 10?
[Theorem 10 states that if the primal has no feasible solution, then the dual
has an unbounded solution provided it has at all a feasible solution]
31.Write the dual of the LP problem: Maximize 2x1 + 5x2 + 3x3 subject to
4x1 + x3 < 420, 2x2 + 3x3 < 460, 2x1 +X2 + X3 < 500, x1, x2, x3 > 0. Without carrying
out the simplex computation on either the primal or the dual problem, estimate
a range for the optimal value of the objective function.
[An obvious feasible solution of the primal is x 1 = x3 = 0, x2 = 230, which
gives the value of the objective function as 1150. Similarly an obvious solution
of the dual is y1 = y2 = 0, y3 = 5, which gives the objective value function as
2500. Thus we estimate the range as (1150, 2500)].
32.Prove that if for the optimal solution of the primal the slack variable xn+r is
nonzero, then the variable yr in the optimal solution of the dual is zero, and
vice versa. (Hint. Examine the expression for f− in theorem 7. All the
variables are non-negative, and for optimality f = ).
33.Prove the second part of theorem 9.
34.Prove that if the kth constraint of the primal is an equality then the dual
variable yk is unrestricted in sign. (Hint Replace the equality by two
inequalities numbered k1 and k2. Then the corresponding dual variables yk1 and
yk2 occur as yk1 – yk2 and each is non-negative).
35.Let the primal be written in the form: Minimize f(X) = CX subject to AX = B.
X > 0. Show that its dual is: Maximize (Y) = B'Y subject to A'Y < C1, (Y
unrestricted).
36.Solve the following problems by the dual simplex method.
i. Minimize 2x1+3x2 subject to 2x1 + 3x2 < 30, x1 + 2x2 > 10, x1 > 0, x2 > 0.
195
[(0,5); 15]
ii. Minimize x1 + 3x2 + 2x3 subject to 4x1 − 5x2 + 7x3 < 8, 2x1 − 4x2 + 2x3 > 2,
x1 − 3x2 + 2x3 < 2, x1, x2, x3 > 0. [(1,0,0); 1]
iii. Minimize 5x1 + 7x2 + 6x3 + 3x4 subject to 4x1 + 6x2 + 5x3 − 3x4 > 12,
x1 + 5x2 + 2x3 + x4 > 8, − 6x1 + x2 − 5x4 > 8, x1, x2, x3, x4 > 0. [(0, 8,0,0);
56]
37.What type of problems can be solved by the dual simplex method? Which of
the problems 8 are of this type? Solve them by the dual simplex method.
[Only 8 (iii). x1 = 8/3, x2 = 1/3; 11/3]
Applications
Set up mathematical models for the following problems and solve them
graphically, if possible, otherwise by the simplex method.
38.A person has the option of investing Rs 10,000 in two plans, A and B. Plan A
guarantees a return of 50 paisa on each rupee invested after a period of three
years, and plan B guarantees that each rupee invested will earn one and a half
rupee after six years. How should the person invest his money to maximize
his earnings in a period of six years, if he is not willing to invest more than
60% in plan B? [4000, 6000]
39.A company manufactures two products, A and B, each on separate sets of
machines. The production capacity is 60 units of A and 75 units of B per day.
Each unit of A requires 10 pieces of a component, and each unit of B requires
8 pieces of the same component. The maximum availability of this component
is 800 pieces a day. The profit per unit on A is Rs 3 and on B RS 2. Determine
196
of B trees to the number of A trees should not be less than 6/19 and not more
than 17/8. The return per tree from A trees is expected to be one and half times
as much as from B trees. What should be the number of trees of each kind so
that the expected return is maximum?
[80, 60]
41.A woman worker has two typos of jobs in a handicraft centre (i) spinning
thread (11) knitting patterns from the thread so produced. She produces one
unit of thread per hour and one unit of pattern per hour, and is paid one rupee
per unit of thread and three rupees per unit of pattern. She wants to earn not
less than Rs 6 per day and wants to work not more than 6 hours a day. The
thread spun should not exceed the thread consumed by more than 2 units. The
centre desires that her earnings from knitting should not exceed her earnings
from spinning by Rs. 10. Selling profit is Re 1 per unit of thread and Rs 2 per
unit of pattern. How many units of thread and pattern should the woman
produce everyday to maximize the profit from sales?
[2, 4]
42.A housing corporation proposes to build houses of type A, B, C with cost and
return per thousand as given below:
Type Cost in Rs. 104 Return per month
A 2 50
B 5 150
C 8 300
The total investment should not exceed Rs 4 x 107. How many houses of each
type should be built to maximize return if at least 50% of the houses should
be of type A, and not more than 20% houses should be of type C? [487,293,
195]
43.A manufacturer produces three models A, B, C of a certain product. He uses
two types of raw material, I and II. The availability of these raw materials and
their requirement in each of these three models are given below.
197
Raw Material Requirement per unit of Availability
A B C
I 3 3 2 4000
II 2 3 5 6000
The labour time for model C is half that of A and the labour time for model B
is three-fourth that of A. The production capacity of the factory is equivalent
to 1500 units of A per week. The manufacturer is committed to supply 200
units of B and 200 units of C per week. Market survey indicates that there is a
profit of Rs 24, Rs 20 and Rs 15 per unit of A, B and C respectively. What
number of units of each model must be produced to maximize profit.
[1000, 200, 200]
44.A student, on the eve of examination, has 100 hours to prepare three subjects
A, B and C. For every one hour of study he hopes to get 1 mark in A, 2 marks
in B and 3 marks in C. He has already secured 60, 70 and 67 marks in course
work in each of these subjects respectively. He must get at least 40, 30, and
33 more to pass in each of these subjects. Also he cannot gel more than 100
marks in any written paper. For how many hours should he study each subject
to maximize his total marks in the examination. [40,27,33]
45.A contractor generally undertakes construction of two types of buildings, say
A and B. The profit per building is Rs 5,000 for type A and Rs 4,000 for type
B. Building of type A requires 50,000 bricks, 3 quintals of steel, 2 quintals of
roofing iron and 10 quintals of concrete. Building of type B requires 40,000
bricks, 4 quintals of steel, 3 quintals of roofing iron, and 20 quintals of
concrete. However, only 3, 20, 000 bricks, 24 quintals of steel, 20 quintals of
roofing iron and 160 quintals of concrete are available. How many buildings
of the two types should he undertake to maximize his profits? [4, 3]
198
46.Four products, A, B, C, D, are successively processed on two machines, M 1,
M2. The machine time required on each machine, and the total time available
on it is given in the following table.
The total cost of producing one unit of each product is taken equal to the cost
of machine time. The cost per hour on machines M, and M2 are Rs 15 and Rs
10 respectively. If the sale price per unit of the product A, B, C, D is Rs 65,
Rs 70, Rs 55 and Rs 45 respectively, how many units of each product should
be produced to maximize profit? What is the maximum profit?
[(170, 40, 0, 0); Rs 3150]
47.A farmer has the choice to plant wheat, com, cereals and soyabeans in his
fields consisting of 20 hectares of land. The profits he expects per hectare of
these crops are respectively Rs 3000, Rs 2000, Rs 1000 and Rs 4000. These
crops respectively require 500, 800, 400 and 500 kg per hectare of fertilizers,
and 60, 40, 20 and 30 kg per hectare of insecticides. Also it takes respectively
3, 3, 1 and 2 man-days to cultivate a hectare of these crops. How many hectares
of each crop will yield maximum total profit if the farmer’s resources limit
fertilizers to 15000 kg, insecticides to 1000 kg, and man-days to 50 and he
also decides to use not more than 50% of his land for cereals and soyabeans.
[10, 0, 0,10]
48.A fertilizer firm produces four types of fertilizers, say A, B, C, D. The amount
of nitrogen, phosphate and potash needed for production of 10 kg of the
fertilizer each of these varieties is as follows.
Amount needed per 10 kg
199
Fertilizer Nitrogen Phosphate Potash
A 5 2 3
B 3 1 4
C 2 3 2
D 3 4 3
The firm has a supply of 500 kg of nitrogen, 400 kg of phosphate and 400 kg
of potash per day. If the company makes profit of Rs 5, Rs 4, Rs 5, Rs 2 per
kg on fertilizer A, B, C, D respectively, and is committed to supply 100 kg of
variety D per day, determine the amount of fertilizer of each type which the
firm should produce each day to maximize profit.
[556,112,792,100]
49.A manufacturer produces three products, A, B, C. Each product is to be
processed on two machines, M1, M2. The following table gives the time
required on the machines.
Product Machine time in hours
M1 M2
A 0.5 0.2
B 0.7 0.8
C 0.9 1.05
There are 105 working hours available on each of die machines. The operating
cost of M1 is Rs 5 per hour, and of M2 Rs 4 per hour. The production
requirements are at least 40 units of A, 40 units of B and 60 units of C. Use
dual simplex method to find how many units of each product should be
produced to minimize the production cost. [40,40,60 units, Rs 922]
50.A workshop manufactures two alloys, A and B, and sells them at profit of Rs
4 and Rs 5 per kg respectively. Whereas alloy A requires nickel, chromium,
germanium and magnesium in the ratios 3:4:3:2, alloy B requires them in the
ratios 2:3:1:2. Also 8 kg of nickel, 12 kg of chromium, 7 kg of germanium
and 6 kg of magnesium are available to the workshop per day. Set up the
200
mathematical model for this problem to maximize profit. Write and solve its
dual by the dual simplex method. Use this solution to obtain the solution of
the original problem. [Dual solution: (2,0,0,1); primal solution: (24, 8)]
51.Solve the transportation problem for minimum cost with the cost coefficients,
demands and supplies as given in the following table. Obtain three optimal
solutions.
D1 D2 D3 D4
01 1 2 -2 3 70
02 2 4 0 1 38
03 1 2 -2 5 32
40 28 30 42
[86]
52.Solve the following transportation problem for minimum cost starting with the
degenerate solution xl2 = 30. x21 = 40, x32 = 20, x43 = 60.
D1 D2 D3
01 4 5 2 30
02 4 1 3 40
03 3 6 2 20
04 2 3 7 60
40 50 60
[300]
53.A farmer has three farms A, B, C, which need respectively 100. 300 and 50
units of water (in suitable units) annually. The canal can supply 150 units and
tubewell 200 units while the balance is left at the mercy of rain god. The
following table shows the costs per unit of water in a dry year when the rains
totally fail, the third row giving the costs of failure of rain. Find how the canal
and tubewell water should be utilized to minimize the total cost.
A B C
Canal 3 5 7 150
Tubewell 6 4 10 200
Failure rain 8 10 3 100
100 300 50
201
(Tubewell: 200 to B; Canal: 100 to A, 50 to B]
54.Food bags have to be lifted by three different types of aircraft A1, A2, A3 from
an airport and dropped in flood affected villages V1, V2, V3, V4, Vs. The
quantity of food (in suitable units) that can be carried in one trip by aircraft Ai
to village Vj is given in the following table. The total number of trips that A i
can make in a day is given in the last column. The number of trips possible
each day to village Vi is given in the last row. Find the number of trips each
aircraft should make on each village so that the total quantity of food
transported in a day is maximum.
V1 V2 V3 V4 V5
A1 10 8 6 9 12 50
A2 5 3 8 4 10 90
A3 7 9 6 10 4 60
100 80 70 40 20
(Hint To balance the problem introduce a fictitious aircraft which carries no
food. To convert the problem to a minimum one, change the sign of each cji.)
[A1:50 trips to V1; A2:70 trips to V3; 20 to V5; A3:20 trips to V2; 40 to V4]
55.Power stations Pj, j = 1, 2, 3, 4, run on coal found in mines Qi, i = 1,2, 3.
Quantity of coal produced at Qi is ai, and maximum possible production of
power at Pj is bj. The cost of production of unit quantity of coal at Q is ci and
its cost of transportation to Pj is cij. A unit quantity of coal produces hj units
of power at Pj. How should coal be distributed so that the total cost of coal at
power stations is minimum, and what is the power produced at each station?
Solve the problem for the following data.
202
i cij ci ai
1 4 3 2 1 10 750
2 3 5 6 2 15 350
3 6 4 3 3 20 400
hj 1/2 1/2 1/3 1/4
bj 100 150 300 200
j 1 2 3 4
[x13=100, x14=650, x21=200, x24=150, x33=400; Power produced: 100, 0, 500/3,
200]
56.A company has three factories manufacturing the same product and five sole
agencies in different parts of the country. Production costs differ from factory
to factory, and sale prices from agency to agency. Find the production and
distribution schedule most profitable to the company, given the following
data.
57.There are forest areas F1, F2, F3, F4, and timber depots D1, D2, D3. The
following table gives the produce of each forest area, the minimum timber
required at each depot to attract buyers, and the cost of transportation per unit
of timber from each forest area to each depot. Find the distribution of the entire
forest produce for minimum cost of transportation.
203
D1 D2 D3
F1 3 4 6 100
F2 7 3 8 80
F3 6 4 5 0
F4 7 5 2 120
110 110 60
58.A company wishes to manufacture five products, A, B, C, D, E, in its three
workshops W1, W2, W3, whose production capacities are 90, 40, 60 units
respectively. The potential sales of the five products are 60, 30, 40, 70, 40
units respectively. Product D cannot be produced in workshop W3. What
quantity of each product should be produced at each workshop to minimize
the cost? The production costs per unit are given in the following table.
A B C D E
W1 14 19 20 16 21
W2 13 20 15 16 19
W3 18 15 18 - 20
204
63.Minimize −2x1 −3x2 subject to 2x1 + 2x2 < 7, 0 < x1 < 2, 0 < x2 < 2; x1, x2
integers. [−8; (1, 2)]
Solve problems 64 to 68 by the branch and bound method.
64.Maximise 11x1 + 21x2 subject to 4x1 + 7x2 + x3 = 13; x1, x2, x3 non-negative
integers. [33; (3, 0, 1)]
65.Minimize 9x1 + 10x2 subject to 0 < x1 < 10, 0 < x2 < 8, 3x1 + 5x2 > 45; x2
integer. [95; (5/3, 8)]
66.Maximize 13x1 + 3x2 + 3x3 subject to 7x1 + 6x2 – 3x3 < 8, 7x1 – 3x2 − + 6x3 < 8;
x1, x2, x3 non-negative integers. [13; (1, 0, 0)]
67.Maximize x1 + 2x2 subject to 5x1 + 7x2 < 21, − x1 + 3x2 < 8; x1, x2 non-negative
integers. [5; (1, 2)]
68.Same as 5.
69.Formulae the following knapsack problem as an ILP.
There are n objects, j=1, 2, …, n, whose weights are wj and values vj. They
have to be chosen to be packed in a knapsack so that total value of the objects
chosen is maximum subject to their total weight not exceeding W.
Maximise v j x j subject w j x j W , x j 0 or 1
j j
70.Solve the knapsack problem (as formulated above) with the following data.
(i)
Object Weight Value
j wj vj
1 2 10
2 2 14
3 3 18
4 6 48
5 8 80
Knapsack capacity W = 12 [Max value 98, with
objects 3 and 5]
205
(ii)
Object Weight Value
j wj vj
1 3 12
2 4 12
3 3 9
4 6 30
5 10 20
6 12 12
Knapsack capacity W = 14 [Max value 54, with
objects 1,2,4]
71.Maximise 2x1 + 5x2 subject to 0 < x1 < 8, 0 < x2 < 8, and either 4 – x1 > 0 or
4 −x2 > 0. [48; (4, 8)]
(Hint: Introduce two 0−1 variables y1, y2 such that 4−x1 + l0y1 > 0, 4−x2+10y2
> 0, y1 + y2 = 1, 10 being a suitably large number].
72.In a network of streets and junctions, the junctions are denoted by j = 1, 2,...
and the streets connecting the junctions by (i, j). Fire-hydrants have to be
installed at some of the junctions such that every street connected to a junction
has access to the fire-hydrant at that junction. The cost of installing the fire-
hydrant at junction j is cj. Formulate the problem as an integer program to
minimise the cost of installing the fire-hydrants so that each street has access
to at least one hydrant. Solve the problem for the following data.
j= 12 3 456
cj = 4 6 10 8 7 9
(i, j) = (1,2), (1,4), (1,6), (2,4), (3,5), (3,6), (4,5).
(Hint: Minimise cjxj subject to xj= 0 or l, xi+xj > 1, for every given (i, j).
[Hydrants at j=1, 5 at cost 11]
206
73.Minimise 3x1 + 2x2 + f1 + f2,
subject to 5x1 + 2x2 > 10,
3x1 + 5x2 > 15,
f1 = 5 if x1 > 0, f1 = 0 if x1 = 0,
f1 = 2 if x2 > 0, f2 = 0 if x2 = 0. [12; (0, 5)]
74.In a factory 4000 units of a certain product are to be manufactured. There are
three machines on which it can be manufactured. The set up cost, the
production cost per unit and the maximum production capacity for each
machine are tabulated below. The objective is to minimize the total cost of
producing the entire lot. Formulate the problem as an integer programme, and
solve it.
Machine Set up Production cost/unit Capacity
I 400 10 2400
II 600 4 1600
III 200 20 1200
207
77.Solve by simplex method the problem: maximize f=−5x1+l3x2+5x3, subject
to 12x1 + 10x2 + 4x3 < 90, −x1, + 3x2+x3 < 20, x1, x2, x3 > 0. Use the sensitivity
analysis approach to investigate the effects on the optimal solution of the
following changes introduced one at a time:
i. right side of the second constraint is changed to 30;
ii. coefficient of x2 in the objective function changes to 8;
iii. coefficient of x1 in the objective function changes to ‒ 2, and in the
constraints from 12, ‒ 1 to 5,10 respectively;
iv. a new variable is introduced with coefficient 10 in the objective function
and 5 and 3 respectively in the first and second constraints;
v. variable x3 is deleted from the problem;
vi. a new constraint 2x1 + 5x2 + 3x3 < 50 is introduced.
Verify your answers by solving the modified problems ab initio by the simplex
method.
[(0,0,20), 100; (i) (0,9,0), 117; (ii, iii, iv) no change; (v) (0,20/3), 260/3; (vi)
(0,5/2,25/2), 95].
78.For the problem: maximize f=x1‒x2 + 2x3, subject to x1‒x2+X3 < 4, x1+ x2‒ X3<3, 2x1
‒ 2x2 + 3x3 < 15, x1, x2, x3 > 0, assuming x4, x5, x6 respectively as the slack
variables for the three constraints, the optimal table is the following.
Basis Value x1 x2 x3 x4 x5 x6
x3 21 4 1 2 1
x4 7 2 1 1 0
x2 24 5 1 3 1
–f 18 2 1 1
Carry out the sensitivity analysis for each of the following changes:
i. coefficient of x1 in the objective function changes to 2;
ii. coefficients of x1 in the problem become c1 = 41 a11 = 1, a21 = 2, a31 = 3;
iii. coefficients of x2 and x3 change to c2 = ‒ 2, a12 = 2, a22 = 3, a32 = ‒1, c3 =
1, al3 = 3, a23 = — 2, a33 = 1;
208
iv. right hand side vector changes from [4 3 15] to [2 4 20];
v. objective function changes to 3x1+x2+5x3;
vi. first constraint is deleted;
vii. a new constraint 2x1 + x2+2x3 < 60 is introduced;
viii. third constraint changes to 4x1 ‒ x2 + 2x3 < 12.
[(i), (ii) no change; (iii) (17/5, 0, 1/5), 18/5; (iv) (0, 32, 28), 24; (v) (0, 24, 21),
129; (vi) no change; (vii) (0,150/7, 135/7), 120/7; (viii) (0,18,15), 12; or (0,4,
8), 12],
79.A company manufactures three products. A, B and C, using the same raw
material and the same labour force. The mathematical model of the problem
formulated to maximize the profits is;
Maximize f=5x1 + 3x2 + x3,
subject to 5x1 + 6x2 + 3x3 < 45, (labour)
5x1 + 3x2 + 4x3 < 30, (material)
x1, x2, x3 > 0;
where x1, x2. x3 are the amounts of the products A, B, C. The optimal solution
to this problem is given in the following table, where x4, x5 are the slack
variables in the first and second constraints respectively.
Basis Value x1 x2 x3 x4 x5
x2 5 1 -1/3 1/3 -1/3
x1 3 1 1 -1/5 2/5
–f 30 3 0 1
Use sensitivity analysis to find the new optimal solution if the following
changes, one at a time, arc made in the data:
i. coefficient of x2 in the expression for f is changed to 2;
ii. available material increases from 30 to 60 units;
iii. per unit requirement of the material for the production of C is reduced
from 4 to 2 units;
209
iv. a constraint 3x1 + 2x2 + x3 < 20, expressing limitation of supervisory staff
is added.
[(i) (6, 0, 0). 30; (ii) (9, 0, 0), 45; (iii. iv) no change ].
80.In problem 76 determine the effect on the optimal solution if changes (i) and
(ii) are introduced in succession, (that is, the solution obtained after
introducing change (i) is subjected to change (ii). Also solve the problem when
both the changes are introduced simultaneously. Is the optimal solution in the
two cases the same?
Repeat this analysis for the successive and simultaneous occurrence of
changes (ii) and (iii).
What inference can be drawn regarding the technique to carry out sensitivity
analysis when changes of more than one type are introduced simultaneously
in the data?
[Changes may be introduced in succession.]
81.Use the approach suggested in problem 80 to determine the effect on the
optimal solution of problem 79 of introducing simultaneously (a) changes (i)
and (ii), (b) changes (ii) and (iii). [In both cases (9, 0, 0), 45].
82.The following table gives the optimal solution to a LP problem of the type:
Maximize f = CX. subject to AX = B, X > 0.
Basis Value x1 x2 x3 x4 x5
x1 1 1 1 3 -1
x2 2 1 1 -1 2
–f 8 4 3 4
x4, x5 are the slack variables respectively in the two constraints with right hand
sides b1, and b2. The values of the cost coefficients are c1 = 2, c2 = 3, c3 = 1.
i. How much can the coefficient c1 be increased before the current basis
ceases to be optimal? Answer the same question with respect to c3.
210
ii. How much can the value of b1 be varied before the present basis (x1, x2)
ceases to be feasible? (It is not necessary to know the value of b1 to
answer this question).
iii. Find the optimal solution by the dual simplex method when bl is increased
by 3.
[(i) c1, c3 separately can be increased by 4; (ii) 7/15<,b1<14/5; (ii) (7, 0, 0),14],
83.Explain why the algorithm for finding the minimum path when all arc lengths
are nonnegative, given in section VII-3, is not applicable to the general case
when arc lengths can be negative also.
84.Find the minimum path from v, to v8 in the graph with arcs and arc lengths (i)
given below. Solve the problem by both the algorithms given in section VII-3
and compare the numerical work involved.
ii. Find the minimum path from v1 to v8 in the same graph with arc lengths (ii).
In the following table (i, j) denotes the arc (vi, vj).
Arc (1,2) (1,3) (1,4) (2,3) (2,6) (2,5) (3,5) (3,4) (4,7)
Length (i) 1 4 11 2 8 7 3 7 3
Length (ii) -1 4 -11 2 -8 7 -3 7 3
Arc (5,6) (5,8) (6,3) (6,4) (6,7) (6,8) (7,3) (7,8)
Length (i) 1 12 4 2 6 10 2 2
Length (ii) 1 12 4 2 6 -10 -2 2
[(i) 15; (ii)-22]
85.In each case of problem 84, is there a maximum path from v1 to v8? Explain
with reasons. Identify circuits with positive lengths.
[Maximum unbounded because of circuits with positive lengths]
86.Find the minimum spanning tree in the following undirected graph. Arc (v i,
vj) is denoted as (i,j).
211
Arc (1,2) (1,3) (1,4) (2,3) (2,8) (2,10) (3,4) (3,8) (4,5) (4,6)
Length 7 4 8 3 9 14 4 10 15 12
Arc (4,8) (5,6) (5,7) (6,7) (6,8) (6,9) (7,9) (8,9) (8,10) (9,10)
Length 10 4 1 2 20 16 18 3 4 6
[42]
87.Five villages in a hilly region are to be connected by roads. The direct distance
(in km) between each pair of villages along a possible road and its cost of
construction per km (in 104 rupees) are given in the following table (distances
are given in the upper triangle and costs in the lower triangle). Find the
minimum cost at which all the villages can be connected, and the roads which
should be constructed.
Distance
1 2 3 4 5
1 18 12 15 10
2 3 15 8 22
Costs 3 4 3 6 20
4 5 5 6 7
5 2 2 5 7
(Hint Construct the spanning tree of minimum cost).
[Rs 140x104; (1,5,2,4,3)]
Project scheduling
88.A project consists of activities A, B, C,.... M. In the following data X‒Y= c
means Y can start after c days of work on X. A, B, C can start simultaneously.
K and M are the last activities and take 14 and 13 days respectively. A‒D = 4,
B‒F = 6, B‒E = 3, C‒E = 4. D‒H = 5, D‒F = 3, E‒F=10, F‒G = 4,G‒I= 12,
H‒I=3. H‒J = 3, J‒K=8, I‒K=7, I‒L = 7, L‒M = 9. Find the least time of
completion of the project If activities K and L both need a crane, and only one
crane is available, how should the crane be used so that the project is
completed with the least delay? [59; use crane first on L,
resulting delay 1 day]
212
89.Tasks A, B, C,.... H, I constitute a project. The notation X<Y means that the
task X must be finished before Y can begin. With this notation
A<D, A<E, B<F, D<F, C<G, C<H, F<I, G<I.
The time (in days) of completion of each task in as follows.
Task A B C D E F G H I
Time 8 10 7 9 16 7 8 14 9
Draw a graph to represent the sequence of tasks and find the minimum time
of completion of the project [33 days]
90.The project of problem 89 is required to be completed as early as possible.
How soon can it be completed and at what additional minimum cost with the
following data?
Task A B C D E F G H I
Increase in cost 1 2 - 3 4 1 - 6 4
for each day
less
Minimum time 6 7 7 8 13 6 8 11 8
[28 days; cost 16]
Maximum flow
91.Find the maximum flow in the graph with the following arcs and arc
capacities, flow in each arc being non-negative. Arc (vj, vk) is denoted as (j,
k). va is the source and vb the sink.
Arc (a,1) (a,2) (a,3) (1,4) (1,5) (1,6) (2,4) (2,5) (2,6)
Capacity 2 2 2 1 1 1 1 1 1
Arc (3,4) (3,5) (3,6) (4,b) (5,b) (6,b)
Capacity 1 1 1 2 2 2
92.Find the maximum non-negative flow in the network described below, arc
(vj, vk) being denoted as (j, k). va is the source and vb the sink.
213
Arc (a,1) (a,2) (1,2) (1,3) (1,4) (2,4) (3,2) (3,4) (4,3) (3,b) (4,b)
Capacity 8 10 3 4 2 8 3 4 2 10 9
[14]
93.Find the maximum flow in the network with the following data, flow in arcs
not necessarily being non-negative. The arc (vj, vk) is denoted as (j, k) and the
flow limit (b, c) means that the constraint on the flow xi is bi < xi < ci. va is the
source and vb the sink.
Arc (a,1) (a,2) (1,2) (1,3) (2,4) (3,4) (3,b) (4,b)
(bi, ci) (0,10) (0,5) (-2,3) (7,10) (-3,5) (-1,1) (0,8) (0,4)
[12]
94.Families a1, a2, ….. am decide to go on a picnic in cars b1, b2 .... bn. The number
of persons in family ai is ci and the seating capacity of car bj is kj. Assuming
that the total seating capacity is not less than the total number of persons, it is
required to allot persons to cars such that in car bj the number of persons from
the same family should not exceed hj. Formulate the problem as that of
maximum flow, and solve it for the following data.
i 1 2 3 4 5 j 1 2 3
ci 2 3 4 4 2 kj 5 5 5
hj 2 2 2
(Hint Let a0 be the source, b0 the sink, (a0, ai) an arc with capacity ci, (bj, b0)
an arc with capacity kj, (ai, bj) an arc with capacity hj).
95.Convoys of army vehicles have to go from stations ai, i = 1,2,3,4, to bj, j =
1,2,3, at night The maximum number of vehicles leaving ai or arriving at bj is
different for each station due to limited parking space, and is given in die
following table. Each ai is connected to each bj by road. For secrecy reasons
no convoy should consist of more than 15 vehicles.
Station a1 a2 a3 a4 b1 b2 b3
Parking capacity (no. of vehicles) 40 30 25 55 50 30 45
214
Find how the vehicles should be sent so that the total number of vehicles
moved is maximum. Is the optimal solution unique? If not, find two
alternatives.
(Hint Let a0 be a source connected to each ai and b0 be a sink connected to
each bj, with capacity of arc (a0, ai) or (bj, b0) equal to parking capacity of ai
or bj. Let the capacity of each arc (ai, bj) be 15. Find the maximum flow).
[Maximum vehicles 125, distribution not unique. See answer to problem 96]
96.Solve problem 95 if the convoy on each road should consist of not more than
15 and not less than 7 vehicles. Is there a solution to this problem if the least
strength of each convoy is 8 vehicles?
[125 vehicles, (i) is the solution to this problem. Both (i) and (ii) are solutions
of problem 95.
(i) (ii) (i) (ii) (i) (ii)
(a1, b1) 15 15 (a1, b2) 7 5 (a1, b3) 15 5
(a2, b1) 15 15 (a2, b2) 7 0 (a2, b3) 8 15
(a3, b1) 9 5 (a3, b2) 9 10 (a3, b3) 7 10
(a4, b1) 11 15 (a4, b2) 7 15 (a4, b3) 15 15]
97.Examine the following payoff matrices for saddle points. In case the saddle
point exists, find the optimal strategies and value of the game. In every case
verify that
max min aij < min max aij
i j j i
215
98. Solve the games with the following payoff matrices
99. Solve graphically the games whose payoff matrices are the following.
100. Use the notion of dominance to simplify the following payoff matrices and
then solve the game.
101. Write both the primal and the dual LP problems corresponding to the
rectangular games with the following payoff matrices. Solve the game by
solving the LP problem by simplex method
Write the corresponding LP problem for the strategy of P2 and show that it
is the dual of the above.
216
103. Following the formulation suggested in the above problem, formulate the
primal and dual LP problems equivalent to the matrix games of problems
3 and 5 above, and solve them by the simplex method.
BOOKS FINISHED
217