Basic Solver - Interpreting the Sensitivity Report

The Sensitivity Report provides classical sensitivity analysis information for both linear and nonlinear programming problems, including dual values (in both cases) and range information (for linear problems only).  The dual values for (nonbasic) variables are called Reduced Costs in the case of linear programming problems, and Reduced Gradients for nonlinear problems.  The dual values for binding constraints are called Shadow Prices for linear programming problems, and Lagrange Multipliers for nonlinear problems.

Constraints which are simple upper and lower bounds on the variables, that you enter in the Constraints section of the Solver Parameters dialog, are handled specially (for efficiency reasons) by both the linear and nonlinear Solver algorithms, and will not appear in the Constraints section of the Sensitivity report.  When an upper or lower bound on a variable is binding at the solution, a nonzero Reduced Cost or Reduced Gradient for that variable will appear in the “Decision Variable Cells” section of the report; this is normally the same as a Lagrange Multiplier or Shadow Price for the upper or lower bound.

Interpreting Dual Values

Dual values are the most basic form of sensitivity analysis information.  The dual value for a variable is nonzero only when the variable’s value is equal to its upper or lower bound at the optimal solution.  This is called a nonbasic variable, and its value was driven to the bound during the optimization process.  Moving the variable’s value away from the bound will worsen the objective function’s value; conversely, “loosening” the bound will improve the objective.  The dual value measures the increase in the objective function’s value per unit increase in the variable’s value.

The dual value for a constraint is nonzero only when the constraint is equal to its bound.  This is called a binding constraint, and its value was driven to the bound during the optimization process.  Moving the constraint left hand side’s value away from the bound will worsen the objective function’s value; conversely, “loosening” the bound will improve the objective.  The dual value measures the increase in the objective function’s value per unit increase in the constraint’s bound.

If you are not accustomed to analyzing sensitivity information for nonlinear problems, bear in mind that the dual values are valid only at the single point of the optimal solution – if there is any curvature involved, the dual values begin to change (along with the constraint gradients) as soon as you move away from the optimal solution.  In the case of linear problems, the dual values remain constant over a range (see below).

Interpreting Range Information

In linear programming problems (unlike nonlinear problems), the dual values are constant over a range of possible changes in the objective function coefficients and the constraint right hand sides.  The Sensitivity Report for linear programming problems includes this range information.

For each decision variable, the report shows its coefficient in the objective function, and the amount by which this coefficient could be increased or decreased without changing the dual value.  For each constraint, the report shows the constraint right hand side, and the amount by which the RHS could be increased or decreased without changing the dual value.