org.apache.commons.math3.optimization.linear

## Class SimplexSolver

- java.lang.Object
- - org.apache.commons.math3.optimization.linear.AbstractLinearOptimizer
  - - org.apache.commons.math3.optimization.linear.SimplexSolver

- All Implemented Interfaces:
    LinearOptimizer

  Deprecated.
  As of 3.1 (to be removed in 4.0).

      @Deprecated
      public class SimplexSolver
      extends AbstractLinearOptimizer

  Solves a linear problem using the Two-Phase Simplex Method.
  Since:
    2.0
  Version:
    $Id: SimplexSolver.java 1422230 2012-12-15 12:11:13Z erans $

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private static double` | `DEFAULT_EPSILON` Deprecated. Default amount of error to accept for algorithm convergence.
    `private static int` | `DEFAULT_ULPS` Deprecated. Default amount of error to accept in floating point comparisons (as ulps).
    `private double` | `epsilon` Deprecated. Amount of error to accept for algorithm convergence.
    `private int` | `maxUlps` Deprecated. Amount of error to accept in floating point comparisons (as ulps).

    - ### Fields inherited from class org.apache.commons.math3.optimization.linear.AbstractLinearOptimizer

      `DEFAULT_MAX_ITERATIONS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimplexSolver()` Deprecated. Build a simplex solver with default settings.
    `SimplexSolver(double epsilon, int maxUlps)` Deprecated. Build a simplex solver with a specified accepted amount of error

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `doIteration(SimplexTableau tableau)` Deprecated. Runs one iteration of the Simplex method on the given model.
    `PointValuePair` | `doOptimize()` Deprecated. Perform the bulk of optimization algorithm.
    `private java.lang.Integer` | `getPivotColumn(SimplexTableau tableau)` Deprecated. Returns the column with the most negative coefficient in the objective function row.
    `private java.lang.Integer` | `getPivotRow(SimplexTableau tableau, int col)` Deprecated. Returns the row with the minimum ratio as given by the minimum ratio test (MRT).
    `protected void` | `solvePhase1(SimplexTableau tableau)` Deprecated. Solves Phase 1 of the Simplex method.

    - ### Methods inherited from class org.apache.commons.math3.optimization.linear.AbstractLinearOptimizer

      `getConstraints, getFunction, getGoalType, getIterations, getMaxIterations, incrementIterationsCounter, optimize, restrictToNonNegative, setMaxIterations`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_EPSILON

          private static final double DEFAULT_EPSILON

      Deprecated.
      Default amount of error to accept for algorithm convergence.
      See Also:
        Constant Field Values

    - #### DEFAULT_ULPS

          private static final int DEFAULT_ULPS

      Deprecated.
      Default amount of error to accept in floating point comparisons (as ulps).
      See Also:
        Constant Field Values

    - #### epsilon

          private final double epsilon

      Deprecated.
      Amount of error to accept for algorithm convergence.

    - #### maxUlps

          private final int maxUlps

      Deprecated.
      Amount of error to accept in floating point comparisons (as ulps).

  - ### Constructor Detail

    - #### SimplexSolver

          public SimplexSolver()

      Deprecated.
      Build a simplex solver with default settings.

    - #### SimplexSolver

          public SimplexSolver(double epsilon,
                       int maxUlps)

      Deprecated.
      Build a simplex solver with a specified accepted amount of error
      Parameters:
        `epsilon` - the amount of error to accept for algorithm convergence
        `maxUlps` - amount of error to accept in floating point comparisons

  - ### Method Detail

    - #### getPivotColumn

          private java.lang.Integer getPivotColumn(SimplexTableau tableau)

      Deprecated.
      Returns the column with the most negative coefficient in the objective function row.
      Parameters:
        `tableau` - simple tableau for the problem
      Returns:
        column with the most negative coefficient

    - #### getPivotRow

          private java.lang.Integer getPivotRow(SimplexTableau tableau,
                                      int col)

      Deprecated.
      Returns the row with the minimum ratio as given by the minimum ratio test (MRT).
      Parameters:
        `tableau` - simple tableau for the problem
        `col` - the column to test the ratio of. See `getPivotColumn(SimplexTableau)`
      Returns:
        row with the minimum ratio

    - #### doIteration

          protected void doIteration(SimplexTableau tableau)
                              throws MaxCountExceededException,
                                     UnboundedSolutionException

      Deprecated.
      Runs one iteration of the Simplex method on the given model.
      Parameters:
        `tableau` - simple tableau for the problem
      Throws:
        `MaxCountExceededException` - if the maximal iteration count has been exceeded
        `UnboundedSolutionException` - if the model is found not to have a bounded solution

    - #### solvePhase1

          protected void solvePhase1(SimplexTableau tableau)
                              throws MaxCountExceededException,
                                     UnboundedSolutionException,
                                     NoFeasibleSolutionException

      Deprecated.
      Solves Phase 1 of the Simplex method.
      Parameters:
        `tableau` - simple tableau for the problem
      Throws:
        `MaxCountExceededException` - if the maximal iteration count has been exceeded
        `UnboundedSolutionException` - if the model is found not to have a bounded solution
        `NoFeasibleSolutionException` - if there is no feasible solution

    - #### doOptimize

          public PointValuePair doOptimize()
                                    throws MaxCountExceededException,
                                           UnboundedSolutionException,
                                           NoFeasibleSolutionException

      Deprecated.
      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:
        `MaxCountExceededException`
        `UnboundedSolutionException`
        `NoFeasibleSolutionException`

Copyright (c) 2003-2013 Apache Software Foundation