5
6 Sensitivity anal ys is A great attraction of linear programming models is that as well as being able to nd optimal solutions easily it is also easy to p erform certain sensitivit y analysis. We shall investigate what we can say when certain parts of the input data may change slightly. 6.1 Changes in right- hand side b i Suppose that x and y are optimal solutions for an activity analysis LP and its dual. By the dualilty theorm, the optimal prot c T x saties c T x = b T y = b 1 y 1 + b 2 y 2 + ··· + b m y m . Now suppose that we nd an extra unit of resource i, so that b i should be replaced by b i + 1. The constraints in the dual prob lem are not altered, so that y is still feasible there. If y is still optimal then the increase in return is y i (and is always at most y i ). Thus the shadow price y i is the marginal value of the ith resource, or more generally the marginal value of relaxing the ith constraint. Let’s consider again the example in §4. Recall maximise 2x 1 +4x 2 +3x 3 su bje ct to 3x 1 +4x 2 +2x 3 60 2x 1 + x 2 +2x 3 40 x 1 +3x 2 +2x 3 80 x 0 with initial tableau: x 1 x 2 x 3 z 1 z 2 z 3 3 4 2 1 0 0 60 2 1 2 0 1 0 40 1 3 2 0 0 1 80 2 4 3 0 0 0 0 and nal tableau: x 1 x 2 x 3 z 1 z 2 z 3 1 3 1 0 1 3 1 3 0 6 2 3 5 6 0 1 1 6 2 3 0 16 2 3 5 3 0 0 2 3 1 3 1 26 2 3 11 6 0 0 5 6 2 3 0 76 2 3 The optimal solution is x = (0, 6 2 3 , 16 2 3 ), and the optimal value is 76 2 3 . In addition, the optimal dual solution is y = ( 5 6 , 2 3 , 0) T . Th us if  b 1 increases by 1, the optimal value should increase by 5 6 . If we add t(1, 0, 0) T to the right-hand side b, we know that the optimal value should increase by 5 6 t, at least if t is small. But how big can t be? Clearly the optimal value does increase at this rate as long as the current optimal dual solution y = ( 5 6 , 2 3 , 0) T remains optimal. This holds as long as the current basis remains feasible; in other words, as long as none of the current basic variables are forced negative, as can be seen by considering 34

6 Sensitivity

Embed Size (px)

Citation preview

Page 1: 6 Sensitivity

8/6/2019 6 Sensitivity

http://slidepdf.com/reader/full/6-sensitivity 1/5

6 Sensitivity analysis

A great attraction of linear programming models is that as well as being able to findoptimal solutions easily it is also easy to perform certain sensitivity analysis. We shallinvestigate what we can say when certain parts of the input data may change slightly.

6.1 Changes in right-hand side bi

Suppose that x∗ and y∗ are optimal solutions for an activity analysis LP and its dual.By the dualilty theorm, the optimal profit cT x∗ satifies

cT x∗ = bT y∗ = b1y∗

1+ b2y∗

2+ · · · + bmy∗

m.

Now suppose that we find an extra unit of resource i, so that bi should be replaced bybi + 1. The constraints in the dual problem are not altered, so that y∗ is still feasiblethere. If  y∗ is still optimal then the increase in return is y∗

i(and is always at most y∗

i).

Thus the shadow price y∗

iis the marginal value of the ith resource, or more generally

the marginal value of relaxing the ith constraint.

Let’s consider again the example in §4. Recall

maximise 2x1 +4x2 +3x3

subject to 3x1 +4x2 +2x3 ≤ 602x1 + x2 +2x3 ≤ 40

x1 +3x2 +2x3 ≤ 80x ≥ 0

with initial tableau:

x1 x2 x3 z1 z2 z33 4 2 1 0 0 602 1 2 0 1 0 401 3 2 0 0 1 802 4 3 0 0 0 0

and final tableau:

x1 x2 x3 z1 z2 z31

31 0 1

3−1

30 62

35

60 1 −1

6

2

30 162

3

−5

30 0 −2

3−1

31 262

3

−11

60 0 −5

6−2

30 −762

3

The optimal solution is x∗ = (0, 62

3, 162

3), and the optimal value is 76 2

3. In addition, the

optimal dual solution is y∗ = (56

, 2

3, 0)T . Thus if  b1 increases by 1, the optimal value

should increase by 5

6.

If we add t(1, 0, 0)T  to the right-hand side b, we know that the optimal value shouldincrease by 5

6t, at least if t is small. But how big can t be? Clearly the optimal value does

increase at this rate as long as the current optimal dual solution y∗ = (56

, 2

3, 0)T  remains

