APP下载

模拟退火法在协同优化中的应用

2018-06-13饶太春兰林强罗伟林

关键词:协同变量函数

饶太春, 兰林强, 罗伟林, 2

(1. 福州大学机械工程及自动化学院, 福建 福州 350116; 2. 福建省高端装备制造协同创新中心, 福建 福州 350116)

0 引言

复杂的工程系统设计往往涉及多个不同的学科, 同时也需要处理多个学科之间的耦合问题. 传统的优化方法通常只注重解决系统中占主导的目标, 而割裂了各学科之间的联系, 使得优化结果不理想. 多学科设计优化(multidisciplinary design optimization, MDO)是一种解决复杂设计问题的非常有效的方法[1]. MDO方法一般有多学科可行方向法、 两级集成系统综合法、 并行子空间优化算法、 协同优化算法等. 其中, 协同优化算法(collaborate optimization, CO)是应用最广泛也最有前景的优化算法, 它与工程设计的分解是一致的, 也能保持每个学科分析的自主性和处理的并行性[2]. 然而, 传统协同优化算法也存在着一些不足: 优化结果容易陷入局部最优解, 或者收敛速率缓慢甚至是收敛困难. 这是因为传统协同优化算法中Kuhn-Tucker条件中的拉格朗日乘子不存在或者在最优解处学科一致性约束的雅可比矩阵不连续, 以致系统层水平优化无法满足Kuhn-Tucker条件[3-4].

为克服传统协同算法的不足, Braun等[5]在子系统中引入罚函数以及松弛因子. Alexandrov等[6]引入了松弛因子, 将等式约束变为不等式约束. 韩明红等[7]改进学科一致性约束, 增加了系统级罚函数并引入快速启动方法. 李海燕等[8]提出一种自适应罚函数改进方法. 李冬琴等[9]在引入自适应松弛因子的基础上, 建立混合惩罚函数, 将系统级约束优化问题化为无约束问题. 罗伟林等[10]提出了基于组合优化策略的改进协同优化算法.

本研究提出一种改进的协同优化算法, 在传统协同优化算法基础上构建了组合优化策略并引入了动态松弛因子. 通过两个典型工程测试算例对所提出的算法的有效性进行验证.

1 标准协同优化算法

1.1 标准协同优化算法基本思想

协同优化算法(CO)采用两级优化设计方法, 把复杂的多学科优化问题划分成两级: 一个系统级和多个并行的学科级. 首先, 系统级向学科级传递系统级变量的期望值, 各学科级在满足自身约束的条件下独立进行优化, 使其优化值与系统分配的期望值的差距尽可能最小; 经过各学科级优化之后, 各学科级优化值又作为参数反馈给系统级, 从而形成系统级的一致性约束. 通过系统级的优化, 各学科之间耦合变量不一致的问题就得到了解决. 最后, 经过系统级和各学科级之间的反复迭代, 使整个优化系统互相协调, 得到最优解, 其优化流程如图1所示.

图1 协同优化基本框架Fig.1 Framework of collaborative optimization

协同优化算法的数学模型如下:

1) 系统级优化的数学模型:

2) 学科级优化的数学模型:

1.2 改进的协同优化算法

本研究提出的改进协同优化算法, 在标准协同优化算法的基础上针对其缺陷从两个方面进行改进.

图2 ASA-MMFD-CO优化流程Fig.2 Optimize process of ASA-MMFD-CO

1) 在系统级引入组合优化策略. 首先应用全局优化算法自适应模拟退火法(adaptive simulated annealing, ASA)定位出最优解在设计空间中所处的区域, 再应用梯度优化算法修正可行方向法(modified method of feasible directions, MMFD)对此区域进行精确寻优, 最终得到最优解. 该组合优化策略发挥了全局优化算法在整体设计空间对设计敏感区域进行定位搜索方面的优势, 也发挥了梯度优化算法在局部优化快速精确寻优的优势. 这样在优化过程中既保证了全局算法的全局性特点, 也保证了梯度算法的高效准确性特点.

