0% found this document useful (0 votes)
90 views116 pages

LPnotes3 Foil

The document discusses the algebra behind the simplex method for solving linear programming problems. It introduces the standard form of a linear program and describes how the simplex method uses a canonical representation involving a basis matrix to move between extreme point solutions. It explains how the entering and departing variables are determined at each step to improve the objective function until an optimal solution is found or unboundedness is detected.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
90 views116 pages

LPnotes3 Foil

The document discusses the algebra behind the simplex method for solving linear programming problems. It introduces the standard form of a linear program and describes how the simplex method uses a canonical representation involving a basis matrix to move between extreme point solutions. It explains how the entering and departing variables are determined at each step to improve the objective function until an optimal solution is found or unboundedness is detected.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 116

Algebra of the Simplex Method

Consider the standard linear programming problem:


maximize z = cX
subject to
AX = b
X 0

Chapter 2: The Simplex Algorithm: Tableau and Computation

Recall that

XB
B b
=
XN
0
is called a basic solution, with vector XB called the vector of basic
variables, and XN is called the vector of nonbasic variables. If in addition,
XB 0 then
 1 
B b
X=
0
is called a basic feasible solution.
X=

Now consider the objective function z = cX. Partitioning the cost


vector c into basic and nonbasic components, the objective function can be
written as
z = c B X B + c N XN

Chapter 2: The Simplex Algorithm: Tableau and Computation

Substituting XB = B1b B1NXN , we have


z = cB (B1b B1NXN ) + cN XN
which can be rewritten as
z = cB B1b (cB B1N cN )XN
Setting XN = 0, we see that z = cB B1b, which is the objective value
corresponding to the current basic feasible solution. Therefore, the current
extreme-point solution can be represented in canonical form:
z
XB

= cB B1b (cB B1N cN )XN


= B1b B1NXN

Chapter 2: The Simplex Algorithm: Tableau and Computation

with the current basic feasible solution given as


= cB B1b

  1 
XB
B b
X =
=
0
XN
0
z

The canonical representation forms the foundation upon which the simplex
method is built. Letting J denote the index set of the nonbasic variables,
observe that this canonical representation can be rewritten as follows.
z

= cB B

(cB B1aj cj )xj

jJ

XB

= B

(B1aj )xj

jJ

Chapter 2: The Simplex Algorithm: Tableau and Computation

The central idea behind the simplex method is to move from an extreme
point to an improving adjacent extreme point by interchanging a column of
B and N.

Chapter 2: The Simplex Algorithm: Tableau and Computation

Checking for Optimality

When will such an exchange improve the objective function? In the


current basic feasible solution, XB = 0, that is, the nonbasic variables are
at lower bound and can only be increased from their current value of zero.
Observe that the coefficient (cB B1aj cj ) of xj represents the rate of
change of z with respect to the nonbasic variable xj . That is,
z
= (cB B1aj cj )
xj
Thus, if z/xj > 0, then increasing the nonbasic variable xj will increase
z. The quantity (cB B1aj cj ) is sometimes referred to as the reduced
cost and for convenience is usually denoted by (zj cj ).

Chapter 2: The Simplex Algorithm: Tableau and Computation

Optimality conditions (maximization problem).


solution will be optimal to (LP) if

The basic feasible

z
= (zj cj ) = (cB B1aj cj ) 0 for allj J
xj
or equivalently, if
(zj cj ) = (cB B1aj cj ) 0 for allj J
Note that because (zj cj ) = 0 for all basic variables, then the optimality
conditions could also be stated simply as (zj cj ) 0, for all j = 1, . . . , n.

Chapter 2: The Simplex Algorithm: Tableau and Computation

If (zj cj ) > 0, for all j J, then the current basic solution will be the
unique optimal solution because increasing any nonbasic variable results in a
strict decrease in the objective function. However, if some nonbasic variable
xk has (zk ck ) = 0 then increasing xk does not change the objective value,
and in the absence of degeneracy, entering xk will lead to an alternative
extreme point with the same objective value. When this occurs, we say that
there are alternative optimal solutions.

Chapter 2: The Simplex Algorithm: Tableau and Computation

Determining the Entering Variable

Suppose there exists some nonbasic variable xk with a reduced cost


zk ck < 0. Then z/xk > 0 and the objective function can be improved
by increasing xk from its current value of zero. Typically, we choose to
increase that nonbasic variable that forces the greatest rate of change of the
objective, that is, the nonbasic variable with the most negative zj cj . The
selected variable xk is called the entering variable. That is, xk is going
to enter the basic vector. To maintain a basic vector with m components,
we must exchange it for some variable that is currently basic; this variable
is called the departing variable. Mathematically, we need to form a new
basis by exchanging ak with some column of the current basis matrix B.

Chapter 2: The Simplex Algorithm: Tableau and Computation

Theorem 1. Let B = (b1, b2, . . . , bm) be a basis for E m, and let a


E m, a 6= 0. Then a can be written uniquely as a linear combination of
b1, b2, . . . , bm.
Theorem 2. Let B = (b1, b2, . . . , bm) be a basis for E m, and let a
m
X
E m, a 6= 0 be represented by a =
j bj . Without loss of generality,
j=1

suppose m 6= 0. Then b1, b2, . . . , bm1, a form a basis for E m.

Chapter 2: The Simplex Algorithm: Tableau and Computation

10

Determining the Departing Variable

Consider
the vector of coefficients of the nonbasic variable xk in XB =
P
B1b jJ (B1aj )xj and let
k = B1ak
The elements of vector k can be interpreted in two different ways.

Chapter 2: The Simplex Algorithm: Tableau and Computation

11

First, multiplying both sides by B yields

1,k
m
2,k X
=
j,k bj
ak = Bk = (b1, b2, . . . , bm)
.
.
j=1
m,k
Recall that ak can be written uniquely as a linear combination of the
columns of the basis matrix B. Thus, the above equation identifies that, in
fact, the elements of k specify how to write ak as a linear combination of
the columns of B. Therefore, ak may be exchanged with any column of bj
of B for which j,k 6= 0.

Chapter 2: The Simplex Algorithm: Tableau and Computation

12

Second, note that the rate of change of the basic variables with respect
to the nonbasic variable xk is given by
XB
= B1ak = k
xk
That is, if the nonbasic variable xk is increased from its current value of zero
while holding all other nonbasic variables at zero, then the basic variables
will change according to the relationship
XB = B1b + xk (B1ak ) = B1b xk k
And because all variables must remain nonnegative, it follows that
XB = B1b xk k 0
Chapter 2: The Simplex Algorithm: Tableau and Computation

13

Now let

1
2
1

B b==
..
m
Then

1
1,k
2
2,k
. xk . 0
.
.
m
m,k
and an upper bound on xk can be found quite easily as


i
: i,k
xk minimum
i,k

Chapter 2: The Simplex Algorithm: Tableau and Computation


>0

14

This process is termed the minimum ratio test and provides a very
simple method for determining the maximum value of the entering variable.
Essentially, we are finding the smallest value of the entering variable xk ,
which results in a basic variable assuming the value zero. The basic variable
that is forced to zero as a result of this increase in xk is called the departing
variable.

Chapter 2: The Simplex Algorithm: Tableau and Computation

15

Checking for Unbounded Objective


Suppose that xk is chosen as the entering variable. However, when
examining vector k for the minimum ratio test, we find that i,k 0, for
all i. Then from

1
1,k
2
2,k
. xk . 0
.
.
m
m,k
xk can be increased without bound, that is, as xk is increased from
its current value of zero, no basic variable decreases in value. Thus, if
zk ck < 0 and k 0, then the objective function can be increased
indefinitely and no finite optimal solution exists. In fact, the objective
function can be increased indefinitely by moving along the ray defined by
 1 


