Class MultiDirectional
java.lang.Object
org.apache.commons.math.optimization.direct.DirectSearchOptimizer
org.apache.commons.math.optimization.direct.MultiDirectional
- All Implemented Interfaces:
MultivariateRealOptimizer
This class implements the multi-directional direct search method.
- Since:
- 1.2
- Version:
- $Revision: 1070725 $ $Date: 2011-02-15 02:31:12 +0100 (mar. 15 févr. 2011) $
- See Also:
-
Field Summary
Fields inherited from class org.apache.commons.math.optimization.direct.DirectSearchOptimizer
simplex
-
Constructor Summary
ConstructorsConstructorDescriptionBuild a multi-directional optimizer with default coefficients.MultiDirectional
(double khi, double gamma) Build a multi-directional optimizer with specified coefficients. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
iterateSimplex
(Comparator<RealPointValuePair> comparator) Compute the next simplex of the algorithm.Methods inherited from class org.apache.commons.math.optimization.direct.DirectSearchOptimizer
evaluate, evaluateSimplex, getConvergenceChecker, getEvaluations, getIterations, getMaxEvaluations, getMaxIterations, incrementIterationsCounter, optimize, replaceWorstPoint, setConvergenceChecker, setMaxEvaluations, setMaxIterations, setStartConfiguration, setStartConfiguration
-
Constructor Details
-
MultiDirectional
public MultiDirectional()Build a multi-directional optimizer with default coefficients.The default values are 2.0 for khi and 0.5 for gamma.
-
MultiDirectional
public MultiDirectional(double khi, double gamma) Build a multi-directional optimizer with specified coefficients.- Parameters:
khi
- expansion coefficientgamma
- contraction coefficient
-
-
Method Details
-
iterateSimplex
protected void iterateSimplex(Comparator<RealPointValuePair> comparator) throws FunctionEvaluationException, OptimizationException, IllegalArgumentException Compute the next simplex of the algorithm.- Specified by:
iterateSimplex
in classDirectSearchOptimizer
- Parameters:
comparator
- comparator to use to sort simplex vertices from best to worst- Throws:
FunctionEvaluationException
- if the function cannot be evaluated at some pointOptimizationException
- if the algorithm fails to convergeIllegalArgumentException
- if the start point dimension is wrong
-