Problem with fmincon ''number of runs''

2 次查看(过去 30 天)
Hey everyone,
I try to use the economic MPC with an urban traffic (state space system), to control the intersection's light.
I use 'fmincon' for the optimization.
When I simulate it, I find that the fmincon runs more than one time for every sample time: for the first sample time, the fmincon runs 32 times ,the control value changes and Matlab shows me this message:
Initial point is a local minimum that satisfies the constraints.
Optimization completed because at the initial point, the objective function is non-decreasing
in feasible directions to within the default value of the optimality tolerance, and
constraints are satisfied to within the default value of the constraint tolerance.
<stopping criteria details>
After that, fmincon runs 2 times, the control value stays the same with the same matlab message.
Can I limit this run's number?
Thank you for your help?
All the best,

采纳的回答

Alan Weiss
Alan Weiss 2020-1-29
fmincon is a gradient-based solver. It attempts to evaluate the gradient of the objective function at each iteration. By default, it does so by taking tiny steps to estimate the gradient via finite differences. For simulations, the objective function value might not change when taking these small steps. For more details, see Optimizing a Simulation or ODE.
Alan Weiss
MATLAB mathematical toolbox documentation
  1 个评论
Ilyas KH
Ilyas KH 2020-1-29
Thank you very much Alan for your help and your suggestion.
As you mention, I found that it takes tiny steps to estimate the gradient. About the objective function, it changes when taking these small steps, at the same iteration.
The other observation: for the first iteration, the fmincon find the control value after 10 steps. after that, it takes just 2 steps with the same control value, and Matlab shows this message:
''Initial point is a local minimum that satisfies the constraints.
Optimization completed because at the initial point, the objective function is non-decreasing in feasible directions to within the default value of the optimality tolerance, and constraints are satisfied to within the default value of the constraint tolerance. ''

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Refinement 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by