How to change the step size for fmincon?

11 次查看(过去 30 天)
Hello! I am trying to use fmincon to optimize some weights for an MPC controller. The weights can vary from about 0 to 1000 but the weights only change by about 0.001 each iteration. I would like it to change by whole numbers. I have tried to adjust FiniteDifferenceStepSize and DiffMinChange but have had no luck yet. Does anyone have experience with this? Thank you!
Nathan
  7 个评论
Nathan Batta
Nathan Batta 2020-10-1
I did try RelLineSrchBnd and RelLineSrchBndDuration but had little luck. The best results I've found is by making the OptimalityTolerance and StepTolerance extremely small (1e-80). However, it is still only varying by about 30 when I want it to step by much more.
Mario Malic
Mario Malic 2020-10-1
编辑:Mario Malic 2020-10-1
Well, fmincon searches locally. Plot your fval values, do they converge, if so, then local minimum is found. This could be a good problem for ga if your function evaluations are short.

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Solver-Based Nonlinear Optimization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by