|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.math3.optimization.BaseMultivariateVectorMultiStartOptimizer<FUNC>
FUNC
- Type of the objective function to be optimized.public class BaseMultivariateVectorMultiStartOptimizer<FUNC extends MultivariateVectorFunction>
Base class for all implementations of a multi-start optimizer.
This interface is mainly intended to enforce the internal coherence of
Commons-Math. Users of the API are advised to base their code on
DifferentiableMultivariateVectorMultiStartOptimizer
.
Field Summary | |
---|---|
private RandomVectorGenerator |
generator
Random generator for multi-start. |
private int |
maxEvaluations
Maximal number of evaluations allowed. |
private PointVectorValuePair[] |
optima
Found optima. |
private BaseMultivariateVectorOptimizer<FUNC> |
optimizer
Underlying classical optimizer. |
private int |
starts
Number of starts to go. |
private int |
totalEvaluations
Number of evaluations already performed for all starts. |
Constructor Summary | |
---|---|
protected |
BaseMultivariateVectorMultiStartOptimizer(BaseMultivariateVectorOptimizer<FUNC> optimizer,
int starts,
RandomVectorGenerator generator)
Create a multi-start optimizer from a single-start optimizer. |
Method Summary | |
---|---|
ConvergenceChecker<PointVectorValuePair> |
getConvergenceChecker()
Get the convergence checker. |
int |
getEvaluations()
Get the number of evaluations of the objective function. |
int |
getMaxEvaluations()
Get the maximal number of function evaluations. |
PointVectorValuePair[] |
getOptima()
Get all the optima found during the last call to optimize . |
PointVectorValuePair |
optimize(int maxEval,
FUNC f,
double[] target,
double[] weights,
double[] startPoint)
Optimize an objective function. |
private void |
sortPairs(double[] target,
double[] weights)
Sort the optima from best to worst, followed by null elements. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final BaseMultivariateVectorOptimizer<FUNC extends MultivariateVectorFunction> optimizer
private int maxEvaluations
private int totalEvaluations
private int starts
private RandomVectorGenerator generator
private PointVectorValuePair[] optima
Constructor Detail |
---|
protected BaseMultivariateVectorMultiStartOptimizer(BaseMultivariateVectorOptimizer<FUNC> optimizer, int starts, RandomVectorGenerator generator)
optimizer
- Single-start optimizer to wrap.starts
- Number of starts to perform. If starts == 1
,
the optimize
will return the same solution as optimizer
would.generator
- Random vector generator to use for restarts.
NullArgumentException
- if optimizer
or generator
is null
.
NotStrictlyPositiveException
- if starts < 1
.Method Detail |
---|
public PointVectorValuePair[] getOptima()
optimize
.
The optimizer stores all the optima found during a set of
restarts. The optimize
method returns the best point only. This method
returns all the points found at the end of each starts, including
the best one already returned by the optimize
method.
optimize
method did
throw a ConvergenceException
). This also means that if
the first element is not null
, it is the best point found
across all starts.
MathIllegalStateException
- if optimize
has not been
called.public int getMaxEvaluations()
getMaxEvaluations
in interface BaseOptimizer<PointVectorValuePair>
public int getEvaluations()
optimize
method. It is 0 if the method has not been
called yet.
getEvaluations
in interface BaseOptimizer<PointVectorValuePair>
public ConvergenceChecker<PointVectorValuePair> getConvergenceChecker()
getConvergenceChecker
in interface BaseOptimizer<PointVectorValuePair>
public PointVectorValuePair optimize(int maxEval, FUNC f, double[] target, double[] weights, double[] startPoint)
∑weighti(objectivei - targeti)2
optimize
in interface BaseMultivariateVectorOptimizer<FUNC extends MultivariateVectorFunction>
maxEval
- Maximum number of function evaluations.f
- Objective function.target
- Target value for the objective functions at optimum.weights
- Weights for the least squares cost computation.startPoint
- Start point for optimization.
private void sortPairs(double[] target, double[] weights)
null
elements.
target
- Target value for the objective functions at optimum.weights
- Weights for the least-squares cost computation.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |