c03 LP Methods
c03 LP Methods
Sect.
2
LP1
3
LP2
4
LP2_Tab
5
LP3
6
LP3_Tab
7
Bland
Unbound
8
TwoPhase
9
Dual_Simplex
10
Matrix
11
Matrix1
TeachLP1
TeachLP2
TeachLP3
Page 1
Instructions
Chapter 3 Examples
Operations Research Models and Methods
Paul A. Jensen and Jonathan F. Bard
http://www.me.utexas.edu/~jensen/ORMM/computation/unit/mp_add/index.html
http://www.me.utexas.edu/~jensen/ORMM/methods/unit/linear/subunits/teach/index.html
Instructions
To use this workbook, you must first load the Math Programming add-in. See the Excel help file
topic "About add-ins" before continuing.
Some problems use the Teach LP add-in. See the Excel help file topic "About add-ins" before
continuing.
For cases using the LP/IP Solver you must first load the Jensen LP/IP Solver.
This workbook comes without control buttons. To make the buttons choose Add Buttons from
the Math Programming menu. This adds buttons to all the worksheets.
When you are moving a workbook to another computer, use the Remove Buttons command.
This simplifies opening the workbook on the other computer. Buttons are removed from all
worksheets.
This workbook comes without control buttons. To make the buttons choose Relink Buttons from
the Teach LP menu. This adds buttons to all Teach LP worksheets.
Simplex Tableau
Simplex Tableau for LP2
Special Events
Example with cycling
Unbounded Solution
Page 2
Instructions
Add-ins Used
Math Programming-Linear-LP/IP Solver
Math Programming-Linear-LP/IP Solver
Teach LP-Tableau
Math Programming-Linear-LP/IP Solver
Teach LP-Tableau
Teach LP-Tableau
Teach LP-Tableau
Teach LP-Tableau
Teach LP-Tableau - Dual Simplex option
Teach LP-Revised Simplex
Teach LP-Revised Simplex
Teach LP-Tableau
Teach LP-Revised
Teach LP-Interior
Page 3
Linear Model
1
0
1
1
0
100
100
0
60
Change
Name:
Type:
Goal:
Objective:
LP1
LP1
Max
20
Solve
Solver:
Type:
Sens.:
Side:
Variables
Name:
Values:
Lower Bounds:
Change Relation
Upper Bounds:
1
x+
2
y+
0
0
###
0
0
###
3
x10
0
###
-1
-1
Vary
Constraints
Num. Name
1
Con 1
2
Con 2
3
Con 3
4
Con 4
Value
-20
20
0
0
Rel.
<=
<=
<=
<=
RHS
20
20
20
20
Jensen LP/IP
Linear
No
No
Ph. 1 Iter.
0
Total Iter.
1
Comp. Time 00:01
Status Optimal
Linear Model
1
0
1
1
0
100
100
0
60
Change
Name:
Type:
Goal:
Objective:
LP2
LP1
Max
55
Solve
Solver:
Type:
Sens.:
Side:
Variables
Name:
Values:
Lower Bounds:
Change Relation
Upper Bounds:
1
X1
20
0
###
Vary
Constraints
Num. Name
1
Con 1
2
Con 2
3
Con 3
Value
-15
35
20
Rel.
<=
<=
<=
RHS
5
35
20
Jensen LP/IP
Linear
No
No
2
X2
5
0
###
3
Ph. 1 Iter.
0
Total Iter.
3
Comp. Time 00:00
Status Optimal
Phase:
Status:
1
X1
20
2
-1
1
1
2
X2
5
3
1
3
0
2
Iter.:
4
Optimal Solution
Row
Basic Basic
Number Index Variables
0
0
z
1
2
X2
2
1
X1
3
3
X3
3
X3
20
0
1
0
0
4
X4
5
X5
0
0
0
1
0
0
0 RHS
0
5
0
35
1
20
Press to restart
1
X1
z
1
0
0
0
0
0
1
0
Enter:
Name
3
X3
Leave:
Name
5
X5
2
X2
3
X3
4
X4
5
X5
0
1
0
0
0
1
1
0 0.333 -0.333
0
0
1
1 -0.333 1.333
Right
Side
55
5
20
20
Primal
Ratio
------20
Linear Model
1
0
1
1
0
100
100
0
60
Change
Name:
Type:
Goal:
Objective:
LP3
LP1
Max
70
Solve
Solver:
Type:
Sens.:
Side:
Variables
Name:
Values:
Lower Bounds:
Change Relation
Upper Bounds:
1
X1
10
0
###
2
X2
20
0
###
Vary
Constraints
Num. Name
1
Con 1
2
Con 2
3
Con 3
Value
30
40
50
Rel.
<=
<=
>=
RHS
30
40
10
Jensen LP/IP
Linear
No
No
Ph. 1 Iter.
1
Total Iter.
4
Comp. Time 00:01
Status Optimal
Phase:
Status:
1
X1
10
3
-1
2
1
2
X2
20
2
2
1
2
2
Iter.:
5
Optimal Solution
0
3
X3
0
4
X4
0
0
1
0
0
0
0
0
1
0
-1
5
6
X5
art1
40
0
0 -9999 RHS
0
0
30
0
0
40
-1
1
10
Press to restart
Enter:
Name
Row
Basic Basic
Number Index Variables
0
0
z
1
2
X2
2
5
X5
3
1
X1
1
X1
z
1
0
0
0
2
X2
0
0
0
1
0
1
0
0
2
X2
3
X3
0.2
0.4
0.6
-0.2
Leave:
Name
3
X3
4
X4
1.6
0.2
0.8
0.4
5
X5
0
0
1
0
6
art1
9999
0
-1
0
Right Primal
Side
Ratio
70 --20
20
40 --10 ---
Phase:
Status:
2
Iter.:
Not Optimal
1
X1
0
10
0.5
0.5
1
2
X2
3
X3
0
-57
-5.5
-1.5
0
17
Row
Basic Basic
Number Index Variables
0
0
z
1
3
X3
2
4
X4
3
7
X7
0
-9
-2.5
-0.5
0
4
X4
5
X5
0
-24
9
1
0
6
X6
0
0
1
0
0
7
X7
0
0
0
1
0
1
0 RHS
0
0
0
0
1
1
Press to iterate
z
1
0
0
0
1
X1
20
-2
-0.5
1
Enter:
Name
4
X4
Leave:
Name
2
X2
3
X3
4
X4
9
4
0.5
0
0
1
0
0
0
0
1
0
2
X2
5
X5
-10.5
0.5
0.25
0
6
X6
70.5
-4.5
-1.25
0
7
X7
0
0
0
1
Right Primal
Side
Ratio
0 --0 --0
0
1 ---
Phase:
Status:
2
Iter.:
Unbounded
0
2
X2
0
0
1
0
0
4
X4
34
0
0
1
0
3
X3
5
3
1
3
-3
5
X5
-1
6
art1
0
0
0 -9999 RHS
0
0
5
0
0
15
-1
1
2
Press to restart
Enter:
Name
Row
Basic Basic
Number Index Variables
0
0
z
1
2
X2
2
4
X4
3
1
X1
1
X1
z
1
0
0
0
2
X2
0
0
0
1
0
1
0
0
5
X5
3
X3
12
1
3
1.5
5
6
X5
art1
-3 10002
0
0
-2
2
-0.5
0.5
Right Primal
Side
Ratio
66 --5 --34 --8.5 ---
Phase:
Status:
0
-7
4
-2
2
X2
3.75
3
8
1
1
X1
2
Iter.:
4
Optimal Solution
-1
3
4
5
X3
art1
art2
0.75
0
0
0 -9999 -9999 RHS
0
1
0
30
-1
0
1
3
Press to restart
Enter:
Name
Row
Basic Basic
Number Index Variables
0
0
z
1
3
X3
2
2
X2
-1
z
1
0
0
1
X1
8.5
2.5
0.5
2
X2
3
X3
Leave:
Name
3
4
X3
art1
0 4E-008 9999
0
1 0.125
1
0 0.125
1
X1
5
Right
art2
Side
9999 11.25
-1
0.75
0
3.75
Primal
Ratio
--0.75
---
Phase:
Status:
2
Iter.:
Not Optimum
Free Iterations
1
X1
0
-5
1
-1
2
X2
1
-35
-1
-3
3
X3
4
X4
1
-20
-1
0
5
X5
0
0
1
0
0
0 RHS
0
-2
1
-3
Row
Basic Basic
1
Number Index Variables z
X1
0
0
z
1
20
1
2
X2
0 0.333
2
3
X3
0 -1.333
Dual Ratio --15
Enter:
Name
3
X3
2
X2
3
X3
0
1
0
---
0
0
1
---
Leave:
Name
1
X1
4
5
Right
X4
X5
Side
20
5
-55
0 -0.333
1
-1 0.333
1
20
---
Primal
Ratio
----1
1
X1
0
2
2
3
0
2
Iter.:
Not Optimal
2
X2
1
X1
1
X1
Red. Cost
inimum Reduced Cost
Column
Variable at Minimum
6
1.25
1
1
1
4
X4
5
X5
0
0
1
0
0
6
X6
0
0
0
1
0
Basic Variables
0
0 RHS
0
7
0
6
1
9
Basis
Press to iterate
3
X3
5
X5
2
X2
0 -0.083
-0.083
2
X2
Basic Solution
Objective Value
Z
8.5
1
X1
2
3
X3
1.5
5
X5
0
3
X3
0.5
3
2
0
6
Enter:
Name
3
X3
4
X4
0
5
X5
1
2
X2
Leave:
Name
1
X1
6
X6
0 0.167
Entering Variable X 2
Red. Cost -0.083
Entering C 1
0.333
Column C 2
0.167
C3
0
1
3
5
Basis Ratio
X1
6
X3
9
X5
---
he button
Basic Variables
cB
C1
C2
C3
1
X1
3
X3
2
2
3
0
5
X5
3
2
0
6
Minimum Ratio
Row
Basic Variable
Name
C1
0
0
1
0
6
1
1
X1
Basis
Inverse
X1
X3
X5
1
0.5
0
-1.5
C2
C3
0 0.167
0 -0.167
0 0.167
1
0.5
1
X1
2
X2
0
2
2
3
0
6
1.25
1
1
1
2
Iter.:
4
Optimal Solution
3
X3
0.5
3
2
0
6
5
X5
0
0
1
0
0
6
X6
0
0
0
1
0
Basic Variables
0
0 RHS
0
7
0
6
1
9
Basis
Press to restart
2
X2
5
X5
3
X3
2
X2
3
X3
Red. Cost
inimum Reduced Cost
Column
Variable at Minimum
1
X1
0.25
0
2
X2
Basic Solution
Objective Value
Z
9
2
X2
6
5
X5
0
3
X3
0.5
4
X4
Enter:
Name
4
X4
0 1.125
5
X5
Entering Variable
Red. Cost
Entering C 1
Column C 2
C3
X2
2
X2
Leave:
Name
1
X1
6
X6
0 0.125
0
1
0
0
2
5
3
Basis Ratio
X2
6
X5
--X3
---
he button
Basic Variables
cB
C1
C2
C3
2
X2
1.25
1
1
1
5
X5
3
X3
0
0
1
0
Minimum Ratio
Row
Basic Variable
Name
3
2
0
6
6
1
2
X2
Basis
Inverse
X2
X5
X3
C1
1.125
1.5
-1.5
-0.25
C2
C3
0 0.125
0
-0.5
1
0.5
0
0.25
Phase:
Status:
0
14
15
14
18
2
X2
1.185
3
0
14
0
1
X1
2
Iter.:
4
Optimal Solution
Row
Basic Basic
Number Index Variables
0
0
z
1
5
X5
2
2
X2
3
8
X8
0
3
X3
0
7
18
15
6
0
16
16
10
16
5
X5
2.765
19
17
11
12
4
X4
0
0
0
1
0
8
X8
8.824
0
0
0
1
4
5
X4
X5
1.807 8E-007
0.941
1
-0.025
8
4.706 ###
6
X6
1.601
0.118
0.122
2.588
6
X6
7
X7
0
1
2
3
4
Press to restart
z
1
0
0
0
1
X1
3.685
0.882
0.307
7.412
Enter:
Name
2
X2
2
X2
3
X3
13.84
1.059
0.239
-6.706
0
0
1
0
Leave:
Name
7
X7
7
X7
0.214
0
0.071
0
8
X8
0
0
0
1
9
art1
10000
0.059
-0.046
-0.706
Right Primal
Side
Ratio
56.08 --2.765 --1.185 1.185
8.824 ---
0
14
15
14
18
2
X2
1.185
3
0
14
0
1
X1
2
Iter.:
4
Optimal Solution
3
X3
0
7
18
15
6
0
16
16
10
16
5
X5
2.765
19
17
11
12
4
X4
0
6
X6
0
7
X7
0
1
2
3
4
0
0
0
1
0
-1
8
9
X8
art1
8.824
0
0 -9999
0
1
0
0
1
0
Press to restart
5
X5
2
X2
2
X2
Red. Cost
inimum Reduced Cost
Column
Variable at Minimum
1
X1
3.685
0
2
X2
Basic Solution
Objective Value
Z
56.08
5
X5
2.765
2
X2
1.185
8
X8
8.824
8
X8
Enter:
Name
3
4
X3
X4
0 13.84 1.807
5
X5
Entering Variable
Red. Cost
Entering C 1
Column C 2
C3
X2
Leave:
Name
7
X7
6
7
X6
X7
0 1.601 0.214
8
X8
0
0
1
0
2
X2
5
2
8
9
art1
0 10000
Basis Ratio
X5
--X2
1.185
X8
---
he button
RHS
47
47
42
Basic Variables
cB
Basis
C1
C2
C3
5
X5
19
17
11
12
2
X2
3
0
14
0
8
X8
0
0
0
1
Basis
Inverse
X5
X2
X8
C1
C2
0.979 0.214
0.059
0
-0.05 0.071
-0.71
0
C3
0
0
0
1
Initial Solution
X
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
Current Solution
X
1 6E-006
2 1.185
3 2E-006
4 1E-005
5 2.765
6 1E-005
7
0
8 8.823
Pi
Z
33
11
32
26
21
8
1
1
1
1
2
1
3
1
Pi
Z
1
2
3
3.685
0.979 0.214 5E-006
4E-005
13.84 Iter.:
11
1.807 Gap
0
Press to iterate
2E-005 Mu 4E-006
1.601
Press to restart
0.214
5E-006
Feasibility Vectors
Primal
Dual
1
9
1
0
2
9
2 ###
3 2E-009
3
0
4
0
5 2E-016
6
0
7
0
8
0
Direction Vectors
Comp. Slack.
1 ###
2 ###
3 ###
4 ###
5 ###
6 ###
7 ###
8 ###
Ratio Vectors
d(Pi)
1 4E-006
2 ###
3 ###
Next Solution
X
1 1E-006
2 1.185
3 3E-007
4 3E-006
5 2.765
6 3E-006
7 2E-005
8 8.824
1
2
3
4
5
6
7
8
d(Z)
###
###
6
###
###
###
###
###
d(X)
1 ###
2 1E-005
3 ###
4 ###
5 2E-005
6 ###
7 ###
8
0
Ratio(Z)
Ratio(X)
1 59208
1 1.214
2 1.087
2
- -3
- -3 1.215
4 48671
4 1.214
5 1.089
5
- -6 83804
6 1.215
7 74643
7 1.214
8
1.1
8
- -Min
1.087 Min
1.214
Z Step
0.87 X Step 0.971
Pi
Z
3.685
9E-006
13.84
1.807
4E-006
1.601
0.214
1E-006
Solution History
Iter. Obj.
1
1
60
1
2
30.85 0.356
3
81.99 0.417
4
51.42 0.306
5
55.82 0.061
6
55.8 0.015
7
56.02 0.004
8
56.07 0.001
9
56.08
0
10
56.08 3E-005
11
56.08 6E-006
1
2
3
0.979 0.214 1E-006
Gap 5E-005
Primal Solution
2
3
4
1
1
1
0.339
0.2 0.533
1.209
0.04 0.832
0.888 0.008 0.665
1.141 0.008 0.204
1.162 0.003 0.041
1.179 0.001 0.008
1.183
0 0.002
1.185 4E-005
0
1.185 8E-006 7E-005
1.185 2E-006 1E-005
6
1
1
0.759 0.486
3.082 0.374
1.761
0.31
2.534 0.065
2.706 0.026
2.752 0.007
2.762 0.002
2.764
0
2.765 7E-005
2.765 1E-005
1
3.474
6.724
2.152
0.473
0.214
0.059
0.013
0.003
0.001
0
1
3.624
1.34
2.664
7.299
8.474
8.746
8.807
8.82
8.823
8.823
Obj.
136
79.71
64.3
59.97
57.64
56.44
56.16
56.1
56.09
56.08
56.08
he button
X_Diag X 1
X2
X3
X4
X5
X6
X 1 6E-006
0
0
0
0
0
X2
0 1.185
0
0
0
0
X3
0
0 ###
0
0
0
X4
0
0
0 ###
0
0
X5
0
0
0
0 2.765
0
X6
0
0
0
0
0 ###
X7
0
0
0
0
0
0
X8
0
0
0
0
0
0
X7
X8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 8.823
Z_Inv
Z1
Z2
Z3
Z4
Z5
Z6
Z7
Z8
Inv(MMULT(A,MMULT(MMULT(Z_Inv,Xdiag),TRANSPOSE(A)) MMULT(Z_Inv,Xdiag)
1
2
3
1
7 ### ###
2
### ### ###
3
### ### ###
Dual Solution
1
2
3
1
1
1
0.557 0.644 0.554
0.644 0.343 0.427
0.9
0.3 0.085
0.956 0.255 0.017
0.972 0.224 0.006
0.977 0.216 0.002
0.979 0.215
0
0.979 0.214
0
0.979 0.214 2E-005
0.979 0.214 5E-006
Z1
Z2
Z3
Z4
Z5
Z6
Z7
Z8
0.271
0
0
0
0
0
0
0
0 ###
0
0
0
0
0
0
0
0 0.072
0
0
0
0
0
0
0
0 0.553
0
0
0
0
0
0
0
0 ###
0
0
0
0
0
0
0
0 0.625
0
0
0
0
0
0
0
0 4.667
0
0
0
0
0
0
0
0 ###
MMULT(Z_Inv,Xdiag),dD)
0
###
0
0
###
0
0
0
XZe
###
###
###
###
###
###
###
###
-b+Mu*A*Zinv*e + A*Zinv*X*DeltaD
-43
-43
-38
Z_Inv*e
0.271
###
0.072
0.553
###
0.625
4.667
###
e
1
1
1
1
1
1
1
1