The Simplex Method
3.1 Pivots
To obtain a firm grasp of the simplex procedure, it is essential that one first under- stand the process of pivoting in a set of simultaneous linear equations. There are two dual interpretations of the pivot procedure.
©Springer International Publishing Switzerland 2016
D.G. Luenberger, Y. Ye,Linear and Nonlinear Programming, International Series in Operations Research & Management Science 228,
DOI 10.1007/978-3-319-18842-3 3
33
First Interpretation
Consider the set of simultaneous linear equations a11x1+a12x2+. . .+a1nxn=b1
a21x1+a22x2+. . .+a2nxn=b2
... ... (3.1)
am1x1+am2x2+. . .+amnxn=bm, wheremn. In matrix form we write this as
Ax=b. (3.2)
In the spaceEn we interpret this as a collection ofmlinear relations that must be satisfied by a vectorx. Thus denoting byajtheith row ofAwe may express (3.1) as:
a1x=b1
a2x=b2
... (3.3)
amx=bm.
This corresponds to the most natural interpretation of (3.1) as a set ofmequations.
Ifm <nand the equations are linearly independent, then there is not a unique solution but a whole linear variety of solutions (see AppendixB). A unique solution results, however, ifn−madditional independent linear equations are adjoined. For example, we might specifyn−mequations of the formekx=0, whereekis thekth unit vector (which is equivalent toxk = 0), in which case we obtain a basic solu- tion to (3.1). Different basic solutions are obtained by imposing different additional equations of this special form.
If Eq. (3.3) are linearly independent, we may replace a given equation by any nonzero multiple of itself plus any linear combination of the other equations in the system. This leads to the well-known Gaussian reduction schemes, whereby mul- tiples of equations are systematically subtracted from one another to yield either a triangular or canonical form. It is well known, and easily proved, that if the firstm columns of A are linearly independent, the system (3.1) can, by a sequence of such multiplications and subtractions, be converted to the followingcanonical form:
x1 +¯a1(m+1)xm+1+a¯1(m+2)xm+2+· · ·+a¯1nxn =a¯10
x2 +¯a2(m+1)xm+1+a¯2(m+2)xm+2+· · ·+a¯2nxn =a¯20
... ... (3.4)
xm +¯am(m+1)xm+1+a¯m(m+2)xm+2+· · ·+a¯mnxn=a¯m0.
3.1 Pivots 35 Corresponding to this canonical representation of the system, the variables x1, x2, . . . , xmare calledbasicand the other variables arenonbasic. The corresponding basic solution is then:
x1=a¯10, x2 =a¯20, . . . , xm=a¯m0, xm+1=0, . . . , xn=0,
or in vector form:x = (¯a0,0) where ¯a0 is m-dimensional and0 is the (n−m)- dimensional zero vector.
Actually, we relax our definition somewhat and consider a system to be incanon- ical formif, among thenvariables, there arembasic ones with the property that each appears in only one equation, its coefficient in that equation is unity, and no two of thesemvariables appear in any one equation. This is equivalent to saying that a system is in canonical form if by some reordering of the equations and the variables it takes the form (3.4).
Also it is customary, from the dictates of economy, to represent the system (3.4) by its corresponding array of coefficients ortableau:
x1 x2 x3 · · · xm xm+1 xm+2 · · · xn
1 0 0 · · · 0 a¯1(m+1) a¯1(m+2) · · · a¯1n a¯10 0 1 0 · · · 0 a¯2(m+1) a¯2(m+2) · · · . a¯20
0 0 1 · · · . . . . .
. . . .
. . . .
. . . .
0 0 0 · · · 1 a¯m(m+1) a¯m(m+2) · · · a¯mn a¯m0
(3.5)
The question solved by pivoting is this: given a system in canonical form, suppose a basic variable is to be made nonbasic and a nonbasic variable is to be made basic;
what is the new canonical form corresponding to the new set of basic variables? The procedure is quite simple. Suppose in the canonical system (3.4) we wish to replace the basic variablexp, 1 p m, by the nonbasic variablexq. This can be done if and only if ¯apqis nonzero; it is accomplished by dividing rowpby ¯apqto get a unit coefficient forxqin thepth equation, and then subtracting suitable multiples of row pfrom each of the other rows in order to get a zero coefficient for xqin all other equations. This transforms theqth column of the tableau so that it is zero except in its pth entry (which is unity) and does not affect the columns of the other basic variables. Denoting the coefficients of the new system in canonical form by ¯aij, we have explicitly
⎧⎪⎪⎨
⎪⎪⎩a¯ij=a¯ij−aa¯¯pqiqa¯pj, ip
¯
apj=aa¯¯pjpq. (3.6)
Equation (3.6) are the pivot equations that arise frequently in linear programming.
The element ¯apqin the original system is said to be thepivot element.
Example 1.Consider the system in canonical form:
x1 + x4+x5−x6 = 5 x2 +2x4−3x5+x6 = 3
x3− x4+2x5−x6=−1.
Let us find the basic solution having basic variablesx4, x5, x6. We set up the coef- ficient array below:
x
1x
2x
3x
4x
5x
61 0 0 1 1 − 1 5
0 1 0 2 − 3 1 3
0 0 1 − 1 2 − 1 − 1
The circle indicated is our first pivot element and corresponds to the replacement of x1byx4as a basic variable. After pivoting we obtain the array
and again we have circled the next pivot element indicating our intention to replace x2byx5. We then obtain
Continuing, there results
x
1x
2x
3x
4x
5x
61 − 1 − 2 1 0 0 4 1 − 2 − 3 0 1 0 2 1 − 3 − 5 0 0 1 1
From this last canonical form we obtain the new basic solution x4=4, x5=2, x6 =1.
Second Interpretation
The set of simultaneous equations represented by (3.1) and (3.2) can be interpreted inEmas a vector equation. Denoting the columns of A bya1, a2, . . . , anwe write (3.1) as
x1a1+x2a2+· · ·+xnan=b. (3.7) In this interpretation we seek to expressbas a linear combination of theai’s.
3.1 Pivots 37 Ifm < n and the vectorsaj span Emthen there is not a unique solution but a whole family of solutions. The vectorbhas a unique representation, however, as a linear combination of a given linearly independent subset of these vectors. The corresponding solution with (n−m)xjvariables set equal to zero is a basic solution to (3.1).
Suppose now that we start again with a system in the canonical form correspond- ing to the tableau:
a1 a2 a3 · · · am am+1 am+2 · · · an b 1 0 0 · · · 0 a¯1(m+1) a¯1(m+2) · · · a¯1n a¯10
0 1 0 · · · 0 a¯2(m+1) a¯2(m+2) · · · . a¯20
0 0 1 · · · . . . . .
. . . .
. . . .
. . . .
0 0 0 · · · 1 a¯m(m+1) a¯m(m+2) · · · a¯mn a¯m0
(3.8)
In this case the firstmvectors form a basis. Furthermore, every other vector repre- sented in the tableau can be expressed as a linear combination of these basis vectors by simply reading the coefficients down the corresponding column. Thus
aj=a¯1ja1+a¯2ja2+· · ·+a¯m jam. (3.9) The tableau can be interpreted as giving the representations of the vectorsaj
in terms of the basis; the jth column of the tableau is the representation for the vectoraj. In particular, the expression forbin terms of the basis is given in the last column.
We now consider the operation of replacing one member of the basis by another vector not already in the basis. Suppose for example we wish to replace the basis vectorap, 1 p m, by the vectoraq. Provided that the firstmvectors withap
replaced byaq are linearly independent these vectors constitute a basis and every vector can be expressed as a linear combination of this new basis. To find the new representations of the vectors we must update the tableau. The linear independence condition holds if and only if ¯apq0.
Any vectorajcan be expressed in terms of the old array through (3.9). Foraqwe have
aq= m
i=1 ip
¯
aiqai+a¯pqap
from which we may solve forap, ap= 1
¯ apq
aq− m
i=1 ip
¯ aiq
¯ apq
ai. (3.10)
Substituting (3.10) into (3.9) we obtain:
aj= m
i=1 ip
¯ aij− a¯iq
¯ apq
¯ apj
ai+ a¯pj
¯ apq
aq. (3.11)
Denoting the coefficients of the new tableau, which give the linear combinations, by ¯aijwe obtain immediately from (3.11)
⎧⎪⎪⎨
⎪⎪⎩a¯ij=a¯ij−aa¯¯pqiqa¯p j,ip
¯
apj=aa¯¯pqpj. (3.12)
These formulas are identical to (3.6).
If a system of equations is not originally given in canonical form, we may put it into canonical form by adjoining themunit vectors to the tableau and, starting with these vectors as the basis, successively replace each of them with columns of A using the pivot operation.
Example 2.Suppose we wish to solve the simultaneous equations x1+x2−x3 =5
2x1−3x2+x3 =3
−x1+2x2−x3=−1.
To obtain an original basis, we form the augmented tableau e1 e2 e3 a1 a2 a3 b
1 0 0 1 1 −1 5
0 1 0 2 −3 1 3
0 0 1 −1 2 −1 −1
and replacee1bya1, e2bya2, ande3bya3. The required operations are identical to those of Example1.