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:

sen_excel

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

  1. GLPK Sensitivity
  2. Managerial Interpretation of Sensitivity Analysis
  3. http://www.pblpathways.com/fm/simplex_sensitivity.pdf