logo

Simplex Method's Bland's Rule 📂Optimization

Simplex Method's Bland's Rule

Theorem

A system of equations of the following form for Dictionary: i=1,,mi = 1 , \cdots , m is called a Dictionary. ζ=j=1ncjxjxn+i=bij=1naijxj \begin{align*} \zeta &=& & & \sum_{j=1}^{n} c_{j} x_{j} \\ x_{n+i} &=& b_{i} &-& \sum_{j=1}^{n} a_{ij} x_{j} \end{align*} Variables on the left side of ζ\zeta, excluding the one variable, are called basic variables, and variables on the right side are called nonbasic variables. Their indices are denoted as follows. B:={n+1,n+2,,n+m}N:={1,2,,n} \begin{align*} \mathcal{B} :=& \left\{ n+1 , n+2 , \cdots , n+m \right\} \\ \mathcal{N} :=& \left\{ 1 , 2 , \cdots , n \right\} \end{align*}

In the Simplex Method of Linear Programming, selecting the index of the entering variable as the smallest one from N\mathcal{N}, and selecting the index of the leaving variable as the smallest one from B\mathcal{B} is called Brand’s Rule. According to Brand’s Rule, the simplex method does not fall into a cycle.

Explanation

Although there are other methods to solve a linear programming problem besides the Simplex Method, and there is not only one pivot rule for updating the dictionary in the simplex method, the existence of Brand’s Rule guarantees that the simplex method can always solve linear programming problems. Understanding this theorem means that you can consider mastering the two most important concepts in linear programming, including the simplex method itself.

Proof 1

Strategy: It’s not easy. It will be shown that it is a contradiction to fall into a cycle when pivoting with Brand’s rule.


Part 1. ζ=v+j=1n+mcjxj\zeta = v + \sum_{j = 1}^{n+m} c_{j}^{\ast} x_{j}

Without loss of generality, let’s start the proof from the point where cycling occurs. For some kNk \in \mathbb{N}, the dictionary cycles as follows. D0,D1,,Dk1,D0,D1, D_{0} , D_{1} , \cdots, D_{k-1} , D_{0} , D_{1} , \cdots In this dictionary, variables that are basic in some and nonbasic in others are called fickle. Let the fickle with the largest index be xtx_{t}, and when the dictionary that has xtx_{t} as the leaving variable is DD, without loss of generality let it be so that DD can be written with respect to iB\forall i \in \mathcal{B} as follows. ζ=v+jNcjxjxn+i=bijNaijxj \begin{align*} \zeta &=& v &+& \sum_{j \in \mathcal{N}} c_{j} x_{j} \\ x_{n+i} &=& b_{i} &-& \sum_{j \in \mathcal{N}} a_{ij} x_{j} \end{align*} Here, if xsx_{s} is the entering variable, then xtx_{t} is the leaving one, and still tBt \in \mathcal{B} and sNs \in \mathcal{N}. Now let DD^{\ast} be the dictionary where xtx_{t} enters the basis, and suppose it can be written with respect to iB\forall i \in \mathcal{B}^{\ast} as follows. ζ=v+jNcjxjxn+i=bijNaijxj \begin{align*} \zeta &=& v^{\ast} &+& \sum_{j \in \mathcal{N}^{\ast}} c_{j}^{\ast} x_{j} \\ x_{n+i} &=& b_{i}^{\ast} &-& \sum_{j \in \mathcal{N}^{\ast}} a_{ij}^{\ast} x_{j} \end{align*} The fact that the simplex method has fallen into a cycle means that all D1,,Dk1D_{1} , \cdots, D_{k-1} are degenerated, and because of v=vv^{\ast} = v, for the objective function ζ\zeta, by setting it as cj=0c_{j}^{\ast} = 0 for jBj \in \mathcal{B}^{\ast}, it can be written as follows. ζ=v+j=1n+mcjxj \zeta = v + \sum_{j = 1}^{n+m} c_{j}^{\ast} x_{j}


Part 2. ζ=v+csy\zeta = v + c_{s} y

