Chap 10. Sensitivity Analysis

Slides:



Advertisements
Similar presentations
February 14, 2002 Putting Linear Programs into standard form
Advertisements

Chapter 5: Linear Programming: The Simplex Method
OR Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (We may refer it as.
Duality Dual problem Duality Theorem Complementary Slackness
ISM 206 Lecture 4 Duality and Sensitivity Analysis.
MIT and James Orlin © Chapter 3. The simplex algorithm Putting Linear Programs into standard form Introduction to Simplex Algorithm.
Chapter 3 Linear Programming Methods 高等作業研究 高等作業研究 ( 一 ) Chapter 3 Linear Programming Methods (II)
1. The Simplex Method.
The Two-Phase Simplex Method LI Xiao-lei. Preview When a basic feasible solution is not readily available, the two-phase simplex method may be used as.
Simplex method (algebraic interpretation)
Chapter 6 Sensitivity Analysis & Duality
Duality Theory LI Xiaolei.
Chapter 3. Pitfalls Initialization Ambiguity in an iteration
1 1 Slide © 2000 South-Western College Publishing/ITP Slides Prepared by JOHN LOUCKS.
Kerimcan OzcanMNGT 379 Operations Research1 Linear Programming: The Simplex Method Chapter 5.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
OR Perturbation Method (tableau form) (after two iterations, optimal solution obtained) (0+2  1 ) (0+2  2 ) (1+  3 )
Linear Programming Revised Simplex Method, Duality of LP problems and Sensitivity analysis D Nagesh Kumar, IISc Optimization Methods: M3L5.
3.3 Implementation (1) naive implementation (2) revised simplex method
1 1 Slide © 2005 Thomson/South-Western Linear Programming: The Simplex Method n An Overview of the Simplex Method n Standard Form n Tableau Form n Setting.
Chapter 4 Linear Programming: The Simplex Method
Linear Programming Implementation. Linear Programming
1 1 Slide © 2005 Thomson/South-Western Simplex-Based Sensitivity Analysis and Duality n Sensitivity Analysis with the Simplex Tableau n Duality.
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
OR Simplex method (algebraic interpretation) Add slack variables( 여유변수 ) to each constraint to convert them to equations. (We may refer it as.
OR Chapter 7. The Revised Simplex Method  Recall Theorem 3.1, same basis  same dictionary Entire dictionary can be constructed as long as we.
Simplex Method Simplex: a linear-programming algorithm that can solve problems having more than two decision variables. The simplex technique involves.
OR Relation between (P) & (D). OR optimal solution InfeasibleUnbounded Optimal solution OXX Infeasible X( O )O Unbounded XOX (D) (P)
OR  Now, we look for other basic feasible solutions which gives better objective values than the current solution. Such solutions can be examined.
1 Simplex algorithm. 2 The Aim of Linear Programming A Linear Programming model seeks to maximize or minimize a linear function, subject to a set of linear.
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Solving Linear Program by Simplex Method The Concept
Linear Programming Revised Simplex Method, Duality of LP problems and Sensitivity analysis D Nagesh Kumar, IISc Optimization Methods: M3L5.
Perturbation method, lexicographic method
10CS661 OPERATION RESEARCH Engineered for Tomorrow.
Chapter 5 Sensitivity Analysis: An Applied Approach
The Two-Phase Simplex Method
Chapter 5 Simplex-Based Sensitivity Analysis and Duality
Chapter 4 Linear Programming: The Simplex Method
Chap 9. General LP problems: Duality and Infeasibility
The Simplex Method.
Chapter 6. Large Scale Optimization
The Simplex Method: Standard Minimization Problems
Chapter 5. Sensitivity Analysis
ENGM 631 Optimization Ch. 4: Solving Linear Programs: The Simplex Method.
Chap 3. The simplex method
Chapter 3 The Simplex Method and Sensitivity Analysis
Duality Theory and Sensitivity Analysis
Dual simplex method for solving the primal
St. Edward’s University
Well, just how many basic
The Simplex Method The geometric method of solving linear programming problems presented before. The graphical method is useful only for problems involving.
Chapter 8. General LP Problems
Lecture 4 Part I Mohamed A. M. A..
Chapter 5. The Duality Theorem
Flow Feasibility Problems
Chapter 8. General LP Problems
Chapter 4 The Simplex Algorithm
Chapter-III Duality in LPP
Chapter 2. Simplex method
Simplex method (algebraic interpretation)
DUALITY THEORY Reference: Chapter 6 in Bazaraa, Jarvis and Sherali.
Chapter 8. General LP Problems
Branch-and-Bound Algorithm for Integer Program
Prepared by Po-Chuan on 2016/05/24
Chapter 6. Large Scale Optimization
Chapter 2. Simplex method
Chapter 3. Pitfalls Initialization Ambiguity in an iteration
Presentation transcript:

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-1 2017

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-1 2017

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-1 2017

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-1 2017

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 𝑖: 𝑣 𝑖 <0 𝑐 𝑖 𝑣 𝑖 . 3. Perform pivot with variable 𝑥 𝑗 entering and 𝑥 𝐵(𝑙) leaving the basis. OR-1 2017

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-1 2017

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 𝑥 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-1 2017

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-1 2017

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-1 2017

Consider an example. Optimal tableau is max 5 𝑥 1 + 𝑥 2 −12 𝑥 3 s.t. 3 𝑥 1 +2 𝑥 2 + 𝑥 3 =10 5 𝑥 1 +3 𝑥 2 + 𝑥 4 =16 𝑥 1 , …, 𝑥 4 ≥0 Suppose we want to add the constraint 𝑥 1 + 𝑥 2 + 𝑥 3 ≤2 and reoptimize. 0 0 −2 1 0 −3 0 1 5 −7 0 −12 2 0 2 −3 0 2 1 1 1 0 1 2  0 0 −2 1 0 −3 0 1 5 −7 0 −12 2 0 2 −3 0 2 0 0 −1 1 1 −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-1 2017

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. 3 𝑥 1 +2 𝑥 2 + 𝑥 3 =10 5 𝑥 1 +3 𝑥 2 + 𝑥 4 =16 𝑥 1 , …, 𝑥 4 ≥0 𝐵 −1 OR-1 2017

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 2 2 +𝛿 −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-1 2017

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-1 2017

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-1 2017

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