Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chap 10. Sensitivity Analysis

Similar presentations


Presentation on theme: "Chap 10. Sensitivity Analysis"โ€” Presentation transcript:

1 Chap 10. Sensitivity Analysis
We do not follow the text here. We study the dual simplex method in a little bit different way from the text. Objective of study: Reoptimize the problem after change of some data, addition of variables/constraints (We do not solve it from the beginning again, but use information we have obtained already.) Find the range of data changes which maintains optimal basis. Current basis ๐ต is said to be an optimal basis if ๐ต โˆ’1 ๐‘โ‰ฅ0 and ๐‘ ๐‘ โ€ฒโˆ’ ๐‘ ๐ต โ€ฒ ๐ต โˆ’1 ๐‘ ๐‘ ๐‘ โ€ฒโˆ’ ๐‘ ๐ต โ€ฒ ๐ต โˆ’1 ๐‘ โ‰ค0. OR

2 Recall that, when we solve the LP (augmented form of standard LP) by the simplex method, the current tableau (dictionary) can be identified if we know the basis ๐ต. The coefficients in zeroth equation give a dual solution (may not be a dual feasible solution), the right hand side constants give primal solution (of basic variables), and the constant in zeroth equation gives the objective value of the current primal solution and the dual solution (same value). OR

3 Assume that we have LP in the form (๐ด:๐‘šร—๐‘›, full row rank) max ๐‘ โ€ฒ ๐‘ฅ
๐ด๐‘ฅ=๐‘ ๐‘ฅโ‰ฅ0 Its dual is: min ๐‘ฆ โ€ฒ ๐‘ ๐‘ฆ โ€ฒ ๐ดโ‰ฅ๐‘โ€ฒ (or ๐‘ฆโ€ฒ ๐ด ๐‘— โ‰ฅ ๐‘ ๐‘— , ๐‘—=1,โ€ฆ,๐‘› ) ๐‘ฆ unrestricted Optimality condition for simplex method to solve the primal problem is ๐‘ ๐‘— โˆ’๐‘ฆโ€ฒ ๐ด ๐‘— โ‰ค0, ๐‘—โˆˆ๐‘. It is the dual feasibility condition (we have reduced costs of 0 for basic variables). Also the reduced cost ๐‘ ๐‘— โˆ’๐‘ฆโ€ฒ ๐ด ๐‘— =โˆ’ ๐‘ฆ ๐‘š+๐‘— is the negative of the ๐‘—โˆ’๐‘กโ„Ž dual surplus variable. Primal feasibility is ๐‘ฅ ๐ต = ๐ต โˆ’1 ๐‘โ‰ฅ0. OR

4 The primal simplex method searches the basis to achieve dual feasibility (optimality condition) while maintaining primal feasibility ( ๐ต โˆ’1 ๐‘โ‰ฅ0). Dual simplex method is a variant of the simplex method which tries to find a basis which satisfies the primal feasibility while the dual feasibility (optimality condition) is always maintained (i.e. the coefficients in zeroth equation are all nonpositive) Useful when we can easily find a dual feasible but primal infeasible basis. (e.g. We solved a problem to optimality, hence have found an optimal basis. But we want to solve the problem again with the right hand sides changed, and/or add a constraint which is violated by the current optimal solution. ) OR

5 Dual Simplex Algorithm
We explain the dual simplex method using tableau form. But revised dual simplex method is also possible. Given a simplex tableau (with basis ๐ต) with ๐‘ ๐‘— โ‰ก ๐‘ ๐‘— โˆ’๐‘ฆโ€ฒ ๐ด ๐‘— โ‰ค0 for all nonbasic variables ๐‘ฅ ๐‘— , ๐‘—โˆˆ๐‘. and ๐‘ฅ ๐ต(๐‘–) <0 for some ๐‘–โˆˆ๐ต. 1. Find row ๐‘™ with ๐‘ฅ ๐ต(๐‘™) <0. Let ๐‘ฃ ๐‘– be the ๐‘™โˆ’๐‘กโ„Ž component of the column ๐ต โˆ’1 ๐ด ๐‘– , ๐‘–โˆˆ๐‘. 2. For ๐‘– with ๐‘ฃ ๐‘– <0, find nonbasic ๐‘— such that ๐‘ ๐‘— ๐‘ฃ ๐‘— = min ๐‘–: ๐‘ฃ ๐‘– < ๐‘ ๐‘– ๐‘ฃ ๐‘– . 3. Perform pivot with variable ๐‘ฅ ๐‘— entering and ๐‘ฅ ๐ต(๐‘™) leaving the basis. OR

6 example given in tableau form
Current basis is ๐‘ฅ 4 , ๐‘ฅ 5 . Leaving basic variable is ๐‘ฅ 5 , entering nonbasic variable is determined by min{(-6)/(-2), (-10)/(-3)} = 3 Hence ๐‘ฅ 2 is entering. After pivot, we get Note that, after the pivot, the objective value decreases ( 0 ๏‚ฎ (-3) ) (dual is a minimization problem). Dual feasibility maintained. OR

