Class SimplexSolver
- java.lang.Object
-
- org.apache.commons.math3.optimization.linear.AbstractLinearOptimizer
-
- org.apache.commons.math3.optimization.linear.SimplexSolver
-
- All Implemented Interfaces:
LinearOptimizer
@Deprecated public class SimplexSolver extends AbstractLinearOptimizer
Deprecated.As of 3.1 (to be removed in 4.0).Solves a linear problem using the Two-Phase Simplex Method.- Since:
- 2.0
-
-
Field Summary
Fields Modifier and Type Field 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 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
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method 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
-
-
-
-
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 convergencemaxUlps
- 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 problemcol
- the column to test the ratio of. SeegetPivotColumn(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 exceededUnboundedSolutionException
- 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 exceededUnboundedSolutionException
- if the model is found not to have a bounded solutionNoFeasibleSolutionException
- 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 classAbstractLinearOptimizer
- Returns:
- the point/value pair giving the optimal value for objective function
- Throws:
MaxCountExceededException
UnboundedSolutionException
NoFeasibleSolutionException
-
-