B b
k
+ xk
0
ek
Chapter 2: The Simplex Algorithm: Tableau and Computation

16

where

ek =

0
0
..
1
..
0

and the 1 appears in the kth position. Note that the vertex of this ray is
the current basic feasible solution that is given by


XB
XN


=

and the direction of the ray is given by



d=

k
ek

Chapter 2: The Simplex Algorithm: Tableau and Computation


=

B ak
ek

17

Example 1. Algebra of the Simplex Method


Let us again consider the following example from the previous
chapter.
maximize z = 2x1 + 3x2
subject to
x1 2x2 + x3 = 4
2x1 + x2 + x4 = 18
x2 + x5 = 10
x1, x2, x3, x4, x5 0

Also the feasible region is depicted below.


Chapter 2: The Simplex Algorithm: Tableau and Computation

18

x2

.
....
...
..
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
..
.........................................................................................................
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
.
....
...
.......
.
.
.
.
.
...
.
.....
.
.
.
.
.
...
.
.....
.
.
.
.
.
...
.
...
.......
...
.......
...
.......
.......
...
.......
.
.
.
.
.
...
.
.......
...
.......
.
.......
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
....
..
....
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...

T (0, 10)

x5 = 0

x1 = 0

S(4, 10)

x4 = 0

R(8, 2)
x2 = 0
x3 = 0
P (0, 0)
Q(4, 0)

Chapter 2: The Simplex Algorithm: Tableau and Computation

x1

19

We begin the solution process by choosing a convenient starting basis


matrix B. We do not want to choose an arbitrary matrix B, but instead,
because that solution will be determined by B1, we will always choose
the starting basis matrix B = I. Observe that this results in

1 0 0
B = (a3, a4, a5) = 0 1 0
0 0 1

x3
XB,1
XB = XB,2 = x4
x5
XB,3

Chapter 2: The Simplex Algorithm: Tableau and Computation

20

Now form the canonical representation by solving for z and XB in terms


of XN . Because B = I, this is a trivial process and yields
z

= 2x1 + 3x2

x3 = 4 x1 + 2x2
x4 = 18 2x1 x2
x5 = 10 x2

Chapter 2: The Simplex Algorithm: Tableau and Computation

21

The starting solution, which is obtained by setting the nonbasic variables


equal to zero, can be summarized as follows:
z

= 0

14
x3
XB,1
XB = XB,2 = x4 = 18
10
x5
XB,3

  
x1
0
XN =
=
x2
0

1 0 0
B = (a3, a4, a5) = 0 1 0
0 0 1

Chapter 2: The Simplex Algorithm: Tableau and Computation

22

Observe that this starting solution corresponds to extreme point P , the


origin. This can be seen quite readily by noting that x1 and x2 are the
nonbasic variables.
z
= (z1 c1) = 2 > 0 (z1 c1) = 2 < 0
x1
z
= (z2 c2) = 3 > 0 (z2 c2) = 3 < 0
x2
Thus, increasing either of the nonbasic variable x1 or x2 will increase
the values of z and the current solution is not optimal. Because
z/x2 > z/x1, we will choose to increase x2 (that is, x2 is the
entering variable.) The next step is to find the departing variable using
the minimum ratio test. Note that the nonnegativity restrictions are not
included in the canonical representation and must be enforced implicitly.
As x2 is increased, we must ensure that x3, x4 and x5 remain nonnegative.
Because nonbasic variable x1 is being held at zero, we see that the values
Chapter 2: The Simplex Algorithm: Tableau and Computation

23

of the basic variables are given by

2
x3
14
XB = x4 = x22 = 18 x2 1 0
1
10
x5
From this equation, x3/x2 = 2, and thus x3 increases 2 units for
each unit increase in x2. Therefore, x3 will always remain positive as
x2 increased. However, this is not true of x4 and x5 because x4/x2 =
1 and x5/x2 = 1. Notice from the above equation that x4 will
remain nonnegative as long as x2 18/1, and similarly, x5 will remain
nonnegative as long as x2 10/1. Thus, by the minimum ratio test, the
maximum value of x2 is equal to minimum {18, 10} = 10. Equation x5 =
10 x2 is called the blocking equation and x5 is called the blocking
variable, or departing variable. A new canonical representation is
now derived by solving for z and the new set of basic variables in terms
of the new set of nonbasic variables. This can be done by solving for
Chapter 2: The Simplex Algorithm: Tableau and Computation

24

x2 = 10 x5 in the blocking equation and using this representation of


x2 to eliminate x2 from the remaining equations. This process is called
a pivot and results in the new canonical representation:

= 2x1 + 3(10 x5) = 30 + 2x1 3x5

x3 = 4 x1 + 2(10 x5) = 24 x1 2x5


x4 = 18 2x1 (10 x5) = 8 2x1 + x5
x2 = 10 x5
Chapter 2: The Simplex Algorithm: Tableau and Computation

25

The current solution and basis matrix can be summarized as follows:


z

= 30

24
x3
XB,1
XB = XB,2 = x4 = 8
10
x2
XB,3

  
x1
0
XN =
=
x5
0

1 0 2
B = (a3, a4, a2) = 0 1 1
0 0 1
Note that a2 has replaced a5 in the basis matrix B. Also observe, that
graphically, we have moved from extreme point P to extreme point T .
This solution is not yet optimal because (z1 c1) = 2 < 0. Thus,
x1 is chosen as the entering variable. As before, the basic variables can
Chapter 2: The Simplex Algorithm: Tableau and Computation

26

be written as

1
x3
24
XB = x4 = x11 = 8 x1 2 0
0
10
x2

From this equation, x3 will remain nonnegative as long as x1 24/1 =


24, and similarly, x4 and x2 will remain nonnegative as long as x1
8/2 = 4 and x1 , respectively. Therefore, the minimum ratio test
yields the minimum {24, 4} = 4 and x4 is the departing variable. The
Chapter 2: The Simplex Algorithm: Tableau and Computation

27

pivot operation results in


z = 38

XB
XN

=

=

XB,1

XB,2

XB,3

x4
x5


=

0
0

x3
x1
x2

20
= 4
10

1 1 2
B = (a3, a1, a2) = 0 2 1
0 0 1
Note again that the basis matrix has changed by one column.
The algebraic process just described is usually summarized in tabular
form. These tabular formats are referred to as the simplex tableau.
Chapter 2: The Simplex Algorithm: Tableau and Computation

28

The Simplex Method in Tableau Form

Consider again the canonical form


z
XB

= cB B1b (cB B1N cN )XN


= B1b B1NXN

Now, rearranging terms so that all variables are on the left-hand side of the
equation, with the constants on the right-hand side, we have
z + (cB B1N cN )XN
XB + B1NXN

Chapter 2: The Simplex Algorithm: Tableau and Computation

= cB B1b
= B1b

29

The simplex tableau is simply a table used to store the coefficients of the
algebraic representation in the above equations. The top row of the tableau
consists of the coefficients in the objective function, and the body of the
tableau records of the coefficient of the constraint equations. The general
form is shown in the following table.
z

z
1

XB
0

XN
cB B1N cN

RHS
cB B1b

XB

B1NXN

B1b

Chapter 2: The Simplex Algorithm: Tableau and Computation

30

Identifying B1 from the Simplex Tableau

Observe that each xj column in the above tableau is of the form

xj


zj cj
j

xj


1
cB B aj cj
=
B1aj

That is, each original aj column is updated by multiplying B1 to get


B1aj , and zj cj is computed by multiplying the updated column B1aj
by cB and then subtracting cj . This is an important observations for
two reasons. First, it identifies the key elements in constructing any
simplex tableau as B1 and cB along with the original data columns.
Second, because all the columns are updated by multiplying by B1, if
the original matrix A contains the identity matrix I, then B1 will occupy
Chapter 2: The Simplex Algorithm: Tableau and Computation

