这篇机械工程师论文发表了粒子算法的机械结构可靠性设计,针对传统粒子群算法存在的“早熟”问题,论文将惩罚函数法与粒子群算法相结合对多约束条件的机械机构优化问题进行求解, 通过对惩罚因子进行选择和调整, 取得了较好的寻优效果。
关键词:机械工程师论文,粒子群算法,惩罚函数法,可靠性设计
0 引言
对机械结构的可靠性设计可以从选材、强度、机理和性能几方面进行, 目前国内外学者采用遗传算法、梯度法、粒子群算法、神经网络算法等对机械机构进行可靠性分析和设计[1], 但是以上算法均存在早熟现象, 其优化结果往往达不到理想情况, 因此需要寻找更适合结构可靠性优化的新方法。粒子群算法 (PSO) 由Eberhart于1995年提出, 其模拟飞鸟在觅食时候鸟群之间的协作机制, 该算法简单便捷, 易于实现, 常用来处理非线性问题和组合优化问题, 但是其最大的缺陷是易陷入局部最优, 产生“早熟”现象[2]。
1 惩罚函数法
惩罚函数法是一种将有约束的优化问题转化为无约束优化问题进而求解的方法。对于机械机构设计问题, 可将其描述为:
其中:f (x) 为目标函数;g (x) 为不等式约束;h (x) 为等式约束;p和q分别表示函数g (x) 和h (x) 的约束域。引入目标函数φ (xp, r (k) ) 作为惩罚函数:
其中:r (k) 为惩罚因子;G[gu (x) ]为与不等式约束有关的惩罚项;H[hv (x) ]为与等式有关的惩罚项。惩罚因子r (k) 可将算式 (1) 转换为算式 (2) 无约束优化问题。随着惩罚因子序列{r (k) }不断变化, 惩罚项在整个罚函数中逐渐减小, 最终趋于0, 从而使对应于r(k) 的罚函数φ (x, r (k) ) 的解收敛到算式 (1) 的最优解。
2 粒子群算法
粒子群算法是模拟飞鸟群在觅食时候的行为, 在飞鸟觅食过程中, 鸟与鸟之间通过集体协作朝着食物飞去[3]。该算法中, 优化问题被抽象为理想化的粒子 (无质量, 无体积) , 并在多维空间延伸, 在PSO系统中每个备选解成为一个“粒子”, 多个粒子共存, 合作寻求最优解, 每个粒子会根据自身经验和整个粒子群的社会经验在多维空间中朝着更好位置飞行, 搜索最优解。假如n维空间, 有s个粒子组成一个群落, 第i个粒子当前位置和速度分别为[4]:
其中:m为迭代次数;γ为在[0, 1]间随机取值的函数;β为惯性权重;c1、c2为两个加速因子, 表示粒子飞向局部和全局最好位置的速度权重, 其取值范围为0.2~0.5。
3 粒子群算法和惩罚函数法结合求解多约束优化问题
利用粒子群算法求解多约束优化问题时, 惩罚因子的选取至关重要。一般而言, 惩罚因子可以选择定量, 也可以选择变量[5], 定量数值一般在0~1之间选取, 但是对于复杂问题, 效率比较低;变量的数值选取既可以根据违背约束程度选择, 也可以根据进化程度进行选择。本文采用变量取值, 即根据违背程度和进化程度来求解约束优化问题[6]。在结构系统可靠度约束下, 合理选择截面积使得结构总质量最小, 这是可靠性设计的核心问题。因此对于一个机械结构的可靠度设计可以按照以下过程进行求解:(1) 构造惩罚函数, 将算式 (1) 转化为无约束优化问题。(2) 初始化。设置粒子群规模s, 最大迭代次数m, 粒子最大速度Vimax, 随机初始化粒子群位置{Xi0}si=1、速度{Vi0=0}si=1, 初始化每个粒子曾经最优位置和整个群体最优位置分别为
(3) 更新种群位置, 设置每个粒子当前最优位置Pi。(4) 计算每个粒子的适应度函数值, 找出初始群体中最佳位置Pj。(5) 将搜索全局极值与历史最优值进行比较, 如果全局极值优于历史最优值Pg, 则用该全局极值替换历史最优值。(6) 判断迭代次数是否超过m, 如果超过, 则停止计算, 即获得粒子最优位置, 否则, 返回步骤 (5) , 重复m次, 返回步骤 (4) 。
4 仿真实例
内燃机的气门支撑弹簧是惯性振动筛重要元件, 其性能好坏直接影响气门的寿命。在设计该机构时往往要考虑很多因素, 如结构材料、尺寸大小、吸振限幅性能等, 而传统的结构设计往往凭借经验选择, 这样会造成弹簧的振动轨迹不符合要求, 甚至在振动过程中出现打缸现象[7]。为了解决这一难题, 本文以内燃机气门弹簧结构尺寸为设计目标寻求气门弹簧的优化设计方法。
假如各个参数服从正态分布, 弹簧的材料为钢, 且锰的含量为5%, 弹簧的抗剪弹性模量 (剪切弹性模量G, 等效弹模系数δ) = (45 000, 2 000) MPa, 承受交变载荷作用, 当循环次数超过20 000次时, 测量弹簧振动时位于位置c和位置b的弹模系数δc和δb, 并验证两者方差是否符合正态分布。算法各项参数设置如下:运行环境为在Thinkpad计算机上的MATLAB2015a软件平台, 种群规模s=30, 最大迭代次数m=2 000, 粒子的速度限制在[-3, 3], 循环15次。选择可靠性指数的倒数最小值作为目标函数。为了便于计算用x1和x2分别代表气门振动最大幅度d的偏差量和弹簧最大形变量y的偏差, 代入相关公式经整理得:
图1 各种算法在可靠度值上的对比 下载原图从图1可以看出, 对收敛速度而言, 加入惩罚函数之后的粒子群算法收敛速度最快, 而由于遗传算法中交叉、变异等复杂操作的存在对算法的收敛速度有一定的影响, 而未改进的粒子群算法在迭代过程中出现早熟, 收敛速度相对较慢, 收敛速度位于三者中间;对收敛精度而言, 由于加入了惩罚函数新算法的精度大大提高, 并收敛于5.71, 而遗传算法和粒子群算法分别收敛于3.32和粒子群算法的4.12, 新算法的收敛精度分别提高了19.52%和13.3%。因此根据该仿真结果可以得出结论:基于惩罚函数的粒子群算法无论是收敛速度还是收敛精度都优于传统的遗传算法, 在满足可靠性指标的要求下, 同时又优化了横截面积, 节约了材料, 提高产品的性价比。
5 结语
针对基本粒子群算法产生的“早熟”问题, 本文将惩罚函数引入粒子群算法当中, 利用基本粒子群的搜索能力, 动态收缩搜索区域, 防止粒子在迭代过程中停止而陷入“早熟”陷阱;针对机械结构可靠度约束最小化的结构质量优化问题, 建立系统优化模型, 将多约束条件转化为无约束条件, 使得算法更加简单易于实现。与传统算法相比本文算法最大优点在于迭代算法中涉及到的高等运算比较少, 其采用的精英集思想便于化解算法陷入局部最优的难题。因此, 将改进粒子群算法应用与改善机械机构可靠性方面具有运算速度快、所求解质量高等诸多优势, 势必会产生较高的工程价值。
参考文献
[1]许玉荣, 陈建桥, 罗成, 等.复合材料层合板基于遗传算法的可靠性优化设计[J].机械科学与技术, 2004, 23 (11) :1344-1347.[2]刘勇军, 张新锋.基于遗传算法的数控磨床可靠性优化分配技术研究[J].机床与液压, 2015, 43 (11) :201-204.[3]陆海涛, 董玉革.基于粒子群算法的机床主轴结构可靠性优化设计[J].煤矿机械, 2011, 32 (8) :33-35.[4]葛锐, 陈建桥, 魏俊红.基于改进粒子群优化算法的复合材料可靠性优化设计[J].机械科学与技术, 2007, 26 (2) :257-260.[5]刘仁云, 于繁华, 张义民, 等.基于模糊粒子群算法的拉杆可靠性稳健优化设计[J].吉林大学学报 (工学版) , 2010, 40 (增刊1) :344-348.[6]于繁华, 刘仁云, 张义民, 等.机械结构动态可靠性设计的智能计算方法[J].吉林大学学报 (工学版) , 2016, 46 (4) :1269-1275.[7]Lan Cheng-ming, Li Hui, Peng Jun-yi, 等.基于粒子群优化算法的结构可靠度敏感性分析方法:相对收敛率[J].浙江大学学报 (a卷英文版) , 2016, 17 (12) :961-973.[8]马宪民, 杨洁, 张永强.基于粒子群优化的矿用减速器可靠性寿命预测分析[J].煤炭技术, 2017 (3) :237-239.
推荐阅读:《石油矿场机械》坚持为社会主义服务的方向,坚持以马克思列宁主义、毛泽东思想和邓小平理论为指导,贯彻“百花齐放、百家争鸣”和“古为今用、洋为中用”的方针,坚持实事求是、理论与实际相结合的严谨学风。