Suppose you are solving a LP problem for an industrial partner, have found an optimal solution to their problem, but then a change to the bi's is desired. Is is necessary to resolve the problem? Yhe answer is NO if the change to the bi's is sufficiently small (defined later).
Forestry Example:
A forester has 100 acres of land and $4000 in capital and would like to plant X1 acres of hardwood and X2 acres of pine to maximize profit where
Wood type | Cost to harvest | Selling price | Profit |
---|---|---|---|
Hardwood | 10 | 50 | 40 |
Pine | 50 | 120 | 70 |
The linear programming problem is:
Maximize 40 X1 + 70 X2 subject to X1 + X2 <= 100 10 X1 + 50 X2 <= 4000 X1, X2 >= 0
The initial dictionary is:
X3 = 100 - 1 X1 - 1 X2 X4 = 4000 -10 X1 -50 X2 -------------------------- z = 0 +40 X1 +70 X2
The final dictionary for this problem is:
X1 = 25.00 - 1.25 X3 + 0.02 X4 X2 = 75.00 + 0.25 X3 - 0.02 X4 ---------------------------------- z = 6250.00 -32.50 X3 - 0.75 X4 The dual solution read from this is: Y1= 32.5, Y2= 0.75
From our results on duality, we know that the z row is equal to:
0 +40 X1 + 70 X2 + (32.5) * [ 100 - 1 X1 - 1 X2 - X3] + (0.75) * [4000 -10 X1 - 50 X2 - X4] --------------------------------------- = 6250.00 -32.50 X3 - 0.75 X4
Suppose that t1 extra acres and t2 extra dollars are provided. The problem then becomes:
Maximize 40 X1 + 70 X2 subject to X1 + X2 <= 100 + t1 10 X1 + 50 X2 <= 4000 + t2 X1, X2 >= 0If X1 and X2 are still the basis elements at the end, then z will be:
0 +40 X1 + 70 X2 + (32.5) * [ 100 + t1- 1 X1 - 1 X2 - X3 ] + (0.75) * [4000 + t2 -10 X1 - 50 X2 - X4 ] ---------------------------------------------- 6250 +32.5 t1 +0.75 t2 -32.50 X3 - 0.75 X4
Conclusion (proof later):
If b changes to b + t where t is sufficiently small, then z changes by a factor of yT * t.
Consider the equations that we started with:
X3 = 100 - 1 X1 - 1 X2 X4 = 4000 -10 X1 -50 X2 -------------------------- z = 0 +40 X1 +70 X2 Express this in matrix form (Eq. A) [ 1 1 1 0 ] [X1] = [ 100] [10 50 0 1 ] [X2] [ 4000] [X3] [X4] At the end of the computation: X1 = 25.00 - 1.25 X3 + 0.02 X4 X2 = 75.00 + 0.25 X3 - 0.02 X4 ---------------------------------- z = 6250.00 -32.50 X3 - 0.75 X4 In matrix form (Eq. B) [ 1 0 1.25 -0.2 ] [X1] = [ 25] [ 0 1 -0.25 0.2 ] [X2] [ 75] [X3] [X4] At the end X1, X2 is the basis.Take the columns that correspond to the basis in the original matrix and make a square matrix B with basis headers:
X1 X2 B-1= B= [ 1 1 ] [ 5/4 -1/40] [ 10 50 ] [-1/4 1/40]To get from Eq. A to Eq. B, multiply both the LHS, and the RHS by B-1. So if b changes to
[ 100 + t1] [4000 + t2]
and the change is not so big that the basis changes in the optimal solution, the new value x' is:
x' = x + B-1 * t = [X1] = [ 5/4 -1/40] [ 100 + t1] [X2] [-1/4 1/40] [4000 + t2] X1 = 25 +5 t1 /4 -t2/40 X2 = 75 -1 t1 /4 +t2/40This equation only gives the correct solution when X1, X2 is the correct basis at the end.
X1= 25 + 5 t1/4 - t2/40 - 1.25 X3 + 0.02 X4 X2= 75 - 1 t1/4 + t2/40 + 0.25 X3 - 0.02 X4 ---------------------------------------------- z= 6250 + 32.5 t1 +0.75 t2 -32.50 X3 - 0.75 X4
If t1=0, and [ 25 - t2/40] < 0 or equivalently, t2 > 1000, X1 moves out of the basis [all pine can be grown with money left over].
If t2=0, and [75- t1/4] < 0 or equivalently t1 > 300, then X2 moves out of the basis [not all the acres can be put to productive use due to a lack of cash].