The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Name

Algorithm::Simplex::Role::Solve - solve() method implemented as Moose role.

Synposis

use Algorithm::Simplex::Rational;
use Data::Dumper;
my $matrix = [
    [ 5,  2,  30],
    [ 3,  4,  20],
    [10,  8,   0],
];
my $tableau = Algorithm::Simplex::Rational->new( tableau => $matrix );
$tableau->solve;
print Dumper $tableau_object->display_tableau;
 

Methods

solve

Walk the simplex of feasible solutions by moving to an adjacent vertex one step at a time. Each vertex of the feasible region corresponds to a tableau.

This solve() method assumes we are starting with a feasible solution. This is referred to a phase 2 of the Simplex algorithm, where phase 1 is obtaining a feasible solution so phase 2 can be applied.

Returns 1 if an optimal solution is found, 0 otherwise.