Name

Algorithm::Simplex::PDL - PDL model of the Simplex Algorithm

Methods

_build_number_of_rows

Set the number of rows. This is actually for the A matrix in Ax <= y. So the number is one less than the total number of rows in the tableau. The same holds for number of columns.

_build_number_of_columns

set the number of columns given the tableau matrix

pivot

Do the algebra of a Tucker/Bland pivot. i.e. Traverse from one node to and adjacent node along the Simplex of feasible solutions. This pivot method is particular to this PDL model.

is_optimal

Return 1 if the current solution is optimal, 0 otherwise.

determine_simplex_pivot_columns

Look at the basement row to see where positive entries exists. Columns with positive entries in the basement row are pivot column candidates.

Should run optimality test, is_optimal, first to insure at least one positive entry exists in the basement row which then means we can increase the objective value for the maximization problem.

determine_positive_ratios

Starting with the pivot column find the entry that yields the lowest positive b to entry ratio that has lowest bland number in the event of ties.

display_pdl

Given a Piddle return it as a string in a Matrix like format.

current_solution

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

display_piddle

Coercion: convert a PDL into an ArrayRef[ArrayRef[Num]]