Sensitivity Analysis - alteryx/AlteryxPrescriptive GitHub Wiki
Sensitivity analysis report is only available when all the following conditions are satisfied:
- Linear programming
- All decision variables are continuous
- “Simplex” method is used by the solver
Thus, we won't have sensitivity analysis for
- Mixed integer programming
- Quadratic programming
Sensitivity analysis in Excel Solver
An example:
There are two parts of the report:
- Variable Cells
- Constraints
Variable Cells: Study how the change of the coefficients in objective function affects the final solution.
- Final Value: final solution for each decision variable, based on the original problem setup.
- Reduced Cost (opportunity cost): the unit the optimal objective will increase, if the coefficient increases by 1 unit.
- Objective Coefficient: the original coefficient for each decision variable in the object function.
- Allowable Increase: the maximum increase possible to maintain the same final solution.
- Allowable Decrease: the maximum decrease possible to maintain the same final solution.
Constraints: Study how the change of the constraint equation RHS affects the final solution.
- Final Value: final values of LHS of constraints, computed with the final solution.
- Shadow Price: the unit the optimal objective will increase, if the Constraint R.H increases by 1 unit.
- Constraint R.H.Side: the original value of RHS in the constraint equations.
- Allowable Increase: the maximum increase possible to maintain the same final solution.
- Allowable Decrease: the maximum decrease possible to maintain the same final solution.
Sensitivity analysis in GLPK via glpkAPI
Sensitivity report from GLPK offers more information than Excel Solver. Here's the report on the same linear programming problem.
The report also includes two parts:
- Row ( corresponding to “Constraint” in Excel Solver)
- Column (corresponding to “Variable Cells” in Excel Solver) The red box denotes the report features that correspond to Excel Solver.
Row(Constraints):
-
Activity ↔ Final Value (of the row's LHS)
-
Marginal ↔ Shadow Price
-
Lower bound / Upper bound ↔Constraint R.H. Side
- Whether it is “lower” or “upper” bound depends on the signs (>=, <=) in the inequality
-
Activity range ↔Allowable Increase & Allowable Decrease
- The first row: lower range = Constraint R.H.Side - Allowable Decrease
- The second row: upper range = Constraint R.H.Side + Allowable Increase
Column (Variable Cells):
- Activity ↔Final Value (of the variable in according column)
- Obj Coef ↔Objective Coefficient
- Marginal ↔Reduced Cost
- Obj coef range ↔ Allowable Increase & Allowable Decrease
- The first row: lower range = Objective Coefficient - Allowable Decrease
- The second row: upper range = Objective Coefficient + Allowable Increase
References