Global Optimization for a Simulink Model

Hi,
The problem
I need to optimize 10 paramters of a simulink model within some lower/upper bounds so that the mean error between real and simulated ouput is minimized. The problem has multiple optima.
Question
How could I apply the a genetic algorithm or a surrogate optimization as part of the Simulink Design Optimization application? if not, how to convert a Simulink design optimization problem into an objective function that I can pass to the above mentioned functions?
Thank you for your help,
Miguel

 采纳的回答

Alan Weiss
Alan Weiss 2021-1-11
编辑:Alan Weiss 2021-1-11
You probably want to minimize the mean squared error. For an example, see lsqnonlin with a Simulink® Model. You can change the solver from lsqnonlin to ga or surrogateopt easily, by reformulating the objective function as in Nonlinear Data-Fitting.
One word of caution: you probably cannot optimize a Simulink model in parallel by setting the UseParallel option. Please try the optimization in serial.
Alan Weiss
MATLAB mathematical toolbox documentation

3 个评论

Thanks Alan, that worked as described in the examples.
What would be the problem of optimizing in parallel in this case?
To call Simulink in parallel, the underlying mechanism should be parsim. However, ga and surrogateopt do not use parsim. Instead, they use parfor or some other mechanism. I believe that Simulink Design Optimization does use the correct mechanism, but I do not know that product so cannot give you advice relating to it.
Alan Weiss
MATLAB mathematical toolbox documentation
Right,... for what I have been told by a local Simulink support staff, Simulink Design Optimization might not be able to use global optimization algorithms such as ga or surrogated out of the box.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Surrogate Optimization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by