Which global minimization solver should be used for MPC?

4 views (last 30 days)
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

Accepted Answer

Alan Weiss
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

More Answers (0)

Community Treasure Hunt

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

Start Hunting!