Package gov.nih.mipav.model.algorithms
Class NelderMead
java.lang.Object
gov.nih.mipav.model.algorithms.NelderMead
Nelder-Mead original code copyright 2017 by Matteo Maggioni under the MIT Licence.
Ported from C to Java by William Gandler
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classclassprivate classprivate class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final intprivate doubleprivate intprivate doubleprivate intprivate intprivate intprivate NelderMead.param_tprivate doubleprivate booleanprivate doubleprivate NelderMead.point_tprivate doubleprivate doubleprivate booleanprivate double[] -
Constructor Summary
ConstructorsConstructorDescriptionNelderMead(int n, double[] x, double tolx, double tolf, int max_iter, int max_eval, boolean verbose) -
Method Summary
Modifier and TypeMethodDescriptionprivate booleancontinue_minimization(NelderMead.simplex_t simplex, int eval_count, int iter_count) private voidcopy_point(int n, NelderMead.point_t src, NelderMead.point_t dst) private voidcost_fun(int n, NelderMead.point_t point, NelderMead.param_t params) abstract voidcost_function(int n, NelderMead.point_t point) voiddriver()private voidget_centroid(NelderMead.simplex_t simplex, NelderMead.point_t centroid) doubledouble[]getSolX()private voidnelder_mead(NelderMead.point_t start, NelderMead.point_t solution) private voidsimplex_sort(NelderMead.simplex_t simplex) private doubleSQUARE(double x) private voidswap_points(int n, NelderMead.point_t p1, NelderMead.point_t p2) private voidupdate_point(NelderMead.simplex_t simplex, NelderMead.point_t centroid, double lambda, NelderMead.point_t point)
-
Field Details
-
RHO
private double RHO -
CHI
private double CHI -
GAMMA
private double GAMMA -
SIGMA
private double SIGMA -
n
private int n -
x
private double[] x -
tolx
private double tolx -
tolf
private double tolf -
max_iter
private int max_iter -
max_eval
private int max_eval -
verbose
private boolean verbose -
self_test
private boolean self_test -
ackleyNum
private final int ackleyNum- See Also:
-
costNum
private int costNum -
params
-
solution
-
-
Constructor Details
-
NelderMead
public NelderMead(int n, double[] x, double tolx, double tolf, int max_iter, int max_eval, boolean verbose)
-
-
Method Details
-
driver
public void driver() -
getSolX
public double[] getSolX() -
getSolValue
public double getSolValue() -
nelder_mead
-
simplex_sort
-
get_centroid
-
continue_minimization
-
update_point
private void update_point(NelderMead.simplex_t simplex, NelderMead.point_t centroid, double lambda, NelderMead.point_t point) -
copy_point
-
swap_points
-
SQUARE
private double SQUARE(double x) -
cost_fun
-
cost_function
-