与传统的基于梯度的优化算法相比较,粒子群优化算法具有以下优点:
(1)对优化目标函数的模型没有特殊要求,对问题定义的连续性也没有特殊要求,甚至可以将传统优化方法无法表达的问题描述为目标函数,使得算法应用更具有广泛性。
(2)没有中心控制约束,个别个体的障碍不影响整个问题的求解,即算法更具有鲁棒性。
(3)采用非直接的信息共享方式实现合作,算法具有扩充性。
(4)由于粒子群优化算法的随机搜索本质,使得它更不容易陷入局部最优。同时,基于适合度概念进化的特征又保证了算法的快速性。因此,粒子群优化算法对于复杂的,特别是多峰高维的优化计算问题具有很强的优越性。
2.进化计算方法
进化计算技术(包括进化规划、遗传算法、进化策略和遗传规划)都是由自然界的进化而得到启发的。一群个体(代表潜在的解)根据一定的适应生存准则而进化,解正是随着进化而得到改善。
大多数进化算法都遵循以下过程:
(1)群体随机初始化。
(2)计算群体的每一个体适应值,通常适应值与最优解关联。
(3)群体按个体适应值概率进行复制。
(4)判断终止条件。如果满足终止条件,算法停止;否则转向步骤(2)。
显然粒子群优化算法和其他进化算法有着许多共同之处。粒子群优化算法与进化计算的最大共同之处都是基于“群体”。同时,两个算法都是随机初始化群体,其基本点都是基于适应度的概率计算,且都根据适应值来进行一定的随机搜索,两个算法都不能保证一定可以找到最优解。粒子群优化算法中的位置更新操作中的方向改变类似于遗传算法中的突变算子。这种类似突变的操作是多方向性的,同时还包括了对突变程度的控制,如因子Vmax的作用。
进化计算技术主要涉及三个算子:组合算子、突变算子和选择算子。粒子群优化算法没直接使用组合算子。然而,粒子群优化算法中的随机加速度使得粒子向它自身最好位置和群体最好位置靠近,这些行为在某种程度上类似于进化计算中的重组算子。
此外,信息的共享机制是很不同的,在遗传算法中,染色体互相共享信息,整个种群的移动是比较均匀的向最优区域移动。在粒子群优化算法中,信息只来自粒子自身找到的最好位置和群体中最好粒子,这是单向的信息流动。整个搜索更新过程是跟随当前最优值的过程。与遗传算法相比较,所有的粒子在大多数情况下可能更快地收敛于最优值。
粒子群优化算法是从通过模仿社会行为而得到的(正如蚁群优化算法一样),在进化过程中该算法同时保留和利用位置与速度信息,而其他进化类算法仅仅保留和利用位置的信息。
与其他进化计算方法不一样,粒子群优化算法没有使用“适者生存”的概念。该算法没有直接利用选择函数。因此,具有低适应值的粒子在优化过程中仍能够生存,且有可能搜索到解空间中的任何一个领域。
3.蚁群优化算法
群体智能算法家族的两个重要成员就是粒子群优化算法与蚁群优化算法。两种算法提出的年代相似,而且基本思想都是模拟自然界生物群体行为来构造随机优化算法的,不同的是粒子群优化算法模拟鸟类群体行为,而蚁群优化算法模拟蚂蚁觅食原理。
1)相同点
粒子群优化算法和蚁群优化算法这两种仿生群体智能优化算法有许多相似的特点。
1)都是一类不确定的算法。不确定性体现了自然界生物的生理机制,并且在求解某些特定问题方面优于确定性算法。仿生优化算法的不确定性是伴随其随机性而来的,其主要步骤含有随机因素,从而在算法的迭代过程中,事件发生与否带有很大的不确定性。
2)都是一类概率型的全局优化算法。非确定算法的优点在于算法能有更多的机会求解全局最优解。
3)都不依赖于优化问题本身的严格数学性质。在优化过程中都不依赖于优化问题本身的严格数学性质(如连续性、可导性)以及目标函数和约束条件的精确数学描述。(www.xing528.com)
4)都是一种基于多个智能体的仿生优化算法。仿生优化算法中的各个智能体之间通过相互协作来更好地适应环境,表现出与环境交互的能力。
5)都具有本质并行性。仿生优化算法的本质并行性表现在两个方面:仿生优化计算的内在并行性(inherent parallelism)和内含并行性(implicit parallel—ism),这使得仿生优化算法能以较少的计算获得较大的收益。
6)都具有突现性。仿生优化算法总目标的完成是在多个智能体个体行为的运动过程中突现出来的。
7)都具有自组织性和进化性。具有记忆功能,所有粒子都保存优解的相关知识。在不确定的复杂时变环境中,仿生优化算法可通过自学习不断提高算法中个体的适应性。
8)都具有稳健性。仿生优化算法的稳健性是指在不同条件和环境下算法的适用性和有效性。由于仿生优化算法不依赖于优化问题本身的严格数学性质和所求解问题本身的结构特征,因此用仿生优化算法求解许多不同问题时,只需要设计相应的评价函数(代价函数),而基本上无需修改算法的其他部分。但是对高维问题复杂问题,往往会遇到早熟收敛和收敛性能差的缺点,都无法保证收敛到最优点。
2)不同点
粒子群优化算法和蚁群优化算法虽然同属于仿生群智能算法,并且有许多相似之处,但是在算法机理、实现形式等方面存在许多不同之处。
(1)粒子群优化算法。粒子群优化算法是一种原理相当简单的启发式算法,与其他仿生优化算法相比较,该算法所需的代码和参数较少。
粒子群优化算法通过当前搜索到的最优点进行共享信息,所以很大程度上这是一种单项信息共享机制。
粒子群优化算法受所求问题维数的影响较小。
粒子群优化算法的数学基础相对较为薄弱,目前还缺乏深刻且具有普遍意义的理论分析。在对收敛性分析方面研究还需进一步将确定性向随机性转化。
(2)蚁群优化算法。蚁群优化算法采用了正反馈机制,这是不同于其他仿生优化算法最为显著的一个特点。
蚁群优化算法中每个个体只能感知局部的信息,不能直接利用全局信息。
基本蚁群优化算法一般需要较长的搜索时间,且容易出现停滞现象。
蚁群优化算法的收敛性能对初始化参数的设置较为敏感。
蚁群优化算法已经有了较成熟的收敛性分析方法,并且可以对收敛速度进行估计。
4.遗传算法
首先,粒子群优化算法和遗传算法两者都随机初始化种群,而且都使用适应值来对个体进行评价,都根据适应值来选择各种演化操作的受体。这两种算法都是随机搜索算法,因此,不能保证每次运行都搜索到最优解。
但是,粒子群优化算法没有遗传操作,如交叉操作、变异操作和逆转操作等,而是根据自己的速度来决定搜索方向和步长。与遗传算法中的染色体相比较,粒子还有一个重要的特点,就是具有记忆能力。粒子的这种记忆能力主要是通过速度公式中的“个体认知”项来实现的。
与遗传算法相比较,粒子群优化算法的信息共享机制是很不同的。在遗传算法中,染色体互相共享信息,所以整个种群的移动是比较均匀地向最优区域移动。在粒子群优化算法中,除自身的历史记忆(pbest)以外,只有全局最优粒子给其他粒子共享信息(gbest),或者说,只有全局最优粒子的认知才得以向整个群体传播。这是单向的信息流动。整个搜索更新过程是群体粒子跟随当前群体最佳解向问题的最优解移动的过程。与遗传算法相比较,在大多数的情况下,粒子群优化算法基本都能更快地搜索到全局最优解。
综上,总结粒子群优化算法的主要特点为:
(1)每个粒子都被随机赋予初始速度;
(2)粒子个体具有记忆能力;
(3)粒子在惯性项的作用下,受个体认知和群体/社会认知的修正。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。