Bland's rule
In mathematical optimization, Bland's rule is an algorithmic refinement of the simplex method for linear optimization.
With Bland's rule, the simplex algorithm solves feasible linear optimization problems without cycling.
The original simplex algorithm starts with an arbitrary basic feasible solution, and then changes the basis in order to decrease the minimization target and find an optimal solution. Usually, the target indeed decreases in every step, and thus after a bounded number of steps an optimal solution is found. However, there are examples of degenerate linear programs, on which the original simplex algorithm cycles forever. It gets stuck at a basic feasible solution and changes bases in a cyclic way without decreasing the minimization target.
Such cycles are avoided by Bland's rule for choosing a column to enter and a column to leave the basis.
Bland's rule was developed by Robert G. Bland while he was a research fellow at the Center for Operations Research and Econometrics in Belgium.
Algorithm
One uses Bland's rule during an iteration of the simplex method to decide first what column and then row in the tableau to pivot on. Assuming that the problem is to minimize the objective function, the algorithm is loosely defined as follows:- Choose the lowest-numbered nonbasic column with a negative cost.
- Now among the rows, choose the one with the lowest ratio between the right-hand side and the coefficient in the pivot tableau where the coefficient is greater than zero. If the minimum ratio is shared by several rows, choose the row with the lowest-numbered column basic in it.
While Bland's pivot rule is theoretically important, from a practical perspective, it is quite inefficient and takes a long time to converge. In practice, other pivot rules are used, and cycling rarely happens.