Can I set a max change in optimization variables?

1 次查看(过去 30 天)
I am optimizing a simulation with fmincon. I was wondering; is there a way to limit the maximum change of the optimization variables during optimization?
I have added a figure of the evolution of my 3x7= 21 optimization variables (control points).
The optimizer seems to switch between convergent behaviour and huge steps in change of the variables. I would think these huge steps are of no help as they will not give any useful gradient information. How would one go about making this change in value of the optimization variable smaller?

回答(1 个)

Alan Weiss
Alan Weiss 2017-11-27
You can change the behavior of fmincon only indirectly, through options. Perhaps using the default 'interior-point' algorithm would not give this behavior. Or, if you did use that algorithm, try setting a small value for the 'InitTrustRegionRadius' option.
Also, since you are optimizing a simulation, perhaps you should larger-than-default finite differences, as suggested in Optimizing a Simulation or ODE.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by