Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.