INDR 262 Introduction to Optimization Methods SENSITIVITY ANALYSIS Sensitivity analysis is carried out after the optimum solution of an LP problem is obtained. In most problems: -data are not known exactly -constraints may not be rigid -a new constraint or activity may be added The objective of sensitivity analysis is to find new optimal solution for an LP when some of the problem data changes without solving the problem from scratch. Change in the objective function coefficients, c I) xk is a nonbasic variable ck is replaced by ck′ in the LP model zk-ck is replaced by zk-ck′ in the simplex tableau current zk-ck in the simplex tableau is negative if zk-ck′=(zk-ck)+(ck-ck′) is negative, xk must enter into the basis (for maximization). if zk-ck′=(zk-ck)+(ck-ck′) is positive, the optimal solution does not change. II) xk is a Basic variable (xk=xBt) cBt is replaced by cBt′ in the LP model Row Ø is affected by this change Calculate new zj-cj as zj′-cj zj′-cj = cB′B-1aj–cj = (cBB-1aj–cj) + (0,…, 0, cBt′ – cBt, 0, …0) yj = (zj–cj) + (cBt′–cBt)ytj for all j. Update row Ø by multiplying the row xBt by the net change in the cost coefficient of xBt and add the current row Ǿ. Changes in the Right-Hand-Side, b Right-hand-side vector b is replaced by b′. B-1b will be replaced by B -1b′ B-1b′ = B-1b + B-1(b′–b) If B-1b′ ≥ 0, then z* = cBB-1b′ 1 Metin Turkay INDR 262 Introduction to Optimization Methods If B-1b′ < 0, then the problem becomes infeasible, use the dual simplex method to find the new optimal solution. Changes in the Constraint Matrix, A I. Nonbasic Variables Technological coefficient vector aj is replaced by aj′ The new column under xj in the simplex tableau is B-1aj′ The new reduced cost for xj is zj′–cj = cBB-1aj′–cj If zj′–cj ≤ 0, the optimal solution is the same If zj′–cj > 0, then the nonbasic variable xj must enter the basic II. Basic Variables Technological coefficient vector aj is replaced by aj′ Basis matrix, B, and consequently its inverse, B-1 Update B: Add a new column xj′ whose entries will be aj′ zj′–cj = cBB-1aj′–cj and yj′ = B-1aj′ eliminate the old column xj from the basis continue with the simplex method Adding a New Activity A new activity xn+1 with a cost of cn+1 and technology coefficient of an+1 is introduced If zn+1–cn+1≤ 0, let xn+1 enter the basis and continue with the simplex method (for maximization) If zn+1–cn+1> 0, the optimal solution does not change Adding a New Constraint A new row am+1 x ≤ bm+1 is added The new row is rewritten as aBm+1xB + aNm+1xN + xn+1= bm+1 The new system of equation is: z + (cBB-1N–cN) xN = cBB-1b xB + B-1NxN = B-1b 2 Metin Turkay INDR 262 Introduction to Optimization Methods (aNm+1–aBm+1B-1N) xN + xn+1 = bm+1–aBm+1B-1b If aNm+1–aBm+1B-1b ≥ 0, the optimal solution does not change If aNm+1–aBm+1B-1b < 0, the current solution becomes infeasible, solve the dual simplex method to find a feasible solution. REVIEW OF SENSIVITY ANALYSIS: n max z = c j x j j 1 n s.t. a x j 1 ij j bi i=1,...,m Sensivity Analysis is identification of sensitive parameters. * determine the range of values of the parameters over which the optimal solution will remain unchanged. determine the range of values over which the optimal BF solution will remain feasible. * Example: Original Model max z = 3x1 + 5x2 s.t. x1 2x2 3x1 + 2x2 x1, x2 Revised Model max z = 4x1 + 5x2 s.t. x1 4 2x2 24 2x1 +2x2 18 x1, x2 ≥ 0 4 12 18 ≥ 0 The simplex tablaeu of the revised problem is given as follows: Iter 0 B.V. Eqn. z 0 x3 1 x4 2 x5 3 z 1 0 0 0 x1 -4 1 0 2 x2 -5 0 2 2 x3 0 1 0 0 x4 0 0 1 0 x5 0 0 0 1 RHS 0 4 24 18 we have a solution to the original problem. Iter 2 B.V. Eqn. z 0 x3 1 x2 2 x1 3 z 1 0 0 0 x1 0 0 0 1 x2 0 0 1 0 x3 0 1 0 0 x4 3/2 1/3 1/2 -1/3 x5 1 -1/3 0 1/3 RHS 36 2 6 2 How to find the optimal solution to the revised problem. 3 Metin Turkay INDR 262 Introduction to Optimization Methods Revised Simplex Method: Eqn. z Original variables 1 1 z*- c = y* a - c 1,...,m 0 A* = S* a Slack Variables y* S* RHS z*=y* b b*=S* b where a , c , b are for the revised problem. 1 0 A = 0 2 2 2 c = 4 5 y* = 0 3/ 2 1 4 b = 24 18 1 1 / 3 1 / 3 S*= 0 1 / 2 0 0 1 / 3 1 / 3 1 0 z*- c = y* A - c = 0 3/ 2 1 0 2 - 4 5 = 2 0 2 2 4 z* = y* b = 0 3/ 2 1 24 = 54 18 1 1 / 3 1 / 3 1 0 1/ 3 0 0 0 2 = 0 1 A*= S* A = 0 1 / 2 0 1 / 3 1 / 3 2 2 2 / 3 0 1 1 / 3 1 / 3 4 0 24 = b*= S* b = 0 1 / 2 0 1 / 3 1 / 3 18 6 12 2 4 Metin Turkay INDR 262 Introduction to Optimization Methods Revised Final Tableu: B.V. Eqn. z x1 x2 x3 x4 x5 RHS z 0 1 -2 0 0 3/2 1 54 x3 1 0 1/3 0 1 1/3 -1/3 6 x2 2 0 0 1 0 1/2 0 12 x1 3 0 2/3 0 0 -1/3 1/3 -2 - - - 1/2 - Ratio B.V. Eqn. z x1 x2 x3 x4 x5 RHS z 0 1 -2 0 0 0 5/2 45 x3 1 0 -1/3 0 1 0 0 4 x2 2 0 -1 1 0 0 1/2 9 x4 3 0 -2 0 0 1 -1 6 5 Metin Turkay INDR 262 Introduction to Optimization Methods APPLYING SENSIVITY ANALYSIS Case 1 - changes in bi Case 2 - a) changes in the coefficents of a nonbasic variable b) introduction of a new variable Case 3 - changes in the coefficients of a basic variable Case 4 - introduction of a new constraints Case 1- Changes in bi The only revision in the model is the changes in RHS. RHS of final row 0: z*= y* b RHS at final rows 1,...,m = S* b Example: 4 b= 12 , b = 18 4 24 18 4 z*= y* b = 0 3/ 2 1 24 = 54 18 1 1 / 3 1 / 3 4 B* = S* b = 0 1 / 2 0 24 = 0 1 / 3 1 / 3 18 6 12 2 Equivalently incremental analysis: b1 0 ∆z*=y*∆b = y* b2 = y* 12 b3 0 b1 0 ∆b*=S*∆b = S* b2 = S* 12 b3 0 ∆z* = 3/2 (12) = 18 ∆b1*= 1/3 (12) = 12 z* = z + ∆z* = 36 +18 = 54 b1*= 2 + 4 = 6 6 Metin Turkay INDR 262 Introduction to Optimization Methods ∆b2*= 1/2 (12) = 6 ∆b3*= -1/3 (12) = -4 b2*= 6 + 6 = 12 b3*= 2 – 4 = -2 Revised Final Tableu B.V. z x3 Eqn. 0 1 z 1 0 x1 0 0 x2 0 0 x3 0 1 x4 3/2 1/3 x5 1 -1/3 RHS 54 6 x2 2 0 0 1 0 1/2 0 12 x1 3 0 1 0 0 -1/3 1/3 -2 - - - 9/2 Ratio B.V. z x3 Eqn. 0 1 Z 1 0 x1 9/2 1 x2 0 0 x3 0 1 x4 0 0 x5 5/2 0 RHS 45 4 x2 2 0 3/2 1 0 0 1/2 9 x4 3 0 -3 0 0 1 -1 6 entering b.v. The allowable range to stay feasible: ∆b2 = 12 is too large for original BF solution to stay feasible. Second column at S* ↑ b1* = 2 + 1/3∆b2 b2* = 6 + 1/2 ∆b2 b3* = 2 – 1/3 ∆b2 these quantities must be non-negative for the revised solution to be feasible 2 + 1/3∆b2 ≥ 0 6 + 1/2∆b2 ≥ 0 2 – 1/3∆b2 ≥ 0 ∆b2 ≥ -6 ∆b2 ≥ -12 ∆b2 ≤ 6 min ∆b2 is -6 max ∆b2 is 6 so -6 ∆b26 6b2 18 → allowable range of values for b2 to stay feasible. 7 Metin Turkay INDR 262 Introduction to Optimization Methods Case 2a- change in the coefficient of Nonbasic Variables: one or more of the following changes are made cj → c j aj → a j new coefficients of xj in final row 0: z *j c j = y* a j - c j new coefficients of xj in final rows 1...m: A* = S* a j Example: c1=3 → c1 = 4 1 a1= 0 → a1 = 3 1 0 2 y*= 0 0 5 / 2 1 0 0 S*= 0 0 1 / 2 0 1 1 1 z1* - c1 = y* a1 – c1 = 0 0 5 / 2 0 - 4 = 1 2 1 1 0 0 1 a1* = S* a1 = 0 0 1 / 2 0 = 1 0 1 1 2 2 allowable range to say optimal: the range of values over which the current optimal solution remains optimal. Criteria: z1-c1 ≥ 0 Since zj* = y* aj → cjy*aj 1 c1y*a1 = 0 0 5 / 2 0 = 15/2 3 c1>15/2, x1 will be a basic variable of the optimal solution. 8 Metin Turkay INDR 262 Introduction to Optimization Methods Case 2b: Introduction of a New Variable: Introduce a new variable for the model Check whether the current optimal solution stays optimal Example: max z= 3x1 + 5x2 + 4x6 s.t. x1 + 2x6 4 + 2x2 + 3x6 12 3x1 + 2x2 + x6 18 x1, x2, x6 ≥0 Current Optimal Solution: 2 6 x= 2 0 0 [y1 y2 y3 z1-c1 z2-c2] = [0 3/2 1 0 0] write the dual constraint for the new variable x6 2y1 + 3y2 + y3 ≥ 4 if the dual is feasible 2(0) + 3(3/2) + 1(1) ≥ 4 Yes, the dual constaint is feasible. So the primal remains optimal. Case3: Changes in the coefficients of a basic variable xj is a basic variable. cj → c j aj → a j Example: c2 = 5 → c 2 = 3 9 Metin Turkay INDR 262 Introduction to Optimization Methods 0 a2= 2 → a 2 = 2 0 3 4 z2– c 2 = y* a 2 – c 2 = 0 1 0 a2* = S* a 2 = 0 0 0 1 0 0 5 / 2 3 - 3= 7 → non-zero 4 0 0 0 1/ 2 3 = 2 → not a basic variable 1 4 1 make it a basic variable B.V. z x3 Eqn. 0 1 z 1 0 x1 9/2 1 x2 7 0 x3 0 1 x4 0 0 x5 5/2 0 RHS 45 4 x2 2 0 3/2 2 0 0 1/2 9 x4 z x3 3 0 1 0 1 0 -3 -3/4 1 -1 0 0 0 0 1 1 0 0 -1 3/4 0 6 27/2 4 x2 2 0 3/4 1 0 0 1/4 9/2 x4 z x1 3 0 1 0 1 0 -9/4 0 1 0 0 0 0 3/4 1 1 0 0 -3/4 3/4 0 21/2 33/2 4 x2 2 0 0 1 -3/4 0 1/4 3/2 x4 3 0 0 0 9/4 1 -3/4 39/2 Allowable Range To Stay Optimal: zj*–cj must be positive for variable xj to stay optimal. zj*– c j = 0 c j = cj + ∆cj zj*-cj - ∆cj = 0 Example: Consider the optimal simplex tableu Row 0 = [1: 0 0 ¾ 0 ¾ : 33/2] * change c2= 3 to c 2 = c2 + ∆c2 New Row 0= [1: 0 -∆c2 ¾ 0 ¾ : 33/2] *for x2 to stay a basic z2*- c 2 must be equal to 0. 10 Metin Turkay INDR 262 Introduction to Optimization Methods Gaussian elimination: Row 0: [1: 0 ∆c2 ¾ 0 ¾ : 33/2] + ∆c2xRow 2: [0: 0 -∆c2 -¾∆c2 0 1/4∆c2 : 3/2∆c2] New Row0: [1: 0 0 ¾-¾∆c2 0 ¾+1/4∆c2 : 33/2+3/2∆c2] 3/4-3/4∆c2≥0, 3/4≥3/4∆c2, ∆c21 3/4+1/4∆c2≥0, 1/4∆c2≥3/4, ∆c2≥-3 -3∆c21 So 0c24 is the allowable range for c2 to stay optimal. Case 4. Introduction of a New Constraint: when a new constraint is added check if the optimal solution satisfies the constraint if the constraint is satisfied, the optimal solution is still the optimal if the constraint makes the optimal solution infeasible: - introduce the constraint into the final simplex tableu of the original model ( the slack variable for the new constraint becomes the basic variable for this constraint) - convert this constraint to proper form by making the coefficients of the basic variables 0. - Proceed with regualr simplex ( or dual simplex if necessary) until you confirm optimality. Example: A new constraint is added. 2x1 + 3x2 24 The optimal solution is given in the following simplex tableu. Find if the introduction of this new constraint changes the optimal solution or not. B.V. z x3 Eqn. 0 1 z 1 0 x1 9/2 1 x2 0 0 x3 0 1 x4 0 0 x5 5/2 0 RHS 45 4 x2 2 0 3/2 1 0 0 1/2 9 x4 3 0 -3 0 0 1 -1 6 - check for feasibility: 2x1 + 3x2 24 2(0) + 3(9) =27 infeasible - the optimal solution is infeasible 11 Metin Turkay INDR 262 Introduction to Optimization Methods B.V. z x3 Eqn. 0 1 z 1 0 x1 9/2 1 x2 0 0 x3 0 1 x4 0 0 x5 5/2 0 x6 0 0 RHS 45 4 x2 2 0 3/2 1 0 0 1/2 0 9 x4 3 0 -3 0 0 1 -1 0 6 x6 z x3 4 0 1 0 1 0 2 9/2 1 3 0 0 0 0 1 0 0 0 0 5/2 0 1 0 0 24 45 4 x2 2 0 3/2 1 0 0 1/2 0 9 x4 3 0 -3 0 0 1 -1 0 6 0 0 0 0 0 0 1 0 0 0 -3/2 5/3 0 0 1 5/3 0 -3 1 0 -5/2 9/5 0 1 40 4 x6 z x3 4 RATIO 0 1 x2 2 0 2/3 1 0 0 0 1/3 8 x4 x5 3 4 0 0 -4/3 5/3 0 0 0 0 1 0 0 1 -2/3 -2/3 8 2 12 Metin Turkay