[
https://issues.apache.org/jira/browse/MATH-428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gilles updated MATH-428:
------------------------
Attachment: opt_direct.tar.gz
The attachment contains:
* "SimplexOptimizer.java" (replacement of "DirectSearchOptimizer.java")
* "AbstracSimplex.java" (base class for simplex management)
* "NelderMeadSimplex.java" (replacement of "NelderMead.java")
* "SimplexOptimizerTest.java" (replacement of "DirectSearchOptimizerTest.java")
The main change with this refactoring is that the simplex class must be passed
to the optimizer before any call to the {{optimize}} method:
{code}
SimplexOptimizer optimizer = new SimplexOptimizer(1e-10, 1e-30);
optimizer.setSimplex(new NelderMeadSimplex(new double[] { 0.2, 0.2 }));
{code}
Also the new design is somewhat less forgiving in that the dimension of the
simplex _must_ match the dimension of the problem (whereas before, a new
default simplex was automatically reconstructed whenever the dimensionality of
the problem didn't match).
> Simplify "DirectSearchOptimizer"
> --------------------------------
>
> Key: MATH-428
> URL: https://issues.apache.org/jira/browse/MATH-428
> Project: Commons Math
> Issue Type: Improvement
> Reporter: Gilles
> Assignee: Gilles
> Priority: Minor
> Fix For: 3.0
>
> Attachments: opt_direct.tar.gz
>
>
> This issue refers to classes in package {{optimization.direct}}.
> Currently the class {{NelderMead}} inherits from {{DirectSearchOptimizer}}.
> However the method {{doOptimize}} is implemented in
> {{DirectSearchOptimizer}}. This is backwards from the intended design (where
> an "optimizer" is defined as a class that implements a specific algorithm
> within {{doOptimize}}). According to this "terminology",
> {{DirectSearchOptimizer}} is the optimizer whereas {{NelderMead}} could be
> considered as a specific way to construct a simplex. Indeed, that's what
> seems intended since it overrides the abstract method {{iterateSimplex}}.
> I suggest to create 2 classes that will make it clear the separation between
> the "optimizer" and the "simplex manager".
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.