由于在找到食物的途中,它们随时都相互传递信息,特别是好消息。所以,在好消息的指引下,最终导致了鸟群“一窝蜂”地奔向食源,达到了在食源的群集。PSO算法就从这种生物种群行为特性中得到启发并用于求解优化问题。
粒子群算法最大的特点在于概念简单,易于理解,且参数少,易于实现,因而短期内得到很大发展,迅速地得到了国际计算研究领域的认可。
但其概念简单,易于实现的同时也存在早熟收敛、稳定性差等缺点。
1.1.3粒子群算法与其他算法的异同
遗传算法、蚁群算法与粒子群算法是智能优化算法中的三个重要成员。而最新提出的粒子群算法以高效的特点受到学术界的广泛重视,而它与以往智能优化算法的异同也吸引众多学者来研究。
1、粒子群算法与遗传算法的异同
粒子群算法与遗传算法最大的共同之处在于都是基于“群体”。两种算法都是随机初始化群体,基于适应度的概率计算,然后根据适应值来进行一定的随机搜索,且都不能保证一定能够找到最优解。遗传算法主要涉及三个算子:选择、交叉和突变算子。粒子群算法中的随机加速度使得粒子向它自身最好位置和群体最好位置靠近,在某种程度上类似于遗传算法中的交叉算子。粒子群算法位置更新操作时的方向改变类似于遗传算法中的突变算子。
但是,两种算法也存在很多不同之处。
1)信息的共享机制不同:在遗传算法中,染色体相互共享信息,整个种群比较均匀的向最优区域移动。在粒子群算法中,信息只来自粒子自身找到的最好位置和群体中最好粒子,这是单向的信息流动。与遗传算法比较,所有的粒子在大多数情况下可能更快地收敛于最优值。
2)信息利用不同:在进化过程中,遗传算法仅个体利用位置的信息,而粒子群算法同时利用个体的位置与速度信息,能够更有效地进行优化搜索。
3)个体淘汰机制不同:在遗传算法中,根据“适者生存”的理念,低适应值的个体在选择部分有被淘汰的可能,而粒子群算法没有直接利用选择函数,因此具有低适应值的粒子在优化过程中仍能生存,且有可能搜索到解空间中的任何领域,有较强的鲁棒性。
2、粒子群算法与蚁群算法的异同
粒子群算法与蚁群算法提出的年代相似,而且基本思想都是模拟自然界生物群体行为来构造随机优化算法的。粒子群算法与蚁群算法的相同点在于,它们都是不确定的、概率型的全局优化算法,各个智能体之间通过相互协作来更好地适应环境,表现出与环境交互的能力,并且具有本质的并行性。所有个体都保存最优解的相关知识。在不确定的复杂时变环境中,可通过学习不断提高算法中个体的适应性。
粒子群算法与蚁群算法虽然同属于仿生算法,并且有很多相似之处,但是在算法机理、实现形式等方面存在许多不同之处。
1)信息反馈机制不同:蚁群算法采用了正反馈机制,每个个体智能感知局部信息,不能直接利用全局信息,所以一般需要较长的搜索时间,且容易出现停滞现象。而粒子群算法采用单向信息共享机制,将当前搜索到的最优值进行全局共享,原理相对简单,所需的代码和参数较少。
2)理论基础成熟度不同:蚁群算法已经有了较成熟的收敛性分析方法,并且可对收敛速度进行评估。而粒子群算法的数学基础相对较为薄弱,目前还缺乏深刻且具有普遍意义的理论分析。在收敛性分析方面的研究,还需进一步将确定性向随机性转化。
1.1.4粒子群算法的优劣势及应用(见粒子群算法及其应用)
作为一种新兴的智能优化算法,粒子群算法的广泛传播在于它具有其他智能优化算法所不具备的优势,粒子群算法采用实数编码,直接在问题域上进行处理,无需转换,且算法接单易于实现。在处理复杂度较低的问题是存在一定的优势。但是作为智能优化算法的一种,,同时也存在一般智能优化算法的缺陷。粒子群算法发展历史尚短,在理论基础方面还不太成熟,且算法较简单容易陷入局部极值,导致早熟现象的产生。在与其他算法结合或算法改进后能较好地求解高复杂度的问题。
粒子群算法目前已广泛应用于函数优化、神经网络训练、模糊系统控制等领域。而粒子群算法比较有潜力的应用还包括系统设计、多目标优化、分类、模式识别、调度、信号处理、决策和机器人应用等。
1.2 本文的研究背景
在现代化的工业生产中,如何同时使生产的布偶那个产品都达到满意的产量一直是工业领域期待解决的问题。
对工程应用中的一些多目标优化问题,本课题组曾用基本遗传算法、自适应遗传算法和参数自适应蚁群算法进行优化,并取得一定成果。
但是在工程问题中,只能不断地接近最优值,无法真正达到理论最优值,而算法的改进能有效提高工业生产中的经济效益。
在此背景下,本文欲对粒子群算法的性能及其在工程中的应用进行深入研究。
1.3 本文的研究内容
第二章 粒子群算法的基本原理和发展现状
2.1 引言
粒子群算法自提出后引起各界的重视,并将其广泛应用与各个领域。但其理论基础还较为薄弱,缺乏深的且具有普遍意义的理论分析。本章将介绍粒子群算法的基本原理和发展现状,为进一步研究粒子群算法做好铺垫。
2.2 粒子群算法的起源背景
自然界生物有时候以群体形式存在,部分科学家很早以前就对鸟群和鱼群的生物行为进行计算机模拟。1995年Eberhart和Kennedy受他们早期对许多鸟类的群体行为进行建模和仿真研究结果的启发,共同提出了粒子群算法,他们的仿真模型算法主要利用了生物学家Hepper的模型和Boyd的个体学习、文化传递的概念。
在Hepper的仿真中,鸟在一块栖息地附近群聚,这块栖息地吸引着鸟,直到它们都落在这块地上。Hepper的模型中鸟是知道栖息地的位置的,但在实际情况中,鸟类在刚开始是不知道食物的所在地的。依据Boyd的个体学习、文化传递的理念,Kennedy等认为鸟之间存在着相互交换信息。
通过探索了人类的决策过程Boyd认为,人们在决策过程中常常会综合两种重要信息。第一个是自身经验,即根据自己以前的经历所积累的经验来判断状态的好坏。第二个是他人的经验,即人们通过周围人的一些行为判断哪些影响是正面的,哪些是负面的。人们根据自身经验和他人经验做决定这一思路为粒子群算法的信息交换提供了有效地
参考方式。
于是参考Boyd的个体学习、文化传递的理念,Kennedy等在仿真中增加个体位置调整规则:每个个体能够记住自己当前所找到的最好的位置,称为“历史最优pbest”;每个个体能够获取目前为止所有个体中的最优值,称为“全局最优gbest”。在这两个最优变量的牵引下,鸟群在某种程度上朝这些方向靠近。他们综合以上内容,提出了实际鸟群的简化模型,即粒子群算法。
2.3 粒子群算法的基本思想
与基于达尔文“适者生存、优胜劣汰”进化思想的遗传算法不同的是,粒子群算法是通过个体之间的协助来寻找最优解,它利用了生物群体中信息共享会产生进化优胜的思想。
鸟群在觅食的迁徙过程中,有既分散又集中的特点。总有那么一只鸟对食物的嗅觉较好,即对食源的大致方向具有较好的洞察力,从而这只鸟就拥有食源的较好信息。由于在寻找食物的途中,它们随时都相互传递信息,特别是好消息。所以,在好消息的指引下,最终导致了鸟群“一窝蜂”地奔向食源,达到在食源的群集。粒子群算法就从这种生物种群行为特性中得到启发并用于求解优化问题。粒子群算法中,解群相当于鸟群,一地到一地的迁徙相当于解群的进化,“好消息”相当于解群每代进化中的最优解,食源相当于全局最优解。
图2-1:鸟群觅食原理示意图
在粒子群算法中,每个优化问题的潜在解都可以想象成D维搜索空间中的一个点,
我们称之为“粒子”(Particle)。粒子在搜索空间中以一定的速度飞行,这个速度根据它本身的飞行经验和同伴的飞行经验来动态调整。所有的粒子都有一个被目标函数决定的适应值,并且知道自己到目前为止发现的最好位置。每个粒子使用下列信息调整自己的位置:1)当前位置
;2)当前速度
;3)当前位置与自己最好位置之间的距离
。从而形成新的速度
;4)当前位置与群体最好位置之间的距离
,到达新的位置
。单个粒子移动原理如图2-2所示:

