Closed HeuristicLab-Trac-Bot closed 6 years ago
r15447: Adapted constants optimization and auto diff converter to not add linear scaling terms.
r15448: Added counts of function and gradient evaluations performed by constants optimization as results.
Maximum gradient evaluations = maximum iterations + 1 \ Maximum function evaluations = maximum iterations * 2 + 1;
Reviewed r15448.
Are 'result parameters' already available in the trunk?
Reading the code it is odd to find a 'ResultParameter'. I think at least the properties should be renamed (FunctionEvaluationsResultParameter -> FunctionEvaluationsResult, FunctionEvaluationsResultParameterName -> FunctionEvaluationsResultName)
Replying to [comment:4 gkronber]:
Are 'result parameters' already available in the trunk? Resultparameter were introduced with #2281 over a year ago!
\
Reading the code it is odd to find a 'ResultParameter'. I think at least the properties should be renamed (FunctionEvaluationsResultParameter -> FunctionEvaluationsResult, FunctionEvaluationsResultParameterName -> FunctionEvaluationsResultName)
I have already implemented the proposed changes, but during a final review and test I decided against committing them. The reason therefore is that an execution context must be present (and manually set line 169) to allow access to the result and the postfix parameter indicates that.
r15480: moved the scaling parameters to the end of the parameter vector to be able to remove the c.Skip(2).ToArray() call and removed unnecessary .ToArray() calls
After some tests I conclude that the order of parameters in lsfit() has an influence on the optimization results. Therefore, we cannot put the scaling parameters at the end of the parameter vector without breaking backwards compatibility.
Please add a parameter to make reporting of the number of gradient and function evaluations optional.
r15483: Added option for reporting function and gradient evaluation in the constants optimization evaluator.
Unfortunately, you have been right and reporting the evaluations has a huge impact on the performance. Quick tests on my work station for the OSGP SymReg sample show execution times of ~ 5.1 min with and ~ 3.02 min without reporting (fixed seed of 0).
Issue migrated from trac ticket # 2852
milestone: HeuristicLab 3.3.15 | component: Problems.DataAnalysis.Symbolic.Regression | priority: medium | resolution: done
2017-11-03 15:14:42: @mkommend created the issue