MATLAB Answers

Decision making on optimization method

2 views (last 30 days)
Stephan Heidrich
Stephan Heidrich on 8 Mar 2017
Answered: Alan Weiss on 17 Mar 2017
Hello Everyone!
I am currently working on a Simulink model for which I want to fit parameters using the Simulink Design Optimization Toolbox (2015b). Since I need to fit quite a few parameters for long lasting simulations I was wondering which optimization method to use in advance.
The design variables are restricted by bounds and do use the sum squared error as cost function. Thus its a Minimization problem.
I read the users guide (<>) but didnt find other sources.
I understand: - I cant use Simplex pattern due to the bounds on the design variables
I dont understand: - how to choose from the others since all of them appear to be usable to me.
So my question is how to decide which method I should use. Is there any document which shows the reasoning (benefits and drawbacks) in a handy way (for one that doesnt have mathematical background)?
Thanks in Advance!
Best Regards, Stephan

Answers (2)

Prateek Khandelwal
Prateek Khandelwal on 16 Mar 2017
I think the section "Optimization Methods and Problem Formulations" in the documentation of Simulink Design Optimization would help you.
  1 Comment
Stephan Heidrich
Stephan Heidrich on 16 Mar 2017
Hi Prateek,
thank you for your answer, but unfortunately the website is quite redundant with the users guide i linked above. I was looking for some more detailed explanation.

Sign in to comment.

Alan Weiss
Alan Weiss on 17 Mar 2017
For general optimization there are some general guidelines on which solver to choose. For a sum of squares, you should likely choose lsqnonlin, unless your objective function always outputs the sum of squares already calculated, in which case choose fmincon ( lsqnonlin wants to raw components, and internally sums the squares). Be careful, when optimizing a simulation you often have to choose larger-than-default finite differences.
If your objective function is not a smooth function of the control variables, and if you have a Global Optimization Toolbox license, then you might want to try patternsearch.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation

Community Treasure Hunt

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

Start Hunting!