Class SimplexSolver

java.lang.Object
org.apache.commons.math.optimization.linear.AbstractLinearOptimizer
org.apache.commons.math.optimization.linear.SimplexSolver
All Implemented Interfaces:
LinearOptimizer

public class SimplexSolver extends AbstractLinearOptimizer
Solves a linear problem using the Two-Phase Simplex Method.
Since:
2.0
Version:
$Revision: 812831 $ $Date: 2009-09-09 10:48:03 +0200 (mer. 09 sept. 2009) $
  • Field Details

    • epsilon

      protected final double epsilon
      Amount of error to accept in floating point comparisons.
  • Constructor Details

    • SimplexSolver

      public SimplexSolver()
      Build a simplex solver with default settings.
    • SimplexSolver

      public SimplexSolver(double epsilon)
      Build a simplex solver with a specified accepted amount of error
      Parameters:
      epsilon - the amount of error to accept in floating point comparisons
  • Method Details

    • doIteration

      protected void doIteration(org.apache.commons.math.optimization.linear.SimplexTableau tableau) throws OptimizationException
      Runs one iteration of the Simplex method on the given model.
      Parameters:
      tableau - simple tableau for the problem
      Throws:
      OptimizationException - if the maximal iteration count has been exceeded or if the model is found not to have a bounded solution
    • solvePhase1

      protected void solvePhase1(org.apache.commons.math.optimization.linear.SimplexTableau tableau) throws OptimizationException
      Solves Phase 1 of the Simplex method.
      Parameters:
      tableau - simple tableau for the problem
      Throws:
      OptimizationException - if the maximal number of iterations is exceeded, or if the problem is found not to have a bounded solution, or if there is no feasible solution
    • doOptimize

      public RealPointValuePair doOptimize() throws OptimizationException
      Perform the bulk of optimization algorithm.
      Specified by:
      doOptimize in class AbstractLinearOptimizer
      Returns:
      the point/value pair giving the optimal value for objective function
      Throws:
      OptimizationException - if no solution fulfilling the constraints can be found in the allowed number of iterations