As in the form of the equation, let’s consider the situation where the entering variable xsx_{s} increases and the other variables in N\mathcal{N} are fixed at 00, so that no variable becomes negative. In terms of equations, it’s xs=yxj=0,jN{s}xi=biaisy,iB \begin{align*} x_{s} =& y \\ x_{j} =& 0 & , j \in \mathcal{N} \setminus \left\{ s \right\} \\ x_{i} =& b_{i} - a_{is} y & , i \in \mathcal{B} \end{align*} and this is about increasing yy. By rewriting the objective function ζ\zeta with respect to this, the following can be obtained. ζ=v+csy \zeta = v + c_{s} y


Part 3.

Rewriting Part 1’s ζ=v+j=1n+mcjxj\zeta = v + \sum_{j = 1}^{n+m} c_{j}^{\ast} x_{j} with respect to yy, ζ=v+csy+iBci(biaisy) \zeta = v + c_{s}^{\ast} y + \sum_{i \in \mathcal{B}} c_{i}^{\ast} \left( b_{i} - a_{is} y \right) and substituting the left side for part 2’s ζ=v+csy\zeta = v + c_{s} y, gives (cscs+iBciais)y=iBcibi \left( c_{s} - c_{s}^{\ast} + \sum_{i \in \mathcal{B}} c_{i}^{\ast} a_{is} \right) y = \sum_{i \in \mathcal{B}} c_{i}^{\ast} b_{i} This equation always holds for all yy, regardless of what’s on the right side, so from this, it’s understood that what’s inside the parenthesis is always 00. cscs+iBciais=0 \begin{equation} c_{s} - c_{s}^{\ast} + \sum_{i \in \mathcal{B}} c_{i}^{\ast} a_{is} = 0 \end{equation} In other words, if the entering variable is xsx_{s}, cs>0 \begin{equation} c_{s} > 0 \end{equation} Moreover, since xtx_{t} is the fickle with the largest index and xsx_{s} was also a fickle, s<ts < t follows. Since the entering variable for DD^{\ast} was xtx_{t}, xsx_{s} is not an entering variable, cs0 \begin{equation} c_{s}^{\ast} \le 0 \end{equation}

According to (1),(2),(3)(1), (2), (3), iBciais<0 \sum_{i \in \mathcal{B}} c_{i}^{\ast} a_{is} < 0 and there must exist a rBr \in \mathcal{B} that satisfies the following. crars<0 c_{r}^{\ast} a_{rs} < 0 As a result, cr0c_{r}^{\ast} \ne 0 and rNr \in \mathcal{N}^{\ast}, thus xrx_{r} is a fickle and rtr \le t follows.


Part 4. r<tr < t

Since we are considering the simplex method, we can say two things:

  • Since xtx_{t} is the entering variable for DD^{\ast}, ct>0c_{t}^{\ast} > 0 follows.
  • Since xtx_{t} is the leaving variable for DD, ats>0a_{ts} > 0 follows.

Therefore, ctats>0c_{t}^{\ast} a_{ts} > 0, but since crars<0c_{r}^{\ast} a_{rs} < 0, rtr \ne t, that is, up to r<tr < t can be asserted.


Part 5.

If it’s r<tr < t, then it must be cr0c_{r}^{\ast} \le 0, because if it wasn’t and was cr>0c_{r}^{\ast} > 0 instead, then according to Part 3, rr must have been the entering variable for DD^{\ast}. According to this and Part 3’s crars<0c_{r}^{\ast} a_{rs} < 0, ars>0 \begin{equation} a_{rs} > 0 \end{equation} On the other hand, that dictionaries have fallen into a cycle means that they all essentially represent the same solution, hence all fickle variables are 00 in that dictionary, and especially xr=0x_{r} = 0. However, since xrx_{r} is a basic variable in DD, br=0 \begin{equation} b_{r} = 0 \end{equation} Following (4)(4) and (5)(5), xrx_{r} is one of the candidates for the leaving variable in DD, and since it is r<tr < t according to Part 4, following Brand’s rule, it should have been selected (left) instead of xtx_{t} much earlier. This contradiction reveals that the assumption that the dictionary has fallen into a cycle even when using Brand’s rule is false.

See Also

Fundamental Theorem of Linear Programming

This theorem is used in the proof of the fundamental theorem of linear programming.


  1. Vanderbei. (2020). Linear Programming(5th Edition): p34~36. ↩︎