Mateu X. Hunter

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