31

the position in the updated tableau that was occupied by I in the original
tableau. For example, suppose the original identity I = (ai, aj , ak ). Then
B1 = B1I = B1(ai, aj , ak ) = (B1ai, B1aj , B1ak ) = i, j , k .
Thus, B1 can be found by a suitable rearrangement of a subset of the
j columns. This provides a method for conveniently identifying B1 for a
given tableau.

Chapter 2: The Simplex Algorithm: Tableau and Computation

32

The Simplex Algorithm (Maximization Problem)

1. Check for possible improvement. Examine the zj cj values in the


top row of the simplex tableau. If these are all nonnegative, then the
current basic feasible solution is optimal; stop. If, however, any zj cj
is negative, go to Step 2.
2. Check for unboundedness. If for any zj cj < 0, there is no positive
element in the associated j vector (i.e. j 0), then the problem
has an unbounded objective value. Otherwise, finite improvement in the
objective is possible and we go to Step 3.
3. Determine the entering variable. Select as the entering variable, the
nonbasic variable with the most negative zj cj . Designate this variable
as xk . Ties in the selection of xk may be broken arbitrarily. The column
associated with xk is called the pivot column. Go to Step 4.
Chapter 2: The Simplex Algorithm: Tableau and Computation

33

4. Determine the entering variable. Use the minimum ratio test to


determine the departing basic variable. That is, let
r
= minimum
r,k

i
: i,k > 0
i,k

Row r is called the pivot row, r,k is called the pivot element, and the
basic variable, xB,r associated with row r is the departing variable. Go
to Step 5.
5. Pivot and establish a new tableau.
(a) The entering variable xk is the new basic variable in row r.
(b) Use elementary row operations on the old tableau so that the column
associated with xk in the new tableau consists of all zero except for a
1 at the pivot position r,k .
(c) Return to Step 1.

Chapter 2: The Simplex Algorithm: Tableau and Computation

34

Example 2. The initial tableau for the problem of the previous example
is given below.

z
x3
x4
x5

z
1
0
0
0

x1
-2
1
2
0

x2
-3
-2
1
1

x3
0
1
0
0

x4
0
0
1
0

x5
0
0
0
1

RHS
0
4
18
10

Because there are negative zj cj , the tableau is not yet optimal. And
since no j 0 associated with a zj cj < 0, finite improvement in the
objective is possible. The entering variable is x2 and to determine the
departing variable, we examine the ratios i/i, 2 where i, 2 > 0. We add
another column to the initial tableau for this process.
Chapter 2: The Simplex Algorithm: Tableau and Computation

35

z
x3
x4
x5

z
1
0
0
0

x1
-2
1
2
0

x2
-3
-2
1
1

x3
0
1
0
0

x4
0
0
1
0

x5
0
0
0
1

RHS
0
4
18
10

Ratio
18
10

Thus, the departing variable is in row 3 which is x5 and 1 is the pivot


element. We perform pivotal elimination and obtain the tableau below.
z
x3
x4
x2

z
1
0
0
0

x1
-2
1
2
0

x2
0
0
0
1

x3
0
1
0
0

Chapter 2: The Simplex Algorithm: Tableau and Computation

x4
0
0
1
0

x5
3
2
-1
1

RHS
30
24
8
10

Ratio
24
4
-

36

Recall from the previous section that B1 occupies that portion of the
tableau associated with the original identity. Note that I = (a3, a4, a5).
Thus, B1 = B1I = B1(a3, a4, a5) = (B1a3, B1a4, B1a5) =
(3, 4, 5). That is B1 is located beneath the slack variables x3, x4, x5.
For the tableau above, this corresponds to

B1

1 0 2
= 0 1 1
0 0 1

Going back to the simplex algorithm, we repeat the process since


z1 c1 < 0 and finite improvement in the objective is possible. This time,
the entering variable is x1 and the departing variable is x4. After the pivotal
elimination procedure, we obtain the tableau below.
Chapter 2: The Simplex Algorithm: Tableau and Computation

37

z
1

x1
0

x2
0

x3
0

x4
1

x5
2

RHS
38

5
2

20

x3

x1

1
2

x2

1
2

4
10

As before, the basis inverse can be identified as

1
5
1 2 2
B1 = 0 12 12
0 0
1
The solution given in the last table is now optimal.
Chapter 2: The Simplex Algorithm: Tableau and Computation

38

In fact, because zj cj > 0 for the nonbasic variables x4 and x5, then
this tableau represents the unique optimal solution. Thus, the optimal
solution is
z = 38
x1 = 4
x2 = 10
x3 = 20
x4 = 0
x5 = 0

Chapter 2: The Simplex Algorithm: Tableau and Computation

39

Example 3. Unbounded Objective


maximize z = 5x1 + 3x2
subject to
x1 + x2 4
x1 2x2 6
x1, x2 0

Adding slack variables results in

Chapter 2: The Simplex Algorithm: Tableau and Computation

40

maximize z = 5x1 + 3x2

subject to

x1 + x2 + x3 = 4
x1 2x2 + x4 = 6
x1, x2, x3, x4 0

The following tables present the first two tableaux when applying the
simplex algorithm to the preprocessed algorithm.
Chapter 2: The Simplex Algorithm: Tableau and Computation

41

z
x3
x4
z
x3
x1

z
1
0
0
1
0
0

x1
-5
-1
1
0
0
1

x2
-3
1
-2
-13
-1
-2

x3
0
1
0
0
1
0

x4
0
0
1
5
1
1

RHS
0
4
6
30
10
6

Ratio
6

The objective can be designated as unbounded because z2 c2 < 0


and 2 0
For a real-life problem, the next step would be to review the model.
Has an error been made in the constraint formulation, or more likely,
have we overlooked a limited resource or other restriction that when
included in the formulation will bound the objective value?

Chapter 2: The Simplex Algorithm: Tableau and Computation

42

Example 4. Alternative Optimal Solutions


maximize z = 2x1 + x2
subject to
2x1 + x2 8
x1 + x 2 5
x1, x2 0

Adding slack variables results in

Chapter 2: The Simplex Algorithm: Tableau and Computation

43

maximize z = 2x1 + x2

subject to

2x1 + x2 + x3 = 8
x1 + x2 + x 4 = 5
x1, x2, x3, x4 0

The tableaux for this problem are given below.


Chapter 2: The Simplex Algorithm: Tableau and Computation

44

z
x3
x4
z
x1
x4

z
1
0
0
1
0
0

x1
-2
2
1
0

x2
-1
1
1
0

x3
0
1
0
1

x4
0
0
1
0

RHS
0
8
5
8

1
2

1
2

1
2

1
2

Ratio
4
5

Note that the basic feasible solution is an optimal solution because


zj cj 0 for all j. However, note also that zj cj = 0 for the nonbasic
variable x2. Thus increasing x2 from its current value of zero will not
change the objective value. Entering x2 into the basis results in the
following tableau.
Chapter 2: The Simplex Algorithm: Tableau and Computation

45

z
x1
x2

z
1
1
0

x1
0
0
1

x2
0
1
-1

x3
1
-1
2

x4
0
0
1

RHS
8
3
2

Observe that we have moved from the optimal extreme point Q to the
optimal extreme point R in the following figure.
Chapter 2: The Simplex Algorithm: Tableau and Computation

46

x2

....
...
..
...
...
...
...
...
...
.
.......
.. ......
... .......
.....
...
.....
...
.....
.....
...
.....
...
.....
.....
...
.....
...
.....
...
.....
.....
...
.....
...
.....
.....
...
.....
...
.....
...
.....
.....
...
.....
...
.....
.....
...
.....
...
.....
...
.....
.....
...
.....
...
.....
.....
...
.....
...
.....
.....
...
.....
...
.....
.....
...
.....
...
.....
...
.....
.....
...
....
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
..
.....................................................................................................................................................................................................................................................................................................................................................................
...
...
...
...
...
...
...

