Parametric Programming: Tracing the Optimal Basis

Trace how the optimal basis of a linear program evolves as an objective coefficient vector or right-hand-side vector varies linearly with a parameter θ\theta. Find the range of θ\theta for which the current basis remains optimal (or feasible) and identify which non-basic variable enters or basic variable leaves at the critical breakpoints.

Step 1 of 157%

Tutorial

Range of Optimality for an Objective Coefficient

Parametric programming examines how an LP's optimal solution evolves as a coefficient varies along a line. Consider a maximization LP whose objective coefficients are perturbed as c+θd\mathbf{c}+\theta\mathbf{d} for a real parameter θ\theta. At θ=0\theta=0 the current basis is optimal, so every non-basic reduced cost satisfies rˉj0\bar{r}_j \le 0.

As θ\theta changes, each non-basic reduced cost moves linearly:

rˉj(θ)=rˉj+θsˉj,\bar{r}_j(\theta) \,=\, \bar{r}_j + \theta\,\bar{s}_j,

where sˉj\bar{s}_j is the parametric reduced cost coefficient for variable xjx_j.

The basis remains optimal as long as rˉj(θ)0\bar{r}_j(\theta) \le 0 for every non-basic jj. Solving each inequality for θ\theta yields the range of optimality [θmin,θmax][\theta_{\min},\theta_{\max}], where

θmax=minsˉj>0rˉjsˉj,θmin=maxsˉj<0rˉjsˉj.\theta_{\max} \,=\, \min_{\bar{s}_j>0}\,\dfrac{-\bar{r}_j}{\bar{s}_j}, \qquad \theta_{\min} \,=\, \max_{\bar{s}_j<0}\,\dfrac{-\bar{r}_j}{\bar{s}_j}.

If no sˉj\bar{s}_j is positive, take θmax=+\theta_{\max}=+\infty. If none is negative, take θmin=\theta_{\min}=-\infty.

For a tiny illustration, suppose a single non-basic variable has rˉ1=4\bar{r}_1=-4 and sˉ1=2\bar{s}_1=2. The optimality condition becomes

4+2θ0θ2,-4 + 2\theta \le 0 \quad\Longrightarrow\quad \theta \le 2,

so the basis stays optimal on (,2](-\infty,\,2].

navigate · Enter open · Esc close · ⌘K/Ctrl K toggle