Package org.apache.commons.math3.optim
Class AbstractOptimizationProblem<PAIR>
- java.lang.Object
-
- org.apache.commons.math3.optim.AbstractOptimizationProblem<PAIR>
-
- Type Parameters:
PAIR- Type of the point/value pair returned by the optimization algorithm.
- All Implemented Interfaces:
OptimizationProblem<PAIR>
- Direct Known Subclasses:
LeastSquaresFactory.LocalLeastSquaresProblem
public abstract class AbstractOptimizationProblem<PAIR> extends java.lang.Object implements OptimizationProblem<PAIR>
Base class for implementing optimization problems. It contains the boiler-plate code for counting the number of evaluations of the objective function and the number of iterations of the algorithm, and storing the convergence checker.- Since:
- 3.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classAbstractOptimizationProblem.MaxEvalCallbackDefines the action to perform when reaching the maximum number of evaluations.private static classAbstractOptimizationProblem.MaxIterCallbackDefines the action to perform when reaching the maximum number of evaluations.
-
Field Summary
Fields Modifier and Type Field Description private ConvergenceChecker<PAIR>checkerConvergence checker.private static AbstractOptimizationProblem.MaxEvalCallbackMAX_EVAL_CALLBACKCallback to use for the evaluation counter.private static AbstractOptimizationProblem.MaxIterCallbackMAX_ITER_CALLBACKCallback to use for the iteration counter.private intmaxEvaluationsmax evaluationsprivate intmaxIterationsmax iterations
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractOptimizationProblem(int maxEvaluations, int maxIterations, ConvergenceChecker<PAIR> checker)Create anAbstractOptimizationProblemfrom the given data.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConvergenceChecker<PAIR>getConvergenceChecker()Gets the convergence checker.IncrementorgetEvaluationCounter()Get a independent Incrementor that counts up to the maximum number of evaluations and then throws an exception.IncrementorgetIterationCounter()Get a independent Incrementor that counts up to the maximum number of iterations and then throws an exception.
-
-
-
Field Detail
-
MAX_EVAL_CALLBACK
private static final AbstractOptimizationProblem.MaxEvalCallback MAX_EVAL_CALLBACK
Callback to use for the evaluation counter.
-
MAX_ITER_CALLBACK
private static final AbstractOptimizationProblem.MaxIterCallback MAX_ITER_CALLBACK
Callback to use for the iteration counter.
-
maxEvaluations
private final int maxEvaluations
max evaluations
-
maxIterations
private final int maxIterations
max iterations
-
checker
private final ConvergenceChecker<PAIR> checker
Convergence checker.
-
-
Constructor Detail
-
AbstractOptimizationProblem
protected AbstractOptimizationProblem(int maxEvaluations, int maxIterations, ConvergenceChecker<PAIR> checker)Create anAbstractOptimizationProblemfrom the given data.- Parameters:
maxEvaluations- the number of allowed model function evaluations.maxIterations- the number of allowed iterations.checker- the convergence checker.
-
-
Method Detail
-
getEvaluationCounter
public Incrementor getEvaluationCounter()
Get a independent Incrementor that counts up to the maximum number of evaluations and then throws an exception.- Specified by:
getEvaluationCounterin interfaceOptimizationProblem<PAIR>- Returns:
- a counter for the evaluations.
-
getIterationCounter
public Incrementor getIterationCounter()
Get a independent Incrementor that counts up to the maximum number of iterations and then throws an exception.- Specified by:
getIterationCounterin interfaceOptimizationProblem<PAIR>- Returns:
- a counter for the evaluations.
-
getConvergenceChecker
public ConvergenceChecker<PAIR> getConvergenceChecker()
Gets the convergence checker.- Specified by:
getConvergenceCheckerin interfaceOptimizationProblem<PAIR>- Returns:
- the object used to check for convergence.
-
-