Name
Algorithm::Simplex::Rational - Rational model of the Simplex Algorithm
Methods
pivot
Do the algebra of a Tucker/Bland Simplex pivot. i.e. Traverse from one node to an adjacent node along the Simplex of feasible solutions.
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.
is_optimal
Return 1 if the current solution is optimal, 0 otherwise.
Check basement row for having all non-positive entries which would => optimal (while in phase 2).
current_solution
Return both the primal (max) and dual (min) solutions for the tableau.
Coercions
make_fractions
Make each rational entry a Math::Cephes::Fraction object with the help of Math::BigRat
display_fractions
Convert each fraction object entry into a string.