2) 引入动态松弛变量ε将系统级的一致性等式约束变为不等式约束. 在系统级初期ASA优化阶段松弛因子ε1应取大一些(10-3≤ε1≤10-1), 由此来扩大初期优化的自由度, 保证全局性, 避免无法收敛, 加快收敛速度; 在系统级后期MMFD优化阶段ε2应取小一些(10-6≤ε2≤10-3)来保证优化精度, 同时加快优化算法的收敛速度. 改进的协同优化算法流程如图2所示.

2 算例测试

选取一个二次函数优化问题和齿轮减速器优化问题来验证改进的协同优化算法的有效性. 优化过程将在Isight软件平台上实施.

2.1 二次函数优化问题

该算例有两个相互耦合的子空间A和B, 其中的设计变量有三个, 分别是x1、x2、x3. 状态设计变量分别为y1和y2.y1和y2相互耦合, 其表达式[11]如下.

子空间A:

(3)

子空间B:

(4)

优化问题描述如下. 求x1、x2、x3, 使得

根据协同优化算法, 可将该优化问题转化为一个系统级和两个学科级的优化问题. 引入松弛因子ε后的优化模型如下.

1) 假设zi为系统级优化设计变量, 系统级优化模型可表示为

2) 学科1优化模型.

3) 学科2优化模型.

在Isight平台上, 利用Optimization模块创建优化系统, 添加Calculator组件, 将变量关系式、 约束和目标函数添加到系统中. Calculator组件提供了大量的常用函数和变量, Optimization模块可以直接读取变量和函数, 在优化组件中选择需要的变量、 目标函数和优化算法. 在标准协同算法中, 系统级采用MMFD算法, 学科级均采用序列二次规划法. 本研究应用的改进协同优化算法, 系统级采用ASA+MMFD组合优化策略, 学科级采用序列二次规划法. 在ASA优化阶段松弛因子ε1取10-3, MMFD优化阶段松弛因子ε2取10-4. 标准CO算法和改进的协同优化算法的优化结果如表1所示, 算例中的理论最优解为8.03. 从对比可以看出, 应用改进的协同优化算法, 经过两个阶段的优化得到的最优解与理论最优解之间误差大大减小. 此外, 研究发现改进的协同优化算法得到的可行解数要大大多于标准协同优化算法得到的可行解数. 从而说明了改进的协同优化算法能有效保证全局范围的搜索, 避免陷入局部最优, 同时也证明了其精确寻优的能力.

表1 标准CO算法和改进CO算法的结果对比

2.2 减速器优化问题

图3 齿轮减速器结构图Fig.3 Structure of gear reducer

减速器优化问题是NASA评估多学科设计优化算法性能指标的十大标准算例之一[12]. 优化目标是满足转轴的变形和应力, 齿轮的接触应力和弯曲应力等大量约束的条件下使减速器的体积最小(质量最轻), 如图3所示. 其中:x1为齿面宽度,x2为齿轮模数,x3为小齿轮齿数,x4、x5分别为两轴承的间距,x6、x7分别为两根轴的直径.

其优化数学模型为[13]:

以上各式中, 设计变量的取值范围是:

2.6≤x1≤3.6, 0.7≤x2≤0.8, 17≤x3≤28, 7.3≤x4≤8.3, 7.3≤x5≤8.3, 2.9≤x6≤3.9, 5.0≤x7≤5.5

由多学科协同优化设计的框架, 把齿轮减速器优化设计问题分解为一个系统级和三个学科级. 学科1的优化设计变量为x1,x2,x3; 学科2的优化设计变量为x1,x2,x3,x4,x6; 学科3的优化设计变量为x1,x2,x3,x5,x7; 系统级优化设计变量为z1,z2,z3. 则此优化问题的标准CO算法的优化模型描述如下:

1) 系统级优化模型:

其中:

2) 学科1优化模型:

3) 学科2优化模型:

4) 学科3优化模型:

同样地, 对于标准协同算法, 系统级采用MMFD算法, 学科级均采用序列二次规划法(NLPQL). 改进的协同优化算法, 系统级采用ASA+MMFD组合优化策略, 科学级均采用序列二次规划法(NLPQL). 在Isight软件平台上搭建改进的协同优化算法的框架, 如图4所示.

图4 改进的协同优化算法的Isight框架Fig.4 Improved collaborative optimization for Isight

表2 初始设计点

表3 标准CO算法优化结果

