Mateu X. Hunter

# 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.