
2.5 优化算法
拓扑优化是一类具有大规模设计变量的非线性规划问题,优化模型的高维度导致其求解困难。根据拓扑优化模型的不同特点,所采用的优化算法也不尽相同。在各类优化算法中,基于梯度的优化算法具有独特的优势[37]。在拓扑优化领域,发展较为成熟的梯度优化算法主要包括优化准则法(optimality criteria,OC)[24]和移动渐近线法(method of moving asymptotes,MMA)[25]。MMA是数学规划法(mathematical programming,MP)中的一种常用方法,具有严谨的理论基础和数学推导过程,适用于具有复杂目标函数和多约束的结构拓扑优化问题。OC法简单直接、迭代收敛快,对于约束条件较少的大规模结构优化设计问题尤为高效。本章将主要采用OC法作为优化算法。
在参数化水平集方法中,设计变量αi是径向基函数插值的扩展系数,因此在迭代过程中无法直接指定其固定的上下界限αmax和αmin。然而,在实际数值操作中可以给出规范化设计变量 的上下限
,并以此作为OC法的边值约束来稳定迭代过程。针对所讨论的优化问题,可构建如下OC迭代算法:
步骤1 计算规范化的设计变量:

其中,ξ代表当前的迭代步。
步骤2 基于Kuhn-Tucker条件[36],[37],构造如下启发式迭代格式更新规范化设计变量

式(2-63)中,引入移动极限σ和阻尼算子l以稳定优化迭代过程,且有0<σ<1和0<l<1。此外,规范化的设计变量上下限分别指定为 =1和
=0.001。
可由下述公式计算得到:

其中,常量μ=1E-10用于避免分母中出现为“0”的项。在每次迭代中,拉格朗日算子由二分法[37]确定。
步骤3 更新设计变量:

步骤4 重复步骤1到步骤3直到算法收敛。将第ξ次迭代与第ξ-1次迭代的目标函数之差的绝对值记为γ(ξ),算法的收敛条件为γ(ξ-2)、γ(ξ-1)和γ(ξ)同时小于0.0001。