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