S(0, 5)

R(3, 2)

...
...
...
...
...
...
...
...
...
...
...
...
..

Alternative Optima

P (0, 0)

Q(4, 0) x1

Chapter 2: The Simplex Algorithm: Tableau and Computation

47

Finding an Initial Basic Feasible Solution


Example 5. maximize z = 8x1 + 10x2
subject to
x1 x2 = 1
x1 + x2 9
1
x1 + x2 4
2
x1, x2 0

Converting the problem to standard form yields

Chapter 2: The Simplex Algorithm: Tableau and Computation

48

maximize z = 8x1 + 10x2


subject to
x1 x2 = 1
x 1 + x2 + x3 = 9
1
x1 + x2 x4 = 4
2
x1, x2, x3, x4 0
Therefore, the coefficient matrix is given by

1 1 0 0
A= 1 1 1 0
1 21 0 1

Chapter 2: The Simplex Algorithm: Tableau and Computation

49

Observe that the matrix A does not contain the identity as submatrix.
We cannot use B = I as a convenient starting basis. Artificial-variable
techniques were developed to find a starting basis feasible solution in
this all-too-common situation when a nice starting basis is not available.
In the following section, we present one of the most common artificialvariable techniques, the two-phase method.

Chapter 2: The Simplex Algorithm: Tableau and Computation

50

The Two-Phase Method

First, we create an identity submatrix by adding the necessary artificial


variables to the original constraints. For Example 5, it would be necessary
to add two artificial variables, say, x5 and x6, to constraints 1 and 3,
respectively. This would result in the following system of constraints.

x1 x2 + x5 = 1
x1 + x2 + x3 = 9
1
x1 + x2 x4 + x6 = 4
2
x1, x2, x3, x4, x5, x6 0
Chapter 2: The Simplex Algorithm: Tableau and Computation

51

Thus the coefficient matrix becomes

1 1 0 0 1 0
(a1, a2, a3, a4, a5, a6) = 1 1 1 0 0 0
1 12 0 1 0 1
Clearly, the identity submatrix is now available with I = (a5, a3, a6). Note
that it was not necessary to add an artificial variable to the second constraint
because x3 appears only in the second constraint with a coefficient of 1.
However, by adding these variables, we have changed the problem, and
in order to have a solution to the original problem, the artificial variables
must be zero. Thus, in phase I, an artificial objective function is used and
an attempt is made to drive all artificial variables to zero. This artificial
objective is to minimize the sum of the artificial variables. If all the artificial
variables cannot be driven to zero, then at least one constraint of the
original constraint is violated, and, consequently, the original problem is
infeasible.
Chapter 2: The Simplex Algorithm: Tableau and Computation

52

Phase II consists of replacing the artificial objective function by the


original objective function and using the basic feasible solution in phase I
as a starting point. If no artificial variables were left in the basis at the end
of phase I, we simply perform the simplex algorithm until an optimum is
reached. If, however, an artificial variable was in the basis (at a zero value)
at the conclusion of phase I, we slightly modify the departing-variable rule.
The specific steps of the two-phase algorithm follow and are illustrated via
some examples.

Chapter 2: The Simplex Algorithm: Tableau and Computation

53

The two-phase algorithm

1. Establish the problem formulation in a suitable form for the


implementation of the simplex algorithm.
2. The artificial objective function of phase I is to maximize the negative
sum of the artificial variables.
3. Phase I: Employ the simplex algorithm on the problem constructed in
Steps 1 and 2. If, at optimality, there are no artificial variables in the
basis at a positive value, go to Step 4. Otherwise, the problem is
infeasible and we stop.
4. Phase II: Assign the actual objective function coefficient to each variable
except for the artificial variables. Any artificial variables in the basis at a
Chapter 2: The Simplex Algorithm: Tableau and Computation

54

zero level are given a cj value of zero in phase II. Any artificial variables
that are not in the basis may be dropped from consideration by striking
out their entire associated column in the tableau.
5. The first tableau of phase II is the final tableau of phase I except for the
objective row. Update the objective row using the relationships
zj cj = cB B1aj cj = cB j cj
z = cB B1b = cB
6. If no artificial variables were in the basis at the end of phase I, we now
simply use the simplex algorithm and proceed as usual. If, however, there
are artificial variables in the basis, go to Step 7.

Chapter 2: The Simplex Algorithm: Tableau and Computation

55

7. We must make sure that the artificial variables in the basis do not
ever become positive in phase II. This is accomplished by modifying the
departing variable rule of the simplex algorithm as follows:
(a) Determine the entering variable xk in the usual manner.
(b) Examine the entering variable column ak = B1ak . If the i,k values
for any of the artificial variables left in the basis are negative, then
choose an artificial variable with a negative i,k as the departing
variable. Otherwise, employ the usual departing variable rule.

Chapter 2: The Simplex Algorithm: Tableau and Computation

56

Example 6. The Two-Phase Algorithm


Returning to Example 5, we see that the phase I problem is as follows:
maximize Z = x5 x6 minimize x5 + x6
subject to
x1 x2 + x5 = 1
x1 + x2 + x3 = 9
1
x1 + x2 x4 + x6 = 4
2
x1, x2, x3, x4, x5, x6 0

Chapter 2: The Simplex Algorithm: Tableau and Computation

57

Note that x5 and x6 are artificial variables, whereas x3 and x4,


are respectively, slack and surplus variables in the original formulation.
Notice also that the objective function of the phase I problem includes
only the artificial variables.

z1 c1 = cB B1a1 c1

z2 c2 = cB B1a2 c2

z3 c3 = cB B1a3 c3

1
= (1 0 1) 1 0 = 2
1

1
1
= (1 0 1) 1 0 =
2
1
2

0
= (1 0 1) 1 0 = 0
0

Chapter 2: The Simplex Algorithm: Tableau and Computation

58


z4 c4 = cB B1a4 c4 = (1 0 1)

z5 c5 = cB B1a5 c5 = (1 0 1)

z6 c6 = cB B1a6 c6 = (1 0 1)

Z = cB B1b = (1 0 1)

Chapter 2: The Simplex Algorithm: Tableau and Computation

0
0 0=1
1

1
0 (1) = 0
0

0
0 (1) = 0
1

1
9 = 5
4

59

The result of phase I is given below.


Z
x5
x3
x6
Z
x1
x3
x6
Z
x1
x3
x2

Z
1
0
0
0
1
0
0
0
1
0
0
0

x1
-2
1
1
1
0
1
0
0
0
1
0
0

x2
1
2

-1
1
1
2
23

-1
2
3
2

0
0
0
1

x3
0
0
1
0
0
0
1
0
0
0
1
0

x4
1
0
0
-1
1
0
0
-1
0
32
4
3
32

Chapter 2: The Simplex Algorithm: Tableau and Computation

x5
0
1
0
0
2
1
-1
-1
1

x6
0
0
0
1
0
0
0
1
0

1
3
1
3
23

2
3
43
2
3

RHS
-5
1
9
4
-3
1
8
3
0
3
4
2

Ratio
1
9
4

4
2

60

Since zj cj 0 for all j, the last table is optimal. Because Z = 0,


then all the artificial variables have been driven to zero. Also, because
the artificial variables, x5 and x6, have been driven from the basis, their
columns may be dropped from the phase II tableau. Updating the
objective row using the original objective coefficients, we begin phase
II with the last table of phase I. Note that we only need to compute
z4 c4 and z because x1, x2 and x3 are basic variables.

z4 c4 = cB B1a4 c4 = (8 0 10)

32
4
3
23

0 = 12

3
z = cB B1b = (8 0 10) 4 = 44
2

Chapter 2: The Simplex Algorithm: Tableau and Computation

61

