1 / 13

Chap 10. Sensitivity Analysis

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:

dkenneth
Télécharger la présentation

Chap 10. Sensitivity Analysis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 B is said to be an optimal basis if B-1b  0 and (cN’ – cB’B-1N)  0.

  2. Note that, when we solve the LP (augmented form of standard LP or any LP in equality form with nonnegativity) by the simplex method, the current tableau (dictionary) can be identified if we know the basis. The coefficient in z-row gives 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 z-row gives the objective value of the current primal solution and the dual solution (same value).

  3. Assume that we have LP in the form max c’x Ax = b x  0 Its dual is min y’b y’A  c’ y unrestricted Optimality condition for simplex method to solve the primal problem is cj – y’Aj  0, j N. It is the dual feasibility condition (we have reduced cost of 0 for basic variables). Primal feasibility is xB = B-1b  0.

  4. The primal simplex method searches the basis to achieve dual feasibility (optimality condition) while maintaining primal feasibility (B-1b  0). • Dual simplex method is a variant of the simplex method which tries to find a basis which satisfies the primal feasibilitywhile the dual feasibility (optimality condition) is always maintained (i.e. the coefficients in z-row 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. )

  5. Applications • Right hand side changes b  b’ : Then B-1b (0) now becomes B-1(b’) which may have negative components. But cj – y’Aj  0, j N unaffected. • Add a constraint j aij xj  bm+1 to the problem: • After adding a slack variable, get j aij xj + xn+1 = bm+1 Take xn+1 as additional basic variable (have m+1 constraints now, so need m+1 basic variables). Given current optimal solution x*, get new basic solution (x*, xn+1*) with xn+1* = bm+1 - j aij xj*. If xn+1*  0, the added inequality is satisfied by x*, hence (x*, xn+1*) is still optimal. Otherwise (xn+1* < 0), the added inequality is violated by x*, and (x*, xn+1*) is not primal feasible. Let y* be the optimal dual solution to our original problem, and consider (y*, ym+1*) with ym+1* = 0. It is still dual feasible. So 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.)

  6. Dual Simplex Algorithm • Given a simplex tableau (with basis B) with and 1. Find row l with xB(l)< 0. Let vibe the l-th component of the columns B-1Ai , i  N. 2. For i with vi< 0, find nonbasic j such that 3. Perform pivot with variable xjentering and xB(l) leaving the basis.

  7. example given in tableau form Current basis is {x4, x5} leaving basic variable is x5, entering nonbasic variable is determined by min{(-6)/(-2), (-10)/(-3)} = 3 Hence x2 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.

  8. Remarks • Note that we first choose the leaving basic variable, and then the entering nonbasic variable. • If all coefficients in row l 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 , which cannot be satisfied by any nonnegative variables x.) 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).

  9. Changes in the Data • Want to identify the range of data change which does not change the optimal basis. • Current basis B is said to be an optimal basis if B-1b  0 and (cN’ – cB’B-1N)  0. • Consider an example. Optimal tableau is • max 5x1 + x2 - 12x3 • s.t. 3x1 + 2x2 + x3 = 10 • 5x1 + 3x2 + x4 = 16 • x1, … , x4 0 B-1

  10. Changes in the rhs b: Suppose the rhs bi is changed to bi + . Then current basis is still optimal basis as long as B-1(b + ei ) = B-1b +  B-1ei  0. (Note that B-1ei is i-th column of B-1 ) (ei is i-th unit vector). ex) Suppose b1  10 +  Then Note that the interpretation of optimal dual variable value y1 as marginal cost of the first resource applies for this range of  (recall Theorem 5.5).

  11. Changes in the objective coefficient c: (1) cj cj +  for nonbasic variable xj If we perform the same elementary row operations to the changed data, we will have cj cj +  at the current optimal tableau. Current basis remains optimal as long as cj +   0. ex) c3 -12 + , then c3 becomes -2 +  ( 0)    2 (2) cj cj +  for basic variable xj (assume xj is k-th basic var) Using the same logic as above, we will have cj 0 +  at the current optimal tableau. We may perform elementary row operation to make the reduced cost of xj equal to 0. It corresponds to computing the dual vector y again using y’ = (cB’ + ek’)B-1. Then the reduced costs of nonbasic variables change. Check the range of  which makes the reduced costs  0.

  12. Ex) Suppose c1 5 + . Then the optimal tableau changes to Perform elementary row operation to make c1 to 0. From -2 + 3  0, -7 - 2  0, we obtain -7/2    2/3.

  13. Text describes some more techniques which can be used to reoptimize the problem after data changes in ‘sensitivity analysis’ section.

More Related