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