Wanted to float some ideas for the LeastSquaresOptimizer (Possibly General 
Optimizer) design.  For example with the LevenbergMarquardtOptimizer we would 
do:
`LevenbergMarquardtOptimizer.optimize(OptimizationContext c);`

Rough optimize() outline:
public static void optimise() {
//perform the optimization
//If successful
    c.notify(LevenberMarquardtResultsEnum.SUCCESS, solution);
//If not successful
c.notify(LevenberMarquardtResultsEnum.TOO_SMALL_COST_RELATIVE_TOLERANCE, 
diagnostic);
//or
c.notify(LevenberMarquardtResultsEnum.TOO_SMALL_PARAMETERS_RELATIVE_TOLERANCE, 
diagnostic)
//etc
}

The diagnostic, when turned on, will contain a trace of the last N iterations 
leading up to the failure.  When turned off, the Diagnostic instance only 
contains the parameters used to detect failure.  The diagnostic could be viewed 
as an indirect way to log optimizer iterations.

WDYT?

Cheers,
- Ole


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to