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]]