主要内容

优化收敛

如果优化没有接近可接受的解决方案,该怎么办?

  • 如果您正在使用模式搜索,请检查是否已经为所有调优参数或补偿器元素指定了适当的最大值和最小值。模式搜索方法在这些边界内寻找解决方案。当它们被设置为默认值时,该方法在参数初值的±100%范围内搜索。在某些情况下,该区域不够大,改变最大值和最小值可以扩大搜索区域。

  • 优化问题可能有局部极小值。考虑首先运行一个基于搜索的方法,以接近一个可接受的解决方案。

  • 减少调谐参数和补偿元件的数量,从设计变量或从补偿器窗格那些您知道仅对优化响应有轻微影响的参数。确定关键参数的合理值后,将固定参数添加回可调列表,并使用这些合理值作为初始猜测重新启动优化。

  • 软件在优化过程中可能出现错误。检查错误以确定是否可以进行更改以改进优化结果。变更可能需要对模型、需求或优化设置进行修改。

    • 响应优化器时,软件创建一个名为EvalErrors数据区域,当优化完成时出现错误。将此结构导出到MATLAB中®工作区并在命令行中检查其内容。EvalErrors有两个字段,错误DesignVars,包含优化过程中遇到的误差和相应的设计变量值。要重现一个特定的错误,请使用sdo.setValueInModel使用与错误对应的设计变量来运行模型。

    • 在命令行中,的第二个输出sdo.optimizeopt_info,是提供有关优化的信息的结构。opt_info.exitflag标识优化终止的原因。有关退出标志的更多信息,请参见退出标志和退出消息

为什么优化在超过最大迭代次数之前终止,解决方案没有满足所有的约束条件或设计要求?

  • 可能不可能达到您的规格。试着放松响应信号最违背的约束或设计要求。在找到一个可接受的解决方案后,再次收紧一些约束并重新开始优化。

  • 优化可能会收敛到一个不是可行解的局部最小值。从不同的初始猜测重新开始优化,并/或使用一种基于搜索的方法来确定另一个满足约束的局部最小值。

如果优化需要很长时间才能收敛,即使它已经接近一个解,该怎么办?

  • 响应优化器,点击停止当您认为当前优化的响应信号是可接受的时,中断优化。

    当你使用基于优化的调优,点击停止优化优化选项卡的响应优化对话框的控制系统设计,当你认为当前优化的响应信号是可接受的。

  • 如果您使用梯度下降法,请尝试重新启动优化。重新启动会重置Hessian估计,可能会加速收敛。

  • 在优化选项对话框中增加收敛公差以强制提前终止。

  • 放宽一些限制或设计要求,以增加可行性区域的大小。

如果响应变得不稳定且无法恢复,该怎么办?

虽然优化公式对不稳定或发散的响应信号有明确的防范措施,但优化有时会冒险进入不稳定区域,仿真结果变得不稳定,梯度方法无法找到返回稳定区域的方法。在这些情况下,您可以尝试以下解决方案之一:万博 尤文图斯

  • 添加或收紧补偿器元素和参数值的上下边界。当您允许某些参数值变得太大时,通常会发生不稳定性。

  • 使用基于搜索的方法来找到稳定响应信号的参数值,然后使用这些初始值开始基于梯度的方法。

  • 在优化响应时控制系统设计,您可以尝试添加额外的设计需求,以达到相同或类似的目标。例如,除了阶跃响应图上的稳定时间设计要求外,还可以在根轨迹图上添加限制极点实际部分位置的稳定时间设计要求。通过以这种方式添加重叠的设计需求,您可以强制优化以满足需求。