Degeneracy

The Simplex Pivot Tool is useful for the first exercise.

Fundamental Theorem of Linear Programming

For an arbitrary linear program in standard form, the following statements are true:

  1. If there is no optimal solution, then the problem is either infeasible or unbounded.

  2. If a feasible solution exists, then a basic feasible solution exists.

  3. If an optimal solution exists, then a basic optimal solution exists.

Proof of Bland’s Rule

Bland’s rule is essentially a Smallest-Subscript Rule i.e. if more than one entering variable or leaving variable can be chosen, always choose the variable with the smallest subscript. Notice that this is very similar to the Largest-Coefficient Largest-Subscript Rule. The only difference besides the subscript selection is that the entering variable no longer needs to have the largest positive coefficient.

The proof in this chapter and [Burb] lacked some essential observations that are covered in [Gab]. The following derivations provide the necessary details to understand the proof in [Bura].

The objective value never decreases during the simplex method.

A dictionary is defined as

\[\begin{split}\zeta &= \nu + \sum_{j \in \mathcal{N}} c_j x_j\\ x_i &= b_i - \sum_{j \in \mathcal{N}} a_{ij} x_j &\quad& i \in \mathcal{B}\end{split}\]

where \(\mathcal{B}\) and \(\mathcal{N}\) are the basic and nonbasic integer sets satisfying

  1. \(\mathcal{B}\) contains \(m\) elements,

  2. \(\mathcal{B} \cap \mathcal{N} = \emptyset\),

  3. and \(\mathcal{B} \cup \mathcal{N} = \{1, \ldots, n + m\}\).

A dictionary is said to be feasible if \(0 \leq b_i \forall i \in \mathcal{N}\). If a dictionary is feasible, then a basic feasible solution (BFS) exists for the LP such as \(x_i = b_i\) and \(x_j = 0\).

Assume the simplex method is operating with a deterministic pivot rule such as the

Largest-Coefficient Largest-Subscript Rule

Choice of Entering Variable: Choose \(x_{e}\) so that \(e\) is largest among the variables \(x_{j \in \mathcal{N}}\) such that \(\hat{c}_j = \max \{ \hat{c}_k \colon k \in \mathcal{N} \}\).

Choice of Leaving Variable: Choose \(x_{l}\) so that \(l\) is largest among the variables \(x_{i \in \mathcal{B}}\) such that \(\frac{\hat{b}_i}{\hat{a}_{ie}} = \min \left\{ \frac{\hat{b}_k}{\hat{a}_{ke}} \colon k \in \mathcal{B}, \hat{a}_{ke} > 0 \right\}\).

