org.apache.commons.math3.optimization.linear
Class SimplexSolver

java.lang.Object
  extended by org.apache.commons.math3.optimization.linear.AbstractLinearOptimizer
      extended by 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 1462503 2013-03-29 15:48:27Z luc $

Field Summary
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
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
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  Integer getPivotColumn(SimplexTableau tableau)
          Deprecated. Returns the column with the most negative coefficient in the objective function row.
private  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 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 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