Package jline.opt.solver.de
Class DifferentialEvolution
java.lang.Object
jline.opt.solver.de.DifferentialEvolution
Self-contained port of scipy's
differential_evolution that reproduces
its trajectory bit-for-bit for a given integer seed, using
NumpyRandomState for all draws.
Covers the configuration used by line-opt: the binomial strategies
(default best1bin), updating='immediate', dithered mutation,
latinhypercube initialization, polish=false, workers=1, and
penalty-based constraints handled inside the objective (no scipy-level
constraints). The exact numpy draw order is preserved: LHS init
(uniform grid then per-column permutation), a per-generation
dither uniform, and per candidate randint (fill point),
shuffle (sample selection) and uniform (crossover), plus a
data-dependent uniform in the bound-repair step.
Java 8 compatible.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacePer-generation callback; return true to stop early.static interfaceObjective returning the (penalized) energy; may be+inf.static class -
Constructor Summary
ConstructorsConstructorDescriptionDifferentialEvolution(DifferentialEvolution.Objective objective, double[] low, double[] high, String strategy, int popsizeMult, int maxiter, double ditherLow, double ditherHigh, double recombination, double tol, long seed) -
Method Summary
-
Constructor Details
-
DifferentialEvolution
public DifferentialEvolution(DifferentialEvolution.Objective objective, double[] low, double[] high, String strategy, int popsizeMult, int maxiter, double ditherLow, double ditherHigh, double recombination, double tol, long seed)
-
-
Method Details
-
setCallback
-
getRng
-
solve
-