Name
Algorithm::Simplex::Float - Float model of the Simplex Algorithm
Methods
pivot
Do the algebra of a Tucker/Bland pivot. i.e. Traverse from one node to an adjacent node along the Simplex of feasible solutions.
is_optimal
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).
determine_simplex_pivot_columns
Find the columns that are candiates for pivoting in. This is based on their basement row value being greater than zero.
determine_positive_ratios
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.
current_solution
Return both the primal (max) and dual (min) solutions for the tableau.
is_basic_feasible_solution
Check if we have any negative values in the right hand column.