Mesh Adaptive Direct Search: Problems finding global solution

2 views (last 30 days)
I am using MADS to solve a control design problem. I have already solved the problem using fmincon and got some results.
When I use pattern search, I have tried changing various options but I consistently get close to the same results which are greater than the results I got using fmincon. I was expecting to get results with pattern search which are equal to or less than the function value I got using fmincon since pattern search is supposed to give a global soluton.
I am stuck in my research due to this problem.
Please help.

Accepted Answer

Alan Weiss
Alan Weiss on 7 Dec 2020
fmincon is the local solver of choice for smooth problems. patternsearch is NOT guaranteed to get a global solution (no solver is). If fmincon and patternsearch are used on the same smooth problem and converge to nearby solutions, fmincon will generally be faster and more accurate.
If you suspect that your problem has multiple local minima, I suggest that you use MultiStart with fmincon as the local solver. The Global Optimization Toolbox documentation has plenty of examples. But for nonconvex problems there are no guarantees.
If your problem is not smooth, then patternsearch is often effective. But it is NOT a global solver.
Alan Weiss
MATLAB mathematical toolbox documentation
  2 Comments
Sushrut Dandawate
Sushrut Dandawate on 10 Dec 2020
I had one more question. I am using interp1 to interpolate 52 points into 20 points at a fixed step. I get all the values correct but the first and last value is off. Could you throw some light on this.
I am using this syntax:
interp1(u(:,1),u(:,2),t,'pchip)'
Alan Weiss
Alan Weiss on 10 Dec 2020
Sorry, that is not enough detail for me to understand what you are seeing. I suggest that you start a new question with some details.
Alan Weiss
MATLAB mathematical toolbox documentation

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!