5-1
Chapter 5
Sensitivity Analysis
Section 5.1 Examples in Sensitivity Analysis
Problem to be discussed
Suppose a linear programming problem has been solved.
Question How do the
changes in coefficients of objective function,
changes in constant terms of constraints,
addition of a new variable, &
addition of a new constraint
affect the optimal value and the optimal solution?
Such a problem is called Sensitivity Analysis or Postoptimality Analysis.
Main knowledge to be used: Duality Theorem.
Example 1 (Problem 7, Section 2.2)
A poultry producer has available two feeds. Need to determine the least
expensive adequate feeding diet.
Nutrition
A (units/pound) B (units/pound)
Feed 1
10
3
Feed 2
4
5
Daily nutritional
124
60
requirements
Variables:
x1
Number of pounds of Feed 1,
x2 Number of pounds of Feed 2.
Linear programming problem:
Minimize 16 x1 14 x2
Subject to
10 x1 4 x2 124
3x1 5x2 60
x1 , x2 0 .
Isocost lines:
16 x1 14 x2 C
Cost
(cents/pound)
16
14
5-2
8
Slope .
7
Slope
8
=
7
Slope =
5
2
Slope =
3
5
Minimum point = (10, 6),
Minimal value = 244.
Question
Suppose the costs of the two feeds vary due to market conditions.
When would (10, 6) still be the minimal cost diet?
Note: Here the two coefficietns of the objective function are changed.
Discussion
5
3
Slope of the isocost line
2
5
(10, 6) would still be the minimal cost diet.
Let
c1 denote the cost of Feed 1,
c2 denote the cost of Feed 2.
The isocost lines are
c1 x1 c2 x2 C
c
Slope 1 .
c2
If c1 and c2 satisfy
5
c
3
3 c 5
1 1 ,
2
c2
5
5 c2 2
5-3
then (10, 6) is still the minimal cost diet.
Example 2 (Example 1a, Section 2.3)
A boat manufacturer produces rowboats and canoes. Determine a
maximal profit production schedule.
A Rowboat
A Canoe
Limitation
Aluminum
(lb)
50
30
2000
Resources
Machine
Time (min)
6
5
300
Finishing
Labor (hr)
3
5
200
Profit ($)
50
60
(assume that the profit is calculated by deducting all costs of resources from
the revenue)
Variables
R Number of rowboats
C Number of canoes
Linear Programming problem:
Maximize z 50R 60C
Subject to
50R 30C 2000
6R 5C 300
3R 5C 200
R, C 0 .
Maximum point = (25, 25),
Maximal value = $2750.
Question
Suppose the boat manufacturer can purchase more aluminum, so more boats
can be produced. How would the profits from the additional sales compare
with the cost of the extra aluminum?
Discussion: Use the Duality Theorem.
The dual problem:
Minimize v 2000 y1 300 y2 200 y3
Subject to
50 y1 6 y2 3 y3 50
30 y1 5 y2 5 y3 60
y1 , y2 , y3 0 .
5-4
7
75
, y 2 0, y3 .
16
8
Minimal value of v = $2750.
Minimum point: y1
Duality
Max z = Min v
7
75
= 2000 ( ) 300(0) 200 ( )
16
8
7
75
as long as ( , 0, ) is an optimal solution for the dual problem, then
16
8
for each available pound of aluminum above the original 2000 pounds,
7
Min v = Max z increases $( ) = 44 cents.
16
The manufacturer should be willing to pay for additional aluminum up to
about 44 cents/lb more than he paid for the original 2000 lb of aluminum.
Theorem
For example, if he can purchase 48 lb for only $15 more than the original
cost of 48 lb of aluminum,
7
he can increase his sales by $( ) 48 = $21.
16
he has a net gain of $6.
Further analysis
75
y3
9.38
8
Each hour of finishing labor would increase profits by $9.38.
y2 = 0
an increase in available machine time over the original 300 min will
provide no increase in profits.
Note: The optimal solution to the original problem, R = C = 25, utilizes all
of 2000 Lb of aluminum and 200 hr of labor, but only 275 of the available
300 min of machine time. The machine time is an underutilized resource.
So,increasing its availability has no effect on profits.
7
75
, 0, .
Shadow prices or marginal values of the 3 resources are:
16
8
These values provide estimates on effects of changes in the constant terms of
constraints on the optimal value.
Note: Once the changes in the constant terms of the original problem effect a
change in the optimal solution to the dual problem, these marginal values
will change. In the above example, if the constant terms 2000, 300 and 200
5-5
7
75
, 0, ) ,
16
8
and the increased profit cannot be estimated by the above analysis.
change too much, then the dual optimal solution would not be (
5-6
Section 5.2 Matrix Representation of the Simplex Algorithm
Task of this section:
Develop formulas which yield any simplex tableau data in terms of the
original data.
Standard form of a linear programming problem in matrix notation
Minimize z c x z0
Subject to Ax b, x 0
Let A( j ) denote the j-th column of A.
n
( j)
Then Ax b x j A b .
j 1
Initial tableau (in standard form)
A
b
c
z0
After pivoting, the resulting tableau (in canonical form)
A*
b*
c*
z0*
Suppose the basic variables are x j (1) , x j ( 2 ) ,......, x j ( m ) .
Define
B [ A j (1) , A j ( 2) ,..., A j ( m ) ] ,
c B [c j (1) , c j ( 2 ) ,..., c j ( m ) ] ,
B R mm
c R 1m
We will show that
A*=B-1A,
b*=B-1b,
*
1
c*=c −cBB-1A, z0 z0 c B B b
5-7
The resulting tableau is
B-1A
c−cBB-1A
B-1b
z0 c B B 1b
Example (See the example of Section 3.3)
Minimize z 5 x1 3x4 2 x5 21
Subject to
6 x1
x3 2 x4 2 x5 6
3x1 x2
6 x4 3x5 15
x1 , x2 , x3 , x4 , x5 0 .
Table 5.5 gives the initial and final tableau:
In the final tableau
j (1) = 5, j (2) = 1,
2 6
( 5)
(1)
B
[
A
,
A
]
,
3
3
cB [c5 , c1 ] 2 5 .
5-8
1
B
1 3
12 3
1
1
B A 4
1
4
6
2
1
2 ,
1
6
1
4
1
4
1
2 6 0 1 2 2
1 3 1 0 6 3
6
1
1 7
1
0
2
4
2
A* ,
1 1 1 3 0
4 2
6
1
B 1b 4
1
4
1
2 6 6 b* ,
1 15 1
6
c cB B 1 A c cB A* [5, 0, 0, 3, 2] [ 2, 5] A*
[5, 0, 0, 3, 2] [5,
[0,
1
6,
3 1
,
, 2]
4 2
1 3 5
,
,
, 0] c * ,
6 4 2
z 0 c B B 1b z 0 c B b * 21 (7) 14 z 0* .
[ 2,
6
5]
1
Effectiveness of these formulas in sensitivity analysis
Suppose a given problem is resolved using the simplex algorithm, and there
are some changes on the original data A, b, c, or z0 .
Use these
*
determine the effect on A*, b*, c* and z0
formulas
We can determine if the former optimal solution remains optimal, and if
not, we can work from this tableau to re-solve the modified problem.
A quick way to derive the formulae
Let
N = the submatrix of A corresponding to the columns not in the final basis.
5-9
In the example,
N [ A( 2)
Let
A(3)
A( 4) ] (the order does not matter)
x B be the ordered basic variables ( x j (1) , x j (2) ,......, x j (m) )T ,
x N be the non-basic variables.
and
Divide c into cB & cN in the same way.
In the example,
x2
x5
xB , x N x3 ,
x
x1
4
cB c5 , c1 2, 5 , cN c2 , c3 , c4 0, 0, 3.
n
Ax b A( j ) x j b Bx B NxN b ,
j 1
n
c x c j x j cB xB c N x N .
j 1
After the pivot operations,
Ax b A* x b*
i.e. Bx B NxN b Ix B N * xN b* , (1)
where N* & b* are determined by pivot operation uniquely.
As B
I
Rank B = Rank I = m
B is nonsingular, i.e. B-1 exists
1
1
B ( Bx B NxN ) B b
1
1
Ix B B NxN B b .
(2)
Compare (1) and (2),
b* B 1b ,
A* ( I , N * ) ( B 1 B, B 1 N ) B 1 ( B, N ) B 1 A ,
i.e. A* [ B 1 A(1) , B 1 A( 2) , , B 1 A( n) ] .
The last row: after the pivot operations,
z is expressed by nonbasic variables xN :
z c x z0 c B x B c N x N z0
c B ( B 1b B 1 NxN ) c N x N z0
5-10
i.e.
(c N cB B 1 N ) x N z z0 cB B 1b . (3)
If we express the last row of the resulting tableau as
c * x z z0*
i.e. cB* x B c*N x N z z0* ,
(4)
then by comparing (3) and (4),
z0* z0 cB B 1b ,
c*N cN cB B 1 N ,
(5)
cB* 0 cB cB B 1B ,
(5) & (6)
c ( cB ,
*
*
(6)
c*N )
(cB , c N ) cB B 1 ( B, N )
c cB B 1 A ,
i.e. for j 1, , n ,
c*j c j cB B 1 A( j ) .
Conclusion
All data in any tableau can be expressed by
(1) The original data A, b, c and
(2) B-1, where B is the columns of A corresponding to the basic variables of
the last tableau.
Note that if the initial tableau contains an identity matrix, it shall be
transformed to B-1:
A ( B, ?, I )
pivot
operations
A* ( I , B 1 ?, B 1 ) .
So, to find B 1 we only need to identify the columns in the initial tableau
which form the identity matrix (notice their order) and write down the values
of these columns in the last tableau. In the example, as we see in Table 5.5
that, the x3 and x 2 columns form the matrix I. Hence from the last tableau,
these two columns (note that the first column is the x3 column) form B 1 .
Note: The above formulas lead to another approach to the simplex process
(called revised simplex method). Instead of using the full tableau to record
the results of each step, we simply record the original data along with the B-1
matrix.
Problem Set 5.2: 3; 6; 7.
5-11
Section 5.3 Changes In the Objective Function
Problem to be discussed:
Suppose the problem
Minimize z c x z0
Subject to Ax b, x 0
has been solved using the simplex method with the final tableau:
A*
b*
c*
z0*
*
and x is the associated optimal basic feasible solution. Suppose one or more
of the original coefficients of the objective function are changed.
Question: How does the change affect the already computed optimal
solution?
Discussion
*
*
Changes in c can induce changes only in c and z 0 .
If the modified c 0 x is still an optimal solution;
If not, more iterations may be necessary to complete the modified problem.
*
*
Example 1
Maximize z 11x1 4 x2 x3 15x4
Subject to
3x1 x2 2 x3 4 x4 28
8x1 2 x2 x3 7 x4 50
x1 , x2 , x3 , x4 0 .
Slack variables: x5 , x6 .
Table 5.6 gives the initial and final simplex tableaux.
5-12
The maximal value is z 106 , attained at x * = (0, 4, 0, 6).
Change 1 c1 11 (11 ) .
the coefficient of x1 in the objective function (Min Problem)
Effect:
x1 is not a basic variable in the final tableau
cB [15,4] would not alter. The only change would be c1* in c :
*
c1* c1 cB A*(1)
any increase or decrease in c1 would generate exactly the same change
*
in c1 .
In the final tableau,
3 c1* c1 cB A*(1) 11 cB A*(1) .
c1 11 (11 )
*
*(1)
the modified c1 (11 ) cB A 3 .
if
if
*
3 , then the modified c1* 0 , x is still an optimal solution;
3 , then the modified c1* 0 , and more iterations would be
*
necessary. Computation could begin in the final tableau with c1 modified.
Table 5.7 gives the situation of
4.
5-13
Maximal value z 106
attained at (
Change 2
4
,
11
4
8
, 0, 0, 6 ) .
11
11
c4 15 (15 ) .
x4 is a basic variable
cB [ 15 , 4]
In this case, not only c 4 * , but all components in vector c * may change.
c* c cB A*
[ 11, 4, 1, 15 , 0, 0] [ 15 , 4] A*
[ 11, 4, 1, 15, 0, 0] [ 15, 4] A* (~ former c* )
[0, 0, 0, , 0, 0] [ , 0] A*
[3, 0, 2, 0, 2, 1] [ 2, 0, 5, 0, 2, ]
[3 2, 0, 2 5, 0, 2 2, 1 ] .
If 3 2 0, 2 5 0, 2 2 0 and 1 0 ,
*
the new c 0 .
Thus, if -
2
1, , then x * (0, 4, 0, 6) is still an optimal solution with
5
Max z 4(4) (15 )6 106 6 .
Example 2 An aluminum can company must produce monthly at least
2400 cases of a can of type A; and
2800 cases of a can of type B.
The company has three processes available for production, and it must use
600 lb of recycled aluminum monthly. The data about the 3 processes are as
follows.
5-14
Table 5.1
Output
Process 1
Process 2
Process 3
Input
Recycled
Al (lb)
Type A
(cases)
Type B
(cases)
Per Hour
Cost
($)
0
2
3
6
12
10
8
12
15
65
150
200
To obtain the most economical operation, set variables:
xi --- the number of hours that process i is used (i = 1,2,3),
and the problem can be formulated as the following LP problem.
Min 65x1 150 x2 200 x3
s.t. 6 x1 12 x2 10 x3 2400
8x1 12 x2 15x3 2800
2 x2 3x3 600
x1 , x2 , x3 0 .
By introducing slack variables x 4 and x5 , and artificial variables x 6 , x 7 and
x8 , the problem is solved by the simplex method, and the first and the last
tableau are shown below.
So, the company can meet its demand at a monthly cost of $41,250 by using
Process 2 for 75 hours; and
Process 3 for 150 hours,
and an extra 350 cases of type B cans would be produced.
5-15
Now if the labor’s payment has to be raised so that the costs of the 3
processes increase,
Question: Would the present production schedule need to be modified?
Suppose each hour of processes 1, 2, and 3 needs 1, 4, and 8 hours of labor,
respectively, and the labor payment increases by $λ/ hr.
Changes in the costs of processes are:
cost (per hour) of Process 1 65 ,
cost (per hour) of Process 2 150 4 ,
cost (per hour) of Process 3 200 8 .
Thus
c* c cB A*
[65 , 150 4 , 200 8 , 0, 0] [150 4 , 200 8 , 0] A*
1
1
[46 , 0, 0, 3 , 0] [ , 4 , 8 , 0, 0] [4 , 8 , 0] A*
4
8
1
1
[46 , 0, 0, 3 , 0] [ , 4 , 8 , 0, 0]
4
8
3
[ , 4 , 8 ,
, 0]
2
4
1 5
1
[46 , 0, 0, 3 , 0] .
4
2
8
4
100
As long as
12.50 , the optimal production schedule will remain
8
unchanged, i.e., 75 hr for Process 2 and 150 hr for Process 3 at a monthly
cost
75(150 4 ) 150(200 8 ) 42,250 1500 .
Problem Set 5.3: 2; 4.
5-16
Section 5.4
Addition of a New Variable
Problem to be discussed:
Suppose the problem
Minimize z c x z0
Subject to Ax b, x 0
has been solved using the simplex method, with the final tableau
A*
b*
c*
z0*
*
and x is the associated optimal basic feasible solution. Suppose another
variable, say xn 1 , is added to the original problem. The expanded problem is
Minimize z c x cn1 xn1 z0
x
( n1)
b
Subject to [ A, A ]
xn1
(1)
x 0, xn1 0 .
x*
Obviously, is a basic feasible solution to (1).
0
x*
Question: Does provide an optimal solution to the expanded problem?
0
Discussion:
*
1 ( n 1)
0,
If cn1 cn1 cB B A
x*
0 is an optimal solution to (1).
x*
*
If cn 1 0, then is not an optimal solution to (1).
0
*(n1)
B 1 A( n1) .
To complete the problem, calculate A
5-17
Note: the new variable could measure the amount of goods to be shipped by
a newly opened shipping line, or a new product for which a market has just
been developed. In our previous example, if a new process, process 4, for
producing aluminum cans can be taken into account, then we would have a
new variable x 4 .
Example (Problem (1), Section 5.3)
Maximize z 11x1 4 x2 x3 15x4
Subject to
3x1 x2 2 x3 4 x4 28
8x1 2 x2 x3 7 x4 50
x1 , x2 , x3 , x4 0 .
The optimal solution is (0, 4, 0, 6).
Now introduce the new variable, x7 , and the expanded problem is
Maximize z 11x1 4 x2 x3 15x4 12 x7
Subject to
3x1 x2 2 x3 4 x4 3x7 28
8x1 2 x2 x3 7 x4 5x7 50
x1 , x2 , x3 , x4 , x7 0 .
(2)
Obviously, (0, 4, 0, 6, 0), i.e. x2 4, x4 6, x1 x3 x7 0, is a feasible
solution to (2).
2 1 3
c7* c7 cB B 1 A( 7 ) 12 [ 15, 4]
7
4
5
1 0 ,
2 1 3 1
A*( 7 ) B 1 A( 7 )
.
7 4 5 1
*(7 )
*
Adding A and c7 into the second tableau of Table 5.6, we get the first
tableau of Table 5.8. One more iteration is given in Table 5.8.
5-18
Maximal value z = 112,
attained at x2 10, x7 6, x1 x3 x4 0 .
Problem Set 5.4: 1.
5-19
Section 5.5 Changes In the Constant Term Column Vector
Problem to be discussed:
Suppose the problem
Minimize z c x z0
Subject to Ax b, x 0
has been solved using the simplex method, with the final tableau
A*
b*
c*
z0*
Now suppose b is changed.
Question: How does the change in b affect the computed optimal solution?
Discussion:
*
*
*
*
Changing b will affect b and z 0 , but not c and A .
*
1
bmod
ified B bmod ified
If bmod ified 0 , then since c 0 ,
The optimal solution to the modified problem will have the same basic
variables as the solution to the original problem, with the values given by
*
*
*
bmod
ified , and
*
( Min z ) mod ified cB bmod
ified z 0 .
Example (Example 1, Section 5.3)
Maximize z 11x1 4 x2 x3 15x4
Subject to
3x1 x2 2 x3 4 x4 28
8x1 2 x2 x3 7 x4 50
x1 , x2 , x3 , x4 0 .
Optimal solution = (0, 4, 0, 6), Max z =106.
Suppose b2 50 53 .
5-20
2 1 28
*
1
bmod
B
b
ified
mod ified
7
4
53
3
0 . (see Table 5.6 in Section 5.3 for
16
B 1 )
the optimal solution to the modified problem = (0, 16, 0, 3),
( Max z ) mod ified 4 16 15 3 109 .
Generalization
b2 50 50 ,
*
1
1 28
bgeneralize
B
b
B
d
generalized
50
28
0 6
B 1 B 1
50
4
4
6
.
4
4
Thus, as long as
6 0, and 4 4 0
i.e., 1 6
The optimal solution to the generalized problem is
(0, 4 4, 0, 6 ) ,
( Max z ) generalized 4( 4 4 ) 15(6 ) 106 .
If [ 1, 6] , then more pivots are required.
Say 7 , i.e.
b2 50 57 ,
6 1
*
bmod
, which is not non-negative
ified
4
4
32
(0, 32, 0, -1) is a solution to the two modified inequality constraints, but
not feasible, as it does not satisfy the non-negative request.
We cannot continue from the (modified) last tableau of Table 5.6.
5-21
x4
x2
-2
0
5
1
2
-1
-1
11
1
-18
0
-7
4
32
3
0
2
0
2
1
113
This problem can be solved by the dual simplex method (see Section 5.6).
Problem Set 5.5: 1; 3.
5-22
Section 5.6 The Dual Simplex Algorithm
In the example of Section 5.5, if b2 50 57 , then
2 1 28 1
.
b * B 1b
7
4
57 32
The second tableau of Table 5.6 becomes
x1
x2
x3
x4
x5
x6
x4
−2
0
5
1
2
−1
−1
x2
11
1
−18
0
−7
4
32
3
0
2
0
2
1
113
The above tableau corresponds to the problem
Minimize z 3x1 2 x3 2 x5 x6 113
Subject to
2 x1
5x3 x 4 2 x5 x6 1
11x1 x2 18 x 3
7 x5 4 x6 32
x1 , x2 , x 3 , x4 , x5 , x6 0 .
(1)
Characterization of the above problem:
(a) The system of constraints is basically in canonical form with a specified
set of basic variables ( x4 , x2 ) , except that the constant term (i.e. the right
hand side) is not a non-negative vector.
(b) The objective function z is expressed in terms of nonbasic variables only,
and all c j 0 .
Below we explain how to solve the problem.
·Determine the Leaving Variable (i.e. Choose the Pivot Row)
Since x4 1 , choose x 4 as the leaving variable, i.e., row 1 should be the
pivot row.
In general, if the right-hand-side has several negative values, choose the
basic variable with the most negative RHS as the leaving variable.
·Determine the Entering Variable (i.e. Choose the Pivot Column)
The first equation (pivot row) is:
2 x1 5x3 x4 2 x5 x6 1
(1)
5-23
1. If all coefficients in the LHS of the pivot row are non-negative, then the
problem is infeasible (because the LHS for all non-negative variables is
non-negative, whereas the RHS is negative, impossible), stop.
For example, if equation (1) becomes
2 x1 5x3 x4 2 x5 x6 1
then the problem is infeasible. But now it is not this case. Return to
equation (1).
2. Choosing x 4 as leaving variable means that x 4 shall become a non-basic
variable and hence its value becomes 0. That is, the value of x 4 is
increased from -1 to 0. In equation (1), variables x3 and x5 have positive
coefficients. They cannot be selected as the entering variable. In fact if
1
1
x3 is chosen, x3 ; if x5 is chosen, x5 ; they are both negative,
5
2
and hence infeasible.
3. x1 and x 6 have negative coefficients in equation (1). If we choose one of
them as the entering variable, we would obtain x1
1
or x6 1 , which
2
are positive, and meet the feasibility request.
4. When we make a pivot, the bottom row shall also change, and in this
method, we should always keep the LHS of this row non-negative.
Consider columns x1 and x 6 , and row 1 and row c (the bottom row).
x1
x6
row 1
a11 2
a16 1
row c
c1 3
c6 1
5. If we choose x1 as the entering variable, the pivot element is a11 2 ,
new row c* row c c1
row 1
a11
c1* 0
c *6 c6 c1
a16
1
1
1 3
0
a11
2
2
which is not acceptable. Note that
c6 c1
a16
c
c
0, i.e. , 6 1
a11
a16 a11
If we choose x 6 as the entering variable, the pivot element is a16 1 ,
5-24
new row c* row c c6
row 1
a16
c *6 0
c1* c1 c6
a11
2
3 1
1 0
a16
1
which is acceptable. Note that
c1 c6
c
a11
c
0, i.e. 1 6
a16
a11 a16
Therefore, we see that the entering variable xs should meet the condition
cj
cs
max{
| a1 j 0} ,
a1s
a1 j
Or equivalently, determine s by the minimum ratio:
min{
cj
a1 j
| a1 j 0}
And in this example, as
c
c1
3 1
6
a11 2 1 a16
we should choose x 6 as the entering variable, i.e., the pivot element is
a16 1 .
The above new method is called dual simplex method.
Main Difference between Primal Simplex Method and Dual Simplex
Method
(Primal) Simplex Method
1. Always keep the RHS vector b 0
2. If in the bottom row, some c j 0 , then let the corresponding nonbasic
variable x j enter the basis and replace a basic variable (to be decided by
the minimum ratio rule).
3. When all c j 0 , we obtain an optimal solution.
Dual Simplex Method
1. Always keep the bottom vector c 0
5-25
2. If in the RHS column, some bi 0 , then let the corresponding (i.e., the
i-th) basic variable x k (i ) leave the basis and be replaced by an non-basic
variable (to be decided by the minimum ratio rule).
3. When all b j 0 , we obtain an optimal solution.
We now state the general algorithm for dual simplex method.
The Dual Simplex Algorithm
Consider
Minimize z c x z0
Subject to Ax b, x 0
(b is not necessarily 0)
0. Assume that
(a) The system of constraints is basically in canonical form with a specified
set of basic variables, except that some basic variables may have negative
values.
(b) The objective function z is expressed in terms of the nonbasic variables
only, and all c j 0 .
1. If all bi 0
the minimum value of the objective function has been attained.
2. If for some r, br 0 and arj 0 for all j
the problem has no feasible solution.
3. Otherwise, pivot.
The pivot term is determined as follows.
(a) pivot in row r:
br Min bi bi 0.
(b) pivot in column s:
c j
cs
Min
arj 0 .
ars
arj
4. Go to Step 1.
Note 1: After pivoting, the problem remains in the form described in step 0.
arj
*
c
c
cs
j
In fact, j
ars ,
and
If arj 0, then c j c j 0 .
*
ars 0 .
5-26
cj
arj
cs
a
0
,
then
c
cs 0
j
If rj
arj ars
ars
c j 0 for all j.
Note 2: Under the assumption of dual nondegenracy (i.e. for all non-basic
variable xi , ci 0 ), after a pivoting, the value of the objective function will
be increased. In fact
b
z0* z0 r cs ,
a rs
*
br 0, ars 0, cs 0 (due to dual nondegenaracy)
*
z0 z0
the new objective value z 0* > the previous objective value z 0 .
Since the number of basic solutions is finite
the algorithm will terminate after a finite number of pivots.
Example 3:
In Example 2 of Section 5.3, the aluminum can company has to increase its
monthly use of recycled aluminum from 600Lb to 768 Lb.
Question:
How does this increase affect the company’s operation?
Discussion:
The original problem:
Minimize 65 x1 150 x2 200 x3
Subject to
6 x1 12 x2 10 x3 2400
8 x1 12 x2 15 x3 2800
2 x2 3x3 600
x1 , x2 , x3 0 .
x1
x2
x3
x4
x5
x6
x7
x8
x6
6
12
10
−1
0
1
0
0
2400
x7
8
12
15
0
−1
0
1
0
2800
x8
0
2
3
0
0
0
0
1
600
65
150
200
0
0
0
0
0
0
1
0
0
1
x2
x3
9
8
3
4
3
16
1
8
0
0
3
16
1
8
0
0
5
8
3
4
75
150
5-27
x5
23
4
1
46
4
0
0
0
0
3
8
1
3
8
1
3
8
0
3
1
8
*
1
The modified b B bmodified
2400
0
1
1
B 2800 B 0
600
168
5
3
0
8 0 30
75 16
1
3
150
0
0 276 .
4
350 8
3
15 168 980
1
4
8
*
Here b1 30 0 .
The modified z0* [150( 30) 200(276)] 50700 .
Use the dual simplex algorithm:
Pivot term:
b1 30 0 pivot in the first row.
c j
c
Min
a1 j 0 4 pivot in the fourth column
a1 j
a14
the pivot term is a14
3
.
16
Min z = 51200,
Attained at (0, 0, 256, 160, 1040).
That is, use Process 3 for 256 hr.
Extra products:
160 cases of Type A can,
1040 cases of Type B can.
−1
15
4
0
56
350
1
4
−41250
5-28
Problem Set 5.6: 3; 6.
Section 5.7 Addition of a Constraint
Problem to be discussed
Suppose a linear programming problem has been solved by the
simplex method. Suppose a new constraint is added.
Question
Is the optimal solution found for the original problem still the
optimal solution to the expanded problem? If not, find a new
optimal solution.
Discussion
If the optimal solution found for the original problem satisfies the new
constraint
this solution is also optimal for the expanded problem.
If not, using the dual simplex algorithm to find a new optimal solution.
Example 1a
(Problem (1), Section 5.3)
Maximize: z 11x1 4 x2 x3 15x4
Subject to:
3x1
x2
2 x3
4 x4
28
8 x1
2 x2
x3
7 x4
50
x1 , x2 , x3 , x4 0.
5-29
The simplex algorithm yields Table 5.6:
x5
x6
x4
x2
x1
x2
x3
x4
x5
x6
3
8
−11
−2
11
3
1
2
−4
0
1
0
2
−1
−1
5
−18
2
4
7
−15
1
0
0
1
0
0
2
−7
2
0
1
0
−1
4
1
28
50
0
6
4
106
Max z 106 ,
attained at (0,4,0,6,0,0).
The second tableau corresponds to minimizing (−z) with
2 x1
11x1
5 x3
x2
3x1
x4
2 x5
x6
6
18 x3
7 x5
4 x6
4
2 x3
2 x5
x6
106 ( z )
(1)
Add a new constraint:
3x1 x2 3x4 20.
(2)
The point (0,4,0,6,0,0) does not satisfy (2).
Put the expanded problem in canonical form:
Introduce a slack variable to (2):
x7
3x1 x2 3x4 x7 20
(3)
Choose x4 , x2 and x7 to be basic variables.
Remove x4 and x2 from (3), that is,
(3) - (2nd equation in (1)) – 3 (1st equation in (1))
2 x1 3x3 x5 x6 x7 2
(4)
The expanded problem consists of (1) and (4). It is in the form for
which the dual simplex algorithm can be used.
Table 5.15
x4
x2
x7
x4
x1
x2
x3
x4
x5
x6
x7
−2
11
−2
3
0
0
1
0
0
0
5
−18
3
2
2
1
0
0
0
1
2
−7
1
2
1
−1
4
−1
1
0
0
0
1
0
−1
6
4
−2
106
8
5-30
x2
x6
3
2
1
x4
1
x3
1
2
1
2
7
2
x6
1
0
0
1
3
1
6
1
2
5
6
−6
−3
5
0
0
0
−3
−1
3
0
1
0
0
1
0
0
1
0
0
0
0
0
1
2
1
2
1
2
0
4
−1
1
1
3
2
3
−4
2
104
2
3
2
3
6
1
−3
4
0
13
3
100
2
3
2
3
Max z 100 ,
2
3
2
3
attained at (0,0, ,6 ,0,4) .
Example 1b
Instead of (2) , we add a constraint
4 x1 x2 4 x4 29.
(5)
The point (0,4,0,6,0,0) does not satisfy (5).
Introduce a slack variable to (5): x7
4 x1 x2 4 x4 x7 29
4 x1 x2 4 x4 x7 29 .
(6)
Choose x4 , x2 and x7 to be basic variables.
Remove x4 and x2 from (6), that is,
(6)+ (2nd equation in (1)) + 4 (1st equation in (1))
x1 2 x3 x5 x7 1.
(7)
The expanded problem consists of (1) and (7). It is in the form for which the
dual simplex algorithm can be used.
Table 5.16
x4
x2
x7
x4
x2
x1
x1
x2
x3
x4
x5
x6
x7
−2
11
−1
3
0
0
1
0
1
0
0
0
1
0
5
−18
2
2
1
4
−2
1
0
0
0
1
0
0
2
−7
1
2
0
4
−1
−1
4
0
1
−1
4
0
0
0
1
0
−2
11
−1
6
4
−1
106
8
−7
1
5-31
0
0
b2* 7 0,
8
0
5
1
3
103
a2 j 0 for all j
the expanded problem has no feasible solution.
Example 2 (Example 2, Section 5.3)
The aluminum can company wants each of the three processes to be used at
least 16hr/month.
Append to the previously completed problem (Table 5.2) the single
constraint
(8)
x1 16 .
Introduce a slack variable to (8): x9
x1 x9 16
x1 x9 16.
(9)
Adding (9) to Table 5.2 and applying the dual simplex algorithm, we get
Table 5.17.
Table 5.17
x2
x3
x5
x9
x1
9
8
3
4
23
4
x2
x3
1
0
0
1
0
0
−1
0
0
1
4
0
0
46
x4
3
16
1
8
3
8
x5
x9
0
0
0
0
1
0
0
0
1
0
0
0
3
9
8
3
4
23
4
3
16
1
8
3
8
1
8
3
16
1
8
3
8
3
0
x6
3
16
1
8
3
8
x2
0
1
0
x3
0
0
1
x5
0
0
0
x1
1
0
0
0
0
−1
0
0
0
0
3
1
8
0
46
1
4
3
0
1
Optimal solution = (16, 57, 162, 0, 442, 0)
x1 x2
x3
x4 x5
x6
1
8
1
8
x7
0
0
−1
x8
5
8
3
4
15
4
0
0
0
56
0
75
150
350
−16
1
4
−41,250
5
8
3
4
15
4
162
0
0
16
0
56
0
−1
57
442
1
4
−41,990
5-32
That is, using
16hr of Process 1,
57hr of Process 2,
162hr of Process 3.
Problem Set 5.7: 1;2;3.
© Copyright 2026 Paperzz