粒子群优化算法在工程中的应用
An Application of Particle Swarm Optimization in Engineering

作者: 王胜春 * , 安 宏 , 李文豪 , 杨峻涵 , 王晓伟 :山东建筑大学机电工程学院,山东 济南;

关键词: 粒子群优化(PSO)盖板优化设计Particle Swarm Optimization (PSO) Cover Plate Optimization Design

摘要:
优化设计在工程设计中,可以从大量可行的设计方案中寻找到最优的方案,因而提高设计质量。本文研究了粒子群优化算法的基本原理,分析了其特点,充分利用粒子群算法的全局搜索和局部搜索相结合的优点,将其应用于盖板的优化设计,以盖板轻量化为研究目标,以满足强度、刚度、稳定性等为约束条件,建立盖板优化的数学模型,用粒子群算法对变量进行求解。最后将粒子群优化的结果和其他几种优化方法相比较,基于粒子群优化的盖板设计得到了最好的优化方案。

Abstract: In engineering design, optimization design finds the optimal solution from a wide variety of design methods, thereby improving the design quality. This paper studies the basic rationales of Particle Swarm Optimization (PSO) and analyzes its characteristics. We aim to reduce the weight of cover plate while maintaining its strength, stiffness and stability. After setting up a mathematical model of optimization design of cover board, we use PSO to solve the variables. Due to the advantage of combining both global search and local search, the application of PSO on design optimization of cover plate achieves a better result compared to several other constrained optimization methods.

1. 引言

优化设计方法不同于传统的设计方法,优化设计是从多种可行的设计中进行最佳选择,自动选择最佳方案的设计方法。优化设计根据设计所追求的性能目标,以计算机为手段进行迭代,寻求最优的设计方案。经典的优化设计方法如最速下降法、复合形法、惩罚函数法、单纯形法等等,已经在资源配置、生产管理以及工程界都得到了较好的应用,但是这些优化方法也存在一定的问题,如它们许多都是沿着某一方向进行搜索,开始优化速度较快,在趋近最优点时优化速度变得较慢,另外,由于一些实际问题中的目标函数和约束函数形式比较复杂,最速下降法等是沿着某一方向进行探索,容易陷入局部最优点,而探寻不到全局最优点。

而粒子群优化算法是一种现代智能优化算法,可以克服上述缺点,它是一种全局搜索算法,通过粒子间的竞争和协作,在复杂的搜索空间中以启发式实现全局最优点的寻找 [1] [2] [3]。该算法易理解、易实现、全局搜索能力强。文献 [1] 利用粒子群算法改进了神经网络,将焊点特征信息输入改进后神经网络,实现了对正常、多锡、少锡、漏焊四种不同类型的焊点进行识别,提高了检测效率。文献 [2] [3] 采用粒子群算法对非线性系统进行优化,对整个参数空间进行搜索,得到了系统参数的最优估计。文献 [4] 利用支持向量机建立风险预警分类器,然后使用粒子群优化对预警分类器的参数进行了优化,提高了预警的准确率。文献 [5] 利用粒子群优化神经网络,估算动力电池SOC,以单体电池电压、电流作为神经网络模型的输入,电池SOC作为输出,采用粒子群优化神经网络的权值和阈值,解决了普通神经网络容易陷入局部极小值的问题。文献 [6] 采用粒子群优化算法实现了对行星齿轮参数的体积目标优化设计,其结果与传统设计相比,获得了较小的体积。

本文研究了粒子群优化算法,分析了其特点,介绍了粒子群优化算法的基本原理,充分利用粒子群算法的全局搜索和局部搜索相结合的优点,将其应用于约束优化的工程实例,以盖板设计为例,在满足设计所要求的强度刚度稳定性的条件下,以重量最轻为研究目标,对设计过程中的设计变量进行优化,得到了较好的优化方案。

2. 粒子群优化算法理论

