一种改进的粒子群优化算法-《价值工程》武燕 张冰
- 格式:doc
- 大小:108.00 KB
- 文档页数:6
变异粒子群算法
变异粒子群算法(MPSO)是一种基于粒子群优化算法(PSO)的改进算法,在优化问题中具有较高的收敛速度和全局搜索能力。
PSO算法是一种基于群体智能的优化算法,模拟了鸟群觅食的行为,通过不断调整粒子的速度和位置来实现优化目标的搜索。
而MPSO算法则通过引入变异操作,增强了算法的探索能力,提高了其在复杂优化问题中的表现。
MPSO算法的核心思想是在PSO算法的基础上引入变异操作,以增加算法的多样性和全局搜索能力。
在传统PSO算法中,粒子的位置和速度是通过当前位置和历史最优位置的线性组合来更新的,而MPSO 算法则在此基础上引入了变异因子,使得粒子的更新不再局限于历史最优位置,而是在一定范围内进行随机扰动,从而增加了算法的多样性,有利于跳出局部最优解,更好地搜索全局最优解。
MPSO算法在实际应用中取得了良好的效果,尤其在复杂的高维优化问题中表现突出。
由于引入了变异操作,MPSO算法能够更好地避免陷入局部最优解,有着更强的全局搜索能力。
同时,MPSO算法也保
留了PSO算法的收敛速度优势,使得算法能够在较短的时间内找到较优解,具有较高的计算效率。
除此之外,MPSO算法还具有较好的鲁棒性和稳定性,对算法参数的选择要求不高,适用于各种不同类型的优化问题。
在实际工程和科学研究中,MPSO算法已被广泛应用于机器学习、图像处理、电力系统优化等领域,并取得了良好的效果。
总的来说,MPSO算法作为PSO算法的改进版本,具有较高的全局搜索能力、较快的收敛速度和良好的鲁棒性,适用于各种复杂的优化问题。
随着科学技术的不断发展,MPSO算法有望在更多领域得到应用,并为实际问题的求解提供更有效的方法。
粒子群算法优化模糊 pid
模糊 PID 控制器是一种基于模糊逻辑的 PID 控制器,它结合了传统 PID 控制器和模糊控制的优点,可以更好地适应复杂的非线性系统。
粒子群算法是一种启发式全局优化算法,通过粒子间的合作与竞争来寻找最优解。
在模糊 PID 控制器的设计中,PID 参数的选择对控制器的性能有着重要的影响。
传统的 PID 参数整定方法往往需要依赖经验或者试错,而粒子群算法可以用于优化模糊 PID 控制器的参数,以提高控制器的性能。
具体来说,可以将模糊 PID 控制器的参数作为粒子群算法的搜索空间,通过粒子群算法的迭代来寻找最优的参数组合。
在粒子群算法中,每个粒子代表一个候选的参数组合,粒子的位置和速度可以根据粒子的历史最优位置和全局最优位置进行更新。
在优化过程中,可以通过模糊规则来调整 PID 参数的取值范围,以保证控制器的稳定性和鲁棒性。
同时,可以使用适应度函数来评价控制器的性能,以指导粒子群算法的搜索方向。
总的来说,使用粒子群算法优化模糊 PID 控制器的参数可以提高控制器的性能和自适应能力,是一种有效的方法。
粒子群算法解决实际问题
粒子群算法(Particle Swarm Optimization, PSO)是一种基于群
体智能的优化算法,该算法模拟了鸟群或鱼群等群体在搜索目标
时的行为。
粒子群算法可以用于解决各种实际问题,包括优化问题、机器学习、图像处理等方面。
在优化问题中,粒子群算法能够帮助寻找最优解。
该算法通过
模拟粒子在搜索空间中的移动来寻找最优解。
每个粒子表示搜索
空间中的一个解,并根据其自身的当前位置和速度进行更新。
粒
子利用个体经验和群体经验进行搜索,以逐渐靠近最优解。
通过
多次迭代,粒子群算法能够逐渐收敛到最优解,从而解决实际问题。
在机器学习领域,粒子群算法可以应用于特征选择、参数优化
等问题。
例如,在特征选择中,粒子群算法可以从原始特征集中
选择出最优的特征子集,以提高机器学习模型的性能和效果。
在
参数优化中,粒子群算法可以搜索参数空间,以找到最优参数组合,从而优化机器学习模型的表现。
在图像处理中,粒子群算法可以用于图像分割、图像去噪等任务。
例如,在图像分割中,粒子群算法可以对图像进行聚类,将
不同区域的像素归类到不同的群体中,从而实现图像分割的目标。
在图像去噪中,粒子群算法可以通过参数调整和优化,使得模型
能够更好地去除图像中的噪声,提高图像的质量和清晰度。
粒子群算法是一种有效的解决实际问题的算法。
其在优化问题、机器学习和图像处理等领域都有广泛的应用。
通过模拟群体智能
行为,粒子群算法能够通过多次迭代逐渐搜索到最优解,从而实
现问题的优化和解决。
权重粒子群优化算法一、算法原理权重粒子群优化算法是在传统粒子群优化算法的基础上进行改进的。
粒子群优化算法是一种模拟鸟群觅食行为的优化算法,通过模拟鸟群中个体之间的协作与竞争,寻找全局最优解。
在传统粒子群优化算法中,粒子的速度和位置是在整个搜索空间内随机生成的。
权重粒子群优化算法引入了权重因子的概念,通过给每个粒子分配一个权重因子,使得粒子在搜索过程中更关注特定的目标。
具体而言,权重因子可以看作是粒子对目标的关注程度,越大表示越关注该目标。
在每次更新粒子速度和位置时,权重因子会影响粒子的速度更新方向和距离。
通过调整权重因子的大小,可以在多目标优化问题中实现不同目标之间的权衡和平衡。
二、算法步骤权重粒子群优化算法的步骤如下:1. 初始化粒子群:随机生成一定数量的粒子,并给每个粒子分配一个初始位置和速度。
2. 计算适应度:根据问题的具体情况,计算每个粒子的适应度值。
3. 更新粒子速度和位置:根据粒子群中最优解和全局最优解,更新每个粒子的速度和位置。
4. 更新权重因子:根据问题的要求,调整每个粒子的权重因子。
5. 判断终止条件:根据设定的终止条件,判断是否满足终止条件。
如果满足,则算法结束;否则,返回第3步继续迭代。
6. 输出结果:输出最优解及其对应的适应度值。
三、算法应用权重粒子群优化算法在多目标优化问题中具有广泛的应用。
例如,在工程设计中,往往需要考虑多个目标,如成本、质量、效率等。
传统的优化方法难以同时满足这些目标,而权重粒子群优化算法可以通过调整权重因子,找到一组最优解,使得在各个目标上达到平衡。
权重粒子群优化算法还可以应用于图像处理、数据挖掘、机器学习等领域。
在图像处理中,可以通过调整权重因子,实现对图像的亮度、对比度等多个目标的优化。
在数据挖掘和机器学习中,可以利用权重粒子群优化算法找到最优的特征子集,以提高模型的性能和泛化能力。
四、算法优势相比传统的优化算法,权重粒子群优化算法具有以下优势:1. 处理多目标问题:权重粒子群优化算法通过引入权重因子,能够有效地处理多目标优化问题,找到一组全局最优解。
自适应粒子群优化算法自适应粒子群优化算法(Adaptive Particle Swarm Optimization,简称APSO)是一种基于粒子群优化算法(Particle Swarm Optimization,简称PSO)的改进算法。
PSO算法是一种群体智能优化算法,模拟鸟群觅食行为来求解优化问题。
与传统PSO算法相比,APSO算法在粒子个体的位置和速度更新方面进行了优化,增强了算法的鲁棒性和全局能力。
APSO算法的关键改进之一是引入自适应策略来调整个体的速度和位置更新。
传统PSO算法中,个体的速度与当前速度和历史最优位置有关。
而在APSO算法中,个体的速度与自适应权重有关,该权重能够自动调整以适应不同的空间和优化问题。
自适应权重的调整基于个体的历史最优位置和整个粒子群的全局最优位置。
在每次迭代中,根据粒子群的全局情况来动态调整权重,使得速度的更新更加灵活和可靠。
另一个关键改进是引入自适应的惯性因子(inertia weight)来调整粒子的速度。
传统PSO算法中,惯性因子是一个常数,控制了速度的更新。
在APSO算法中,惯性因子根据粒子群的性能和进程进行自适应调整。
对于空间广阔、优化问题复杂的情况,惯性因子较大以促进全局;对于空间狭窄、优化问题简单的情况,惯性因子较小以促进局部。
通过调整惯性因子,粒子的速度和位置更新更具有灵活性和针对性,可以更好地适应不同的优化问题。
此外,APSO算法还引入了自适应的局域半径(search range)来控制粒子的范围。
传统PSO算法中,粒子的范围是固定的,很容易陷入局部最优解。
而在APSO算法中,根据全局最优位置和当前最优位置的距离进行自适应调整,当距离较大时,范围增加;当距离较小时,范围减小。
通过自适应调整范围,可以提高算法的全局能力,减少陷入局部最优解的风险。
综上所述,自适应粒子群优化算法(APSO)是一种改进的PSO算法,通过引入自适应策略来调整个体的速度和位置更新,增强了算法的鲁棒性和全局能力。
基于粒子群优化算法的路径规划研究摘要:路径规划在许多领域具有重要的应用价值,例如交通运输、机器人导航等。
粒子群优化算法(Particle Swarm Optimization,PSO)作为一种智能优化算法,可用于解决路径规划问题。
本文通过研究基于粒子群优化算法的路径规划,探讨了其在不同应用场景下的优化效果,并对其原理和算法流程进行了详细描述。
实验结果表明,基于粒子群优化算法的路径规划能够有效地寻找最优路径,并在实际应用中取得良好的效果。
1. 引言路径规划是一个经典的求解问题,涉及到如何在给定的环境中找到从起点到目标点的最优路径。
传统的路径规划算法如Dijkstra算法、A*算法、最小生成树等,虽然在某些情况下能够得到较好的结果,但在处理复杂环境和大规模问题时效率较低。
为了克服这些问题,智能优化算法逐渐被应用于路径规划问题的研究中。
2. 粒子群优化算法粒子群优化算法是一种基于社会行为的群体智能优化算法,灵感来源于鸟群、鱼群等群体协同行为。
算法的基本思想是通过模拟鸟群中个体的行为,寻找最优解。
粒子群优化算法通过改变粒子的速度和位置进行搜索,并通过个体最好值和群体最好值进行更新,最终找到全局最优解。
3. 基于粒子群优化算法的路径规划模型基于粒子群优化算法的路径规划模型主要包括问题的建模和目标函数的定义。
问题建模是将路径规划问题转化为数学模型,通常表示为一个图,其中节点表示路径上的位置,边表示两个位置之间的连接关系。
目标函数用于评估路径的质量,可以根据实际需求确定。
在模型中,通过使用粒子群优化算法来搜索最优路径。
4. 算法流程基于粒子群优化算法的路径规划算法流程包括以下几个步骤:- 初始化粒子群,包括粒子的位置和速度。
- 计算粒子适应度,在路径规划中可以使用目标函数进行评估。
- 通过比较当前粒子的适应度和个体最优值,更新个体最优值。
- 通过比较当前粒子的适应度和群体最优值,更新群体最优值。
- 更新粒子的速度和位置,以寻找更优的解。
改进的粒子群算法对电力系统的无功优化发表时间:2018-10-17T10:03:44.973Z 来源:《电力设备》2018年第19期作者:陈志君贾燕冰[导读] 摘要:由于电力系统无功优化问题具有多变量、非线性等特点,针对基本粒子群算法容易陷入局部最优解,本文提出了改进的方法,通过动态调节惯性权重w和改进位置更新策略,可以较好的平衡全局寻优能力和局部搜索能力,将改进后的粒子群算法应用于电力系统无功优化问题中,更好的解决无功优化问题。
(太原理工大学,电气与动力工程学院太原 030000)摘要:由于电力系统无功优化问题具有多变量、非线性等特点,针对基本粒子群算法容易陷入局部最优解,本文提出了改进的方法,通过动态调节惯性权重w和改进位置更新策略,可以较好的平衡全局寻优能力和局部搜索能力,将改进后的粒子群算法应用于电力系统无功优化问题中,更好的解决无功优化问题。
关键词:粒子群算法;无功优化;有功网损电力系统无功优化是指在满足系统的负荷要求和各种运行约束的前提下,通过选择合理的发电机端电压、变压器的分接头档位和无功补偿设备的投切容量等措施,使电力系统潮流分布平衡和线路的有功损耗达到最小,这对于提高电力系统的经济性、可靠性、保证电网安全有着重要作用。
粒子群算法有容易实现、需要调节的参数少等优点,但传统的算法存在易限于局部极值和后期收敛速度慢的问题,本文将改进后的粒子群算法应用于无功优化问题中,并进行仿真计算,来证明改进后的算法在全局搜索能力和寻优效率方面具有优势。
1 无功优化数学模型1.1目标函数无功优化的目标函数一般包括以下几种:电网有功网损最小;电压质量最好;无功补偿设备投入最小。
本文选择有功网损最小为无功优化的目标函数,综合电网中节点电压和发电机无功越界情况,对目标函数进行构造,形式为:(1)(1)式中:F表示目标函数值,表示电网中总的有功网损,和表示越界的惩罚系数,,,,分别表示发电机节点i的无功出力、无功越界值、无功出力上限值和无功出力下限值;,,,分别表示PV节点i的电压值、电压越界值、电压上限值和电压下限值。
基于代理模型的粒子群优化算法粒子群优化算法(Particle Swarm Optimization,PSO)是一种
基于代理模型的全局优化算法,它模拟了鸟群或鱼群等动物的群体行为,通过不断地搜索更新“粒子”(即代理)的位置和速度,最终找
到全局最优解。
PSO算法的基本思想是将一组代理(粒子)随机初始化在解空间中,然后根据其当前的位置和速度,通过一定的策略调整其移动方向和速率,使得其逐渐向全局最优解的方向移动。
在这个过程中,对于每个
代理的当前位置,会根据某种评价函数给出对应的适应度值,帮助粒
子调整自身状态,进而实现全局优化。
PSO算法的优点在于其较为简单的实现和高效的搜索能力。
同时,它还可以应用于很多领域,例如:神经网络、模糊控制、信号处理等。
在实际应用中,必须根据具体问题进行相应的参数调整及优化,
才可以获得不错的优化结果。
此外,为了增加算法的鲁棒性和稳定性,通常还需要引入一些特殊的策略,例如:惯性权重、差分进化、混沌
算法等。
总之,基于代理模型的粒子群优化算法是一种非常有指导意义的
算法,在实际求解问题时可以试用,并且应针对具体问题进行优化。
基于粒子群算法的多目标优化问题研究1.引言多目标优化问题是现代工程设计和决策中经常遇到的问题之一,因为现实中往往需要优化多个目标。
传统的单目标优化问题只考虑一个目标函数,因此无法很好地解决多目标优化问题。
粒子群算法(Particle Swarm Optimization,PSO)是一种启发式优化算法,它已经广泛应用于多个领域中的优化问题。
本文将介绍粒子群算法以及基于粒子群算法的多目标优化问题研究。
2.粒子群算法原理粒子群算法是一种通过模拟自然界中鸟群或鱼群等生物群体行为来进行优化的算法,该算法由Eberhart和Kennedy在1995年提出。
粒子群算法将优化问题看作是在一个多维空间中的搜索问题,将解空间中的每一个可能的解看作一个粒子,各个粒子按照一定规则进行搜索,不断更新粒子位置和速度来寻找全局最优解。
在粒子群算法中,每个粒子都有位置和速度两个向量,位置向量表示当前的解,速度向量表示粒子的移动方向和速度大小。
在搜索过程中,每个粒子会记录自己目前找到的最优解,而全局最优解则是所有粒子的最优解中的最优解。
搜索过程中,粒子按照自身的最优解和全局最优解来调整速度和位置,以期望找到某个局部最优解,最终在搜索过程结束时得到全局最优解。
3.基于粒子群算法的多目标优化问题研究多目标优化问题需要同时优化多个目标函数,这些目标函数往往是相互矛盾的,因此需要找到一组解,这些解可以尽可能地满足多个目标函数的要求。
本章将介绍基于粒子群算法的多目标优化问题研究的方法。
3.1 基本方法在基于粒子群算法的多目标优化问题研究中,最常用的方法是多目标粒子群算法(Multi-objective Particle Swarm Optimization,MOPSO)。
该算法通过对粒子速度和位置的调整,以期望找到多个目标函数的 Pareto 前沿(Pareto Front),并从中选择最优解。
MOPSO 算法中,每个粒子的位置和速度向量都需要根据多个目标函数来计算。
第二章粒子群优化算法粒子群优化(PSO)是一种基于群体智能的数值优化算法,由社会心理学家James Kennedy和电气工程师Russell Eberhart于1995年提出。
自PSO诞生以来,它在许多方面都得到了改进,这一部分将介绍基本的粒子群优化算法原理和过程。
2.1粒子群优化粒子群优化(PSO)是一种群智能算法,其灵感来自于鸟类的群集或鱼群学习,用于解决许多科学和工程领域中出现的非线性、非凸性或组合优化问题。
图1 Russel Eberhart和James Kennedy2.1.1算法思想许多鸟类都是群居性的,并由各种原因形成不同的鸟群。
鸟群可能大小不同,出现在不同的季节,甚至可能由群体中可以很好合作的不同物种组成。
更多的眼睛和耳朵意味着有更多的及时发现食物和捕食者的机会。
鸟群在许多方面对其成员的生存总是有益的:觅食:社会生物学家E.O. Wilson说,至少在理论上,群体中的个体成员可以从其他成员在寻找食物过程中的发现和先前的经验中获益[1]。
如果一群鸟的食物来源是相同的,那么某些种类的鸟就会以一种非竞争的方式聚集在一起。
这样,更多的鸟类就能利用其他鸟类对食物位置的发现。
抵御捕食者:鸟群在保护自己免受捕食者侵害方面有很多优势。
◆更多的耳朵和眼睛意味着更多的机会发现捕食者或任何其他潜在的危险;◆一群鸟可能会通过围攻或敏捷的飞行来迷惑或压制捕食者;◆在群体中,互相间的警告可以减少任何一只鸟的危险。
空气动力学:当鸟类成群飞行时,它们经常把自己排成特定的形状或队形。
鸟群中鸟的数量不同,每只鸟煽动翅膀时产生不同的气流,这都会导致变化的风型,这些队形会充分利用不同的分型,从而使得飞行中的鸟类能够以最节能的方式利用周围的空气。
粒子群算法的发展需要模拟鸟群的一些优点,然而,为了了解群体智能和粒子群优化的一个重要性质,值得提一下是鸟群的一些缺点。
当鸟类成群结队时,也会给它们带来一些风险。
更多的耳朵和眼睛意味着更多的翅膀和嘴,这导致更多的噪音和运动。
基于粒子群优化算法的车辆调度优化研究车辆调度问题在物流领域中具有重要的意义。
随着物流业的发展和技术的进步,对车辆调度的要求越来越高。
粒子群优化算法作为一种基于群体智能的优化算法,已被广泛应用于车辆调度优化问题中。
本文旨在研究基于粒子群优化算法的车辆调度优化方法,并对其进行探讨。
首先,我们对车辆调度问题进行形式化描述。
车辆调度问题可以简单地定义为在给定的时间段内,将若干车辆分配到若干任务上,并满足一定的约束条件,使得车辆的总成本最小化。
其中,任务之间可能存在时间窗口约束、车辆容量约束以及任务执行顺序约束等。
车辆调度问题通常是一个NP-hard问题,在实际应用中,往往需要采用启发式算法进行求解。
粒子群优化算法是模拟鸟群觅食行为的一种群体智能优化算法。
其基本思想是通过模拟鸟群中个体之间的信息交流和合作,以寻找最优解。
粒子群优化算法的核心是将解空间中的潜在解看作粒子,通过不断更新粒子的速度和位置,使得粒子向全局最优解逼近。
在基于粒子群优化算法的车辆调度优化方法中,首先需要将车辆调度问题转化为一个数学模型。
常用的数学模型包括路径表示法、时间窗表示法和随机Google地图表示法等。
其中,路径表示法将车辆和任务集合之间的关系表示为一条路径,时间窗表示法将任务的时间窗口和服务时间等因素纳入考虑,而随机Google地图表示法则通过获取实时路况数据进行车辆调度。
接下来,我们将车辆调度问题转化为粒子群优化算法的优化问题。
粒子群优化算法的目标是寻找最小化或最大化目标函数的最优解。
在车辆调度问题中,我们可以将总成本作为目标函数,考虑车辆的行驶里程、时间窗口约束、车辆容量约束以及任务执行顺序等因素。
通过不断更新粒子的速度和位置,使得粒子向全局最优解逼近,从而得到最优的车辆调度方案。
在实际应用中,还需要考虑一些改进和优化的方法。
一方面,可以引入局部搜索机制,加快粒子的收敛速度。
局部搜索机制使得粒子在搜索过程中更容易找到局部最优解,并以此为基础进一步探索全局最优解。
一种改进的粒子群优化算法武燕Wu Yan;张冰Zhang Bing(江苏科技大学电子信息学院,镇江212003)(School of Electronics and Information,Jiangsu University of Science and Technology,Zhenjiang 212003,China)摘要:介绍基本粒子群优化算法的原理、特点,并在此基础上提出了一种改进的粒子群算法。
通过在粒子初始化时引入相对基的原理使粒子获得更好的初始解,以及在迭代过程中引入变异模型,部分粒子生成相对应的扩张及收缩粒子,比较其适应度,保留最佳粒子进行后期迭代,使算法易跳出局部最优。
通过经典函数的测试结果表明,新算法的全局搜索能力有了显著提高,并且能够有效避免早熟问题。
Abstract: This paper introduces the principles and characteristics of Particle Swarm Optimization algorithm,and puts forward an improved particle swarm optimization algorithm. It adopted Opposition-Based Learning in initialization to get a better solution and adopted variation model which make some particles generate two corresponding shrink and expand particles and keep the best fitness particle iterate in later iteration to avoid getting into local minumum. The experimental results of classical function show this algorithm improves the global convergence ability and efficiently prevents the algorithm from the local optimization and early maturation.关键词:粒子群优化算法;相对基;变异模型Key words: Particle Swarm Optimization(PSO);Opposition-Based Learning;variation model中图分类号:TP301.6 文献标识码:A 文章编号:1006-4311(2011)07-0161-020 引言粒子群优化算法(Particle Swarm Optimization,PSO)是一种新型的仿生算法,由Kennedy和Eberhart于1995年提出[1,2]。
该算法是基于群体智能(Swarm I ntelligence,SI)的优化算法,其功能与遗传算法(Genetic Algorithm,GA)非常相似[3]。
PSO优化算法因其需要调节的参数少,具有简单且易于实现的优点,因此越来越多地被应用于函数优化、神经网络训练、模式分类以及其他领域[4]。
但是,其数学基础不完善,实现技术不规范,在适应度函数选取、参数设置、收敛理论等方面还存在许多需要深入研究的问题。
本文主要是介绍PSO算法原理和特点,并在此基础上提出一种改进的PSO算法,并用测试函数对其进行验证。
1 粒子群算法的基本原理和特点1.1 算法原理粒子群优化算法的基本概念是源于对鸟群捕食行为的模仿研究,人们从鸟群捕食过程当中得到启示,并用于解决优化问题。
在PSO算法中,每个优化问题的解都是搜索空间中一个粒子。
所有的粒子都有一个由被优化的函数决定的适应度值,每个粒子还有一个速度(v)决定它们飞行的方向和距离。
PSO初始化为一群随机粒子,然后粒子根据当前的最优粒子在解空间中搜索最优解。
在每一次迭代中,粒子都是通过跟踪两个“极值”来更新自己,一是就是粒子自身找到的最优解,称个体极值(pbest);另一个极值是整个群体找到的最优解,称全局极值(gbest)。
如果粒子的群体规模为M,目标搜索空间为D维,则第i(i=1,2,…,M)个粒子的位置可表示为Xi,它所经过的“最好”位置记为pi,速度用Vi表示,群体中“最好”粒子的位置的位置记为pg表示,那么粒子i将根据下面的公式来更新自己的速度和位置:(2) 其中,d=1,2,…D,c1,c2为大于零的学习因子或称作加速系数;r1和r2是[0,1]上的随机数;ω(t)是Shi提出的ω线性递减的模型,即。
其中,ωmax和ωmin分别是惯性权重的最大和最小值,iter[5]是最大迭代次数,iter是当前迭代次数,这样则可以保证在算法开始时,各微粒能以较大的速度步长在全局范围内探测到较好的结果;在搜索后期,较小的ω值则能保证微粒在极点周围做精细的搜索,从而使算法有较大的几率以一定精度收敛于全局最优值。
1.2 算法特点虽然PSO的功能与遗传算法极其类似,但存在如下显著的优点:无交叉和变异运算,仅依靠粒子速度完成搜索空间;有记忆性,每个粒子和群体的历史最优位置可以记忆并传递给其他粒子,而且需要调整的参数少,结构简单,易于实现;跟遗传算法采用的二进制编码不同,PSO采用实数编码,直接由问题的解决定,问题解的变量数作为粒子的维数;收敛速度快,在迭代过程中只有最优的粒子把信息传递给其他粒子,属于单向的信息流动,整个搜索更新过程是跟随当前最优解的寻优迭代过程。
2 PSO算法的改进PSO算法虽然推出的时间不长,但有着许多的改进方法,一般而言都是在局部最优搜索问题及速度更新问题上。
本文根据PSO算法的特点,在初始化以及迭代过程中作了一些改进,提出了一种基于相对基初始化及变异模型的PSO算法(OBC-PSO)。
2.1 相对基初始化相对基学习(Opposition-Based Learning)是Tizhoosh于2005年提出的一种新的机器学习算法[6]。
它的主要思想是:在求解优化问题时,同时考察一个可行解和它的相对解,通过评价他们的优劣来获得较优的候选解。
一般来说,在对解无任何先验知识的情况下,通常我们是采用随机法初始化群体。
本文将相对基学习嵌入到PSO算法中,通过同时评价一个可行解及其相对解的优劣,以获得较优的初始候选解,从而提高收敛速度。
具体方法如下:①随机生成均匀分布的初始群体X=X i,V i i=1,2,…,N;②计算相对群体OX:分别对X中的每个粒子按(3)、(4)式计算其相对粒子(包括位置和速度),构成相对群体OX=OX i,OV i i=1,2,…,N;ox id=L d+U d-x id(3)ov id=V min d+V max d-v id(4)其中L d和U d分别表示第d维分量取值范围的上下界x id∈L d,U d;每个粒子的速度限制在区间V min d,V max d内,一般地,V min d=-V max d且V max d=0.1U d-L d;③最后根据个体适应度值从X和OX中选择N个粒子作为初始种群X0=X o i,V0i i=1,2,…,N(5)在对待求的实际问题无先验知识的情况下,利用相对基思想可以获得更优的初始候选解,提高算法的效率。
2.2 变异模型PSO算法在后期迭代过程中比较容易陷入局部最优,针对这一问题,本文引入了变异模型。
为了加快搜索速度,发生变异的对象,不仅是处于历史全局最优位置的一个粒子,而是所有与最优点适应度相等的粒子。
以该粒子为中心扩张及收缩出两个粒子,比较这三个粒子的适应度值,保留最优者进行下轮迭代,使算法不易陷入局部最优。
所谓扩张(收缩)是指粒子向前(后)推移并保持运动方向不变,而运动粒子在空间中发生了扩张(收缩)性的变化。
例如粒子在三维空间中从点A(1,1,1)到B(2,2,2)生了带有强制性的扩张。
相应的位置变化公式为:x(i+1)=x(i)+x(i),本文中采用的为:x(i+1)=x(i)+a*x(i),其中a=±2,为变异因子。
变异模型具有以下的特性:强制性:即粒子被强行向前(后)推移;不变性:被强行向前推移的粒子飞行方向不变;变异性:即粒子保持运动方向不变而各个维数的值发生成倍的扩大或缩小;同一性:即各个维数的值同时并统一发生成倍的扩大或缩小;有效性:为了提高粒子子的有效性,粒子的位置被最大位置和最小位置限制。
2.3 算法流程①相对基初始化所有的粒子(群体规模为M)。
在允许范围内随机设置粒子的初始位置、速度、pbest和gbest。
②评价每个粒子的适应值。
计算每个粒子的目标函数,如果优于pbest,则pbest被当前位置替换;如果所有粒子的pbest中有优于gbest的,则置为新的gbest。
③根据公式(3)和(4)调整粒子的速度和位置,检查速度和位置是否在允许范围之内,如果不在,将二者调整到允许范围之内。
如果适应度值与最优点适应度相等,则对粒子进行变异。
④检查终止条件,如果达到最大迭代次数就终止,否则回到步骤(2)。
3 仿真研究与分析为了测试OBC-PSO算法的优化性能,本文使用下面四个测试函数进行仿真研究,并将OBC-PSO与基本PSO、随机粒子群(SPSO)算法[7]、MPSO[8]进行对比分析。
次数2000,每种算法各运行50次。
各个测试函数分别采用PSO、SPSO、MPSO和OBC-PSO进行优化过程的曲线如图1~图4。
由图1~图4可知,和基本PSO、SPSO、MPSO相比,OBC-PSO在寻优前期花费相对较多的时间在探索新的搜索空间,因此在后期可以有效提高收敛精度。
为了进一步验证OBC-PSO算法的优化性能,对上述实例的结果进行了定量的分析,结果见表1。
从表1可以看出,算法OBC-PSO优化结果的平均值明显低于其余三种算法,这说明OBC-PSO的优化能力得到了较大的增强。
同时,新算法优化结果的标准差基本为0,也明显低于其余三种算法的标准差,说明该改进的粒子群优化算法每次的优化结果变化很小,优化性能更加稳定。
4 结论针对粒子群优化算法易于陷入局部最优,且收敛精度不高,提出了一种新型的基于相对基初始化以及变异模型的粒子群优化算法。
该算法不仅保持PSO容易实现的特点,而且收敛速度快、精度高。
通过基准测试函数的实验结果表明了该算法的有效性和优良性能。
参考文献:[1]SHI Yu-hui,EBERHART R.Parameter selection in particle swarmoptimization[A].Evolutionary Programming VII:Proceedings of El98[c].New York:Springer-Verlag,1998.591-600.[2]SHI Yu-hui,EBERHART R.Empirical study of particle swarmoptimization[A].Proceedings of the IEEE Congress on Evolutionary Computation (CEC 1999)[C].New Jersey:IEEE Press,1999.1945-1950.[3]Goldberg D.Genetic algorithms in search,optimization,and machinelearning[A].Boston:Addison-Wesley,1989.[4]EBERHART R,SHI Yu-hui.Particle swarm optimization:devel-opments,applications and resources[A].Proceeding Congress on Evolutionary Computation[C].Seoul:IEEE Press,2001.81-86.[5]SHI Yu-hui,EBERHART R.A modified particle swarm optimizer[A]. Proceedings of the IEEE International Conference on Evolutionary Computation,Anchorage,1998,69-73.[6]TIZHOOSH H R.Opposition-based learning:a new scheme for machineintelligence[C].Int.Conf.on Computational Intelligence for Modeling Control and Automation-CIMCA 2005.Vienna,Austria,2005,(1):695-701.[7]曾建潮,崔志华.一种保证全局收敛的PSO算法[J].计算机研究与发展,2004,41(8):1333-1338.[8]袁代林,程世娟,陈虬.一种新形式的微粒群算法[J].计算机工程与应用,2008,44(33):57-59.作者简介:武燕(1986-),女,江苏常州人,硕士研究生,主要研究方向为问信号处理理论与技术;张冰(1967-),女,江苏无锡人,博士,教授,硕士研究生导师,主要研究方向为控制理论与控制工程,信号与信息处理,智能控制。