7 Remarks Note that we first choose the leaving basic variable, and then the entering nonbasic variable. If all coefficients in row ๐‘™ are nonnegative, it implies that the LP is infeasible. ( Suppose we have 2, 3 in place of โ€“2, -3 in our example. So the last row is 4 ๐‘ฅ 1 +2 ๐‘ฅ 2 +3 ๐‘ฅ ๐‘ฅ 5 =โˆ’1, which cannot be satisfied by any nonnegative variables ๐‘ฅ.) Then the dual problem is unbounded since primal is infeasible and dual has a feasible solution. Dual simplex method for general LP can be designed too, but we donโ€™t consider it here (see Box 10.2, p157 in the text). OR

8 Applications Right hand side changes ๐‘ โ†’ ๐‘โ€ฒ :
๐‘ โ†’ ๐‘โ€ฒ : Then ๐ต โˆ’1 ๐‘ (โ‰ฅ0) now becomes ๐ต โˆ’1 ๐‘โ€ฒ which may have negative components. But ๐‘ ๐‘— โˆ’๐‘ฆโ€ฒ ๐ด ๐‘— โ‰ค0, ๐‘—โˆˆ๐‘ unaffected. Add a constraint ๐‘— ๐‘Ž ๐‘–๐‘— ๐‘ฅ ๐‘— โ‰ค ๐‘ ๐‘š+1 to the problem: After adding a slack variable, get ๐‘— ๐‘Ž ๐‘–๐‘— ๐‘ฅ ๐‘— + ๐‘ฅ ๐‘›+1 = ๐‘ ๐‘š+1 . Take ๐‘ฅ ๐‘›+1 as additional basic variable (have ๐‘š+1 constraints now, so need ๐‘š+1 basic variables). Given current optimal solution ๐‘ฅ โˆ— , get new basic solution ๐‘ฅ โˆ— , ๐‘ฅ ๐‘›+1 โˆ— with ๐‘ฅ ๐‘›+1 โˆ— = ๐‘ ๐‘š+1 โˆ’ ๐‘— ๐‘Ž ๐‘–๐‘— ๐‘ฅ ๐‘— โˆ— . If ๐‘ฅ ๐‘›+1 โˆ— โ‰ฅ0, the added inequality is satisfied by ๐‘ฅ โˆ— , hence ๐‘ฅ โˆ— , ๐‘ฅ ๐‘›+1 โˆ— is still optimal. Otherwise ๐‘ฅ ๐‘›+1 โˆ— <0 , the added inequality is violated by ๐‘ฅ โˆ— , and ๐‘ฅ โˆ— , ๐‘ฅ ๐‘›+1 โˆ— is not primal feasible. How about dual solution? Let new basis be ๐ต = ๐ต 0 ๐‘Žโ€ฒ 1 , where ๐ต is the optimal basis matrix of the original problem. OR

9 Let ๐‘ฆ โˆ— be the optimal dual solution to our original problem (obtained from ๐‘ฆ โ€ฒ ๐ต= ๐‘ ๐ต โ€ฒ), and consider new dual solution from ๐‘ฆ โ€ฒ , ๐‘ฆ ๐‘š+1 ๐ต =[ ๐‘ ๐ต โ€ฒ,0]. ๐‘ฆ โ€ฒ , ๐‘ฆ ๐‘š+1 ๐ต 0 ๐‘Žโ€ฒ 1 =[ ๐‘ ๐ต โ€ฒ,0] โ‡’ ๐‘ฆ โ€ฒ ๐ต + ๐‘ฆ ๐‘š+1 ๐‘Žโ€ฒ= ๐‘ ๐ต โ€ฒ ๐‘ฆ ๐‘š+1 =0 โ‡’ ๐‘ฆ ๐‘ฆ ๐‘š+1 = ๐‘ฆ โˆ— 0 ๐‘ฆ โˆ— , 0 is new dual solution and since ๐‘ฆ ๐‘š+1 =0, no change in reduced costs. Hence dual feasibility is maintained for the new problem. So we have primal infeasible and dual feasible basis. ( You need to make the tableau with added constraint suitable for dual simplex pivot by making the coefficients of other basic variables in the added constraint to become 0 by elementary row operations.) OR

10 Consider an example. Optimal tableau is max 5 ๐‘ฅ 1 + ๐‘ฅ 2 โˆ’12 ๐‘ฅ 3
s.t ๐‘ฅ 1 +2 ๐‘ฅ 2 + ๐‘ฅ =10 5 ๐‘ฅ 1 +3 ๐‘ฅ ๐‘ฅ 4 =16 ๐‘ฅ 1 , โ€ฆ, ๐‘ฅ 4 โ‰ฅ0 Suppose we want to add the constraint ๐‘ฅ 1 + ๐‘ฅ 2 + ๐‘ฅ 3 โ‰ค2 and reoptimize. 0 0 โˆ’2 1 0 โˆ’ โˆ’7 0 โˆ’ โˆ’ ๏ƒž โˆ’2 1 0 โˆ’ โˆ’7 0 โˆ’ โˆ’ โˆ’ โˆ’2 We make the coefficients of basic variables in the added constraint become 0. The basic solution is primal infeasible, but dual feasible. Use dual simplex. OR