Phase II is given below.

z
x1
x3
x2
z
x1
x4
x2

z
1
0
0
0
1
0
0
0

x1
0
1
0
0
0
1
0
0

x2
0
0
0
1
0
0
0
1

x3
0
0
1
0
9
1
2
3
4
1
2

Chapter 2: The Simplex Algorithm: Tableau and Computation

x4
-12
32
4
3
32

0
0
1
0

RHS
44
3
4
2
80
5
3
4

Ratio

62

Since zj cj 0 for all j, we have found the optimal solution:


z = 80
x1 = 5
x2 = 4
x3 = 0
x4 = 3

Chapter 2: The Simplex Algorithm: Tableau and Computation

63

Example 7. An Infeasible Problem


maximize z = 5x1 + x2
subject to
2x1 + x2 5
x2 1
2x1 + 3x2 6
x1, x2 0

The resulting phase I problem is given as

Chapter 2: The Simplex Algorithm: Tableau and Computation

64

maximize Z = x6 x7
subject to
2x1 + x2 x3 + x6 = 5
x2 x4 + x 7 = 1
2x1 + 3x2 + x5 = 6
x1, x2, x3, x4, x5, x6, x7 0

Chapter 2: The Simplex Algorithm: Tableau and Computation

65

Phase I:
Z
x6
x7
x5
Z
x1
x7
x5
Z
x1
x7
x2

Z
1
0
0
0
1
0
0
0
1
0
0
0

x1
-2
2
0
2
0
1
0
0
0
1
0
0

x2
-2
1
1
3
-1
1
2

1
2
0
0
0
1

x3
1
-1
0
0
0
21
0
1
1
2
43
21
1
2

x4
1
0
-1
0
1
0
-1
0
1
0
-1
0

Chapter 2: The Simplex Algorithm: Tableau and Computation

x5
0
0
0
1
0
0
0
1

x6
0
1
0
0
1

1
2
14
12
1
2

1
2
3
4
1
2
12

1
2

0
-1

x7
0
0
1
0
0
0
1
0
0
0
1
0

RHS
-6
5
1
6
-1

Ratio

5
2

5
1

1
1
12

5
2

1
2

9
4
1
2
1
2

66

The final tableau indicates optimality, but Z is not zero (because


artificial variable x6 is in the basis at a positive value). Consequently, this
problem, as modeled, is mathematically infeasible and we may terminate
the solution procedure. The feasible region of the original problem is
graphed below, and clearly the feasible region is empty.

Chapter 2: The Simplex Algorithm: Tableau and Computation

67

x2

.
....
...
..
...
...
...
...
.
.
.
..
.
.
.... ...
.
.
.
.
.
...
....
........
...
...
...
...
...
...
...
..
...
... ....
... ...
... ..
... ...
... ..
.....
...
.
.........
... ...
... ....
... ....
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
.
.
.
.......
...
.
.
.
.
.
.
...
... .........
.
.
.
.
.
.
.
.
...
...... ..
...
...... .
...
........
...
...
...
.... ...........
...
......
...
...
......
...
...
......
...
......
...
......
...
...
......
...
......
...
...
......
.
...
.
.
......
...
......
....
....
....
......
..
...
..
...
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
......
...
....
......
...... .....
...
...... ..
...
...... ...
........
...
......
...
.........
... ........
...
... .......
...
......
...
...
......
...
...
..
.
.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
......
...
....
......
...
......
...
...
......
...
......
...
...
......
...
......
...
......
...
...
.....
...
...
...
.......
.
...
......
.....
.
.
...
.
.
.
.
.
...
.
... ...........
...
......
...
...
...
...
....
..
...
...
...
...
...
...
...
...
...
...
...
...
...
...

x1

Chapter 2: The Simplex Algorithm: Tableau and Computation

68

Example 8. Artificial Variables Left in the Basis

Our final illustration of the two-phase method involves a problem in


which an artificial variable remains in the basis, at zero value, at the end
of phase I. This is often caused by redundant constraints in the model
formulation.

The table below is the first tableau, for a particular problem of phase
II. Variables x6 and x7 are artificial variables and are both in the basis
at zero values. Under normal simplex rules, variable x2 would enter the
basis and x4 would leave, resulting in both x6 and x7 going positive.
This would result in an infeasible solution.
Chapter 2: The Simplex Algorithm: Tableau and Computation

69

z
x1
x6
x4
x7
z
x1
x6
x2
x7

z
1
0
0
0
0
1
0
0
0
0

x1
0
1
0
0
0
0
1
0
0
0

x2
-3
-1
-2
3
-1
0
0
0
1
0

x3
3
3
1
-1
0
2

x4
0
0
0
1
0
1

x5
2
1
3
-1
2
1

8
3
1
3
31
31

1
3
2
3
1
3
1
3

2
3
7
3
13
5
3

x6
0
0
1
0
0
0
0
1
0
0

x7
0
0
0
0
1
0
0
0
0
1

RHS
6
3
0
9
0
15
6
6
3
3

Ratio

However, using the modified departing variable rule of the two-phase


method, we would select either x6 or x7 as the departing variable. You
are asked to complete the operations of phase II.

Chapter 2: The Simplex Algorithm: Tableau and Computation

70

The Big-M Method


The Big-M method is a technique that essentially combines the phase I
and phase II problems of the two-phase method into a single problem. This
is done by including the artificial variables in the original objective function
with cost coefficients that implicitly try to drive the artificial variables to
zero. To illustrate, consider the following example.
Example 9. The Big-M Method
minimize z = 3x1 + x2 + 4x3
subject to
x1 + x2 + x3 12
4x1 x2 + x3 6
x1, x2, x3 0
Chapter 2: The Simplex Algorithm: Tableau and Computation

71

Converting the problem to a maximization problem and preprocessing


the constraints yields
maximize z 0 = 3x1 x2 4x3
subject to
x1 + x2 + x3 x4 = 12
4x1 x2 + x3 x5 = 6
x1, x2, x3, x4, x5 0
Because neither column of the identity is available, we supplement the
problem with two artificial variables, x6 and x7, and form the Big-M
problem:

Chapter 2: The Simplex Algorithm: Tableau and Computation

72

maximize z 0 = 3x1 x2 4x3 M x6 M x7


subject to
x1 + x2 + x3 x4 + x6 = 12
4x1 x2 + x3 x5 + x7 = 6
x1, x2, x3, x4, x5, x6, x7 0

Chapter 2: The Simplex Algorithm: Tableau and Computation

73

We now solve this problem by the standard simple procedure, while


assuming that M is a large positive number.

z1 c1 = cB B1a1 c1 = (M M )
1

z2 c2 = cB B




a2 c2

z3 c3 = cB B1a3 c3
z4 c4 = cB B1a4 c4

1
4


+ 3 = 5M + 3


1
= (M M )
+1=1
1
 
1
= (M M )
+ 4 = 2M + 4
1


1
= (M M )
0=M
0

Chapter 2: The Simplex Algorithm: Tableau and Computation

74

0
0=M
1
 
1
+M =0
z6 c6 = cB B1a6 c6 = (M M )
0
 
0
z7 c7 = cB B1a7 c7 = (M M )
+M =0
1


12
1
z = cB B b = (M M )
= 18M
6
z5 c5 = cB B1a5 c5 = (M M )

The following table present the initial tableau.

z0
x6
x7

z0
1
0
0

x1
5M + 3
1
4

x2
1
1
-1

x3
2M + 4
1
1

Chapter 2: The Simplex Algorithm: Tableau and Computation

x4
M
-1
0

x5
M
0
-1

x6
0
1
0

x7
0
0
1

RHS
18M
12
6
75

The details to arrive at the final tableau below is left as an exercise.

z0

x1

x2

x3

x4

x5

x6

x7

RHS

z0

11
5

1
5

2
5

M 57

