The LP Procedure

Sensitivity Analysis

Sensitivity analysis is a technique for examining the effects of changes in model parameters on the optimal solution. The analysis enables you to examine the size of a perturbation to the right-hand-side or objective vector by an arbitrary change vector for which the basis of the current optimal solution remains optimal.

Note: When sensitivity analysis is performed on integer-constrained problems, the integer variables are fixed at the value they obtained in the integer optimal solution. Therefore, care must be used when interpreting the results of such analyses. Care must also be taken when preprocessing is enabled, because preprocessing usually alters the original formulation.

Right-Hand-Side Sensitivity Analysis

Consider the problem (lpr(\phi)):

x^{opt}(\phi)= & \min c^tx \vspace{0.1in}\   {\rm subjectto}  & a x \, \{\geq, =, \leq\} \, b + \phi r \    & \ell \leq x \leq u \

where  r is a right-hand-side change vector.

Let x^{opt}(\phi) denote an optimal basic feasible solution to (lpr(\phi)). PROC LP can be used to examine the effects of changes in \phi on the solution  x^{opt}(0) of problem  (lpr(0)) . For the basic solution  x^{opt}(0), let  b be the matrix composed of the basic columns of  a and let  n be the matrix composed of the nonbasic columns of  a. For the basis matrix  b, the basic components of  x^{opt}(0), written as  x^{opt}(0)_b, can be expressed as

   x^{opt}(0)_b = b^{-1} (b-nx^{opt}(0)_n)
Furthermore, because  x^{opt}(0) is feasible,
\ell_b\leq b^{-1}(b-nx^{opt}(0)_n)\leq u_b
where  \ell_b is a column vector of the lower bounds on the structural basic variables, and  u_b is a column vector of the upper bounds on the structural basic variables. For each right-hand-side change vector  r identified in the RHSSEN statement, PROC LP finds an interval [\phi_{min} ,\phi _{max}] such that
\ell_b\leq b^{-1}(b+\phi r-nx^{opt}(0)_n)\leq u_b
for \phi \in [\phi_{min} ,\phi _{max}]. Furthermore, because changes in the right-hand side do not affect the reduced costs, for \phi \in [\phi_{min} ,\phi _{max}],
x^{opt}(\phi)^t=((b^{-1}(b+\phi r-nx^{opt}(0)_n))^t,x^{opt}(0)_n^t)
is optimal in (lpr(\phi)).

For \phi =\phi_{min} and \phi =\phi_{max}, PROC LP reports the following:

The leaving variable identifies the basic variable  x_i that first reaches either the lower bound  \ell_i or the upper bound  u_i as \phi reaches \phi_{min} or \phi_{max}. This is the basic variable that would leave the basis to maintain primal feasibility. Multiple RHSSEN variables can appear in a problem data set.

Price Sensitivity Analysis

Consider the problem (lpp(\phi)):

x^{opt}(\phi)= & \min (c+\phi r)^tx \vspace{0.1in}\   {\rm subjectto}  & a x \, \{\geq, =, \leq\} \, b \    & \ell \leq x \leq u \

where  r is a price change vector.

Let x^{opt}(\phi) denote an optimal basic feasible solution to (lpp(\phi)). PROC LP can be used to examine the effects of changes in \phi on the solution  x^{opt}(0) of problem  (lpp(0)). For the basic solution  x^{opt}(0), let  b be the matrix composed of the basic columns of  a and let  n be the matrix composed of the nonbasic columns of  a. For basis matrix  b, the reduced cost associated with the  ith variable can be written as

rc_i(\phi)=((c+\phi r)^t_n-   (c+\phi r)^t_bb^{-1}n)_i
where (c +\phi r )_n and (c +\phi r)_b is a partition of the vector of price coefficients into nonbasic and basic components. Because  x^{opt}(0) is optimal in  (lpp(0)), the reduced costs satisfy
rc_i(\phi)\geq0
if the nonbasic variable in column  i is at its lower bound, and
rc_i(\phi)\leq0
if the nonbasic variable in column  i is at its upper bound.

For each price coefficient change vector  r identified with the keyword PRICESEN in the TYPE variable, PROC LP finds an interval [\phi_{min} ,\phi _{max}] such that for \phi \in [\phi_{min} ,\phi _{max}],

rc_i(\phi)\geq0
if the nonbasic variable in column  i is at its lower bound, and
rc_i(\phi)\leq0
if the nonbasic variable in column  i is at its upper bound. Because changes in the price coefficients do not affect feasibility, for \phi \in [\phi_{min} ,\phi _{max}], x^{opt}(\phi) is optimal in (lpp(\phi)). For \phi =\phi_{min} and \phi =\phi_{max}, PROC LP reports the following: The entering variable identifies the variable whose reduced cost first goes to zero as \phi reaches \phi_{min} or \phi_{max}. This is the nonbasic variable that would enter the basis to maintain optimality (dual feasibility). Multiple PRICESEN variables may appear in a problem data set.

Previous Page | Next Page | Top of Page