Details
-
New Feature
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.5, 3.6
-
None
-
None
Description
An open source implementation of the DIRECT global optimizer, described by Jones, Perttunen and Stuckmann, implementing math3.optim.nonlinear.scalar.MultivariateOptimizer, is available as DIRECTOptimizer.java at https://github.com/edwardkort/WWIDesigner/tree/optimizer/WWIDesigner/src/main/com/wwidesigner/math. There are also three variants of the algorithm on that page: DIRECT_L_Optimizer implements DIRECT-L by Gablonsky and Kelley, DIRECT1Optimizer changes which sides are chosen for dividing, and DIRECTCOptimizer adds alternative ways to select potentially-optimal hyperrectangles.
DIRECT is not as fast as BOBYQA, but is better at finding a global minimum in a field of many local minima.
JUnit tests for all of these, using standard optimizer test functions, are available in https://github.com/edwardkort/WWIDesigner/tree/optimizer/WWIDesigner/src/test/com/wwidesigner/math.