M 25

106
5

x2

3
5

54

1
5

4
5

15

42
5

x1

2
5

51

15

51

1
5

18
5

Because all zj cj 0 and the artificial variables have value zero, then
the above table represents the optimal solution to the original problem.
Chapter 2: The Simplex Algorithm: Tableau and Computation

76

Thus,
z = z 0 = (

106
106
)=
5
5

18
5
42
=
5
= 0

x1 =
x2
x3

x4 = 0
x5 = 0
The use of M as the objective coefficient for artificial variables serves
its purpose, but at the cost of tedious hand calculations. It also presents
problems when using the computer. On the computer, M must be assigned
some numerical value that must be considerably larger than any of the other
Chapter 2: The Simplex Algorithm: Tableau and Computation

77

objective coefficients. If M is too small, we might obtain a solution with


an artificial variable in the basis at a positive value (signifying an infeasible
problem) when actually the problem is feasible. However, if M is too large,
it may tend to dominate the zj cj values. Roundoff errors (inherent in
any digital computer) could well result and impact the final solution. For
these reasons, the Big-M method is seldom used in practice. The two-phase
method was developed to avoid, or at least alleviate these difficulties.

Chapter 2: The Simplex Algorithm: Tableau and Computation

78

Unrestricted Variables and Variables With Negative


Lower Bounds

All of the material presented so far has stressed that all variables must
be restricted to nonnegative values when employing simplex algorithm. This
restriction is one that may easily be circumvented by simple substitutions.
For example, if xk is an unrestricted variable, we may simply let

x k = x+

x
k
k

where
xk +

x+
,
x
k
k 0

Chapter 2: The Simplex Algorithm: Tableau and Computation

79


Wherever xk appears in the problem, we substitute x+

x
k
k . Because

the columns associated with x+


and
x
k
k are linearly dependent (one column
is simply the negative of the other), at most one can appear in the basis at

a positive value. If x+
k is in the basis, then xk 0, whereas if xk is in the
basis, then xk 0.

In a similar way, we can also handle variables with negative lower bounds.
For example, suppose xl 5. Then we simply let
x0l = xl + 5 0
Whenever xl appears in the problem, we substitute x0l 5. Both of these
techniques are illustrated in the following example.

Chapter 2: The Simplex Algorithm: Tableau and Computation

80

Example 10. Unrestricted


Negative Lower Bounds

Variables

and

Variables

With

maximize z = 3x1 + x2
subject to
2x1 + 3x2 4
2x1 + x2 8
4x1 x2 16
x1

unrestricted

x2 4

+
Let x02 = x2 + 4 0. Also let x1 = x+
1 x1 , where x1 , x1 0.
Now transform the original problem by substituting x2 = x02 4 and

x1 = x+

x
1
1 . This results in
Chapter 2: The Simplex Algorithm: Tableau and Computation

81

0
0
maximize z = 3(x+

x
)
+
(x

4)
=
3x
+
3x
+
x
2
24
1
1
1
1

subject to

0
2(x+

x
)
+
3(x
2 4) 4
1
1

0
2(x+

x
)
+
(x
2 4) 8
1
1

0
4(x+
1 x1 ) (x2 4) 16
0
x+
,
x
1
1 , x2 0

The constant (4) in the objective has no effect on the optimization


process; therefore, let z 0 = z + 4. Simplification and the addition of slack
variables yields

Chapter 2: The Simplex Algorithm: Tableau and Computation

82


0
maximize z 0 = 3x+
+
3x
+
x
2
1
1

subject to

0
2x+
1 + 2x1 + 3x2 + x3 = 16

0
2x+

2x
1
1 + x2 + x4 = 12

0
4x+

4x

x
2 + x5 = 12
1
1
0
x+
1 , x1 , x2 , x3 , x4 , x5 0

The initial tableau is shown below.


z0
x3
x4
x5

z0
1
0
0
0

x+
1
3
-2
2
4

x
1
-3
2
-2
-4

x02
-1
3
1
-1

Chapter 2: The Simplex Algorithm: Tableau and Computation

x3
0
1
0
0

x4
0
0
1
0

x5
0
0
0
1

RHS
0
16
12
12
83

After using the simplex algorithm, the final tableau is obtained. This is
shown below.

z0
x
1
x4
x5

z0
1
0
0
0

x+
1
0
-1
0
0

x
1
0
1
0
0

x02

x3

7
2
3
2

3
2
1
2

4
5

1
2

Chapter 2: The Simplex Algorithm: Tableau and Computation

x4
0
0
1
0

x5
0
0
0
1

RHS
24
8
28
44
84

Thus, the optimal solution to the original problem can be recovered as


z = z 0 4 = 24 4 = 20

x1 = x+

x
1
1 = 0 8 = 8

x2 = x02 4 = 0 4 = 4
x3 = 0
x4 = 28
x5 = 44

Chapter 2: The Simplex Algorithm: Tableau and Computation

85

Degeneracy and Cycling

Recall that a degenerate basic feasible solution is one in which at least


one basic variable has a value of zero. This does not mean that anything
is wrong with the solution. However, degeneracy could possibly create two
related problems:
1. The objective function z may not improve when we move from one basis
to another.
2. We might, in fact, cycle forever (repeating a sequence of bases) and not
ever reach the optimal solution.
We illustrate the concept of a degenerate extreme point and a degenerate
pivot via the following example.
Chapter 2: The Simplex Algorithm: Tableau and Computation

86

Example 11. Degeneracy maximize z = 4x1 + 3x2


subject to
2x1 + x2 8
x1 + x 2 5
x1 x 2 4
x1 4
x1, x2 0

Preprocessing, we have

Chapter 2: The Simplex Algorithm: Tableau and Computation

87

maximize z = 4x1 + 3x2

subject to

2x1 + x2 + x3 = 8
x1 + x 2 + x4 = 5
x1 x 2 + x5 = 4
x 1 + x6 = 4
x1, x2, x3, x4, x5, x6 0

The feasible region for this problem is graphed below.


Chapter 2: The Simplex Algorithm: Tableau and Computation

88

x2

....
...
..
...
...
...
...
...
...
...
.........
.
.
.
...
.
... ........
.
.
.
.
...... ....
.....
...... ..
.......
.
...............
.........
... ........
....... .....
......
...
.......
...
......
.......
...
...
......
...
......
...
...
......
...
......
...
...
......
...
......
...
...
......
...
...
......
...
......
...
...
......
...
...
......
...
...
......
...
......
...
...
......
...
......
...
...
......
...
......
...
...
......
...
...
......
...
...
......
...
......
...
..
......
...
...... ....
...... ...
...
...... ...
...
........
...
.........
......
...
.........
...
... .......
...
... ......
... .......
...
......
...
...
...
...
...
... .........
.......
...
........
.......
.... ..............
...
...
...
...
.....
...
...
.....
..
...
.
...
.....
.
.
.
.
.
...
.
...
....
...
...
...
.....
... ...
...
.....
... ...
.....
...
... ..
.....
.
.
.
...
.
.
... .. .....
...
... .. .....
.... .....
..
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
.. ..
.
...
.
... .... ....
.
.
.
...
.
.
..... ... ....
...
....
.... .....
...
.....
...
.....
...
...
.....
...
.
.
.
.
.
.
...
...
.....
....
...
...
.....
.
.
.
......
.
...
.
.
...
.
...... .......
.
...
.
...
.........
.
....
...
......
... ..............
...
... ...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
..
..............
...
...
...
...
...
...
...
...
...
...
.

S(0, 5)
x4 = 0

x1 = 0

R(3, 2)

x3 = 0

P (0, 0)

x2 = 0

x5 = 0

Q(4, 0)

x1

x6 = 0

Chapter 2: The Simplex Algorithm: Tableau and Computation

89

Obviously, in this case, constraints 3 and 4 are redundant and have


