Class NelderMeadSimplex
java.lang.Object
org.hipparchus.optim.nonlinear.scalar.noderiv.AbstractSimplex
org.hipparchus.optim.nonlinear.scalar.noderiv.NelderMeadSimplex
- All Implemented Interfaces:
 OptimizationData
This class implements the Nelder-Mead simplex algorithm.
- 
Constructor Summary
ConstructorsConstructorDescriptionNelderMeadSimplex(double[] steps) Build a Nelder-Mead simplex with default coefficients.NelderMeadSimplex(double[][] referenceSimplex) Build a Nelder-Mead simplex with default coefficients.NelderMeadSimplex(double[][] referenceSimplex, double rho, double khi, double gamma, double sigma) Build a Nelder-Mead simplex with specified coefficients.NelderMeadSimplex(double[] steps, double rho, double khi, double gamma, double sigma) Build a Nelder-Mead simplex with specified coefficients.NelderMeadSimplex(int n) Build a Nelder-Mead simplex with default coefficients.NelderMeadSimplex(int n, double sideLength) Build a Nelder-Mead simplex with default coefficients.NelderMeadSimplex(int n, double rho, double khi, double gamma, double sigma) Build a Nelder-Mead simplex with specified coefficients.NelderMeadSimplex(int n, double sideLength, double rho, double khi, double gamma, double sigma) Build a Nelder-Mead simplex with specified coefficients. - 
Method Summary
Modifier and TypeMethodDescriptionvoiditerate(MultivariateFunction evaluationFunction, Comparator<PointValuePair> comparator) Compute the next simplex of the algorithm.Methods inherited from class org.hipparchus.optim.nonlinear.scalar.noderiv.AbstractSimplex
build, evaluate, getDimension, getPoint, getPoints, getSize, replaceWorstPoint, setPoint, setPoints 
- 
Constructor Details
- 
NelderMeadSimplex
public NelderMeadSimplex(int n) Build a Nelder-Mead simplex with default coefficients. The default coefficients are 1.0 for rho, 2.0 for khi and 0.5 for both gamma and sigma.- Parameters:
 n- Dimension of the simplex.
 - 
NelderMeadSimplex
public NelderMeadSimplex(int n, double sideLength) Build a Nelder-Mead simplex with default coefficients. The default coefficients are 1.0 for rho, 2.0 for khi and 0.5 for both gamma and sigma.- Parameters:
 n- Dimension of the simplex.sideLength- Length of the sides of the default (hypercube) simplex. SeeAbstractSimplex(int,double).
 - 
NelderMeadSimplex
public NelderMeadSimplex(int n, double sideLength, double rho, double khi, double gamma, double sigma) Build a Nelder-Mead simplex with specified coefficients.- Parameters:
 n- Dimension of the simplex. SeeAbstractSimplex(int,double).sideLength- Length of the sides of the default (hypercube) simplex. SeeAbstractSimplex(int,double).rho- Reflection coefficient.khi- Expansion coefficient.gamma- Contraction coefficient.sigma- Shrinkage coefficient.
 - 
NelderMeadSimplex
public NelderMeadSimplex(int n, double rho, double khi, double gamma, double sigma) Build a Nelder-Mead simplex with specified coefficients.- Parameters:
 n- Dimension of the simplex. SeeAbstractSimplex(int).rho- Reflection coefficient.khi- Expansion coefficient.gamma- Contraction coefficient.sigma- Shrinkage coefficient.
 - 
NelderMeadSimplex
public NelderMeadSimplex(double[] steps) Build a Nelder-Mead simplex with default coefficients. The default coefficients are 1.0 for rho, 2.0 for khi and 0.5 for both gamma and sigma.- Parameters:
 steps- Steps along the canonical axes representing box edges. They may be negative but not zero. See
 - 
NelderMeadSimplex
public NelderMeadSimplex(double[] steps, double rho, double khi, double gamma, double sigma) Build a Nelder-Mead simplex with specified coefficients.- Parameters:
 steps- Steps along the canonical axes representing box edges. They may be negative but not zero. SeeAbstractSimplex(double[]).rho- Reflection coefficient.khi- Expansion coefficient.gamma- Contraction coefficient.sigma- Shrinkage coefficient.- Throws:
 IllegalArgumentException- if one of the steps is zero.
 - 
NelderMeadSimplex
public NelderMeadSimplex(double[][] referenceSimplex) Build a Nelder-Mead simplex with default coefficients. The default coefficients are 1.0 for rho, 2.0 for khi and 0.5 for both gamma and sigma.- Parameters:
 referenceSimplex- Reference simplex. SeeAbstractSimplex(double[][]).
 - 
NelderMeadSimplex
public NelderMeadSimplex(double[][] referenceSimplex, double rho, double khi, double gamma, double sigma) Build a Nelder-Mead simplex with specified coefficients.- Parameters:
 referenceSimplex- Reference simplex. SeeAbstractSimplex(double[][]).rho- Reflection coefficient.khi- Expansion coefficient.gamma- Contraction coefficient.sigma- Shrinkage coefficient.- Throws:
 MathIllegalArgumentException- if the reference simplex does not contain at least one point.MathIllegalArgumentException- if there is a dimension mismatch in the reference simplex.
 
 - 
 - 
Method Details
- 
iterate
Compute the next simplex of the algorithm.- Specified by:
 iteratein classAbstractSimplex- Parameters:
 evaluationFunction- Evaluation function.comparator- Comparator to use to sort simplex vertices from best to worst.
 
 -