The pivot step will construct a dictionary for the new basis as follows:

  1. Solve for \(x_e\) in the equation for \(x_l\)

    \[x_e = \frac{b_l}{a_{le}} - \sum_{j \in \mathcal{N}'} \frac{a_{lj}}{a_{le}} x_j\]

    where \(\mathcal{N}' = N \cup \{ l \} \setminus \{ e \}\) and \(a_{ll} = 1\).

  2. Substitute \(x_e\) in the rest of the dictionary:

    (4)\[\begin{split}\zeta &= \nu + c_e x_e + \sum_{j \in \mathcal{N}'} c_j x_j\\ &= \nu + c_e \frac{b_l}{a_{le}} + \sum_{j \in \mathcal{N}'} \left( c_j - c_e \frac{a_{lj}}{a_{le}} \right) x_j\\ \\ x_i &= b_i - a_{ie} x_e - \sum_{j \in \mathcal{N}'} a_{ij} x_j & \quad & i \in \mathcal{B}\\ &= b_i - a_{ie} \frac{b_l}{a_{le}} + \sum_{j \in \mathcal{N}'} \left( a_{ie} \frac{a_{lj}}{a_{le}} - a_{ij} \right) x_j\end{split}\]

Since the pivots are reversible equality-preserving transformations, each dictionary constructed by the algorithm is still feasible due to the minimum ratio test. The test is not applicable when the set of leaving variables is empty, but the LP is unbounded in that case.

Observe that only the basic variables, \(\zeta\), \(x_e\), and \(x_l\) changed. Since \(c_e > 0\), \(a_{le} > 0\), and \(b_l \geq 0\), the new objective value cannot decrease; it can stay constant if \(b_l = 0\). Once the set of entering variables becomes empty, the current basis is a local optimum because each variable in a feasible solution needs to be nonnegative. Since LPs are convex, a local optimum is the global optimum.

If the simplex method fails to terminate, then it must cycle.

Since pivot operations are reversible, the \(n + m \choose m\) unique dictionaries must have identical solution sets. It must also be the case that each basis is associated with a unique dictionary. To see this, let

(5)\[\begin{split}\zeta &= \tilde{\nu} + \sum_{j \in \mathcal{N}} \tilde{c}_j x_j\\ x_i &= \tilde{b}_i - \sum_{j \in \mathcal{N}} \tilde{a}_{ij} x_j &\quad& i \in \mathcal{B}\end{split}\]

and

(6)\[\begin{split}\zeta &= \hat{\nu} + \sum_{j \in \mathcal{N}} \hat{c}_j x_j\\ x_i &= \hat{b}_i - \sum_{j \in \mathcal{N}} \hat{a}_{ij} x_j &\quad& i \in \mathcal{B}\end{split}\]

be two dictionaries associated with the same basis \(\mathcal{B}\). Let \(j^{*} \in \mathcal{N}\) and consider the solution obtained by setting \(x_{j^{*}} = t\) and \(x_{j \in \mathcal{N} \setminus j^{*}} = 0\). Since (5) and (6) have identical solution sets,

\[\begin{split}\tilde{\nu} + \tilde{c}_{j^{*}} t &= \zeta &= \hat{\nu} + \hat{c}_{j^{*}} t\\ \tilde{b}_i - \tilde{a}_{ij^{*}} t &= x_i &= \hat{b}_i - \hat{a}_{ij^{*}} t &\quad& \forall i \in \mathcal{B}.\end{split}\]

Notice that as long as the value \(t\) takes on does not violate the constraints, the resulting solution is feasible. Setting \(t = 0\) reveals \(\tilde{\nu} = \hat{\nu}\) and \(\tilde{b}_i = \hat{b}_i \forall i \in \mathcal{B}\). Consequently, setting \(t\) to any positive value restricts \(\tilde{c}_{ij^{*}} = \hat{c}_{ij^{*}}\) and \(\tilde{a}_{ij^{*}} = \hat{a}_{ij^{*}} \forall i \in \mathcal{B}\). Repeating this argument for all \(j \in \mathcal{N}\) demonstrates that (5) and (6) are identical dictionaries; thus, each basis gives rise to a unique dictionary.

Since there are a finite number of unique bases, the simplex method cannot deterministically pivot indefinitely unless there exists a repeating sequence of dictionaries i.e. a cycle.

The simplex algorithms can only cycle in the presence of degeneracy.

Let \(D_1, D_2, \ldots, D_N\) denote the cycle of dictionaries in question with the corresponding \(\zeta_1, \zeta_2, \ldots, \zeta_N\). By the definition of a cycle, \(\zeta_1 = \zeta_{N + 1}\). Since the pivoting rule seeks to maximize the objective function in a nondecreasing manner,

\[\zeta_1 \leq \zeta_2 \leq \cdots \leq \zeta_N \leq \zeta_{N + 1} = \zeta_1.\]

Therefore, \(\zeta_i = \zeta_j\) for \(1 \leq i < j \leq N\). Consequently, \(b_l = 0\), \(x_l = 0\), and \(x_e = 0\). Thus, each of the pivots taking \(D_i\) to \(D_j\) is necessarily degenerate for \(1 \leq i < j \leq N\), and each of the dictionaries \(D_1, D_2, \ldots, D_N\) must be degenerate.

Notice that the previous degeneracy conditions can be defined more explicitly as

  • A dictionary is degenerate if one or more of the basic variables is set to zero.

  • A pivot is degenerate if one of the ratios in the calculation of the leaving variable is \(+\infty\) i.e. if the numerator is positive and the denominator vanishes.

Exercise 3.1

\[\begin{split}\begin{aligned} \text{maximize} \quad \zeta &= 10 x_1 - 57 x_2 - 9 x_3 - 24 x_4\\ \text{subject to} \quad w_1 &= \epsilon_1 - 0.5 x_1 + 5.5 x_2 + 2.5 x_3 - 9 x_4\\ w_2 &= \epsilon_2 - 0.5 x_1 + 1.5 x_2 + 0.5 x_3 - x_4\\ w_3 &= 1 + \epsilon_3 - x_1\\ x_i &\geq 0 \quad i = 1, 2, 3, 4\\ w_i &\geq 0 \quad i = 1, 2, 3 \end{aligned}\end{split}\]

Initial feasible solution:

\[x_1 = 0, \quad x_2 = 0, \quad x_3 = 0, \quad x_4 = 0, \quad w_1 = \epsilon_1, \quad w_2 = \epsilon_2, \quad w_3 = 1 + \epsilon_3.\]

Choose \(x_1\) and \(w_2\) as the entering and leaving variable respectively where

\[x_1 = \min\left\{ w_i \geq 0 \right\}_{i = 1}^3 = \min\left\{ 2 \epsilon_1, 2 \epsilon_2, 1 + \epsilon_3 \right\}.\]

Update the current dictionary’s feasible solution to

\[x_1 = 2 \epsilon_2, \quad x_2 = 0, \quad x_3 = 0, \quad x_4 = 0, \quad w_1 = \epsilon_1 - \epsilon_2, \quad w_2 = 0, \quad w_3 = 1 + \epsilon_3 - 2 \epsilon_2.\]

Pivot dictionary to

\[\begin{split}\begin{aligned} \text{maximize} \quad \zeta &= 20 \epsilon_2 - 20 w_2 - 87 x_2 + x_3 - 44 x_4\\ \text{subject to} \quad x_1 &= 2 \epsilon_2 - 2 w_2 - 3 x_2 + x_3 - 2 x_4\\ w_1 &= \epsilon_1 - \epsilon_2 + w_2 - 4 x_2 + 2 x_3 - 8 x_4\\ w_3 &= 1 - 2 \epsilon_2 + \epsilon_3 + 2 w_2 + 3 x_2 - x_3 + 2 x_4\\ x_i &\geq 0 \quad i = 1, 2, 3, 4\\ w_i &\geq 0 \quad i = 1, 2, 3 \end{aligned}\end{split}\]

Choose \(x_3\) and \(w_3\) as the entering and leaving variable respectively where

\[x_3 = \min\left\{ -2 \epsilon_2, \frac{\epsilon_2 - \epsilon_1}{2}, 1 - 2 \epsilon_2 + \epsilon_3 \right\}_{\geq 0} = \min\left\{ \frac{2}{3}, 2 \right\}.\]

Update the current dictionary’s feasible solution to

\[x_1 = 1 + \epsilon_3, \quad x_2 = 0, \quad x_3 = 1 - 2 \epsilon_2 + \epsilon_3, \quad x_4 = 0 w_1 = 2 + \epsilon_1 - 5 \epsilon_2 + 2 \epsilon_3, \quad w_2 = 0, \quad w_3 = 0.\]

Pivot dictionary to

\[\begin{split}\begin{aligned} \text{maximize} \quad \zeta &= 1 + 18 \epsilon_2 + \epsilon_3 - 18 w_2 - 84 x_2 - w_3 - 42 x_4\\ \text{subject to} \quad x_1 &= 1 + \epsilon_3 - w_3\\ x_3 &= 1 - \epsilon_2 + \epsilon_3 + 2 w_2 + 3 x_2 - w_3 + 2 x_4\\ w_1 &= 2 + \epsilon_1 - 5 \epsilon_2 + 2 \epsilon_3 + 5 w_2 + 2 x_2 - 2 w_3 - 4 x_4\\ x_i &\geq 0 \quad i = 1, 2, 3, 4\\ w_i &\geq 0 \quad i = 1, 2, 3 \end{aligned}\end{split}\]

The last dictionary is optimal, so dropping the perturbations results in

\[\begin{split}\begin{aligned} \text{maximize} \quad \zeta &= 1 - 18 w_2 - 84 x_2 - w_3 - 42 x_4\\ \text{subject to} \quad x_1 &= 1 - w_3\\ x_3 &= 1 + 2 w_2 + 3 x_2 - w_3 + 2 x_4\\ w_1 &= 2 + 5 w_2 + 2 x_2 - 2 w_3 - 4 x_4\\ x_i &\geq 0 \quad i = 1, 2, 3, 4\\ w_i &\geq 0 \quad i = 1, 2, 3 \end{aligned}\end{split}\]

Exercise 3.2

\[\begin{split}\begin{aligned} \text{maximize} \quad \zeta &= 10 x_1 - 57 x_2 - 9 x_3 - 24 x_4\\ \text{subject to} \quad w_1 &= -0.5 x_1 + 5.5 x_2 + 2.5 x_3 - 9 x_4\\ w_2 &= -0.5 x_1 + 1.5 x_2 + 0.5 x_3 - x_4\\ w_3 &= 1 - x_1\\ x_i &\geq 0 \quad i = 1, 2, 3, 4\\ w_i &\geq 0 \quad i = 1, 2, 3 \end{aligned}\end{split}\]

Initial feasible solution:

\[x_1 = 0, \quad x_2 = 0, \quad x_3 = 0, \quad x_4 = 0, \quad w_1 = 0, \quad w_2 = 0, \quad w_3 = 1.\]

Choose \(x_1\) and \(w_1\) as the entering and leaving variable respectively where

\[x_1 = \min\left\{ w_1, w_2, w_3 \right\}_{\geq 0} = \min\left\{ 0, 0, 1 \right\}_{\geq 0}.\]

Update the current dictionary’s feasible solution to

\[x_1 = 0, \quad x_2 = 0, \quad x_3 = 0, \quad x_4 = 0, \quad w_1 = 0, \quad w_2 = 0, \quad w_3 = 1.\]

Pivot dictionary to

\[\begin{split}\begin{aligned} \text{maximize} \quad \zeta &= -20 w_1 + 53 x_2 + 43 x_3 - 204 x_4\\ \text{subject to} \quad x_1 &= -2 w_1 + 11 x_2 + 5 x_3 - 18 x_4\\ w_2 &= w_1 - 4 x_2 - 2 x_3 + 8 x_4\\ w_3 &= 1 + 2 w_1 - 11 x_2 - 5 x_3 + 18 x_4\\ x_i &\geq 0 \quad i = 1, 2, 3, 4\\ w_i &\geq 0 \quad i = 1, 2, 3 \end{aligned}\end{split}\]

Choose \(x_2\) and \(w_2\) as the entering and leaving variable respectively where

\[x_2 = \min\left\{ x_1, w_2, w_3 \right\}_{\geq 0} = \min\left\{ -11, 0, \frac{1}{11} \right\}_{\geq 0}.\]

Update the current dictionary’s feasible solution to

\[x_1 = 0, \quad x_2 = 0, \quad x_3 = 0, \quad x_4 = 0, \quad w_1 = 0, \quad w_2 = 0, \quad w_3 = 1.\]

Pivot dictionary to

\[\begin{split}\begin{aligned} \text{maximize} \quad \zeta &= \frac{1}{4} \left( -27 w_1 - 53 w_2 + 58 x_3 - 392 x_4 \right)\\ \text{subject to} \quad x_1 &= \frac{1}{4} \left( 3 w_1 - 11 w_2 - 2 x_3 + 16 x_4 \right)\\ x_2 &= \frac{1}{4} \left( w_1 - w_2 - 2 x_3 + 8 x_4 \right)\\ w_3 &= \frac{1}{4} \left( 4 - 3 w_1 + 11 w_2 + 2 x_3 - 16 x_4 \right)\\ x_i &\geq 0 \quad i = 1, 2, 3, 4\\ w_i &\geq 0 \quad i = 1, 2, 3 \end{aligned}\end{split}\]

Choose \(x_3\) and \(x_1\) as the entering and leaving variable respectively where

\[x_3 = \min\left\{ x_1, x_2, w_3 \right\}_{\geq 0} = \min\left\{ 0, 0, -2 \right\}_{\geq 0}.\]

Update the current dictionary’s feasible solution to

\[x_1 = 0, \quad x_2 = 0, \quad x_3 = 0, \quad x_4 = 0, \quad w_1 = 0, \quad w_2 = 0, \quad w_3 = 1.\]

Pivot dictionary to

\[\begin{split}\begin{aligned} \text{maximize} \quad \zeta &= 15 w_1 - 93 w_2 - 29 x_1 + 18 x_4\\ \text{subject to} \quad x_2 &= \frac{1}{2} \left( -w_1 + 5 w_2 + 2 x_1 - 4 x_4 \right)\\ x_3 &= \frac{1}{2} \left( 3 w_1 - 11 w_2 - 4 x_1 + 16 x_4 \right)\\ w_3 &= 1 - x_1\\ x_i &\geq 0 \quad i = 1, 2, 3, 4\\ w_i &\geq 0 \quad i = 1, 2, 3 \end{aligned}\end{split}\]

Choose \(x_4\) and \(x_2\) as the entering and leaving variable respectively where

\[x_4 = \min\left\{ x_2, x_3 \right\}_{\geq 0} = \min\left\{ 0, 0 \right\}_{\geq 0}.\]

Update the current dictionary’s feasible solution to

\[x_1 = 0, \quad x_2 = 0, \quad x_3 = 0, \quad x_4 = 0, \quad w_1 = 0, \quad w_2 = 0, \quad w_3 = 1.\]

Pivot dictionary to

\[\begin{split}\begin{aligned} \text{maximize} \quad \zeta &= \frac{1}{2} \left( 21 w_1 - 141 w_2 - 40 x_1 - 18 x_2 \right)\\ \text{subject to} \quad x_3 &= \frac{1}{2} \left( -w_1 + 9 w_2 + 4 x_1 - 8 x_2 \right)\\ x_4 &= \frac{1}{4} \left( -w_1 + 5 w_2 + 2 x_1 - 2 x_2 \right)\\ w_3 &= 1 - x_1\\ x_i &\geq 0 \quad i = 1, 2, 3, 4\\ w_i &\geq 0 \quad i = 1, 2, 3 \end{aligned}\end{split}\]

Choose \(w_1\) and \(x_3\) as the entering and leaving variable respectively where

\[w_1 = \min\left\{ x_3, x_4 \right\}_{\geq 0} = \min\left\{ 0, 0 \right\}_{\geq 0}.\]

Update the current dictionary’s feasible solution to

\[x_1 = 0, \quad x_2 = 0, \quad x_3 = 0, \quad x_4 = 0, \quad w_1 = 0, \quad w_2 = 0, \quad w_3 = 1.\]

Pivot dictionary to

\[\begin{split}\begin{aligned} \text{maximize} \quad \zeta &= -21 w_3 + 24 w_2 + 22 x_1 - 93 x_2\\ \text{subject to} \quad w_1 &= -2 x_3 + 9 w_2 + 4 x_1 - 8 x_2\\ x_4 &= \frac{1}{2} \left( x_3 - 2 w_2 - x_1 + 3 x_2 \right)\\ w_3 &= 1 - x_1\\ x_i &\geq 0 \quad i = 1, 2, 3, 4\\ w_i &\geq 0 \quad i = 1, 2, 3 \end{aligned}\end{split}\]

Choose \(x_1\) and \(x_4\) as the entering and leaving variable respectively where

\[x_1 = \min\left\{ x_4, w_1, w_3 \right\}_{\geq 0} = \min\left\{ 0, 0, 1 \right\}_{\geq 0}.\]

Update the current dictionary’s feasible solution to

\[x_1 = 0, \quad x_2 = 0, \quad x_3 = 0, \quad x_4 = 0, \quad w_1 = 0, \quad w_2 = 0, \quad w_3 = 1.\]

Pivot dictionary to

\[\begin{split}\begin{aligned} \text{maximize} \quad \zeta &= x_3 - 20 w_2 - 44 x_4 - 27 x_2\\ \text{subject to} \quad w_1 &= 2 x_3 + w_2 - 8 x_4 + 4 x_2\\ x_1 &= x_3 - 2 w_2 - 2 x_4 + 3 x_2\\ w_3 &= 1 - x_3 + 2 w_2 + 2 x_4 - 3 x_2\\ x_i &\geq 0 \quad i = 1, 2, 3, 4\\ w_i &\geq 0 \quad i = 1, 2, 3 \end{aligned}\end{split}\]

Choose \(x_3\) and \(w_3\) as the entering and leaving variable respectively where

\[x_3 = \min\left\{ x_1, w_1, w_3 \right\}_{\geq 0} = \min\left\{ 0, 0, 1 \right\}_{\geq 0}.\]

Update the current dictionary’s feasible solution to

\[x_1 = 1, \quad x_2 = 0, \quad x_3 = 1, \quad x_4 = 0, \quad w_1 = 2, \quad w_2 = 0, \quad w_3 = 0.\]

Pivot dictionary to

\[\begin{split}\begin{aligned} \text{maximize} \quad \zeta &= 1 - w_3 - 18 w_2 - 42 x_4 - 30 x_2\\ \text{subject to} \quad w_1 &= 2 - 2 w_3 + 5 w_2 - 4 x_4 - 2 x_2\\ x_1 &= 1 - w_3\\ x_3 &= 1 - w_3 + 2 w_2 + 2 x_4 - 3 x_2\\ x_i &\geq 0 \quad i = 1, 2, 3, 4\\ w_i &\geq 0 \quad i = 1, 2, 3 \end{aligned}\end{split}\]

Exercise 3.3

The previous exercises already gave enough practice.

Exercise 3.4

Rewriting the standard form LP with slack variables yields

\[\begin{split}\begin{aligned} \text{maximize} \quad \zeta &= \sum_{j \in \mathcal{N}} c_j x_j\\ \text{subject to} \quad x_i &= -\sum_{j \in \mathcal{N}} a_{ij} x_j \quad i \in \mathcal{B}. \end{aligned}\end{split}\]

If all \(c_j \leq 0\) (i.e. the set of entering variables is empty), the BFS is optimal. Suppose there exists some \(x_{e \in \mathcal{N}}\) such that \(c_e > 0\).

If all \(a_{ie} \leq 0\) (i.e. the set of leaving variables is empty), \(x_e\) can be chosen to be arbitrarily large without violating the constraints, which makes the problem feasible but unbounded. Further suppose there exists some \(x_{l \in \mathcal{B}}\) such that \(a_{le} > 0\).

Pivoting according to Bland’s rule would set

\[\begin{split}x_e &= \frac{b_l}{a_{le}} - \sum_{j \in \mathcal{N}'} \frac{a_{lj}}{a_{le}} x_j = -\sum_{j \in \mathcal{N}'} a_{ej}' x_j &\qquad& a_{ej}' = \frac{a_{lj}}{a_{le}} \\ \zeta &= c_e x_e + \sum_{j \in \mathcal{N} \setminus e} c_j x_j = c_e \frac{b_l}{a_{le}} + \sum_{j \in \mathcal{N}'} \left( c_j - c_e \frac{a_{lj}}{a_{le}} \right) x_j = \sum_{j \in \mathcal{N}'} c_j' x_j &\qquad& c_j' = c_j - c_e \frac{a_{lj}}{a_{le}} \\ x_i &= b_i - a_{ie} x_e - \sum_{j \in \mathcal{N} \setminus e} a_{ij} x_j = b_i - a_{ie} \frac{b_l}{a_{le}} + \sum_{j \in \mathcal{N}'} \left( a_{ie} \frac{a_{lj}}{a_{le}} - a_{ij} \right) x_j = -\sum_{j \in \mathcal{N}'} a_{ij}' x_j &\qquad& a_{ij}' = a_{ij} - a_{ie} \frac{a_{lj}}{a_{le}}\end{split}\]

where \(\mathcal{N}' = N \cup \{ l \} \setminus \{ e \}\) and \(a_{ll} = 1\). From inspection, the initial BFS is optimal when subsequent pivots and dictionaries are degenerate.

Suppose the pivots and dictionaries are nondegenerate. There must exist a pivot that serves as the transition from degenerate to nondegenerate. Let \(x_e\) and \(x_l\) respectively denote the entering and leaving variable for that pivot. Recall that a nondegenerate pivot means \(\zeta_t < \zeta_{t + 1}\) and a nondegenerate dictionary requires \(x_i > 0\) for all \(i \in \mathcal{B}\). This means \(c_e x_e > 0\) and \(-a_{ie} x_e > 0\). As a consequence of \(c_e > 0\), \(x_e > 0\) and \(a_{ie} < 0\). Since all the nonbasic variables had a value of zero on iteration \(t\) and the simplex algorithm will assign \(x_l = 0\) on iteration \(t + 1\), \(x_e = 0\). Thus, the subsequent pivots and dictionaries are necessarily degenerate.

Exercise 3.5

Graphing the feasible region shows that the LP is unbounded.

[1]:
from sympy import symbols
from sympy import plot_implicit, And

x1, x2 = symbols('x_1 x_2')

c1 = -2 * x1 <= -5
c2 = And(c1, x1 >= 0)
plot_implicit(c2, (x1, -1, 10), (x2, -10, 10),
              title='Feasible Region', xlabel='$x_1$', ylabel='$x_2$');
<Figure size 640x480 with 1 Axes>

Exercise 3.6

Remember that the pivot step changes only the basic variables, \(\zeta\), \(x_e\), and \(x_l\). Since the non-basic variables still take on the value of zero and \(\zeta\) is irrelevant for this proof, (4) simplifies to

\[x_i = b_i − a_{ie} \frac{b_l}{a_{le}}.\]

When \(a_{ie} \leq 0\), \(x_i \geq b_i \geq 0\). Assuming the initial dictionary is nondegenerate, \(x_i \geq b_i > 0\).

When \(a_{ie} > 0\), the minimum ratio test requires

\[\frac{b_i}{a_{ie}} \geq \frac{b_l}{a_{le}} \rightarrow b_i \geq a_{ie} \frac{b_l}{a_{le}}.\]

Assuming there is never a tie for the choice of leaving variable, \(b_i > a_{ie} \frac{b_l}{a_{le}}\). Therefore, a pivot step gives a nondegenerate dictionary if it starts with a nondegenerate dictionary and has no tie for leaving variable. Since the simplex method can only cycle in the presence of degeneracy, this LP cannot have a cycle.

Exercise 3.7

(a)

\[\left\{ (x_2, x_6), (x_2, x_4), (x_5, x_4), (x_5, x_1) \right\}\]

(b)

\[\left\{ (x_5, x_4), (x_5, x_1) \right\}\]

(c)

\[(x_2, x_4)\]

References

Bura

Jim Burke. Does the simplex algorithm work? https://www.math.washington.edu/ burke/crs/407/notes/section3.pdf. Section 3.1 accessed on 2016-11-01.

Burb

Jim Burke. Solving lps: the simplex algorithm of george dantzig. https://www.math.washington.edu/ burke/crs/407/notes/section2.pdf. Section 2.3 accessed on 2016-11-01.

Gab

Hal Gabow. Csci 5654: linear programming notes. https://www.cs.colorado.edu/ hal/565notes.pdf. Page 31 accessed on 2016-11-01.