主要内容

代理优化使用优化器应用程序的响应

这个例子展示了如何使用代理优化模型设计优化™优化液压缸的设计,使用响应优化器应用程序。万博1manbetx

这个例子需要并行计算工具箱™软件。

代理优化

解决优化问题涉及到使用不同的设计变量和评估目标函数值多次,特别是如果目标函数足够非光滑,这样衍生解决并不合适。在这种情况下,您可能需要使用一个derivative-free解算器等patternsearch解决,但是这些往往需要运行目标函数更多次。使用这样的解算器可以耗费时间如果目标函数计算昂贵的评估。解决这个问题的一个方法是代孕的优化。这个方法创建了一个代理的昂贵的目标函数。代理可以快速评估并给出结果非常类似于原目标函数。代理优化也尝试许多起点,帮助找到全局最优,而不是集中在一个解决方案,而局部最优,可能不是全局最优。

液压缸模型

这个例子展示了如何使用代理优化优化液压缸的响应。打开模型。

open_system (“sdoHydraulicCylinder”)

液压缸模型是基于仿真软件模型万博1manbetxsldemo_hydcyl。该模型包括:

  • 油缸总成子系统。子系统的更多信息,请参阅模拟单液压缸

  • 阶跃变化应用到气缸控制导致缸活塞阀孔的位置,将改变。

建立优化问题

您将使用响应优化器应用程序来解决这个模型的优化问题。在模型中使用应用程序选项卡推出响应优化器。的应用,导航到公开会议中,选择打开的文件,打开文件sdoHydraulicCylinder_sdosession.mat。这个配置与优化问题的应用已经建立。

在优化问题中,两个设计变量在模型中被优化。这些都是圆柱横截面积交流和活塞弹簧常数K。有两个设计要求得到满足:

  • 压力保持在1750000 N / m。这个要求被命名为MaxPressure在数据浏览器的应用程序。这是一个要求的压力信号模型中,这是一个气缸装配块的输出。

  • 活塞位置的阶跃响应满足上升时间为0.04秒,结算时间为0.05秒。这个要求被命名为PistonResponse在数据浏览器。这是一个要求的PistonPosition信号模型中,这是另一个缸组装块的输出。

这些需求构成了优化目标函数需要满足。点击图模型反应将来发布的应用。与设计变量的当前值,压力是否满足约束要求,但活塞位置曲线进入黄色区域的情节,违反了阶跃响应的要求。满足这两个要求,优化算法将模型多次与不同的设计变量的值,检查是否满足要求,并尝试设计变量的新值搜索值,满足所有的需求。

app_beforeoptimization - 01. - png

优化使用衍生解算器

现在,尝试使用衍生解决这个优化问题解决者。可以通过单击优化选项选项按钮的将来发布应用程序和导航优化窗格。

OptionsGradientDescentSolver.png

通过点击运行优化优化将来发布的应用。最后的优化迭代,活塞响应曲线仍然进入黄色情节的一部分,和数字的进展显示,活塞的底部行响应列是正的,表明衍生解决者不满足所有的需求。

app_aftergradientoptimization - 01. - png

ProgressDisplay_AfterGradientOptimization.png

使用代理解决优化选项

自衍生解决不满足所有的需求,尝试代理优化derivative-free解算器。单击选项按钮的将来发布应用,导航到优化窗格。选择代理优化解算器和设定最大评估到200。点击好吧使用这些选项。

OptionsDialog_SurrogateOptimization.png

代理的一些阶段优化使用伪随机数生成器选择点评估代理模型。为可再生的效果,类型rng(“违约”)在MATLAB命令窗口。通过点击运行优化优化将来发布的应用。最后的优化,要求都满足,见图中的曲线的应用,和消极的价值观在底部排要求列数字显示进展。代理优化解算器没有收敛的定义和解决其他相同,且仅宣称优化聚合的情况下最小化目标函数的设计,和最终的目标函数的值是客观限制以下选项。问题被解决了这里没有一个目标函数最小化;相反,它需求得到满足。对于这个问题,优化满足这两个约束的要求。

app_aftersurrogateoptimization - 01. - png

ProgressDisplay_AfterSurrogateOptimization.png

在这个例子中,使用代理人成功解决的优化问题而衍生的能手是不成功的。的surrogateopt解算器是一个全球性的解决者,许多的起点。通过使用一个代理模型的,surrogateopt需要运行这个模型只是适度的次数。

另请参阅

|

相关的话题