The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.