no effect on the feasible region. However, detecting such redundant
constraints is not an easy task for problems of nontrivial size. Let
us ignore this redundancy so that we can illustrate the concept of a
degenerate extreme point. Because m = 4 and n = 6, each basic feasible
solution will be characterized by n m = 2 nonbasic variables. Observe,
however, that extreme point Q has x2 = x3 = x5 = x6 = 0. Thus, there
are C24 = 6 basic feasible solutions representing Q. The following table
gives the simplex tableaux.

Chapter 2: The Simplex Algorithm: Tableau and Computation

90

z
x3
x4
x5
x6
z
x3
x4
x1
x6
z
x3
x4
x1
x2
z
x5
x4
x1
x2
z
x5
x6
x1
x2

z
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0

x1
-3
2
1
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0

x2
-2
1
1
-1
0
-5
3
2
-1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1

x3
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
2
1
-1
0
1
1
-2
-1
0
-1

Chapter 2: The Simplex Algorithm: Tableau and Computation

x4
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
3
1
-1
2

x5
0
0
0
1
0
3
-2
-1
1
-1
-2
1
1
0
-1
0
1
0
0
0
0
1
0
0
0

x6
0
0
0
0
1
0
0
0
0
1
5
-3
-2
1
1
-1
-3
1
1
-2
0
0
1
0
0

RHS
0
8
5
4
4
12
0
1
4
0
12
0
1
4
0
12
0
1
4
0
13
3
1
3
2

Ratio
4
5
4
4
0
1
2
0
0
1

1
4

91

Note that in the initial tableau, x1 chosen as the entering variable, and
the minimum ratio test results in a three-way tie. That is, each of x3, x5
or x6 could be chosen as the departing variable. This should be the signal
that the next basic feasible solution will be degenerate. Choosing x5 as
the departing variable results in a degenerate solution which represents
extreme point Q. Note that as expected, the basic variables x3 and x6
are equal to zero. After the first iteration, x2 is chosen as the entering
variable. This results in a minimum ratio of zero with either x3 or x6 as
the departing variable. Choosing x6 as the departing variable results to
the next tableau. Note that although the basis has changed, the values
of all the variables are the same, and this new solution is also a basic
feasible solution representing extreme point Q. Continuing the simplex
procedure, we see that after an additional degenerate pivot, we eventually
end up with the optimal solution in the final tableau corresponding to
the extreme point R.
In this example, we saw that in the presence of degeneracy, it is
possible to perform pivot operations and remain at the same extreme point.
Chapter 2: The Simplex Algorithm: Tableau and Computation

92

Although, this example did not exhibit the phenomenon of cycling it is


theoretically possible for degeneracy to lead a computational loop or cycle
that is repeated infinitely. In practice, however, this has not occurred in
actual problems and is highly unlikely to present a problem.
In the absence of degeneracy, the simplex method is guaranteed to stop
a finite number of iterations. This follows directly because there are a
finite number of extreme points and each nondegenerate pivot forces the
objective function to strictly increase. Thus, it is not possible to visit the
same extreme point twice.
However, in the presence of degeneracy, finite convergence is only
guaranteed if a cycling-prevention is employed. The basic idea behind
cycling-prevention rules is to provide a method for breaking ties in the
minimum ratio test in such a way that it is not possible to repeat a basis
matrix during a sequence of degenerate pivots.

Chapter 2: The Simplex Algorithm: Tableau and Computation

93

EXERCISES.
1. Consider the following linear programming problem.
maximize z = 4x1 + 3x2
subject to
x1 + x2 6
2x1 + x2 20
x1 + x2 12
x1, x2 0
(a) Solve this problem graphically.
(b) Solve this problem by the algebraic simplex method and at each
iteration, identify the corresponding extreme-point solution on the
graph.
Chapter 2: The Simplex Algorithm: Tableau and Computation

94

(c) Identify the basic variables, the nonbasic variables, and the basis matrix
B at each iteration.
2. Consider the following constraint set.
x2 9
x1 x2 5
2x1 + x2 22
x1, x2 0
(a) Sketch the feasible region.
(b) Identify the basic variables, the nonbasic variables, and the basis matrix
associated with each extreme point of the feasible region.
(c) Suppose that x2 and the slack variable in the second constraint are
the nonbasic variables defining the current extreme-point solution. If
x2 is chosen as the entering variable, what would be the departing
Chapter 2: The Simplex Algorithm: Tableau and Computation

95

variable and which extreme point would correspond to the next basic
feasible solution?
3. Consider the following linear programming problem.
maximize z = x1 + 2x2
subject to
x1 + x2 16
x1 + x2 5
x1 12
x1 + 3x2 16
x1, x2 0
(a) Solve this problem graphically.
(b) Solve this problem by the algebraic simplex method.
Chapter 2: The Simplex Algorithm: Tableau and Computation

96

(c) Solve this problem by the simplex algorithm using the simplex tableau.
4. Solve the following linear programming problem by the simplex algorithm.
minimize z = 3x1 4x2 x3 2x4 3x5
subject to
x1 + x2 + x3 x4 + 2x5 12
x1 2x2 x3 x4 x5 30
x1, x2, x3, x4, x5 0
5. Solve the following linear programming problem by the simplex algorithm,
identifying the basis matrix B and the basis inverse B1 at each iteration.
Is the optimal solution unique? Explain.
maximize z = x1 + 2x2 + 5x3 + x4
Chapter 2: The Simplex Algorithm: Tableau and Computation

97

subject to
x1 + 2x2 + x3 x4 20
x1 + x2 + x3 + x4 12
2x1 + x2 + x3 x4 30
x1, x2, x3, x4 0
6. Consider the following linear programming problem.
maximize z = 2x1 + 2x2
subject to
x2 10
x1 3x2 2
x1 + x2 16
x1, x2 0
Chapter 2: The Simplex Algorithm: Tableau and Computation

98

(a) Verify graphically that this problem has alternative optimal solutions.
(b) Use the simplex algorithm to find all alternative optimal solutions.
7. Three products A, B, and C, are made using two manufacturing processes.
The unit production times in hours are given in the following table. The
time available for Process 1 is 36 hours, and for Process 2 is 40 hours.
Products A, B, and C sell for $9, $6, and $8, respectively. In addition,
it is estimated that no more than 6 units of Product C can be sold.
Formulate a linear programming problem for determining the optimal
product mix, and solve by the simplex method.

Product
A
B
C

Unit
times
Process 1
2
1
2

Chapter 2: The Simplex Algorithm: Tableau and Computation

production
(hours)
Process 2
2
3
1
99

8. Consider the basic solution defined by the following tableau. Suppose


that the objective function of this problem is given by maximize z =
c1x1 + c2x2. Give mathematical condition(s) in terms of c1 and c2 such
that the given basic feasible solution is the unique optimal solution.

x3
x1
x2

x1
0
1
0

x2
0
0
1

x3
1
0
0

x4
12

x5

1
2

5
2
21

RHS
20
4
10

9. Consider the following linear programming problem.


maximize z = 5x1 + 2x2
subject to
Chapter 2: The Simplex Algorithm: Tableau and Computation

100

x1 12
x1 + 2x2 8
x2 8
2x1 + 3x2 36
x1, x2 0

(a) Solve this problem graphically.


(b) Solve this problem by the simplex algorithm.

10. Consider the optimal tableau below. Characterize mathematically the set
of all optimal solutions to this problem.
Chapter 2: The Simplex Algorithm: Tableau and Computation

101

z
x1
x4
x2

z
1
0
0
0

x1
0
1
0
0

x2
0
0
0
1

x3
3
0
3
-1

x4
0
0
1
0

x5
0
12
1
12

x6
4
1
2

0
12

RHS
8
4
4
2

11. Consider the following problem.


