HyperWorks Optistruct优化设计所用优化算法及大模型专用优化算法介绍

  • A+
所属分类:学术文献 杂谈天下

在使用HyperWorks的Optistruct求解器进行优化设计时,求解器会根据优化类型(如拓扑优化、形貌优化等)自动选择合适的优化算法,也可以通过关键字DOPTPRM,OPTMETH指定所使用的优化算法。在Hypermesh中可通过面板Analysis –optimization – opti control,在优化控制参数设置面板中进行优化算法选择。

HyperWorks Optistruct优化设计所用优化算法及大模型专用优化算法介绍

Optistruct求解器可选择的优化算法有5个:

(1)可行方向法(Method offeasible directions (MFD))

可行方向法是在可行域内沿可行方向进行最优解的搜索,可行方向需满足可行(约束)和下降(收敛)两个基本条件。可行方向的产生方法有随机产生法、线性规划法、梯度投影法等。MFD算法适合用来求解约束较多而设计变量较少的优化问题,如尺寸优化、形状优化。

(2)序列二次规划(Sequential quadratic programming (SQP))

序列二次规划算法是将复杂的非线性约束最优化问题转化为比较简单的二次规划问题进行求解的算法。对于非线性约束最优化问题是一个非常有效的算法,将原始问题划分为一系列二次规划的子问题进行求解。在尺寸和形状优化中如果相等约束被激活,则Optistruct默认使用SQP算法求解。

(3)Dual

在Optistruct中可选的Dual算法有两个:Dual Optimizer based on separable convex approximation (DUAL)和Enhanced Dual Optimizer based on separable convex approximation (DUAL2)。DUAL2是改进的DUAL算法,在DUAL的基础上增加了求解稳定性,降低了求解失败的概率。对于设计变量比较多的优化问题,如拓扑优化、自由尺寸优化、形貌优化,Optistruct默认使用DUAL2算法进行求解,如果求解失败也可以尝试使用DUAL或MMA算法进行求解。

(4)Large scale optimization algorithm (BIGOPT)

BIGOPT是一种基于梯度的优化算法,相比MFD和SQP算法,可以消耗更少的内存来获得更高的计算效率。考虑如下优化问题:

HyperWorks Optistruct优化设计所用优化算法及大模型专用优化算法介绍

其中f(x)为目标函数,gi(x)为约束函数,x为设计变量,xL和xU为设计变量的取值下限和上限。当使用BIGOPT算法进行优化计算时,Optistruct会自动将此问题转化成如下所示问题进行求解:

HyperWorks Optistruct优化设计所用优化算法及大模型专用优化算法介绍

其中,r和qi为惩罚算子。

BIGOPT算法会单独考虑约束条件,在进行求解时会将约束问题转换为无约束问题。使用Polak-Ribiere共轭梯度算法确定搜索方向,通过Brent抛物线插值方法进行一维搜索。当出现以下三个条件中的任意一个时则终止计算:

(1)

HyperWorks Optistruct优化设计所用优化算法及大模型专用优化算法介绍

(2)

HyperWorks Optistruct优化设计所用优化算法及大模型专用优化算法介绍

(3)迭代步数超过了最大迭代步数。

在进行大模型求解时,如果其他几个算法求解失败,可以尝试使用BIGOPT算法求解。MFD, SQP和BIGOPT算法更适合于用来求解尺寸和形状优化问题。通过关键字DOPTPRM,OPTIMOMP,YES可以为MFD、SQP和DUAL2算法开启并行计算。

weinxin
我的微信公共号
我的微信公招扫一扫

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: