Mateu X. Hunter >
Algorithm-Simplex >
Algorithm::Simplex::Float

Algorithm::Simplex::Float - Float model of the Simplex Algorithm

Do the algebra of a Tucker/Bland pivot. i.e. Traverse from one node to an adjacent node along the Simplex of feasible solutions.

Check the basement row to see if any positive entries exist. Existence of a positive entry means the solution is sub-optimal and optimal otherwise. This is how we decide when to stop the algorithm.

Use EPSILON instead of zero because we're dealing with floats (imperfect numbers).

Find the columns that are candiates for pivoting in. This is based on their basement row value being greater than zero.

Once a a pivot column has been chosen then we choose a pivot row based on the smallest postive ration. This function is a helper to achieve that.

Return both the primal (max) and dual (min) solutions for the tableau.

Check if we have any negative values in the right hand column.

syntax highlighting: