Créer une présentation
Télécharger la présentation

Télécharger la présentation
## Chap 10. Sensitivity Analysis

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**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. • Dual simplex method Note that, when we solve the LP 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 (in dictionary form) gives the objective value of the current primal solution and the dual solution (same value).**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. )**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.**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.**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.**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.**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**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).**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.**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.