基于梯度优化

基于梯度优化是一种数学方法,用于查找目标函数的局部最优值(通常为最小值),同时改变一组相关参数。

对于实际工业案例,通常无法按照要研究的几何参数找到目标函数的解析表达式。当无法直接从解析表达式计算导数时,则根据局部离散值以迭代方式查找通向最小值的路径。

序列二次规划 (SQP) 使用离散一阶导数(梯度)查找目标函数局部最小值的路径。在 Simcenter STAR-CCM+ 中,伴随求解器按照几何参数计算目标函数(成本函数)的必要梯度。

例如,要按照几何参数求得管系统的最小压降,则通过伴随求解器计算必要的梯度信息,然后在Design Manager中启动 SQP 搜索以移至最初猜测中压降最小的点。有关工作流程的更多详细信息,请参见设置基于梯度的优化研究

梯度计算

目标函数的梯度信息定义如下:

1. EQUATION_DISPLAY
d L T d D = d X s u r f a c e T d D d L T d X s u r f a c e
(5176)

其中

  • D 为设计参数的矢量。
  • L 为要在有约束或无约束情况下进行优化的目标。
  • X s u r f a c e 为表面网格。
  • d X s u r f a c e T d D Simcenter STAR-CCM+ 中的几何灵敏度。请参见几何灵敏度
  • d L T d X s u r f a c e Simcenter STAR-CCM+ 中的表面灵敏度。请参见表面灵敏度

梯度 是为每个边界表面计算的,即几何灵敏度与表面灵敏度之积。 d L T d D 完成此步骤后,即求得边界上的梯度灵敏度场。

序列二次规划 (SQP) 法

SQP 方法以迭代方式从所选初始点 开始搜索通向最优值的路径。 x 0

考虑基于梯度的优化,其中只有一个几何参数作为Design Manager中的输入参数。则目标函数为 。 f ( x ) 函数的最小值符合 。 f ´ ( x ) = 0 SQP 使用 的逼近值计算每次迭代时朝向目标函数最小值的路径 。 f ( x ) Δ x

从初始点 开始,可以使用以 为中心的 2 阶泰勒展开式逼近 : x 0 x 0 f ( x )

2. EQUATION_DISPLAY
f ( x ) f ( x 0 ) + f ´ ( x 0 ) ( x x 0 ) + 1 2 f ´´ ( x 0 ) ( x x 0 ) 2
(5177)

所逼近目标函数的最小值在 处。 f ´ ( x ) = 0 计算该方程的一阶导数:

Eqn. (5177):
3. EQUATION_DISPLAY
f ´ ( x ) = f ´ ( x 0 ) + f ´´ ( x 0 ) ( x x 0 ) = 0
(5178)

根据上面的方程,可以找到下一个点 。 x 1 = x 0 f ´ ( x 0 ) f ´´ ( x 0 )

按照一般表示法,从点 开始,下一个点是 。 x k x k + 1 = x k f ´ ( x k ) f ´´ ( x k )

迭代地构建序列 ,用以转向点 - 参数的收敛值,此处出现 的最小值。 x 0 , x 1 , x k , x k + 1 , x * x * f ( x )

1 阶导数 按 的梯度灵敏度提供。Eqn. (5176) f ´ ( x k )

由于 2 阶导数的计算成本很高,因此在Design Manager中,它由 1 阶导数进行数值估算,如下所示:

f ´´ ( x k ) = f ´ ( x k ) f ´ ( x k 1 ) x k x k 1

按照优化科学,使用 1 阶和 2 阶导数直接计算 称为牛顿法。 x k + 1 = x k f ´ ( x k ) f ´´ ( x k ) 从上一时间步的 1 阶导数之间进行 2 阶导数插值称为拟牛顿法。

在具有 个参数的优化中,将方程缩放至: n
4. EQUATION_DISPLAY
[ x 1 , k + 1 x 2 , k + 1 x n , k + 1 ] = [ x 1 , k x 2 , k x n , k ] ( 2 f ) 1 f
(5179)

f 为目标函数的 1 阶导数,也称为雅可比矩阵:

5. EQUATION_DISPLAY
J = f = [ f x 1 f x n ]
(5180)

2 f 为目标函数的 2 阶导数,也称为黑塞矩阵:

6. EQUATION_DISPLAY
H = 2 f = [ 2 f x 1 2 2 f x 1 x 2 2 f x 1 x n 2 f x 2 x 1 2 f x 2 2 2 f x 2 x n 2 f x n x 1 2 f x n x 2 2 f x n 2 ]
(5181)

对于带约束的优化,将简单目标函数 替换为该问题的拉格朗日函数: f ( x )

7. EQUATION_DISPLAY
L ( x , λ , σ ) = f ( x ) λ h ( x ) σ g ( x )
(5182)
其中
  • L 为拉格朗日函数。
  • f ( x ) 为目标函数。
  • h ( x ) 为优化问题的不等式约束,它符合 。 h ( x ) 0
  • g ( x ) 为优化问题的等式约束,它符合 。 g ( x ) = 0
  • λ 为不等式约束 的拉格朗日乘数。 h ( x )
  • σ 为等式约束 的拉格朗日乘数。 g ( x )

该拉格朗日示例基于假设一个几何参数。可以将方程缩放至包含多个几何参数的矩阵。

则设计空间中的下一点是:

8. EQUATION_DISPLAY
[ x k + 1 λ k + 1 σ k + 1 ] = [ x k λ k σ k ] ( 2 L ) 1 L
(5183)