FUNC
- Type of the objective function to be optimized.@Deprecated public class UnivariateMultiStartOptimizer<FUNC extends UnivariateFunction> extends Object implements BaseUnivariateOptimizer<FUNC>
UnivariateOptimizer
interface
adding multi-start features to an existing optimizer.
This class wraps a classical optimizer to use it several times in
turn with different starting points in order to avoid being trapped
into a local extremum when looking for a global one.Constructor and Description |
---|
UnivariateMultiStartOptimizer(BaseUnivariateOptimizer<FUNC> optimizer,
int starts,
RandomGenerator generator)
Deprecated.
Create a multi-start optimizer from a single-start optimizer.
|
Modifier and Type | Method and Description |
---|---|
ConvergenceChecker<UnivariatePointValuePair> |
getConvergenceChecker()
Deprecated.
Get the convergence checker.
|
int |
getEvaluations()
Deprecated.
Get the number of evaluations of the objective function.
|
int |
getMaxEvaluations()
Deprecated.
Get the maximal number of function evaluations.
|
UnivariatePointValuePair[] |
getOptima()
Deprecated.
Get all the optima found during the last call to
optimize . |
UnivariatePointValuePair |
optimize(int maxEval,
FUNC f,
GoalType goal,
double min,
double max)
Deprecated.
Find an optimum in the given interval.
|
UnivariatePointValuePair |
optimize(int maxEval,
FUNC f,
GoalType goal,
double min,
double max,
double startValue)
Deprecated.
Find an optimum in the given interval, start at startValue.
|
public UnivariateMultiStartOptimizer(BaseUnivariateOptimizer<FUNC> optimizer, int starts, RandomGenerator generator)
optimizer
- Single-start optimizer to wrap.starts
- Number of starts to perform. If starts == 1
,
the optimize
methods will return the same solution as
optimizer
would.generator
- Random generator to use for restarts.NullArgumentException
- if optimizer
or generator
is null
.NotStrictlyPositiveException
- if starts < 1
.public ConvergenceChecker<UnivariatePointValuePair> getConvergenceChecker()
getConvergenceChecker
in interface BaseOptimizer<UnivariatePointValuePair>
public int getMaxEvaluations()
getMaxEvaluations
in interface BaseOptimizer<UnivariatePointValuePair>
public int getEvaluations()
optimize
method. It is 0 if the method has not been
called yet.getEvaluations
in interface BaseOptimizer<UnivariatePointValuePair>
public UnivariatePointValuePair[] 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.
null
elements
corresponding to the runs that did not converge. This means all
elements will be null
if the optimize
method did throw an exception.
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 UnivariatePointValuePair optimize(int maxEval, FUNC f, GoalType goal, double min, double max)
optimize
in interface BaseUnivariateOptimizer<FUNC extends UnivariateFunction>
maxEval
- Maximum number of function evaluations.f
- Function to optimize.goal
- Type of optimization goal: either
GoalType.MAXIMIZE
or GoalType.MINIMIZE
.min
- Lower bound for the interval.max
- Upper bound for the interval.public UnivariatePointValuePair optimize(int maxEval, FUNC f, GoalType goal, double min, double max, double startValue)
optimize
in interface BaseUnivariateOptimizer<FUNC extends UnivariateFunction>
maxEval
- Maximum number of function evaluations.f
- Function to optimize.goal
- Type of optimization goal: either
GoalType.MAXIMIZE
or GoalType.MINIMIZE
.min
- Lower bound for the interval.max
- Upper bound for the interval.startValue
- Start value to use.Copyright © 2003–2016 The Apache Software Foundation. All rights reserved.