Bland's Rule for preventing cycles in the Simplex Algorithm is:Select the entering variable as the one with the smallest index that has positive (or negative) reduced cost for maximisation (minimisation).Select the exiting variable as the one with the minimum theta ratio, breaking ties by selecting the smallest index.On the face of it, it seems quite simple. I believe I've implemented it correctly, however my implementation of simplex does cycle forever on certain problem instances. It seems to be more prone to doing so with larger problems.I should say that I'm actually doing revised simplex with implicit upper bounds on variables, so the entering/exiting rules are a bit different. I maintain a basis, as well as keep track of variables that are nonbasic at their lower bound, or nonbasic at their upper bound.I wonder whether Bland's rule may not apply in this case?I have also tried other methods, such perturbing the constraint right-hand-side very slightly, however this also failed to prevent cycling.Any insight into whether Bland's rule should work on Revised Simplex with implicit upper bounds? And whether there are any implementation-specific things I might need to know that may not be said in the reference papers?Failing that, any idea of other ways to prevent cycling in Simplex, and in particular Simplex with implicit upper bounds?Thanks
Bland's Rule for Simplex with implicit upper bounds?
optimization;linear programming