基于梯度优化

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

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

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

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

梯度计算

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

1. EQUATION_DISPLAY
dLTdD=dXsurfaceTdDdLTdXsurface
(5176)

其中

  • D 为设计参数的矢量。
  • L 为要在有约束或无约束情况下进行优化的目标。
  • Xsurface 为表面网格。
  • dXsurfaceTdD Simcenter STAR-CCM+ 中的几何灵敏度。请参见几何灵敏度
  • dLTdXsurface Simcenter STAR-CCM+ 中的表面灵敏度。请参见表面灵敏度

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

序列二次规划 (SQP) 法

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

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

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

2. EQUATION_DISPLAY
f(x)f(x0)+f´(x0)(xx0)+12f´´(x0)(xx0)2
(5177)

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

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

根据上面的方程,可以找到下一个点 。 x1=x0f´(x0)f´´(x0)

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

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

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

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

f´´(xk)=f´(xk)f´(xk1)xkxk1

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

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

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

5. EQUATION_DISPLAY
J=f=[fx1fxn]
(5180)

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

6. EQUATION_DISPLAY
H=2f=[2fx122fx1x22fx1xn2fx2x12fx222fx2xn2fxnx12fxnx22fxn2]
(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
[xk+1λk+1σk+1]=[xkλkσk](2L)1L
(5183)