The maximum coefficient rule was said during the course to be quite effective, but with this rule the simplex algorithm might not always terminate.
With Bland's rule, we are sure that the algorithm always terminate.
So by combining the two rules, we obtain a rule that is better than Bland rule in most cases, while having the propriety that it always terminates : when the number of step tends to infinity, the number of consecutive bland choice tends toward
The different rules don't give the same number of pivots.
Bland rule always terminates.
My rule always terminates.
I have chosen some degeneracy cases to check that my algorithm works.
It is most sensitive to the number of constraints. Indeed, each constraint adds one more variable. It also adds faces to the polyhedron. Since we move on these faces, if there is more, then there are higher chances that the algorithm takes more time.
We can study the complexity for one step : there is $nm$ operations to do the pivot. Plus $n+m$ to choose the entering and leaving variables. Hence, the complexity is $O(nm)$.
When running test, I observed a huge difference when running big instances compared to small instance in the time required to do one step when the algorithm is advancing toward its solution. This is most likely due to the implementation of rationals : when rationals are big, there is an additional cost to run basic operations : it is no longer done in