碧波液压网 欢迎你,游客。 登录 注册

粒子群优化算法及其在圆柱度误差评定中的应用

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 引言

  粒子群优化算法(Particle Swarm Optimiza-tion,PSO)是由Kenndey博士和Eberhart博士[1]于1995年提出的。PSO优化算法与其它演化算法相似,也是一种基于群体的优化算法,即模拟鸟群觅食的过程,其功能与遗传算法非常相似[2-4],但是其实现技术却有显著的优点:

  (1)无交叉和变异运算;

  (2)有记忆性;

  (3)需调整的参数较少,结构简单,易于实现;

  (4)采用实数编码,直接由问题的解决定;

  (5)收敛速度快。

  PSO优化算法虽然起源于对简单社会系统的模拟,但后来发现PSO是一种很好的优化工具,在Kenndey和Eberhart之后很多学者都进行了这方面的研究。目前,PSO已应用于函数优化,神经网络训练,模式分类,模糊系统控制以及其它遗传算法的应用领域[5-6]。

  圆柱度问题在机械制造领域具有重要的意义,尤其对于精密制造业更是意义非凡。由于圆柱度,包括空间直线度问题,本身的非线性、三维优化目标函数,使得其难以直接按照定义实现最小区域评定,而一直以来采用的最小二乘法又不满足最小区域条件,往往出现对评定对象误判的结果。因此,本文提出应用粒子群优化算法实现圆柱度评定问题。

  2 粒子群算法原理和基本实现步骤

  2.1 算法原理

  PSO的基本概念源于对鸟群捕食行为的研究,它属于/群智能0,类似于蚁群优化算法[1]。设想有这样一个场景:一群鸟在随机搜索食物。在这个区域里只有一块食物,所有的鸟都不知道事物在哪里,但是它们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢?最简单有效的就是搜寻目前离食物最近的鸟的周围区域。

  PSO从这种模型当中得到启示,并用于解决优化问题。PSO中,每个优化问题的解都是搜索空间中的一只鸟,称之为/粒子(Particle)0。所有的粒子都有一个由被优化的函数决定的适应度值(Fitness value),每个粒子还有一个速度(Veloc-ity)决定它们飞翔的方向和距离,然后粒子们就追随当前的最优粒子在解空间中搜索。

  PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个“极值”来更新自己。第一个就是粒子自己找到的最优解,这个解叫做个体极值pBest;另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有的邻居中的极值就是局部极值。

  设第i个粒子(d是粒子的维数)表示为Xi=(xi1,xi2,xi3,,,xid),它经历过的最好位置(有最好的适应值)表示为pBest=(pi1,pi2,pi3,,,pid),整个种群经历过的最好位置表示为gBest=(pg1,pg2,pg3,,,pgd)。粒子i的速度用Vi=(vi1,vi2,vi3,,,vid)表示。对每一代个体,在找到两个最优值时,粒子根据如下的公式来更新自己的速度和新的位置:

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论