PHP code example of uestla / simplex-calculator
1. Go to this page and download the library: Download uestla/simplex-calculator library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
uestla / simplex-calculator example snippets
// using Composer
download
// define task: Maximize x1 + 2x2
$task = new Simplex\Task(new Simplex\Func(array(
'x1' => 1,
'x2' => 2,
)));
// add constraints
// 3x1 + 2x2 <= 24
$task->addRestriction(new Simplex\Restriction(array(
'x1' => 3,
'x2' => 2,
), Simplex\Restriction::TYPE_LOE, 24));
// -2x1 - 4x2 >= -32
$task->addRestriction(new Simplex\Restriction(array(
'x1' => -2,
'x2' => -4,
), Simplex\Restriction::TYPE_GOE, -32));
// create solver
$solver = new Simplex\Solver($task);
// get solutions
$solution = $solver->getSolution(); // array('x1' => 0, 'x2' => 8, 'x3' => 8, 'x4' => 0)
$alternativeSolutions = $solver->getAlternativeSolution(); // array(array('x1' => 4, 'x2' => 6, 'x3' => 0, 'x4' => 0))
// get optimal value
$optimum = $solver->getSolutionValue($solution); // 16
// print solutions
$printer = new Simplex\Printer;
$printer->printSolution($solver);
// or print the whole solution process
$printer->printSolver($solver);
$solver = new Simplex\Solver($task, 32);