文档介绍:第 5 期( 总第 156 期) 机械工程与自动化 N o . 5
2009 年 10 月 M ECHA N ICAL EN GINEER IN G & AU T O M A T IO N O ct.
文章编号: 1672-6413( 2009) 05-0020-02
基于线搜索的微粒群算法在机械设计中的应用
刘瑞芳, 王希云
( 太原科技大学应用科学学院应用数学系, 山西太原 030024)
摘要: 为了避免微粒群优化算法早熟, 利用算法不需求导的特点, 提出了基于线性搜索的改进微粒群算法及实
现过程, 并把该算法应用于机械优化问题。实例表明, 该方法全局收敛性好, 收敛速度快且精度高, 是解决工
程设计中复杂线性优化问题的可行方法。
关键词: 微粒群算法; 线性搜索; 机械优化
中图分类号: T P18 文献标识码: A
1 微粒群算法也不必要; 特别是对某些非光滑函数或导数表达式复
微粒群优化( Par ticle Sw arm Optimization, 简称杂的函数, 不能利用精确线性搜索; 此外, 在计算实
PSO) 作为一种新的智能优化算法, 是由美国社会心理践中过分追求线性搜索的精度反而会降低整个方法的
学家 Kennedy Jam es 和电气工程师 Eber hart Russell 效率。为此本文采用不精确线性搜索方法。
在 1995 年率先提出的[ 1] 。PSO 算法是一种新的随机全 2. 2 改进算法的基本思想
局优化技术, 主要用于解决连续函数优化问题。PSO 在基于线性搜索的微粒群优化算法中, 当微粒群
算法是基于适应度的随机进化算法, 具有避免陷入局陷入停滞状态时, 作线性搜索。线性搜索的方向 P =
* * * *
部最优以收敛于全局最优解的能力。进化公式为: X - X old, 其中 X old 、X 分别为最近两次搜索找到的
* *
v i ( t+ 1) = w v i ( t) + c 1r1 ( Pi - x i ( t) ) + c2 r2 ( Pg - 局部最优点, 且 f ( X old) > f ( X ) 。从 X 出发做线性
o o *
x i( t) ) 。⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯( 1) 搜索求出 X , 用 X 代替 X 。微粒群算法与线性搜索
其中: v i 为迭代速度; Pi 、P g 分别为个体最优位置和均无需求导, 且由于利用了下降法, 所以可加快算法
群体最优位置; t 为进化代数; w 为惯性权重, 可为常的收敛速度, 减小标准微粒群算法早熟的可能性, 并
数, 也可线性递减, 本文 w 取( 0, 1) 之间的随机数[ 2] ; 可提高解的精度。具体算法实现步骤如下:
c1 、c2 分别为认知系数与社会系数; r1 、r2 为( 0, 1) 之间( 1) 初始化群体中每个微粒的速度和位置, 设置
的随机数。停滞代数 N 1 , 评价每个微粒的适应值, 得出每个微粒
2 引入线性搜索后的微粒群算法的个体极值和整个微粒群的全局极值。
2. 1 线性搜索[ 3] ( 2) 当满足结束条件时, 算法停止, 输出结果; 否
线性搜索是多变量函数最优化方法的基础, 在多则, 转步骤(