maximize z = 4x1 + x2
subject to
2x1 3x2 12
4x1 + x2 8
x1, x2 0
(a) Verify graphically that this problem does not have a finite optimal
solution.
Chapter 2: The Simplex Algorithm: Tableau and Computation

102

(b) Use the simplex method to show that this problem does not have a
finite optimal solution.
(c) Use your final tableau to construct an extreme direction of the feasible
region, AX = b, X 0.
12. Once a variable departs from a basis (during the simplex procedure), can
it ever return (i.e., become, once again, basic)? Explain.
13. Consider the basic solution defined by the following tableau. Suppose
that the objective function of this problem is given by maximize z =
c1x1 + c2x2. Give a mathematical condition(s) in terms of c1 and c2
such that the given basic feasible solution indicates that no finite optimal
solution exists.
14. Consider the following problem.
maximize z = 2x1 + x2
subject to
Chapter 2: The Simplex Algorithm: Tableau and Computation

103

x1 + 2x2 10
x1 6
x1 + x2 14
x1 x2 6
x1, x2 0
(a) Sketch the feasible region and identify any degenerate extreme points.
(b) For each extreme point, specify all possible basis matrices.
(c) Solve the problem by the simplex algorithm.

15. Consider the following problem.


maximize z = 7x1 + 3x2 + 2x3
subject to
Chapter 2: The Simplex Algorithm: Tableau and Computation

104

4x1 + x2 + x3 18
3x1 + 2x2 + x3 14
x1, x2, x3 0
Let the slack variables for the respective constraints be denoted by x4
and x5. The tableau below represents the current basic solution.

z
x1
x3

z
1
0
0

x1

x2

x3

x4
1
1
-3

x5
1
-1
4

RHS

(a) Identify the basis inverse corresponding to the given tableau.


(b) Determine the values of the missing entries in the tableau.
(c) Is the tableau optimal? If so, is the optimal solution unique?
16. Consider the following problem.
Chapter 2: The Simplex Algorithm: Tableau and Computation

105

maximize z = 2x1 x4 5x5 + 2x7


subject to
x1 + x3 2x5 x7 = 12
x1 + x2 + x4 + 3x5 x7 = 6
2x1 2x4 + +6x5 + x6 + 4x7 = 18
x1, x2, x3, x4, x5, x6, x7 0
The tableau below represents the current basic solution.
z
1
0
0
0

x1
0
0
0
1

x2
1
3
1
1

x3
1
1
0
1

x4
0
1
0
0

Chapter 2: The Simplex Algorithm: Tableau and Computation

x5
a
b
c
d

x6
1
1
1
2
1
2

x7
0
0
1
0

RHS
e
f
g
h
106

(a) Identify the basic variables and the basis inverse corresponding to the
given tableau.
(b) Determine the values of the unknowns in the tableau.
(c) What is the range of change of z with respect to x2 (i.e. z/x2)?
(d) What is the range of change of x7 with respect to x6 (i.e. x7/x2)?
17. Consider the following problem.
maximize z = 2x1 + x2
subject to
x 1 + x2 6
x1 + 3x2 24
x2 2
x 1 x2 8
x1, x2 0
Chapter 2: The Simplex Algorithm: Tableau and Computation

107

(a) Sketch the feasible region and find the optimal solution graphically.
(b) Solve the problem by the two-phase method and track the sequence
of solutions on the graph. Note that each solution corresponds to a
basic (but not necessarily feasible) solution of the problem.
18. Consider the following problem.
maximize z = 2x1 + x2
subject to
x1 x2 10
2x1 + 3x2 24
2x1 + x2 12
x1, x2 0
(a) Verify graphically that this problem is infeasible.
Chapter 2: The Simplex Algorithm: Tableau and Computation

108

(b) Use phase I of the two-phase method to show that the problem is
infeasible.
19. Solve the following problem by the two-phase method.
minimize z = 2x1 5x2 + x3
subject to
x1 + x2 + x3 5
x1 x2 + x3 = 1
5x1 + 3x2 x3 9
x1, x2, x3 0
20. Consider the following problem.
minimize z = 7x1 + 3x2 + 4x3
Chapter 2: The Simplex Algorithm: Tableau and Computation

109

subject to
x1 + x2 10
2x1 + 2x2 + x3 40
2x1 + x2 x3 = 22
x1, x2, x3 0
(a) Solve this problem by the two-phase method.
(b) Solve this problem by the big-M method.

21. The tableau below represents a basic feasible solution of a linear


programming problem in which the objective is maximize z = 10x1
12x2 + 8x3 and x4, x5 and x6 are the slack variables for the respective
constraints.
Chapter 2: The Simplex Algorithm: Tableau and Computation

110

z
x1
x2
x6
(a)
(b)
(c)
(d)
(e)

z
1
0
0
0

x1
0
1
0
0

x2
a
b
c
0

x3
d
1
-2
3

x4
2
e
-1
-1

x5
6
3
f
1

x6
0
0
0
1

RHS
88
10
g
8

Determine the values of the unknowns in the tableau.


Identify B1
What is the rate of change of z with respect to x5 (i.e. z/x5)?
What is the rate of change of x2 with respect to x3 (i.e. x2/x3)?
Without explicitly finding vectors a1, a2 and a6, write vector a3 as a
linear combination of a1, a2 and a6.

22. Consider the following problem.


maximize z = 5x1 + x2
subject to
Chapter 2: The Simplex Algorithm: Tableau and Computation

111

x1 x2 9
x1 x2 2
2x1 + x2 12
x1 0
x2

unrestricted

(a) Solve this problem graphically


(b) Transform the problem so that all variables are nonnegative and solve
the resulting problem by the simplex algorithm. Derive the solution to
the original problem.
23. Consider the following problem.
maximize z = x1 2x2 + 3x3
subject to
Chapter 2: The Simplex Algorithm: Tableau and Computation

112

x1 x2 + x 3 8
x1 x2 x3 12
x1 2
x2 0
x3

unrestricted

(a) Transform the problem so that all variables are nonnegative.


(b) Solve the transformed problem by the simplex algorithm.
(c) Use the solution found in part (b) to derive the optimal solution of
the original problem.
24. Consider the following problem.
maximize z = 2x1 4x2 + 7x3
subject to
Chapter 2: The Simplex Algorithm: Tableau and Computation

113

x 1 x2 + x3 = 2
x1 + x2 + 2x3 10
x 1 + x2 x3 6
x1, x2, x3 0
(a) Solve this problem by the two-phase method.
(b) Solve this problem by the big-M method.

25. Solve the following problem by the simplex method.


maximize z = x1 + 5x2 + x3 + 2x4
subject to
Chapter 2: The Simplex Algorithm: Tableau and Computation

114

2x2 + x3 + 3x4 100


3x1 + x2 + 2x3 + x4 900
x1 x2 + x3 4x4 = 300
x1, x2, x3, x4 0

26. Consider the following linear programming problem and the associated
optimal tableau shown below.
maximize z = c1x1 + c2x2 + c3x3
subject to
a1,1x1 + a1,2x2 + a1,3x3 b1
a2,1x1 + a2,2x2 + a2,3x3 b2
x1, x2, x3 0
Chapter 2: The Simplex Algorithm: Tableau and Computation

115

z
x3
x1

z
1
0
0

x1
0
0
1

x2
2
-5
3

x3
0
1
0

x4
1
-2
1

x5
1
2
3
2
12

RHS
11
3
1

Find the values of the ai,j , bi and cj .


27. Consider the following system of linear equations in the form AX = b,
where A is m m.

2x1 2x2 + x3 = 2
2x1 + x2 2x3 = 3
x1 + x2 + x3 = 6
(a) Use phase I of the two-phase method to find the unique optimal
solution to this system.
Chapter 2: The Simplex Algorithm: Tableau and Computation

116

You might also like