粒子群优化算法PSO (Particle Swarm Optimization)是由Eberhart博士和Kennedy博士提出的一种自适应搜索技术。源于对鸟群捕食行为的研究,其基本思想是通过个体之间信息传递和信息共享进行最优解的搜寻。在粒子群优化算法中,每个优化问题的潜在解都是搜索空间中的一个粒子。假设优化问题是d维优化,在d维空间中,M个粒子组成一个种群,其中第i个粒子表示为:

x i = ( x i 1 x i 2 x i d ) T , i = 1 , 2 , , M (1)

每个粒子都有一个飞行速度,第i个粒子的飞行速度为:

v i = ( v i 1 v i 2 v i d ) T , i = 1 , 2 , , M (2)

每个粒子的飞行速度影响该粒子下一步的飞行方向和位置,其基本算法如下:

v i t + 1 = w v i t + c 1 r 1 ( p i t x i t ) + c 2 r 2 ( p g t x i t ) x i t + 1 = x i t + v i t

上标t表示迭代次数或迭代时刻。

p i 为第i个粒子的历史最好解,即对应个体极值。

p g t = min ( p i t ) ,是所有粒子到t时刻为止求得的历史最优解。

w为惯性权重因子,为非负值,值的大小影响整体的寻优能力。

c 1 c 2 为加速因子,通常在0~2间取值。

r 1 r 2 为两个[0~1]之间变化的相对独立的随机均匀数。

在第t次迭代过程中,每个粒子都需要根据目标函数(即适值)来计算其适应值的大小,然后根据适应值来确定当前粒子的最优位置,个体极值 p i t ,以及群体极值 p g t ,然后根据式(1)和(2)调整各个粒子的速度及位置。然后粒子们就追随当前的最优粒子在解空间中搜索。PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解。结束条件为迭代次数达到设定值,或群体迄今为止搜索到的最优位置满足预设最小适应值。

算法的实现过程如下:

(1) 首先初始化,按照种群规模大小,初始化每个粒子的位置、速度。

(2) 根据具体问题的目标函数,计算每个粒子的适应度,一般与目标函数值一致;

(3) 对于每个粒子,用它的适应度值和个体极值进行比较,求出每个粒子的个体最优值;

(4) 对于所有粒子,用适应度值和全局极值比较,求出全局极值;

(5) 根据公式(1) (2)更新各个粒子的速度及位置;

(6) 如果满足结束条件则输出结果,退出,否则返回(2)。

3. 粒子群算法在盖板优化中的应用

在此将粒子群优化算法应用于箱型盖板的优化设计,盖板的受力和截面如图1所示,盖板材料为铝合金,它能承受的最大单位载荷 q = 60 N / cm ,盖板长度 l = 600 cm ,宽度 b = 60 cm ,侧板厚度 t s = 0.5 cm ,上下板厚度为 t ( cm ) ,要求盖板满足强度、刚度、稳定性的条件下,设计一个最轻的结构方案。

Figure 1. Cover plate model

图1. 盖板模型

考虑材料的弹性模量 E = 7 × 10 4 MPa ,泊松比 ε = 0.3 ,许用正应力 [ σ ] = 70 MPa ,许用剪应力 [ τ ] = 45 MPa

容易求得盖板内最大剪力 Q max = q l / 2 ,最大弯矩值 M max = q l 2 / 8 ,截面惯性矩(忽略两侧壁)可近似为:

I = 2 b t ( h 2 ) 2 = 30 t h 2

最大剪应力:

τ max = Q max 2 × 0.5 h = 180 h ( MPa )

最大弯曲应力为:

σ max = M max I × h 2 = 450 t h ( MPa )

屈曲临界稳定应力为:

σ c r = π 2 E 3 ( 1 ε 2 ) ( t b ) 2 70 t 2 ( MPa )

最大挠度为:

f max = 5 q l 4 384 E I = 482 t h

建立优化设计的数学模型:

首先确定设计变量为:

x = [ x 1 x 2 ] = [ t h ]

