Which global minimization solver should be used for MPC?
4 views (last 30 days)
Show older comments
I am currently implementing Model predictive control for suspension control. I am using fmincon interior point algorithm to generate the control sequence. As I see, fmincon has an output called exit flag which tells us about the optimization solution process. Most of the times, I end up getting 1 which means that the local minimum has been found. How do I make sure that this is the global minimum? What should I do to when I have the exit flag value to be 0 and 2? I tried increasing the number of evaluations, iterations, etc. But nothing seems to work. I also tried to solve the same optimization problem using patternsearch and globalsearch methods. All of them give different answers. Any suggestions on implementation of a global minimum solver in Matlab will be appreciated
0 Comments
Accepted Answer
Alan Weiss
on 3 Jul 2018
There is some very basic information in the documentation about searching for a global minimum. The point is, fmincon searches for a local minimum, and exit flag = 1 tells you that the solution is indeed a local minimum. But fmincon does not search for a global minimum.
Using MultiStart can be an easy way to search for a global minimum using fmincon as the local solver. But there is never a guarantee that you found the global minimum. You might have some extra information, such as limits on curvature, that can enable you to conclude that a solution is global. But there is nothing built-in. Sorry.
Alan Weiss
MATLAB mathematical toolbox documentation
0 Comments
More Answers (0)
See Also
Categories
Find more on Refinement in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!