11 Changes in the Data Want to identify the range of data change which does not change the optimal basis. โˆ’๐‘ง+0โ€ฒ ๐‘ฅ ๐ต + ๐‘ ๐‘ โ€ฒโˆ’ ๐‘ ๐ต โ€ฒ ๐ต โˆ’1 ๐‘ ๐‘ฅ ๐‘ =โˆ’ ๐‘ ๐ต โ€ฒ ๐ต โˆ’1 ๐‘ ๐‘ฅ ๐ต ๐ต โˆ’1 ๐‘ ๐‘ฅ ๐‘ = ๐ต โˆ’1 ๐‘ Current basis ๐ต is said to be an optimal basis if ๐ต โˆ’1 ๐‘โ‰ฅ0 and ๐‘ ๐‘ โ€ฒ โˆ’ ๐‘ ๐ต โ€ฒ ๐ต โˆ’1 ๐‘ ๐‘ ๐‘ โ€ฒ โˆ’ ๐‘ ๐ต โ€ฒ ๐ต โˆ’1 ๐‘ โ‰ค0. Consider an example. Optimal tableau is max 5 ๐‘ฅ 1 + ๐‘ฅ 2 โˆ’12 ๐‘ฅ 3 s.t ๐‘ฅ 1 +2 ๐‘ฅ 2 + ๐‘ฅ =10 5 ๐‘ฅ 1 +3 ๐‘ฅ ๐‘ฅ 4 =16 ๐‘ฅ 1 , โ€ฆ, ๐‘ฅ 4 โ‰ฅ0 ๐ต โˆ’1 OR

12 Changes in the r.h.s. ๐‘: Suppose the r.h.s. ๐‘ ๐‘– is changed to ๐‘ ๐‘– +๐›ฟ. Then current basis is still optimal basis as long as ๐ต โˆ’1 ๐‘+๐›ฟ ๐‘’ ๐‘– = ๐ต โˆ’1 ๐‘+๐›ฟ ๐ต โˆ’1 ๐‘’ ๐‘– โ‰ฅ0. (Note that ๐ต โˆ’1 ๐‘’ ๐‘– is ๐‘–โˆ’๐‘กโ„Ž column of ๐ต โˆ’1 ) ( ๐‘’ ๐‘– is ๐‘–โˆ’๐‘กโ„Ž unit vector). ex) Suppose ๐‘ 1 ๏‚ฎ 10+๐›ฟ Then ๐›ฟ โˆ’3 5 โ‰ฅ0 ๏ƒž โˆ’ 2 5 โ‰ค๐›ฟโ‰ค 2 3 . Note that the interpretation of optimal dual variable value ๐‘ฆ 1 as marginal cost of the first resource applies for this range of ๐›ฟ (recall Theorem 5.5). OR

13 Changes in the objective coefficient ๐‘:
(1) ๐‘ ๐‘— ๏‚ฎ ๐‘ ๐‘— +๐›ฟ for nonbasic variable ๐‘ฅ ๐‘— If we perform the same elementary row operations to the changed data, we will have ๐‘ ๐‘— โ†’ ๐‘ ๐‘— +๐›ฟ at the current optimal tableau. Current basis remains optimal as long as ๐‘ ๐‘— +๐›ฟโ‰ค0. ex) ๐‘ 3 โ†’ โˆ’12+๐›ฟ, then ๐‘ 3 becomes โˆ’2+๐›ฟ โ‰ค0 โ†’ ๐›ฟโ‰ค2 (2) ๐‘ ๐‘— โ†’ ๐‘ ๐‘— +๐›ฟ for basic variable ๐‘ฅ ๐‘— (assume ๐‘ฅ ๐‘— is ๐‘˜โˆ’๐‘กโ„Ž basic var) Using the same logic as above, we will have ๐‘ ๐‘— โ†’ 0+๐›ฟ at the optimal tableau. We may perform elementary row operation to make the reduced cost of ๐‘ฅ ๐‘— equal to 0. It corresponds to computing the dual vector ๐‘ฆ again using ๐‘ฆโ€ฒ= ๐‘ ๐ต โ€ฒ +๐›ฟ ๐‘’ ๐‘˜ โ€ฒ ๐ต โˆ’1 . Then the reduced costs of nonbasic variables change. Check the range of ๐›ฟ which makes the reduced costs โ‰ค0. OR

14 Ex) Suppose ๐‘ 1 โ†’ 5+๐›ฟ. Then the optimal tableau changes to
Perform elementary row operation to make ๐‘ 1 to 0. From โˆ’2+3๐›ฟโ‰ค0, โˆ’7โˆ’2๐›ฟโ‰ค0, we obtain โˆ’ 7 2 โ‰ค๐›ฟโ‰ค 2 3 . OR

15 Text describes some more techniques which can be used to reoptimize the problem after data changes in โ€˜sensitivity analysisโ€™ section. OR


Download ppt "Chap 10. Sensitivity Analysis"

Similar presentations


Ads by Google