目标函数重量最轻可以转换为面积最小:

F ( x ) = 2 × 60 t + 2 × 0.5 h = 120 t + h = 120 x 1 + x 2

变量均应该为正值,盖板工作时要满足强度、刚度及稳定性的要求,故约束条件:

g 1 ( x ) = x 1 < 0

g 2 ( x ) = x 2 < 0

g 3 ( x ) = 1 [ τ ] τ max = 1 x 2 4 0

g 4 ( x ) = 1 [ σ ] σ max = 1 7 x 1 x 2 45 0

g 5 ( x ) = 1 σ c r σ max = 1 7 x 1 3 x 2 45 0

g 6 ( x ) = 1 1.5 f max = 1 x 1 x 2 2 321 0

应用粒子群优化算法,取 w = 0.6 c 1 = c 2 = 2 ,种群数为100,迭代终止次数为300,迭代过程如图2所示,经过30多次迭代已经到达最优结果。

Figure 2. Optimizing iterative process

图2. 优化迭代过程

为了和其他优化方法相比较 [7] [8],在表1中列出了几种算法的参考解。

Table 1. Solutions of various optimization methods

表1. 各种优化方法的解

从优化迭代图2可以看出,粒子群优化寻优的过程非常快,从最初目标函数约115快速下降,迭代20次后已经接近最优解,迭代30多次已经达到最优解,后面的迭代次数最优值已经不再发生变化,取值稳定。和表1中的其他几种算法相比较,可以看出,最后一栏的目标函数粒子群算法为101.3056,以重量最轻为目标函数,本文算法优于其他几种算法。

4. 结束语

本文研究了粒子群优化算法理论,它是一种全局搜索算法,可以在复杂的搜索空间中以启发式实现全局最优点的寻找。该算法可以避免传统优化方法约束条件较多时容易陷入局部极值点的缺陷,该算法简单,迭代快,将其应用于盖板优化设计,在多约束优化的工程实例中,和其他几种优化方法相比较,得到了较好的优化方案。

基金项目

济南市科研带头人项目(No.2019GXRC064)。

NOTES

*通讯作者。

文章引用: 王胜春 , 安 宏 , 李文豪 , 杨峻涵 , 王晓伟 (2020) 粒子群优化算法在工程中的应用。 计算机科学与应用, 10, 1431-1436. doi: 10.12677/CSA.2020.108148

参考文献

[1] 廖坤锐, 陈卫兵, 杨雪. 基于PCA和粒子群优化算法的焊点缺陷识别[J]. 计算机测量与控制, 2020, 28(5): 190-195.

[2] 王芷馨, 王冬青, 韩增亮, 许崇立. 基于粒子群优化算法的非线性系统辨识[J]. 自动化与仪器仪表, 2020(5): 8-13.

[3] Guedria, N.B. (2016) Improved Accelerated PSO Algorithm for Mechanical Engineering Optimiza-tion Problems. Applied Soft Computing, 40, 455-467.
https://doi.org/10.1016/j.asoc.2015.10.048

[4] 周树功, 李娟. 粒子群优化算法和支持向量机的上市公司信用风险预警[J]. 现代电子技术, 2020(43): 73-76.

[5] 王晨, 王琪, 张萌. 粒子群优化神经网络的动力电池SOC估算研究[J]. 单片机嵌入式系统应用, 2020(6): 20-24.

[6] 李旭贞. 基于粒子群算法的行星齿轮传动优化设计[J]. 机械工程与自动化, 2018, 211(6): 98-100.

[7] 刘景森, 袁蒙蒙, 李煜. 基于改进樽海鞘群算法求解工程优化设计问题[J]. 系统仿真学报, 2020. http://kns.cnki.net/kcms/detail/11.3092.V.20200403.1115.005.html

[8] 刘瑜, 马良. 量子蚂蚁算法及其在箱形盖板优化设计中的应用[J]. 机械设计与研究, 2009, 25(4): 56-58.

分享
Top