主要内容

优化算法如何制定最小化问题

当您优化Simulink参数时®模型满足设计要求,Simulink设计优化™软件自动将需求转换为约束优化问题,然后使用优化技术解决问题。约束优化问题对Simulink模型进行迭代仿真,将仿真结果与约束目标进行比较,并使用优化方法调整调优参数以更好地满足目标。

本主题描述该软件如何制定优化算法所使用的约束优化问题。对于每个优化算法,软件制定以下类型的最小化问题之一:

有关每个优化算法如何制定这些问题的更多信息,请参阅:

可行性问题与约束公式

可行性意味着优化算法在指定的公差范围内找到满足所有约束的参数值,但不最小化任何目标或代价函数。

在下图中,x1x3.,xn表示参数值的组合P1而且P2都是可行解因为它们不违反下界约束。

在Simulink模型中,您可以通过在Check块(检查步骤响应特性,…)或需求对象(sdo.requirements.StepResponseEnvelope,…),如下图所示。

这些约束条件是分段线性边界.分段线性界ybndn边可以表示为:

y b n d t y 1 t t 1 t t 2 y 2 t t 2 t t 3. y n t t n t t n + 1

该软件计算模拟响应与边缘之间的符号距离。下界的带符号距离为:

c 马克斯 t 1 t t 2 y b n d y 年代 马克斯 t 2 t t 3. y b n d y 年代 马克斯 t n t t n + 1 y b n d y 年代

在哪里ysim卡是模拟响应,是正在优化的参数的函数。

上界的带符号距离为:

c 马克斯 t 1 t t 2 y 年代 y b n d 马克斯 t 2 t t 3. y 年代 y b n d 马克斯 t n t t n + 1 y 年代 y b n d

在命令行中,optimFcn供应c直接从Cleq领域的瓦尔斯

如果所有约束条件满足(c≤0)对于某些参数值的组合,则该解是可行的。在下图中,x1而且x3.都是可行的解决方案。

当你的模型有多个需求或向量信号提供一个需求时,约束向量会被扩展为每个信号的约束违反和边界:

C c 1 c 2 c n

跟踪问题

类中除了下界和上界之外,还可以指定引用信号对照参考资料核对块或sdo.requirements.SignalTracking对象,Simulink模型输出可以跟踪该对象。跟踪目标为误差平方和跟踪目标。

将参考信号指定为时间-幅度对序列:

y r e f t r e f t r e f T r e f 0 T r e f 1 T r e f N

该软件将模拟响应计算为时间-振幅对序列:

y 年代 t 年代 t 年代 T 年代 0 T 年代 1 T 年代 N

这里的一些值tsim卡可能匹配的值t裁判

一个新的时间基地,t的元素结合而成t裁判而且tsim卡.不在两者最小-最大值范围内的元素t裁判而且tsim卡省略:

t n e w t t 年代 t r e f

使用线性插值,该软件计算的值y裁判而且ysim卡在时间点t然后计算缩放误差:

e t n e w y 年代 t n e w y r e f t n e w 马克斯 t n e w | y r e f |

最后,软件计算加权的平方积分误差:

f w t e t 2 d t

请注意

重量wt)默认为1。您只能在命令行中指定不同的权重值。

当您的模型有需求或矢量信号满足需求时,跟踪目标等于每个信号的单个跟踪积分误差之和:

F f

梯度下降法问题公式

梯度下降方法使用这个函数fmincon优化模型参数以满足设计要求。

问题类型 问题公式化
可行性问题

软件制定约束Cx),详见可行性问题与约束公式

  • 如果选择最大可行解选项(即,在找到初始可行解后继续优化),软件将使用以下问题公式:

    最小值 x γ γ 年代 t C x γ x ¯ x x ¯ γ 0

    γ是一个松弛变量,允许一个可行的解Cx)≤γ而不是Cx)≤0

  • 如果你没有选择最大可行的解决方案选项(即,一旦找到可行的解决方案,优化就会终止),软件使用以下问题公式:

    最小值 x 0 年代 t C x 0 x ¯ x x ¯

跟踪问题

软件制定跟踪目标Fx),详见跟踪问题并使跟踪目标最小化:

最小值 x F x 年代 t x ¯ x x ¯

混合可行性与跟踪问题

该软件将以下问题公式最小化:

最小值 x F x 年代 t C x 0 x ¯ x x ¯

请注意

当跟踪参考信号时,软件会忽略最大可行的解决方案选项。

单纯形搜索法问题公式

Simplex Search方法使用该函数fminsearch而且fminbnd优化模型参数以满足设计要求。fminbnd如果正在优化一个标量参数,则使用fminsearch使用。不能使用参数边界 x ¯ x x ¯ fminsearch

问题类型 问题公式化
可行性问题

软件制定约束Cx),详见可行性问题与约束公式然后最小化最大约束违反:

最小值 x 马克斯 C x

跟踪问题

软件制定跟踪目标Fx),详见跟踪问题然后最小化跟踪目标:

最小值 x F x

混合可行性与跟踪问题

该软件分两步制定问题:

  1. 找到一个可行的解决方案。

    最小值 x 马克斯 C x

  2. 最小化跟踪目标。该软件使用第1步的结果作为初始猜测,并通过在优化目标中引入不连续障碍来保持可行性。

    最小值 x Γ x 在哪里 Γ x 如果 马克斯 C x > 0 F x 否则

模式搜索方法问题公式

Pattern Search方法使用该函数patternsearch(全局优化工具箱)优化模型参数以满足设计要求。

问题类型 问题公式化
可行性问题

软件制定约束Cx),详见可行性问题与约束公式然后最小化最大约束违反:

最小值 x 马克斯 C x 年代 t x ¯ x x ¯

跟踪问题

软件制定跟踪目标Fx),详见跟踪问题然后最小化跟踪目标:

最小值 x F x 年代 t x ¯ x x ¯

混合可行性与跟踪问题

该软件分两步制定问题:

  1. 找到一个可行的解决方案。

    最小值 x 马克斯 C x 年代 t x ¯ x x ¯

  2. 最小化跟踪目标。该软件使用第1步的结果作为初始猜测,并通过在优化目标中引入不连续障碍来保持可行性。

    最小值 x Γ x 年代 t x ¯ x x ¯ 在哪里 Γ x 如果 马克斯 C x > 0 F x 否则

梯度计算

梯度下降法fmincon)优化求解器,梯度计算使用数值摄动:

d x e p 年代 3. × 马克斯 | x | 1 10 x t y p c 一个 l d l 马克斯 x d x x 最小值 d R 最小值 x + d x x 马克斯 F l o p t _ f c n d l F R o p t _ f c n d R d F d x F l F R d l d R

  • x是标量设计变量。

  • x最小值的下界是x

  • x马克斯的上限是x

  • x典型的的缩放值是x

  • opt_fcn是目标函数。

dx相对较大,以适应模拟求解器的公差。

如果你想用任何其他方式计算梯度,你可以在你编写的用于以编程方式执行设计优化的代价函数中这样做。看到sdo.optimize而且GradFcnsdo。OptimizeOptions获取更多信息。

Baidu
map