快速数学优化,其中目标函数实现为Simulink模型

时间:2020-10-11 09:43:32

标签: matlab mathematical-optimization simulink s-function

我有一个Simulink模型形式的目标函数,该函数需要模拟时间来计算成本。我想使用fmincon之类的东西或更简单,直接,自定义的书面方法(例如,黄金分割)来找到最佳输入参数。


更具体地说(我不确定此信息是否有用):

我有一个复杂的电机动态模型,该模型将电机的机械速度和一些描述如何控制/提供参数的参数作为输入。作为输出,它返回转矩波形以及功率损耗。从这些计算得出的“成本”基本上与损耗,转矩脉动等成正比。我想找到最佳控制参数,以使“成本”最小。


问题在于,这将成为更大搜索算法的一部分,因此它必须快速。 最好的方法是什么?

我已经尝试并得出结论,从MATLAB运行仿真太慢,这很可能是由于两者之间的通讯缓慢以及Simulink每次都必须编译模型的事实。我的下一个方法是以某种方式制作一个可以充当“模拟控制器”的s功能块,从而在其具有以下功能的情况下启用,向子系统发送功能调用和复位信号以及向“停止模拟”块发送信号确定最佳参数。有没有更好,更简单的方法?

0 个答案:

没有答案