表4 改进CO算法优化结果

从表3和表4可以看出, 在点X1处标准CO算法无法收敛, 而改进的协同优化算法却可以收敛到2 987.960, 比文[4]应用标准CO算法给出的最优值2 994还要小. 在起始点分别为X2,X3,X4时, 改进的协同优化算法所得到的最优目标值均比标准协同算法更优. 从而说明了改进的协同优化算法能够有效地解决标准协同算法无法收敛和陷入局部最优的缺陷. 可行域外初始点X4的迭代历程如图5所示.

图5 改进的协同算法目标函数迭代历史

3 结语

对标准协同算法的缺陷进行了分析, 在此基础上提出了一种改进的协同优化算法. 该算法是基于全局性算法自适应模拟退火法和梯度优化算法修正可行方向法算法相结合的组合优化策略, 保证了优化的全局性, 解决了标准协同优化算法易陷入局部最优和低效率等缺点. 同时, 引入动态松弛因子, 扩大了优化的自由度, 避免无法收敛, 保证收敛速度和优化精度. 通过两个优化算例, 验证了所提出的改进的协同优化算法的有效性. 今后, 该算法可在更多的实际工程问题中不断应用、 改进和完善.

参考文献:

[1] SOBIESKI J, HAFTKA R. Multidisciplinary aerospace design optimization: survey of recent developments[J]. Structure Optimization, 1997, 14(1): 1-23.

[2] KROO I, ALTUS S, BRAUN R D,etal. Multidisciplinary optimization methods for aircraft preliminary design[C]//5th Symposium on Multidisciplinary Analysis and Optimization. California: American Institute of Aeronautics and Astronautics, Inc, 1994: 697-707.

[3] 徐傲, 郑松, 葛铭, 等. 一种改进的协同优化算法[J]. 计算机工程与科学, 2016, 38(11): 2310-2313.

[4] 钟薇, 苏瑞意, 桂良进, 等. 基于子结构方法的离散结构协同优化[J]. 清华大学学报(自然科学版), 2016, 56(6): 572-579.

[5] BRAUN R, MOORE A, KROO I. Use of the collaborative optimization architecture for launch vehicle design[C]//6th AIAA-ISSMO Symposium on Multidisciplinary Analysis and Optimization. Virginia: American Institute of Aeronautics and Astronautics, Inc, 1996: 306-318.

[6] ALEXANDROV N M, LEWIS R M. Analytical and computational aspects of collaborative optimization[R]. Virginia: Langley Research Center, 2000.

[7] 周奇, 蒋平, 许辉, 等. 基于动态罚因子的多学科协同优化算法及其在船舶设计中的应用[J]. 船舶力学, 2016, 20(11): 1169-1280.

[8] 李海燕, 马明旭, 黄章俊, 等. 自适应罚函数协同优化算法[J]. 系统仿真学报, 2009, 21(19): 6178-6182.

[9] 李冬琴, 杨永祥, 陈智同. 一种改进的协同优化算法及其应用[J]. 计算机工程与科学, 2013, 35(1): 137-141.

[10] 罗伟林, 吕文靖. 组合优化策略的改进协同优化方法[J]. 福州大学学报(自然科学版), 2015, 43(6): 789-795.

[11] 余雄庆. 基于Agent模型的多学科优化设计方法[J]. 机械科学与技术, 2002, 21(5): 844-851.

[12] KODIYALAM S. Evaluation of methods for multidisciplinary design optimization (MDO) Phase I: NASA/CR-1998-208716[R]. Virginia: Langley Research Center, 1998.

[13] AZARM S, LI W C. Multi-level design optimization using global monotonicity analysis[J]. ASME Journal of Mechanisms and Automation in Design, 1989, 111(2): 259-263.

[14] 钱杨, 王德禹. 基于分段动态松弛协同优化算法的船舶机舱结构优化设计[J]. 中国舰船研究, 2016, 11(6): 40-46.

猜你喜欢

协同变量函数
家校社协同育人 共赢美好未来
二次函数
第3讲 “函数”复习精讲
抓住不变量解题
蜀道难:车与路的协同进化
二次函数
函数备考精讲
也谈分离变量
“四化”协同才有出路
三医联动 协同创新