Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
4.0-beta1
-
None
-
None
-
Easy
Description
It is a bit peculiar that with BaseOptimizer, ConvergenceChecker can be passed only in constructor.
It should be possible to change ConvergenceChecker at any other time.
Further it is a bit strange that the constructor do not accept other OptimizationData.
In my use cases, I need to create an optimizer once with complex OptimizationData and reuse it many time with very few changes (including changing the ConvergenceChecker).
So, I suggest that
- ConvergenceChecker implements OptimizationData.
- protected BaseOptimizer(ConvergenceChecker<PAIR> checker) is replaced by protected BaseOptimizer(OptimizationData... optData)
Doing so is compatible with existing code and provide much more flexibility.