org.apache.commons.math3.optim.linear
Class SimplexSolver
java.lang.Object
org.apache.commons.math3.optim.BaseOptimizer<PAIR>
org.apache.commons.math3.optim.BaseMultivariateOptimizer<PointValuePair>
org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer
org.apache.commons.math3.optim.linear.LinearOptimizer
org.apache.commons.math3.optim.linear.SimplexSolver
public class SimplexSolver
- extends LinearOptimizer
Solves a linear problem using the "Two-Phase Simplex" method.
- Since:
- 2.0
- Version:
- $Id: SimplexSolver.java 7721 2013-02-14 14:07:13Z CardosoP $
Constructor Summary |
SimplexSolver()
Builds a simplex solver with default settings. |
SimplexSolver(double epsilon,
int maxUlps)
Builds a simplex solver with a specified accepted amount of error. |
Method Summary |
protected void |
doIteration(org.apache.commons.math3.optim.linear.SimplexTableau tableau)
Runs one iteration of the Simplex method on the given model. |
PointValuePair |
doOptimize()
Performs the bulk of the optimization algorithm. |
protected void |
solvePhase1(org.apache.commons.math3.optim.linear.SimplexTableau tableau)
Solves Phase 1 of the Simplex method. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SimplexSolver
public SimplexSolver()
- Builds a simplex solver with default settings.
SimplexSolver
public SimplexSolver(double epsilon,
int maxUlps)
- Builds a simplex solver with a specified accepted amount of error.
- Parameters:
epsilon
- Amount of error to accept for algorithm convergence.maxUlps
- Amount of error to accept in floating point comparisons.
doIteration
protected void doIteration(org.apache.commons.math3.optim.linear.SimplexTableau tableau)
throws TooManyIterationsException,
UnboundedSolutionException
- Runs one iteration of the Simplex method on the given model.
- Parameters:
tableau
- Simple tableau for the problem.
- Throws:
TooManyIterationsException
- if the allowed number of iterations has been exhausted.
UnboundedSolutionException
- if the model is found not to have a bounded solution.
solvePhase1
protected void solvePhase1(org.apache.commons.math3.optim.linear.SimplexTableau tableau)
throws TooManyIterationsException,
UnboundedSolutionException,
NoFeasibleSolutionException
- Solves Phase 1 of the Simplex method.
- Parameters:
tableau
- Simple tableau for the problem.
- Throws:
TooManyIterationsException
- if the allowed number of iterations has been exhausted.
UnboundedSolutionException
- if the model is found not to have a bounded solution.
NoFeasibleSolutionException
- if there is no feasible solution?
doOptimize
public PointValuePair doOptimize()
throws TooManyIterationsException,
UnboundedSolutionException,
NoFeasibleSolutionException
- Performs the bulk of the optimization algorithm.
- Specified by:
doOptimize
in class BaseOptimizer<PointValuePair>
- Returns:
- the point/value pair giving the optimal value of the
objective function.
- Throws:
TooManyIterationsException
UnboundedSolutionException
NoFeasibleSolutionException
Copyright © 2016 CNES. All Rights Reserved.