Problem with fmincon ''number of runs''

1 view (last 30 days)
Ilyas KH
Ilyas KH on 25 Jan 2020
Commented: Ilyas KH on 29 Jan 2020
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,

Accepted Answer

Alan Weiss
Alan Weiss on 29 Jan 2020
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 Comment
Ilyas KH
Ilyas KH on 29 Jan 2020
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. ''

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!