optimal. This holds as long as the current basis remains feasible; in other words, as longas none of the current basic variables are forced negative, as can be seen by considering

34

Page 2: 6 Sensitivity

8/6/2019 6 Sensitivity

http://slidepdf.com/reader/full/6-sensitivity 2/5

Page 3: 6 Sensitivity

8/6/2019 6 Sensitivity

http://slidepdf.com/reader/full/6-sensitivity 3/5

The current optimal solution will remain optimal if all the revised components of thelast row are all non-positive. Thus we see that for −5

2≤ t ≤ 2, the optimal solution is

still x∗

= (0, 62

3, 162

3), and the optimal value becomes 762

3 + 62

3t.

If  t < −5

2we would need to introduce z1 into the basis and pivot again to find the

optimal solution. Similarly, if  t > 2, z2 would be the entering variable for the nextpivoting iteration.

6.3 Changes in objective function c j – non-basic variable

The case for changes in the coefficient of a non-basic variable is easier. Note that in theprevious example x1 is non-basic. Thus consider h = (1, 0, 0)T , and the initial objectivefunction now changes to

maximise (2 + t)x1 + 4x2 + 3x3 .

The new final tableau becomes

x1 x2 x3 z1 z2 z31

31 0 1

3−1

30 62

35

60 1 −1

6

2

30 16 2

3

−5

30 0 −2

3−1

31 26 2

3

−11

6+ t 0 0 −5

6−2

30 −762

3

As long as t ≤ 116 , the current optimal solution will not change. If  t > 11

6 we wouldneed to introduce x1 into the basis and pivot to find the new optimal solution.

6.4 Introduction of a new activity / variable

Suppose, after obtaining the current optimal solution x∗ = (0, 62

3, 16 2

3), we discover that

the LP model did not consider all the attractive alternative activities. Considering anew activity requires introducing a new variable with the appropriate coefficients intothe objective function and constraints of the current model.

Consider adding +2x4, +3x4, and +x4 to the objective function, first constraint, andthird constraint, respectively, in our example, then the model becomes

maximise 2x1 +4x2 +3x3 +2x4

subject to 3x1 +4x2 +2x3 +3x4 ≤ 602x1 + x2 +2x3 ≤ 40

x1 +3x2 +2x3 + x4 ≤ 80x ≥ 0

The convenient way to deal with this case is to pretend that the new variable x4

actually was in the original model with all its coefficients equal to zero (so that they

36

Page 4: 6 Sensitivity

8/6/2019 6 Sensitivity

http://slidepdf.com/reader/full/6-sensitivity 4/5

remain zero in the final simplex tableau) and that x4 is a non-basic variable in thecurrent solution. If we change these zero coefficients to their actual values for x4, the

initial tableau becomesx1 x2 x3 x4 z1 z2 z3

3 4 2 3 1 0 0 602 1 2 0 0 1 0 401 3 2 1 0 0 1 802 4 3 2 0 0 0 0

and the final tableau becomes

x1 x2 x3 x4 z1 z2 z31

31 0 a14

1

3−1

30 62

3

56 0 1 a24 −1

623 0 162

3

−5

30 0 a34 −2

3−1

31 262

3

−11

60 0 d4 −5

6−2

30 −762

3

where

a14 =1

3· 3−

1

3· 0 + 0 · 1 = 1

a24 = −1

6· 3 +

2

3· 0 + 0 · 1 = −

1

2

a34 = −2

3· 3−

1

3· 0 + 1 · 1 = −1

d4 = 2− 5

6· 3− 2

3· 0 + 0 · 1 = −1

2

Since d4 is non-positive, this revised final tableau is still optimal, and the optimal solu-tion remains x∗ = (0, 62

3, 16 2

3).

Note that d4 is the key to see if the current optimal solution remains optimal. Thissuggests a very easy way to conduct sensitivity analysis for introducing a new variable.Simply checking the new dual constraint, we can immediately see if the optimal dualsolution is still feasible or not. Recall that in this example the optimal dual solutionis y∗ = (5

6, 2

3, 0)T . Substituting it into the new dual constraint, 3y1 + 1y3 ≥ 2, we see

that this inequality constraint holds. In the case where the new dual constraint is notsatisfied, resulting in a positive d4, the new variable x4 would need to be introduced intothe basis and pivot.

6.5 Introduction of a new constraint

Suppose that, having solved this original LP problem, we realise that a new constrainthas arisen since the model was formulated: x1 + x2 + 3x3 ≤ 50. The current optimalsolution may no longer be feasible. We may proceed as follows.

37

Page 5: 6 Sensitivity

8/6/2019 6 Sensitivity

http://slidepdf.com/reader/full/6-sensitivity 5/5