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
`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
`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`