Linear Programming Mathematics Theory and Algorithms
Linear Programming Mathematics Theory and Algorithms
Linear Programming Mathematics Theory and Algorithms
The titles published in this series are listed at the end of this volume.
Linear Programming:
Mathematics, Theory
and Algorithms
by
Michael 1. Panik
University ofHartford
Panik. Michael J.
Linear programming mathematics. theory and algorithms / by
Michael J. Panik.
p. cm. -- (Applied optimization; vol. 2)
Inc I udes bib Ii ograph i ca I references and index.
Anyone familiar with the area of linear programming cannot help but
marvel at its richness, elegance, and diversity. These special qualities of linear
programming are by no means accidental. Many extremely talented and
dedicated individuals helped cultivate these attributes. I am most grateful to
those researchers who pioneered as well as contributed significantly to the
development of linear programming theory and methods and whose writings have
served as a valuable source of reference and inspiration. Specifically, the classic
works of George Dantzig, David Gale, A. J. Goldman, Harold Kuhn, Albert
Tucker, and Philip Wolfe, among others, are particularly noteworthy. More
recently, my interest in the study of interior point techniques is largely due to the
efforts of researchers such as Kurt Anstreicher, Robert Freund, Donald Goldfarb,
Clovis Gonzaga, N. Karmarkar, Masakazu Kojima, Nimrod Megiddo, Shinji
Mizuno, Michael Todd, Yinyu Ye, and Akiko Yoshise. To each of these authors,
as well as to many of their contemporaries, lowe a substantial intellectual debt.
1
2 Linear Programming
But this is not the whole story. Associated with the above linear program
(which we may call the primal problem) is another such program, obtained
directly from the primal, called its dual, i.e., the problem defined as dual to (1.1)
is
min g(U) = b'U s.t (1.2)
A'U ~C, U~O,
saddle point. This is followed by another look at the strong duality theorem and
the Kuhn-Tucker equivalence theorem which establishes the notion that the
existence of an optimal solution to the primal problem is equivalent to the
existence of a saddle point of its associated Lagrangian. The chapter ends with
another look at the duality and complementary slackness theorems.
Chapter 7 deals with the computational aspects of linear programming. It
reexamines the primal simplex method in terms of simplex matrix calculations.
In particular, we state an optimality criterion and demonstrate how to improve a
basic feasible solution through the use of pivoting; i.e., entry and exit criteria are
used to "swap" one basic feasible solution for another in an attempt to maximize
the primal objective function. We next explore the detection of multiple optimal,
unbounded, and degenerate solutions. The chapter ends with a discussion on
obtaining the optimal dual solution from the optimal primal simplex matrix.
In Chapter 8 we introduce the notion of artificial variables and show how
they may be used to initiate the simplex method. Here the one-phase (or M-
penalty method) and two-phase methods are explored in depth along with how an
inconsistency or redundancy is detected in the constraint system. The last
section offers a discussion on how one may obtain the set of optimal primal
variables from the optimal simplex matrix when the dual minimization problem
is solved using either the one- or two-phase routine.
Chapter 9 presents an assortment of specialized transformations for solving
problems involving departures from the general form: max C'X s. t AX ~ b,
X ~ O. In particular, it considers: minimizing an objective under conversion to a
maximization problem; the cases of unrestricted as well as bounded variables;
interval linear programming; and how to handle absolute value functionals.
Chapter 10 considers three important variants of the standard simplex
method, namely the dual simplex, primal-dual and complementary pivot routines.
The theoretical development of these techniques as well as their computational
features are presented. Dual simplex pivoting and a discussion of dual degeneracy
along with the artificial constraint method (for generating an initial primal-
Introduction and Overview 7
2.1. Vectors in Rn
A vector is an ordered n-tuple of elements expressed as a column (n x 1) or
row (1 x n) matrix
9
10 Linear Programming
In this regard, the distance between points X, Y t R n induced by the norm "II-If
on R n is
1/2
IIx-YIl = [(X-Y)'(X-Y)]
1/2
= [
EIXi-yd .
n ] (2.2)
1=1
An important special case of this definition occurs when we consider the distance
between any XtRn and the origin 0, i.e., the length (magni-tude) of X or norm
of X is
The Cauchy-Schwarz inequality implies that -1 < cos() < 1. Also, the angle
between X, Y is acute « 7r/2), right (= 7r/2), or obtuse (> 7r/2) according to
whether the scalar product X· Y is positive, zero, or negative. Conversely, the
vectors X, YtRn with X, Y'IO are said to be orthogonal (i.e., mutually
perpendicular) if X· Y = O. Since X· Y = II XIIIIYII cosO, X· Y = 0 if and only if
() = 7r /2 and thus cos() = O.
A vector XtRn is a linear combination of the vectors XjtRn, j=1, ... , m, if
there exist scalars Aj' j=1, ... , m, such that
m
X= E AjXj . (2.4)
j=1
In this light we can state that a set of vectors {X;tRn, j=1, ... , m} is linearly
dependent if there exist scalars Aj' j=1, ... , m, not all zero such that
m
L AjXj = 0, (2.5)
j=1
i.e., the null vector is a linear combination of the vectors Xj. If the only set of
scalars Aj for which (2.5) holds is Aj = 0, j=1, ... , m, then the vectors Xj are
linearly independent, i. e., the trivial combination OX! + ... + OXm is the only
Preliminary Mathematics 11
Here the set {Xj t R n , j=l, ... , m} is said to span or generate R n since every
vector in R n is (uniquely) linearly dependent on the spanning set.
A basis for R n is a linearly independent subset of vectors from R n which
spans Rn. Moreover:
(a) every basis for R n contains the same number of basis vectors; and there
are precisely n vectors in every basis for Rnj and
(b) any set of n linearly independent vectors from R n forms a basis for Rn.
The dimension of R n , dim(Rn), is the maximum number of linearly
independent vectors that span the space, i.e., it is the number of vectors in a
basis for Rn. Clearly dim(R n ) = n.
A nonempty subset .Ab of R n is termed a subspace if it is closed under the
operations of vector additional and scalar multiplication, i. e., given vectors
Xl' X2 t.Ab, their linear combination Al Xl +A 2X 2 is also a member of .Ab for
every pair of scalars AI' A2 t R. Addi tionally, if .Ab is a subspace of R n, then .Ab
must contain all linear combinations of its elements. In fact, the set e(.Ab) of all
finite linear combination of points of .Ab is called the span or linear hull of .Ab and
constitutes a subspace of Rn. Here
Let .Ab be a subspace of R". A set 'i of vectors in .Ab is a basis for .Ab
provided:
(1) 'i spans .Ab, i.e., £('i) =.Abj and
(2) 'i is linearly independent.
Given that .Ab is a subspace of R", the dimension of A, dim(.Ab), is ~ n
and equals the maximum number of linearly independent vectors that constitute
a basis for.Ab. So if dim(.Ab) = m < n, a basis for .Ab is a subset of m linearly
independent vectors selected from a set of n linearly independent vectors in R".
If .Ab l , .Ab 2 are subspaces of R", .Ab l n A 2 ={O}, and, taken together, .Ab l
and .Ab2 span R" in the sense that each vector in R" is uniquely expressible as
Z = X+ Y, where Xc Al and Y c .Ab2 ' then R" is expressible as the direct sum of
AI' ~ and written as R" = .Ab l Ef).Ab 2 = {X+YIXc AI' Y c .Ab2 }. Moreover, if
{Xl' ... ' Xr } is a basis for Al and {YI , ... , Y a } is a basis for .Ab 2 ' then the
combined set {Xl' ... ' Xr ' YI! ... , Y a} is a basis for R". In this regard,
dim(R") = n = dim(.Ab 1 Ef) .Ab2 ) = dim(AI) + dim(.Ab 2 ) = r+s. If a subspace
.Ab l is contained in a subspace A 2, then dim(Al) ~ dim(.Ab 2 ).
For .Ab a subspace of R", the orthogonal complement or dual subspace of
A, .Ab 1., is also a subspace of R" and consists of all vectors that are orthogonal
to those in A. Hence.Ab 1. = {YIY'X = 0, Xc.Ab}. Additionally, (.Ab 1. ) 1.
= .Ab.
If X is an arbitrary point in R", the orthogonal projection of X into .Ab is
the point Xc.Ab for which Ilx-xl? = (X-X)'(X-X) assumes a minimum. There
exists at most one such projection of a point X into a subspace.Ab. And if X is
the projection of X into A, then X - X is the projection of X into .Ab 1.. A and
.AI, 1. span R" (any vector Zc R" can be uniquely expressed as Z = X+ Y for
Xc.Ab, Y c.Ab 1.) so that R" = .Ab Ef).Ab 1.. In this regard, X and Yare termed
orthogonal projections of Z onto the subspaces A, .Ab 1. respectively. Clearly
dim(M1.) = n- dim(.Ab).
If the set of vectors {Xl' ... , Xm} is a basis for a subspace .Ab of R", then
.Ab 1. = {YIY'Xj = 0, i=l, ... , m, Xj c.Ab}.
Preliminary Mathematics 13
determined under its action on a set of unit column vectors {el , ..., en} or
standard 6asis for Rn. That is, if the /h column of A is the image T A(ej) = Aej
=aj of the /h unit column vector ej, then A= [TA(el), ... ,TA(en)] and thus
TA(X) = Ej=lxjTA(ej) = [TA(el),···,TA(en)]X=AX.
We next consider two fundamental spaces associated with a linear
transformation. First, given T A:Rn-+Rm, the set of all possible values of T A or
the set of vectors Y f R m as X varies over R n is called the range of T A and
denoted R(A) (or R(T A)) = {Y!Y = T A(X) = AX, XfRn}. Here R(A) is the
subspace of R m spanned by the columns of A and thus constitutes the set of
linear combinations of the columns of A or Y = E'J=IXjaj. Clearly R(A) =
Col(A) = e{aj};=l.
If R(A) is finite-dimensional, then the number of vectors in a basis for R(A)
is the dimension of R(A) and is called the rank of T A and denoted p(T A). Here
p(T A) = dim( Col(A)) = dim( R(A)) = p(A), i.e., the rank of a transformation
T A between R n and R m equals the rank of its matrix. For T A:Rn-+Rn, T A is
invertible if and only if A is invertible, i.e., if and only if p(A) = n.
If To: Rn-+Rm represents the zero transformation, then R(T0) is the zero
su6space and p(T0) = O. For the identity transformation T (Rn-+Rm,
R(T/) = R n and thus p(TI) = dimRn = n.
The second fundamental space hinted at above is a subspace of R n called
the null-space (or kerne~ of T A' N(T A) (or simply N(A)), which corresponds to
the set of all XfRn mapped by T A to the null vector, i.e., N(A) =
{X! T A(X) = AX = 0, Xf Rn} is the solution space of the homogeneous linear
equation system AX = o. Given that N(A) is a subspace, aXf N(A) when
Xf N(A), a f R. If X i= 0, then clearly N(A) contains infinitely many non-zero
vectors. The number of vectors in a basis for N(A) or the dimension of N(A)
will be called the nullity of A and denoted n(A). A linear transformation with
nullity zero is said to be of full rank.
The concepts of rank and nullity of a linear transformation T A:Rn-+Rm
enable us to determine whether or not T A is onto or one-to-one. That is:
16 Linear Programming
Rn - - - - - - + 1 Rm
Figure 2.1
But from the definition of the linear independence of the vectors {a1 , ... , an}'
AX = 0 has only the trivial solution. Hence the preceding theorem can be
rephrased as: N(A) = {OJ if and only if {a1 , .•. , an} is linearly independent.
(Note that T A is non-singular if N(T A) = {OJ so that only non-singular linear
transformations preserve linear independence.) If A is (m x n) and n > m, then A
has linearly dependent columns and thus N(A) ::f:. {OJ.
The following theorem will enable us to effectively deal with the notions of
the existence and uniqueness of solutions to simultaneous linear equation systems.
Specifically, we have the
2.4. RANK-NULLITY THEOREM. Let T A be a linear transfor-mation
defined by the (m x n) matrix A. Then p(A) + n(A) = n, p(A) ~ m.
Later on in our discussion of linear programming we shall have occasion to
employ two specialized types of transformations, namely projective and affine
transformations. Specifically, given an (n x n) matrix A with vectors d, e€ R n
and a scalar h € R, a projective trans-formation of R n is a function T: Rn-+Rn
such that
X€ Rnl-+ Y = T(X) ~!~, e'X+h::f:. 0,
where the (n+l x n+l) matrix
[..~. ~ ..~.J
e' : h
is assumed nonsingular.
For A of order (n x n) and nonsingular, let us take d = 0, e' = l'(A-I n),
and h = 1. Also, let us restrict X to the simplex u = {X Il'X = 1, X ~ OJ. Then
any point X€u is taken to a point Y€U, where
AllXI + Al2 X2 ~ 0 U1 ~O
A21 Xl + A22 X2 = 0 U2 unrestricted
.-lis dual to~
Xl ~O -A~l U1 - A~l U2 ~ 0
X2 unrestricted -AbU I - A~2U2-= 0
The correspondence between these two homogeneous systems possesses the fol-
lowing properties:
(a) each system is dual to the other;
(b) each inequality structural (fully coefficiented) constraint is complementary
to (is in one-to-one correspondence with) a non-negative variable and conversely;
(c) each equality structural constraint is complementary to a variable
unrestricted in sign and conversely;
(d) the coefficient matrices of the lineal' structural relations of one system are
the negative transposes of the coefficient matrices of the linear structural relations
of the other system and conversely.
If Al2 = A21 = A22 = 0 and All = A is skew-symmetric (A'= -A), then as
a special case of the preceding dual systems we obtain, for Xl = X, UI = U, the
self-dual system
A~ ~ ~} .-lis self-dual to~ {
U~O
-A'U ~ O.
Relative to this self-dual system we have the so-called skew-symmetric
2.7.a. THEOREM [Tucker (1956)]. The self-dual system
AX~O
X~O,
oP
I
" " " - - - - - -. . .
I
I
I
Figure 2.2
where (}:i IS the ith row of A and ri = I ci - (}:iX I is the residual or error
associated with the ith equation in AX = C. Hence we seek a vector X which
renders the smallest sum of squared residuals in the sense that X is as close as
possible to being a solution of an inconsistent system AX = C. Thus among all
possible X, X comes closest to satisfying AX = C in that the residual r = C - AX
has the smallest norm among all possible residual vectors r = C - AX.
To obtain U, the orthogonal projection of C onto c:P, let us consider
2.12. THEOREM. The vector X is a least squares solution to AX = C if
and only if
A'AX = A'C. (2.7)
Here (2.7) is termed the system of nonnal equations which coincides with a least
squares solution to AX = C. To derive this system, let us use (2.6) to
min 9 = min{ C'C - 2X' A'C + X' A' AX}.
X X
Setting agjaX = 0 then renders (2.7).
Since A and the (n x n) matrix A' A have the same null-space, p(A' A)
n - n(A' A) = n - n(A) = p(A) = n (by the rank-nullity theorem). Hence
A' A has an inverse and thus we obtain, from (2.7),
In sum, if the (m X n) matrix A, where m > n, has maximal rank n, then A' A is
invertible and the unique least squares solution of AX = C is provided by (2.7.1).
Here the matrix At = (A' A) -1 A' is called the generalized or pseudoinverse of A
and serves only as a left-inverse for A since At A = In i- AA t. (If m=n, At =A-1.)
Note that (A,)t = (AA')-1A and that (At), = (A,)t.
Given X from (2.7.1), the orthogonal projection U of C onto c:P = Col(A) is
Clearly the orthogonal projection U of C onto c:P is closer to C than any other
point in c:P.
Alternatively, given U = AX, let Y be an arbitrary vector m Rn. Then
26 Linear Programming
d(:f) = sup{1I X-YIIIX, Yf:f} < +00. Two additional concepts which utilize the
notion of the distance between points in R n will at times prove useful. First, for
X a vector in R n and :f a subset of R n , the distance between a vector X and a set
'J is d(X,:f)= inf{IIX-YIIIYf:f}. Next, for sets:f, ~ in R n , the distance
between sets 'J,~ is d(:f,~)=inf{IIX-YIlI Xf:f, Yf~}. If :fn~1-¢, then
d(:f,~) = O.
A point X is termed a point of closure or adherent point of a set :f in R n if
every open ball of radius 6 centered on X contains at least one point of:f, i.e.,
B(X, 6) n:f 1- ¢. Hence every open ball of radius 6 about X meets:f. A subset
:f of R n is said to be closed if every point of closure of :f is contained in :f, i.e.,
every point that is arbitrarily close to :f is a member of :f. The closure of a set :f
in R n , denoted f, is the set of points of closure of :f. Clearly a set f in R n is
closed if and only if :f = f.
Closely related to the concept of a point of closure of :f is the notion of a
limit point of a set 'J in R n (also termed a cluster point or point of
accumulation). Specifically,X is a limit point of a set :f if each open ball of
radius 6 about X contains at least one point of :f different from X. Hence B(X, 6)
meets :f - {X}; points of:f different from X pile up at X. In this regard, if X is a
limit point of a set :f in R n , then for every 6> 0, the set :f n B(X, 6) is an infinite
set, i.e., every neighborhood of X contains infinitely many points of :f.
On the basis of the preceding discussion we can alternatively conclude that
a set f in R n is closed if it contains each of its limit points; and the closure of a
set :f in R n is :f itself together with its set of limit points. Furthermore:
(a) ¢, a single vector or point, and R n are all closed sets.
(b) Any finite union of closed sets in R n is closed; any intersection of closed
sets in R n is closed.
(c) A subset :f of R n is closed if and only if its complementary set fC is open.
(d) For :f a set in R n , the boundary of f, 8(f), is the closed set f n fC.
Thus it must be true that f =:f U 8(:f).
(e) A subset :f in R n is closed if and only if:f contains its boundary.
28 Linear Programming
Next, given any set 'J in R n , the affine hull of'J (or the affine subspace
spanned by 1), denoted aff(,!), is the set of all affine combinations of points from
'! or
aff('!) = {x Ix "t
i=1
\Xj, Xj (; '!,
=
1=1
.f \
= 1, Aj (; R for all i}.
Here aff('!) is unique and can be thought of as the intersection of all affine sets
.A j in R n which contain '!, i.e., aff('!) = n j.Aj' where'! C .Aj for all i. In this
regard, an affine set c:r in R n is the smallest affine set containing '! in R n if and
only if c:r = aff(,!). Then dim(c:r) = dim( aff(,!)).
Let {Xo, Xl' ... ' X k } represent a finite set of k+l vectors in Rn. The affine
hull of {Xo, Xl' ... , X k }, denoted a//{Xo, Xl' ... ' X k }, is the set of all affine
combinations of its members. The set {Xo, Xl' ... ' X k } is affinely independent if
af/{Xo, Xl' ..., X k } = a/f{O, XcXo, ... , Xk-Xo}+Xo = L+Xo has dimension
k. Since L is the smallest subspace spanned by the translated set
{XI-XO' ••• , Xk-Xo}, dim(a/f{Xo, Xl' ... , X k }) = dim(L) = k if the translated
set of vectors is linearly independent. Hence a set of k+ 1 vectors
{Xo, Xl' ... , X k } in R n is said to be affinely independent if and only if the
translated set {XI - Xo, ... , X k - Xo} is linearly independent.
Additional features of affine sets or linear varieties are:
(a) ,p, R n , and the singleton {X} are all affine sets.
(b) The intersection of an arbitrary collection of affine sets is affine.
(c) The dimension of any subset'! of R n equals the dimension of its
affine hull a/./{'!).
(d) The set of vectors {Xo, Xl' ... , X k } in R n is affinely independent if the
unique solution of Ef=o \X i = 0, Ef=o Ai = 0, \ (; R, is Ai = 0 for all i.
(e) Linear independence implies affine independence but not conversely.
(f) The maximum number of affinely independent vectors in R n is n+l
(consisting of n linearly independent vectors and the null vector).
(g) The affine hull of a finite set of points {Xl' ... ' X k } in R n is a subset
of its linear hull, i.e., a//{XI, ... ,Xk } <; l!{XI, ... ,Xk }.
Preliminary Mathematics 31
To set the stage for our next concept let us first consider the following
32 Linear Programming
co('J) = {X IX = t
2=1
AiXi' Xi t 'J, t \=
2=1 and
1, 0 ~ Ai t R for all i,
m'IS an ar b't
I rary POSI't"Ive
}
III t eger .
vector C( 1= 0) eRn and a scalar a c R such that C'X :5 a < C'Y for all
Xd'.
In essence, this theorem states that if ':I is a closed convex set in R n and if
Y eRn is not a member of ':I, then there exists a strongly separating hyperplane %
= {X! c'x = a, Xc Rn} such that Y is in the open half-space (%+) and ':I is in
the closed half-space [%-] determined by %. Note that by implication the
hyperplane % also strictly separates set ':I and the vector Y.
The preceding theorem was developed under the assumption that ':I is a
nonempty closed convex set. However, if ':I is not closed and Y I 1, then the basic
result of theorem 2.23 still holds with C'y> a = sup{C'X! Xc ':I}. In this
instance theorem 2.23 may be restated in its less restrictive form as
2.23.a. STRONG SEPARATION THEOREM. Let ':I be a non-empty convex
set in R n with Y eRn an exterior point of 1. Then there exists a vec-
torC(I=O)cRnand a scalar acRsuch that C'y> a = sup{C'X!Xd'}.
This result reveals that if ':I is a convex set in R n and Y f R n is not a
member of 1, then there exists a strongly separating hyperplane If, = {X! c'x =
a, Xc Rn} passing through Xc 8(':1) and having ':I on or beneath it with Y an
element of the open half-space (If,+).
We next have the
2.24. PLANE OF SUPPORT THEOREM. Let ':I be a nonempty closed
convex set in R n and let X be a boundary point of ':I. Then there
exists a vector C( 1= 0) eRn and a scalar a c R such that C'X :5 a = C'X
(= sup{C'X!Xd'}) for all Xc':l.
If ':I is not a closed subset of R n, then the basic result of theorem 2.24 may
be framed as
2.24.a. PLANE OF SUPPORT THEOREM. Let ':I be a non empty convex
set with interior points in R n and let X be a boundary point of ':I.
Then there exists a vector C( 1= 0) eRn such that C'X:5 a = C'X
(= sup{C'X! Xc1}) for each X contained within the closure of ':I, 1.
Theorems 2.24, 2.24.a inform us that a convex subset of R n (which mayor
Preliminary Mathematics 37
may not be closed) has a supporting hyperplane at each of its boundary points.
So given a boundary point of a convex set :f in R n , there exists a hyperplane
that: (1) contains the boundary point, i.e., %= {XIC'X=a=C'X, XfRn}j
and (2) contains :f in one of its supporting closed half-spaces. One important
implication of these plane of support theorems is that they allow us to represent
a convex set in terms of its associated set of supporting or tangent hyperplanes at
boundary points on:f. In this regard,
2.25. REPRESENTATION THEOREM. A closed convex set :f in R n is the
intersection of all supporting closed half-spaces containing it, z.e.,
:f=ni[%;li (or :f=ni[%;li)'
This result follows from our earlier discussions on properties of convex sets
that the intersection of an arbitrary number of closed and convex sets in R n is
itself a closed convex set. Hence the intersection of all supporting closed half-
spaces containing :f is the smallest closed convex set containing :f so that :f =
co(:f) = n i[%;li (by virtue of theorems 2.20, 2.21).
Note that if ':f in R n is only convex and not also closed, then
-:f = + - -
n i[%8 li (or :f = n i [%81;).
A somewhat stronger version of the preceding theorem is
2.25.a. REPRESENTATION THEOREM. A closed convex set ':f in R n is the
intersection of all the closed half-spaces tangent to it.
As will now be demonstrated, an important application of the notion of a
supporting hyperplane is that it can be used to characterize a closed convex set
with nonempty interior as convex. Specifically,
2.26. THEOREM. Let:f be a closed set in R n with :f0 f:. <p. If:f has a sup-
porting hyperplane at each of its boundary points, then :f is convex.
If we couple theorem 2.26 with theorem 2.24, then a necessary and sufficient
condition for a closed set with nonempty interior to be convex is
2.27. THEOREM. Let ':f be a closed set in R n with :f0 f:. <p. Then:f is
convex if and only if :f has a supporting hyperplane at each of its
boundary points.
38 Linear Programming
(c)
It is important to note that separability of non empty sets does not imply
disjointness or convexity. But if nonempty sets are convex and disjoint (or at
least have no interior points in common), then they are separable.
If we relax the assumption that :I\,:f 2 are con vex sets in R n, then a
reformulation of theorem 2.28 appears as
2.28.a. STRONG SEPARATION THEOREM. Let :f l ,:f2 be non-empty
compact sets in Rn. Then there exists a vector C( 1=0) € R n and a
scalar 0:' € R such that
C'X < 0:', X€:flj
C'X> 0:', X€:f 2
Here e is said to be generated or spanned by the points Xj. Hence any vector
which can be expressed as a non-negative linear combination of a finite set of
vectors Xi' j= 1, ... , m, lies in the finite cone spanned by those vectors. An
alternative way of structuring e in (2.9) is to state that a convex cone e in R n is
a finite cone if for some (n x m) matrix A' = [al , ..., am], every X e e is a non-
negative linear combination of the (n X 1) column vectors ai' j = 1, ... , m, of A',
z.e.,
(2.9.1)
synonymous with what will be termed polyhedral convex cones, the latter being
formed as the intersection of a finite number of half-planes, each of whose
associated hyperplanes pass through the origin. Polyhedral convex cones are
typically written as the set {X I AX 5. O} in Rn.
A special case of (2.9), (2.9.1) occurs when there is but a single generator.
That is, a convex cone e in R n generated by a single vector a( =#=0) is termed a ray
or half-line (denoted (a)). So for a{Rn,
(a) = {X I X = Aa, 0 ~ A{R, X{Rn}.
Given (a) = {X I X = Aa, a # 0, A ~ 0, X{ Rn}, the orthogonal cone to (a) is the
hyperplane (a).l = % = {Y I a'y = O} passing through the origin while the dual
0/ (a) is the half-space (a)* = [%-] = {Y Ia'y ~ O}; it consists of all vectors
making a non-acute angle with a. Additionally, the polar of (a) is the half-space
(a)+ = [%+] = {Y I a'y ~ O}; it consists of all vectors making a non-obtuse angle
with a. If we admit to our discussion of cones a finite number of half-lines, then
we may arrive at an alternative specification of a finite cone, namely that a
convex cone e in R n is termed a finite cone if there exists a finite number of half-
lines (aj) in R n, j=I, ... , m, such that e = Ej=l (aj). Here e is to be interpreted
as the sum of the m cones (aj) and may be represented as
e = {X I X = t
J=1
Xj' Xj{(a;), X{Rn}. (2.10)
coni(1) = {x Ix f,
=
j=l
AjXj' Xjd, 0 ~ Aje R, and m is an }
arbitrary positive integer .
Here the conical hull of any set 1 in R n is a convex cone spanned by 1 with
vertex at the origin; it is the smallest convex cone with vertex 0 containing 1.
Next, the conical hull spanned or generated by a finite collection of points
{~, ... , am} in R n is a finite convex cone and is expressed as the sum of a finite
number of half-lines or
e =.n
q
(b)o)*.
)=1
Here e consists of all vectors X making non-acute angles (~ 7r /2) with each of
the vectors b I ,. .. , b q • If B' = [bI , ... , bq ] is of order (n x q), then the preceding
cone may be rewritten as e = {X I BX =:; 0, X{ Rn}.
where X has been partitioned into an (mxI) vector X B , X B= (xm, ... ,xBm)'
containing the m variables corresponding to the m linearly independent columns
of A and an (n-mxI) vector X R , Xn=(xRI, ... ,xRn_m)'
, containing the
n - m remaining variables. Since p(B) = m, B is nonsingular. Hence
46 Linear Programming
(2.11)
and all solutions to AX = b can be generated by assigning arbitrary values to
Xn . In particular, if Xn = 0, X B = B-1b and we obtain what
will be called a unique basic solution to AX = b, namely
(2.11.1)
This type of solution is so named because the columns of B constitute a basis for
R m, i.e., each column of R and the vector b are expressible as a linear
combination of the linearly independent columns of B. Hence the variables in X B
are said to be basic variables while those within Xn are termed nonbasic
variables. Moreover, a basic solution to AX = b is said to be degenerate if one or
more of the basic variables within X B vanishes, i.e., X contains fewer than m
positive variables or, equivalently, X contains more than n - m zeros.
One of the important aspects of the notion of a basic solution to a linear
equation system is its applicability in solving a problem of the form: given an
(mxn) matrix A and vector bfRm, find an XfRn such that AX = b with
X ~ O. A problem such as this can serve as system (I) of the following version of
Farkas' theorem of the alternative: either
(I) AX = b, X ~ 0 has a solution XfRn or
(II) A'y ~ 0, b'y < 0 has a solution YfRm ,
but never both. For system (I), if X B = B- 1 b ~ 0, then
X=l~lJ ~O
=
2We assumed above that for AX b we have m < n. In general, if A is (m X n) and
=
m ~ n, then a solution X of AX b is a basic solution if the columns of A corresponding to
=
nonzero components of X are linearly independent. In this regard, if peA) r and X is a basic
=
solution to AX b, then A has at least one (m X r) submatrix N such that
=
(1) peN) rj and
(2) the components of X corresponding to columns of A not in N are zero.
Conversely, associated with each (m X r) submatrix N of A having rank r there exists a unique
basic solution.
Preliminary Mathematics 47
k
2: x jaj = b, x j > 0, j =1, ... , k ::; m; (2.12)
j=1
What sort of solution does (2.12) represent? Since the vectors aj, j = 1, ... , k ::; m,
mayor may not be linearly independent, two cases present themselves.
First, let the vectors aj, j = 1, ... , k ::; m, be linearly independent. If k = m,
then associated with this set of vectors is an mth order nonsingular basis matrix
B which provides us with a unique nondegenerate basic feasible solution. If
k < m, we may add to the vectors aj,j = 1, ... , k < m, any m - k additional
vectors selected from those remaining in A to form
k m
2: xjaj + 2: Oaj = b
j=1 j=k+l
and thus a basis for Rm. Since the vectors aj,j=k+l, ... ,m, are admitted to the
basis at a zero level, the resulting basic feasible solution is degenerate.
Next, let the vectors aj' j = 1, ... , k ~ m, be linearly dependent. Since our
goal is to ultimately attain a basic feasible solution, we shall introduce a pro-
cedure which allows us to systematically reduce the number of positive variables
step by step until the vectors associated with those that remain are linearly
independent. By hypothesis, there exist coefficients Yj not all zero such that
k
LYjaj = o. (2.13)
j=l
(2.13.1)
(2.16)
(2.14.1)
X =[n-Ib]
0 ~ O.
Our aim is to develop a procedure for replacing a given vector in the basis by
another so that the new set of vectors is linearly independent. Here too A is
partitioned as A = [B, R]. In this regard, in generating a new basic solution to
AX = b, some vector which currently constitutes a column of the basis matrix B
must be replaced by one of the vectors comprising the columns of R.
Under what conditions can a given nonbasis vector rj, j=l, ..., n-m, within
R replace one of the basis vectors in the set ~ = {bI , ... , b m} so that the new set
of vectors ~ forms a basis for R m? The answer is provided by
2.33. THEOREM. Let the set of vectors {bI , ... , b m} constitute a basis for
Rm. If a vector rE R m is expressible as a linear combination of the
hi' r = E~I \hi' then any b i for which Ai f. 0 can be removed from
50 Linear Programming
the basis and replaced by r with the result that the new collection of
vectors is also a basis for Rm.
PROOF. Without loss generality, let us assume that Am :f. 0 so that
r replaces b m in the basis. If the new set of vectors ~ = {bl ,. '" b m_ l , r}
constitutes a basis for R m, it must be linearly independent and span Rm. Let the
null vector be expressible as a linear combination of the elements in ~, i.e.,
m-l
L f.libi + f.l mr = O.
i=I
A substitution of r = E~l Ajb j into this expression yields
m-l m m-I
L f.ljb j + i=I
i=I
L f.lmA;b j = L (f.li+f.lmA;)b + f.lmAmbm = O.
i=I
j
Since the original set <:B is linearly independent, this last expression equals the
null vector if and only if f.li + f.lmAi = 0, i=I, ... , m - 1, f.l m = O. With f.l m = 0,
f.li = - f.lmA; = 0, i=I, ... , m - 1. Hence f.li = 0, i=I, ... , m, so that ~ is linearly
independent and thus forms a basis for Rm. Note that Am:f. 0 is a sufficient
condition for ~ to be linearly independent; it is also necessary since if Am = 0,
then r = E~11 \bi = 0 and thus ~ would be linearly dependent.
We know that <:B spans Rm. If it can be demonstrated that <:B is expressible
in terms of the new set ~, then the latter must also span Rm. Since Am :f. 0,
m-I
bm = A~ll r - L AiA-:n1b i
i=l
and thus
<:B = {b1,.",bm_ l , A;;/r-Ei:!:lIAiA~lbJ
And since ~ was also found to be linearly independent, it thus represents a basis
for Rm. Q.E.D.
Based upon the preceding theorem, it should be evident that since the
vectors in B form a basis for R m, any vector in R may be written as a linear
combination of the columns of B. If we denote the lh column of R by r j'
j=I, ... , n - m, then for all j,
Preliminary Mathematics 51
(2.17)
Let us assume that we have chosen some vector fj to enter the basis and that the
(mx 1) vector Aj in (2.17) associated with fj has at least one positive component
\j. At the present basic solution BXB = h. Upon multiplying both sides of
(2.17) by some number (J and subtracting the result from BX B = h, we obtain
BXB-B((JAj) = b-(Jfj or
XB-(JAj = B-\b-(Jr).
(2.18)
will do, i.e., will ensure that (XB - (JA j , 0)' is a basic feasible solution to AX = b.
In fact, this latter inequality enables us to select the hi to be removed from the
basis and the fj to be entered into the basis. If
{XBi
(J=(J~ = min ~,Aij>O } (2.19.1)
z 'J
is substituted into X B - (JAj' then the component of this vector for which the
minimum is attained reduces to zero. Hence the column of B to be replaced by
fj can always be determined by (2.19.1). In this regard, (2.19.1) is termed an
exit criterion for moving from one basic feasible solution to another.
If ~ = {bl ,. .. , bm } denotes the set of linearly independent vectors obtained
by replacing the rth column b ,. within B by f j' then the new basic feasible
52 Linear Programming
rth column b r within B by ri' then the new basic feasible solution can be
represented as
(2.20)
..... [.....
where B = b t , ..., .....]
b m with
and
.....
() \ . . J . _ .....
() _ :x Br
:XB~I' = :x Bi - "'ii' i .,... rj :x ~ - - -r---. (2.20.1)
Br "'ri
In sum, (2.20.1):
(1) determines the vector b r to be removed from the present basis c:.Bj
(2) determines the value of the variable :x ~ corresponding to the incoming
Br
vector ri for the new basis §j and
(3) ensures that X, the new basic solution to AX = b, is feasible, i.e., X ~ O.
Armed with the concept of a basic feasible solution to AX = b, let us now
address the specific structure of the solution set '1 = {X I AX = b, X ~ 0, Xf Rn}.
As we shall now see, some of the results provided in section 2.3 may be extended
to the case where a simultaneous linear equation system comes under a non-
negativity restriction X ~ 0.
Given '1, the homogeneous system associated with AX = b, X ~ ° (i.e., asso-
ciated with :/') assumes the form AY = 0, Y ~ O. Let c:J' = {Y I AY = 0, Y ~ 0,
Y € Rn}. As indicated in section 2.9, this set of all Y yielding homogeneous
solutions is a finite or polyhedral convex cone. Furthermore, if Xf '1 and Y € c:J',
then X + ()Y €'i, 0 5 () € R. Let us now look to the following
2.34. RESOLUTION THEOREM. Let {Xt, ...,Xd be the set of basic
feasible solutions to AX=b with X€co{Xt, ...,Xk } and Y€c:J'=
{YIAY=O, Y~O, YfRn}.
If X€'i = {XI AX = b,X ~ O,X€R n} 1=,p, then X = X+ Y.
As this theorem indicates, X € '! is expressible as a convex combination of
the set of basic feasible solutions to AX = b plus a homogeneous solution
Preliminary Mathematics 53
{X1,···,Xm }·
Generally speaking, a polyhedral convex set :J' in R n can be represented by a
finite number of inequalities and/or equalities (e.g., the equality
allx l + al2x2 = bl can be replaced by the two inequalities a 11 x l + a l2 x 2 ~ bl ,
- a 11 x l - a l2 x 2 ~ - bl ). Hence we may also express a convex polyhedron as
:J' = {XIAX = b,XERn}. Oftentimes the m inequalities indicated above are
accompanied by a set of nonnegativity conditions Xi ~ 0, i=l, ... , n. In this
instance,:J' = {XIAX ~ b,X ~ O,XERn} or possibly:J' = {XIAX=b, X ~ o,XERn}.
54 Linear Programming
Moreover any unrestricted variable (one which may be positive, negative, or zero)
can be replaced by the difference between two nonnegative variables (e.g., xk
unrestricted in sign is equivalent to xk = x~ - x~, where x~, x~ ~ 0).
A vector X is an extreme point of a (general) convex set j in R n if X cannot be
written as a positive convex combination of two distinct points in j, i.e., X is not
an interior point of any closed line segment in j. When j in R n is a polyhedral
convex set (for concreteness, let j = {XiAX ~ b, X € Rn }), this definition, while still
valid, lends itself to further geometric interpretation. To set the stage for what
follows let us review the notion of a supporting hyperplane for j. Specifically, let j
XfRn}, where again A is (mxn) and p(A) = m < n, let D' = [A', In] represent
the coefficient matrix associated with the m+n supporting hyperplane equalities
in:l. If p(D) = m+n(i.e., D is of full row rank), then these m+n supports are
linearly independent and thus any extreme point X f:l must lie on some subset of
n such supports.
linearly independent support equalities holding at all feasible points of GJ, then
dim(GJ) = n-r. All of the following are types of faces:
(i) facet - a face whose dimension is one less than dim(:I) (since it is the
largest face in :I distinct from :I).
(ii) extreme point - a face of dimension zero (since it occurs at the inter-
section of n linearly independent supporting hyperplanes of :I).
(iii) edge - a face of dimension one (since it is formed by intersecting n-l
linearly independent supporting hyperplanes of :I).
In this regard, a hyperplane defining a facet corresponds to a supporting closed
half-space of :I while an edge is always a line segment joining two extreme points.
Here the two extreme points connected by the edge are said to be adjacent.
Hence an extreme point is located at the intersection of two a more distinct edges
of :I. Furthermore,:I has only finitely many faces, each face being a non empty
convex polyhedron.
Given a polyhedral convex set :I = {X/AX ~ b,XfRn }, if h is replaced by
the null vector, then the resulting set is termed a polyhedral convex cone. In this
regard, a polyhedral convex cone arises as the intersection of a finite number of
closed half-spaces whose defining hyperplanes pass through the origin and appears
as e = {X/AX ~ O,XfRn }. Here the ith row of A,a~, is the normal to the
hyperplane %i = {X/aiX = O,XfRn } generat.ing the ith closed half-space [%i] =
{X / aiX:5 O,XfRn }. More formally,
2.35. THEOREM. A convex polyhedron:l = {XIAX ~ h,XfRn } is a polyhed-
ral convex cone if and only if h = 0, i.e., every polyhedral cone is the
solution set of a homogeneous system of linear inequalities.
So if a polyhedral convex set :f in R n contains the null vector, then the
convex cone generated by :f is polyhedral.
where the vector of basic variables X B has as its components the variables in X
corresponding to the m linearly independent columns of A. As we shall now see,
a basic feasible solution is a useful analytical device for locating extreme points of
:l'j it provides us with a necessary and sufficient characterization of an extreme
point. Specifically, we state the
2.36. EXTREME POINT THEOREM. A vector X € R n is an extreme
point of the convex polyhedron :I'= {XIAX = b,X ~ O} (A is (m x n)
and p(A) = m) if and only if X is a basic feasible solution to AX = b.
PROOF. (sufficiency) What we shall demonstrate first is that if
X € R n is a basic feasible solution to AX = b, then X is an extreme point of :1'.
Given that X is a basic feasible solution, if it is also an extreme point of :1', then
it cannot be expressed as a convex combination of any other two distinct vectors
in:l'. Hence there do not exist vectors Xl' X2 €:I', Xl :f:. X2 , different from X such
that
(2.21 )
If X~ = (Y~, 0'), X~ = (Y~, 0'), where Y l , Y 2 are both of order (m xI), then (2.21)
becomes
°
k m
" x ·3 . + '"
'L.J)J L.J 3 J- = b (2.22.1)
j=1 j=k+1
and thus a basis for Rm. But since these vectors are admitted at a zero level, it
is evident that the resulting basic feasible solution to AX = b is not unique, i.e.,
more than one basic feasible solution may correspond to the same extreme point.
So for x j = 0, j = k+ 1, ... , m, it is obvious that such a basic feasible solution is
degenerate. Since a basis for R m cannot contain more than m linearly
independent vectors, there are at most m linearly independent columns in A and
thus at most m positive components in X. Q.E.D.
In sum, every extreme point of j corresponds to a basic feasible solution to
AX = b (although it may be degenerate) and every basic feasible solution to the
same represents an extreme point of j.
and
x Bi -- xB--"O>'--
t tJ' i-l-r·
r , x~Br ="0 = x Br f>. rj·
How can we be sure that this new basic feasible solution is actually an
extreme point of :I = {XI AX = b, X ~ 0, X ERn} ? The answer depends upon
60 Linear Programming
whether the vectors within B are linearly independent. If they are, the answer
must be yes.
In this regard, for polyhedral convex sets in R n , we have
2.38. EXISTENCE THEOREM. The convex polyhedron j = {XIAX = b,
X~O,X€Rn}::/=t/J (A is (mxn) and p(A)=m) has at least one
extreme point.
PROOF. According to theorem 2.32, if AX = b,X ~ °has a feasible
solution, then it also has a basic feasible solution. And since we know that there
exists a one-to-one correspondence between basic feasible and extreme point
solutions (by the preceding theorem), the proof is complete. Q.E.D.
We mentioned earlier that the convex hull of a finite number of points is
termed the convex polytope spanned by these points. Clearly a convex polytope
generated by m points cannot have more than m extreme points (since it is
defined as the set of all convex combinations of these m points). Under what
circumstances can a point within a convex polytope be represented as a convex
combination of its extreme points? To answer this question we have
2.39. REPRESENTATION THEOREM. If j is a convex polytope in R n
and ~ is its finite set of extreme points, then co(~) = :f.
In sum, every convex polytope is the convex hull of its extreme points.
(Conversely, if {XI' ... ,X m} is a finite set of points, then the convex hull of
{Xl"'" Xm} is a convex polytope:f. The set of extreme points ~ is a subset of
{Xl" .. , Xm }·)
X+Ad ~ °
for each 0 ~ A€R and X€j. Since Xd, t.e., AX ~ b and X ~ 0, the first
inequality holds for A arbitrarily large if and only if Ad S O. Similarly,
Preliminary Mathematics 61
Hence
[ -B-llj] ~ 0
e· -'
J
where B-1lj ~ 0 and lj is the jth (nonbasic) column of R.
It is easily demonstrated that
2.41. COROLLARY. A convex polyhedron f = {XIAX = h, X ~ 0, X t Rn}
has a finite number of extreme directions.
We next examine the conditions under which extreme directions exist.
Specifically, we look to the following
2.42. EXISTENCE THEOREM. The convex polyhedron f = {XIAX = h,
X~O,XtRn}, where A is (mxn) and p(A)=m, has at least one
extreme direction if and only if it is unbounded.
In some of the theorems to follow we shall have occasion to invoke the
assumption that certain point sets are bounded. To appropriately characterize
this concept let us now examine a couple of unboundedness criteria. Specifically,
2.43. THEOREM. (a) A convex polyhedron f = {XIAX ~ h, XtR n } in R n
is unbounded if and only if it admits a half-line or (b) if and only if
the polyhedral convex cone e= {XIAX ~ O,XERn } contains a non-
null vector.
order (mxn) with p(A) = n. In addition, let {Xl, ...,Xk }, {dl, ... ,d,}
be finite sets of extreme points and extreme directions for :f
respecti vely. Then
k 1 k
:f = { XIX = I: .\Xj + I: J.ljdj , I: '\ = 1,
i=1 j=1 i=1
We note briefly that the converse of this theorem IS also true, i.e., every
co{Xl , ... , X k } + coni{dl ,. .. , d, } for finite sets {Xl' ... ' X k }, {d l , ... , d,} is a convex
polyhedron.
2.16. Simplexes
We noted above that a set :f ill R n is termed a convex polytope if it
is expressible as the convex hull of finitely many points {Xl' ... ' X k } or
:f = co{X l ,. .. ,Xk }. It was also mentioned that a set of k + 1 vectors
{Xo, Xl'···' X k } in R n is affinely independent if and only if the translated set
Preliminary Mathematics 65
4Some authors define a k-simplex as the set of all strictly positive (Ai> 0) convex
combinations of a collection of k+l affinely independent points. Clearly any such set must be
open. Equation (2.25) is then used to define the closure of an (open) k-simplex and
subsequently called a closed k-simplex.
66 Linear Programming
( k+l) (k+l)!
€+1 - (€+I)!(k-€)!·
f(X) f(X).
This contradiction thus implies that some extreme point X E '1 must satisfy
f(X) = f(X). A similar demonstration holds for Y. Q.E.D.
68 Linear Programming
We shall see in the next chapter that the region of admissible solutions for a
linear programming problem is a convex polyhedron % = {X I AX ~ b, X ~ O} in
RR (if % is bounded, it is a convex polytope). In this regard we have
2.52. THEOREM. Let % be a convex polytope (containing no extreme
directions) and let the linear functional f: RR--+R be bounded above
on %. Then there exists an extreme point X € % such that
Here (3.1) (or (3.1.1» is termed the objective function (the expression to be
maximized) and, taken altogether, the structural constraints and non-negativity
conditions will be referred to as the constraint system. (Note that the constraint
system is made up of a set of m+p half-planes.) Such a system forms the
feasible region % C RP, i.e., the area within which an admissible solution to the
69
70 Linear Programming
problem lies. Thus X is formed as the intersection of the solution sets of the
constraint system or
X ={X IAX ~ b, X ~ O}
=( n?::I{XI~j=laijXj~bi}) n (n~=I{Xlxj~O}).
Clearly 9G is a convex polyhedron since it is the intersection of a finite number of
closed half-spaces. The linear programming problem is termed feasible whenever
Any X which satisfies (3.2) (or (3.2.1)) is called a solution to the linear
programming problem while if such an X also satisfies X ~ 0, i.e., X € X, then it
is termed a feasible solution. Moreover, if Xo is feasible and !(Xo) ~ !(X), where
X is any other feasible solution, then Xo is termed an optimal (i.e., maximal)
solution.
Two additional points are in order. First, the linear programming problem
has been written in terms of maximizing a hyperplane subject to a set of
structural constraints and non-negativity conditions. If we are faced with
minimizing the same, then we may utilize a transformation which converts the
minimization problem into an equivalent maximization problem, z.e.,
min! = - max{ - f} (see Chapter 9 for further details.) Next, in our subsequent
analysis we shall assume that each bi ~ 0, i=I, ... , m. If it happens that bi < 0 for
some value of i, then both sides of the structural constraint to which it
corresponds may be multiplied by -1 so as to fulfill this requirement.
Let us first illustrate the region of feasible solutions %. Since the structural
constraints and non-negativity conditions must all be satisfied simultaneously, it
is obvious that 9G is simply the intersection of the solution sets of the constraint
system (Figure 3.1).
50
30
~~----~--~------------------------~~~XI
5 15 30 100
Figure 3.1
greater than /2, the requirement that / have at least one point in common with
X is not met. Hence any point on the line corresponding to / = /3 is
inadmissible.
Since the lines 2XI - X 2 = 10 and !x I + x 2 = 50 intersect at point A, the
simultaneous solution of these two equations yields the optimal values of xl and
x 2' namely x~ = 24, xg = 38. Hence the maximum value of / is /0 = 24 + 4 . 38
= 176.
In general, at an optimal feasible solution to the linear programming
problem, the hyperplane / cannot contain any interior point of X and must
contain at least one boundary point of X, i.e., it is a supporting hyperplane of X.
In this light, the optimal solution to a linear program must occur at an extreme
point of X or at some convex combination of extreme points from X.
A formalization of these observations along with a computational technique
for generating maximal extreme point solutions is presented below.
(3.3)
In the light of (3.3), the linear programming problem in standard form involves
maximizing the augmented objective function
subject to
Introduction to Linear Programming 73
(3.5)
ci xl
xp
=[~J.
Cp
e= X= =[:J
Cp +l xP+1
Cp +m +m
Xp
an alp 1 0 0
a21 a2p 0 1 0
A= [A,lm],
% = {X IAX ~ b, - AX ~ - h, X~ 0 }.
The linear program in standard form is said to be feasible if %f. <p.
What is the connection between % and %? Given any feasible solution to
AX = h, the addition of m non-negative slack variables uniquely determines a
74 Linear Programming
points in % and %.
To formalize this correspondence let us define a function ,: %-+% as
,(X) = X, where Xf% and Xf%. Here ,: (a) is one-to-one; (b) preserves convex
combinations of vectors; and (c) preserves extreme points. That is:
(a) Choose Xl' X2f% with ,(Xl) =,(X2). Then
number of extreme points (e.g., see Figure 3.1). Hence % can be written as the
convex hull of its set of extreme points. In this regard, if the set of extreme
points of % appears as {X1, ...,Xk }, then by virtue of theorem 2.39,
That is, each X€% is expressible as a convex combination of the set of extreme
points of %.
However, if % is not strictly bounded, then % is not a convex polytope and
thus, as determined by representation theorem 2.44, % has a finite basis, i.e., %
is expressible as the sum of the convex hull of a finite number of extreme points
and the conical hull of a finite collection of extreme directions, all taken from %.
If the set of extreme points of % again appears as {X1' ... 'Xk } and {dl, ... ,d e}
depicts the set of extreme directions in %, then if A is of order (m x n) with
peA) = n,
If C'X r = max C'Xi , then replacing each C'Xi by C'X r in the preceding
l:5 i :5 k
1~ i ~ k objective function does not decrease this sum so that
Then
CX
,-
= L: i=l () i C Xi =C Xr L: i=l ()i =C Xr
B -, , B - ,
since C'Xr = C'Xi , i=l, ... , s, and thus the second part of the theorem is verified.
Q.E.D.
This theorem informs us that if X is a convex polyhedron and C'd j ~ 0 for
each extreme direction d j , j=l, ... , e, for X, then f takes on its finite maximum at
an extreme point of X or at some convex combination of extreme points taken
from !!G. However, if X is a convex polytope (a bounded convex polyhedron),
then f is indeed bounded from above on !!G and thus the existence of a finite
maximum of f at an extreme point of X follows immediately from theorem 2.52 .
As Figure 3.2.a reveals, the maximum of f occurs at a unique extreme point A
while in Figure 3.2.b, f attains the same maximal value at extreme points A, B,
and at every convex combination C of A, B.
mazf=f(A)=f(B)=f(C),
mazf = f(A) C = ()A + (l-()B,
O~()~l
1---o<---L--..6._~.L--'-- _ _---+ zl
a unique optimal solution
. Ie optima
mu Itip . I soIutlOns
. zl
a. b.
Figure 3.2
Introduction to Linear Programming 79
The above example problem (Figure 3.1 of section 3.2) dealt with the case
where 3G was a convex polytope. However, if 3G is not bounded, then the notion
of whether or not the linear program attains a finite maximum depends upon the
characteristics of the I hyperplane itself. For instance, let us
maxI = - ~X1 + 3x 2 s.t.
- Xl + x 2 :S 1
-~x1 + x 2 :S 3
-~xl + x 2 :S 5
x 1 ,x 2 ~ o.
Here 3G is a convex polyhedron that is unbounded (Figure 3.3). Moreover, 3G has
four extreme points
Figure 3.3
The importance of existence theorem 3.1 is that it drastically limits the size
of the set of points within % which are possible candidates for an optimal
Introduction to Linear Programming 81
solution. That is to say, instead of examining all points along the boundary of 9G
in our search for a finite maximal solution, we need only look to the set of
extreme points for it is among these points that the optimal solution must be
found. And since there are at most a finite number of such points, we may be
assured that only a finite number of extreme point solutions need be examined in
our search for a maximum of I. An iterative method of search which does in fact
proceed to the maximum of I in a finite number of steps is the simplex method,
which will be discussed in subsequent chapters.
We close this section by noting briefly that:
(a) if 9G = </J, the linear programming problem has no solution;
(b) if 9G is bounded (9G is a convex polytope), the linear program has a
finite optimal solution which occurs at an extreme point or at some
convex combination of extreme points; and
(c) if 9G is unbounded, the linear programming problem has a solution that
may be unbounded.
AX = [B, R] [i:]
=BX B + RXR = b,
where X has been partitioned into an (mxl) matrix XB,X B= (xBl"",xBm)'
containing the m variables corresponding to the m linearly independent columns
Introduction to Linear Programming 83
of A and an (n-m xl) matrix X R' Xn = (x Rl' ... , x R, n-m)' containing the
n - m remaining variables. Since p(A) = m, B is nonsingular. Hence
X B = B-lb- B-lRXR (3.6)
and all solutions to the augmented structural constraint system can be generated
by assigning arbitrary values to X R . In particular, if X R = 0,
and we obtain a basic solution to AX = b, namely X' = (XB' 0'), since the
columns of B constitute a basis for R m , i.e., each column of R and the vector b
are expressible as a linear combination of the linearly independent columns of B.
Hence the variables within X B are said to be basic variables while those within
X R are termed nonbasic variables.
To summarize: given the augmented structural constraint system AX =b
with p(A) = p[A, b] = m, if any m linearly independent columns are chosen from
A and if all the remaining n - m variables not associated with these columns are
set equal to zero, the resulting solution X' = (XB,O') contains no more than m
nonzero variables and is a basic solution to AX = b. Furthermore, if X B ~ 0 so
that X 2: 0, then X is termed a basic feasible solution to AX = b and corresponds
to an extreme point of %. That is, X is an extreme point of % if and only if
X' = (B-lb,O)' ~ 0'. Finally, a basic solution (feasible or otherwise) to AX =b
is said to be degenerate if one or more of the basic variables within X B vanishes,
i.e., X contains less than m positive components.
EXAMPLE 3.1. Find a basic solution to
Xl + 2x2 + x3 + x 4 = 1
2xl - 2x2 - x3 + x 4 = 1.
Here
84 Linear Programming
A - [1 2 1 1] X _
- 2-2-11'
r:~]
-l::' and b=U ].
Since p(A) = p[A, b) = 2, the equations are consistent and nonredundant. Hence
we may extract from A two linearly independent columns so as to form the
nonsingular basis matrix B. Let us try columns two and three. Since
1_; -~ 1= 0,
these columns are obviously not linearly independent so that B- 1 does not exist.
Let us now try columns one and three. Since
I ; -~ I = -3 # 0,
we may now form
B=[~ _~}B-l=[i_n
R=[ _~ : } XB=[::} and XR=[~:l
We noted above that to obtain a basic solution to AX = b we need only solve for
the basic variables in terms of the non basic variables, and then set the nonbasic
variables equal to zero. Proceeding in this fashion yields, from (3.6),
[::] [
2
3"
1
3"
e={YIY=AX= t J=1
ajxj'X~ o}
is requirements space. Now if p(A) = m, the columns of A yield a basis for R m
so that b cannot be expressible as a nonnegative linear combination of fewer than
m of the aj' Thus the number of x j > 0 is never greater than m. In this regard,
if the m linearly independent columns of A constitute the (m x m) matrix B, then
a basic feasible solution to AX = b results when b is expressible as a nonnegative
86 Linear Programming
For instance, let AX = [3t, ... ,as]X = b€R n (Figure 3.4.a). Since b€e, i.e.,
b = E~=laizi' system AX = b has a feasible solution in requirements space or
9G "# <p. Moreover, h is expressible as
a.
b.
Figure 3.4
Introduction to Linear Programming 87
or
'L...J
" i=ln [ ai
ci ] xi = 'L...J
" i=ln aixi
_ = b ]'
[f (3.7)
then we desire to find a solution to (3.7) for which each xi 2: 0, i=I, ... , n, and f
is as large as possible. Clearly the vector [j]. f maximal, must be an element of
the finite cone e spanned by the vectors ai = (ai, Ci)' i=l, ... , n.
For example, let us
maxf(X) s.t.
Xl + x2 + x3 5
xl' X 2 'X 3 2: 0,
where x3 is a slack variable. As indicated above our problem can be rewritten as:
choose xl' X 2 ' X3 2: 0 so that
and f is maximal. From Figure 3.5, it is evident that the maximal solution is a
multiple of the vector a; = (1,2) or
[;l
- - - set of points of the form
fa parameter.
o ~~-=--~~----------~
Figure 3.5
4 DUALITY THEORY
89
90 Linear Programming
where X and C are of order (p xl), U and b are of order (m xl), A is of order
(m x p), and 9G p ,9G D denote the regions of admissible solutions for the primal
and dual problems respectively. In standard form, the primal and its symmetric
dual may be written as
max J(X,Xs) = C'X+O'Xs s.t. min g(U, Us) = b'U + O'U s s.t.
AX + ImXs = b A'U -IpUs = C
X,Xs ~ 0 U,Us ~ 0
where X s ' Us denote (m x 1) and (p x 1) vectors of primal slack and dual surplus
variables respectively. Here Us has as its lh component the dual surplus
variable
Duality Theory 91
(4.1)
xl + X 2 +3x 3 < 5
2xl - x2 + x3 < 6
xl + 3x 2 - 4x 3 < 8
:1:2 + x3 < 7
Xl' X2' X3 > 0,
find its dual. In light of the preceding discussion it is obvious that the symmet-
ric dual problem is
92 Linear Programming
AX~ b} {AX~ b
AX~- b or -AX~-b
-
must hold simultaneously. Then the above primal problem has the canonical
form
max f(X) = C'X s.t.
problem appears as
ming(W, V) = b'(W-V) s.t.
A'(W-V) f; Cj w, V f; O.
If U = W - V, then we ultimat.ely obtain
ming(U) = b'U s.t.
A'U f; C, U unrestricted
since if both W, V f; 0, their difference may be greater than or equal to, less than
or equal to, or exactly equal to the null vector.
Next, suppose the primal problem appears as
max f(X) = C'X s.t.
AX f; b, X f; O.
In canonical form we seek to
max f(X) = C'X s.t.
-AX ~ -b, X f; O.
The symmetric dual associated with this problem is
ming(V) = -b'V s.t.
-A'V f; C, V f; O.
If U = -V, then we finally
min g(U) = b'U s. t.
A'U f; C, U ~ O.
Lastly, if the primal problem is of the form
max f(X) = C'X s.t.
AX ~ b, X unrestricted,
then X may by expressed as the difference between two vectors Xl' X2 whose
components are all nonnegative. Hence the primal problem becomes
max f(X I ,X2 ) = C'(XC X2) s.t.
A(X I -X2 ) ~ bj XI ,X2 f; 0
or
94 Linear Programming
x l -x 2 -1
x l ,x 2,x4 2: 0, x3 unrestricted
DuaJity Theory 9.5
is
min 9 = 5u I + 4u 2 - u3 s.t.
ul + u3 2: 3
UI
2uI + u2
3uI - u2 2: -1
ul 2: 0, u2 ::; 0, u3 unrestricted.
This theorem shows that a feasible solution to either problem yields a bound on
the objective value of the other problem. Next,
4.3. SUFFICIENT OPTIMALITY CRITERION. If XO' Uo are feasible
solu-tions to the primal maximum and dual minimum problems
respectively and C'Xo = b'Uo, then both Xo' Uo are optimal solutions.
PROOF. Let j{ be any other feasible solution to the primal problem.
Then C'j{::s b'Uo = C'Xo and thus Xa is an optimal solution to the primal
problem. Similarly, if U is any other feasible solution to the dual problem, then
b'U ~ C'Xa = b'Uo and thus Uo is an optimal solution to the dual problem.
Q.E.D.
We now turn to the development of some background material which will
serve to set the stage for our discussion of what are commonly called fundamental
theorems of linear programming, namely the duality, existence, and complemen-
tary slackness theorems. Following Goldman and Tucker (1956), let us begin by
considering the m + p + 1 inequalities
-AX+b ~O
A'U -C ~ 0 (4.2)
- b'U + C'X ~ 0,
where the last inequality in this system has been obtained by reversing the sense
of the inequality in b'U ~ C'X (theorem 4.2). In matrix form, system (4.2) may
be written as
KY ~ 0, (4.3)
where
(4.4)
Under what conditions will this modified combined primal-dual linear program-
ming problem possess a nonnegative solution? According to the skew-symmetric
theorem 2.7 .a, there exists a vector Y' = (U', X', 1) ~ 0' such that
KY ~ O}
or
Y+KY>O
-AX+b1 ~O (4.5)
A'U -C1 ~O (4.6)
- b'U +C'X > 0 (4.7)
U-AX+b1 > 0 (4.8)
A'U +x-C1 > 0 (4.9)
- b'U +C'X +1 > o. (4.10)
Then, with 1 :::: 0, there are two cases to consider: 1 > 0 and 1 = O.
First,
4.4. THEOREM [Goldman, Tucker (1956)]. If 1> 0, then there exist
optimal vectors X, U for the primal maximum and dual minimum
problems respectively such that C'X = b'U.
PROOF. With 1 > 0, the homogeneous inequalities (4.5) - (4.10) may
be transformed to
KY;' O} or
Y+KY>O
AX + b ~O (4.5.1)
A'U - C ~O (4.6.1)
-b'U + C'X > 0 (4.7.1)
U-AX+b> 0 (4.8.1)
A'U + X-C > 0 (4.9.1)
- b'U + C'X + 1 > 0, (4.10.1)
98 Linear Programming
where
Then (4.5.1), (4.6.1) indicate that X, U are feasible, (4.7.1) and theorem 4.2
imply that e'x = b'U, and thus, by virtue of theorem 4.3, the optimality of X
and U. Q.E.D.
Next,
4.5. THEOREM [Goldman, Tucker (1956)]. If 1 =0, then one of the
following mutually exclusive cases holds: (a) at least one of the dual
problems has no feasible solution; (b) if the primal maximum problem
has a feasible solution, then its set of feasible solutions is unbounded
and e'x is unbounded from above. Dually, if the minimum problem
has a feasible solution, then its set of feasible solutions is unbounded
and h'U is unbounded from below; and (c) neither the primal nor the
dual problem has an optimal solution.
PROOF. To prove (a), let X represent a feasible solution to the primal
maximum problem. From (4.6) (with 1=0) A'O ~ 0 and thus, with X ~ 0,
X'A'O ~ O. This last inequality, along with (4.10) (1=0) and X ~ 0, yields
(since when b ~ AX, b' ~ X' A' and thus b'O ~ X' A'O). If the dual minimum
problem also has a feasible solution 0, (4.5) (1=0) and 0 ~ 0 imply that
e'x :5 0'AX :5 0 (since if A'O ~ e, 0'A ~ e' and thus 0'AX ~ e'X). This last
set of inequalities clearly contradicts (4.11). In sum, it is not possible for both
the primal and dual problems to have a feasible solution when 1=0.
To prove (b) let us construct the infinite ray X* + AX ~ 0, 0 :5 A € R, where
X* represents a feasible solution to the primal maximum problem and X satisfies
(4.5)-(4.10). From (4.5) (with 1=0) we obtain AX ~o and thus, for A>O,
A(AX) ~ o. With X* feasible, AX* ~ b. Upon combining these last two inequal-
Duality Theory 99
ities it is easily seen that A(X* +AX) ~ AX* ~ b. Thus the entire infinite ray
consists of feasible solutions, indicating that as A increases without bound,
X* + AX remains feasible. Turning now to the latter part of the first assertion in
(b), with e'x > 0 (by (4.11)), it follows from the feasibility of X* that
e'(X*+AX) = e'x* + Ae'X can be made arbitrarily large by choosing an
appropriate value of A. A symmetric argument holds for the dual feasible region
and objective function. So for t = 0, whether the primal or dual problem has a
feasible solution, its objective function is unbounded.
That (c) is true follows as a direct consequence of (b). Q.E.D.
At this point two immediate corollaries to theorems 4.4, 4.5 emerge. First,
4.6. COROLLARY [Goldman, Tucker (1956)]. Either boththe primal
maximum and dual minimum problems have optimal vectors X and U
respectively with e'x = b'U, or neither has an optimal vector.
PROOF. If one of these problems has an optimal vector, then part (c)
of theorem 4.4 implies that t > 0, to wit theorem 4.3 states that both problems
have optimal vectors X, U with e'x = b'U. Q.E.D.
In addition,
4.7. COROLLARY [Goldman, Tucker (1956)]. One (and thus both) of the
primal maximum and dual minimum problems has an optimal solu-
tion if and only if either e'x or b'U is bounded on its associated
nonempty feasible region.
PROOF. (necessity) If X (U) represents an optimal solution to the
primal maximum (dual minimum) problem, then clearly C'X (b'U) cannot be
unbounded over %p::f. ¢ (%D ::f. ¢). (sufficiency) If the primal maximum (dual
minimum) problem is such that C'X (b'U) is bounded over %p::f. ¢ (%D::f. ¢),
then part (a) of theorem 4.5 implies that t> 0 so that by theorem 4.4, both
problems have optimal vectors. Q.E.D.
Having determined the conditions under which (4.4) possesses a nonnegative
solution, let us now look to a discussion of the first two aforementioned
fundamental theorems of linear programming. First,
100 Linear Programming
f}
A
",t of pdmal objective valu"
f
Figure 4.1
the vector of dual variables will be offered in the next chapter wherein we obtain
an optimality criterion for the primal problem based upon the simplex method.
In addition, another proof based upon saddle point optimality conditions will also
be presented.
Up to now in our discussion of the connection between the primal and dual
problems we have primarily addressed situations in which both of these problems
have feasible as well as optimal solutions. However, it is important to specify
exactly what happens to the relationship between the primal-dual pair of
problems if an infeasible or unbounded solution exists in either of these programs.
To this end we state
4.9. EXISTENCE THEOREM [Goldman, Tucker (1956)].
(a) The primal maximum and dual minimum problems possess finite
optimal solutions if and only if both have feasible solutions.
(b) If the primal (dual) objective is unbounded from above (below),
then the dual minimum (primal maximum) problem does not pos-
sess a feasible solution.
(c) If the dual minimum (primal maximum) problem is infeasible but
the primal maximum (dual minimum) problem has a feasible
solution, then the primal (dual) objective is unbounded from above
(below).
(Here (a) can be thought of as a corollary to the strong duality
theorem while (b), (c) can be considered as corollaries to the weak
duality theorem.)
PROOF. (a) (necessity) If the primal problem has an optimal
feasible solution, then the dual problem has a feasible solution by virtue of the
strong duality theorem. (sufficiency) If X, U are feasible solutions to the primal
and dual problems respectively, then both C'X, b'U are finite with b'U ~ C'X
(the weak duality theorem). And since b'U serves as an upper bound on C'X for
any feasible X, the primal problem must possess a finite maximum.
(b) If the primal objective is unbounded, then the primal problem has a feasible
Duality Theory 103
solution. If the dual problem also has a feasible solution, then according to part
(a) above, the primal problem must have a finite optimum - clearly a
contradiction. (A similar proof holds if it is assumed that the dual objective is
unbounded.)
(c) A feasible solution X to the primal problem cannot also be optimal since, if it
were, a feasible solution U to the dual problem would have to exist by virtue of
the strong duality theorem - again a contradiction. But if no feasible solution
to the primal problem can be ma.'Cimal, then clearly the primal objective must be
unbounded from above. (A similar proof can be offered if it is assumed that the
primal problem is infeasible.) Q.E.D.
The contents of the duality and existence theorems may be conveniently
summarized by Table 4.1. As indicated therein, either both the primal
maximum and dual minimum problems have optimal vectors X, U respectively,
Table 4.1
Feasible Infeasible
x, U are e'x
Feasible optimal with unbounded
e/x = b/U from above
b/U No solution
Infeasible unbounded exists
from below
with e/x = b/U, or neither has an optimal vector. In addition, one (and thus
both) of the primal maximum and dual minimum problems has an optimal
solution if and only if either the primal or dual objective is bounded on its
associated nonempty feasible region.
EXAIVIPLE 4.3. The optimal solution to the primal problem
max f = 24xI + 25x 2 s.t.
Xl + 5x 2 ~ 1
4xI + x 2 ~ 3
x l ,x2 2: 0
104 Linear Programming
is Xb = O~, 119) and /0 = 19 (Figure 4.2.a) while the same for the dual problem
min g = u 1 + 3u 2 s.t.
u 1 + 4u 2 ~ 24
5u I + u2 ~ 25
u l ' u2 ~ 0
is Ub = (4,5) and gO = 19 (Figure 4.2.b). Here both the primal and dual
problems possess optimal vectors Xa, Uo respectively with /0 = l, as required by
theorem 4.8.
a. b.
Figure 4.2
min 9 = 3u I + 6u 2 s. t.
-2u I -~U2 ~ 2
ul + u2 ~ 3
u I ,u2 ~ 0,
-----\+--~-----+ ul
a. b.
Figure 4.3
(4.12)
for optimal solutions (Xo, (X8)0), (Uo, (U8)0) to the primal maxImum
and dual minimum problems respec tively:
(a) if a primal slack variable X~+i' i=l, ... , m, is positive, then the ith
dual variable u?,i=l, ... ,m, must equal zero. Conversely, if u?,
i=l, ... , m, is positive, then X~+i' i=l, ... , m, equals zero;
(b) if the lh primal variable x~, j=l, .. ., p, is positive, then the dual
surplus variable U~l+ j' j=l, . .. , p, equals zero. Conversely, if
uom +j' J=
. 1, ... , p, IS
. POSI. t·Ive, th en x o·
j' J= 1, ... , p, must equaI zero.
(sufficiency) If both sides of the primal and dual augmented structural constraint
equalities are multiplied by %,~ respectively, with (Us)~Xo = U~(X8)O = 0,
then U~(AXo) = U~b and ~(A'Uo) = X~C. Transposing this latter equality
thus yields U~AXo = C'Xo = b'U o. Hence Xo, Uo represent optimal solutions.
Q.E.D.
How may we interpret (4.12)? Specifically, U?X~+i = 0, i=l, ... ,m, implies
that either X~+i >0 and u? = 0 or u? > 0 and X~+i = 0 or both u?, X~+i = o.
Similarly, x~ u~+ j = 0, j=l, ... , p, implies that either x~ > 0 and u~+ j = 0 or
u~+ j > 0 and x~ =0 or both x~, u~+ j = O. Alternatively, if the constraint
system for the primal-dual pair of problems is written as
it is easily seen that if the kth dual variable is positive, then its complementary
primal structural constraint is binding (i. e., holds as an equality). Conversely, if
the ktll primal structural constraint holds with strict inequality, then its
complementary dual variable is zero. Likewise, if the eth primal variable is
positive, then its complementary dual structural constraint is binding.
Conversely, if the eth dual structural constraint holds as a strict inequality, its
p
complementary primal variable is zero. In short, x~ :::: 0 and bi - .~laijX~:::: 0 as
m J-
well as u?:::: 0 and i~l aiju? - Cj :::: 0 are complementary slack since within each
pair of inequalities at least one of them must hold as an equality.
108 Linear Programming
(4.13)
Uo + (Xs)o > 0,
Xo + (U s)o > 0 or
x °+ u m°
j + > O·
j ,J= 1, ... , p. Q.E.D.
Then, for the strong case, if the kth dual variable is zero, then its complementary
primal structural constraint holds as a strict inequality. Conversely, if the
kth primal structural constraint is binding, then its complementary dual variable
is positive. Note that this situation cannot prevail under the weak case since
if u9 = o(bj-.f
J=1
ajJ'xoJ. = 0),it does not follow that bj-.f ajJ'xoJ. > O(u? > 0),
P J=1
0)
I
i.e., p under the weak conditions, u? = O(b j -jEl ajjxj = implies that
bj - jE 1ajjxj ~ O(u? ~ 0). Similarly (again considering the strong case), if the eth
primal variable is zero, it follows that its complementary dual structural
constraint holds with strict inequality. Conversely, if the eth dual structural
constraint is binding, it follows that its complementary primal variable is
positive. Here too a comparison of the strong and weak cases indicates that,
for
m
the latter, if xj = O( 1-1
.~ ajjuj -
Tn
Cj = 0), we may conclude that
j~1 ajjuj - Cj ~ O(xj ~ 0) but not that i~1 ajjuj - Cj > 0 (xj > 0) as in the former.
To summarize:
110 Linear Programming
and and
m m
:E a· ·u9 - c·J > 0 implies x~J = 0,
i=1 ' J '
:E a·'J.u91 - c·J = 0 implies
;=1
x~
J
> 0,
( n) _ n!
m - m!(n-m)!'
i.e., we are interested in the total number of ways in which m basic variables can
be selected (without regard to their order within the vector of primal basic
variables X B ) from a group of n variables. Clearly for large nand m it becomes
an exceedingly tedious task to examine each and every basic feasible solution.
What is needed is a computational scheme which examines, in a selective fashion,
only some small subset of the set of basic feasible solutions. Such a scheme is the
simplex method (Dantzig (1951)). Starting from an initial basic feasible solution
this technique systematically proceeds to alternative basic feasible solutions and,
in a finite number of steps or iterations, ultimately arrives at an optimal
111
112 Linear Programming
basic feasible solution. The path taken to the optimum is one for which the
value of the objective function at any extreme point is at least as great as at an
adjacent extreme point (two extreme points are said to be adjacent if they are
joined by an edge of a convex polyhedron). For instance, if in Figure 5.1 the
extreme point A represents our initial basic feasible solution, the first iteration
slides f upwards parallel to itself over %p until it passes through its adjacent
f
~------------------------------~Xl
Figure 5.1
AX = [B,R] [i~
= BXB+RX R b.
Since IB I i= 0, B- 1 exists and we thus obtain
X B = B-lb-B-1RXR . (5.1)
Let us next partition the (n xl) coefficient matrix C into (m xl) and (n-m xl)
matrices CB and CR respectively, where CB contains the objective function
coefficients corresponding to the basic variables in X B and C R contains the coeffi-
cients on the non basic variables in X R . Then
/(X) c'x
[Cn, Cn ] [i:]
= CnX B + CnXR · (5.2)
Substituting X B from above into (5.2) yields
f(X) = CnB-lb + (C n- CnB-1R)X R· (5.2.1)
At a basic feasible solution to the linear programming problem, X R = 0 so that
X = [~B] r~l, ~ 0,
(5.3)
/(X) = cnB-lb.
If b = B-lb ~ 0, then B will be termed a primal feasible basis.
114 Linear Programming
(5.1.1)
f = C'nb+CnXR
= f + L:;,:;n CjXRj' (5.2.2)
These primal programs are said to be written ill reduced form in nonbasic
variable space since the number of dimensions involved has been reduced to
n - m = p, the number of non basic variables. In this regard the new set of
The Theory of Linear Programming 115
Thus X cannot represent a maximal solution and thus B is not an optimal primal
feasible basis.
< 0 for all j implies a unique optimal basic feasible solution for the
That Cj
primal problem follows from the fact that if Cj < 0 for all j :f. k and ck = 0, then,
by setting j = k in (1).5) and (5.6), we can move to an alternative optimal
feasible basis that renders the same value of I, namely f. Q.E.D.
Given that each Cj ::; 0, j = 1, ... , n-m, at an optimal primal basic feasible
solution, these coefficients are often referred to as optimality evaluators.
Note that in the last equation the optimal value of the primal objective function
is written in terms of the optimal values of the primal basic variables x Bi'
i = 1, ... , m. As an alternative, let us respecify the optimal value of the primal
objective function in terms of the optimal dual variables by expressing the latter
as
The Theory of Linear Programming 117
= (.E
.=1
C Bibil"'" f>Bib im )
.=1
= (u l ,···,um ),
where cBi,i = 1, ... ,m, is the ith component of C B and bij,i,j = 1, ... ,m, is the
element in the ith row and /h column of B- 1 • B
Then C B- l = U' and thus
f(X) = U'b. Thus the value of f corresponding to an optimal basic feasible
solution may be expressed in terms of the optimal values of either the primal or
dual variables.
Given that the optimality criterion is satisfied, we must have
C'R - < 0' or -C j --
C'B B- I R = CRj - C'B B- 1r j _< 0,J. -- 1, ... , n-m,
where rj is the /h non basic vector. Moreover, this inequality must hold for basic
vectors as well, i.e., relative to the ith basic variable x Bi' i = 1, ..., m,
ci = cBi-CRei = cBi-cBi = O.
Hence the optimality criterion holds for all columns of [A,lm] (or [B, RD. In this
regard:
(a) for the columns of A,
and thus
U' A ~ C' or A'U ~ C,
i.e., U = (B- l )'CB represents a solution to the dual structural constraint
system;
(b) for the columns in 1m ,
118 Linear Programming
and thus
U'I m ~ 0' or U ~ 0,
First, if e' - u'A ~ 0' (note that for U' = CnB- 1 , this inequality is simply
the primal optimality criterion), then the ma.ximum in (5.7) is attained for X = 0
and thus L(U) = U'b. Here L(U) is a finite upper bound on the maximal primal
objective value (by the weak duality theorem 4.2). Second, if C' = U'A ~ 0', say
ck = U'ak > 0, then for Xj = 0, j =1= k,
L(U) = U'b + max (ck - U' ak)xk.
Xk ~o
Clearly L(U)--+oo as xk--+oo, i.e., according to existence theorem 4.9, if the dual
problem is infeasible but the primal problem has a feasible solution, then the
primal objective value is unbounded from above.
To construct the dual problem let us assume that primal optimality holds.
Hence we many determine, via the weak duality result, the least upper bound of
L(U) or
minL(U) s.t.
e' - U'A ~ 0', U ~ 0
or
ming = U'b s.t.
A'U ~ C, U ~ 0,
Thus Yik' i = 1, ... , m, represents the amount by which the ith basic variable
would change in any primal basic solution given that the kth non basic variable
increases from zero (its current nonbasic value) to one, with all other nonbasic
variables remaining at their zero level.
Looking now to the optimality evaluators, again let j = k so that
We may interpret this expression as the net change in f given that x Rk increases
from zero to one. In what sense shall we interpret the notion of net change? As
x Rk increases by a unit, it directly impacts f through its objective function
coefficient c Rk. Next, x Rk affects f indirectly through its impact on the m basic
variables x Bi' which in turn precipitate a change in f via their objective function
coefficients C Bi. Thus the combined indirect effect of a one unit increase in x Rk
on f is fk=E?~lCBiYik. Hence ck=cRk-fk is the net effect on f of
increasing x Rk by a single unit. In sum,
The Theory of Linear Programming 121
(Here rk = ak. If rk = ek' then ck = -uk.) While the direct effect on I of a unit
increase in x Rk is the same as before (f changes marginally by C Rk)' the indirect
impact on I when x Rk = 1 is now given by f k = E~l Ujaik. Given that aik
xl' X2 ' X3 ~ O.
Since our starting point is the primal linear programming problem in standard
form, we introduce two nonnegative slack variables x 4 ' Xs and ultimately
max f = + 3x 2 + 4x3 + OX4 + OXs
Xl s.t.
2XI + x 2 + 4x3 + X 4 100
Xl + 3x 2 + X3 40
1
3
A 2 1 4 10]
[ 13101'C 4
o
o
Since the determinant of the (2 X 2) submatrix formed from columns three and
five of A is different from zero, p(A) = 2. With these two columns linearly
independent, we may consequently select x3 and Xs as basic variables with Xl' x 2'
and x 4 nonbasic and proceed to generate our first basic feasible solution. In this
regard,
B [ 41 01 B-
1 '
1
From (5.1),
The Theory of Linear Programming 123
(5.8)
100+(-1,2,-1) ~:J
r~R~
(5.9)
Y"ru = [~ ]",
we see that if x2 = 1, x3 changes by i unit and Xs changes by 141 units since, from
(5.8),
XB = b- Y2xR2 or
moment x2 is equal to zero so that if we increase its value from the zero level by
some positive amount, it is obvious that, with p(B) = 2, we must change the
status of some variable which is currently basic to non basic since there are at
most two linearly independent vectors in a basis for R2 and thus at most two
basic variables. Hence we must determine which basic variable, x3 or x s, should
now become non basic (i.e., decrease in value to zero). The answer to this
question is the topic of the next section wherein we consider the generation of a
succession of extreme point solutions to a linear programming problem using the
primal simplex method.
(5.10)
How may we obtain a new basic feasible solution with an objective function value
which is at least as great as at the old basic feasible solution? That is to say,
given a basic feasible solution X' = (XB,O') with f(X) = CBX B , we week to
determine an alternative basic feasible solution X' = (X~, 0') € R n such that
f(X) = C~XiJ;::: CBX B , where B denotes the new mth order nonsingular basis
matrix. If more than one Cj > 0, j = 1, ... , n-m, we must first determine which
non basic variable is to become basic (i.e., increase in value from zero). Let us
adopt the convention of picking the nonbasic variable in (5.10) with the largest
positive Cj coefficient since such a choice involves the largest increment in f per
unit change in x Rj' j = 1, ... , n-m. In this regard, if l denotes the index set
consisting of all j for which Cj > 0, i. e., l = {j Ie j > O}, and
(5.11)
then xRk' the nonbasic variable corresponding to the kth column of R, rk'
126 Linear Programming
becomes basic. Next, how do we go about selecting a column of the current basis
matrix B to be replaced by rk? The answer is provided by the following corollary
to optimality theorem 5.1. As we shall now see, the proof of this corollary is
constructive in that it outlines a process called the primal simplex method for
actually obtaining a new basic feasible solution which renders an increase in the
value of f.
5.2. COROLLARY (THE PRIMAL SIMPLEX METHOD). Let B repre-
sent a primal feasible basis with b = B-Ib > 0 (nondegeneracy) and
Cj > 0 for some nonbasic variable x Rj' j = 1, ... , n-m. Then either:
(a) there exists an extreme direction d j with C'dj > 0, in which case
x Rj can be increased indefinitely without violating feasibility so
that the primal objective function value is unbounded; or
(b) we obtain a new primal feasible basis and a new (possibly degener-
ate) basic feasible solution that yields an improved value of f.
PROOF. Let the current basic feasible solution be depicted as X' =
(XB' Xh) = (b',O') with C'X = CBb. Also, let Ch 1:. 0' so that primal
optimality does not hold. In particular, let ck = cRk - CBB-Irk > O. Hence
we may increase x Rk above its current non basic value of zero to the level () > 0 so
as to obtain a larger value of f. To this end, using (5.1.1), XB = h changes to
X B = b - (}Yk while XR = 0 becomes (}ek' Thus our new solution point is
(5.12)
In this regard, we need to find a 0> 0 such that (5.14) holds for all
Yik > O. Rearranging (5.14) yields xB;!Yik 2: 0 so that any 0 for which
will do, i.e., will insure that primal feasibility is not violated.
In fact, this latter inequality enables us to select the b i to be removed from
the basis when fk is entered into the basis. If
(5.15)
is substituted into b - BYk' then the component(s) of this vector for which the
minimum (assumed unique) is attained reduces to zero or becomes nonbasic, i.e.,
So with 8> 0, f(X) > CBb if ck > O. Hence we obtain an improved solution to
the primal problem. Q.E.D.
Based upon the preceding discussion it is evident that the exit criterion
(5.15.1): (1) determines the vector b r to be removed from the present primal
feasible basis Bj (2) determines the value of the variable x corresponding to the
Br
A
incoming vector rk for the new primal feasible basis Bj and (3) in the absence of
degeneracy, insures that X has exactly m positive components and thus
constitutes a basic feasible solution to AX = b. And since the columns of Bare
linearly independent, X represents an extreme point of the primal feasible region.
We may summarize the salient features of the preceding construction by
outlining the following stepwise procedure for implementing the simplex method:
5.3. PRIMAL SIMPLEX ALGORITHM.
Step O. Initialize.
Obtain an initial primal feasible basis B. This provides us with
our first basic feasible and thus extreme point solution
The Theory of Linear Programming 129
(a)
-, ,
If C R ~ 0 ,stop. We have obtained an optimal basic feas-
ible solution.
(b) If CR~ 0', apply the entry criterion (5.11).
Step 2 If x Rk is chosen to become basic, check Yk'
(a) If Y k ~ 0, stop. The objective value is unbounded along the
infinite ray X + Bd k , where x Rk = B 2: 0, dk = (-Y k,e~J
(b) If Y k ~ 0, apply the exit criterion (5.15.1) to determine the
variable x Br to become nonbasic.
Step 3. Form a new primal feasible basis B by replacing b r within B by
rk and return to step 1.
The entire process involving steps (1) - (3) is repeated until either primal
optimality is attained or we detect that the objective is unbounded. Since the
simplex routine examines (adjacent) extreme points, which are finite in number,
the simplex process must terminate in a finite number of iterations. And as
(5.17) reveals, since ck 2: 0, the objective function will be non decreasing between
successive basic feasible or extreme point solutions. 1
Let us now return to the example set forth at the outset of this chapter and
proceed to generate an optimal basic feasible solution given the initial one. We
previously found, using (5.1.1) and (5.2.2), that
or
[::J
IFor details on an interesting variant of the standard simplex routine see the steepest
edge simplex method presented in Appendix B.
130 Linear Programming
f CBB- 1b + (C n- BC B- 1R)XR
Setting this expression equal to the null vector renders the values of X R2 = x2
which respectively reduce x3' x5 to zero, namely x 2 = ~~; = 100, x2 = ~:: = ~~
and thus
~() _ 60 _ m;n {XBl _ 100 xB2 _ 60}
- 11 - • Y12 - 'Y22 - 11 '
i.e., the largest increment in x2 consistent with primal feasibility is ~~. Hence x5
becomes non basic and r2 replaces b2 in the previous basis matrix so that our new
basis matrix is
with
B- 1 [_1: 11
-~1]
11
The Theory of Lineal' Programming 131
.
Upon settmg Xil = 0, X;0.., = (0,5.46,23.63,0,0) and f = 110.91. And since all the
cis are negative, this second nondegenerate basic feasible solution is optimal.
What are the optimal values of the dual variables associated with this
primal solution? To answer this we need only compute
C/. B- 1
B (4,3) [_1: -~l]
11 11
In addition,
are required.
x Bs _ x Br
Y su Yru
= ° or x. -
Bs
0.
So when the variable x Ru turns basic (becoming x iJ) and thus increases from
zero to a level coincident with 0, it reduces to zero not only the variable which it
is displacing, namely x Br' but also any other variable x iJs whose original value
xBs was used in determining O. In this regard, if another iteration is performed
and we obtain the €+ 1st basic feasible solution, the sth component x iJs within
XiJ = fi-1b is zero. It is at this point in our discussion of degeneracy that a
major complication introduced by this notion emerges. For if we now determine
that the v th column of R is to be introduced into the basis, then
o= Y~: = ~v = 0,
X·
y Ysv > 0, i. e., 0 vanishes since the current or €+ 1st basic
feasible solution is degenerate. With 0 = 0, (5.16.1) informs us that if the next
or €+2 nd iteration is executed, the values of the variables common to the €+ 1st
and €+2 nd basic feasible solutions are unchanged while the value of the variable
x· whose status has changed from nonbasic to basic is zero. Hence the €+2 nd
Rv .
basic feasible solution is also degenerate. In this situation, it is clear that no
improvement in the value of the objective function occurs, i.e., although we have
actually obtained a new degenerate basic feasible solution from the old one, we
are still at the same extreme point. On this latter point pertaining to the
absence of a one-to-one correspondence between basic feasible solutions and
extreme points in the presence of degeneracy, see the argument underlying
(2.22.1).
An additional complication precipitated by degeneracy is that we may not
be able to unambiguously interpret the dual variable Uj as the marginal change
134 Linear Programming
in the optimal primal objective value per unit change in the ith requirement bi ,
i.e., ui = of/obi' i = 1, ..., m, may not be uniquely defined in the presence of
degeneracy, a point to which we shall return later on.
It must be mentioned that a new basic feasible solution will not always be
degenerate given that the previous one was. For example, if for some x Br = 0 we
have Yrj < 0, then, since negative Yi/s are not used in computing 0, ~~; = 0 is
not a candidate for the minimum in (5.15) so that x Br = 0 :f. 0 in the next
iteration. Thus the new basic feasible solution will be nondegenerate.
To summarize, when a degenerate basic feasible solution occurs at some
particular round of the simplex method, the value of the objective function is
unchanged when the next iteration is carried out. In fact, it may remain
constant for some large number of subsequent iterations. In addition, there also
exists the possibility that all succeeding basic feasible solutions will be
degenerate. In this latter instance, the simplex process is said to cycle forever in
an endless loop, i.e., a given sequence of bases is repeated again and again so that
convergence to an optimal solution never occurs.2 In the absence of degeneracy,
the value of the objective function increases at each iteration so that we never
return to a previous basis. And as mentioned earlier, since there are a finite
number of bases, we are guaranteed that the simplex method will terminate in a
finite number of iterations.
When degeneracy presents itself, how may it be resolved? The answer is
quite simple. In light of the previously observed fact that the threat of cycling is,
for all practical purposes, virtually nonexistent, no anti degeneracy procedure is
really needed since the effect of degeneracy is simply to slow down the simplex
routine along its path to the optimum rather than to preclude the optimum from
ever being attained. All that one really needs to do is to make an arbitrary
choice from among the tied ratios which constitute the minimum in (5.15). If a
specific anticycling procedure is desired, we may employ:
(1) the perturbation method of Charnes (1952) which perturbs or moves the
vector b a suitably restricted distance and in a fashion such that b
becomes a strictly positive linear combination of the columns of B.
(2) a lexicographic rule for selecting the exiting variable proposed by Dantzig,
Orden, and Wolfe (1954); and
(3) the rule of Bland (1977) for selecting both entering and exiting variables.
Additional considerations regarding anticycling routines are provided by Dantizig
(1951a), Wolfe (1963), Perold (1980), Azpeitia and Dickinson (1964,), and Gass
(1985).
With all Yij ~ 0, i = 1, ... ,m, rj cannot replace any vector currently in the
basis since x Bi - 8Yij > 0, i = 1, ... , m, given that 8> 0, i.e., in this situation, it
is impossible to change the status of any variable from basic to non basic. So if
the current basic feasible solution is nondegenerate, b is expressible as a
nonnegative linear combination of the m + 1 vectors b I , ..., b m , b r and thus m + 1
variables or components of X are different from zero. To this end let us add and
subtract 8rj in the current basic feasible solution to obtain
BXB +8rj-8rj = b.
With Yij ~ O,i = 1, ... ,m, and 8> 0, X B -8Yj ~ 0 so that while this solution to
the augmented structural constraint system AX = b is feasible, it is nonbasic
since b is expressible as a nonnegative linear combination of m + 1 vectors, i.e., X
has m + 1 nonnegative components. The value of the objective function
corresponding to this nonbasic feasible solution is, from (5.17),
I
+ cRi
~ ~
C B (X B -8Y j )
f(X) + cl,
where CBi(XBi-8Yij)i=0, i=I, ... ,m. So with Cj>O, f(X) can be made
arbitrarily large simply by making an appropriate selection of 8. In this instance
f is said to be unbounded since there is, theoretically, no finite upper limit to our
choice of 8 and thus to the value of f. In sum, if all Yij ~ 0, i = 1, ... , m, for
some vector r j in R with Cj > 0, then there exists a feasible solution in the m + 1
variables x B1 , ... , x Bm' x Rj with the result that the values of the objective
function and at least two of these variables may be increased without bounded.
If this case obtains, the simplex process should be terminated.
The Theory of Linear Programming 137
C='xA+(1-'x)b
0~'x~1
B
a. b.
Figure 5.2
The above discussion has indicated that if there exists at least two different
optimal basic feasible solutions to a linear programming problem, then there
also exists an infinite number of optimal nonbasic solutions. However, it must be
mentioned that there may occur a situation in which we have an infinite number
of optimal non basic feasible solutions but only a single optimal basic feasible
solution. To verify this let us assume that we have obtained an optimal basic
feasible solution and that Cj = 0 for some vector rj in R with all Yij ~ 0,
i = 1, ..., m. If r j is introduced into the basis, we obtain a new feasible
nonbasic solution
B(X B - O'Yj ) + O'rj = b
141
142 Linear Programming
feasible X, we can find a vector h such that a small movement along it violates
no constraint, then h specifies a feasible direction at Xo. More formally, let
I5(Xo) be a suitably restricted spherical c5-neighborhood about the point Xo € R n •
Then the (n x 1) vector h is a feasible direction at Xo if there exists a scalar t ~ 0,
o~ t < 15, such that Xo + th is feasible. In this light, for c5(Xa) again a spherical
c5-neighborhood about the feasible point Xo € R n, the set of feasible directions at
Xa,~(Xa), is the collection of all (n x 1) vectors h such that Xa + th is feasible for
t sufficiently small, i.e.,
arX= hr
."..,., (tangent hyperplane)
."..,.
.".
aa X = ha
" (tangent hyperplane)
'" "
L -_ _ ---""~ _ _ _ _ _ _ _ _ _ ___+ Xl
Figure 6.1
specifies a closed half-space ajX ~ hj' i = 1, ... , m+n, the tangent support cone
~(Xo) represents that portion of the intersection of these closed half-places in the
immediate vicinity of Xa.
To discern the relationship between GJl(Xo)(Xo optimal) and: (a) I(Xo)i (b)
the constraints b - AXo ~ 0, let us consider the following two theorems. First,
6.1. THEOREM. If the primal objective function attains its maximum at
Xo, then any movement from Xo along a feasible direction h cannot
increase the value of I, i.e.,
dl o = C'h = C'(X-Xo):5 0 or C'X:5 C'Xo.
PROOF. If I(Xo) = C'Xo is the maximum of lover %, then for
t>O
C'(Xo+th) - C'X 0 = tC'h :5 0
and thus C'h :5 0 for t > O. Q.E.D.
Hence I must decrease along any feasible direction h. Geometrically, no feasible
direction may form an acute angle « 1r /2) between itself and C.
To set the stage for our next theorem, we note that for any optimal X f %,
it is usually the case that that not all of the inequality constraints are binding or
hold as an equality. To incorporate this observation into our discussion, let us
divide all of the constraints b - Ax ~ 0 into two mutually exclusive classes -
those which are binding at X, hj - ajX = 0, ~nd those which are not, hj - ajX > 0,
i = 1, ..., m + n. So if
3 = {ilhj-ajX = O,XfRn }
depicts the index set of binding constraints, then hj - ajX > 0 for i;' 3. In this
regard,
6.2. THEOREM. The vector hfGJl(Xo) (Xo optimal) if and only if
-ajh ~ 0, if l
PROOF. (necessity) Let XodG with ajXo = hi' if3. For hfGJl(Xo),
ai(Xo + th) :5 hi' 0:5 t < 6, for some i. If if 3, aiXo = hi and thus taih:5 0 or
- aih ~ 0, t > 0, for all if 3. (sufficiency). Let - aih ~ 0 for all if 3. Then for
some i;' 3, aiXo < hi and thus
-- --
3X=b
r r
(tangent hyperplane)
-- -
3SX = bs
" (tangent hyperplane)
"
L-------------------------L-----------~Xl
if hE GJ)(Xo) , then - 3ih ~ 0, if 3
a.
3r X = br
...,. .,..... (tangent hyperplane)
".......
3 SX =
bs
(tangent hyperplane)
L-----------------------L-------------~Xl
if hE GJ)(Xo) , then 3ih :S 0, if 3
h.
Figure 6.2
146 Linear Programming
At this point let us collect our major results. We found that if f(X) subject
to hj - ajX = 0, i d, attains its maximum at Xo, then
How may we interpret this condition? Given any h € c:D(Xo) , (6.1) holds if the
gradient of f or C lies within the finite cone spanned by the exterior normals a~,
i d, i.e., C € c:D(Xo) * (or if - C is contained within the finite cone generated by
the interior normals -a~, id, i.e., -C€c:D(Xo)+). Hence (6.1) requires that the
gradient of f be a nonnegative linear combination of the negative gradients of the
binding constraints at Xo (Figure 6.3). In this regard, there must exist real
numbers u? ~ 0 such that
C " -0 -, . Q
(6.2)
L..,J ui ai' ~€ J.
I
a~ C
arX = hr
(tangent hyperplane)
C'(X-Xo) = 0
---~~~---- (tangent hyperplane)
-- "
"SaX=h
(tangent
B
hyperplane)
L-----------------------~~----------~Xl
C€ c:D(Xo)*
Figure 6.3
Xo unrestricted Xo unrestricted
148 Linear Programming
h
were - '0 = (-0
U -0 )
U 1 ,···, U m +n • Note that u?(1ii-aiX) = 0 for all i values since if
bi-aiX > 0, then u? = 0 while if bi - aiX = 0, then u? ~ O.
When we formed the structural constraint inequality b - AX f; 0 the n
nonnegativity conditions X f; 0 were treated as structural constraints. That is,
Xj~O was converted to bm+j-am+jX=ejX~O, j=l, ... ,n. However, if the
nonnegativity conditions are not written in this fashion but appear explicitly as
X f; 0, then (6.3) may be rewritten in an equivalent form provided by the
6.4. KARUSH-KUHN-TUCKER THEOREM FOR LINEAR PROGRAMS.
The point Xo f Rn solves the primal problem
maxf(X) = C'X s.t.
b - AX f; 0, X f; 0
if and only if
(a.l) C - i=1 u9
I
E
(i::;
1_
0 or
m
(a) C-A'Uo ~ 0 Cj -.~ u?aij ~ 0, j=l, ... , n
n 1-1 m
(b) ~(C-A'Uo) = 0 (b.l) E x~(c ·-E u9a .. ) = 0
;=1) ) i=1 I I)
m -0
(c) U~ (b-AXo) = 0 or (c.l) .E ui(bi-ltiXo) = 0
1=1
(6.4)
(d)b-AXof;O (d.l) bi-ltiXo ~ 0 }.
(e. 1) Ui0 0 z=l, ... ,m
(e) Uo~O ~
2Here (6.4) (as well as (6.3» represents the Karush-Kuhn-Tucker conditions for a
maximum of a function subject to inequality constraints. On all this see Panik (1976).
Duality Theory Revisited 149
i=l, ... ,mj z~+m+j' j=l, ...,n, are all squares of slack variables. Hence the
primal Lagrangian appears as
3=1
2
where U1' ..., Um' VI" .. , Vn are Lagrange multipliers. In matrix terms, the primal
Lagrangian may be written as
L(X,X~I,X~2' U,V) = C'X+U'(b-AX-X~1)+V'(X-X~2)'
where
Here X~1 and U are of order (m xl) while X~2 and V have order (n xl). Then
(a) 'V xL = C - A'U + V = 0
(Cj- f
,=1
= =
u?ajj) O. In this regard, either z~ 0, allowing Cj to be les/t~an
mo mo ..
?: Uj ajj, or Cj - ~ Uj ajj = 0, ill which case x j may be positive. To see this let
0 ••
3=1 ,=1
150 Linear Programming
us assume, without loss of generality, that the first k < m structural constraints
are binding at Xo. Then bi - aiXo = O(X~+i = 0, u? 2: 0), i=I, ..., k, while
bi - aiXo > 0 (X~+i > 0, u? = 0), i=k+l, ... , m. Now, if the primal problem
possesses a solution at Xo, C'h:S 0 for vectors h which do not violate aih = 0,
i=I, ... , k. If we multiply each equality aih = O. by some
k
constraint u? and form the sum C'h - E u?aih :S 0, we ultimately obtain
i=1
(c- f=
%=1
u? a~)' h :S O. (6.6)
Let us further assume that at least one component of Xo, say x~, is strictly
positive (and thus x~+m+£ > 0, v~ = 0). Then there exists a set of sufficiently
small positive and negative deviations he = b, - b such that, for he = 6 > 0, (6.6)
becomes
k
ce - L u? aie:S 0 (6.7)
i=1
while for he = -6, (6.6) may be written as
k
ce- L u?aie 2: 0 (6.8)
i=1
whence, upon combining (6.7), (6.8),
k
ce-Lu?aie O.
i=1
If x~ =0 (so that xn+m+e = 0, v~ > 0), he can only be positive. Hence
h£ = b > 0 in (6.6) yields
In general then,
m
C- L u?a~:S O.
i=1 .
C'Xo + (C-A'Uo+Vo)'(X-Xo)
C'Xo .3 (6.9)
Hence C'Xo ~ L(X, UO' Vo) ~ C'X, X € X, and thus Xo solves the primal problem.
Q.E.D.
We note briefly that if the primal problem appears as
min f(X) = C'X s.t.
AX~b, X~O
Since A'UO~ c, XbC = C'Xo ~ b'Uo for Uo feasible. Moreover, from (6.4.b, c),
XbC - XbA'Uo = Ubb - UbAXo or C'Xo = b'Uo since XbA'Uo = UbAXo. Hence
Uo must be an optimal solution to the dual problem. Q.E.D.
It should be evident that corollary 6.5 is a restatement of the strong duality
theorem 4.8. Based upon this result we may now state
6.6. COROLLARY. The optimal value of the ith dual variable u? is
generally a measure of the amount by which the optimal value of the
primal objective function changes given a small (incremental) change
in the amount of the ith requirement bi with all other requirements
bt , t =1= i, i=1, ... , m, remaining constant, i.e.,
(6.10)
defined, i.e., points were ~t is discontinuous so that (6.10) does not hold. To
k
develop this argument 4 let us express f in terms of bk as
f(b k ) = m~x{C'XllriX ~ b?, if:. k, i=l, ... , mj lrkX ~ bk , X ~ O},
where the b?'s depict fixed levels of the requirements bi' if:. k, i=l, ... , m. Clearly
f must be non-decreasing in bk since increasing the value of bk expands the size
of the feasible region.
Moreover, the function f(b k ) is concave. In fact, this assertion is part of a
more general result pertaining to the optimal value function
f(b) = max{C'XIAX::; b, X ~ O}.
(Here f(b) denotes the maximum of the primal objective as a function of the
requirements vector b.) Specifically,
6.7. THEOREM. The optimal value function f(b) is concave.
PROOF. For b 1 , b 2 f R m , let be = ObI + (1-0)b 2, 0 ~ 0 ~ 1. If either
f(b 1 ) or f(b 2) equals -00, then trivially f(b e ) ~ Of(b 1 ) + (l-O)f(b 2). Hence we
shall assume that both f(b 1 ), f(b 2) are greater than -00. If either f(b 1 ) or
f(b 2) equals +00, then the dual problem is infeasible so that f(b) = +00 for all
bfRm •
Next, let both f(b 1 ) = C'X1 , f(b 2) = C'X2 be finite for primal feasible Xl'
X2 • Then for Xc = OX 1 + (1-0)X2' 0 ~ 0 ~ 1, we have AXe ~ be and thus, from
the definition of the optimal value function, f(b e ) ~ C'Xe = Of(b 1 ) + (1-0)f(b 2)
as required. Q.E.D.
If in Figure 6.4 we take area OABCG to be the initial feasible region when
bk = bk (here the line segment CG consists of all feasible points X which satisfy
lrkX = bk), then increasing the eh requirement from bk to bl: changes the optimal
extreme point from C to D. The result of this increase in bk is a concomitant
increase in fa proportionate to the distance E k = bl: - bk, where the constant of
proportionality is uZ. Thus, over this range of bk values, ~{: exists (is
4The discussion which follows has, in part, been adapted from the developments
presented in Balinski, Baumol (1968) and Williams (1963).
154 Linear Programming
b'"
k
o ~----------------+-~+---------------~Xl
Figure 6.4
f(b~)=g(b~)
I
I I
tJ7(b~) ....... _...! ____ :...-~-I---r
+~ ~ _,: ____ LI __ ~-~-~
I
tJf(bo) I : I I I
__ k ~-'----I--;--r -I~----f
8b k I I I 1
b" bk b2
Figure 6.5
156 Linear Programming
So while both the left- and right-hand derivatives of f(b k ) exist at b~, 8f(b~)/8bk
itself does not exist since ;f(b~)/8bk :f: 8-f(b~)/8bk i.e., 8f /8b k possesses a finite
discontinuity at b~. In fact, 8f /8b k is discontinuous at each of the points A', B',
+
E' and F' in Figure 6.5. For bk = b~, it is evident that 8f(b~)/8bk = u~ =
tJf(b~)/8bk since f(b k ), g(b k ) coincide all along the segment B' E' of Figure 6.5.
In this instance, we many unequivocally write 8f(b~)/8bk = u~. Moreover, for
bk = bLv (see Figures 6.4, 6.5), 8f(bLV )/8b k = uLv = ° since the constraint
akX = bLv is superfluous, i.e., it does not form any part of the boundary of the
+ -
feasible region. In general then, 8f /8b k ~ Uk ~ 8f /8b k.
To formalize the preceding discussion we state
6.S. THEOREM. Let the requirements bi be held fixed at b?, i=1, ..., m.
If f(b k ) = m~x{C'X I aiX ~ b?, if:. k, i=1, ... , mj akX ~ bk, X ~ O}
possesses finite right- and left-hand derivatives at an optimal point
bk = b~, then u~, the optimal value of the corresponding dual variable,
lies between these derivatives, i.e.,
+
8f(b k )
0
8f(b k ) 0
- 0
~ ~ Uk ~ 8b k for all k .
. + 0 -
Moreover, If 8f(b k )/8b k = 8f(b k )/8b k so that
0
o . 8f(b~) 0
8f(b k )/8bk eXists, then ~ = Uk.
k
PROOF.
m~x{ C'X I aiX ~ b?, i f:. k, i = 1, ... , mj akX ~ b~, X ~ O} for b~ optimal (see, for
instance, point E of Figure 6.4). And since f(b~ + E k) < g(b~ + E k)' E k
unrestricted in sign and sufficiently small, it follows that, for E k > 0,
g(b~ + E k) - g(b~)
Ek
and thus
f(b~+ E k) - f(b~)
u~ > lim
E k-+o+ Ek
so that
Hence
theorem holds by definition. Q.E.D.
- +
To summarize: if both the left- and right-hand derivatives of lobi' of/obi
+
exist and their common value is u?, then afO I obi = u?; otherwise of I obi ::;
o - .
ui ::; aflabi' z=l, ... ,m.
An additional source of difficulty in interpreting u~ as of0 lab k emerges
when the optimal basic feasible solution to the primal problem is degenerate. In
this instance the dual possesses multiple optimal basic feasible solutions, with
f(b) nondifferentiable at such points. More specifically, alternative optimal dual
basic feasible solutions all correspond to alternative bases associated with the pri-
mal degenerate basic feasible solution Xo. Hence u~ is not uniquely determined.
If Xo represents a nondegenerate optimal basic feasible solution to the
primal problem, then, according to the (weak) complementary slackness condi-
tions, the dual structural constraints associated with the primal basic variable
columns of A must hold as a set of equalities or U'B = CB- Hence we obtain, as
the unique optimal dual basic feasible solution, U' = CBB- 1 with u~ = of0 lab k
+0 -0
(=af lab k = of lab k )·
While f(b) is nondifferentiable at points where there exist multiple optimal
dual solutions, it does have directional derivatives which exist everywhere. Such
derivatives can be derived from the set of optimal dual solutions and are defined
as: the directional derivative of f at b in the direction h ( i= 0) ERnI, if it exists, is
Dhf(b) = lim f(b+thi - f(b) .
t-+O+
x I ,x2,x3 ~ o.
For
2 1 4 100
[.~.-13 ]
1 3 1 40
A -1 0 0 ,i) = 0
0 -1 0 0
0 0 -1 0
U~(h-Axo)
+ -uoxo
31
+ -uoxo
42
+ -uoxo 0
53= , (6.3.1)
h-AXo xo
1 ~ 0, Uo -0
U3 ~ 0,
xo -0
U4
2
xo3 -0
U5
(d) 100-2x~-xg-4xg>0, u~ = 0
(e) 40 - x~ - 3xg - xg = 0, 2: ug > 0
(f) x~ = 0, ug 2: 0
g x o2 > 0-°0
() ,u4 =
(h) xg =0, u~ 2: O.
Using (6.3.2.a, b, c) we obtain ug = 1, ug = 0 and u~ = -3. Moreover, (6.3.2.e, f,
h) yield xg = ~O while (6.3.2.d, f, h) inform us that xg < 100. Since (6.3.1) is
violated (i.e., u~ = -3 < 0), we are prompted to test additional points for
optimality.
For i = 1,2,3d, (6.3.1) becomes
160 Linear Programming
(a) 1 - 2-U01 + -0
U 2 +-0
U3 = 0
(b) 3 - -0
U 1 - 3-U02 0
(c) 4 - 4-U01 - U-02 0
u~(O) + ug(O) + ug(O) + O(xg) + O(xg) o (6.3.3)
(d) 100-2x~-xg-4xg = 0, u~ > 0
(e) 40 - x~ - 3xg - xg = 0, ug ~ 0
(f) x~ > 0, ug ~ 0
g xo
() 0-00
2 > , u4 =
(h) x3>
0 0, -0
Us =0 .
u~ = 191' ug = 181' A substitution of these values into (6.3.3.a)
Using (6.3.3. b, c)
renders ug = ~f. Additionally, from (6.3.3.d, e, f), xg = ~~, xg = 216 Finally, at
substitution of this latter set of values into f yields fO = 1ii O• By systematically
choosing other combinations of values of i € 3 one can generate additional solu-
tions to the above problem. However, the one exhibited by (6.3.3) maximizes f
subject to the constraints.
for all X unrestricted and it ~ o. What these definitions imply is that L(X, U)
(L(X, V») simultaneously attains a maximum with respect to X and a minimum
with respect to U (V). Hence (6.11), (6.12) appear respectively as
PROOF. Let (Xo, Uo) be a saddle point for L(X, U). Then by the previ-
ous theorem (6.13) holds and thus L(Xo, Uo) ~ L(X, Uo) or C'Xo + U~(b-AXo) ~
C'X + U~(b-AX). Since U~(b-AXo) = 0 and U~(b-Ax) ~ 0, C'Xo ~ C'X for
all X. Q.E.D.
The importance of the developments in this section is that they set the
stage for an analysis of the Karush-Kuhn-Tucker equivalence theorem. This
theorem (presented below) establishes the notion that the existence of an optimal
solution to the primal problem is equivalent to the existence of a saddle point of
its associated Lagrangian, i.e., solving the primal problem is equivalent to
maximinimizing (minimaximizing) its Lagrangian. In this regard we look to the
6.12. KARUSH-KUHN-TUCKER EQUIVALENCE THEOREM
(A Necessary and Sufficient Condition). A vector Xo is an optimal
solution to the primal linear programming problem
max f(X) = C'X s.t.
b - AX ~ 0, X unrestricted
if and only if there exists a vector Uo ~ 0 such that (Xo, Uo) is a
saddle point of the Lagrangian L(X, U), in which case
C-A'Uo =0
U~(b- AXo) = 0
b-AXo ~ O.
PROOF. (sufficiency) Let L(Xo' Uo) solve the saddle point problem.
Then by theorem (6.10), system (6.13) obtains. In this regard, if Xo maximizes
L(X, Uo) = c'x + U~(b-AX), then
V XL(Xo, Uo) =C - A'Xo = O.
Hence this latter expression replaces (6.13.a) so that (6.13) is equivalent to (6.3),
i.e., if L(X, U) has a saddle point at (Xo, Uo), then (6.3) holds. Thus Xo solves
the primal problem.
(necessity) Let Xo solve the primal problem. Then by corollary 6.5, the
optimality of Xo implies the existence of a Uo ~ 0 such that C'Xo = b'Uo' And
since Uo represents an optimal solution to the dual problem, U~(b-AXo) = o.
164 Linear Programming
- V' uL 0 ~ 0 or V' u L0 ~ 0
(V' uLo),Uo = 0
Uo~ 0
6.13. COROLLARY. Let (6.3) hold so that the primal maximum problem
has an optimal solution Xo. Then the dual minimum problem
ming(U) = h'U s.t.
A'U = c, U~0
also has an optimal solution Uo ~ 0 with C'Xo = h'Uo'
PROOF. If Xo solves the primal problem, then by the preceding
theorem there exists a vector Uo ~ 0 such that (Xo, Uo) is a saddle point of
t(X, U) = -.Ab(U, X), whence .Ab(Uo, X) 2: .Ab(Uo, Xo) 2: .Ab(U, Xo), i.e., .Ab(U, X)
attains a maximum with respect to U and a minimum with respect to X and thus
possesses a saddle point at (Uo'Xo). And since U~(h-AXo) = X~(C - A'Uo) = 0,
-,- - UoAXo
.It follows that Uoh -,- =
"-,-
XoC - XoA Uo = 0 or
,-,-
C Xo = h UO. Q.E.D.
A final point is in order. We may relate the preceding material to the
development of the (weak) complementary slackness theorem by expressing the
primal-dual pair of problems as
b.-aX>O,
I 1-
i=1, ... ,m·,
~ 0 with bm+j-am+j X
n+m+l e'- X
J
Xj unrestricted, j=I, ... , n.
_, _ a -O-O
{() ui xn+i = 0·1
, z= , ... ,m;
Uo(Xs)o = 0 or -0 -0 . (6.14)
(b) um+i xn+m+i = 0, J=l, ... ,n.
U 0:' U
1
u m +1 um +1
1'0 [A' : - In] -In C
u m +n n
0:'
um+n
and thus the /h dual structural constraint appears as o:jU - um+i = ci'
j=l, ... ,n. In this light, from (6.14.b), if the /h primal variable x~,j=l, ... ,n, is
different from zero, then the dual surplus variable u~J+ i' j=l, ... , n, associated
with the /h dual structural constraint o:jU -um+i =ci,j=l, ... ,n, equals zero.
Conversely, if u~+i > 0, j=l, ... ,n, then the /h structural constraint is not
binding and thus the /h primal variable x~, j=l, ... , n, must be zero.
It is important to note that the weak complementary slackness conditions
are a consequence of the Karush-Kuhn-Tucker theorem for linear programs. That
is to say,
6.15. COROLLARY. If (6.4) holds so that the primal maximum and dual
minimum problems have optimal solutions (Xo, (Xs)o), (Uo, (Us)o)
respectively, then the (weak) complementary slackness conditions
(U s)~Xo + U~(Xs)o = 0
also hold, i.e., for optimal solutions (Xo, (Xs)o), (Uo, (U 8)0) to the
primal maximum and dual minimum problems respectively:
(a) if a primal slack variable x~+i' i=l" .. ,m, is positive, then the ith
dual variable u?, i=l, ... , m, must equal zero. Conversely, if
o z=
ui' ' 1", " ln, IS
. POSI't'Ive, tl1en xn+i'
0 '1 '" " m, equaIs zero;
z=
(b) if the /h primal variable x~,j=l, .. "n, is positive, then the dual
surplus variable u~+ i' j=l" ", n, equals zero. Conversely, if
u0
m+i'' J=
1 '" " n, IS
' positive,
" t hen xi'
0'1J= ,"', n, must equa I zero,
168 Linear Programming
169
170 Linear Programming
AX (7.1)
-C'X+!
- = r~C'l
A
A0] ,X- [ ~ land bo = [~ l
where A is of order (m+ 1 x n+ 1), X is of order (n+ 1 xl), and bo is of order
(m+1 x 1). Then (7.1) can be treated more succinctly as
(7.1.1)
Since the columns within A contain m+1 components, a basis for R m+I may be
formed by selecting m+ 1 linearly independent vectors from A. Let the said
collection of vectors constitute the columns of the m+ 1st order nonsingular basis
matrix B = [hI"'" bm+I J. Given that the primal objective function is to be
maximized, the variable ! must be a member of every basic solution. In this
regard, since the last column of A corresponds to the variable /, the unit column
vector e m+I will be a member of every basis matrix. If we adopt the convention
of letting e m+I always appear in the last column of the basis matrix, then B
[bI , .. ·, bm , cm +I ].
How does the task of obtaining a basic solution to AX = bo compare with
our previous problem involving the determination of a basic solution to AX = b?
To answer this question let us see exactly how the vectors bi' i=1, ... , m, are to be
selected. Let the first n columns of A be denoted as
(7.2)
- I.
J
b i = [ b. , z=l, ... ,m,
-cBi
Xl X2 Xp X p +! X p +2 X p +m I
all a 12 alp 1 0 0 0 bl
a 2l a22 a2p 0 1 0 0 b2
= ...................................
amI a m 2 amp 0 0 1 0 bm
-C l -C2 -C p 0 0 0 1 0
(For purposes of exposition, the variables corresponding to the first n+ 1 columns
of (7.3) appear directly above this matrix.) Henceforth this augmented matrix
will be referred to as the primal simplex matrix. 1 For example, if we consider
the problem presented at the outset of the previous chapter, i.e., if we desire to
172 Linear Programming
1 4 1 o
3 1 o 1 (7.4)
-3 -4 o o
If the basic variables are taken to be those corresponding to the m+ 1 unit col-
umn vectors in (7.3), then we may express these m+1 variables xp+I' •••'x p +m ' f
in terms of the p remaining or nOll basic variables Xl' .• •,X p as
p
Xp+I = bl - aljXj L
j=l
p
Xp 2 + = b2 - L a 2 jXj
j=l (7.5)
p
x p +m = bm - L amjxj
p j=l
f = L CjXj.
j=l
lin the calculations which follow, our first step in the determination of an optimal basic
feasible solution will be to form the simplex matrix. To establish the connection between the
computational algorithm presented in this chapter and our previous results, we shall
demonstrate that the simplex matrix can also serve as a vehicle with which to derive the
representation of X B and f(X) in terms of the nonbasic variables X R , i.e., if we premultiply
-_rtCilB0]
B- 1 ,B
--1 _
-
[B-CBB- I
1 ~
IJ'
o B-Ib ]
the resulting product [
1
CBB-1b has, as its first row,
XWB-IRXR = B-Ib or
Computational Aspects of Linear Programming 173
Our initial basic feasible solution is then determined by setting the non basic
variables in (7.5) equal to zero, to wit x p +! = bl ,xp +2 = b2, ... ,x p +m = bm, and
f = 0. Have we obtained an optimal (maximal) basic feasible solution? To
answer this question let us examine the last equation in (7.5). It is obvious that
f will increase in value if any non basic variable with a strictly positive coefficient
changes from its current zero level by some positive amount. But if any non basic
variable has a positive coefficient in the m+1 st equation in system (7.5), its
associated coefficient in the m+1 st row of (7.3) must be negative. Thus if any
negative values appear in the last or objective function row of the simplex
matrix, the current basic feasible solution is not optimal. In terms of (7.4), if x 4
and x5 are taken to be basic variables with xl' x 2' and x3 deemed non basic, then
x4 100 - 2xl - x 2 - 4x3
x5 = 40 - Xl - 3x 2 - x3
f 2xl + 3x 2 + 4x3
-alB
1 0 arB
0
o 1
-a2B
a rs 0
p
o o 1
arB
o
o o 1
Given that at least one -C i < 0 in (7.3), our first step will be to determine which
non basic variable is to become basic. We shall adopt the convention of choosing
the nonbasic variable x j' j=I, ... , p, whose associated coefficient -c j within the
objective function row of the simplex matrix is most negative, i.e., if
then xk' the non basic variable corresponding to the kth column of (7.3), becomes
basic. In terms of (7.5), such a choice produces the largest increment in f per
unit change in xi' j=I, ..., p. (Note that this new entry criterion is consistent
with our previous one involving (5.11).) Since only one nonbasic variable will be
introduced into the set of basic variables at a time, x1,,,,,xk_l' xk+l'''''x p are
all held fixed at their current zero level. Hence, from (7.5),
X p +! b1 - alk x k
xp 2 + b2 - a 2k x k
(7.5.1)
Xp +m = bm - amkxk
f = ckxk.
As xk increases in value from zero, the new values of x p +i,i=I, ... ,m,
must still satisfy the non negativity conditions, i.e., we require that
176 Linear Programming
Under what conditions will (7.7) be satisfied? If aik ~ 0, then xp+i > 0 so
that, for the moment, we need only concern ourselves with those aik > O. In this
regard, when at least one of the coefficients aik within the kth column of (7.3) is
:ii ~
positive, there exists an upper bound to an increase in xk which will not violate
(7.7). Rearranging (7.7) yields k xk so that any increase in xk which equals
1 0 ... 0 ... 0
a rp
1 ••• ark o o ... _1 •.• 0
ark
Next, to eliminate xk from the remaining m equations E i ,i=1, ... ,m+1, i=J=r, let
us: (1) multiply Er by -aik and replace Ei by the new equation Ei - aikEr'
i=l, ... , m, i=J=r; and (2) multiply E r by ck and replace E m+I by the new equation
Em+I + ckEr. Hence (7.3.1) is ultimately transformed to
(7.3.2)
where
arj , 1 '...I-
= aij - aik ark' z= , ... , m, zrr; j=l, ... ,p+m
/j, , br z=
bi - aik ark' • 1 '...l-
, ... , m, zrr
arj .
C', - c J' + ck a-, J=l, ... , p+m.
J rk
(The reader should ponder the connection between the cj's and the S's defined
earlier.) If the basic variables are again taken to be those corresponding to the
m+l unit column vectors in the simplex matrix, then, from (7.3.2), these
variables may be expressed in terms of the remaining or non basic variables as
(7.9)
f
178 Linear Programming
Upon setting the non basic variables equal to zero, our new primal basic feasible
solution appears as
(Note that this basic feasible solution may be obtained directly from the simplex
matrix by ignoring all columns within (7.3.2) save those corresponding to the
m+1 unit column vectors and the (last) column of constants.) In addition, this
solution is optimal if each cj, j=l, ... , k-1, k+ 1, ... , p, p+r, within the objective
function row of (7.2.3) is nonnegative. If negative coefficients still appear within
the last row of (7.3.2), then the above pivot process is repeated until an optimal
primal basic feasible solution is attained.
We now return to the maximization problem started earlier. Let us
duplicate the associated simplex matrix (7.4) as
Remembering that the basic variables are those corresponding to the m+1(=3)
unit column vectors in this matrix, our initial basic feasible solution consists of
2: 4 = 100, 2:5 = 40, and f = O. Given that there are some negative coefficients
within the last row of (7.4), the basic feasible solution just obtained is not
optimal. To generate an improved solution let us undertake
ROUND 1. Since -4 is the most negative entry in this row, the nonbasic
variable 2:3 now becomes basic. What is the largest increment in 2:3 which
preserves feasibility? To determine this let us take the positive coefficients on 2:3
in the first two rows of (7.4) (values 4 and 1) and divide them, respectively, into
Computational Aspects of Linear Programming 179
the first two constants in the last column of this matrix (namely 100 and 40).
Carrying out the indicated division to the right of (7.4) yields 25 = min{25,40}
as the maximum allowable increase in x 3 • Hence the (blocked) pivot element
within simplex matrix (7.4) is 4. In the calculations to follow, column three of
(7.4) will be replaced by a unit column vector with unity in the pivot position
and zeros elsewhere. Such a unit column vector lies in the fourth column of
(7.4). Hence ~4 turns non basic in the sense that it ultimately loses its unit
column e1 to x3. In order to achieve this transformation, the pivot operation on
(7.4) proceeds as follows. If El is replaced by iEl' we obtain
1
4 ill 1
4 0 0
25]
[!2 3
-3
1
-4
0
0
1
0
0
1
:0 .
(7.4.1)
1
'2
1
4 1 1
4 0 0 25 25/(1/4) = 100
15/(11/14) = 5.46
~
1 1 1 0 15
'2 0 -4
(7.4.2)
0 -2 0 1 0 1 100
Our second basic feasible solution is thus x3 = 25, Xs = 15, and f = 100. Given
that a negative value appears in the last row of (7.4.2), this basic feasible
solution is still not optimal.
ROUND 2. To obtain a maximal solution, let us change the status of x 2
from nonbasic to basic. Since the largest increment in x 2 which does not violate
the nonnegativity conditions is 5.46 = min{100, 5.46}, the pivot element within
(7.4.2) is 141 • This time column two of (7.4.2) is to be replaced by the unit
column vector appearing in column five of the same so that Xs will be removed
from the basis. To this end we now perform a pivot operation on (7.4.2). First,
180 Linear Programming
[! 25]
1 1
4 1 4 0 0
[I] I 4
0 -IT IT 0 5.46 . (7.4.3)
-2 0 1 0 1 100
we ultimately have
[
5
IT 0 1 3
IT -IT
I
o 23.63]
2
IT 1 0 I
-IT IT
4
o 5.46 . (7.4.4)
4 9 8
IT 0 0 IT IT 1 110.91
~XI + x 2 :S 12
Xl' X 2 2:: O.
For this problem the starting simplex matrix has the form
1 o 1 o o o 10
o 1 o 1 o o 8
2
:3 1 o o 1 o 12
-2 -3 0 0 0 1 0
Computational Aspects of Linear Programming 181
and our initial basic feasible solution is .1:3=10, .1: 4 =8, .1:5=12, and /=0. Since
this solution is not optimal, we undertake two rounds of pivoting to obtain
3
0 0 1
00 -2 0 4
0 1 0 1 0 0 8
1 0 0 -23 3 0 6
2
0 0 0 0 3 1 36
Given that all negative entries have been purged from the last row of our simplex
matrix, we have obtained an optimal primal basic feasible solution wherein
.1:1=6, .1:2=8, .1:3=4, and /=36.
Further examination of the objective function row of this last simplex
matrix indicates that since the coefficient on the non basic variable .1: 4 in this row
is zero, we may increase .1:4 by some positive amount without affecting the
optimal value of the objective function, i.e., the status of .1: 4 can change from
nonbasic to basic as we move from one extreme point to another and yet / will
still equal 36. To see this let us introduce .1: 4 into the set of basic variables.
Pivoting on the element ~ yields
2 8
0 0 3 1 -1 0 3
16
0 1 -32 0 1 0 "3
1 0 1 0 0 0 10
0 0 0 0 3 1 36
The second optimal primal basic feasible solution is .1: 1=10, .1: 2 =136, .1: 4 =i, and
/=36. Graphically, our first basic feasible solution corresponds to point A in
Figure 7.1 while the second is located at point B. In addition, the set of all
convex combinations of points A and B gives rise to an infinity of optimal
nonbasic feasible solutions.
182 Linear Programming
f = 36
Figure 7.1
[~n
1 1 0 0
1 0 1 0
-2 0 0 1
and our initial basic feasible solution is x3 =3,and x 4 =6, and /=0. Since
it is not optimal, we ultimately pivot to
[: :l
1 -3"I 4
3" 0
2 2
0 -3" 3" 0
0 0 2 1 12
The absence of any negative entries in the last row of this final simplex matrix
indicates that this particular basic feasible solution consisting of xl =2, x 2=7 and
/=12 is optimal.
We noted earlier that if the objective function coefficient on a non basic
variable in the optimal simplex matrix is zero, that variable (in this case x 3 ) can
be increased from its current non basic level of zero to yield an alternative
solution which has the same value of /. While this alternative solution is also
optimal, it is, in this particular example, non basic, the reason being that the x3
coefficients in the first two rows of the above matrix are negative. To see this let
us write the basic variables xl' x 2 in terms of x3 as
Xl 2 +~x3
x2 7 +!x3 •
In this instance x 3 ' as well as xl and x 2' can be increased without bound so that
an infinity of alternative optimal non basic feasible solutions obtains. For each of
these alternative solutions we have three positive variables (excluding f) instead
of only two, thus violating our requirement for an optimal basic feasible solution.
As Figure 7.2 demonstrates, there exists but a single optimal basic feasible
solution (point A) and an infinity of optimal nonbasic feasible solutions.
184 Linear Programming
Figure 7.2
:]
1 1 0 0
[ =; -3
-2
1 0
0
1
0
0
1
yields the nonoptimal initial basic feasible solution composed of x3=3, x 4 =6, and
/=0. Two successive pivot steps give us the matrix
[: 0
1 -31 34
0 -32 32
7
-3 "3
16
0
0
1 25
:l
Our third basic feasible solution is thus x 1=2, x 2=7, and /=25.
Computational Aspects of Lineal' Programming 185
X2 7 +lx3
Xl 2 +iX3
I = 25 +~x3'
x3 ' as well as x I ,x2 and I, may be increased without limit (Figure 7.3). Hence
we obtain a feasible though nonbasic solution to this problem since the three
variables Xl' x 2' and x3 each assume positive values. In sum, if the only possible
pivotal column within the simplex matrix corresponding to a non basic variable
X RIc has each of its first m components nonpositive and the objective function
coefficient (the m+l at component) - ck is negative, the value of the objective
function is unbounded.
We may relate this observation to our preceding theoretical results
(corollary 5.2) by noting that, from (nonbasic) column three of the preceding
simplex matrix, we may form Y~ = (-l,-i) ~ 0'. Then
dl = [-~1]~0
serves as an extreme direction along which I increases without bound since
Figure 7.3
186 Linear Programming
EXAMPLE 7.4.
max 1 = 2XI + 3x 2 S.t.
xl + x2 ::; 60
xl + 2x2 ::; 120
2xI + x 2 ::; 80
x I ,x2 ~ O.
The initial simplex matrix
1 1 1 0 0 0 60
1 2 0 1 0 0 120
2 1 0 0 1 0 80
-2 -3 0 0 0 1 0
yields the nonoptimal basic feasible solution x3=60, x4=120, x5=80, and 1=0.
Execution of the primal simplex entry and exit criteria is illustrated in the
following matrix:
1 1 1 0 0 0 60 60
1 ~ 0 1 0 0 120 60
2 1 0 0 1 0 80 80
-2 -3 0 0 0 1 0
Since there exists a tie for the minimum of the ratios to the right of this last
matrix, we have the choice of replacing either x3 or x 4 by x 2 in the set of basic
variables. Let us choose x 4 • Hence the pivot is the second element in the second
column of the above array. Pivoting produces
rn 0 1 -2"I 0 0 0
I I
2" 1 0 2" 0 0 60
3 I
2" 0 0 -2" 1 0 20
1 3
-2" 0 0 2" 0 1 180
Computational Aspects of Linear Programming 187
This new basic feasible solution involving x 2=60, x3 =0, x5 =20, and 1=180,
while being nonoptimal, is also degenerate since one of the basic variables,
namely x 3 , vanishes. As anticipated by our previous theoretical discussion, the
next round of the simplex process should also yield a degenerate basic feasible
solution with the same value of 1 as at the previous degenerate basic feasible
solution. Pivoting on ! above generates
1 0 2 -1 0 0 0
0 1 -1 1 0 0 60
0 0 -3 1 1 0 20
0 0 1 1 0 1 180
As readily seen from this last simplex matrix, the indicated degenerate basic
feasible solution is optimal at x 1 =0, x 2 =60, x5 =20, and 1=180.
is to become nonbasic.
rk
STEP 5. Given that the rth basic variable is to become non basic, ark' the
divisor that yields the smallest quotient in step (6), serves as the
pivot element and a pivot operation is performed.
STEP 6. Return to step (1).
By repeating the pivot process outlined above in steps (1) - (6), each iteration
takes us to a new primal basic feasible solution with the new value of the
objective function being an improvement over the old one. The process is
Computational Aspects of Linear Programming 189
terminated when there are no negative coefficients remaining in the last row of
the simplex matrix.
AIm 0 bJ.
[
-C' 0' 1 0
For this system the (m+ 1 x m+ 1) basis matrix and its inverse appear respectively as
B- 1 -
- [ B-B 0]
1
C B- 1 1 '
o
1 :J
o
(7.10)
1
yields a basic feasible solution to the primal maximum problem. Assuming that
the optimality criterion is satisfied, the optimal values of the dual variables
190 Linear Programming
appear as the blocked array of elements in the last row of (7.10), i.e.,
U' = Cl1B-l ~ 0'. Moreover, from the augmented dual structural constraint
system A'U - In U8 = C, we may solve for the dual surplus variables as U~
U' A - C'. But this expression is just the double-blocked array of elements U~
Cl1B-lA-C' ~ 0' in the last row of (7.10). In sum, our rules for determining
the optimal values of the dual variables (both original and surplus) may be
stated as follows:
(a) to find the values of the dual variables U which correspond to an optimal
basic feasible solution of the primal maximum problem, look in the last
row of the final primal simplex matrix under those columns which were, in
the original simplex matrix, the columns of the identity matrix. The ith
dual variable ui' i=I, ... , m, will appear under the column which was
initially the ith column of the identity matrix;
(b) to find the values of the dual surplus variables U8 which correspond to an
optimal basic feasible solution of the primal maximum problem, look in
the last row of the final primal simplex matrix under those columns which
were, in the original simplex matrix, the columns of the matrix A. The
/h dual surplus variable um+j,j=l, ... ,n, will appear under the column
which was initially the /h column of A.
EXAMPLE 7.5. Let us
max f = Xl +X2 s.t.
2Xl + X2 < 20
Xl < 8
x2 < 6
Xl' X2 > O.
° °° ° 1 1 6
° ° °
1 1
1 2 -2 7
°° °
1 1
-2 1 2 1
°° °
1 1
2 2 1 13
Figure 7.4
Weak Strong
o 0
U 1 X s ,1
1 0
= 2· =0 o +x0s ,1 =2+
U1
1 0 =2>
1 0
and and
0 1 1 -2 0 0 4
1 0 0 1 0 0 8
0 0 -1 2 1 0 2
0 0 1 0 0 1 20
with X~ = (8,4) and Jl=20 (point B of Figure 7.4). (Actually, the case of
multiple optimal solutions emerges, as an examination of the last row of the
preceding simplex matrix reveals. Here I(A) = I(B) = I(C) = 20, where
C = '-\B + (l-'-\)A,O ::;.-\::; 1.) Moreover, (Xs)~ = (0,0,2), U~ = (1,0,0), and
(UB)~ = (0,0). For this problem the complementary slackness conditions appear
as
Weak Strong
In this instance only the weak complementary slackness conditions hold since an
additional zero-valued dual variable appears in the optimal set of the same, i.e.
now u~ = O. To offset the effect of this extra zero-valued dual variable on the
strong complementary slackness conditions, let us set A = ~ and thus choose point
C = AB + (I-A)A, 0 ~ A~ 1 (Figure 7.4), as our optimal primal solution for
which i c = 2( 1;) + 5 = 20. Then the complementary slackness conditions
become
Weak Strong
Notice that now both weak and strong complementary slackness holds.
ONE-PHASE, TWO-PHASE, AND
COMPOSITE METHODS OF
8 LINEAR PROGRAMMING
AX
b } or
-G'X+! = 0
where
195
196 Linear Programming
n
1 0 0
i
[ 1 -1
0 -1 0
[X, bal = ~ 0 0 0
-1 -4 0 0 1
Since this matrix does not contain within it an m+l = 4th order identity matrix,
an initial basic feasible solution does not exist, i.e., we lack a starting point from
which to initiate the various rounds of the simplex method, the reason being that
not all of the original structural constraints are of the "$" variety. So in
situations where some or all of the original structural constraints are of the " ~ "
or " =" form, specific measures must be taken to obtain an identity matrix and
thus a starting basic feasible solution. To this end our procedure will be to first
transform the augmented st.ructural constrain system AX = b or
Xl + x3
X2 6
2xI + 3x 2 + - x4 2
Xl + x 2 4
into what is termed the artificial augmented structural constraint system
Xl X2 + X3 = 6
2xI + 3x2 - x4 + Xs 2
Xl + X2 + x6 4
by introducing the nonnegative artificial variables Xs and x 6 ' so named because
these variables are meaningless in terms of the formulation of the original
structural constraint system which contains only real or legitimate variables.
Artificial variables are introduced solely to initialize the simplex method, with
One-phase, Two-phase, and Composite Methods 197
the number of such variables corresponding to the number of " ;:::" and "="
structural constraints present. In standard form, the preceding system of
equalities appears as
A*X* b, (8.1)
where
n
xl
~"]
1 0 0 X2
[ 1 -1
x3
A* 2 3 0 -1 1
1 1 0 0 0
X. =[ x4
x5
x6
and Xa represents a vector of artificial variables with elements x 5 ' x 6 • Here the
individual vectors within A* corresponding to artificial variables are termed
artificial vectors and appear as a set of unit column vectors. Note that columns
three, five, and six of A* yield an m = 3rd order identity matrix and thus an
initial basic feasible solution to (8.1), namely x3 = 6, x5 = 2, and x6 = 4 when
Xl = x 2 = x 4 = O.
While we have obtained an initial basic feasible solution to (8.1), it is not a
feasible solution to the original structural constraint system AX = b, the reason
being that Xa 1= O. Hence any basic feasible solution to the latter system must
not admit any artificial variable at a positive level. In this regard, if we are to
obtain a basic feasible solution to the original linear programming problem, we
must utilize the simplex process to remove from the initial basis (i.e., from the
identity matrix) the artificial vectors and substitute in their stead an alternative
set of vectors chosen from those remaining in A*. In doing so we simply obtain
the original structural constraint system AX = b itself. Hence all artificial
variables are to become non basic or zero with the result that a basic feasible
solution to AX = b emerges wherein the basis vectors are chosen from the
coefficient matrix of this system. To summarize: any basic feasible solution to
A*X* = b which is also a basic feasible solution to AX = b has the artificial
vector Xa =O. In the remaining sections of this chapter we shall develop two
198 Linear Programming
x I ,x2 ~ o.
If x 3' x 4 ~ 0 denote surplus variables and xs , x 6' x 7 ~ 0 depict artificial variables,
the preceding system becomes
xl + 2x2 - x3 + x5 = 1
I
xl + '2 x 2 - x4 + x6 4
2'xI + 6x 2
I
+ x7 2
x I " •• ,x7 ~ o.
Since
~
n
1 2 -1 0 1 0
I
A. [ 1 2' 0 -1 0 1
I
'2 6 0 0 0 0
contains within it the columns of a 3rd order identity matrix, the variables
associated with these columns yield an initial basic feasible solution to A*X* = b
once the remaining variables are set equal to zero, i.e., Xs = 1, x6 = 4, and
x 7 = 2.
variable remains in the set of basic variables at a positive level. In this regard,
for a sufficiently large scalar M > 0, the artificial linear programming problem
may be framed as: maximize the artificial objcctive function
!(X*) = C'X - Ml'X a s.t.
A*X* = b,X* ~ O.
For example, the problem appearing at the outset of this chapter has the
artificial form
Xl + x2 - x3 6
2xl + 3x2 - x4 + x5 2
xl + x2 + x6 4
xl" "'X6 ~ O.
The simplex matrix associated with this problem may now be directly expressed as
1 0 o 0 o
o -1 1 0 o (8.2)
o 0 o 1 o
o 0 MM 1
the artificial and original objective functions being the same. Finally, if the
maximal solution to the artificial problem contains at least one positive artificial
variable, then the original problem possesses no feasible solution (we shall return
to this last point later on when a detailed analysis pertaining to the questions of
inconsistency and redundancy of the structural constraints is advanced).
EXAMPLE 8.2. Using the M-penalty method, determine the simplex
matrix and an initial basic feasible solution to the problem:
maxI = 4x1 + 5x 2 s.t.
Xl +3x2 < 4
3x 1 x2 > 5
Xl + x2 8
x 1,x2 ~ o.
If x3 depicts a slack variable; x 4 represents a surplus variable; and x 5 ' x6 denote
artificial variables, we obtain
Xl + 3x 2 + x3 = 4
3x 1 - x2 - x4 + x5 5
Xl + x2 + x6 8
-4x1- 5x 2 + MX5+Mx6+ I 0
1 3 1 0 0 0 0 4
3 -1 0 -1 1 0 0 5
[A*, bol
1 1 0 0 0 1 0 8
-4 -5 0 0 MM 1 0
While this matrix does not yield an obvious initial basic feasible solution, we may
readily transform it into an equivalent representation that does by multiplying
every row containing an artificial variable by -M and adding their sum to the
last row, e.g., when the sum
One-phase, Two-phase, and Composite Methods 201
-3M MOM -M 0 0 5M
- M -M 0 0 0 -M 0 8M
-4M 0 0 M -M -M 0 -13M
is added to the objective function row of the simplex matrix, we obtain
1 3 1 0 0 0 0 4
3 -1 0 -1 1 0 0 5
1 1 0 0 0 1 0 8
-4 -5 0 0 0 0 1 0
-4M 0 0 M 0 0 0 -13M
~ -L~ ~ ~ ~ ~].
000MMI0
1 2 1 0 0 0 0 0 12
1 1 0 -1 0 1 0 0 4
-1 1 0 0 -1 0 1 0 1
-1 -1 0 0 0 0 0 1 0
0-2M 0 M M 0 0 o -5M
The first basic feasible solution to the artificial problem thus becomes x3 = 12,
x6 = 4, xl = 1, and f = -5M. Since this solution is clearly not optimal, let us
undertake
ROUND 1.
1 2 1 0 0 0 0 0 12 6
1 1 0 -1 0 1 0 0 4 4
-1 [jJ 0 0 -1 0 1 0 1 1 ---+
-1 -1 0 0 0 0 0 1 0
0-2M 0 M M 0 0 o -5M
3 0 1 0 2 0 -2 0 10
2 0 0 -1 1 1 -1 0 3
-1 1 0 0 -1 0 1 0 1
-2 0 0 0 -1 0 1 1 1
-2M 0 0 M -M 0 2M o -3M
Here the second basic feasible solution to the artificial problem is x2 = 1, x3 = 10,
x6 = 3, and f = I-3M. Since this solution is also not optimal, we proceed to
One-phase, Two-phase, and Composite Methods 203
3 0 1 0 2 0 0 10 10/3
[2] 0 0 -1 1 1 0 3 3/2
-1 1 0 0 -1 0 0 1 --+
-2 0 0 0 -1 0 1 1
-2M 0 0 M-M 0 o -3M
3 1 3 11
0 0 1 2 2 -2 0 2"
1 1 3
1 0 0 -21 2 2 0 2
0 1 0 -21 -21 1
2" 0
5
2
0 0 0 -1 0 1 1 4
0 0 0 0 0 M 0 0
The third basic feasible solution to the artificial problem thus appears as xl = i,
x2 =~, x3 = 121, and f = 4. Since all artificial vectors have been removed from
the basis, this particular basic feasible solution to the artificial problem represents
an initial basic feasible solution to the original problem. In this regard, let us
now apply the simplex method to this initial basic feasible solution.
ROUND 3 (column six and the M-row are deleted).
0
1
0 1
0 -21
rn 1
2 0
1
11
2"
3
11/3 0 0 2
3
1
1 1
3 0
2
11
3
10
0 2 0 2 1 0 3 0 3 0 3
--+
0 1 0 -21 -21 0 5
2 0 1 1
3 0 -32 0 13
3
2 1 23
0 0 0 -1 0 1 4 0 0 3 0 3 1 3
Since the optimality criterion is satisfied, the optimal basic feasible solution to
.. I rmear programmmg
t he ongma . pro beml 'IS Xl 10 x = 3'
= 3' 2
11 an d f = 3'
13 x = 3'
4
23
consistent, and whether any subset of them is redundant. Let us assume that
from an initial basic feasible solution to the artificial problem we obtain a basic
solution for which the optimality criterion is satisfied. Here one of three
mutually exclusive and collectively exhaustive results will hold:
(1) the basis contains no artificial vectors;
(2) the basis contains one or more artificial vectors at the zero level;
(3) the basis contains one or more artificial vectors at a positive level.
Let us discuss the implications of each case in turn.
First, if the basis contains no artificial vectors, then, given that the optimal-
ity criterion is satisfied, it is evident that we have actually obtained an optimal
basic feasible solution to the original primal problem. In this instance the
original structural constraints are consistent and none are redundant, i.e., if there
emerges at least one basic feasible solution to the original structural constraint
system, the simplex process will remove all artificial vectors from the basis and
ultimately reach an optimal solution provided that one exists (a case in point was
example 8.3, above).
We next turn to the case where the basis contains one or more artificial
vectors at the zero level. With all artificial variables equal to zero, we have a
feasible solution to AX = h, i.e., the original structural constraint equations are
consistent. However, there still exists the possibility of redundancy in the
original structural constraint system. Upon addressing ourselves to this latter
point we find that two alternative situations merit our consideration. To set the
stage for this discussion, let Yj denote the /h legitimate nonbasic column of the
optimal simplex matrix. In this regard we first assume that Yjj' the ith com-
ponent of Yj' is different from zero for one or more j and for one or more if.A,
where .A denotes an index set consisting of all i's corresponding to artificial basis
vectors e,·. Now, if for some j = i' we find that y .. , i= 0, it follows that the
'J
associated artificial basis vector ej may be removed from the basis and replaced
by Y.,.
J
Since the artificial vector currently appears in the basis at the zero level,
Y.,J also enters the basis at the zero level, with the result that the optimal value
One-phase, Two-phase, and Composite Methods 205
of the objective function is unchanged in the new basic feasible solution. If this
process is repeated until all artificial vectors have been removed from the basis,
we obtain a degenerate optimal basic feasible solution to the original problem
involving only real or legitimate variables. In this instance none of the original
structural constraints within AX = b is redundant. Next, if this procedure does
not remove all artificial vectors from the basis, we ultimately reach a state where
Yij = 0 for all Yj and all remaining iE.A. Under this circumstance we cannot
replace any of the remaining artificial vectors by some Yj and still maintain a
basis. If we assume that there are k artificial vectors in the basis at the zero
level, every column of the (m X n) matrix A may be written as a linear combina-
tion of the m-k linearly independent columns of A appearing in the basis, i.e.,
the k artificial vectors are not needed to express any column of A in terms of the
basis vectors. Hence p(A) = m-k so that only m-k rows of A are linearly
independent, thus implying that k of the original structural constraints in
AX = b are redundant. [As a practical matter, since inequality structural
constraints can never be redundant (each is converted into an equality by the
introduction of its own slack or surplus variable), our search for redundant
structural constraints must be limited to only some subset of equations appearing
p
in AX = b, namely those expressed as oE at)ox)o = bt , tEer
)=1
= {l, ... ,m}.] To
identify the specific structural constraints within AX = b that are redundant, we
note briefly that if the artificial basis vector ch remains in the basis at the zero
level and Yhj = 0 for all legitimate nonbasis vectors Yj , then the hth structural
constraint of AX = b is redundant. In this regard, if at some stage of the simplex
process we find that the artificial vector ch appears in the basis at the zero level
with Yhj =0 for all Yj , then before executing the next round of the simplex
routine, we may delete the hth row of the simplex matrix containing the zero-
valued artificial variable along with the associated artificial basis vector ch' The
implication here is that any redundant constraint may be omitted from the
original structural constraint system without losing any information contained
within the latter. (See example 8.4 below.)
206 Linear Programming
We finally encounter the case where one or more artificial vectors appear in
the basis at a positive level. In this instance the basic solution generated is not
meaningful, i.e., the original problem possesses no feasible solution smce
otherwise the artificial vectors would all enter the basis at the zero level. Here
the original system either has no solution (the structural constraints are inconsis-
tent) or has solutions that are not feasible. To distinguish between these two
alternatives we first note that since the optimality criterion is satisfied, Yjj ~ 0
for legitimate non basis vectors Vj and for those i EA. If for some j = jf we find
that y . ./ < 0, we can insert
IJ
V./J into the basis and remove the associated artificial
basis vector ej and still maintain a basis. However, with y . ./ < 0, the new basic
IJ
solution will not be feasible since V./J enters the basis at a negative level. If this
process is repeated until all artificial vectors have been driven from the basis, we
obtain a basic though nonfeasible solution to the original problem involving only
legitimate variables (see example 8.5, below). Next, if this procedure does not
remove all artificial vectors from the basis, we ultimately obtain a state where
Yij = 0 for all Vj and for all i remaining in A. Assuming that there are k
artificial vectors in the basis, every column of A may be written as a linear com-
bination of the m-k legitimate basis vectors so that p(A) = m-k. But the fact
that k artificial columns from A appear in the basis at positive levels implies that
b is expressible as a linear combination of more than m-k basis vectors so that
p(A) f. p[A, b]. In this regard, the original structural constraint system AX = b
is inconsistent and thus does not posses a solution (see example 8.6 below).
A consolidation of the results obtained in this section now follows. Given
that the optimality criterion is satisfied: (1) if no artificial vectors appear in the
basis, then the solution is an optimal basic feasible solution to the original primal
linear programming problem. In this instance the original structural constraints
AX = b are consistent and none are redundant; (2) if at least one artificial vector
appears in the basis at a zero level, then AX =b is consistent and we either
obtain a degenerate optimal basic feasible solution to the original primal problem
or at least one of the original structural constraints is redundant; and (3) if at
One-phase, Two-phase, and Composite Methods 207
least one artificial vector appears in the basis at a positive level, the original
primal program has no feasible solution since either AX = b represents an incon-
sistent system or there are solutions but none is feasible.
EXAMPLE 8.4. Let us
maxi = Xl +X 2 +X3 s.t.
Xl + 4X2 + 3x3 6
3x1 + 12x2 + 9x3 18
Xl' X2' X3 ~ o.
Letting x4' x5 represented artificial variables, we obtain the simplex matrix
[A., bal = [ 1
3 1 0
4
3 12 9 0 1
-1 -1 -1 M M
0
0
1
li] ~
1 4 3 1 0 0 6
3 12 9 0 1 0 18
-1 -1 -1 0 0 1 0
-4M -16M -12M 0 0 0 -24M
Our initial basic feasible solution to this artificial problem is x4 = 6, x5 = 18, and
I = -24M. Since the optimality criterion is not satisfied, we proceed to
ROUND 1.
@] 3/2
-
1 3 1 0 0 6
3 12 9 0 1 0 18 3/2
-1 -1 -1 0 0 1 0
-4M -16M -12M 0 0 0 -24M
\\ Y2
1 1 1 3
4 1 4 4 0 0 2
0 0 0 -3 1 0 0
3 1 1 3
-4 0 -4 4 0 1 2
0 0 0 4M 0 0 0
208 Linear Programming
Then our second basic feasible solution to the artificial problem is x2 =~, x5 = 0,
and I =~. Since the optimality criterion is still not satisfied, an additional
round of the simplex routine is warranted. Before moving on to round two, let
us pause for a moment to inspect the preceding simplex matrix. Given that the
artificial vector ~ enters the basis at the zero level (A = {2}) and Y21 = Y22 = 0
for legitimate non basis vectors \\, Y2' it is obvious that the second structural
constraint is redundant so that we may at this point delete row two and column
five. Moreover, since all artificial vectors have been eliminated from the basis,
round two starts with an initial basic feasible solution to the original problem.
We now look to
ROUND 2 (rows two and four along with columns four and five are
deleted).
[~ :]6~ ~ [ :l
3
1 4 0 4 3 0
1 3 2 1
0 -4 1
A glance at this last matrix indicates that we have obtained an optimal basic
feasible solution to the original problem consisting of Xl = 6 and I = 6.
EXAMPLE 8.5. Next, we seek to
maxi = Xl + x 2 s.t.
4xI x2 :::; 1
Xl X2 ~ 3
x I ,x 2 ~ O.
If x3 denotes a slack variable, x4 represents a surplus variable, and x5 depicts an
artificial variable, then we may form the simplex matrix
4 -1 1 0 0 0 1
1 i]~
-1 1 0 0 0 1 -1 0 -1 1 0 3
[L,bo]; [ -1 0 -1 1 0
-1 -1 0 0 0 1 0
-1 -1 0 0 M 1
-M M 0 M 0 o -3M
One-phase, Two-phase, and Composite Methods 209
-M M 0 M 0 o -3M 0 :!M
4
1M
4 M 0 O-liM
4
The second basic feasible solution to this artificial problem thus appears as
- 1 _ 11 d I _ 1 11M Can the artificial basis vector c (.A={2}) be
xl - 4' x5 - 4' an - 4 - T· 2
eliminated from the basis? As we shall now see, the answer is yes. From the
second row of the preceding simplex matrix we find that
x5 = ~1 + !X2 + iX3 + x 4.
Hence, x5 may be driven to zero only if x 2' x 3' or x 4 assumes a negative value
since Y21'Y22'Y23 < O. More formally, since the artificial basis vector ck remains
in the basis at a positive level and Ykj < 0 for all legitimate nonbasis vectors Yj ,
the original problem has no feasible solution in the sense that at least one basic
variable is negative (as Figure 8.1 indicates).
EXAMPLE 8.6. We now desire to
maxi = xl -X2 s.t.
Xl + x2 6
xl +x 2 4
xl'x 2 ? O.
]~
1 1 0 0 6 1 1 0 1 0 4
[A.. hoI = [ : 1 0 1 0 4
-1 1 0 0 1 0
-1 1 M M 1 0
-2M-2M 0 0 0-lOM
210 Linear Programming
Figure 8.1
ROUND 1.
YI
0 1 1 0 0 6 6 0 0 1 -1 0 2
ill 1 0 1 0 4 4 1 1 0 1 0 4
--+
-1 1 0 0 1 0 0 2 0 1 1 4
-2M-2M 0 0 O-lOM 0 0 o 2M o -2M
Hence the optimal basic feasible solution to the artificial problem is xl =4,
x3 = 2, and f = 4 - 2M. SinceYll = 0, YI cannot replace el (here .A = {I}) in
the basis. In sum, if the artificial basis vector ck remains in the basis at a
positive level and Ykj = 0 for all legitimate nonbasis vectors Yj , then the original
structural constraints AX = b are inconsistent so that no feasible solution to the
original problem exists (Figure 8.2).
One-phase, Two-phase, and Composite Methods 211
~------~~~~----~Xl
4 6
Figure 8.2
1 -1 1 0 0 0 1
ROUND 1.
YI
1 -1 1 0 0 0 1 0 0 1 -1 1 0 2
-1 [] 0 -1 0 1 1 -1 1 0 -1 1 0 1
--+
-1 -1 0 0 0 1 0 -2 0 0 -1 1 1 1
M-M 0 M 0 0 -M 0 0 0 0 M 0 0
Since -c 1 = -2 = min{ -c i' -Ci < O} and each component of Y1 is non positive, it
J
follows that the artificial problem is unbounded.
ROUND 2 (row four and column five are deleted).
[-~ -2
0
1
0
1 -1
0 -1
0 -1
0
0
1 :}
Given that the artificial variable x5 is zero, a glance at column one of this matrix
(which houses an initial basic feasible solution to the original problem) indicates
that the original program is also unbounded.
What this example problem has revealed is that when the artificial problem
is unbounded and all artificial variables are zero, then there is an admissible
direction d' = (d1,d~) ~ 0' of the feasible set for the artificial problem
{X* I A*X* = b, X* ~ O} such that C'd 1 - Ml'd 2 > O. Since M is large and
positive and d 2 ~ 0, the preceding inequality implies that d 2 = 0 and thus
One-phase, Two-phase, and Composite Methods 213
C'd t > o. Thus d t IS an extreme direction for the original feasible region
{X I AX = b, X ~ O} along which f increases without bound. In fact, from
column one of the preceding simplex matrix, Y~ = (0, -1) and thus
as required.
[j
U
-1 1 0 0 0 0
3 0 -1 1 0 0
[A.,ho] = 1 0 0 0 1 0
(8.3)
0 0 0 1 1 0
Note that with Xa ~ 0, it must be the case that max{g}:S 0 SInce g, which
initially assumes a negative value, can never turn positive. In addition, the
largest possible value that 9 can attain is zero; and this occurs only if the optimal
phase I basis contains no artificial vectors or if those artificial vectors remaining
in the said basis do so at the zero level. So when max{g} < 0, at least one
artificial vector remains in the optimal phase I basis at a positive level.
Before discussing the variety of possible solutions that may emerge during
phase I, let us look to some prominent aspects of the phase I routine. First, as in
the M-penalty method, an artificial vector never reenters the basis once it has
been removed. Here too the columns of the simplex matrix corresponding to
artificial vectors that have turned non basic may be deleted as pivoting is carried
out. Moreover, during phase I, the sequence of vectors which enters and leaves
the basis is the same as in the M-penalty method. Finally, if 9 becomes zero
before the optimality criterion is satisfied, we may terminate phase I and proceed
directly to phase II.
As indicated above, phase I ends when the optimality criterion is satisfied.
In this instance, the optimal basis will exhibit one of three mutually exclusive
and collectively exhaustive characteristics:
(1) max{g} = 0 and no artificial vectors remain in the basis;
(2) max{g} = 0 and one or more artificial vectors remain in the basis at the
zero level;
(3) max{g} < 0 and one or more artificial vectors remaIn In the basis at a
posi ti ve level.
If case one obtains, it is evident that the optimal phase I basis provides a basic
feasible solution to the original primal problem. Here the original structural con-
One-phase, Two-phase, and Composite Methods 215
straints are consistent and none are redundant. Next, if case two prevails, we
obtain a feasible solution to the original problem, i.e., the original structural
constraints are consistent although possible redundant. Finally, for case three,
the surrogate problem has no feasible solution with Xa = 0 and thus the original
problem possesses no feasible solution either. In sum, if either case one or two
emerges at the end of phase I, there exists at least one feasible solution to the
original problem. In this regard, we proceed to
PHASE II. Let us first specify the appropriate phase II objective function.
Since we ultimately desire to maximize f(X), the optimal phase I simplex matrix
is transformed into the initial phase II simplex matrix by respecifying the
objective function coefficients. That is to say, during phase II, the coefficients on
the legitimate variables are the same as those appearing in the original objective
function while the coefficients on the artificial variables are zero, i.e., the phase II
objective function is the original objective function f(X) itself. In this light, the
sequence of operations underlying the two-phase method may be expressed as
max g(X*) O'X - l'X a s.t. [Phase I]
max f(X*) C'X + O'Xa s.t. [Phase II]
A*X* = b, X* ~ O.
We now turn to an analysis concerning the implications for phase II of the
aforementioned characteristics of the optimal phase I simplex matrix.
If case one above occurs, the optimal phase I basis provides an initial basic
feasible solution to the original linear programming problem. Once the modified
objective function is introduced, pivoting proceeds until an optimal basic feasible
solution to the original problem is attained.
Turning now to case ,two, while we have obtained a feasible though
nonbasic solution to the original problem, there still remains the question of
redundancy in the original structural constraints AX = b and the development of
a safeguard against the possibility that one or more artificial vectors appearing in
the initial phase II basis at the zero level will abide in some future basis at a
positive level as the phase II pivot operations are carried out.
216 Linear Programming
~]
2 1 0 0 0 0 0
[A., bo]
[-i
1 0 -1 0 1 0 0
1 0 0 -1 0 1 0 1 .
0 0 0 0 1 1 1 0
-1 -1 0 1 0 -1 0 0 -4
1 -1 0 0 1 0 -1 0 -1
0 -2 0 1 1 -1 -1 0 -5
1~
1 0 0 0 0 0
[ 11 21 0 -1 0 1 0 0
]
-1 1 0 0 -1 0 1 0
o -2 0 1 1 0 0 1 -5
The first basic feasible solution to the surrogate problem thus becomes x3 = 12,
x6 =4, x7 = 1, and 9 = -5. Since this solution is obviously not optimal, we
undertake
PHASE I, ROUND 1.
1~
1 0 0 0 0 0 6
[ 11 21 0 -1 0 1 0 0 4
] ---+
-1 [I] 0 0 -1 0 1 0 1
o -2 0 1 1 0 0 1 -5
[-l o 10]
0 1 0 2 0 -2
0 0 -1 1 1 -1 3
1 0 0 -1 0 1 o 1 .
-2 0 0 1 -1 0 2 1 -3
3 0 1 0 2 0 0 10 10/3
~ 0 0 -1 1 1 0 3 3/2
---+
-1 1 0 0 -1 0 0 1
-2 0 0 1 -1 0 1 -3
3 1 3 11
0 0 1 2 2 -2 0 "2
1 1 3
1 0 0 -21 2 2 0 2
0 1 0 -21 -21 1
2 0
5
2
0 0 0 0 0 1 1 0
The third basic feasible solution to the surrogate problem thus appears as xl = ~,
x2 =~, x3 = V, and 9 = O. Since it is clearly optimal, phase I ends. Moreover,
since all artificial vectors have been removed from the basis, this particular basic
feasible solution to the surrogate problem represents an initial basic feasible
solution to the original problem. In this regard, phase II begins by deleting
column six of the final phase I simplex matrix and replacing the last row of the
same by the original objective function f = xl + x 2• That is,
3 1 11
0 0 1 2 2 0 2"
1 0 0 -21 -21 0 23
5
0 1 0 -21 -21 0 2
-1 -1 0 0 0 1 0
3 1 11
0 0 1 2 2 0 2"
1 3
1 0 0 -21 2 0 2
0 1 0 -21 -21 0 5
2
0 0 0 -1 0 1 4
One-phase, Two-phase, and Composite Methods 219
Thus the initial basic feasible solution to the phase II original problem appears as
X _3 X _s X _11 and 1=4. Since the optimality criterion is not
1-2' 2 -2' 3-2'
satisfied, we proceed to
PHASE II, ROUND 1.
0 0 1
ill 1 0 11 11/3 0 0 2
3 1 1
3 0 3
11
--
2 2
1 3 1
1 0 0 1
-2 2 0 2 1 0 3 0 32 0 310
0 1 0 1 1 0 s 0 1 1
0 -31 0 313
-2 -2 2 3
2 1 1 323
0 0 0 -1 0 1 4 0 0 3 0 3
An inspection of the last row of this simplex matrix indicates that we have
obtained an optimal basic feasible solution to the original problem consisting of
- 10 _ 13 _ 11 d I _ 23
Xl - 3' x2 - 3' x 4 - 3' an - 3'
As an exercise the reader should resolve example problems 8.4-8.6 above
using the two-phase method so as to verify that the same conclusions regarding
redundancy, infeasibility, and inconsistency respectively hold.
EXAMPLE 8.9. Let us
maxI = 5x 1 + 4x2 + x3 + x 4 s.t.
xl + +
X2 x3 2
x2 + x3 2
xl + 2x2 + 3x3 + 6x 4 4
x 1,x2,x3 ,x4 ~ O.
Constructing the infeasibility form 9 = -xs - x6 - x 7 we obtain
n--
1 1 1 0 1 0 0 0
0 1 1 0 0 1 0 0
[A" ho] = [ 1 2 3 6 0 0 1 0
0 0 0 0 1 1 1 1
[j !}
1 1 0 1 0 0 0
1 1 0 0 1 0 0
2 6 3 0 0 1 0
-4 -5 -6 0 0 0 1 -8
where x s' x6 and x 7 are artificial variables. Here the initial basic feasible solution
to this surrogate problem is Xs = 2, x6 = 2, x 7 = 4, and 9 = -8. To maximize 9
220 Linear Programming
we turn to
PHASE I, ROUND 1.
1 1 1 0 1 0 0 0 2
0 1 1 0 0 1 0 0 2
1 2 3 [ill 0 0 1 0 4 2/3 --+
-2 -4 -5 -6 0 0 0 1 -8
1 1 1 0 1 0 0 0 2
0 1 1 0 0 1 0 0 2
1 1 1 1 2
:3 2
(; 1 0 0 (; 0 :3
-1 -2 -2 0 0 0 1 1 -4
1 [] 1 0 1 0 0 2 2
0 1 1 0 0 1 0 2 2
--+
1 1 1 2
:3 2
(; 1 0 0 0 :3 2
-1 -2 -2 0 0 0 1 -4
1 1 1 0 100 2
-1 o o o -1 1 o o
o (;1 1 -~ 0 o o
100020 0
With the optimality criterion satisfied, the optimal basic feasible solution to the
phase I surrogate problem is x2 = 2, x4 = 0, x6 = 0, and 9 = o. Turning now to
phase II, let us delete column five of the final phase I simplex matrix and replace
the last row of the same by the original objective function f = 5x 1 + 4x2
+ x3 + x 4 . To this end we obtain
One-phase, Two-phase, and Composite Methods 221
\\
1 1 1 0 0 0 2 1 1 1 0 0 0 2
-1 0 0 0 1 0 0 -1 0 0 0 1 0 0
-+
1 1 1 1
-6 0 6 1 0 0 0 -6 0 6 1 0 0 0
7 19
-5 -4 -1 -1 0 1 0 -6 0 "6 0 0 1 8
Since the initial phase II basic feasible solution to the original problem consisting
of x2 = 2, x4 = 0, x6 = 0, and f = 8 is not optimal, round one of phase II is
warranted. However, before attempting to generate an improved solution to the
phase II objective function, we note that since Y21 < 0, the artificial vector e2 will
not be considered for removal from the basis. Rather, simplex pivoting dictates
that the vector c l will be deleted from the basis with the result that the current
artificial basis vector e2 will appear in the new basis at a positive level. To
preclude the latter from occurring, instead of removing e l , let us remove the
artificial basis vector e2. To this end we proceed to
PHASE II, ROUND 1.
1110002 o 1 1 0 1 0 2
[;I] 0 0 010 o 1 0 0 0 -1 0 o
-+
o 6
1
1 0 o o o o 1
6" 1 -A 0 o
o 19
"6 o 0 1 8 o o 19
"6 o -~ 1 8
Thus the optimal (though degenerate) basic feasible solution to the phase II
original problem consists of Xl = 0, x 2 = 2, x 4 = 0, and f = 8.
we may utilize the M-penalty method to derive the artificial simultaneous aug-
mented form
A'U InUs + InUa C
b'U + MI'Ua+h 0,
where U a denotes an (m x 1) vector of nonnegative artificial variables and the
associated dual simplex matrix is
[
A' -In In 0
b' 0' MI' 1
C ]
o
I~'-MI'A'
A' o
-+ 1
Relative to this system the (p+l x p+l) basis matrix and its mverse may be
written respectively as
1)-
~ D
bn-MI'D
0
1
l 1)-1 = [ n-'
-bn D- 1 +MI'
where D depicts the (p x p) basis matrix associated with the dual artificial
0
1
l
structural constraint system. Then
D- 1A' _D- 1 0 D- 1 C
(S.4)
II-bnD-1A' + b' II Ib n D- 1 1 1 -b1:lD- 1C
One-phase, Two-phase, and Composite Methods 223
yields a basic feasible solution to the dual minimum problem, where the vectors
associated with the artificial variables, i.e., those corresponding to the third
partitioned column of (8.4), have been deleted since the artificial vectors have
been driven from the basis. If we assume that the optimality criterion is
satisfied, then the optimal values of the primal variables appear as the blocked
array of elements in the objective function row of (8.4), i.e., X' = bVD- 1 ~ 0'.
In addition, from the augmented primal structural constraint system
AX + ImX. = b we may isolate the primal slack variables as X~ = b' - X' A'. But
this expression corresponds to the double-blocked array of elements X~ =
-bDD- 1 A' + b' ~ 0' in the objective function row of (8.4). To summarize, our
rules for isolating the optimal values of the primal variables (original and slack)
may be determined as follows:
(a) to find the values of the primal variables X which correspond to
an optimal basic feasible solution of the dual minimum problem, look in
the last row of the final dual simplex matrix under those columns which
were, in the original simplex matrix, the columns of the negative of the
identity matrix. The lh primal variable xi' j=l, ... , p, will appear under
the column which was initially the lh column of the negative of the
identity matrix;
(b) to find the values of the primal slack variables Xs which correspond to an
optimal basic feasible solution of the dual minimum problem, look in the
last row of the final dual simplex matrix under those columns which were,
in the original simplex matrix, the columns of the matrix A'. The ith
primal slack variable x p+i' i=l, ... , m, will appear under the column which
was initially the ith column of A'.
In this section we have demonstrated how the optimal primal variables may
be obtained from the optimal dual simplex matrix. Earlier in Chapter 6 we
extracted the optimal dual variables from the optimal primal simplex matrix.
Hence no matter which of the primal-dual pair of problems is solved, all of the
pertinent information generated by an optimal basic feasible solution is readily
224 Linear Programming
available, i.e., from either the final primal or dual simplex matrix we can isolate
both the primal and dual original variables as well as the primal slack and dual
surplus variables.
EXAMPLE 8.10. The simultaneous artificial augmented form of the dual
minimum problem presented in example 4.3 is
U1 + 4u 2 - U3 + Us 24
5u1 + u2 - u4 + u6 25
u 1 + 3u2 + Mu s+Mu6 = 0,
where h =-g (here we are employing the transformation min 9 = -max{-g}
given in section 9.1); u3 ' u4 ~ 0 represent surplus variables; and us' u6 ~ 0 depict
artificial variables. In addition, the associated simplex matrix is
4 -1 0 1 0
1 0 -1 0 1
3 0 0 M M
1 4 -1 0 1 o o 24
5 1 0 -1 0 1 o 25
1 3 0 0 0 o 1 0
-6M -5M M M 0 o o -49M
It is easily shown that the optimal simplex matrix associated with this problem is
0 1 s 1
0 5
-19 19
1 4 1 4
1 0 19 -19
14 1 -19
0 0 19 19 0
where the columns associated with the artificial variables and the M-row have
been deleted. Upon examining the objective function row of this matrix we see
that ~ = (14/19, 1/19) and X~ = (0,0) as expected.
One-phase, Two-phase, and Composite Methods 225
To isolate the values of the original primal variables X along with the
primal slack variables Xa when the two-phase method is used to solve the dual
problem, it will simply be noted that if the optimal phase I basis contains no
artificial vectors, then the optimal phase II simplex matrix is of the form
exhibited by (8.4). Hence the same rules (a), (b) above for locating X, Xa apply
for the two-phase method as well.
1= L (8.5)
i(~ u GJ
It is evident that I is always non-negative while I equals zero if and only if the
current solution is a basic feasible solution to the original linear programming
problem. Moreover, I is non-increasing at each iteration i.e., the criteria by
which vectors are chosen to enter and leave the basis guarantee that I decreases
at each round of the composite simplex process until an initial basic feasible
solution to the original problem with I = °is found.
One-phase, Two-phase, and Composite Methods 227
(8.5.1)
n-m
constant + L
d jX Rj'
j=1
where d j = .2: Yij - ~ Yij' Since the constant term in (8.5.1) is non-negative, I
uc:f u~
will decrease if any non-basic variable x Rj for which d j < 0 enters the set of basic
variables. (If dj ~ 0 for all j but the constant term in (8.5.1) is positive, the
original problem has no feasible solution, i.e., I cannot be made smaller for any
nonzero values of the non-basic variables and yet must be positive for any
feasible solution. So if the problem has a feasible solution, until it finally is
found, it must be the case that d j < 0 for at least one j.) In this regard, d j
represents the reduction in feasibility achieved by changing the status of x Rj
from non-basic to basic and will consequently be termed the lh infeasibility
reduction tenn.
To determine which non-basic vector r j enters the basis let us adopt the
convention that
i.e., x Rk enters the set of basic variables. Clearly this choice criterion yields the
greatest decrease in I per unit increase in any of the non-basic variables. Having
specified the selection of the pivot column, let us now look to the determination
of the pivot row. Here we seek to select the vector to be deleted from the current
basis. From our previous discussion we know that
228 Linear Programming
x~
Bi
x Bi - OYik' if. r,
(8.7)
x~
xBi _ 0
Br Yrk - .
Now, if the total infeasibility I of the problem is to decrease at each round of the
composite simplex process, then, in order to preclude the creation of any new
infeasibilities, it must be the case that:
(a) no non-negative legitimate or artificial variable changes sign; and
(b) as many negative legitimate variables as possible are to change sign,
where rule (a) has priority over rule (b). To translate these rules into potential
pivot-row-selection criteria, let us relate our discussion to the previous two
guidelines. The following cases then emerge:
(a.1) Given that not all x Bi may be non-negative, no non-negative variable
changes sign so long as the vector to be deleted from the basis is chosen according to
01 = :::~ = min{ ~~: IxBi ~ 0 and legitimate or artificial, Yik > 0}. (8.8)
i.e., the r l th column of the basis matrix B is replaced by fk (here (8.8) is the
standard simplex exit criterion). Moreover, if there is a tie for the minimum,
choose r l so that x Brl is an artificial variable, if at all possible. Next,
(b.1) To eliminate the infeasibility caused by a negative legitimate basic
variable x Bi' let us: (1) remove x Bi from the set of basic variables and, at the
same time; (2) increase the values of all other negative legitimate basic variables
as much as possible by selecting the vector to be deleted from the current basis
according to
O2 = XyBr2
r2k
= m~x{Xy~i Ix Bi < 0 and legitimate, Yik < o}.
I Ik
(8.9)
least one of the remaining non-negative basic variables becoming negative and
this increasing the value of the total infeasibility I. In the light of these remarks
we shall now consolidate the above two rules into what will be called the
composite
EXIT CRITERION: to determine which current basic variable is to turn
non-basic, choose x Br if 82 < 81 < + 00; otherwise select x Br if 81 :s; 82 ,
2 1 (8.10)
Clearly this choice criterion guarantees that the total infeasibility I decreases at
each iteration and that, if possible, either a negative legitimate variable will be
transformed to zero or a non-negative artificial variable will be removed from the
set of basic variables. We note briefly that this criterion fails when
81 =82 = + 00, a result which emerges only if all positive artificial variables
have Yik:S; 0, and all negative legitimate variables have Yik ~ O. In this
circumstance d k ~ 0, in which case column k would not have been selected as the
pivot column in the first place.
EXAMPLE 8.11. To see how the composite method works, let us
max! = Xl + x2 s.t.
Xl + 2X2 < 12
Xl + x 2 > 4
-Xl + X2 > 1
-13x l + 4x2 -26
x l ,x 2 ~ O.
Upon multiplying the second, third, and fourth structural constraints by -1 with
x 3' x 4 and Xs depicting non-negative slack variables and x6 representing a non-
negative artificial variable, the above system becomes
12
-4
-1
26.
230 Linear Programming
1 2 1 0 0 0 0 12
-1 -1 0 1 0 0 0 -4
1 -1 0 0 1 0 0 -1
[ll] -4 0 0 0 1 0 26
-1 -1 0 0 0 0 1 0
- 1 + 1 - 13 = - 13,
d2 = E Yi2 - E Yi2 = Y22 + Y32 - Y42 = - 1 - 1 + 4 = 2.
ifCiJ if~
Since d l = min{ di' di < O} = - 13, the non-basic variable x Rl = Xl entcrs the
J
set of basic variables. To determine the current basic variable which is to turn
non-basic, let us compare
Looking to our composite exit criterion (8.10), we see that since 91 = 2 < 92 = 4,
xB4 = x6 will be removed from the set of basic variables. Upon pivoting on the
(boxed) element Y4l = 13 we obtain
One-phase, Two-phase, and Composite Methods 231
0 [ID
13 1 0 0 1
-13 0 10
17 1
0 -13 0 1 0 13 0 -2
9 1
0 -13 0 0 1 -13 0 -3
4 1
1 -13 0 0 0 13 0 2
17 1
0 -13 0 0 0 13 1 2
In ;n{X Bl _ 13} _ 13
i• Y12 --3 --3'
. ~ ~ 13
Smce (}1 = (}2 = 3' we select xm = x3 to leave the set of basic variables.
Pivoting on the element Y12 = r~ yields
13 13
0 1 30 0 0 0 "3
17 11
0 0 30 1 0 0 "3
9
0 0 30 0 1 0 0
4 10
1 0 30 0 0 0 "3
17 23
0 0 30 0 0 1 "3
and thus an optimal (though degenerate) basic feasible solution to the original
problem wherein X B1 = x 2 = 133, X B2 = x 4 = 131, x B4 = X5 = 0, x B4 = Xl = 130, and
f -- 23
3·
COMPUTATIONAL ASPECTS OF
LINEAR PROGRAMMING:
9 SELECTED TRANSFORMATIONS
For instance, we may want to find the minimum rather than the maximum of a
hyperplane subject to AX ~ b, X ~ 0, or quite possibly the variables may be
unrestricted in sign rather than nonnegative, or the variables may be bounded
from below or above, and so on.
233
234 Linear Programming
2 4 -1 0 1 0 0 28
5 1 0 -1 0 1 0 25
-+
1 1 0 0 0 0 1 0
-7M -5M M M 0 0 0 -53M
[ :J
S 1
0 1 -18 9 0
1 2
1 0 18 -9 0
2 1
0 0 9 9 1 -9
(9.2)
Xl' X2 ~ 0,
where X~ (xt, ... ,x1), X~ = (x~, ... ,x!). Then the standard simplex
technique is applicable since all variables are now non-negative. Upon examining
the various subcases which emerge, namely:
()
a 'f
1 > Xk'2 t Ilen
XkI Xk> 0;
2 t Ilen
(b) 1'f XkI < x k' xk < 0; an d
()
C 1'f Xk
I = Xk'2 t hen Xk = 0,
we see that xk' depending upon the relative magnitude of xl and x%, is truly
unrestricted in sign.
One important observation relative to using (9.2) to handle unrestricted
variables is that any basic feasible solution in non-negative variables cannot have
both xl, xi in the set of basic variables since, for the kth column of A, ak'
(xl-xi)ak = xkak + xi( -ak) so that ak' - ak are not linearly independent and
thus cannot both constitute columns of the basis matrix.
EXAMPLE 9.2. Let us
max! = 3x I +x 2 +x 3 s.t.
2xI + 5x 2 - x3 < 10
Xl + 4x2 - x3 < 12
xl' x3 unrestricted, x 2 > O.
Setting
I 2
x1 Xl - Xl'
I 2
X3 - X 3 '
236 Lineal' Programming
we desire to
max f = 3xt - 3x~ + X 2 + X~ - X~ s.t.
2x~ - 2x~ + 5x 2 - X~ + x~ < 10
x~ - x~ + 4x2 + x~ - x~ < 12
I 2 I 2 0
Xl' Xl' X2' X3' X3? •
The standard simplex routine in all non-negative variables now applies, with
xC!J = (xl.)o
J
- (x~)o
J'
)'=1 ,3.
where both
where f{X) = f{X) - elL and b = b - AL. Here AL represents the portion of b
which is necessary to support the minimum allowable level of X, namely L. The
final solution is then obtained as Xo = L + Xo, f(Xo) = e'L + CIXO'
EXAMPLE 9.3. To employ this technique, let us
max f = + x 2 + x3
Xl s.t.
2x1 + x2 + x4 10
2x1 + 3x 2 + x3 + x5 16
Xl 2:2 >0
x 2 2:1 >0
x3 2: 0.5 >0
x 4 2: 1.5 >0
x5 2:2 > 0,
where x 4 ' x5 are slack variables. By virtue of (9.3), we desire to
maxf = 3: 1 +3: 2 +3:3 s.t.
2X1 + 3: 2 + 3: 4 3.5
+ X5 = 6.5
3:j 2: 0, j=1, ... ,5.
Setting up the simplex matrix we have
1 0 1 o o 3.5]
3 1 0 1 o 6.5 (9.4)
-1 -1 0 o 1 0
and an initial basic feasible solution consisting of 3:4 = 3.5, x5 = 6.5, and f=O. If
we introduce x3 into the set of basic variables, (9.4) becomes
Computational Aspects of Linear Programming 239
1 o 1 o
o 3.5]
3 1o 1 o 6.5 (9.5)
2 o o 1 1 6.5
and thus the optimal basic feasible solution to the modified or transformed
problem is x3 = 6.5, x4 = 3.5 and f(X) = 6.5. Moreover, the optimal basic
feasible solution to the original problem is
2 0 2
1 0 1
Xo L+Xo 0.5 + 6.5 7
1.5 3.5 5
2 0 2
f (Xo) = C L + C Xo = 10.
I I-
We next examine the case where each variable x j possesses a finite upper
bound Uj' j=l, ... , n. That is, let us
max f(X) = C'X s.t..
AX =b, 0 ~ X ~ U.
As we shall now see, this situation is a bit more complicated to handle
computationally than the previous one which admitted lower bound restrictions
on the variables. To develop t.he (upper) bounded variable algorithm, let us start
with the simplex matrix
xl X2 Xp Xl)+! Xp +2 Xp +m f
all al 2 alp 1 0 0 0 bl
a 21 a 22 a 2p 0 1 0 0 b2
(9.6)
o 1
o o 1 o
(9.7)
and thus an initial basic feasible solution consisting of xp+i = bi' i=I, ... , mj
f = O. Since the variables xl, ... ,x p+m have upper bounds ul, ...,u p+m respec-
tively, it is assumed that none of the basic variables exceed their upper bounds.
Hence the current solution is assumed feasible for both the non-negativity
conditions and the upper bound constraints.
Assume that Xl is selected by the simplex entry criterion to enter the set of
basic variables. Hence (9.7) becomes
X p+ 1 b1 - a ll x 1
x p +2 b2 -a 21 x l
(9.7.1)
Xp +m
f
We noted earlier that, according to the standard simplex exit criterion, the
largest allowable increment in Xl which does not violate the non-negativity
conditions and the upper bound restriction is m#n{bJail,ail > OJ. However, if
I
It is evident that if the minimum in (9.8) is not attained for u l ' then the
standard simplex pivot process is warranted, with any of the elements ail> 0,
i=I, ..., m, eligible for selection as the pivot. If the minimum in (9.8) is u1 ' then
Computational Aspects of Linear Programming 241
(9.9)
(9.10)
(b m - amlu l ) + amlxi - a m 2X2 - ••• - ampxp
:ji
basic variables bi - ail Ul are non-negative under this substitution since each of
these differences may be expressed as ail( :/1 - Ui ) ~ 0 for
l > ul ail> 0 and
by virtue of (9.8). Actually, for ail < 0, these values are still non-negative.) In
terms of the simplex matrix, the preceding transformation yields
X*
1 Xp +m f
o o (bCanu l )
o o (b 2 -a21 u l )
(9.11)
o o 1
o o o 1
f
where the non-basic variable Xl is to enter the set of basic variables. Note first
that the values of the basic variables xp+i increase for negative values of ail'
i=I, ... ,m. Moreover, the upper bounds up+i can be attained if bj-ailxl =
up+j' i=I, ... , m. Thus Xl cannot be increased above the smallest (bj-up+i)/ajl
value, ajl < O. In this regard, the largest allowable increment in the entering
variable Xl which preserves the upper bound restrictions on the basic variables
xp+j, i=I, ... ,m, is
(9.12)
If, for instance, the minimum in (9.12) occurs for i=l, z.e., x p +! reaches its
upper bound up+! after an iteration is performed, then x p+! is set at its upper
Computational Aspects of Linear Programming 243
bound by substituting x p+! = up+! - x;+l into (9.6) and then pivoting on the
element all. Here (9.9) has again been applied, where x;+! is a non-negative
slack variable. Relative to (9.12), (9.6) is transformed to
xp
alp 1
1 au au o ···0 0
alp
a2p -a 2 1 all 1 ···0 0
(9.13)
o ... 0 1
And since x;+! is now nonbasic, x;+! = 0 so that x p+1 = up+!. So to obtain
(9.13), in (9.6):
(1) update the first component of the last column to bl - up+!j
(2) multiply the (p+lyt column by -1;
(3) pivot on the element au; and
(4) change the heading on the (p+l)st column fmm x p+1 to x;+!.
Upon combining all of the aforementioned exit criteria, we see that the
largest feasible increase in Xl which preserves both the non-negativity conditions
and all of the upper bound constraints is
(9.14)
(a) if x t is the outgoing basic variable, update the rth com-ponent of the
last column to br - Uti
(b) multiply the outgoing basis vector by -1;
(c) pivot on the element ark;
(d) change the heading of the column associated with the out-going basis
vector from x t to x~.
(3) if () = (}3:
(a) update the first m components of the last column to bj - ajkuk and
where :1:4,:1:5 are slack variables. The associated simplex matrix thus appears as
1 -2 2 1 o 0
[ _1 1 -1 0 1 0 (9.15)
-: -~ -2 0 o 1
with an initial basic but infeasible (in terms of the upper bound restrictions)
solution consisting of:l:4 = 5, :1:5 = 3, and f = O.
Let :1:3 enter the set of basic variables. With ° °= (3-5)/( -1) = =~, 2,
= °= °
1 2
lIlt
becomes
:1:*
3
[ 1 ~-2 1 0 0
5 - 2(2)
-1 1 1 0 1 0 lID 3 - (-1)2 (9.16)
-1 -~ 2 0 0 1 I1l 2(2)
q.
:1:* :1:* :1:*
3 3 4
~ -2
~r'[-~
1
[ 1 -1 0 1 1 2" 0 0
-1 1 1 0 1 o0 5 --+ 16 0 0 1
-2" 1 0 (9.17)
7 3 25
-1 -~ 2 0 0 1 4 -~ 0 2" 4' 0 1 4"
Here our third basic feasible solution is :1:2 =~, :1:5 =~, and f = 2;.
Finally, for °= °=
1 21, 2 (~-3)/( -~) = 3, and 03 = 1, we have
0= 03 = 1. Then (9.17) becomes
246 Linear Programming
1 1
2 1 1 2 0 0 ~ ~- (-!)(1)
~
1
-6 0 0 -21 1 0 ~-(!)(1)
+1
~
7 7 3
4' 0 2 4' 0 1 25
4
with the optimal basic feasible solution involving x2 = 2, x5 = I~, and f = 2:.
Moreover, since xi = ui-xi' and xi = x; = x: = 0, it follows that xl = 1, x3 = 2,
and x 4 = 4.
Finally, it may be the case that the variables x j are bounded both from
below and above, i. e., x j is constrained to lie within a range of values or
o::; ej ::; x j ::; U j' j= 1, ... , n. Specifically, the problem at hand is to
To handle this situation, let us measure x j from its lower bound. Hence
€j ::; xj ::; Uj is transformed to 0 ::; xj = xj - €j ::; Uj - €j = Uj' j=I, ... , n. In this
instance we have converted the original finite interval constraint on x j to one
involving only an upper bound restriction on the transformed variables xj'
j=I, ..., n. In matrix notation, the preceding problem becomes, for X = X - L or
X=L+X,
max f(X) = C'X s.t.
AX = h, 0 ~ X ~ U,
max f = xl + 3x 2 + X3 s.t.
Xl - X2 + X3 + X4 10
2XI + X2 - 4X3 + X5 8
Xl + 3x 2 - 2X3 12
1 ::; xl ::; 3
3 ::; x 2 ::; 4
2 ::; x3 ::; 5
0.5 ::; X 4 ::; 2.5
1 ::; x5 ::; 3
4 ::; x6 ::; 6,
where x 4' x S' and x6 are non-negative slack variables. By virtue of the preceding
discussion, we seek to
max f = xl + 3x 2 + x3 s.t.
Xl - x2 + x3 + x4 9.5
2xI + x2 - 4x3 + X5 10
Xl + 3x 2 - 2X3 + X6 2
o::; Xl ::; 2
o::; x2 ::; 1
o ::; x3 ::; 3
o::; x 4 ::; 2
0::;x5::;2
o::; x6 ::; 2.
The upper bound technique may now be used to generate a solution to this trans-
formed problem.
where b~ = (bL ...,b~), b~ = (b~, ... ,b~J To generate a solution to the same,
let us write the above interval structural constraint system as
AX ~ b 2 1 {AX + Xsl
AX~ bJ or AX -Xs2+Xa
where XBl ' X s2 ' and Xa are (m x 1) vectors of non-negative slack, surplus, and
artificial variables respectively. Then either the M-penalty or two-phase method
may be used to solve the final problem.
Interestingly enough, if A is a pth order non-singular matrix, then we may
obtain an explicit solution to the interval linear program-ming problem in
unrestricted variables according to
THEOREM 9.2. 1 The optimal solution to the problem
max !(X) = C'X s.t.
b1 ~ AX ~ b 2 , b 1 ~ b 2 (9.18)
X unrestricted
(9.19)
(9.20)
and 3j is the lh column of A-I.
PROOF. Substituting X = AX into (9.18) yields the equivalent problem
p
max !(X) = C'A- 1X = ~ (C'3j)Xj
3=1
b 1 ~ X ~ b2 , b1 ~ b2 , X unrestricted, or
s.t. { 1 _ 2 1 2 - . .
bj ~ Xj ~ bj , bj ~ bj , Xj unrestrIcted, )=1, ... ,p,
1Ben-Israel, et al. (1969). A more general fOl'mulation of this theorem which allows A
to be of order (m X p) and thus employs the generalized inverse appears in Ben-Israel, Charnes
(1968).
Computational Aspects of Linear Programming 249
whose optimal solution is provided by (9.20). This latter expression may then be
used to determine (9.19). Q.E.D.
EXAMPLE 9.6. Let us
max f = xl + 8x 2 s.t.
3 < xl + x2 < 12
4 ~ 2xI + 4x2 < 20
xl' x 2 unrestricted.
Since
As pointed out earlier, x} and x~ cannot both appear in any basic solution since
their associated columns aj' - aj are not linearly indenpendent.
And if the initial problem appears as
n
max f(X) = ?: I I
Cj Xj s.t.
J=l
AX = b, X unrestricted,
251
252 Linear Programming
but nonfeasible solution to the primal problem for which optimality (and thus
dual feasibility) holds. As is the usual case, we move from this solution to an
optimal basic feasible solution through a sequence of pivot operations which
involve changing the status of a single basis vector at a time. Hence the dual
simplex method preserves primal optimality (dual feasibility) while reducing, at
each iteration, primal infeasibility, so that an optimal basic feasible solution to
both the primal and dual problems is simultaneously achieved.
Let us now determine exactly how the dual simplex method works. Given
the primal maximum problem in standard form
max f(X) = C'X s.t.
AX = b, X~O,
the dual minimum problem is of the form
min g(U) = b'U s.t.
A'U ~ C, U unrestricted.
Moreover, let X B = B- l b = b represent a basic solution to the primal maximum
problem for which not all x Bi ~ 0, i=I, ... , m. Since X B is not feasible, the solu-
tion vector U to the dual minimum problem is not optimal. In this regard, we
should be able to find a new vector U such that A'U ~ C and g(U) < g(U). Now,
where {Ji' i=l, ... , m, denotes the ith row of B- 1 • Hence x Bi = {Jib, i=l, ... , m.
Moreover, since
it follows that
6· .
IJ
_{I, i=jj
...J..
0, iri,
254 Linear Programming
where i, j=l, ... , m. For some i=r let x Br = (Jrb < O. Since we desire to
ultimately obtain an optimal basic feasible solution to both the primal and dual
problems simultaneously, let us: (1) eliminate x Br from the current set of primal
basic variables (and thus b r from the current primal basis); and (2) use U to
obtain a new solution vector U for which g(U) < g(U) and A'U ~ C. If we form
= U-O{Jr'
~,
U
then
g(U) = U'b = U'b - O{Jrb g(U) - OXBr (10.1)
in which case the kth column of the primal basis matrix B, b k , is removed from
the basis. So from this point on, we shall assume that the variable xBr in (10.1)
satisfies (10.2).
Under what circumstances will U satisfy the dual structural constraint
system A'U ~ C? Since U' = C' BB-l, u'n = C' B or U'bj = C Bi' i=l, ... , m.
Then for those vectol'S b i within the primal basis,
~ {C Br - 0 ~ CBr' 0 ~ 0, i=r ;
U'b.1 = U'b. -
1
O{J r b·I=IcB'I Oc·· =
- } •...J..
cBi' '.,-r,
where i=l, ... , m. And for all vectors j not in the primal basis,
,
f
~,
U fj = U fj - O{Jrfj'
Since fj = BYj , Y j = B-1fj has as its rth component Yrj ={Jrfj' Then
~, ,
U fj = U fj-OYrj'
Dual Simplex, Primal-Dual, and Complementary Pivot Methods 255
Here two cases emerge. First, if Yrj ~ 0 for all j, then for any () ::; 0,
~, .
U rj = CRj - (}Yrj ~ CRj' 3=1, .. .,n - m.
In this instance () can be made an arbitrarily large negative number while still
maintaining the feasibility of U so that g(U) = g(U) - (}x Br becomes arbitrarily
small, i.e., the dual minimum problem has an unbounded feasible solution. But
if this is the case, our previous results indicate that the primal maximum
problem has no feasible solution. Next, let us assume that there exists at least
one non basis vector rj for which Yrj < O. For all such Yrj < 0 to satisfy
~,
U r·J
,
= U r J. - (}y rJ. > cR .
- J
it must be true that
and thus, to preserve dual feasibility, let us choose a (), call it 0, according to
- {U\-CRj
() = m~x y . ' Yrj < 0} .
J rJ
U rk = U,rk -
- (}Yrk = C Ilk'
-
() ::; 0;
With 0 ::; 0, g(U) < g(U) if x Br < O. And with Yrk f 0, rk replaces b r in the basis
to yield a new basis matrix
B= [bl ,. .., b r _ l , rk' b r +l , .. ·, b m l·
256 Linear Programming
Xl + 3X2 > 20
Xl + X2 > 15
2xI + x 2 > 25
x 1 ,x 2 2:: 0.
Upon converting this problem to a maximization problem and subtracting non-
negative surplus variables x3' x 4, and Xs from the left-hand sides of the
structural constraints, we obtain the simplex matrix
1 3 -1 0 0 0 20 -1 -3 o 0 0 -20
1 1 0 -1 0 0 15 -1 -1 o o 0 -15
--+
2 1 0 0 -1 0 25 [;1] -1 o 0 1 0 -25
2 4 0 0 0 0 2 4 o 0 0 1 o
Dual Simplex, Primal-Dual, and Complementary Pivot Methods 257
and an initial primal optimal (dual feasible) basic solution x3 = -20, x 4 = -15,
x5 = -25, and h = 0, where h = -f. Since the current solution is not primal
feasible, let us undertake the first round of the dual simplex method by
determining
-25 = mjn{xBi' XBi < O} = min{-20,
I
-15, -25},
-CO }
(j = -1 = mJx{ _Y:j' -Yrj < 0 = max{2/(-2) = -1, 4/(-1) = -4}.
Here xl is to replace x5 in the set of primal basic variable (alternatively, r 1
replaces h3 in the primal basis) so that the (blocked) pivot element is -2. An
appropriate pivot operation yields
0
8J
1
1 0 -21 0 -2
15
0 -2 0 1 -21 0 5
-2
1
1 2 0 0 -21 0 25
2
0 3 0 0 1 1 -25
· lb·
an d a second prima aslC soIutlOn
· conslstmg
. . 0 f Xl =2'
25 x3 = -2'
15 x = -2'
4 5 an d
h = -25. Again primal feasibility does not hold so that we next compute:
15 = mIn XBi' XBi < O}
-2 0 {
= mm 0 { 15 -2
-2' 5}'
0 0 -s1 11-~1 0 -1
1
1 0 S 0 -s3 0 11
6 2
0 0 S 0 S 1 -34
258 Linear Programming
and thus a third primal basic solution wherein Xl = 11, X2 = 3, x 4 = -1, and
h = -34. Since primal infeasibility is still evident, we again look to our
respective exit and entry criteria
-1 = n#n{xBi' xBi < O} = min{-I},
- {-Cj }= {(6/5)
J
(2/5) }
O=-I=mjx _Yrj'-Yrj<O max (_1/5)=-6'(_2/5)=-1
0 1 -2I I
2 0 0 5
2
I 5 5
0 0 2 -2 1 0 2
I 3 25
1 0 2 -2 0 0 T
o 0 1 1 0 1 -35
and an optimal primal basic feasible solution with Xl = 225 , X 2 =~, X5 =~, and
f = 35.
It was pointed out at the beginning of this section that the dual simplex
method is particularly useful in instances where "~" structural constraints are
present. In this regard, the dual simplex method can be conveniently used to
solve the dual problem
min g(U) = b/U s.t.} max h(U) = -g(U) = -b/U s.t.
or {
A/U ~ C, with b, U ~ 0 - A/U ~ -C, with b, U ~ 0
for both the primal as well as the dual variables. The simultaneous augmented
form of this problem appears as
-A/U + In -C
h'U +h o
so that the associated simplex matrix is
[
-A' In
b' 0'
0
1
-c].
0
Relative to this system the (n+ 1 x n+ 1) basis matrix and its lllverse may be
expressed respectively as
Dual Simplex, Primal-Dual, and Complementary Pivot Methods 259
_ [-E
E =
b'E
o ],
1
--1
E = [_E-
E
b E- 1
1
0]1 ,
where E is an (n x n) basis matrix for the dual structural constraint system. Then
E- 1A' o
-bEE- 1A' +b' 1
Notice that this latter matrix is of the same basic form as (S.4) save for the
fact that E- 1 appears instead of 0- 1 . Hence the primal vectors X, Xs are readily
obtainable as before.
STEP 4. Compute e= mjx{ ~::j '-Y"j < 0}. If ~:r~ =e, then rk
p
?:aijxj ~ bi' i=l, ... ,m, with Cj, Xj ~ 0, j=l, ... ,p.
3=1
Upon introducing non-negative surplus variables x p+i' i=l, ... , m, we can readily
obtain an initial primal-basic but not primal-optimal (and thus dual infeasible)
solution x p+i = -bi' i=l, ... , m, with f = O. At this point let us add to the
original problem the artificial structural constraint
I For the details on the steepest edge modification of the dual simplex method see
appendix B.
262 Linear Programming
Since our immediate goal is primal optimality, let us employ the criterion
(10.4)
This expression for x, is then substituted into the original objective function and
structural constraint, system and also included in the latter as a supplementary
structural constraint. Once this is accomplished, primal optimality is attained.
Moreover, if one or more of the primal basic variables xp+i = -bi+ailM,
i=l, ... , m, is negative, then the dual simplex method is directly applicable.
As far as the salient features of the artificial constraint method are
concerned, we briefly note that: if at some point in t.he dual simplex routine the
vector corresponding to x M enters the primal basis, then a basic solution to the
original problem is ohtained by ignoring both the row and column to which it
corresponds; moreover, the row and column associated with xM may be deleted
from the simplex mat.rix and the dual simplex iterations continued until primal
feasibility is attained.
EXAMPLE 10.2. To view the artificial-constraint method in action,
max f = xl + 3x 2 s.t.
Xl + X2 < 15
xl +4X2 > 20
5x1 + x2 > 25
xI,x2~0.
Xl + X2 + X3 = 15
- xl - 4x2 + X4 = -20
- 5x 1 - X2 + X5 = -25
- X1 - 3x 2 + / 0
Clearly an initial basic solution derived from the system is both primal and dual
infeasible. To achieve dual feasibility, let us introduce the artificial structural
constraint
Xl +X2+ XM = M.
Since Ic21 = rrax{ ICj I, Cj < OJ, we substitute x 2 = M - XM - xl into the
Jf.A
above simultaneous form to obtain
X3 - xM = 15-M
3x 1 + x4 + 4x M = -20+4M
-4x1 + x5 + xM = -25+M
xl + X2 + XM =M
2X1 +3 XM +/ =3M
with simplex matrix
0 0 1 0 0 8l 0 15-M
3 0 0 1 0 4 0 -20+4M
-4 0 0 0 1 1 0 -25+M
1 1 0 0 0 1 0 M
2 0 0 0 0 3 1 3M
15 - M = m#n{xBj, xBi
I
< OJ,
0 0 -1 0 0 1 0 -15+M
3 0 4 1 0 0 0 40
g] 0 1 0 1 0 0 -10
1 1 1 0 0 0 0 15
2 0 3 0 0 0 1 45
Thus our second primal basic solution becomes x 2 = 15, x4 = 40, x5 = -10,
xM = -15+M, and f = 45. Since x M is feasible, row one and column six may
be deleted from this latter simplex matrix. And with
-10 = mjn{xBi' xBi<O},
my {-c. }
I
1
"0 = -2 = -Y:j'
X - Yrj <0 ,
we pivot on the element -4 to obtain
19 3 65
0 0 "4 1 4 0 2
5
1 0 -41 0 -41 0 2"
5 1 25
0 1 4 0 4 0 2
7 1
0 0 2" 0 2 1 40
made to decrease) is thus obtained which in turn targets a new set of legitimate
primal vectors as candidates for (restricted) entry into the primal basis. This
process is repeated wit.h complementary slackness maintained at each step so that
the first primal feasible solution obtained is also optimal. Hence the primal-dual
routine, so named because we attempt to increase the value of the Phase I
infeasibility form and, at the same time, decrease the dual objective function
value, works towards primal feasibility and optimality at the same time.
Let the primal-dual pair of problems under consideration appear as
PRIMAL DUAL
max f(X) = C/X s.t. min g(U)= b/U s.t.
AX= b, X~O A/U ~ C, U unrestricted. (10.5)
(10.6)
Xo ~ 0, X ~ 0, Co = 0 U o ~ 0, U unrestricted,
where ai' j=O, 1, ... , n, denotes the lh column of the modified primal coefficient
matl'lx,
•
z.e.,
.
aa = cm +1 • ai = ai' 1),and aj
- -I (' .
IS th e J·th co I umn 0 fA· 1 ... , n.
,J=,
An obvious feasible solution to the modified dual is thus Uo ~ 0, U = 0, and
lu o ~ C or U o = m~x·{cj}' j=I, ... ,n.
J
266 Linear Programming
U o ~ 0, U unrestricted, uso ~ 0, Us ~ O.
(10.8)
In what follows we shall use a variation of this problem to carry out the primal-
dual pivot operations.
To see exactly how the primal-dual method works, we note first that if the
vectors X, U represent feasible solutions to the primal-dual pair of problems in
(10.5), then they are also optimal solutions to the same if and only if the
following weak complementary slackness conditions hold:
(Since the structural constraints of the primal are strict equalities, (10.9.b) is
automatically satisfied when a feasible primal solution x O' X is obtained.)
Relative to the current feasible solution to the original dual in (10.5), some of the
structural constraints of this problem are binding and some are not. For those
which are satisfied as equalities (usj=O), the corresponding x j can be any positive
Dual Simplex, Primal-Dual, and Complementary Pivot Methods 267
value and (lO.9.a) holds. If one or more of these constraints hold as a strict
inequality, then the corresponding x j = 0 so that again (10.9.a) obtains. How
can we find a vector X that satisfies (l0.9.a) (complementary slackness is
preserved) and the constraints of the primal problem in (10.5)? We noted above
that an initial feasible solution to the modified dual (and thus to (lO.7») is
U = 0, Uo = m«;lx{cj},j=I, ...,n. Then from the partitioned rows of (10.7) we
J
have
Clearly at least one component of (uso, U~) must vanish by virtue of the
definition of uo. Moreover, for this solution, 9 = b'U + bouo = bouo. For the
current feasible solution to the dual, let' = {j I Usj = O}, i.e., , represents the set
of subscripts j corresponding to the dual binding structural constraints. The
importance of index set , is that it provides us with a device for using
information about the dual with which to select legitimate vectors aj to enter the
primal basis. (Initially the primal basis for (10.8) contains only artificial
vectors.) That is, given that the complementary slackness conditions must be
maintained throughout all of our computations, if j f " then any x j ~ 0 will
satisfy (10.9.a) and thus aj can be admitted to the primal basis of (10.8); and if
U, so that Usj > 0, then (10.9.a) is satisfied only if x j = 0 so that aj remains
nonbasic. (Since U o = m«;lx{ C j}, j=I, ..., n, , :f:. tP initially so that at least one aj
J
is eligible for restricted basis entry in (10.8).) Hence we allow only those aj' j d,
to enter the primal basis at each iteration. These observations on restricted basis
entry thus lead us to construct what is called the restricted primal problem (a
f',
modification of the standard Phase I calculation): we must find a nonnegative
linear combination of the vectors aj' j which equals (b', bo) by solving
max f; = -1'Xa - xaO s.t.
To generate a solution to (10.11) we can apply the primal simplex method in the
usual fashion; terminating the calculations when Cj ~ 0 for all aj' j e', entering
the primal basis.
If f; = 0, then xai = 0, i=l, ... , m, and the resulting set of x /s for which
j d along with those x /s for U, yield a feasible solution to the primal in (10.6)
(since the constraints in (10.11) with xai = 0 are the same as those in (10.6) with
the columns aj' j e', deleted). Moreover, this solution is also optimal since the
x /s satisfy the complementary slackness conditions. Hence f = g for the pair of
problems in (10.6). How does this discussion relate to the solution of the original
pair of problems in (10.5)? Specifically, if x O' X is a feasible solution to the
modified primal and (10.9.a) holds, then x O' X is also an optimal solution to this
problem and thus uO' U is an optimal solution to the modified dual. And if
Uo = 0, then f =g =9 with X'U s = O. Thus X is an optimal solution to the
original primal in (10.5) and U is an optimal solution to its dual. (However, if
there exists a solution to the modified dual for which uo::fi 0 and (10.9.a) is in
effect, then with f = g = btU + bouo, bo and thus f can be made arbitrarily large
so that the modified and thus the original primal objective is unbounded.) These
comments may be summarized by the
10.2. PRIMAL-DUAL OPTIMALITY THEOREM. Solutions (U', uo), (xo, X')
to the modified dual and restricted primal problems respectively with
1*=0, uo=O, and x j=O, j ¢" are optimal for the original primal-dual
pair of problems.
PROOF 2 • With 1* = 0 we have Xa = 0, xa = O. And with U o = 0,
the vectors X, U satisfy the original primal and dual structural constraints, i.e., if
we premultiply both sides of the structural constraint system in (10.11) by
(U t, uo) = (U',O) we obtain, for Xa = 0, xao = 0,
~ U'3jXj = U'b.
e'
)e'
Since for j we have U'3j = Cj' the preceding expression becomes
2This proof is a slight variation of the one provided by Dantzig, et al. (1956).
Dual Simplex, Primal-Dual, and Complementary Pivot Methods 269
Thus X, U are optimal solutions to the original primal and dual problems
respectively. Q.E.D.
If f; < 0 and V is an optimal solution to the dual of (10.11), z.e., to the
restricted dual problem
min g; = b'y s.t.
ajY ~ 0, jd (10.12)
Y~ 1,
where Y' = (U', uo)' then we can demonstrate that there exists some () > 0 such
that Y* = Y + ()V is a new feasible solution to the dual in (10.6) and that y*
produces a decrease in the dual objective, i.e., b'y* > b'Y, where Y is a feasible
solution to the said dual. To this end let us consider the following two possible
ways in which this can occur.
First, it may be the case that aj V ~ 0, for j f- j. In this case the primal in
(10.6) has no feasible solution. To see this we may note that if V is an optimal
solution to (10.12), then ai V ~ 0, j E~; and since by assumption ai V ~ 0, N~, it
follows that aj V ~ 0 for all j = 0,1, ... , n. If Y is a feasible solution to the dual
problem in (10.6), then so is Y* = Y + ()V, () > 0, i.e.,
aly*
J
= a'V
J
+ ()a'·V
J
> c J.
-
since aj Y ~ Cj and aj V ~ 0, j=O, 1, ... , n. Furthermore, the dual objective in
(10.6) can be made arbitrarily small, i.e., since b'y* = b'Y + ()b'V and
b'V = g; = f; < 0, it follows that as () becomes arbitrarily large, b'Y* decreases
without bound. Thus from theorem 4.9, the modified primal in (10.6) has no
feasible solution.
Second, let aj V < 0 for at least one j I j. Since V is an optimal solution to
(10.12), we know that aj V ~ 0, j {~. And for a suitably restricted value of () > 0,
y* = Y + ()V is feasible for the dual in (10.6). To see this let us increase the
value of () to the point where one of the inequalities ai Y* > C j' j I~, j=O, 1, ... , n,
becomes an equality, i.e., the largest allowable increase in () which does not
violate dual feasibility in (10.6) is
270 Linear Programming
(10.13)
a'·y*
3
= a'·y
3
+ Oa'·V
3 -
> a'·y
3
+ Oa'V
3
> a'·y + (e 3
-3
·-a'·y)
3
= e3· for a'V
3-'
< o·
a'·y*
3
= a'·y
3
+ Oa'·V > a'·y > c· for
3-3-3
a'·V
3
> O.
In addition, Y* yields an improved solution to the dual in (10.6) relative to the
original feasible vector y, i.e., g* = h'Y* = h'Y + Oh'V = 9 + Og; = 9 + Of; ::5 9
for 0 ~ 0, f; = g; < O. Clearly 0 =0 yields the largest possible decrease in g;.
If B,. depicts the current basis matrix for the restricted primal in (10.12)
when the optimality criterion is satisfied for all aj' j { 4, and C B has as its
r
components the objective function coefficients (being either 0 or -1) associated
with the basic variables, then V' = CB1.B;:-1. Thus the optimality evaluators may
be expressed as -*
Cj = ellj - C'Br B- 1
r -aj = -aj
-'Y- d WIt
an, . I1 Usj = aj'V- - Cj' .
It
follows that (10.13) can be rewritten as
-
0::5 0 = Usk
-::;j;'" = .
m~n {U S.3 J· f 4, - -*j < 0 }.
-::;j;"', C (10.13.1)
ek 3 Cj
Based upon the new solution vector V' = (fi', uo) we can obtain a new set of dual
surplus variables U;j = aj Y* - Cj = Usj + O( -cj), j=O, 1, ... , n, which enable us
to redefine the index set 4 and subsequently carry out an additional set of
iterations until the optimal solutions to the problems in (10.6) are obtained or it
is revealed that the original primal in (10.5) has no feasible solution. It is
important to note that the new index set contains at least one subscript j which
was not included in the old one. In fact, the revised 4 contains the subscript k
appearing in (10.13) (or (10.13.1» along with any other index corresponding to a
positive value of Xj emerging from the solution to (10.11) because of the
complementary slackness requirement. For any such j we have aj V = 0 and thus
aj y* = aj Y + Oaj V = aj Y = C j so that Usj = O. Hence at least one new vector 'iij
Dual Simplex, Primal-Dual, and Complementary Pivot Methods 271
which was previously not a candidate for restricted basis entry will be released for
entry into the primal basis. Once the new index set , has been determined, we
solve the new restricted primal problem, the outcome of which allows us to
obtain another solution to the dual problem in (10.6) with a smaller objective
value than before. This new dual solution again updates " i.e., chooses one or
more vectors for restricted basis entry, and the process is repeated. Assuming the
absence of degeneracy, no basis of the primal in (10.6) is ever repeated and thus
the primal-dual method converges to an optimal basic feasible solution in a finite
number of steps. When f* = 0 we have an optimal basic feasible solution to the
modified primal and, for U o = 0, f = 9 = g. If uo:f. 0, the modified primal has
an unbounded solution. And if at some iteration we have f* < 0 and cj :$ 0 for
all j, then the primal in (10.6) has no feasible solution.
EXAMPLE 10.3. Using the primal-dual technique,
where x3 is a slack variable, x 4 is a surplus variable, and xS ' xaO are artificial
variables. As indicated earlier, a starting feasible solution to the modified dual
problem (10.6) is
U = 0, tto = m~x{cj} = 10 = uso'
J
272 Linear Programming
Us! 10-2 8
us2 10-10 0
us = 1uo -C , and
us3 10-0 10
us4 10-0 10
0 2 4 1 0 0 0 0 20
0 4 1 0 -1 1 0 0 20
--.
1 1 1 1 1 0 1 0 bo
0 0 0 0 0 1 1 1 0
x2
0 2 [11 1 0 0 0 0 20
0 4 1 0 -1 1 0 0 20
(10.15)
1 1 1 1 1 0 1 0 bo
-1 -5 -2 -1 0 0 0 1 -20-bo
wherein only the artificial variables are basic, i.e., Xs = 20, xaO = boo Under
restricted basis entry, the (blocked) pivot in (10.15) must be 4 (since bo is
arbitrarily large). Then (10.15) is transformed to
Xl X2
I 1
0 2 1 4 0 0 0 0 5
0
rn 0 1
-4 -1 1 0 0 15
(10.16)
1 3 bo-5
1 2 0 4 1 0 1 0
1
-1 -4 0 -2 0 0 0 1 -10-bo
Dual Simplex, Primal-Dual, and Complementary Pivot Methods 273
With
U so 10 u sl u s4 10
-:=;j;"""
Co T = 10, -:=;j;"""
cl 48 -- 2, and -:=;j;"""
c4 1/2
20,
2 1 20
0 0 1 '7 '7 0 0 7
1 2 30
0 1 0 -14 -'7 0 0 7
(10.17)
11
[I] 0 0 14
8
"7 1 0 bO_5~
11 8
-1 0 0 -14 -'7 0 1 5~_bo
corresponding to the outgoing artificial basis vector associated with x5 has been
274 Linear Programming
0 0 0 0 0 1 0
where the column associated with the outgoing artificial basic variable xaO has
been deleted. Here Xl = 3~, x 2 = 2~, f; = 0, and g* = 9 + 0(0) = 2~0 = f.
warranted.
STEP 3. Determine a new set of dual surplus variables according to
where
- c~J < o} '
By solving the latter we obtain an improved solution to the dual. From this we
can form a new restricted primal program, the solution of which leads to a
further improvement in the dual objective. After a finite number of such
improvements, an optimal basic feasible solution is generated for the original
primal problem. Thus the primal-dual process may be viewed as a way of
starting with an infeasible basic solution to the primal problem and using an
available dual feasible solution to decrease the infeasibility form of the extended
primal problem in a prescribed manner such that, when a primal basic feasible
solution is obtained, it will also be optimal.
p
'L, aijxj = bi,i=l, ... ,r, (10.18)
j=l
are present, the latter may be replaced by the equivalent
system of inequalities
p
(a) ?::: aijx j ::; bi , i=l, ... , r,
J=l - ( 10.19)
(b) -f-( ~
L.J L.J a.IJ-x J-) -
i=l j=l
<- f-
L.J b-I·
i=l
(a) q + MZ 2: 0
(b) Z2:0 (10.20)
(c) Z'(q+MZ) = 0
(a) W -MZ = q
(b) W~O,Z~O (10.21)
(c) W'Z = o.
Here W'Z = E ~=1 WjZj = 0 or WjZj = 0, i=l, ... , n, is called the complementarity
condition, where the variables Wj and Zj, called a complementary pair, are said to
be complements of each other, i.e., at least one variable in each pair Wi' Zi must
equal zero.
A nonnegative solution (W, Z) to the linear system (10.21.a) is called a
feasible solution to the LCP. Furthermore, a feasible solution (W,Z) to the
LC P which also satisfies the complementarity condition W'Z = 0 is called a
complementary solution. Interestingly enough, problems (10.20), (10.21) contain
no objective function; and there is but a single structural constraint in the
variables vectors Wand Z, namely the complementarity restriction W'Z = O.
If q ~ 0, then there exists an obvious (trivial) complementary basic solution
given by W = q, Z = O. Hence the LC P has a nontrivial solution only when
Dual Simplex, Primal-Dual, and Complementary Pivot Methods 279
PRIMAL DUAL
max !(X) = C'X s.t. min g(U) = h'U s.t.
«10.5))
AX~h, X~ 0 A'U ~C, U ~ 0
(X~, U~) [ ~] = 0
(10.23)
Since b(i) equals ej or -mi for each 1 =::; i =::; n, it is evident that there exists 2n
possible complementary cones of an (n x n) matrix M. Let e(M) denote the class
of complementary cones of M. Then solving the LCP(q, M) (10.22) (or (10.22.1»)
amounts to finding a complementary cone in e(M) that contains the vector q,
i. e., we desire to find a complementary set of vectors { b(l), ..., b( n) } such that:
(1) b(i) = ei or -mi' 1 =::; i =::; nj and
(2) qfConi{b(l), ... ,b(n)}Ce(M).
- 'M = [ -~ -: l
l
To find e(M), let us form
Figure 10.1
EXAMPLE 10.5. For n=2, let
M [3 -1], -1 2
q [ -1 ].
-2
Then LC P( q, M) appears as
WI 3z1 + z2 -1
w2 + zl - 2z2 -2
wI,w 2,zl,z2 ~ 0
w1z 1 = 0, w 2z 2 = O.
If we set WI = w 2 = 0, then the preceding system becomes
3z 1 + z2 = -1
zl - 2z2 = -2
zl,z2 ~ 0
with solution zl =~, z2 = f. Hence q lies within the complementary cone
coni{ -mI' - m 2} (Figure 10.2) and the complete solution to the LCP(q, M) is
w , -- 0' Zl - (1 1)
, - 5' 5 •
282 Linear Programming
Figure 10.2
(a) W - MZ - zol = q
(b) W, Z~o, zo~O (10.24)
(c) W'Z = 0 or WjZj o
o o 1 o -m r I ~
... -m rr ... -m rn L.::.l.J qr
o o o
(10.25)
in the set of basic variables. To accomplish this we pivot on the (boxed) element
-1 in (10.25). This renders
284 Lineal' Programming
1 o -1 mIn 0 qi
o 1 -1 m2n 0 q2
o o -1
o o -1
(10.26)
where
qr = - qr; qj = qj - qr' i=!=,', i=l" .. , n,
mrj mrj' j=1, ... ,n,
mjj = mrj - mjj' i,/r, j=l, ... , n.
Jk = min{ mar
8 = mkr J~ , fi/'ir > 0,
I
i=l, ... , n} . (10.27)
A pivot operation is then performed using mkr as the pivot element. Once wk
Dual Simplex, Primal-Dual, and Complementary Pivot Methods 285
turns nonbasic, the complementary pivot rule next selects zk for entry into the
set of basic variables. Complementary pivoting continues until one of two
possible outcomes obtains, at which point the complementary pivot algorithm
terminates:
(1) the simplex exit criterion selects row r as the pivot row and Zo turns non-
basic. The resulting solution is a complementary basic solution to (10.21); or
(2) no mir > 0 in (10.27). In this instance the complementary pivot algorithm
fails to yield a complementary basic solution and ray termination occurs,
PRIMAL DUAL
max f = Xl + 3x 2 + 4x3 s.t. min g = 100uI + 40u2 s.t.
2xI + x2 + 4x3 ~ 100 2u I + u 2 > 1
Xl + 3x 2 + x3 ~ 40 ul + 3u2 > 3
xI,x2,x3~0 4u I + u 2 > 4
u I ,u2 ~ 0
we may form
X4 100 ul
x5 40 u2
W = [~:] = u3 , q =
u4
[-~] = -1
-3
, Z = [~] = xl , and
x2
u5 -4 x3
0 0 -2 -1 -4
0 0 -1 -3 -1
M = 2 1 0 0 0
1 3 0 0 0
4 1 0 0 0
0 0 0 1 0 -1 -3 0 0 0 -1 -3
0 0 0 0 1 -4 -1 0 0 0 [;JJ -4
u5 x3
1 0 0 0 -1 4 1 2 1 [1] 0 104
0 1 0 0 -1 4 1 1 3 1 0 44
0 0 1 0 -1 2 0 0 0 0 0 3
0 0 0 1 -1 3 -2 0 0 0 0 1
0 0 0 0 -1 4 1 0 0 0 1 4
Dual Simplex, Primal-Dual, and Complementary Pivot Methods 287
Here Zo has been made basic by pivoting on the (boxed) element -1. Thus the
resulting almost complementary basic solution is x 4 = 104, Xs =44, u3 = 3,
u4 = 1, Zo =4, and Us = u l =u 2 = xl = x 2 = x3 = O. Since Us turned non basic,
its complementary variable x3 will be chosen for entry into the set of basic
variables.
In this regard, pivoting on the (boxed) element 4 yields
x4 UI
1 1 1 1
4 0 0 0 -41 1 4 2 4 1 0 26
1 3 1 11
-4 1 0 0 -43 3 4 2 "4 0 0 18
0 0 1 0 -1 2 0 0 0 0 0 3
0 0 0 1 -1 lID -2 0 0 0 0 1
0 0 0 0 -1 4 1 0 0 0 1 4
1 11 77
4 0 0 -31 1
12 0 12
1
2
1
4 1 0 "3
1
-4 1 0 -1 1
4
11 1
0 "4 2 [¥J 0 0 17
4 7
0 0 1 -32 -31 0 3 0 0 0 0 3
1 1 1
0 0 0 3 -3" 1 -3"2 0 0 0 0 3
4 1 11 8
0 0 0 -3" 3 0 "3 0 0 0 1 3"
As this matrix reveals, the third almost complementary basic solution amounts
to Xs = 17, U _7 u- I and
3 - 3' 1 - 3'
U2 = xl = X 2 = O. Since u4 tumed non basic, its complementary variable x 2
becomes basic, i.e., pivoting on 141 above gives
288 Linear Programming
X5 U2
3 1 8 2 1 5 1 796
IT -11 0 -33 33 0 6" 11 0 0 33
1 4 4 1 2 68
-11 IT 0 -11 IT 0 1 IT 1 0 0 IT
2 1 4 7
0 0 1 -3 -3 0 3 0 0 0 0 3
0 1 1 1 2 0 0 1
0 0 3 -3 -3 0 0 3
0 0 0 4
-3
1
3 0
00 0 0 0 1 8
3
now nonbasic, its complementary variable tt2 is selected for entry into the set of
basic variables. Pivoting on Vabove yields
Zo
3 1 2 1 5 0 1 1
23.630
IT -IT 0 -IT 22 0 0 IT -33
1 4 2 1 3
-11 11 0 0 0 0 0 IT 0 -IT 5.464
0 1 2 5 0 0 0 0 4 1.360
0 -IT
0 -IT -IT
1 3 2
0 0 0 IT -IT 1 0 0 0 0 IT 0.818
4 1 3 0.727
0 0 0 -IT IT 0 1 0 0 0 11
Since Zo has turned non basic, we now have a complementary basic and thus
optimal solution consisting of u3 = 1.36, u1 = 0.818, tt2 = 0.727, x2 = 5.464,
x3 = 23.63, and x 4 = x5 = u4 = u 5 = Xl = o.
11 POSTOPTIMALITY ANALYSIS I
Our point of departure in this chapter involves the assumption that we have
already obtained an optimal basic feasible solution to a linear programming
problem in standard form, i.e., to a problem of the form
maxf(X) = C'X s.t.
AX = b, X~O.
We then seek to employ the information contained within the optimal simplex
matrix to gain some insight into the solution of a variety of linear programming
problems which are essentially slight modifications of the original one. Specifical-
ly, two broad classes of variations in the original problem may be identified. First,
there may exist instances in which a sensitivity analysis is appropriate, e.g., there
may occur discrete changes in any of the components of the matrices C, b, or A,
in which case the values of cj,b i , or aij' i=l, ... ,m; j=l, ... ,n-m, respectively are
altered (increased or decreased) in order to determine the extent to which the
original problem may be modified without violating the feasibility or optimality
of the original solution. Second, we may address ourselves to the problem of
adding or deleting certain variables or structural constraints, in which case this
latter class of problems will simply be 3termed the analysis of structural changes.
How may changes in CRj affect (ILl)? First, if CRj decreases in value so that
LlCRj < 0, then (11.1) is still satisfied. In fact, CRj may decrease without bound
and still not violate (11.1), i.e., this lower limit may be expressed as
Next, if CRj increases so that LlCRj > 0, then (11.1) still holds so long as CRj
increases by no more than -C j since (11.1) requires that -C j ~ Llc Rj'
j=l, ..., n-m. In this instance the upper limit to LlCRj is
(11.2.b)
Postoptimality Analysis I 291
(11.2.c)
Hence this equation provides the upper limit to which C Rj can increase without
violating primal optimality.
If LicR = 0 (so that an objective function coefficient associated with a basic
variable changes), it follows that the optimality criterion is not violated if
CBB-IR-CR+LiCBB-IR~ 0', i.e., if
m
- Cj + LyijLic Bi ~ 0, j=1, ... , n-m. (11.3)
i=1
Let us assume that cBk changes. Hence (11.3) becomes
We now consider the circumstances under which changes in cBk preserve the
sense of this inequality. First, if Ykj = 0, then (11.3.1) holds regardless of the
direction or magnitude of the change in cBk. Second, if Ykj > 0, then (11.3.1) is
satisfied if LicBk ~ 0, i.e., LicBk may increase without bound so that its upper
limit becomes
IimLicBk = + 00, Ykj > 0. (11.4.a)
Hence (11.3.1) is affected only when cBk decreases of LicBk < 0. Since (11.3.1)
implies that ClYkj ~ Lic Bk' j=I, ..., n-m, it is evident that the lower limit to
which Lic Bk can decrease without violating optimality is
(11.4.b)
Hence x Rj remains non-basic so long as its objective function coefficient does not
decrease by more than clYkj. Now, it may be the case that Ykj > ° for two or
more non-basic variables. To insure that (11.3.1) is satisfied for all such j, the
292 Linear Programming
lower limit to which Llc Bk can decrease without violating the optimality of the
current solution is
limLlcBk = mq.x{c/Ykj'Ykj > O}. (l1.4.c)
J
Finally, if Ykj < 0, (11.3.1) holds if LlcBk ~ O. Hence LlcBk may decrease
without bound so that its lower limit is
Thus the optimality criterion is affected by changes in eBk only when Llc Bk > O.
In this instance (11.3.1) may be rewritten as c/Ykj ~ LlcBk,j=I, •.. ,n-m,so
(11.5.b)
Hence x Rj maintains its non-basic status provided that the increase in e Bk does
not exceed c/Ykj. If Ykj < 0 for two or more non-basic variables, then (11.3.1)
holds for all relevant j if the upper limit to which Lle Bk can increase is specified
as
(11.5.c)
limLlcBk
(11.6)
Hence (11.6) provides the bounds within which LlcBk may decrease or increase
without affecting the optimality of the current solution. As an alternative to the
approach pursued in defining (11.4.c) and (11.5.c), we may express these limits in
terms of the new level of eBk' call it CBk' by noting that for Lle Bk = CBk - C Bk'
(11.4.c) becomes
(11.4.c.l)
(11.5.c.1 )
Hence (11.4.c.1) (11.5.c.1)} specifies the lower (upper) limit to which cBk can
decrease (increase) without violating the optimality criterion (11.3.1). In view of
this modification, (11.6) appears as
(11.6.1)
One final point is in order. If cBk changes in a fashion such that (11.6) and
(11.6.1) are satisfied, then the current basic feasible solution remains optimal but
the value of the objective function changes to f = C~B-Ib + L1cBkzBk.
EXAMPLE 11.1. We found in chapter 7 that the optimal simplex matrix
associated with the problem
maz f = 2z1 + 3z 2 + 4x3 s.t.
2z1 + z2 + 4z3 ~ 100
zl + 3x 2 + x3 ~ 40
X I ,Z2,Z3 ~ 0
appears as
23.63]
[
5
0 1 3 I 0
IT IT -IT
2 1 0 I 4 0 5.46 .
IT -IT IT
4 0 0 9 8
1 110.91
IT IT IT
A glance at the objective function row of this matrix reveals that -c I = t1'
-c2 = 191' and -c3 = 181. Hence (11.2.b) indicates that xRl = xI' xR2 = z4' and
X R3 = x5 should each maintain their non-basic status provided that their
objective function coefficients do not increase by more than L1cRl = 141'
L1cR2 = 191' and L1cR3 = 181 units respectively. Additionally, (11.2.c) may be
employed to depict the upper limits to which cRI = c I ' cR2 = c 4' and cR3 = c 5
can individually increase without violating primal optimality (Table 11.1).
294 Linear Programming
TABLE 11.1.
-
26
ZR1 = Zl CR1 = C1 = 2 -00 CR1 -C 1= 11
-00
- 9
ZR2 =Z4 CR2=C4 =0 CR2- C2 = 11
- 8
Zm =Z5 Cm=C 5 =0 -00 Cm - C3 = IT
[
o
1
1
o
-1
2
o
o 10
30 1 .
o o 4 1 160
Next, from (11.6) we see that the limits within which LlcBl = Llc3, LlcB2 = Llc 2
can vary without affecting the optimality of the current solution are
• { C1 -4/11 4 C2 -9/11 }
hmLlcBl = maz -y
- 11
= -5/ 12 = -3 /11- = -3
11 = --5' -y
4 -.- . -8/11 }{C3
= -5 ~ LlcBl ~ lzmLlcBl = mm Yl3 = -1/11 = 8 = 8;
• { C1 -4/11 C3 -8/11 }
ltmLlcB2 = maz Y21 = 2/11 = -2, Y23 = 4/11 =-2
TABLE 11.2.
C3
cBI +-y
13
= 12
C2
CB2+-y = 12
22
Suppose that CBl = c3 increases to 14. Since changing CBl affects the
objective function coefficients on the non-basic variables as well as the optimal
value of I itself, it follows that I increases by LlI = Llc BI X BI = 10
= 236.3 to I =1+ LlI = 110.91 + 236.3 = 347.21 while,
~
(23.63) by virtue of
(11.3.1), -c1 = I~' -c2= 191' and -c3 = 1~ change respectively to
-C I
IT'
+ Yl2 Llc BI = I; + I; 10 39
~
-C 2 - C2 IT'
~
A substitution of these values into the last row of the optimal simplex matrix
yields, after an additional iteration,
[';.!..
11
54
IT
0
1
0
1
0
0
3
11
I
-IT
39
IT
I
-11
4
11
-11
2
0
0
23.63
5.46
1 347.21
J -+
[ 25]
I I I 0
2 4 1 4 0
I 11 1 1 0 15 ,
2 '4 0 -4
I 7
1 350
5 2 0 2 0
296 Linear Programming
and thus a new optimal basic feasible solution consisting of x3 = 25, x5 = 15, and
f = 350.
(2) CHANGING A COMPONENT OF THE REQUIREMENTS VECTOR. If
we next change b to b + Llb, the new vector of basic variables becomes
XB = B- 1 (b+Llb)
(11. 7)
= B- l b+ B- I Llb.
If this new basic solution is primal feasible (XB ~ 0), then, since X B is
independent of C, primal optimality or dual feasibility is also preserved. For
Llb' = (Llb l , ...,Llbm ), (11.7) becomes
m
E f3. ·Llb ) .
j=1 I)
or (11.8)
m
xBi xBi+.E f3ijLlbj' i=l, ... ,m, (11.8.1)
)=1
where Pi = (f3il, .•. ,f3im ), i=l, ... ,m, denotes the ith row of B- 1 • Let us assume
that bk changes. In order for this change to insure the feasibility
of the resulting basic solution, we require, by virtue of (11.8.1), that
(11.8.2)
Thus the feasibility of the new solution is affected only when Llb k < O. Since
(11.8.2) implies that -xBdf3 ik ~ Llb k , i=l, ... ,m, it follows that the lower limit
to which Llb k can decrease without violating primal feasibility is
(11.9.b)
Postoptimality Analysis I 297
Hence x Bi remains in the set of basic variables so long as bk does not decrease by
more than - x BJ f3 ik' If f3 ik > 0 for two or more basic variables x Bi' then to
insure that (11.8.2) is satisfied for all such i, the lower limit to which Llb k can
decrease without violating the feasibility of the new primal solution is
(11.9.c)
Finally, if f3 ik < 0, (11.8.2) holds if Llb k ~ O. Hence Llb k can decrease without
bound so that its lower limit is
(11.10.a)
Thus the feasibility of the new basic solution is affected by changes in bk only
when Llb k > O. In this instance (11.8.2) may be rewritten as -xB;/f3ik 2': Llb k ,
i=l, ..., m, so that the upper limit to Llb k is
limLlb k = - xBJf3 ik , f3 ik < O. (11.10.b)
Hence x Bi maintains its basic status provided that bk does not increase by more
than - x Bd f3 ik' And if f3 ik < 0 for more than one basic variable x Bi' then
(11.8.2) holds for all relevant i if the upper limit to which Llb k can increase is
specified as
limLlb k = mint -x Bd f3 ik' f3 ik < O}.
I
(11.10.c)
(11.11)
mint -x BJ f3 ik'
I
f3 ik < O}.
Hence (11.11) provides the bounds within which Llb k may decrease or increase
without affecting the feasibility of XB . As an alternative to (11.11), we may
express the limits contained therein in terms of the new level of bk , call it bk , by
noting that since Llb k = bk - bk'
(11.11.1)
298 Linear Programming
= f(X B ) + 1=1
.ECBi(ff3ijLlbj).
3=1
and thus
(11.12)
(11.12.1)
i.e., as noted in chapter 5, Llf / Llb k represents a measure of the amount by which
the optimal value of the primal objective function changes per unit change in the
kth requirement bk • Hence the total change in f when the kth requirement
B-
1
=[ -X -X l
By utilizing the components of this inverse we may determine the limits within
which .1b1, .1b2 can vary without affecting the feasibility of the new vector of
basic variables according to
max{ -xBl
fJ l l
= -23.63
3/11
= - 86.64} = -86.64 ~ .1b1
<
-
lim.1b 1 = min{-XfJ 21B2 = -1/11
-5.46 = 60.06} 60.06;
max{
-x B2
fJ 22 = -5.46
4/11 = - 15.02 = -15.02 ~ .1b 2
}
~ lim.1b 2 = min{-fJXBl
12
= -23/.63
-1 11
= 259.93} = 259.93.
Addi tionally, we may utilize (11.11.1) to specify the limi ts wi thin which b1 , b2
can individually decrease or increase without violating the feasibility of XB
(Table 11.3).
TABLE 11.3.
= [23.63]+[
5.46
_1:1 -~1 ][10]0 =[26.36].
11 11 4.55
(Note that the components of this vector may alternatively be obtained from
(11.8.2).) Hence this new basic solution is primal feasible as well as primal
optimal. Moreover, from (11.12.2), the optimal value of 1 increases by
LlI = 1; 10 = 8.18 units.
Let us now increase the second requirement b2 by 300 units. In this
instance ..1b' = (0,300). Again employing (11.7) we obtain
[
23.63] [ 3
11 -A] r 1 r 1
0 -3. 64
5.46 + -A Ii l300J = ~14.55J
(Here too (11.8.2) may be utilized to determine the components of XB .) In
addition, from (11.12.2), 1 increases to 1+..11 = 110.91+181 300 = 329. Upon
substituting these values into the last column of the optimal simplex matrix we
obtain, using the dual simplex routine,
[~ 11
0
1
1
0
3
IT
1
-IT
1
-IT
4
IT
o
o
-3.64
1
114.55 -+
[ -5 o -11 -3 1
2 1 4 1 0
o
o 40
100 ,
1
4
11 0 0 9
IT
8
IT 1 329 4 o 8 3 0 1 300
Hence the new optimal basic feasible solution which emerges is x 2 = 100, Xs = 40,
and 1= 300.
(3) CHANGING A COMPONENT OF THE COEFFICIENT MATRIX. We
now look to the effect on the optimal solution of a change in a component of the
coefficient matrix A associated with the structural constraint system AX = b.
Since A was previously partitioned as A = [B, R], it may be the case that: some
component r ii' i=l, ..., m; j=l, ... , n-m, of a non-basic vector ri changes; or a
component bjk , i, k=l, ..., m, of a basis vector b j changes.
Let us begin by assuming that the eth component of the nonbasic vector
r~=(rlk, ... ,rek, ... ,rmk) changes to rek=rek+..1rek so that rk is replaced by
Postoptimality Analysis I 301
rk = rk + ..1r tket in R = [rl , ..., rk' ... ' r n - m ]. Hence the matrix of non-basic
vectors may now be expressed as R= [rl, ...,rk, ...,rn_nJ. With
XB = B-1b- B-1iixjz independent of ..1rtk at a basic feasible solution (since
Xjz = 0), it follows that this non-basic solution is primal feasible, while if
- C'jz + C~B-IR = - C k+ U'R ~ 0', dual feasibility or primal optimality is also
preserved. Since
Hence (11.13) is affected only when rtk decreases or ..1rek < 0. Since (11.13)
implies that ck/Ut::; ..1rek' it IS evident that the lower limit to
which ..1r ek can decrease without violating optimality is
(11.14.b)
Thus rk enters the basis (or xjzk enters the set of basic variables) only if the
decrease in rek is greater than ck/ue. If we express this lower limit in terms of
the new level of rtk' rek' then for ..1rek = rek - rek' (11.14.b) becomes
(11.14.b.l)
Next, let us assume that the lth component of the basis vector
b~ = (blk, ...,btk, ...,bmk) changes to bek = bek + ..1b ek so that b k is replaced in
the basis matrix B = [bl , ..., b k , . •• , bnJ by
302 Linear Programming
Now, for the current optimal feasible solution the inverse of the basis matrix B is
known. Hence our problem becomes one of replacing the kth column of B by bk
so as to obtain the inverse of the new basis matrix B= [bl , ..., bk' ..•, bnJ. Since
bk is expressible as a linear combination of the vectors within the current basis
matrix, i.e.,
m
bk L: Yikbi BYk,
i=I
it follows that
PI PI bk+PleLlbek Pl eLl ek
1+ f3 keLlb ek
-1~
Y k = B bk = Pk bk = Pk b k+f3 keLlb ek
-P l eLlb ek
I o
1+ PkeLlb ek
o I o
o 1
f3 me Llbek
xBm -1+f3 Llbe xBk
ke k
If 1 + f3keLlbek > 0, then, upon solving the second inequality for Llb ek ,
(11.15)
Since these inequalities must hold for all if:.k when 1 + f3 keLlb ek > 0, the lower
and upper limits to which Llb ek can decrease or increase without violating primal
feasibility may be expressed, from (l1.15.a,b) respectively, as
(11.16)
If we express these limits in terms of the new level of bek' bek' then for Llb ek
bek - bek , (11.16) becomes
304 Linear Programming
(11.16.1)
What is the effect of a change in bek upon the primal optimality (dual
feasibility) requirement ChB-IR-C~~ O'? Now the lh compo nent of
C'.TmB-1R-
Jr C'R = C'B .1. . m [Y1'· .. , Yn-m ] - c'R => 0'
is expressible as
(11.17)
If we add
(11.17.1)
(11.18)
Postoptimality Analysis I 305
Since these inequalities must hold for all j=l, ... , n-m when 1 + /3 keLlb ek > 0, the
lower and upper limits to which Llb ek can decrease or increase without violating
primal optimality may be expressed, from (I1.1S.a, b) respectively, as
(11.19)
Alternatively, we may express these limits in terms of the new level of bek ,
namely bek , since, if Llb ek = bek -b ek , (11.19) becomes
We next determine the effect of a change in the element bek upon the
optimal value of the objective function. To this end let
(11.20)
Adding
(11.20.1)
306 Linear Programming
is
5 3 1
IT 0 1 IT -IT 0 23.63
2 1 4
n 1 0 -IT IT 0 5.46
4 9 8
11 0 0 11 11
1 110.91
-A]
4
IT
'
From the objective function row of the optimal simplex matrix we find, for
instance, that CI = - ;i. Hence (11.14. b) indicates that x R1 =x 1 should
maintain its non-basic status provided that rw r 21 do not decrease by more than
Llrn = -~, Llr21 = -! respectively. In addition, (11.14.b.1) may be utilized to
depict the lower limits to which rw r 21 can individually decrease without
violating primal optimality (Table 11.4).
Table 11.4.
c1
rn =2 r 11 +u 1=914 +00
c1 1
r 21 = 1 r 21 +u2 =2 +00
Postoptimality Analysis I 307
Since the ith component of Yk is Yik = Yik + L1r eki3 ie' Y11 = 151 and Y21 = 121
are replaced by Yll = Yll + .1r ll i3 11 = l2 and Y21 = Y21 + .1r ll i321 = 272
respectively in the optimal simplex matrix. Hence an additional iteration yields
the new optimal simplex matrix
1 3 1
22 0 1 IT -IT 0 23.63
7 1 4
22
1 0 -IT IT 0 5.46 ---+
19 9 8
-22 0 0 IT IT 1 110.91
1 22 11
0 -"1 1 77 -77 0 22.85
22 2 8
1 7" 0 -"1 "1 0 17.16
19 44 132
0 7" 0 7" n 1 125.73
Next, from (11.16) we see that the limits within which the components of
the basis vectors b~ = (611'6 21 ), ~ = (6 12,6 22 ) can vary without violating
primal feasibility are:
5.46 }
(1~J23.63) -( -A)(5.46)
= 0.60;
23.63 }
(131)(5.46) -( -A
)(23.63)
6.51;
Moreover, we may employ (11.16.1) to specify the limits to which 611' 621 , 612 and
622 can individually decrease or increase without affecting the feasibility of the
current solution (Table 11.5).
Postoptimality Analysis I 309
TABLE 11.5.
Zm
622 =3 622 +{J {J
12z B2- 22 z m
=0.40 +00
We now turn to the specification of the limits within which the components
of b I • ~ can vary without affecting primal optimality. From (11.19):
1·•
310 Linear Programming
2',
TABLE 11.6.
-00
-00
+00
Since changes in the components of b1 , b2 may affect both primal feasibility and
optimality, we may combine Tables 11.5, 6 to obtain the lower and upper limits
to which b11,b21,bI2' and b 22 can individually decrease or increase without
affecting either primal feasibility or optimality (Table 11.7).
Postoptimality Analysis I 311
TABLE 11.7.
2.50 5.33
-00 1.60
-00 2
0.75 +00
5 3 1
IT 0 1 IT -IT 0 23.63
2 1 4 5.46
IT 1 0 -IT IT 0 -+
4 9 8
IT 0 0 11 11 1 110.91
5 11 1
3 0 "3 1 -3 0 86.66
1 1 1
3 1 3 0 3 0 13.33
-1 0 -3 0 1 1 40
Moreover, with
312 Linear Programming
= [: ; : J
and
[n+(-2)[ ~] [: J
it follows that y 12 -3"
_11 IS replaced by ~ 5
Y12= 3 III the previous simplex
rnat rIX
. WI'th Y22
~
Y22 =
1 Then
3' =
5 5 1
3 0 3 1 -3 0 86.66
1 1 1
3 1 3 0 3 0 13.33 -+
-1 0 -3 0 1 1 40
o -5 o 1 -2 0 20
1 3 1 o 1 0 40
2 9 o o 4 1 160
Hence the new optimal basic feasible solution consists of x3 = 40, x4 = 20, and
f = 160.
Finally, let b22 =3 decrease to!. In this instance Tables 11.6, 7 indicate
that this change violates primal optimality. Proceeding as in the previous case,
let us remove b 2 from the basis (or x 2 from the set of basic variables) by pivoting
on the element 121 (Xl is chosen to become basic) to obtain
Postoptimality Analysis I 313
5 3 1
11 0 1 IT -IT 0 23.63
2 1 4
IT 1 0 -IT IT 0 5.46 --+
4 9 8
IT 0 0 IT 11
1 110.91
5 1 -1
0 -'2 1 '2 0 10
11 1
1 2' 0 -'2 2 0 30
0 -2 0 1 0 1 100
0 0 1 ! -1 0 10 0 0 2 1 -2 0 20
1 1 2 2 1 2 0 2 0 80
1 '2 0 -'2 0 30 --+
0 -2 0 1 0 1 100 4 0 2 0 6 1 240
so that the new optimal basic feasible solution is :1:2 = 80, :1:4 = 20, and
f = 240.
314 Linear Programming
First, for aX:::; bm +1, if xn+l represents a non-negative slack variable, then
we seek a solution to a problem of the form
max!(X,x n+1 ) = C'X+xn+l s.t.
AX+xn+lO =b
aX + x n +1 = bm +1
X~ 0, x n +1 ~ O.
The simplex matrix associated with this problem may be written as
[ ~ :: ':+I: b:+],
-Cn-Cn 0 1 0
where a= (aB' an)· Here aB is a (1 xm) vector containing those components
am+1,j which correspond to the columns of n and an is a (1 x n-m) vector
whose components a m +1, j correspond to the columns of R. If this simplex
matrix is premultiplied by the inverse of the m+ 1th order basis matrix
[
1m n-1R 0 0
n-'b ]
0' an-aBB-IR 1 0 bm+1-aBB-Ib
0' CBB-IR-Cn 0 1 C'BB-Ib
Now, if x B, m+1 ~ 0, this basic solution to the enlarged problem is feasible, 2. e.,
the optimal basic feasible solution to the original problem also satisfies the new
structural constraint or aX B ~ bm+1 • Moreover, if the original basic solution was
optimal, then an examination of the last row of the preceding simplex matrix
reveals that the solution to the extended problem is also optimal (since the
optimality criterion for each is the same) with equality holding between the
optimal values of the objective functions for the original and enlarged problems.
If x B, m+l < °
(in which case aX B > bm +1) so that primal feasibility is violated,
then, since the optimality criterion is satisfied, the dual simplex method may be
employed to obtain a basic feasible solution to the modified problem. In this
regard, it is obvious that the optimal objective value for the original problem
provides us with an upper bound on the same for the enlarged problem.
Next if aX ~ bm +l' then xn+1 represents a nonnegative surplus variable. In
this circumstance let us add aX - xn+1 = bm +1 or aX + xn+1 = bm +1 to the
original problem, where a = -a and bm +1 = - bm +1 • The treatment then
proceeds exactly as above with a and bm +1 replacing a and bm +1 respectively.
Finally, if aX = bm +1' then x n+l will represent a nonnegative artificial
variable. If in the solution to the enlarged problem we find that x B, m+1 =
xn+1 = bm+1 - aBXB = 0, then it is evident that the optimal basic feasible
solution for the original problem exactly satisfies the new constraint, in which
case the original solution is also the optimal solution for the enlarged problem.
The implication of this degenerate solution to the enlarged problem is that the
added structural constraint is redundant. If x B, m+1 < 0, then the artificial
variable xn+1 may be treated as if it were a slack variable, in which case the dual
simplex method applies. And if x B, m+1 ~ 0, then the artificial variable x n +1
Postoptimality Analysis I 317
type and its corresponding slack variable is zero at the optimal basic feasible
solution, thus indicating that the constraint is binding there, then the constraint
may be deleted from the optimal simplex matrix by subtracting a non-negative
surplus variable from its left-hand side. To justify this operation let us assume
that the rth structural constraint is binding at an optimal basic feasible solution
so that a rl Xl + ... + arnx n = br' Given that this constraint is to be deleted from
the optimal simplex matrix, the introduction of the surplus variable x n +l allows
for the possibility that a,'l Xl + ... + a,'nxn > br once this constraint is deleted,
i.e., arlx l + ... + arnx n - br = x n+l ? O. A glance back at the section involving
318 Linear Programming
The primal simplex routine then yields an optimal basic feasible solution to the
modified problem. On the other hand, if the structural constraint to be deleted is
of the "~" variety and its associated surplus variable is zero at the optimal
basic feasible solution so that the constraint is binding there, then the constraint
may be deleted from the optimal simplex matrix by adding to its left-hand side a
non-negative slack variable. Again looking to the rth (binding) structural
constraint, the introduction of the slack variable xn+1 provides for the likelihood
that arl Xl + ... + arnx n < br when the constraint is deleted, i.e., xn+1 =
br - ar1x 1 - •.• - arnx n ~ O. Proceeding as above, we wish to determine a
solution to
max f(X, x n+1) = C'X + OX n +1 s.t.
[A,er]r XJ =
fn+l
b,X~O,xn+l~O.
And if the (rth) structural constraint to be deleted was initially a strict equality,
then we may simultaneously add the subtract non-negative slack and surplus
variables x n +1 ,xn +2 respectively on its left-hand side, i.e., we must now solve
max f(X, x n +1' x n +2) = C'X + OX n +1 + OX n+2 s.t.
(12.1.1)
(Note that the parametrization of f affects only primal optimality and not
primal feasibility since X B is independent of C). Let us now determine the
largest value of 0 (known as its critical value, 0c) for which (12.1.1) holds. Upon
examining this expression it is evident that the critical value of 0 is that for
which any increase in 0 beyond 0c makes at least one of the -c; values negative,
thus violating optimality.
How large of an increase 111 0 preserves optimality? First, if
-Sn + SBB- 1 R ~ 0' or -s Rj + SBY j ~ 0, then 0 can be increased without bound
while still maintaining the revised optimality criterion since, in this instance,
(12.1.1) reveals that -c;~-ci20, j=l, ... ,n-m. Next, if = -SRj+SB
Y i < 0 for some particular value of j, t~en
c·
-c; ~ 0 for
o< J , = 0c.
- SRj + SB Y j
Postoptimality Analysis II 321
Hence the revised optimality criterion is violated when () > () c for some non-basic
variable XRj' Moreover, if -SRj+SB Y j < 0 for two or more non-basic
variables, then
() c = min{
j - S Rj
Cj
+ SB Y j I-SRj+SB Yj<O}. ( 12.2)
So of () increases and the minimum in (12.2) in attained for j=k, it follows that
() c = Ck/ ( -s Rk +SB Y k) or -ck = O. With -ck = 0, the case of multiple
optimal basic feasible solutions obtains,i.e. the current basic feasible solution (call
it X~») remains optimal and the alternative optimal basic feasible solution
(denoted X~») emerges when rk is pivoted into the basis (or xRk enters the set of
basic variables). And as () increases slightly beyond () c' -ck < 0 so that X~)
becomes the unique optimal basic feasible solution.
What about the choice of the direction vector S? As indicated above, S
represents the direction in which the objective function coefficients are varied. So
while the components of S are quite arbitrary (e.g., some of the Cj values may be
increased while others are decreased), it is often the case that only a single
objective function coefficient Cj is to be changed, i.e., S = ej (or -ej)' Address-
ing ourselves to this latter case, if C* = C + (}ek and xk is the non-basic variable
xRk' then (12.1.1) reduces to -cj = -Cj 2: 0 for ji=k, while for j=k, -ck =
-ck+(}(-sRk) = -ck-(} 2: O. A comparison of this expression with (11.1)
reveals that here () == Lk Rk (generally, Lk Rk == (}s Rk)' If () increases so that
() c = - ck' or - ck = 0, then the preceding discussion dictates that the column
within the simplex matrix associated with xk is to enter the basis, with no corres-
ponding adjustment in the current value of f warranted. Next, if xk is the basic
variable xBk' (12.1.1) becomes -cj = -Cj+(}sBkYkj = -cj+(}Ykj 2: 0,
j=I, ... ,n-m. Upon comparing this expression with (11.3.1) we find that here
() == .::lcBk (in general, .::lcBk == (}sBk)' In this instance (12.2) may be rewritten as
(12.2.1)
322 Linear Programming
Figure 12.1
Postoptimality Analysis II 323
as long as B~l) ::; {} ::; B~2), where B~2) = (}~1) + Be' with Be determined from (12.2)
in conjunction with the appropriate information contained within the latest
optimal simplex matrix. Moreover, if {} increases to (}~2), the optimal hyperplane
f({}~2)) with normal C*(2) = C + {}~2)S is tangent to % along the edge from B to
Be
324 Linear Programming
max!
0
0(1) 0(2)
c c
a.
x2
x 2A
xB
2
xC
2
0 0
0(1) 0(2) 0(1) 0(2)
c c c c
b. c.
Figure 12.2
(12.3)
Hence the revised feasibility criterion is violated when <p> <Pc for some basic
variable xBi. Moreover, if Pit < 0 for two or more basic variables, then
(12.4)
Now, if <P increases and the minimum in (12.4) is attained for i=k, it follows that
<Pc = - x Bk/ Pkt or xBk =o. And as <P increases beyond <Pc' xBk < 0 so that b k
must be removed from the basis to preserve primal feasibility, with its
replacement vector determined by the dual simplex entry criterion.
Although the specification of the direction vector t is arbitrary, it is
frequently the case that only a single requirement bi is to be changed, so that
t = ei (or -eJ With respect to this particular selection of t, if b* = b + <Pek' then
Postoptimality Analysis II 327
-aIj~--------------------~~----------------~aIj
o
Figure 12.3
328 Linear Programming
obtained via the parallelogram law for vector addition) and b;I d~B' then there
exists an optimal basic feasible solution to the modified problem
max f(X) = C'X s.t.
AX = b!, X ~O,
'1'1 -
If A.
'I'
is next increased to A. -
'l'c-'I'c
",(1) - - x Bk
- fJk t ' it follows that x*Bk =0 so
that (12.5) becomes
(12.6)
where bk is to be pivoted out of the optimal basis. Moreover, once the dual
simplex entry criterion chooses the vector to replace bk in the basis, the incoming
vector enters the basis at the zero level. If ¢ then increases beyond ¢~1), the
incoming vector also appears in the basis at the zero level. In terms of Figure
12.3, if ¢ = ¢I' b: I feB so that B yields an optimal basic feasible solution to the
adjusted problem obtained by replacing b by b~. And when ¢c ¢~I),
1
0 = xi =
so that Oal + x;~ = b* (1).
In this instance b* (1) lies along an edge of e B so that
¢c cP c
the associated optimal basic feasible solution is degenerate as expected. Hence ~
may be deleted from the current basis and replaced by 3.;3, where the new basis
matrix is B* = [3.;3, a 2] and e B* is the convex polyhedral cone spanned by ~, 3.;3.
Since b*(I) also lies along an edge of eB *, 03.;3 + x2~ = b*(I) so that 3.;3 enters
cP c cP c (1)
the basis at the zero level. And if () increases a bit above () c ' to, say, ¢2'
b~2feB* proper with X;3.;3+x~~=b:2 and x;,x~>O. (Note that the
process of parametrizing b involves rotating b about the origin.)
In general, as ¢ increases without bound, we obtain a series of critical values
and a corresponding sequence of optimal basic feasible solutions. And with t fe,
b; points in the direction of t as ¢ approaches infinity so that for the final basis,
Postoptimality Analysis II 329
t itself serves as the requirements vector (see Figure 12.3). For t; e, ¢ cannot
become arbitrarily large without violating primal feasibility since, as Figure 12.4
indicates, ¢ is the largest value of ¢ which restricts b* to e (again the
parallelogram law for vector addition applies). So for if; > ¢, b!; e, i.e., once ¢
increases beyond ¢ and (12.4) determines the vector to leave the optimal basis,
the dual simplex entry criterion cannot isolate a pivot element since in this case
all elements within the pivot row of the simplex matrix are non-negative.
Further increases in ¢ subsequently violate primal feasibility.
-alj~--------------~~---------------------------+alj
Figure 12.4
criterion determining the vector to be removed from the current basis. And as T
increases a bit beyond T c' it follows that - eZ < 0 so that X~) becomes the
unique optimal basic feasible solution.
As indicated above, the choice of the direction vector V is completely
arbitrary. However, if only a single component rjk of the activity vector rk is to
change, then V = ej (or -ej). In this regard, if rZ = rk + Tee, then (12.7)
becomes - eZ = - ek + TUe ~ O. A comparison of this inequality with (11.13)
indicates that here T == Llrek' So for this choice of V, with ue ~ O,T may be
increased without bound while still preserving primal optimality. Next, if rZ =
rk - Tee' (12.7) simplifies to - eZ = - ek - TUe ~ O. In this instance (12.8)
may be rewritten as
(12.8.1)
y*k
332 Linear Programming
1 o
1*m o 1
o
o 1
If 1 + T{Jk V> 0, then, upon solving the second inequality for T and remembering
that T must be strictly positive,
(12.9)
Since (12.9) must hold for all if:. k when 1 + T{Jk V> 0, it follows that the upper
limit or critical value to which T can increase without violating primal feasibility
is
Postoptimality Analysis II 333
(12.10)
(12.11)
- C Rj ~ 0, j=I, ... , n-m.
If 1 + TfJk V> 0, and again remembering that T must be strictly positive, we may
solve (12.11.1) for T as
(12.12)
Since (12.12) is required to hold for all j=I, ... , n-m when 1 + TfJk V> 0, we may
write the critical value to which T can increase while still preserving primal
optimality as
T"
c (12.13)
334 Linear Programming
As we have just seen, the parametrization of a basis vector may affect both
the feasibility and optimality of the current solution. This being the case, the
critical value of T which preserves both primal feasibility and optimality
simultaneously is simply
Tc = . {'
mzn T c' T If}
c • (12.14)
Finally, to ascertain the effect on the optimal value of f of parametrizing
b k , let us find
(12.15)
If the term
TCB*kPk V
cB*kxBk + 1 + TP k V xBk
(12.15.1)
are respectively of order (n+m x 1), (n+m x 1), and (m X n+m). If we replace C
[-c]
by
-*
C = C- + AS = [-C]0 + A [-10] -AI '
where A is a non-negative scalar parameter and S is an (n+m xl) vector which
determines the direction of change in the coefficients cj, j=1, ... , n - m, then we
ultimately seek to solve the extended artificial problem
[
AIm
C' AI' 1
0
o ].
b ( 12.16)
If we multiply the first m rows of this matrix by - A and add their sum to the
last row of (12.16), we obtain
o
(12.16.1)
1
Postoptimality Analysis II 337
Since an (m+l x m+l) identity matrix appears in this latter simplex matrix, the
m+l basic variables are the m artificial variables and f. With A = 0, X = 0, it
follows that Xa = b, °
f = represents an initial optimal basic feasible solutions to
the extended artificial problem since C f; O. The motivation underlying the
primal-dual method then is to increase A parametrically above its current zero
level (i.e., optimality is preserved from one basic feasible solution to the next) so
that for each successive iteration an artificial vector is replaced by a legitimate
one in the optimal basis. And as the parametrization process increases A through
a succession of critical values, the sequence of optimal basic feasible solutions to
the extended artificial problem converges to an optimal basic feasible solution to
the original problem.
In actual practice, the implementation of the primal-dual method mirrors
the procedure employed above in parametrizing the objective function. To see
this let us partition C* as
-A~'b]
[ B-'R 1m 0 (12.16.2)
-CR+AS~B-1R 0' 1
Y2 Yn
l-~l'b}
1m 0
[ Y.
-CR+AS~Y1 -cR2+AS~Y2 -cRn +AS~Yn 0' 1
where a typical term taken from the first n of those appearing within the
last row of this matrix is
(12.17)
338 Linear Programming
(12.18)
1 203 1 o o 15
1 2 o3 1 0
o 15] o 1 120 1 o 10
[ o1 120 1 o 10 - - 1 1 120 o 1 0
1 1 1 2 ,\ ,\ 1 0
-,\ -3'\ -,\ -5'\ 0 o o -25'\
Postoptimality Analysis II 339
1 _
dl) _
I\c - 3 - mJn. {-- 1l' - 1 - 1 - 2}
- 3' - 1 ' - 5
so that column two represents the pivot column. Upon performing a pivot
operation we obtain
1 3 15
2 1 0 2 0 0 2"
1 1 5
-2 0 1 2 1 0 2
1 1 15
2" 0 1 2" 0 1 -2
1A
2 o -A -p 0 0 -~A
where the column associated with the artificial variable x5 has been deleted since
x5 has turned non-basic. In this instance the optimal basic feasible solution to
the extended artificial problem is x2 = ~5, x6 =~, and h = - 1; - ~A. If we
increase A a bit further we may again employ (12.18) to determine
Since a tie for the minimum occurs, let us arbitrarily select column three of the
preceding simplex matrix as the pivot column. Upon pivoting we have
o
: ':],
3
1 2
o 1 21
o o o 1 -10
340 Linear Programming
where this time the column associated with the artificial variable %6 has been
deleted along with the bottom ">' l'OW" since the latter contains only zero
elements. Here %2 = 125, %3 =~, and h = - f = -10 or f = 10 represents an
optimal basic feasible solution to the original problem. Moreover, the optimal
simplex matrix indicates that there exists multiple optimal basic feasible
solutions to the original problem, as the reader may easily verify.
13 INTERIOR POINT METHODS
341
342 Linear Programming
Based upon these considerations, it is evident that the problem is feasible, boun-
ded, and thus has an optimum. Moreover, the dual of (13.1.a) can be written
, -
max em +1 U s.t.
[A', I] ij ~ C
ij unrestricted.
If we let ij' = (U', z), where U € R m and Z€ R, then the preceding problem
appears as
max z s.t.
A'U + z I ~ C (13.1.b)
U, z unrestricted.
This dual is also feasible. That is, for any U € R m , one can choose
z= min(C-A'U)j so that the point (U, z) is feasible in (13.1.b).
3
A glance at the constraints in (13.1.a) reveals that the feasible region % is
formed as the intersection of the (n-m )-dimensional linear subspace
:I = {X I AX = 0, X€R n } and the (n-l)-dimensional unit simplex u=
{Xll'X=I, X~O, X€R n }, i.e., the polytope %=:lnu. Furthermore, the
m+l structural constraints in (13.1.a) are taken to be linearly independent,
Xo € %, and C'X ~ 0 for each X € %. Hence we seek to
the largest sphere with center Xo and radius r that is contained in (1. Under this
restriction, the new feasible region (corresponding to the intersection of the
subspace 1 and a sphere centered in it) is a lower-dimensional sphere B(Xo,r) of
the same radius inside :1', i.e., B(Xo, 1') = :I' n B(Xo, r), where AXo = O. If C p
denotes the orthogonal projection of C onto 1, then we ultimately desire to
To solve this problem, we need only start at Xo and take a step of length r in the
direction of steepest descent -Cp ' thereby reaching a point Z on the surface of
B(Xo, r). The point Z so obtained minimizes the objective in (13.1.2). If
B(Xo, r) isn't much smaller than %, then C~Z should give a good approximation
To determine the role of the function (, let us assume that the current solution
point is X k with C'X k > O. To obtain the next point, apply the projective
transformation T(X) of simplex (1 that maps the input point X k to the center
Xo, i.e., X k is replaced by Xo under this centering transformation. (Each
iteration always starts at the center of (1 since the improvement in the objective
value obtained by moving from the center of the polytope in the direction of
steepest descent is typically much greater than the improvement resulting by
moving in the same direction from a point near the boundary of the polytope.)
The feasible region % of the new problem is formed, as was %, by intersecting the
344 Linear Programming
in true space to keep track of the progress of the objective function towards
optimality. (This potential function is a surrogate for the original linear
objective function since it tends to be much better behaved under the projective
transformation.) An improvement 6 in the potential function is expected at each
step of the algorithm, i.e., !(Xk+l) ::; !(X k ) - 6. If the expected improvement in
f(X) does not materialize, then we terminate the process and conclude that the
minimum value of the objective function is strictly positive. Hence the original
problem does not possess a finite optimum, i.e., the original problem is either
infeasible or unbounded.
STEP 3. check for optimality.
This involves going from the current point in true space to the nearest extreme
point in (1 without increasing the value of the objective function and testing the
extreme point for optimality.
Let us now look to the particulars of Karmarkar's algorithm. Specifically,
to examine the preceding steps in detail, we need to further scrutinize: the
Interior Point Methods 345
In matrix terms, if
-1
xk1 0 0
-1
0 xk2 0
Ck
-1
0 0 xkn
346 Linear Programming
c-k l o
o 0 ... xkn
Under this transformation any point X€ 0" is transformed into Y € 0" since I'Y =
I'T(X) = 1, Y ~ O. Thus the current point X k is transformed into Yo = Xo =
(~)1.
Since T is one-to-one and onto, it has a unique inverse given by
(13.4)
or
(13.4.1)
I prom (13.3.2), X = (Dk Y)(I'D~ly). Since I'X = I, the preceding expression for X
becomes 1 = (I'D kY)(I'Dk" I X) or I'Dk" X = 1/I'DkY. Hence
X = (DkY)(I'Dk-:-IX) = Dk Y
l'DkY'
Interior Point Methods 347
Yl
a. b.
Projective Transformation of the
Feasible Region: Xk f {X I AX=O, l'X=1, X ~ O}
is transformed under T to
Figure 13.1
348 Linear Programming
. {C'D IADkY -
mm l'D kkY
Y - 0, '
1Y- > o} ,
- 1, Y = (13.5 )
(13.6)
(13.7)
Given that Y k+I > 0 (i t lies in the interior of B(Y0' ar»), it follows that Xk+I > O.
Figure 13.2
2See Appendix C for details regarding the derivation of this projection vector.
350 Linear Programming
I(X) = t In(~~)
3=1 3
= nln (C'X) - t In(zj)'
3=1
(13.2.1)
g(Y)
(13.9)
_ n n
= nln(C'Y)- L In(Yj)- L In(zkj)'
j=1 j=1
Direct substitution easily establishes that I(X) = 9 (T(X»), i. e., I measures the
same progress towards optimality in true space that 9 measures in transformed
space.
In sum, Karmarkar's algorithm is a projected gradient method designed to
minimize the potential function I, where each iteration is performed in
transformed space and the transformation moves the current point X k f u to the
center of the simplex while keeping the form of I invariant. Under repeated
projective transformations, each followed by optimization over a sphere inscribed
within the feasible region, the algorithm generates a sequence of interior points
converging to the optimal solution.
Interior Point Methods 351
problem, is the number of binary bits required to record all of the data of the
problem. Given integer data matrices A and C, the length of input can be
expressed as
m n
L = E E rlog( I aij I + 1)l + 1,
i=O j=1
where rx 1denotes the smallest integer? x and aOj == Cj (Goldfarb, Todd, (1989),
p. 142).
In view of the preceding discussion, Karmarkar's algorithm generates a
sequence of strictly feasible solutions, starting from Xo = (~)1, that satisfy, for
a = ~ (a value that seems to work well), g(Yk +1) - g(Yo):::; So when -l.3
l
a ~~, g, and thus I, falls by about 8 ~ after every iteration. Hence over k
iterations, I{X k +1) - I(X k ):::; -~. From (13.2.1),
Using this expression it can be shown (Bazaraa, et al., op. cit.) that
C'Xk]
nln [ - - < --k or
C'Xo - 5
Hence Karmarkar's algorithm produces a solution with objective value less than
2-£ within O{nL) iterations, and with an overall effort (in terms of arithmetic
operations) of polynomial complexity O(n3 .5 L) in the worst case (Karmarkar,
(1984)).
-2
g(Yk +1) - g(Yo):::; - a+ a_ 2 = -6,
2( I-a)
where a = na/(n-l), O<a<1 (Bazaraa, et al. (1990), pp. 394-398). A simplified version of
this argument sets 6 = a - a 2/(I-a), 0<a<I/2.
354 Linear Programming
Xk+I·
STEP 2. Check for infeasibility.
If C'XHI = 0, stop; if !(Xk+I) > !(X k ) - 8, conclude the optimal
cost value is positive so that the problem has no feasible solution.
STEP 3. Check for optimality.
Find a vertex X of cost no greater that C'Xk+I. Then take
C'X = O.
More specifically, for problem (13.1.a) with A, C integer matrices and
p(A) = m, let Xo = (A)l be feasible and let the optimal objective value be zero.
Execute:
STEP O. Initialization.
Choose Xo = (A)l, r = 1/ In(n-l) , (l = (n-l)/3n and fix the
tolerance L.
Set k = O.
STEP 1. Stopping.
If C'X k < 2- L , stop. X k may be rounded to an optimal solution.
Otherwise proceed to
Interior Point Methods 355
STEP 2. Projection.
STEP 5. Advance k to k + 1.
Return to step 1.
In step I immediately above it was indicated that if stopping is in order,
then X k may be rounded to an optimal solution. If n linearly independent
structural constraints are binding at X k , then clearly X k constitutes an optimal
basic feasible solution to the linear program. Otherwise, there exists a feasible
direction d f. 0, IIdll = 1, satisfying 1'X =I and the binding constraints within
AX = O. If C'd < 0, we use the algorithm to move along the direction d (or
along - d if C'd> 0) until we reach some constraint boundary. Hence at least
one additional linearly independent structural constraint is binding at the new
solution point, where the new objective value is no greater than C'X k • This
purification process is continued until a basic feasible solution X to (13.1.a)
emerges with C'X < 2- L . Thus X is optimal with C'X = o.
minC'X s.t.
(13.10)
AX=b, X~O,
I
,-X+x n +1 = 1
( 13.10.2)
X ~ 0, xn +1 2: O.
Subtracting bI'X + bX n +1 = b from AX = b leaves us with the problem
min C'X s.t.
(A - bI')X - bX n +1 = 0
(13.10.3)
homogeneous equations sum to zero and let the coefficient on xn +2 within the
final constraint equation be one. Hence (13.10.3) becomes
A'U:::;C
(13.11)
C'X- b'U o
X~O, U ~O,
b = R-lb, C = R-lC;
. -,- ,- - - - - -,-
andsubtractmgb(1 Xl+1 U l +X n +1) = b from AlX l = band C(I Xl+1 U l +x n +1)
,- -
(Al-bl')Xl - bl'fi l - bX n +l = 0
- CI'X I + (A2 -CI')fi l - CX n +l o
(C', O')X l - (b', O')fil = 0 (13.11.2)
,- ,- -
I Xl + I Ul + x n +1 = 1
Xl' fi l ~ 0; Xn+1 ~ O.
minx n +2 s.t.
(AC bl')X1 - bl'U1 - bX n +1 -[(Al -2bl')I- bfn+2 = 0
Here (13.11.3) is of the requisite form (13.1) and also satisfies assumptions (a),
(b) above. Solution by Karmarkar's algorithm then yields an optimal pair of
primal-dual solutions( provided they exist).
converge (from below) to the common optimal primal and dual solutions. (Note
that the Todd and Burrell extension of Karmarkar's algorithm provides us with
an optimal dual solution - a feature absent from Karmarkar's original
formulation. )
To see how the Todd-Burrell method works let us first drop the assumption
that the optimal objective value for (13.1.a) is zero and rewrite its dual (13.1.b))
as
max Z s.t.
(13.12)
A'U +zl ~ C.
Let the optimal solution for the primal objective (13.1.a) be z* (a part of the
optimal solution of (13.12)). Since z* is unknown, we may use lower bounds zk
on z*. To this end let us replace C by C(zk) = C-zkl at the kth iteration. Todd
and Burrell (1986) then demonstrate that Karmarkar's algorithm can be modified
to generate sequences {Xd, {( Uk' zk) } satisfying:
(a) Xke{X I AX = 0, (ft)l'X = 1, X> OJ,
(b) Uk = (ADlA')-lADlCeRm , (13.13)
(c) zk = min(C-A'Uk)j
3
such that
(d) f(Xo; C(zk)) - f(X k; C(Zk)) ~ In for all k.
Here Uk in (l3.13.b) results as the solution of the system of normal equations
(ADZA')U = AD~C for the weighted least squares problem nunll Dk(A'U-C) IF
(Appendix C). (For k = 0 choose Xo = (ft)l, Uti = (AA,)-l AC, and the corres-
ponding zOo Then (13.13.a-d) hold trivially.)
Based upon these considerations we now state the Todd-Burrell
13.3. ALGORITHM.
(1) At iteration k we have X k , Uk' Zk. Compute, for Ak = ADk ,
W = P AkDkC and V = P AkXk'
where
P Ak = In - Ak(AkA~)-l A k·
is the projection onto the null-space of A k .
Interior Point Methods 361
(2) If
min(W-zkV)j::; 0
J
(we have not improved our previous lower bound zk on z*),
then set Uk+I = Uk' Zk+l = zk' Otherwise find zk+I > zk with
mjn[Dk(C(Zk+l) - A'Uk+ 1 )] = mjn(W-zk+I V)j = 0
(we apply a minimum ratio test to obtain zk+I) and set
Uk+1 = (A~)tXkC(Zk+l) = (AkA~) -lAkDkC(Zk+I)'
(3) Compute, for P = In -ll'jn (the matrix for a projection onto
{Y Il'Y=O} € R n ),
dk = -P(W-zk+l V), d k = Dkdk,
and
(4) Set
rather than to Karmarkar's standard form (l3.1.a) and which do not impose any
a priori restriction on the optimal value of the objective function have been
introduced by Barnes (1986), Anstreicher (1986), deGhellinck and Vial (1986),
Gay (1987), Ye and Kojima (1987), Todd (1988a), and Gonzaga (1989a). Such
362 Linear Programming
1, X ~ 0, 1] ~ 0
or
~,~
minC X s.t.
-- ,- -
AX = 0, d X = 1, X ~ 0,
(13.15.1)
where
(K,-b, b-Kl)m 0
(w'l'O{~] 1 (13.15.2)
(W,O,I)m ~0
m~o.
364 Linear Programming
The procedure for updating lower bounds on the primal objective value z* also
renders dual feasible solutions and his variant of Karmarkar's projective
algorithm generates a sequence of strictly positive points satisfying all constraints
save T = O. Starting from 1, if (13.15.2) has a nonempty bounded set of optimal
solutions,4 the method approaches feasibility and optimality simultaneously.
Once a lower bound is found, the next iteration always begins at the initial
solution Xo = 1. Moreover, the algorithm either detects an infeasibility in a
finite number of iterations or produces a sequence of lower bounds for z* which
diverges to - 00.
and given that a strictly positive solution satisfying all but one constraint (the
exception is e'X = 0) is known, Todd develops improved search directions by
solving a two-constraint linear program (essentially a relaxation of a scaled
version of (13.15.3)), the optimum value of which, if finite, serves to provide a
lower bound on the objective value z* and signals the existence of good search
directions. These modified directions are generated by a norm-minimizing
subproblem, where the solution of the relaxed problem provides a feasible
solution of the direction-finding subproblem. The solution of this subproblem is
a search direction that assures progress towards feasibility, optimality, and, if
possible, monotonicity. In Todd's approach, when a lower bound is found, the
next iterate is derived from the current one and not from Xo = 1 and Zo = zk as
in Anstreicher's algorithm.
T:X --+
~YI.nJ
Y = Yn:+I,
Yn +r
where
(n+r)XO IX
r+ l'X01X
y. n+r
, l' J. = n+ 1, ... , n+r,
3 r+lXo- X
Interior Point Methods 367
Since l'y = n+l', %is contained in the (n+I')-simplex (J= {YERn+rl l'y=
n+r, Y ~ a}. In particular, T(Xo) = 1 (the center of (J).
If we write the primal objective function and structural constraint system as
C'X - z 2:: 0 (where z = z* is the minimal objective value for the primal problem)
and AX - b = 0 respectively, then under T above, the primal problem
corresponds to the program
min C(z)'Y s.t.
YE% = {YER n +r I AY = 0, l'y = n+l', Y ~ O},
where
,- z z
~,
C(z) = (CX o, -1', ... ,-1')'
A = (AXo,
- b
- 1""" b)
-1' .
Xo(C-A'U(z))
p(z)
(b'U(z) - z)/r C'Xu - z
n+r 1.
(b'U(z) - z)/r
This primal projective algorithm can start from any interior point Xu and a
strictly lower bound Zo < z* and its performance IS such that, if
4;(Xo' So) :::; O( Vii L), then it terminates in O( Vii L) iterations, with each
iteration requiring 0(n3) arithmetic operations.
Given these primal and dual structures, we first consider what is called the
primal affine scaling algorithm. (Arbel (1993), Asic, et al. (1990), Barnes (1986),
Barnes, et al. (1988), Vanderbei, et al. (1986), and Vanderbei and Lagarias
(1990)). This variant of Karmarkar's algorithm: (1) is formulated within the
positive orthant rather than within the unit simplex; (2) assumes both primal
and dual nonelegeneracy;5 (3) assumes that (13.14) is bounded and feasible; (4)
employs a recentereel projected graelient search for the optimum; and (5) assumes
the existence of an interior feasible point (X k ), e.g., a point X k > 0 which
satisfies AX = h.
As we shall soon see, the primal affine scaling algorithm starts with an
interior feasible point (say Xo) in the original or true space, centers it using a scal-
ing operation, takes a step from the centereel point Yo in the direction of steepest
descent in the scaled space, and obtains a new point (call it Y 1 ) which is then
transformed back to a point Xl in the original space via a rescaling operation.
To this end let X k be an interior feasible point for (13.14). If Dk represents
an nth order diagonal matrix containing the components of X k, then these
components are scaled under the affine transformation T: X ---" Y, where
Y = T(X) = Dk"lX.
(Note that T- 1 : Y ---"X yields X = DkY.) Clearly Y k = Dk"lXk = 1. Under
this change of units the seal eel vector Y k is placed equidistant from the walls of
the polytope AX = b, X ~ O. (Note that Dk" 1 exists since X k > 0.) Hence the
scaled linear program appears as
min e'y s.t.
(13.18)
AY = b, Y~O,
where
e = DkC, A = ADk.
Under assumption (2) above, A has full row rank for every feasible X.
In order to obtain a steepest descent direction vector dk for the scaled
problem (13.18), let us first determine the orthogonal projection of e onto the
5The seminal work by Dikin (1967) which first explored an affine scaling procedure
assumed only primal nondegenracy.
370 Linear Programming
null-space of A or
Cp = P,.C-- = [In - A'(AA,)-1 A]O
DI.IC - A'(AD%A,)-1 AD%C], 6 (13.19)
where the inverse of AA' exists since A has full row rank. If we let
(13.19.1)
(13.21)
i.e., the direction opposite to that of the projected gradient C p , where the latter
is the projection of the scaled gradient 0 onto the null-space of the scaled
coefficient matrix A. If dk ~ 0, then Uk is dual feasible so that h'U k yields a
valid lowel' bound on the primal objective value for the transformed problem.
Given dk in scaled space, its counterpart in true or unscaled space is the
steepest descent direction
(13.22)
( 13.23)
where 0 < G:k € R is the steplength. To ensure that X k +1 ~ 0, G:k must be selected
so t hat Xjk+1 = Xj+G:k
k d jk ~ 0,J=
. 1, ... ,n, or
At this point two comments concerning the steepest descent direction d k are
= AXk + rGkAdk = b or
in order. First, d k is in the null space of A since AXk+1
Adk = O. Second, d k indeed takes us in a descent direction since C'd k = C'Dkd k
- C'PrC = - C'P~C = -P>rCII2 ~ O.
What about the determination of the dual variables Uk given by (13.20)?
. It can be shown that they are the solution of the normal equations
(AD~A')Uk = AD~C
for the weighted or scaled least squares problem
Otherwise, proceed to
STEP 6. Advance k to k + 1.
Return to step 1.
for the affine scaling algorithm we choose the steepest descent direction
d = -D2r.
5. Both algorithms move from X to X= X + (-&) d, where:
(i) for the simplex algorithm l' = 1, a = mqxt
{sdXj,Xj > O}, and X is
a new feasible vertex; and;
(ii) for the affine scaling algorithm, 0 < r < 1, a = mqx{sdxj}, and
z
X is a new feasible interior point.
An important mode of implementation of the primal affine scaling
technique is to apply it to the dual of (13.14) (see (13.17)) or to
where S is an (n xl) vector of dual slack variables (the reduced cost vector) and
A is of full row rank m. The resulting computational routine has become known
as the dual affine scaling algoritlLm. (See, for instance, Arbel (1993), Marsten, et
al. (1989), and Monma and Morton (1987).)
Let D, S represent an initial feasible pair of solution vectors to (13.17.1),
i.e., S 2:: 0, A'D + S = C. For S> 0 we may apply an affine scaling transforma-
tion to Sk so as to obtain tk = Dk1S k , where Dk = diag(sl' ... ' sn). Hence
(13.17.1) becomes
maxb/U k s.t.
(13.17.2)
Dkl A/U k + tk = Dk1C, Uk unrestricted, tk 2:: O.
376 Linear Programming
Clearly U, t are feasible for this program given that U, S are feasible in (13.17.1).
If we multiply both sides of the constraint equality in (13.17.2)
by AD k l , then we may solve for
(13.25)
d~ = - (ADk2A')-lADkld~. (13.28)
Interior Point Methods 377
Although (13.28) is valid for any direction vector d~, let us use the steepest
descent direction dt = -C p (( 13.26)) so that the preceding expression becomes
(13.29)
d tk -
-
_ D-1A'd
k
u
k' (13.30)
Applying the reverse affine transformation to dt yields a direction vector for the
original slack variables
d~ = DkdL = - A'df. (13.31)
Hence from (13.29), (13.31) we have a feasible direction vector d k
Our final set of iterates can thus be written as
Uk+ 1 = Uk + Q' kdf, Uk unrestricted
Sk+l = Sk + Q'kd~, Sk ~ 0, k=O, 1, ....
To preserve Sk ~ 0, let us choose Q'k in a fashion such that s~+l =
sZ + Q'kdkj 2 0, j=1, ... , n, z.e., according to the ratio test
( 13.32)
Otherwise proceed to
STEP 5. Advance k to k + 1.
Return to step 1.
The preceding dual affine scaling algorithm has been extended by Marsten,
et al. (1989) to the case where the variables are free as well as subject to simple
upper bound constraints. In addition, these authors provide a discussion on ways
of reducing problem size and on the effects of scaling on the performance of the
algorithm.
We assumed at the outset of our discussion of the primal affine scaling
algorithm that both primal and dual nondegeneracy must hold. However, new
convergence results for affine scaling offered by Tseng and Luo (1992) and
Tsuchiya (1990) do not require any nondegeneracy assumption. Specifically, it is
demonstrated that affine scaling methods for linear programs are globally conver-
gent without either primal or dual nondegeneracy assumptions if some restric-
tions are imposed on stepsize, e.g., Tseng and Luo assume a very small stepsize
of order 2- 0 (£) while Tsuchiya requires that the stepsize be about one-
eighth of the maximum allowable distance.
logarithmic barrier family of subproblems. Here the central path amounts to the
classical barrier path under the restriction of primal-dual complementarity (Arbel
(1993), Gill, et al. (1986), McShane, et al. (1989), Megiddo (1986, 1989b),
Kojima, et al. (1989b), and Monteiro and Adler (1987)).
Our starting point is the set of primal and dual problems given by (13.14)
and (13.17.1) respectively, where, as before, it is assumed that A has full row
rank m. We may reformulate these problems by replacing the nonnegativity
conditions within each by an appropriate barrier term so as to obtain:
Primal Barrier Problem
min C'X - J.L E ;=11n(x j) s.t.
(13.33)
AX= b, J.L >0.
where J.L(usually small and positive) is the barrier parameter. Here the objectives
in (13.33), (13.34) depict logarithmic barrier functions while the barrier term, say
E ;=l ln(x j)' keeps the solution centered within the feasible polytope and away
from the boundary of the same, where a singularity occurs when x j = 0,
j=l, ... ,n, i.e., as some :1:;--+0, In (:l:j)-oo so that an infinite penalty is imposed
for departing from the central path of interior solutions. At each iteration of the
path-following algorithm (13.33), (13.34) represent individual subproblems that
must be solved and where an updated J.L is specified for each new subproblem.
For a given J.L and for feasible interior vectors X > 0, U, and
reduced costs S > 0, the Lagrangians for (13.33), (13.34) are respectively
(13.35)
(13.36)
(Note that X Xl, S = Sl and that X-I and S-I exist for interior X and S
respectively. ) Since the objective function in (13.33)(13.34)) is
convex (concave), subproblem (13.33)((13.34)) has a unique global minimum
(maximum) which is completely determined by (13.37)( (13.38)).
Given the same j.t in both (13.37) and (13.38), a substitution of C from
(l3.38.a) into (13.37.a) yields XSI = j.tl or (13.38.c). In this regard, the system
of equations characterizing the optimality for the primal-dual pair of problems
with the same j.t is
Then the central path r(J.L) is defined as the set of vectors X(J.L), U(J.L), and S(J.L)
satisfying (13.39) or
(13.40)
As J.L -7 0, r leads to a pair of optimal solutions X*, (U*, S*) to the primal and
dual problems respectively which satisfy, in the limit, the complementary
slackness conditions xjsj = 0, j=1, ... , n. Thus optimal solutions to the primal
and dual problems can be approximated by tracing the trajectory r(J.L) until the
parameter J.L becomes sufficiently small.
The following interior-point primal-dual algorithm traces out r(J.L) on its
route to optimality and thus constitutes a path-following routine. Furthermore, if
W(J.L) € r(J.L), then the gap between the primal objective value at X(J.L) € :f(J.L) and
the dual objective value at (U(J.L), S(J.L)) € ~(J.L) is
the (projected) Newton direction of (13.39) at (X, U,S).7 That is, for a given J.L,
we seek to determine a set of step directions (corrections to the current
estimates) d X , d U , and dS which, for small movements along them, preserve
feasibility while reducing the errors in (13.39.a). The resulting directions will
yield a new solution point which satisfies (13.39).
From (13.42), with V(J.L) = J.Ll- XSl, we obtain
[!o ~ !][:~] [V~)j !~~ +Xds V(J.L)
= or o (13.43)
A' In dS 0 A'dU + d S O.
Since the solution to (13.43) depends linearly upon J.L, we may express the same as
T~t ].
In addition, let (X k , Uk' Sk) be a given point. By Taylor's expansion,
o. (13.42)
384 Linear Programming
To rationalize the role of D, let us note that we may view X as the rescaling
matrix for primal space while 8-1 has the same function in dual space. For the
combined primal-dual algorithm, D is the common rescaling matrix (the
geometric mean of X and 8-1) that is applied simultaneously to the primal and
dual spaces (Kojima, et al. (1989)). In addition, let t(J.L) = (X8)1/21_ J.L(X8)1/2.
Finally, let P = DA'(AD2A,)-IAD€R n be the orthogonal projection matrix onto
the linear subspace .Ab = {YIDA'U = Y} while In - P depicts the projection
matrix operator orthogonal to.Ab. Then the projected Newton step directions
can be expressed as
dX(J.L) D(In-P) t(J.L),
dU(J.L) - (AD2 A,)-1 ADt(J.L) , (13.45)
dS(J.L) D- 1 Pt(J.L).
Given this set of direction vectors, the new iterates can be determined, for a
given p, as
where dXj,ds j are the /h components of the n-vectors dX,d S respectively. And
if we again employ an argument similar to that underlying (13.23.1), then we
may form the modified X, S iterates as
P X
X = X + ro: d ,0 < r < 1,
~
D S
S = S + ro: d , 0 < r < 1.
~
Interior Point Methods 385
- = dzag
Xk k k) ,
. (x1""'Xn
S-l = diag( 1/ st, ... , 1/ s~)
so that
STEP 2. Evaluate the barrier parameter JJ and the vector V(JJ). Let
C'X k - b'U k
Jl = n
STEP 3. Find the direction vectors for the primal-dual set of variables.
a. The direction vector df is the solution to the system of
normal equations
(AD~A') df = - AS- 1 V(Jl)
for the weighted least squares problem
Otherwise proceed to
STEP 6. Advance k to k + 1.
Return to Step 1.
A study which offers a comprehensive implementation of this primal-dual
algorithm has been provided by Lustig, Marsten, and Shanno (1991). Their
approach allows for the easy handling of simple bounds on the primal variables
and incorporates free variables into the calculations. These authors discuss in
detail a variety of computational issues (e.g., the role of barrier parameter, effects
of preprocessing, scaling, removing variables which appear to be approaching zero
as their optimal value, and reducing infeasibility by altering slack variables
whenever possible) and provides an extensive set of numerical results for a variety
of test problems.
At step 0 of the above algorithm we must find an (X, U, S) € 'W so that the
algorithm can be initialized. To this end let (Xo, Uo, So) be an initial point
satisfying Xo > 0 and So> O. In addition, let x n +1 ,x n +2 ~ 0 represent primal
Interior Point Methods 387
artificial variables while Um+I' Sn+I' Sn+2 ~ 0 are to serve as dual artificial
variables. Then corresponding to the primal and dual problems (13.14), (13.17.1)
respectively let us form the following artificial primal and dual programs
(Kojima, et al. (1989b); McShane, et al. (1989)):
AX + (b-AXo)xn+l b
(A'Uo+So-C)'X (13.48)
A'U + (A'Uo+So-C)um+I + S C
(b-AXo)'U + sn+I (13.49)
U m+1 + sn+2 0
U,S ~ 0; u m+I,sn+I,sn+2 ~ O.
(here X = Xo, U = Uo), then Xo' x~+I' and X~+2 along with Uo' u~+I' So' s~+I
and s~+2 are feasible solutions to (13.48), (13.49) respectively, where
X~+l 1
x~+2 bm +1 - (A'Uo+So-C)'Xo,
u~+I = -1,
s~+I cn+I - (b-AXo)'Uo,
s~+2 1.
The preceding algorithm can then be applied to the artificial problems (13.48),
(13.49) using these initial feasible solutions.
388 Linear Programming
Let X* and (U*, S*) represent optimal solutions to the original primal and
dual problems (13.14), (13.17.1) respectively. The following theorem provides us
with a sufficient condition on the values chosen for bm +1 , cn +1 in order for the
algorithm applied to (13.48), (13.49) to render approximate solutions to (13.14),
(13.17.1). Specifically,
13.8. THEOREM [Kojima, et al. (1989b)]. If (13.50.a, b) are satisfied and,
in addition,
bm +1 > (A'Uo+So-C)'X*,
c n +1 > (b-AXoYU*,
then
(i) a feasible solution (X, xn +1 ,xn +2) to (13.48) is minimal if and
only if X is a minimal solution to (13.14) with xn +1 = OJ
(ii) a feasible solution (U,u m+1 ,s,Sn+1,Sn+2) to (13.49) is maximal
if and only if (U,S) is a maximal solution to (13.17.1) with
um +1 = O.
In practice, McShane, et al. (1989) choose
c n +1 = cn2maxlCjl,
bm +1 = bn2maxlbd,
where c, b = 3 or 30. Both can be shown to satisfy the conditions for equivalence
of the original and artificial primal and dual problems.
We next turn to an additional path-following interior-point algorithm,
namely the large step predictor-corrector algorithm of Mizuno, et al. (1993b) (see
also Sonnevend, Stoer, and Zhao (1989) and Ye, et al. (1993a)). Starting with a
primal-dual pair of problems of the form (13.14), (13.17.1) respectively, let
%++ = {(X, S) 10< (X, S) E R 2n , AX = b, A'U + S = C for some U E Rm} =p <p
with the central path specified as r(fL) = {(X,S) I (X,S)E%++, XS = fLI} and the
duality gap for feasible (X, S) given by X'S = C'X - b'U, where X = diag(X).
The authors pose a path-following algorithm that generates a sequence of iter-
ates in a neighborhood 8(a) = {(X,S) IlIxs- fL111 ~ afL, fL = X'S/n, (X,S)E%++}
of the central path. The algorithm takes a single corrector step to the central
Interior Point Methods 389
path after each predictor step in order to decrease J-L. In this regard, for a
constant 0 < {3 ~ t, the algorithm produces nearly centered pairs (X, S) € 8(2{3)
(sets of intermediate iterates) after a predictor step and very nearly centered
pairs (X, S) € 8({3) after a corrector step.
Looking to the motivation behind this predictor-corrector routine, suppose
we have a pair (X, S) € 8({3), 0 < (3 ~ t, where r(J-L) C 8({3) C 9G++, J-L = X'S/n,
and 'Y€[O,l]. Then we can generate search directions d X , dS, and d U via the
preceding primal-dual scaling method by solving the linear system
Sd X +Xds = 'YJ-Ll-XS
Ad x 0 (13.43.1 )
A'du +ds = 0,
Since the feasibility of (X(Ok)) is guaranteed by this lemma, let us choose the
Slf D =X1 / 2S- 1 / 2 and N(AD), R(DA') depict the null-space of AD and the range of
DA' respectively, then the directions d X , dS obtained from (13.43.1) with 1'=0 can be
expressed as
d x -- - DPN(AD)r
d S = - D- 1p R(AD,)r,
largest steplength Ok::; 1 such that IIX(Ok) S(Ok) - Jl(Ok)ll1::; exJl(Ok) is satisfied
for ex = 2{3, and let X k = X(Ok)' Sk = S(Ok)'
We now solve (13.43.1) with (X,S) = (Xk'sk) €6(2,8), Jl = XkSk/n, and
r = 1. This enables us to form
X kH = Xk + ~fX
SkH = Sk+ ds
with (XkH , SkH) € 6({3). This completes the corrector step.
It is evident that the large step predictor-corrector algorithm requires that
(13.43.1) be solved twice at each iteration. In addition, Ye, et ai. (1993a)
demonstrate that a lower bound for Ok can be obtained as follows: if Ok is the
largest Ok satisfying the conditions of lemma 13.9 with ex = 2,8, then
2
Ok>
-VI + 411 ,
c5 k ll/,8 +1
where 6k = dfdVJ.Lk and df = diag(df). Using this lower bound Ye, et ai. prove
that the large step predictor-corrector algorithm maintains D( JnL) iteration
complexity and also gives quadratic convergence of the duality gap sequence to
zero without assuming nondegeneracy or the convergence of the iteration sequence
{(Xk' SkH. In this regard, according to Ye, et al.: if {(Xk' SkH is the sequence
generated by the large step predictor-corrector algorithm with 0 < ,8 ::; ~ and
a = 2,8, then the algorithm has iteration complexity D(JnL) and XkSk~O Q-
quadratically, i.e., the duality gap sequence {XkS k } converges Q-quadratically to
zero if
X k +1 = Xk+d
Sk+1 = Sk+ dS
with (Xk+1' Sk+1) f 6(~).
STEP 3. Check for optimality.
If X~Sk ~ T L, stop;
otherwise proceed to
STEP 4. Advance k to k + 1.
Return to step 1.
A generic primal-dual interior-point algorithm which provides a general
framework for many existing primal-dual interior-point methods has been
developed by Kojima, Megiddo, and Mizuno (1993b). Their generic routine also
generates a sequence {(Xk' Uk,Sk)} C r, i.e., for each k the point (Xk' Uk,Sk) lies
on the central trajectory.
For the kth iterate (Xk' Uk,Sk)' let fk = XkSk/n. If (Xk' Uk,Sk) lies on
the central path r, then x~s~ = 1', i=I, ...,n, for some 1'. Hence fk = 1'. Since
nfk = XkS k coincides with the duality gap C'X k - b'Uk' it follows that
fk = XkSk/n = (C'Xk-b'Uk)/n.
392 Linear Programming
V (3(JL)
o (13.43.2)
Finally, step lengths at, oP are chosen to generate a new iterate (Xk+I' Uk+I'
Sk+l) f 'W such that
Xk+I = X k + a P df,
Uk+I = Uk + aDd~, (13.46.1)
Sk+l = Sk + aDdf
It is evident that this generic primal-dual interior-point algorithm depends
upon three parameters: a search direction parameter f3 and primal and dual
steplength parameters a P , aD which determine steplengths in the primal and dual
spaces respectively. Given an initial solution (-'Co, UO, So) € 'W, if appropriate
values are assigned to these parameters at each successive iteration of the generic
method, we obtain a particular primal-dual interior-point algorithm.
The search direction parameter f3 fixes a target point (X(f3 fk), U(f3 fk),
S(f3 fk») f r which is to be approximated by the new iterate (Xk+I' Uk+I'
Sk+I) f'W. When f3 = 1, the target point (X(fk), U(fk), S(fk»)f r minimizes
the distance II XS - XkS k II from the current iterate (Xk' Uk' Sk) f'W to points
(X,U,S)€r. Hence the resulting Newton direction (dX,dU,d S ) = (d;,d~,d~)
may be regarded as a centering direction. At the other extreme, for f3 = 0, we
obtain the optimality condition (13.39) with JL = f3fk = 0. In this instance the
Newton direction (dX,dU,d S ) = (d;,d~, d~)from the current point (Xk' Uk,Sk) f'W
aims at optimal solutions X, (U, S) of the primal and dual problems respectively.
Interior Point Methods 393
The direction (d;;,d~,d~) will be termed an affine scaling direction since it does
not involve any centering direction. In general, each direction (d X , dU , dS) with
f3 € [0, 1] can be expressed as a convex combination of the centering direction and
the affine scaling direction or
If the same step length a P = al( = a is chosen Jl1 the primal and dual
spaces, then the new duality gap can be written as
C'Xk+I - b'Uk+l
C'(Xk+ad X ) - b'(Uk+ad U )
(1- a(1-f3)) (C'Xk-b'U k)
(Kojima, Mizuno, and Yoshise (1989b)). Hence it is evident from this expression
that:
(i) we must have f3 :S 1 if the duality gap is not to increase; and
(ii) the smaller f3 and the larger a, the greater the reduction in the duality gap.
In this regard, while any f3 € [0,1] will satisfy (i) and (ii) above, since it is
required that (X k + 1 , Uk+l' Sk+l) € 'W, we must choose the step lengths a P ,
smaller than
aP = max{ a I X + ad x ~ o},
k
It is known that the bounds aP, aD, and a depend upon the location of the
current iterate (X k , Uk' Sk') and the value of f3. In fact, computational
experience indicates that small values of f3 tend to increase the efficiency of the
generic primal-dual method. Moreover, a will tend to be larger when the current
point (X k , Uk' Sk) € 'W is near the central path r.
394 Linear Programming
(d X , dU , d S ) towards a point on the central trajectory, but does not confine the
iterates to lie within the feasible region. While an infeasible-interior-point
algorithm exhibits the same basic structure as the primal-dual interior-point
algorithm (see (13.46), (13.47)), the generated sequence of iterates {(Xk' Uk' Sk)}
is not restricted to the interior of the feasible region. Thus an interior
(Xk' Uk' Sk) is not required to satisfy the equality constraints of the primal and
dual problems (AX = h, A'U + S = C); only the positivity restrictions X> 0,
S> 0 apply. Hence we can approach optimal solutions by moving throughout
the interior of the feasible region for the primal-dual pair of problems or along a
track outside of the same. In fact, this is a key advantage that an infeasible-
interior-point algorithm has over a primal-dual interior-point algorithm when
solving the primal-dual pair of problems (13.14), (13.17.1).
To exploit this advantage, Kojima, Megiddo, and Mizuno (1993a), using an
infeasible-interior-point algorithm, propose a steplength rule under which the
algorithm takes large distinct steplengths in the primal and dual spaces to ensure
its global convergence. Their algorithm finds approximate optimal solutions to
the primal-dual pair if both problems have interior points, and they detect
infeasibility when the sequence of iterates diverges. These authors also claim that
computation of the Newton direction at each iteration of the primal-dual interior-
point algorithm as applied to the artificial self-dual linear program utilized by
Kojima, Mizuno, and Yoshise (1993) is still a bit more expensive than that of the
infeasible-in terior-poin t routine.
Mizuno (1994) has proposed a G(nL) - iteration modification of the Kojima,
Megiddo, and Mizuno (1993a) infeasible-interior-point algorithm based on the
G( y'nL) - iteration interior-point predictor-corrector algorithm of Mizuno, Todd,
and Ye (1993b). The primal-dual pair of problems is solved without assuming
the existence of feasible or optimal points using a single steplength in primal and
dual spaces that is chosen to minimize the duality gap. Mizuno also demon-
strates that the Kojima, Megiddo, and Mizuno infeasible-interior-point method
terminates in G(n2 L) iterations by imposing certain conditions on the iterates.
396 Linear Programming
In a similar vein, Potra (1994) (see also Mizuno (1992) and Potra (1992))
develop an alternative predictor-corrector method for solving linear programs
from infeasible starting points. (If a feasible starting point is used, the algorithm
reduces to the Mizuno, et al. (1993b) predictor-corrector method considered
above.) The new algorithm is well-defined in that at each iteration it generates a
positive (a-centered) primal and dual pair of solutions with feasibility and
optimality improved at the same rate. It is globally and quadratically
convergent when started from any positive primal-dual pair that is approxi-
mately centered given that an optimal primal-dual set of solutions exists. For
starting points large enough the algorithm has O(nL)-iteration complexity and,
under certain conditions, displays O( JnL) - iteration complexity.
Next, we may readily observe that many interior point methods for solving
linear programs solve a simultaneous linear equation system with coefficient
matrix A0 2A', where 0 is a diagonal matrix with strictly positive elements and
A is the coefficient matrix for the primal structural constraint system. To avoid
the computational difficulties arising when A is dense, Vandel'bei and Carpenter
(1993) propose solving instead the related indefinite system
(13.51)
for a fixed 6> 0, then the primal problem is solved in O(qjn)L) iterations if
fzo(Xo) = O(nL). In this regard, we must specify a rule for determining Xk+1'
To this end let each iteration employ the affine scaling Y = (i:)-IX, where
X = diag(X). Then % is mapped to %x = {Y I AXY = b, Y ~ O} in R n , X k is
Interior Point Methods 399
mapped to Yk = 1, and the scaled potential function 9 z: R++ - R has the form
For X k, X k+1 € 9(;0 the difference f z(Xk+1) - f z(X k) equals the difference
gz(Yk+1) - gz(Yk )· Moreover, for a fixed z,
For h the search direction and A the steplength, any interior point Y € 9(;~
X
can be expressed as> 0 and must satisfy AXh = 0 (since
Y = 1 + Ah
AX(I+Ah) = b). Also, h must be chosen so that 'V gz(l)'h < 0, i.e., the scaled
potential 9 z must decrease locally for movements in the h direction.
Given a fixed search direction h, we may choose the optimal steplength
A = ~ according to the following
13.11. THEOREM [Gonzaga (1990)]. Let h be a search direction
satisfying 'V gz(l)'h < o. Then
(13.55)
for any z:5 z*. Based upon this discussion we see that - PAX 'V g%(l) is the
appropriate search direction when I PAX 'V g%(l) II is sufficiently large; for
" PAX 'V g%(l) II too small, we need an improved lower bound z.
For z a lower bound satisfying z < z :5 z*, it can be shown that
,-
q log C Xl - z
-
<0 (13.56)
C'X1-z .
Z = C'ltl_~(l+~PAX~,(l)II)(C'ltl_Z) (13.57)
where E has replaced II PAX 'V g%(1) I in (13.57) (Gonzaga (1990». So for
q > n + E.;n, g%(l) - gAl) < 0 and thus the scaled potential 9 decreases when z
(13.57») is used to update z.
We are now in a position to state Gonzaga's (1990, 1992)
13.13. PRIMAL POTENTIAL REDUCTION ALGORITHM.
STEP o. Initialize.
Choose Xo€xo, zO:5 z*, 0 < E :5 1, q > n + E .;n, and set k = O.
STEP 1. Determine the search direction.
a. Find the projection matrix
-, , -2 ,-1 -
PAXk = In - XkA (AXkA) AXk ,
where Xk = diag(X k ).
Interior Point Methods 401
max h'U s.t. A'U + S = C, S ~ O. The algorithm computes dual variables and
takes either a primal step or recomputes feasible dual variables at each iteration.
Moreover, Freund demonstrates that primal iterates decrease the potential
function by at least 0.18 whereas the dual iterates decrease the potential function
by at least 0.2y1n, thus leading to an overall bound of O(nL) iterations.
Let the primal and dual problems again appear as
Then X is feasible for (13.14) if and only if Y is feasible for (13.58) while (U, S) is
feasible for (13.17.1) if and only if (U, t) = (U, XS) is feasible for (13.59). And for
sets of primal and dual variables X, (U, S) respectively, the duality gap is simply
C'X = h'U = X'S.
Let us assume that X, (U, S) are primal and dual feasible solutions
respectively with X > O. Since scaling does not affect the potential function, take
X = 1. Then the current duality gap is l'S. In addition, the projection of
V X F(l,S) = (l?S'-l
and
Set Uk = '"
U k and Sk = X
--1'" d
k t, an go to step 1.
a. b.
Primal Dual
minC'X s.t. max b'U s.t.
AX=b, X~O S = C-A'Y~O
Based upon the inequality relating the geometric and the arithmetic mean,
it can be shown that if ¢ is reduced below - (p-n) L for a pair of positively
feasible X and S, then C'X - b'U = X'S S 2- L .
To determine the primal form of the affine potential reduction algorithm,
let ~o = b'Uo for some So =C =A'Uo > O. Then following Ye (1990a), we seek
to minimize the linearized primal potential function subject to the ellipsoid
constraint corresponding to the second-order term in a quadratic approximation
to the primal problem (13.14), i.e.,
min V ¢(Xo,~o)'(X-Xo) s.t.
A(X-Xo) = 0 (13.61)
I/eXo)-\X-Xo)I/s (3 < 1,
(13.62)
( 13.63)
where
(13.64)
and
Interior Point Methods 407
(13.65)
with
Ul (A~A')-l A~C,
U2 (A~A')-lb.
U(~d = Ul _ C'X~ - ~k U2
and
U1 = (AXiA,)-l AXiC,
U 2 = (AX~A')-lb.
b. Find
408 Linear Programming
with
(3* arg min ¢(X k - (3X k P(zk)' Sk);
,I3~0 -
P - -1
C'X -;'0 DS(;.o) - D(Xo) 1
D(XO)-lp(;.O)
and
(13.65.1)
b. Find
( 13.67)
(13.68)
( 13.69)
Let
(13.70)
where
(13.71)
with
(SO)-2 A'(A(So)-2 A')-Ib,
- 1 - 1
(So)- P A(SO)-l(SO)- C,
and P - 1
A(So)-
where
b. Find
(1992), however, extend Ye's results by constructing an algorithm whose steps are
not restricted to remain approximately centered, i.e., long primal steps can be
taken. (These authors use a safeguard line search or sufficient decrease criterion
which controls the partial updating of the diagonal scaling matrix at each
iteration,i.e., prevents updating that is excessive relative to the potential
reduction obtained.) Moreover, Ye's dual algorithm 13.19 is actually equivalent
to his first algorithm 13.16, i.e., the dual update keeps no memory of Sk and thus
the dual algorithm should be viewed as a primal algorithm (Gonzaga (1992)).
A discussion on the near boundary behavior of the primal potential
reduction algorithm has been provided by Ye, et al. (1993b). These authors find
that for any iteration p can be chosen within an extremely wide interval
([ n +.J7i, +00») without compromising the convergence rate of O(.J7iL) itera-
tions. So as the iterate drifts away from the central path towards the boundary
of the positive orthant, p need not be set close to n +.J7i. This result is
consistent with the recent findings of Zhang, et al. (1992) concerning the conver-
gence rate of the algorithm. They conclude that it is desirable to use both a
large step size and a large p to attain a better local convergence rate.
In addition to providing an extension of Gonzaga's potential reduction
algorithm (13.13), Freund (1991a) also introduces an alternative form of Ye's
O(.J7iL) primal algorithm (13.16). This involves an extension of algorithm
13.14 by using in place of F(X, S) the primal-dual potential function
and find del'S), the projected gradient of G(X, S) with respect to X at (X, S) =
(1, S). Then of II d(1'S) II ~ 0.22, we can achieve a constant decrease in the
potential function G(X, S) by taking a step in the direction - del'S) from the
current primal feasible point 1. That is, according to Freund, if q = n+Jn,
then:
a. If Ild(I'S) II ~ 0.22, we can decrease G(X,S) by 0.02 by taking a step in
the primal variables in the direction - del'S);
b. if II del'S) II < 0.22, we can decrease G(X, S) by 0.02 by replacing S by S
= Sea'), where ..1 € (0, I'S) satisfies II deLl) II = 0.22.
These considerations thus lead us to the following alternative form of Ye's
(1990a) algorithm for solving (13.14). To this end we state Freund's (1991a)
13.20. ALTERNATIVE FORM OF YE'S ALGORITHM (13.14).
STEP O. Initialize.
Choose Xo > 0, (Uo' So), q = n + In, 'Y = 0.22, an optimality
tolerance level JI., and set k = O.
STEP 1. Test for Optimality.
If XkS k ~ Jl, stop.
STEP 2. Rescale.
Set Ak = AXk , Ck
STEP 3. Compute the Projected Gradient Direction Function.
d(L1) = [In-Ak(AkA~.)-lAk][(~)tk-ll
If II d(l'tk ) II ~ 'Y, go to step 5; otherwise go to step 4.
t =( f) (1 + d( J) ) and
U = (AkAk)-l A{Ck - ( f )1].
414 Linear Programming
A glance back at Ye's algorithm (13.16) reveals that, except for the
specification for when to take primal versus dual steps at each iteration, the two
algorithms are identical. Here too Freund's modification at Ye's algorithm does
not explicitly require a condition that successive iterates lie near the central path.
In addition, both algorithms compute the same primal and/or dual projected
gradient directions at each iteration and both employ the same logic for when to
take a primal versus dual step at each iteration: either the projected gradient of
the potential function is sufficiently large, or the current iterate is sufficiently
centered. Thus the choice between either a primal or dual step depends only on
Primal Dual
min C'X s.t. max b'U s.t.
AX=b, X~O A'U + S = C, S ~ O.
Interior Point Methods 415
o
o (13.72)
V
dX D(In-PAD) Ilvll
dU _ (AD2 A,)-1 AD V (13.73)
!lvll
dS D-1p V
ADllvll'
416 Linear Programming
where PAD = DA'(AD2 A,)-l AD is the orthogonal projection matrix onto the
range of (AD)' or the subspace {(AD)'W I W f am} in an. (Note the similarity
between the directions given in (13.73) and those provided by (13.45).)
To ensure the feasibility of a new point (X k +1 , Sk+l)f%++, Kojima, et al.
impose on the direction (dX,dS ) and step parameter () the requirement that
where T f (0,1 ),() > 0, and II U 1100 = rnax{ I Uj I ,i=1, ... , n}. They then go on to
demonstrate that, for n;:::: 2, T = 0.4, and for directions (d X , dS) given by
(17.73), there always exists a () for which their algorithm generates a sequence
{(Xk' Sk) f %++} such that !(Xk+I' Sk+I) ~ f(Xk' Sk) - 0.2, [( = 1,2, ..., and
that one obtains an approximate solution (Xp' Sp) of the primal-dual pair of
problems for some p = O(ynL) such that X~Sp ~ 2- 2L , from which an exact
solution is reached in O( n 3 ) arithmetic operations.
Specifically, we have the Kojima, et al. (1991)
13.21. PRIMAL-DUAL POTENTIAL REDUCTION ALGORITHM.
STEP O. Initialize.
Choose (Xo,So) > °as a feasible initial solution.
Set k = 0 and let 6 = 0.2.
STEP 1. Determine the search direction.
Compute the descent direction (dX,dS ) of (13.73).
STEP 2. Line search.
Find
with
"8 = arg min !(X-()dX , S - ()d S ).
STEP 3. Check for optimality. ()
At each iteration
()(dx ,dS)
! ( (Xk,Sk) - - ) ~ f(Xk,Sk) - 6.
If X~Sk ~ 2- 2L for some k = O(.jii L), stop and compute an exact
solution; otherwise proceed to
Interior Point Methods 417
STEP 4. Advance k to k+ 1.
Return to step 1.
As mentioned earlier, this algorithm does not invoke any proximity criterion in
that it does not have to follow the central path. Moreover, it performs at each
iteration a primal-dual affine scaling that does not take the present iterate to 1.
Kojima, et al. offer an interesting interpretation of the descent direction
- (d X , dS) in their algorithm. For a fixed (X, S) € [( ++, the real-valued function
h(dX,dS) = II D-1dX+Dd s II defines a norm in the linear subspace Tspanned by all
the feasible directions at (X, S), i.e, T = {(d X ,dS)€R2n I AdX=O, A'du+dS=O}.
Then the direction - (dX,d S) determined by (13.72) may be regarded as the
steepest descent feasible direction of the potential function f on [( ++ with
respect to the metric induced by h, i.e., - (dX,d S ) coincides with the solution
(;IX, dS) of the problem
min{ V xf(X,S)d x + V sf(X,S)ds } s.t.
Ad x = 0, A'du + d S = 0, II D-1d x + Dds 112 ~ 1
and may be regarded as a affinely scaled steepest descent direction of the
potential function f.
Recently Bosch and Anstreicher (1993) introduced a partial updating
routine for the Kojima, et al. (1991) primal-dual potential reduction algorithm
(since convergence of the same is tied to the reduction of a potential function)
which employs a safeguard line search condition for controlling the number of
updates incurred on primal-dual iterations. Their upgrading is based directly on
error in the diagonal scaling matrix D and allows for unequal step lengths in the
primal and dual variables.
Bosch and Anstreicher demonstrate that their modified algorithm, like the
original algorithm of Kojima, et al. (1991), requires 0(.Jn L) iterations and offer
a condition which is sufficient to exert control over the total number of updates,
thus leading to an overall complexity of 0(n 3 L) iterations.
Gonzaga and Todd (1992) present a primal-dual interior point algorithm for
the standard form primal linear programming problem
418 Linear Programming
To ascertain the relationship between the potential function <p p and the
penalized functions f~(X) and f;;(S), let P A denote the projection onto the null
space of A. Then for any Sf9bb' PAS = PAC (the rows of P A span N(A».
Also, it can easily be shown that
Choose either:
Interior Point Methods 421
Finally, Gonzaga and Todd note that their algorithm is more symmetric
than that of Ye (1990a) (his O(n3L) potential reduction algorithm) which either
takes a primal step or updates the dual, but it is less so relative to the primal
dual potential reduction algorithm of Kojima, et al. (1991).
An affine potential reduction algorithm for solving linear programs that
simultaneously seeks feasibility and optimality is provided by Todd (1993).
Based upon the affine potential reduction methods of Anstreicher (1989),
Gonzaga (1990), Ye (1992), and Freund (1991a), Todd's routine utilizes two
422 Linear Programming
(The last inequality ill (13.79) is equivalent to the condition that B ~ b'U for
some dual feasible solution (U, S).)
The algorithm computes a projected gradient d that is used to take a step
in the negative of the primal direction, where the steplength 0:' can be determined
analytically or by a line search of the potential function. As in Ye's O( n 3 L)
potent.ial reduction algorithm (Ye (1990a)), if d is large (e.g., Ildll ~ / (=0.5)),
the algorithm takes a primal step; otherwise, if II d II < /, the algorithm updates
the lower bound 13 by taking a dual step and thus computing new dual variables.
Whenever the algorithm takes its first dual step it generates a dual feasible
solution. The algorithm is designed to reduce the potential function by at least
112 at each iteration.
A modification of (13.79) that includes a barrier term for the dual slack
variables is
min H(X,S,B) = (n+yIn) In(C'X-B)
X,U,S,B
-Ej=lln(xj+h/C'X-B))-Ej=llnsj s.t.
AX =b
X+b(C'X-B) > 0 (13.80)
A'U +S = C
S>O
b'U = B.
To solve this revised potential function minimization problem Freund introduces
a modified algorithm requiring an initial dual feasible solution CU, S) and an
424 Linear Programming
initial primal lower bound B = b'U. Under a set of assumptions more restrictive
than those given above to solve (13.79) (i.e., we have a known initial interior
dual feasible solution (U, S) for which fi, S are feasible in (13.80) so that S> 0,
X+ h(X'S) > OJ and a bound on the set of all dual feasible slack vectors S is
known), the iterates of Freund's refined algorithm, corresponding to improved
values of both primal and dual variables, decrease H by at least 0.4 at each
iteration, thus leading to a complexity of O( In) iterations to achieve a constant
decrease in the duality gap C'X - B.
We close this section by mentioning that Mizuno and Nagasawa (1993) offer
a potential-reduction algorithm which employs the primal-dual affine scaling
direction as a search direction. Using the potential function of Todd and Ye
(1990), the authors choose a steplength at each iteration of the algorithm such
that the potential function does not increase, thus admitting a step size longer
than that which minimizes the potential function. Computational complexity is
based on the reduction of the duality gap at each iteration and their algorithm is
proved to be polynomial-time bounded. Mizuno and Nagasawa also propose a
low-complexity routine in which a centering direction is used whenever an
iteration is far from the central path.
respectively, virtually all of the interior point algorithms examined above solve,
say, the primal problem under the regularity assumption 9G++ =
{(X,S) 10< (X,S) eR2n , AX = b, A'U + S =C for some U eRm } I ¢ or the
optimal solution set for both the primal and dual problems is bounded. How-
Interior Point Methods 425
ever, slllce no a priori information on the status of %++ is available, the usual
procedure is to explicitly bound the feasible region of the linear program. (With
integer data, a worst-case bound of 2L is chosen in practice.) This issue, along
with the parallel problem of finding ways to accomplish the difficult task of
obtaining a strictly feasible initial point for starting an interior-point algorithm,
has been addressed by Ye, Todd, and Mizuno (1994).
Beginning with the idealized notion that a complete linear programming
algorithm should be versatile enough to: (1) detect whether a linear program is
infeasible or unbounded; and (2) generate a finite optimal solution if one exists,
these authors present a homogeneous and self-dual linear programming algorithm
having O(ynL) iteration complexity. Specifically, the algorithm: (a) solves a
linear program without regularity assumptions concerning the existence of opti-
mal, feasible, or interior feasible solutions; (b) can start at any positive primal-
dual pair, feasible or infeasible, near the central ray of the positive orthant, and
does not use any M -penalty parameter or lower bound; (c) generates a sequence
of iterates that approaches feasibility and optimality simultaneously (provided a
solution exists) and if the problem is infeasible or unbounded, correctly detects
infeasibility for at least one of the primal and dual problems; and (d) at each
iteration solves a linear equation system whose dimension is virtually the same as
those solved by the standard primal-dual iterior-point routines.
In particular, for a self-dual linear program, its dual is equivalent to its
primal. That is, if A IS a (p x p) skew-symmetric matrix (i.e.,
A = -A') and b = -C<:RP, then it is easily shown that the program
minC'U s.t.
AU~b, U~O
min(Xb So + 1) () s.t.
(a) AX-bT+bo = 0
(b) -A'U +CT-C() ~ 0 (13.81 )
(c) b'U -C'X + z() > 0
(d) -b'U + C'X - ZT -XbSo- 1
U unrestricted, X ~ 0, T ~ 0, () unrestricted,
where
b = b - AXo, C= C - A'Uo - So' Z = C'Xo + 1 - b'Uo.
Here b, C, and Z represent, respectively, the infeasibility of the initial primal
point, dual point, and duality gap. It is easily shown that the constraints of
(13.81) constitute a skew-symmetric system.
Expressions (13.81.a-c) with T = 1, () =0, and X ~ 0 depict primal and dual
feasibility and reversed weak duality and, taken together, define primal and dual
optimality. Making T a variable, thereby homogenizing (13.81.a, b), adds the
requisite variable complementary to (13.81.c). To achieve feasibility for X = Xo
and (U, S) = (Uo' So), Ye, et al. introduce the artificial variable () with infeasi-
bility coefficients h, -C, and z. Finally, (13.81.d) is a normalizing constraint
added to achieve self-duality. So while (13.81) is characterized as homogeneous,
it nevertheless admits (13.81.d) as a single inhomogeneous constraint.
Let S depict the (n x 1) vector of slack variables for (l3.8lob) and K repre-
sent the slack scalar for (l3.8loc). In addition, let X h denote the set offeasible
points (U,X,T,(),S,K) for (13.81) with X~ = {(X,T,S,K) 10< (X,T,S,K)tX h } the
set of strictly feasible points of Xli.
Looking to the dual of (13.81), let Uand X be the vectors of dual variables
complementary to constraints (13.81.a, b) respectively and let f and (j be the
Interior Point Methods 427
( X*+S*)
T* +/'i,*
> °
(any such solution for (13.81) must also be one for its dual and vice
versa).
Based upon these considerations, Ye, et al. choose Uo=O, Xo=l, and So=!'
to wit (13.81) becomes
min (n+1)O s.t.
(a) AX- bT+bo
°
(b) -A'U + CT - CO-S
° (13.82)
=°
(c) b'U - C'X + zO -/'i,
(d) -b'U+C'X-ZT -(n+1)
where
h = b - AI, C = C - I, and z = C'I + 1.
We may combine the constraints of (13.82) and conveniently rewrite (13.82.d) as
I'X + I'S + T + K, - (n+I)O = n + 1.
We can now relate optimal solutions for (13.82) to those of (13.14),
(13.17.1). Specifically, we have
13.23. THEOREM [Ye, et al. (1994)]. Let (U*,X*,T*,O* = 0, S*,II:*) be a
strictly self-complementary solution for (13.81). Then:
(i) (13.14) has a feasible and bounded solution if and only if T * > 0
so that X*/T * is an optimal solution for (13.14) and
(U*/T*,S*/T*) is an optimal solution for (13.17.1).
(ii) If T * = 0, then K,* > 0 and thus C'X* - b'U* < 0, i.e., at least
one of C'X and - b'U * is strictly less than zero. If C'X* < 0,
then (13.17.1) is infeasible; if - b'U* < 0, then (13.14) is
infeasible; and if both C'X*, - b'U* < 0, then both (13.14) and
(13.17.1) are infeasible.
Moreover,
13.24. COROLLARY lYe, et al. (1994)]. Let (U, X, r, 0 = 0, S, K) be any
optimal solution for (13.82). Then if K > 0, either (13.14) or
(13.17.1) is infeasible.
If the primal and dual pair of problems is written in symmetric form as
PRIMAL: min C'X s.t. AX - t = b, X ~ 0, t ~ 0;
DUAL: maxb'U s.t. A'U+S=C, U~O, S~O,
where t, S denote (m xl) and (n xl) vectors of primal surplus and dual slack
variables respectively, then, given any Xo > 0, to> 0, So> 0, and Uo > 0, we may
write the homogeneous and self-dual program as
min (Xf>So + ~Uo+1)0 s.t.
(a) AX - bT + b9 ~ 0
(b) -A'U + CT - CO ~ 0 (13.83)
(c) b'U - C'X + zO ~ 0
(d) - h'U + C'X - zT = - Xf>So - t~Uo-1
U ~ 0, X ~ 0, T ~ 0, 0 unrestricted,
Interior Point Methods 429
(13.84)
14.1. Introduction
In chapter ten we employed a variant of the standard simplex routine,
called the complementary pivot method, to generate a solution to the linear
complementarity problem LCP(q,M), which we shall now express as: find an
(X, Y) € R2n satisfying
(a) Y = MX+q
(b) (X, Y) ~ (0, 0) (14.1)
(c) xiYi = 0, i=l, ... ,n,
where M is of order (n x n) and q € Rn. Here the feasible region % associated with
(14.1), its relative interior %0, and the set of all solutions to (14.1) will be
denoted as:
% = {(X,Y) I (X,Y) ~ (0,0), Y = MX+q},
%0 = %nR~+ = {(X,Y)€R~+ IY = MX+q},
and
%LCP = {(X,Y)€%lxiYi=O,i=l, ...,n}
respectively.
Our objective m this chapter is to explore several recent interior point
algorithms for solving (14.1) or its equivalent. These algorithms are based upon
the techniques developed in the preceding chapter and are designed to generate an
approximate solution from which an exact solution can readily be determined. An
overview of the principal approaches to solving LC P( q, M) will be given,
433
434 Linear Programming
followed by the particulars of the same. As we shall now see, virtually all of the
theoretical and algorithmic machinery developed in the preceding chapter nicely
carries over to the material presented herein.
One of the earliest adaptations of an interior point method to solving linear
complementarity problems was introduced by Kojima, Mizuno, and Yoshise
(1989a). Starting from a known initial point in a neighborhood of the central
trajectory, the algorithm generates a sequence {(Xk' Y k)} near the same until we
attain a sufficiently small value for a parameter JL. For some positive constant 0,
each iteration decreases the error X~ Yk at least linearly by (1-0/ yin), so that
the algorithm terminates within O( ylnL) iterations when an approximate
solution satisfying (X, Y) € X, and X'V < 2- 2L is attained, where the size L of
LC P( q, M), M positive semidefinite, is
L = l~ ;=1 ~ ;=1 log( I aij 1+1) + log(n 2)J+ 1,
where LzJ is the largest integer not greater than z and aij is the i, /h element of
the (n x n+l) matrix A = [M,q). Each iteration computes a new point near the
central trajectory by using a Newton direction obtained as the solution of a linear
equation system. This output requires O(n3) arithmetic operations. Hence the
total number of arithmetic operations taken over O( ylnL) iterations is O( n 3 .5 L).
An algorithm closely related to the preceding central path-following algori-
thm is the O( ylnL) potential reduction algorithm given by Kojima, Mizuno, and
Yoshise (1991b). Again considering a positive semidefinite linear complemen-
tarity problem, this algorithm reduces a potential function by a constant amount
at each iteration requiring O(n 3 ) arithmetic operations. Starting from an interior
feasible solution with the potential function value bounded by O( ylnL), the
algorithm generates, in at most O( ylnL) iterations, an approximate solution with
potential function value equal to - O( ylnL). From this an exact solution can be
found in O(n3) additional arithmetic operations. An important feature of this
algorithm relative to the preceding path-following one is that the former can be
initiated from an arbitrary interior feasible point, and then readily implemented
using a line search along a descent direction of the potential function.
Interior Point Algorithms for Linear Complementarity Problems 435
IFor a sequence of points {(Xk' Y k)} such that (Xk' Y k) (%0 and Xk Y k ....... 0. the duality
gap sequence {XkYk } converges Q-superlinearly to zeroIf
. Xk+IYk+1
lam I =0;
k ....... oo XkYk
. Xk +IYk +I
lam sup 2 < + 00.
k-+oo k
(X Y k)
Neither of these notions of convergence of {(X~ Y k)} requires the convergence of the iteration
sequence {(Xk' Y k)}'
436 Linear Programming
%cen = {(X, Y) € $1 :CjYi = J.L, i=I, ... , n, for some J.L > 0 },
o$ J.L € R a parameter. In addition, it is assumed that:
(i) n>- 2',
(ii) all elements of M, q are integers;
(iii) M is positive semidefinite (i.e., X'MX ~ 0 for every X € Rn); and
(iv) each row of M has at least one nonzero element.
Consider the mapping H: R~+2n ...... R2n defined by
H(J.L,X,Y) = (XV1-J.L1, Y-MX-q)
for every (J.L,X, Y) € R~+2n, where X = diag(X),V = diag(Y). Then
YdX+Xd Y = XY1-j.l1
- Md X +d Y = 0 (14.3)
or
(M +X-I Y) -1 (YI-J-lX- 1 1)
Md X . (14.4)
center neighborhood and the error Xl. Y k decreases at least linearly along the cen-
tral trajectory. Once an approximate solution eX, f) € % satisfying .K'f < T2L
has been found, the authors provide a mechanism for determining an exact solu-
tion of LCP(q, M) in O(n 3 ) additional arithmetic operations (their appendix B).
While algorithm 14.2 may be viewed as an O( n 3 .5 L) algorithm, Kojima, et
al. (1989a) seek to improve its computational complexity to O(n 3 L) by
modifying the Newton direction using approximations to the diagonal matrices
X, Y. Their modification requires an average of O(n 2 . 5 ) arithmetic operations
per iteration and preserves the linear convergence rate of 1 - 8/ In for some
8> O. (On all this see Kojima, et al. (1989a, pp. 7-10).)
Finally, Kojima, et al. (1989a, pp. 17-20) offer a technique for preparing the
initial point (Xo, Yo) from which their algorithm(s) start. Then demonstrate how
to construct an artificial linear complementarity problem which satisfies
assumptions (i)-(iii) above and has a trivial initial point.
for every (X, Y) dGo. (Clearly leX, V) ~ ..jn log X'V for every (X, Y) dGo and
thus X'V ~ 2- 0 (L) if leX, Y) = - O(..jn L).)
Let us assume that a point (X, V) f %0 satisfying leX, Y) ~ O(..jn L) is
known in advance. (If such a point is not readily available, then we can again
invoke the procedure outlined in Kojima, et at. (1989a).) Given this point, let us
determine a feasible descent direction (dX,d Y ) and a step parameter () such that
!«X, Y) - ()(dx,d Y »~ leX, Y) - o.
(To accomplish this, Kojima, Mizuno, and Voshise (1991b) suggest undertaking a
line search along the direction - (dx,d Y ) to find either a new solution
(X, Y) - ()*(dx,d Y ), where ()* = sup{O I (X, V) - ()(dx,d Y ) f%}, or an approxi-
mation to the optimal step parameter 0f (0, ()*) such that
leX, V) - O(dx,dY ) ~ lex, Y) - O(dX,dY )
foreverY()f(O,()*).) Let the new point rendered be eX, Y) = (X, V) - ()(dX,dY)€%O.
To ensure the feasibility of (X, V), Kojima, et at. (1991b) impose on the direction
(dx,d Y ) and steplength () the requirement that
d Y = MdX and
~I X- 1dx lbo ~ r, ~I y- 1dY lbo ~ r (14.6)
Let us restrict our attention to the term Ogl(d x ,dY ) which is linear in
the step parameter 0. Then gl(d X ,dY ) can be rewritten as
dU = y-l(Yd X + XdY ).
(14.7)
minX'Y s.t.
Y = MX+q, (X,Y) ~ (0,0) (14.8)
(note that if minX'y= 0, (14.1) has a solution), the authors define an €-
X'V < €. In this regard, Kojima, et al. (1992) are interested in finding a feasible
point (X, V) with x'v < € for a given € > O. Their goal is to develop a poly-
nomial time algorithm for finding an €-complementary solution to (14.8). Once
such a solution is determined, an exact solution can readily by obtained from it
by following the O(n 3 ) arithmetic operation procedure of Kojima, et al. (1989a).
For (X, V) € 9(;0, let the potential function assume the form
In addition, let p(L) depict any polynomial in input length L. If the potential
function value at some initial point is p(L) and if the potential value decreases
during each iteration by at least n- k for some k, then the algorithm takes a
polynomial number of steps to reach an €-complementary solution. In fact, if M
is positive semidefinite and p = 2n + ~, a polynomial time algorithm obtains,
i.e., if M is positive semidefinite, then starting at any point (X, V) € 9(;0 where the
potential value is O(nL), the algorithm converges in O(n 2 L) iterations.
Kojima, et al. (1992) respecify problem (14.8) under a scaling of the
variables. For (Xo, Vo)€ 9(; 0, X = diag(X), and V = diag(Y), a linear transforma-
tion of the original space is defined as
If we let
minX'WY s.t.
(14.8.1)
Y = MX+(I-Ml-q)xo +q
Yo = Xo
(X, Y) ~ (0,0), (xo' Yo) ~ (0,0) (14.10)
XjYj = 0, i=O, 1, ... , n.
(Xk+l' Yk+l)'
How may we specify the direction vector (dX,d Y )? Let us assume that the
current point is (1,1) and the potential function is of the form given by (14.9).
Given that it is to be understood that we are working in the transformed space,
the circumflex "~,, above X, Y, M, and I will be omitted for convenience. Then
from (14.9),
Interior Point Algorithms for Linear Complementarity Problems 445
P - --1
Vxf(X,Y) X'WX WY -X 1,
Vyf(X,Y) - L wy-y- 1 1.
X'WX
Let
Hence we may view (dX,d Y) as the orthogonal projection of V f(I, I)' = (g',g')
on the linear space d Y = Md X, i.e., (dX,d Y) is determined as the solution of
the constrained optimization problem
(i) the feasible region for (14.8) has a nonempty relative interior or %0 ¥= <p;
(ii) M is positive semidefinite; and
(iii) (14.8) has a strictly complementary solution,
i.e., while (X*, Y*)€ % is optimal (or complementary) if and only if xryr = 0,
i=I, ... , n, a strictly complementary solution is an optimal solution satisfying the
condI·t·Ion Xi* +Yi* > o·
,z=1,...,n.
Define a neighborhood 6(a) = {(X, Y) €% III XY/J.l-III $ a,J.l = X'Y/n,
0$ a $ I} and take 0 < fJ $ t (typically fJ = t). In addition, the search direction
(dX,dY ) is determined as the solution of the linear system
XdY+Yd X = 1'J.lI-XY
d Y -Md x = 0, (14.11)
0< l' < 1 (Kojima, et al. (1989a». As we shall now see, (14.11) must be solved
twice at each iteration of the predictor-corrector routine - once to find the
Newton direction for the predictor step and again to determine a centering
direction for the corrector step.
To undertake the kth predictor step, given (Xk' Y k) € 6(fJ), solve (14.11)
with (X, y) = (Xk' Y k) and l' = o. Denote the resulting direction by (dX,d Y )
and, for some steplength () ~ 0, let
X( ()) = X k + ()df
Y«()) Yk + ()dk
and p«()) = X«())'Y«())/n. A guide to the choice of () is provided by
14.5. LEMMA [Ye and Anstreicher (1993a)]. If for some 0 < ()k < 1 we
have
To execute the kth corrector step, solve (14.11) with (X, Y) = (Xk' Y k ) € 6(f3+T),
p = XkYk/n and r = 1. If the resulting solution is denoted as (~fX,dY), then we
may form
Xk+I = Xk+d X
Yk+I = Yk+d Y
long as 0 < 13 ~ 1 and 0 < T ~ (3. This process,
involving a single corrector or centering step to the central trajectory after each
predictor step in order to decrease p, generates a feasible sequence of points
{(Vk' Yk)} satisfying ptkYk/ Pk - IiI ~ (3 and, for 0 < (3 ~ 1 and ex = 2(3, has
O(.jTiL) iteration complexity with XkYk-+O Q-quadratically.
Ye and Anstreicher point out that there is no need to choose the largest
steplength ()k in the predictor step - a lower bound for ()k will suffice, i.e., if ()k
where 15k= -x
d k d k / Pk and d k = dzag( d k ).
Y -X· X
X k+1 = Xk+d
~ ~Y
Y k+1 = Yk+d
with (Xk+1'Yk+1)€(~)'
STEP 3. Check for Optimality.
If XkY k ::; 2- 2L , stop. Otherwise proceed to
STEP 4. Advance k to k+1.
Return to step 1.
The preceding predictor-corrector methodology has been modified somewhat
by Mehrotra and Stubbs (1994). As mentioned earlier, these authors modify the
predictor step so as to determine alternative predictor directions as solutions to
subproblems defined over ellipsoidal approximations of 9G. Two broad categories
of subproblems are considered: (a) methods using primal-dual scaling ellipsoids;
and (b) methods employing affine scaling ellipsoids. Within these, both ball
optimization and trust region approximations are considered.
Relative to primal-dual scaling, the ball optimization sub-problem may be
derived by first letting D = X1 / 2y-l/2. Then the predictor direction in step 1 of
algorithm 14.6 emerges as the solution to
Ball Optimization Subproblem I
max~Y'dX + X'd Y } s.t.
Md'x -d Y = 0
(14.13)
II ~~~dX Ir ::; X'Y.
.
wlth X k+1 = X k - d 'Y k+1
~ ~X
=Y k -
~ ,
d ,we have X k+1Y k+1 X kY k
~Y / '
or, since d Y = Md X ,
2For W' = (V', V'), the solution direction (gX,gY) for (14.13.1) can be obtained by
projecting Worthogonally onto the null-space of 8 = [MD,-D- 1] or
(::) = pPBW,
Here too Mehrotra and Stubbs verify that if (14.14) is solved in the predictor step
of algorithm 14.6, then (Xk' Y k) € 6(f3), 0 $ f3 $ l, and convergence of the
predictor-corrector algorithm in O.j1i iterations results. That is,
14.8. THEOREM [Mehrotra and Stubbs (1994)]. Let (Xk' Y k ) € 6(f3),
OS f3 $ 1, with (dX,dY ) the optimal solution of (14.14) in the pre-
dictor step 1 of algorithm 14.6. Let Xk = X k - dX, \\ =Y k - dY
,...,...X """"Y
and, at corrector step 2, let X k +1 = X k - d ,Yk+l = Yk - d .
Then for a = 0.0731.j1i, Xk+1Yk+l/XkYk $ 1- (0.013.j1i) and
(Xk+1' Yk+l) € 6(l)·
Next, subproblems that employ ellipsoids obtained by an affine scaling of
the feasible region have also been utilized by Mehrotra and Stubbs to construct
on O( .j1i L) iteration predictor-corrector algorithm for solving the linear
complementarity problem. For instance, we may determine the predictor direc-
tion by solving either
Md x -d Y = 0
(14.15)
I ~=~:~ Ir $ ~ f3 1
or
Trust Region Subproblem II
min(X-d X)' (Y -dY ) s.t.
MdX -d Y = 0
(14.16)
I ;~::: Ir $ t~nf3'
Interior Point Algorithms for Linear Complementarity Problems 451
Y = XM+q
(X, Y) ~ (0,0) (14.1.1)
XY = 0,
where X = diag(X). It is assumed that: (a) an initial point (Xv, Yo) € %0 is
known in advance and; (b) M is positive semidefinite. In addition, for parameter
J1. > 0, let the central path for (14.1.1) be defined as
452 Linear Programming
(14.17)
Since -a(l-f3k)X~Yk < 0 and a 2(d x )'dY > 0 (by virtue of the fact that M is
positive semidefinite), it is evident that the total complementarity for the linear
complementarity problem is not a monotonic decreasing function of a if
(dX)'d Y > O. Minimizing X~+IYk+I with respect to a consequently renders
akin
. = {(I- x f3 k )XkY k if (dX)'d Y > o·
2(d )'dY ,
+ 00 otherwise.
Based upon these results Kojima, et al. (1993) state their Rules G', P' for
controlling the parameters a, (3 in an interior-point, path-following algorithm for
solving LCP(q,M). That is,
Rule G': Let 0 ~ p < 1, 0 < 0 < 1, and 0 < 0'* be fixed. At each
iteration choose a search direction parameter {3 = {3 k € [0, P]
and a steplength 0'= ak = min{a',ak'in}, where
a'€[Oa*,ok] ifok~a*;
a'€[0(ok)2/ a*, (ok)2/a*] ifok<a*.
Rule p': Let 0 < {3* ~ p =~, 0 = ~ ~ ()* < 1 and 0 < 0'* ~ 1 be fixed. At
each iteration choose a search direction parameter {3 = {3 k € [{3*, P]
and a steplength parameter a = ak = min{a',ak'in}, where
a' € [00'* , ()*o k ] if ° > 0'*'
k - ,
a' € [0(ok)2/ 0'*, ()*(ok)2 /0'*] if ok < 0'*.
(Here Rule P' is a special case of Rule G'.) Using either of these rules in the fol-
lowing interior-point, path-following algorithm generates a sequence {(Xk' Yk)} € 9(;0
such that X~+1Yk+l < X~Yk' As determined by Kojima, et al. (1993), the algo-
rithm using Rule G' ensures global convergence, i.e., it generates a bounded
sequence {(Xk' Y k)} such that X kYk ->0 as k->oo while Rule P' ensures O( nL)
iteration polynomial-time convergence.
We may now state the Kojima, et al. (1993) modified interior-point
14.11. PATH-FOLLOWING ALGORITHM FOR LPC(q,M)
STEP O. Initialize.
Let (Xo, Yo) € 9(;0 be a known initial feasible point with
XbYo ~ 20 (L).
STEP 1. Determine the Search Parameter, Steplength, and Search
Direction.
Choose either Rule G' or Rule P' with (dX,d Y ) determined
from (14.17).
454 Linear Programming
in order to prevent the iterates from approaching the boundary of the positive
orthant too early. As the iterates approach a solution, the centering restriction
becomes progressively weaker. Given an appropriate starting point, Zhang
establishes an O(n2ln (1/f» - iteration convergence bound for the algorithm to
attain €-feasibility and €-complementarity. Moreover, under a set of fairly
unrestrictive assumptions and properly controlled steps, the algorithm converges
at a global Q-linear rate.
Recently, Wright (1994) has proposed a modification of Zhang's algorithm
to obtain an O(n2L) infeasible-interior-point algorithm for solving (14.1) that
exhibits an asymptotic Q-subquadratic convergence rate under the assumptions
that (14.1) has a strictly feasible point and exhibits a strictly complementary
solution. The iterates follow the Newton direction and, as in Zhang's procedure,
are subject to a centering condition that keeps them from approaching the
boundary of the positive orthant too soon. However, unlike Zhang's algorithm,
Wright also imposes a condition that gives a higher priority to feasibility rather
than complementarity. The desirability of each point is described by a merit
function ¢(X, Y) = X'V + II Y - MX - q" whose first term measures uncomple-
mentarity and whose second term depicts infeasibility. Hence a point (X*, Y *) is
a solution of (14.1) if and only if (X*,Y*) ~ (0,0) and ¢(X*,Y*) = O. As the
iterations progress and the merit function exceeds a certain threshold level,
Wright's algorithm is identical to Zhang's algorithm. At each iteration a linear
system of equations is solved to yield a so-called safe step. If the value of the
merit function falls below the threshold, a fast step that may yield rapid
convergence is determined by the algorithm. If the fast step does not render a
significant reduction in the merit function, it is discarded in favor of a safe step.
Additional algorithms designed to solve linear complementarity problems
that are slightly more general than (14.1) have been proposed by Mizuno (1992);
Kojima, Mizuno, and Yoshise (1991b); and Kojima, Megiddo, Noma, and Yoshise
(1991a). Indeed, unified models involving various path-following and potential
reduction models as special cases have been developed.
Interior Point Algorithms for Linear Complementarity Problems 457
Mizuno's technique solves (14.19) for each to> 0 and, if (Xo, Yo) is a feasible
solution of (14.1.1), then any solution of (14.19) for to = 1 and V* = 2- 2 (£+1)1 is
a solution of the problem:
Moreover, Kojima, et al. (1989a) demonstrate that the solution of (14.1.1) can be
obtained from the solution of (14.20) in O(n3) arithmetic operations. (For
details on implementing Mizuno's method for finding a solution to (14.19) see
corollaries 4, 5 in Mizuno (1992, pp. 36-37).) Mizuno then goes on to relate his
technique to more traditional methods for solving linear complementarity
problems by constructing O( In L) path-following and potential-reduction
methods for solving (14.20) that are based on his more general method (see
Mizuno (1992, pp. 39-42)).
458 Linear Programming
Next, we note briefly that Kojima, Mizuno, and Yoshise (1991b) offer a
unified model for both the path-following and potential reduction algorithms
(algorithms 14.2 and 14.4 respectively) presented earlier. To obtain their unified
model, the authors generalize the potential function f given above by replacing
yin by a parameter v ~ 0, i.e., now
f(X, Y) = {n+v)logX'Y - L ~=1 log xiYi - n log n.
Then for each (X, Y) f%++, consider the Newton equations
(14.21)
It was noted in section 5.5 above that to obtain a new basic feasible
solution to a linear programming problem via the simplex method, we need
change only a single vector in the basic matrix at each iteration. Hence we are
faced with the problem of finding the inverse of a matrix B which has only one
column different from that of a matrix B whose inverse is known. In this regard,
given B = [hI' ... ' b"J with B- 1 known, we wish to replace the rth column b r of B
by rj so as obtain the inverse of B=[bl, ... ,br_l,rj,br+I, ... ,bm]. Since the
columns of B form a basis for Rm, rj = BYj . If the columns of B are also to
yield a basis for Rm, then, by theorem 2.33, it must be true that Yrj #- o. So if
m
r·) = i=l
Ey··b.
I) 1
"'. = (_ Ylj
where Y _ Yr-l,j _1__ Yr+I,j _ Ym j ) H b
) Yrj'···' Yrj 'Yrj' Yrj , ••. , Yrj· ence r
459
460 Linear Programming
has been removed from the basis with r j entered in its stead. If we next replace
the rth column of the mth order identity matrix 1m by Yj , we obtain
1m = [el,· ..,er_l' Yj,er+I, ... ,em), (A.1)
461
462 Linear Programming
Following Forrest and Goldfarb, let us assume that at the start of a single
step of the simplex method the first m components of X (and thus the first m
columns of A) are basic. Then X, A may be partitioned as X' = (Xl" X R),
A = [B, R] respectively so that a simplex step has the form
-
X = X + OTlq = [B-1b]
0 + OTlq, (B. I)
where X is the basic solution at the start of the step, () is the steplength, and Tlq
is one of the edge directions
Tlj = [ -B-1R]
Ip
.
ej_m' J = m+l, ... ,n = p+m, (B.2)
emanating from vertex X. If -B-IR = [- YI , ... , - Y p ]' then, from (B.2), the
collection of edge directions appears as
(B.1.l)
must be negative, i.e., Tlq points downhill. By virtue of the usual primal entry
criterion,
Cq = C'Tlq = rnin{Cj,Cj<O}.
J>m
In the steepest-edge algorithm, the direction edge Tlq chosen (or the non basic
variable x Rq selected to become basic) is the edge that is most downhill relative
to Cor
Appendix B 463
(B.3)
So in the standard simplex method, we minimize the reduced cost Cj (the change
in the objective function per unit change in x Rj) while the steepest-edge method
has us minimize normalized reduced cost C''1/11 '1j II. The latter entry criterion
corresponds to choosing the edge of steepest descent of f.
To expedite pivoting, Goldfarb and Reid (1977) (see also Forrest and
Goldfarb (1992)) derive recursive formulas for updating after each pivot the
norms II '1j I or the quantities 'Y j = 11'1j IF = '1j'lj for all nonbasic subscripts j > m.
In this regard, if the nonbasic variable x Rq replaces x Bt in the set of basic
variables, then the edge direction recurrence formulas appear as
(a) TJt -'1q/O: q,
(BA)
(b) TJj = '1j-'1qO:j,j> m,j =I q,
where O:j = c~B-laj (the components of row t of B-1aj)' O:j = O:/O:q (the
components of row t of Ii-1aj' where Ii is the new basis matrix after pivoting);
and, from (BA), we can obtain the recurrence formulas
(a) "it = 'Yq/O:~,
(b) "i j = 'Y j - 20: jajV + O:~'Y q' j > m, j =I q,
where BW = a q and B'V = W (note that O:q = w t ).
We can also update the reduced costs by obtaining, from (B.4), a recurrence
of the form
Based upon the preceding discussion let us now formally offer a single step
of the Goldfarb and Reid (1977)
B.l. PRIMAL STEEPEST EDGE ALGORITHM.
STEP 1. Check optimality.
If Cj > 0, j > m, the current solution is optimal and the
algorithm terminates. Otherwise proceed to
464 Linear Programming
'Yq = 1 + W'W.
Let V = (B'r 1 W.
Update B- 1 to B- 1 and compute
-
aj = e'B--
t
13j ( -
oraj=e'B-
t
1 /
3j w t ) '
Cj = Cj-alq,
rj = max( 'Y j - 2aj3jV + a~'Yq' 1 + a~}
cq = -c/wt ,
-
'Yq = 'Yq / 2
Wt '
j>m,j:;:q.
Let us next consider a steepest-edge modification of the dual simplex
method (Forrest and Goldfarb (1992)). To apply the dual simplex routine to the
preceding primal problem (min! =C'X s.t. AX = b, X ~ 0), let us consider the
associated dual program
Appendix B 465
Pt b b
IIPtl1 = l$t~. {Pi }
I Pill' pjb>O .
As was the case with the primal steepest edge algorithm given above, a key
element underlying steepest-edge pivoting in the dual simplex method is updating
after each iteration the norms II Pi II or the quantities f3 i = PiP~ = I Pi 112 ,
i=l, ... , m. In this regard, if variable x R.q replaces variable x Bt in the set of basic
variables, then the updated basis matrix inverse is
W-c
B- 1 B -1 - ----w;-t Ct'B- 1 '
where W B- 1a q • Then
(a) Pt (lIWt)pt,
(B.7)
(b) Pi Pi - (wdWt)pt, i=l, ... , m, i =f. t,
466 Linear Programming
and
- 2
(a) P t = (l/w t ) Pt ,
(B.8)
(b) 13i = Pi -2(wJWt )Ti + (wJw t )2Pt , i=l, ... ,m, i:f;t,
Forrest and Goldfarb extend their steepest edge simplex algorithm to the
case where upper bounds on the pl'imal variable are present, i.e., to solving a
problem of the form
min! = C'X s.t.
AX~ b, O~X~ U.
By working with the dual variant of this program or with
max 9 = b'y - U'V s.t.
A'Y-V+S = C
Y unrestricted, V ~ 0, S ~ 0,
where S is a vector of dual slack variables, Forrest and Goldfarb apply the (dual)
steepest edge simplex routine and demonstrate that the preceding recursive
formulas (B.8) with T appropl'iately defined (computed) still apply. (For details
see Forrest and Goldfarb (1992, pp. 348-350).)
In addition to the basic primal and dual steepest edge simplex algorithms,
Forrest and Goldfarb offer additional algorithmic embellishments involving a
discussion of approximate steepest-edge algorithms (variants of steepest edge
algorithms in which the edge direction norms used in pivoting are replaced by
approximate weights) as well as projected steepest edge algorithms (modifications
of steepest edge algorithms that are based on, say, the exact norms of subvectors
'fjj comprising only those components of the 'IJ/s in a certain reference framework
which is initially and periodically identified with the current set of nonbasic
variables. )
APPENDIX C:
DERIVATION OF
THE PROJECTION MATRIXl
467
468 Linear Programming
and thus
d = Cp = C-p'~
= C - P'(pp,)-lpC
= [In - P'(pp,)-lp]C PrC' (C.I)
Here
(C.2)
o
Figure C.l
Appendix C 469
P(C-P'l) = o.
Given that pp' has rank m+1 «pp,)-I exists), the preceding expression yields
l = (pp')-IpC.
1 - 1.
Since P'l = P'(PP')- PC is a vector in .At, , we define
M = P'(pp,)-Ip
1.
to be the orthogonal projection operator or projection matrix onto .At, , i. e., onto the
linear subspace spanned by the columns of P'. Then In - M is the projection oper-
1. _ _
ator orthogonal to.At, or onto.At,. Hence Cp = (In-M)C = PrC or (C.1) above.
Let us consider two alternative approaches to the derivation of (C.1) which
involve the direct solution of a constrained optimization problem. First, consider
minC'h s.t. Ph = 0, h'h = 1, (C.3)
where P is of order (m+l x n) and of full rank m+l :5 n with h a (unit) direction
vector. From the (primal) Lagrangian function
L = C'h + lH -Pl) + l2(1-h'h)
we may write the first-order conditions for a minimum as
(C.6)
Both (C.5), (C.6) together allow us to write, using (CA.C), 2A2 = C'h = - 1
or l2 = -! (since C+h,h are orthogonal). Combining this result with (C.5),
(C.6) yields
470 Linear Programming
i.e. h is a unit vector in the direction of - Cpo In sum, the optimal solution to
problem (C.3) is h = - Cp /11 Cp II ,where - Cp is the projection of - C onto the
null-space of P.
Next, an alternative track to the derivation of (C.2) has us solve the least
squares problem
minllC-CplF s.t. PCp = o. (C.S)
Here we seek to make the distance between C and Cp as small as possible given
that Cp is an element of the null-space of P. From the Lagrangian
t = (C-Cp)'(C-Cp) +.\( -PCp)
we find
(C.lO)
(C.Il)
t
pp' = AD2A'
k
0] •
0' n
REFERENCES
Anstreicher, K.M. 1986. "A Monotonic Projective Algorithm for Fractional Line-
ar Programming." Algorithmica, 1, 483-494.
Anstreicher, K.M. 1989. "A Combined Phase I - Phase II Projective Algorithm for
Linear Programming." Mathematical Programming, 43, 209-223.
Anstreicher, K., R. Bosch. 1992. "Long Steps in an O(n3 L) Algorithm for Linear
Programming." Mathematical Programming, 54, 251-265.
Azpeitia, A.G., D.J. Dickinson. 1964. "A Decision Rule in the Simplex Method
that Avoids Cycling." Numerische Mathematik, 6, 324-331.
Balinski, M.L., W.J. Baumol. 1968. "The Dual in Nonlinear Programming and
its Economic Interpretation." Review of Economic Studies, 35, 237-256.
Barnes, E.R. 1986. "A Variation of Karmarkar's Algorithm for Solving Linear
Programming Problems. " Mathematical Programming, 36, 174-182.
Barnes, E., S. Chopra, D. Jensen. 1988. "A Polynomial Time Version of the
Affine-Scaling Algorithm." Manuscript, IBM T.J. Watson Research Center,
Yorktown Heights, N.Y.
474
Bazaraa, M., J.Jarvis, H. Sherali. 1990. Linear Programming and Network Flows,
2nd ed. New York: John Wiley & Sons, Inc.
Beale, E.M.L. 1955. "Cycling in the Dual Simplex Algorithm." Naval Research
Logistics Quarterly, 2, 269-275.
Blair, C.E. 1986. "The Iterative Step in the Linear Programming Algorithm of N.
Karmarkar." Algorithmica, 1,537-539.
Bland, R.G. 1977. "New Finite Pivot Rules for the Simplex Method."
Mathematics of Operations Research, 2, 103-107.
Bosch, R.A., K.M. Anstreicher. 1993. "On Partial Updating in a Potential Re-
duction Linear Programming Algorithm of Kojima, Mizuno, and Yoshise."
Algorithmica, 9, 184-197.
Choi, I.C., C.L. Monma, D.F. Shanno. 1990. "Further Development of a Primal-
Dual Interior Point Method." ORSA Journal on Computing, 2, 304-311.
Dantzig, G.B., A. Orden, and P. Wolfe. 1954. Generalized Simplex Method for
Minimizing a Linear Form Under Linear Inequality Restraints, RAND Re-
port RM1264. Santa Monica, CA: The RAND Corp.
Dantzig, G.B., A. Orden, and P. Wolfe. 1955. "The Generalized Simplex Method
for Minimizing a Linear Form Under Linear Inequality Restraints." Pacific
Journal of Mathematics, 5, 183-195.
Ding, J., T.Y. Li. 1991. "A Polynomial-Time Predictor-Corrector Algorithm for a
Class of Linear Complementarity Problems." SIAM Journal of Optimiza-
tion, 1, 83-92.
Forrest, J., D.Goldfarb, 1992. "Steepest Edge Simplex Algorithms for Linear
Programming." Mathematical Programming, 59, 341-374.
Gale, D. 1960. The Theory of Linear Economic Models. New York: McGrawHill
Book Co., Inc.
de Ghellinck, G., J.P. Vial. 1986. "A Polynomial Newton Method for Linear
Programming." Algorithmica, 1,425-453.
Gass, S.1. 1985. Linear Programming, 5th ed. New York: McGrawHill Book Co.
Gill, P.E., W. Murray, M.A. Saunders, J.A. Tomlin, M.H. Wright. 1986. "On
Projected Barrier Methods for Linear Programming and an Equivalence to
Karmarkar's Projective Method." Mathematical Programming, 36, 183-209.
Goldfarb, D. 1976. "Using the Steepest Edge Simplex Algorithm to Solve Sparse
Linear Programs." In Bunch, J., D. Rose (eds.). Sparse Matrix
Computations. New York: Academic Press.
Goldfarb, D., J.K. Reid. 1977. "A Practicable Steepest Edge Simplex Algorithm."
Mathematical Programming, 12, 361-371.
Gonzaga, C., M.J. Todd. 1992. "An O(nL) Iteration Large-Step Primal-Dual
Affine Algorithm for Linear Programming." SIAM Journal on Optimiza-
tion, 2, 349-359.
Harris, P.M.J. 1973. "Pivot Selection Methods of the Devex LP Code." Mathe-
matical Programming, 5, 1-28.
den Hertog, D., C. Roos, T. Terlaky. 1992. "A Complexity Reduction for the
Long-Step Path-Following Algorithm for Linear Programming." SIAM
Journal on Optimization, 2, 71-87.
Ishihara, T., M. Kojima. 1993. "On the Big M in the Affine Scaling Algorithm."
Mathematical Programming, 62, 85-93.
Jan, G.M., S.C. Fang. 1991. "A Variant of Primal Affine Scaling Algorithm for
Linear Programs." Optimization, 22, 681-715.
Ji, J., F.Potra, S. Huang. 1991. "A Predictor-Corrector Method for Linear Com-
plementarity Problems with Polynomial Complexity and Super linear
Convergence." Report No. 18, University of Iowa, Iowa City, Iowa.
Karmarkar, N. 1984. "A New Polynomial Time Algorithm for Linear Program-
ming." Combinatorica, 4, 373-395.
478
Klee, V., G.L. Minty. 1992. "How Good is the Simplex Algorithm?" In Shisha,
O. (ed). Inequalities III. New York: Academic Press.
Kojima, M., N. Megiddo, Y.Ye. 1992. "An Interior Point Potential Reduction
Algorithm for the Linear Complementarity Problem." Mathematical Pro-
gramming, 54, 267-279.
Kojima, M., S. Mizuno, A. Yoshise. 1993b. "A Little Theorem of the Big M in
Interior Point Algorithms." Mathematical Programming, 59, 361-375.
479
Kortanek, K.O., J. Zhu. 1988. "New Purification Algorithms for Linear Program-
ming." Naval Research Logistics, 35, 571-583.
Kuhn, H., R. Quandt. 1963. "An Experimental Study of the Simplex Method."
Proceedings of the Symposia in Applied Mathematics, Vol. XV, American
Mathematical Society.
Lemke, C.E. 1954. "The Dual Method for Solving Linear Programming Prob-
lem." Naval Research Logistics Quarterly, 1, 48-54.
Luenberger, D.G. 1984. Linear and Nonlinear Programming, 2nd ed. Reading
MA: Addison-Wesley Publishing Co., Inc.
Lustig, I.J., R.E. Marsten, D.F. Shanno. 1991. "Computational Experience with
a Primal-Dual Interior Point Method for Linear Programming." Linear
Algebra and Its Applications, 152, 191-222.
Marshall, K.T., J.W. Suurballe. 1969. "A Note on Cycling in the Simplex
Method." Naval Research Logistics Quarterly, 16, 121-137.
Mizuno, S. 1992. "A New Polynomial Time Method for a Linear Complemen-
tarity Problem." Mathematical Programming, 56, 31-43.
Mizuno, S., M.J. Todd, Y. Yeo 1993b. "On Adaptive-Step Primal-Dual Interior
Point Algorithms for Linear Programming." Mathematics of Operations
Research, 18, 964-981.
Monma, C.L., A.J. Morton. 1987. "Computational Experience with a Dual Affine
Variant of Karmarkar's Method for Linear Programming." Operations
Research Letters, 6, 261-267.
Padberg, M.W. 1986. "A Different Convergence Proof of the Projective Method
for Linear Programming." Operations Research Letters, 4, 253-257.
481
Panik, M.J. 1993. Fundamentals of Convex Analysis. Boston MA: Kluwer Aca-
demic Publishers.
Perold, A.F. 1980. "A Degeneracy Exploiting LU Factorization for the Simplex
Method." Mathematical Programming, 19, 239-254.
Shanno, D.F., R.L. Weil. 1971. "Linear Programming with Absolute Value Func-
tionals." Management Science, 16, 408.
Shaw, D., D. Goldfarb. 1991. "A Primal Projective Interior Point Method for
Linear Programming." Mathematical Programming, 51, 17-41.
Sonnevend, G., J. Stoer, G. Zhao. 1989. "On the Complexity of Following the
Central Path of Linear Programs by Linear Extrapolation." Methods of
Operations Research, 63, 19-31.
Todd, M.J., B.P. Burrell. 1986. "An Extension to Karmarkar's Algorithm for
Linear Programming Using Dual Variables." Algorithmica, 1, 409-424.
Todd, M.J., Y. Wang. 1993. "On Combined Phase 1 - Phase 2 Projective Meth-
ods for Linear Programming." Algorithmica, 9, 64-83.
Todd, M.J., Y. Yeo 1990. "A Centered Projective Algorithm for Linear Pro-
gramming." Mathematics of Operations Research, 15, 508-529.
Tseng, P., Z-Q. Luo. 1992. "On the Convergence of the Affine-Scaling Algori-
thm." Mathematical Programming, 56, 301-319.
Vanderbei, R.J., J.C. Lagarias. 1990. "1.1. Dikin's Convergence Result for the
Affine-Saling Algorithm." Contemporary Mathematics, 114, 109-119.
Vial, JP. 1989. "A Unified Approach to Projective Algorithms for Linear
Programming." Optimization Fifth French-German Conference, Castel
Novel 1988, Lecture Notes in Mathematics 1405. New York: Springer-
Verlag, 191-220.
NOTATION INDEX
s.t. subject to
V gradient (del operator)
{X k } seqeunce of points
% hyperplane
[%+], [%-] closed half-planes
(%+),(%-) open half-planes
(Jk k-dimensional simplex
I: Rn-+R function or mapping from R n to R
1-1 single-valued inverse mapping
T:Rn-+Rm transformation from R n to R m
T- 1 inverse transformation
Y= T(X) image of X under transformation T
D(T) domain of T
R(T) range of T
~(Xo) set of feasible directions at X
~(Xo)+ polar support cone
~(Xo)* dual support cone
%p (or ~) primal feasible region
%D dual feasible region
LCP(q,M) linear complementarity problem
lim upper limit
lim lower limit
489
INDEX
Absolute value functional 249 degenerate 46, 83, 131, 186, 187
Adler, I. 380 multiple 180-184
Affine combination 28 non-basic variables 46, 83
Affine potential reduction non-degenerate 47
algorithm 448, 407 optimal 115, 118
dual 410 unbounded 184, 185
modified primal 409 Basis
Affine scaling algorithm dual feasible 118, 221
dual 375, 378 inverse 46, 83, 117, 459
primal 369, 372 primal feasible 113
Affine set 28 see vector space (subspace)
dimension of 28 Baumol, W.J. 153
a-center neighborhood 419, 437 Bayer, D. 474
Anstreicher, K. 359, 361-365, 397, Bazaraa, M. 353
398,411,417, 421, 435, 445, 446, Beal, E.M. 134
454 Ben-Israel, A. 248
Arbel, A. 369, 375, 380 Blair, C.E. 359
Artificial constraint method 261 Bland, R.G.D. 135
Artificial problem 199 Bounded variables 236
unbounded solution to 211 bounded above 236
Artificial objective function 199 bounded below 236
Artificial slack variable 261 Bosch, R. 398, 411, 417
Artificial variable 196 Burrell, B.P. 359-361
Artificial vector 197
Asic, M.D. 369 Capacitated equation system 236
Azpeita, A.G. 135 Carpenter, T. 396
Centering transformation
Balinski, M.L. 134, 153 affine 18, 369
Ball optimization problem 367 projective 17,343,345,366
subproblem 448, 450 Central path (trajectory) 379,382,
Ballintijn, J. 479 388, 436, 451
Barnes, E.R. 361, 369 Charnes, A. 135, 198, 248
Barrier problem Choi, I.C. 396, 397
barrier parameter 380 Chopra, S. 473
barrier term 380, 423 Combined primal-dual problem 357
dual 380 Complementary slackness
logarithmic barrier function 380 theorem
primal 380 strong 108
Basic solution 46, 81, 83 weak 105, 166
basic feasible 47, 83, 84, 169 Complexity of an algorithm 352
basic variable 46, 83 exponential 352
490