基于收缩因子的改进粒子群算法

基于收缩因子的改进粒子群算法
基于收缩因子的改进粒子群算法

基于收缩因子的改进粒子群算法

陈国鸿

(河池学院计算机与信息科学系广西河池 546300)

摘要:针对基本粒子群优化算法(ParticleSwarmOptimization,简称PSO )存在的早熟收敛问题,提出了一种既保持粒子活性又保证粒子快速收敛于全局极值点的改进粒子群优化(XARPSO)算法。在算法运行过程中,如果种群多样性逐步减小,直至超出下限时,种群不再向整体最优位置靠近,而是纷纷远离该最优位置,从而执行了“扩散”操作,而当种群多样性逐步增大,直至超出上限时,种群又开始向整体最优位置靠拢,即执行了“吸引”操作,从而保持了粒子的多样性。同时,该方法引入收缩因子的概念,即通过正确选择惯性权重系数与加速常数即学习因子这些控制参数的值的方法,确保算法收敛。通过Goldstern-Price 函数的最小化测试结果表明,该算法不仅具有较快的收敛速度,而且能够更有效地进行全局搜索。

关键词:粒子算法;收缩因子;吸引;扩散;多峰值函数

引言

粒子群算法最早是在1995年由美国社会心理学家James Kennedy和电气工程师Russell Eberhart共同提出的,简称PSO算法。其基本思想是受他们早期对许多鸟类的群体行为进行建模与仿真研究结果的启发。粒子群算法与其他进化类算法一样,也是一类基于群智能的随机优化算法。但与其它进化计算方法相比, PSO算法具有收敛速度快、设置参数少、程序实现异常简洁、具有深刻的智能背景等特点,既适合科学研究,又特别适合工程应用。因此PSO算法一经提出就引起了国际上相关领域众多学者的关注和研究。目前PSO 算法已广泛应用于函数寻优、神经网络训练、模式分类、模糊系统控制以及其它的应用领域。但是,由于PSO算法在优化过程中所有粒子都向最优解方向飞去,所以粒子趋向同一化,群体的多样性逐渐丧失,即存在早收敛问题,因而也就难以获得较好的优化结果。

为了克服这一缺点,近年来出现了不少改进的PSO算法。如:Shi Y.(1998)提出的带惯性权重的PSO算法、Angeline P.(1999)提出

的杂交粒子群混合PSO 算法、Clerc M.(1999)提出的带约束因子的PSO 算法、Suganthan P.(1999)提出的带有领域因子的PSO 算法、Shi Y.(2001)提出的模糊自适应惯性权重的PSO 算法、Van (2001)提出的协同PSO 算法、Natsuki (2003)提出的具有高斯变异的PSO 算法、Sun J.(2004)提出的具有量子行为的PSO 算法等。这些改进的PSO 算法各有优缺点。

本文提出一种既保持粒子活性又保证粒子快速收敛于全局极值点的改进PSO 算法(XARPSO 算法)。该算法描述了一种通过选择惯性权重系数w 与加速常数1C 、2C 的值的方法以确保算法收敛,并引入“吸引”和“扩散”两个算子,动态地调整“勘探”与“开发”比例,从而能更好的提高算法效率。测试表明,该改进PSO 算法在搜索能力方面和收敛速率方面都得到很大的提高。

1 基本粒子群算法

美国的James Kennedy 和Russell 受鸟群觅食行为的启发,提出了PSO 算法。PSO 算法求解优化问题时,问题的解就是搜索空间中的一只鸟的位置,称这些鸟为“粒子”。所有的粒子都有一个被优化函数决定的适应值和一个决定它们飞翔方向与距离的速度。在优化过程中,每个粒子记忆、追随当前的最优粒子,在解空间中进行搜索。PSO 算法初始化为一群随机粒子(随机候选解),然后通过迭代找到最优解。在每一次迭代过程中,粒子通过追逐两个极值来更新自己的位置。一个是粒子自身所找到的当前最优解,这个解称为个体极值pbest ;另 一个是整个群体当前找到的最优解,这个解称为全局极值gbest 。PSO 算法数学表示如下:

设i X =(1i X ,2i X ,……,in X )为粒子i 的当前位置;i V =(1i V ,2i V ,……,in V )为粒子i 的当前飞行速度;i P (t )=(1i P ,2i P ,……,in P )为粒子i 所经历的最好位置,也就是粒子i 所经历过的具有最好适应值的位置,称为个体最好位置。对于最小化问题,目标函数值越小,对应的适应值越好。整个粒子群搜索到的最优位置为g P (t )=(1g P ,2g P ,……,gn P ),称为全局最好位置。则基本粒子群算法的进化方程可描述为:

ij V (t+1)=ij V (t)+11j c r (t)(ij P (t)-ij X (t)+22j c r (t)(gj P (t)-ij X (t))

(2.1)

(1)()(1)ij ij ij X t X t V t +=++ (2.2)

其中:下标“j ”表示粒子的第j 维,“i ”表示粒子i ,t 表示第t 代,1C 、2C 为加速常数,通常在0~2间取值,1r ∪(0,1),2r ∪(0,

1)为两个相互独立的随机函数。

从上述粒子进化方程可以看出,1C 调节粒子飞向自身最好位置方向的步长,2C 调节粒子向全局最好位置飞行的步长。为了减少在进化过程中,粒子离开搜索空间的可能性,ij V 通常限定于一定范围内,即ij V ∈[-Vmax,Vmax]。如果问题的搜索空间限定在[-Xmax ,Xmax]内,则可设定Vmax=k 〃Xmax ,0.1≦k ≦1.0。

基本粒子群算法的初始化过程为:

1)设定群体规模N ;

2)对任意i ,j 在[-Xmax,Xmax]内服从均匀分布产生ij X ;

3)对任意i ,j 在[-Vmax,Vmax]内服从均匀分布产生ij V ;

4)对任意i ,设i i y x =。

算法流程如下:

(1)依照初始化过程,对微利群的随机位置和速度进行初始化设定;

(2)计算每个粒子的适应值;

(3)对于每个粒子,将其适应值与所经历过的最好位置i P 的适应值进行比较,若较好,则将其作为当前的最好位置;

(4)对于每个粒子,将其适应值与全局所经历的最好位置g P 的适应值进行比较,若较好,则将其作为当前的全局最好位置;

(5)根据粒子群的进化方程对粒子的速度和位置进行进化;

(6)如未达到结束条件通常为足够好的适应值或达到一个预设最大代数,则返回步骤(2)。

2 基于收缩因子的改进粒子群算法

为了避免粒子群算法所存在的过早收敛问题及使粒子快速收敛于全局最优解,本文引入了收缩因子与“吸引”和“扩散”两个算子使粒子群保持了多样性并具有更好的收敛率。该算法的速度进化方程为:

i V (t+1)=χ(i V (t)+dir(1C 1r (i P -i X (t)+ 2C 2r (g P -i X (t)))) (3.1) 其中:

1,(0)..()1,(0)..()low high if dir and diversity d dir if dir and diversity d ->?

(3.2) 并且提出了种群多样性函数:

||11()||||S i diversity S S L ==?? (3.3)

其中,S 为种群,|S|为种群所含粒子的个数,|L|为搜索空间的最长半径,N 为问题的维数,ij P 为第i 个粒子的第j 个分量。在算法运行过程中,如果种群多样性函数满足diversity (S )

同时,这里,

χ= (3.4)

且 =1C +2C , >4,设1C =2C =2.05,将 =1C +2C =4.1代入(3.4),得出χ=0.7298并代入方程式(3.1),结果为:

i V (t+1)=0.7298 (i V (t)+dir(2.05×1r (i P -i X (t))+ 2.05×2r (g P -i X (t)))) (3.5)

因为2.05×0.7298=1.4962,所以这个方程式与在基本PSO 算法的速率更新方程式使用1C =2C =1.4962和W=0.7298所得到的方程式是等价的。

3 算法测试

3.1实验设置

为了比较改进粒子群算法与基本粒子群算法的性能,本文使用如公式(4.1)所示Goldstern-Price 函数的最小化问题进行测试。

22211211212222212112122()[1(1)(191431463)]

[30(23)(183212483627)]f x x x x x x x x x x x x x x x x x =+++-+-++?+--++-+(4.1)

-2≤12,2x x ≤

在基本PSO 算法中,W 从 1.0到0.4随进化而线性减少,C1=C2=1.8。在该改进PSO 算法中通过收缩因子确定W=0.7298,C1=C2=1.4962。分别对两种算法进行了50次仿真计算,群体规模为20,最大进化代数为500。

3.2实验结果与分析

实验结果如下表1所示。实验结果表明改进的PSO 算法的收敛精度远远超过了基本PSO 算法,效果明显优于基本PSO 算法,并迅速收敛到全局最优解附近。

表1仿真实验结果比较

算法

误差 平均收敛代数 收敛次数/运行次数 基本PSO

0.0001 156.8 50/50 改进PSO

0.0001 38.4 47/50

4 结束语

本文针对基本粒子群优化算法PSO 存在的早熟收敛问题,提出了一种既保持粒子活性又保证粒子快速收敛于全局极值点的改进粒子群优化(XARPSO )算法。通过对Goldstern-Price 函数的最小化问题进行测试,表明该算法不仅具有较快的收敛率,而且能够更有效地进行全局搜索,并快速的收敛于全局最优解。同时也显示了改进算法的健壮性。该改进算法弥补了单纯引入“吸引”和“扩散”两个算子所存在的在低维及低迭代次数时算法效率低的缺陷,并在一定程度上解决了单纯引入收缩因子所存在的对一些测试函数的求解过程中在给定的迭代次数内无法达到全局极值点的问题。

参考文献:

[1] Kennedy J,Eberhart R C.Particle Swarm Optimization [C]//Proc IEEE International Conference on Neural Networks ,Ⅳ.Piscataway,NJ: IEEE Service Center,1995: 1942-1948

[2] 易云飞,吴启明,唐凤仙.一种基于复合形粒子群算法的改进k-means 聚类算法[J].软

件导刊.2008,7(10):46-47

[3] 覃俊,易云飞,李林.改进k均值聚类算法在网络入侵检测中的应用研究[J].中南民族

大学学报(自然科学版).2008,3(27):75-78

[4] 徐杰,黄德先.基于混合粒子群算法的多目标车辆路径研究[J].计算机集成制造系

统.2007,13(3):573-579

[5] 沈显君,王伟武,郑波尽,李元香.基于改进的微粒群优化算法的0-1背包问题求解[J].

计算机工程.2006,32(18):23-24

[6] 杨勋,王江晴.求解聚类问题的混合PSO算法设计[J].微电子学与计算机.2007,24(10):

43-45

[7] 曾建潮,介婧,崔志华.微粒群算法[M].北京:科学出版社.2004

[8] 熊伟丽,徐保国,吴晓鹏等.带变异算子的改进粒子群算法研究.博士论坛.2006

[9] 熊磊.粒子群算法在离散优化问题中的研究.硕士学位论文.2006

[10] 寇保华,杨涛,张晓今等.基于交叉变异的混合粒子群优化算法[J].计算机工程与应用.

2007,43(17):85-88

[11] 史海军,王志刚,郭广寒.引入变异算子的粒子群优化算法[J].长春理工大学学报(自

然科学版).2007,30(3):81-83

[12] 王波,李瑞涛,王灿林等.一种改进的变异粒子群算法研究[J].军械工程学院学报.2006,18(3):50-53

(附录打印页)

(证明材料粘贴处)

改进的粒子群优化算法

第37卷第4期河北工业大学学报2008年8月V ol.37No.4JOURNAL OF HEBEI UNIVERSITY OF TECHNOLOGY August2008 文章编号:1008-2373(2008)04-0055-05 改进的粒子群优化算法 宋洁,董永峰,侯向丹,杨彦卿 (河北工业大学计算机科学与软件学院,天津300401) 摘要粒子群优化算法是一种基于群体的自适应搜索优化算法,存在后期收敛慢、搜索精度低、容易陷入局部极 小等缺点,为此提出了一种改进的粒子群优化算法,从初始解和搜索精度两个方面进行了改进,提高了算法的计 算精度,改善了算法收敛性,很大程度上避免了算法陷入局部极小.对经典函数测试计算,验证了算法的有效性. 关键词粒子群优化算法;均匀化;变量搜索;初始解;搜索精度 中图分类号TP391文献标识码A A Modified Particle Swarm Optimization Algorithm SONG Jie,DONG Yong-feng,HOU Xiang-dan,Y ANG Yan-qing (School of Computer Science and Engineering,Hebei University of Technology,Tianjin300401,China) Abstract Particle Swarm Optimization Algorithm is a kind of auto-adapted search optimization based on community. But the standard particle swarm optimization is used resulting in slow after convergence,low search precision and easily leading to local minimum.A new Particle Swarm Optimization algorithm is proposed to improve from the initial solution and the search precision.The obtained results showed the algorithm computation precision and the astringency are im- proved,and local minimum is avoided.The experimental results of classic functions show that the improved PSO is ef- ficient and feasible. Key words PSO;average;variable search;initial solution;search accuracy 0引言 粒子群优化(Particle Swarm Optimization,PSO)算法是一种基于群体的随机优化技术,最早在1995年由美国社会心理学家James Kennedy和电气工程师Russell Eberhart[1]共同提出,基本思想源于对鸟群觅食行为的研究.PSO将每个可能产生的解都表述为群中的一个微粒,每个微粒都具有自己的位置向量和速度向量,和一个由目标函数决定的适应度,通过类似梯度下降算法使各粒子向适应度函数值最高的方向群游.该算法控制参数少、程序相对简单,因此在应用领域表现出了很大的优越性.由于PSO算法容易理解、易于实现,所以PSO算法发展很快.目前,多种PSO改进算法已广泛应用于函数优化、神经网络训练、模式识别、模糊系统控制以及其他的应用领域. 许多学者对PSO算法进行研究,发现其容易出现早熟、最优解附近收敛慢等现象,并提出了一些改进方案,例如自适应PSO算法、混合PSO算法、杂交PSO算法等[2-4].因此,本文从初始解和收敛精度两个角度出发对PSO算法进行了改进,提高了算法的计算精度,有效的改善了算法的优化性能. 1基本PSO算法 PSO算法是一种基于群体的随机优化技术,基本思想源于对鸟群觅食行为的研究.通过对鸟群飞行时经常会突然改变方向、散开、聚集,但整体总保持一致性,个体与个体间鸟群好像在一个中心的控制 收稿日期:2008-04-17 基金项目:河北省自然科学基金(F2006000109) 作者简介:宋洁(1967-),女(汉族),副教授.

基于粒子群优化算法的图像分割

安康学院 学年论文(设计) 题目_____________________________________________ 学生姓名_______________ 学号_____________________________ 所在院(系)_______________________________________ 专业班级__________________________________________________ 指导教师_____________________________________________ 年月曰

基于粒子群优化算法的图像分割 (作者:) () 指导教师: 【摘要】本文通过对粒子群优化算法的研究,采用Java编程,设计出一套用于图像分割的系统。 基于粒子群优化算法的图像分割系统,可以将一幅给定的图像进行分割,然后将分割结果保存。图像分割的目的是将感兴趣的区域从图像中分割出来,从而为计算机视觉的后续处理提供依据。图像分割的方法有多种,阈值法因其实现简单而成为一种有效的图像分割方法。而粒子群优化(PSO)算法是一类随机全局优化技术,它通过粒子间的相互作用发现复杂搜索空间中的最优区域缩短寻找阈值的时间。因此,基于粒子群优化算法的图像分割以粒子群优化算法为寻优工具,建立具有自适应和鲁棒性的分割方法。从而可以在最短的时间内,准确地确定分割阈值。 关键词:粒子群优化(PSO,图像分割,阈值法,鲁棒性 Abstract T his paper based on the particle swarm optimizati on algorithm, desig ns a set of system for image segme ntati on using Java program min g. Image segme ntati on system based on particle swarm optimizati on algorithm, the image can be a given segmentation, and then the segmentation results would be saved. Image segmentation is the purpose of the interested area from the image, thus providing the basis for the subsequent processing of computer vision. There are many methods of image segmentation, threshold method since its simple realization, becomes a kind of effective method in image segmentation. Particle swarm optimization (PSO) algorithm is a stochastic global optimization technique; it finds optimal regions of complex search spaces for threshold time shorte ned through the in teractio n betwee n particles. Therefore, particle swarm optimization algorithm of image segmentation based on particle swarm optimization algorithm based on optimizati on tools; establish segme ntati on method with adaptive and robust. Therefore, it is possible for us in the shortest possible time to accurately determ ine the segme ntati on threshold. Key word s: PSO, image segmentation, threshold method, robust. 1引言 1.1研究的背景和意义 技术的不断向前发展,人们越来越多地利用计算机来获取和处理视觉图像信息。据统计,人类

一种改进的粒子群优化算法

一种改进的粒子群优化算法 发表时间:2011-04-08T10:15:21.830Z 来源:《价值工程》2011年第3月上旬作者:武燕张冰[导读] 介绍基本粒子群优化算法的原理、特点,并在此基础上提出了一种改进的粒子群算法。 武燕 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-02 0 引言 粒子群优化算法(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)

基于改进粒子群算法的优化策略

收稿日期:2009-12-13 基金项目:国家自然科学基金资助项目(60674021) 作者简介:卢 峰(1982-),男,辽宁抚顺人,东北大学博士研究生;高立群(1949-),男,辽宁沈阳人,东北大学教授,博士生导师 第32卷第9期2011年9月东北大学学报(自然科学版)Journal of Northeastern U niversity(Natural Science)Vol 32,No.9Sep.2011 基于改进粒子群算法的优化策略 卢 峰,高立群 (东北大学信息科学与工程学院,辽宁沈阳 110819) 摘 要:为提高传统粒子群算法的搜索速度和搜索精度,提出了一种改进的自适应粒子群优化算法 将正则变化函数和慢变函数引入传统位置更新和速度更新公式当中,形成两种新的更新机制:搜索算子和开发算子 在算法运行的初始阶段,种群中大部分个体将按照搜索算子进行更新,搜索算子将有助于种群遍历整个解空间;随着迭代次数的增加,按照搜索算子进行更新的个体将逐渐减少,而按照开发算子进行更新的个体将逐渐增多,开发算子将有效地克服陷入局部最优解的问题 通过典型测试函数的仿真实验,新算法在加快收敛速度同时,提高了算法的全局搜索能力 关 键 词:进化算法;粒子群算法;全局优化;慢变函数;自适应 中图分类号:T G 273 文献标志码:A 文章编号:1005 3026(2011)09 01221 04 Novel Optimization Mechanism Based on Improved Particle Swarm Optimization L U Feng ,GAO L i qun (School of Information Science &Engineering,Northeaster n U niv ersity,Shenyang 110819,China.Corresponding author :LU F eng,E mail:feng.lu.lf @g https://www.360docs.net/doc/bf2643448.html,) Abstract :To accelerate searching speed and optimization accuracy of traditional PSO,an improved particle swarm optimization (PSO )algorithm w as presented.Regularly vary ing function and slow ly varying function were introduced in the position and velocity update formula.New mechanisms such as explorative operator and exploitative operator are formulated.At the beginning,most elements will be updated by explorative operator in the entire search space sufficiently.Within the iterations,more and more particles w ill be handled by ex ploitative operator,which are useful to overcome the deceptions of multiple local optima.It can be seen from the simulation results of the standard benchm ark test functions that the proposed algorithm not only accelerates the convergence process,but also improves g lobal optim ization ability. Key words:evolutionary algorithms;particle sw arm optimization;global optimization;slow ly v arying function;self adaptive 20世纪90年代初,产生了模拟自然生物群体行为的优化方法,被称为群智能优化方法 Dorigo 等人通过模拟蚂蚁的寻径行为,提出了蚁群优化算法(ant colony optimization)[1] ;Eberhart 等人基于对鸟群、鱼群的模拟,提出了粒子群优化算法(particle sw arm optim ization )[2] 作为一种群智能优化方法的代表,粒子群算法通过个体间的协作来寻找最优解,每个个体都被赋予一个随机速度并在整个解空间中搜索,通 过个体之间的合作与竞争来实现个体进化 由于粒子群优化算法运算简单,易于实现,具有良好的解决非线性、不可微和多峰值复杂优化问题的能力,已被广泛应用于科学和工程实际领域[3-5] 但是,粒子群优化算法是根据全体粒子和自身的搜索经验向着最优解的方向进化,在进化后期收敛速度将变得缓慢,同时算法在收敛到一定精度时,容易陷入停滞,无法继续进化更新,因此,存在早熟和陷入局部极值点的现象

基于MATLAB的粒子群优化算法的应用示例

对于函数f=x*sin(x)*cos(2*x)-2*x*sin(3*x),求其在区间[0,20]上该函数的最大值。 ?初始化种群 已知位置限制[0,20],由于一维问题较为简单,因此可以取初始种群N 为50,迭代次数为100,当然空间维数d 也就是1。 位置和速度的初始化即在位置和速度限制内随机生成一个N×d 的矩阵,对于此题,位置初始化也就是在0~20内随机生成一个50×1的数据矩阵,而对于速度则不用考虑约束,一般直接在0~1内随机生成一个50×1的数据矩阵。 此处的位置约束也可以理解为位置限制,而速度限制是保证粒子步长不超限制的,一般设置速度限制为[-1,1]。 粒子群的另一个特点就是记录每个个体的历史最优和种群的历史最优,因此而二者对应的最优位置和最优值也需要初始化。其中每个个体的历史最优位置可以先初始化为当前位置,而种群的历史最优位置则可初始化为原点。对于最优值,如果求最大值则初始化为负无穷,相反地初始化为正无穷。 每次搜寻都需要将当前的适应度和最优解同历史的记录值进行对比,如果超过历史最优值,则更新个体和种群的历史最优位置和最优解。 ?速度与位置的更新

速度和位置更新是粒子群算法的核心,其原理表达式和更新方式如下: 每次更新完速度和位置都需要考虑速度和位置的限制,需要将其限制在规定范围内,此处仅举出一个常规方法,即将超约束的数据约束到边界(当位置或者速度超出初始化限制时,将其拉回靠近的边界处)。当然,你不用担心他会停住不动,因为每个粒子还有惯性和其他两个参数的影响。 代码如下: clc;clear;close all; %% 初始化种群 f= @(x)x .* sin(x) .* cos(2 * x) - 2 * x .* sin(3 * x); % 函数表达式figure(1);ezplot(f,[0,0.01,20]); N = 50; % 初始种群个数 d = 1; % 空间维数 ger = 100; % 最大迭代次数 limit = [0, 20]; % 设置位置参数限制 vlimit = [-1, 1]; % 设置速度限制 w = 0.8; % 惯性权重 c1 = 0.5; % 自我学习因子 c2 = 0.5; % 群体学习因子 for i = 1:d

标准粒子群算法(PSO)及其Matlab程序和常见改进算法

一、粒子群算法概述 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由Eberhart 博士和kennedy博士提出,源于对鸟群捕食的行为研究。该算法最初是受到飞鸟集群活动的规律性启发,进而利用群体智能建立的一个简化模型。粒子群算法在对动物集群活动行为观察基础上,利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得最优解。 PSO中,每个优化问题的解都是搜索空间中的一只鸟。我们称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值(fitness value),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。 PSO 初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个”极值”来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest。另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。 二、算法原理 粒子群算法采用常数学习因子,及惯性权重,粒子根据如下的公式更新自己的速度和位置。 V ki=ωk V i?1i+c1r1(Q bi?Q k?1i)+c2r2(Q bg?Q k?1i)Q ki=Q k?1i+V ki 三、算法步骤 1、随机初始化种群中各微粒的位置和速度; 2、评价个粒子的适应度,将各粒子的位置和适应度储存在各微粒的pbest(Q bi)中,将所有pbest中适应度最优的个体的位置和适应度存储在gbest(Q bg)中。 3、更新粒子的速度和位移。 V ki=ωk V i?1i+c1r1(Q bi?Q k?1i)+c2r2(Q bg?Q k?1i)Q ki=Q k?1i+V ki 4、对每个微粒,与其前一个最优位置比较,如果较好,则将其作为当前的最优位置。 5、比较当前所有的pbest和上一迭代周期的gbest,更新gbest。 6、若满足停止条件(达到要求精度或迭代次数),搜索停止,输出结果,否则,返回2。

粒子群算法解决函数优化问题

粒子群算法解决函数优化问题 1、群智能算法研究背景 粒子群优化算法(Particle Swarm Optimization,PSO)是由Kennedy 和Eberhart 在研究鸟类和鱼类的群体行为基础上于1995 年提出的一种群智能算法,其思想来源于人工生命和演化计算理论,模仿鸟群飞行觅食行为,通过鸟集体协作使群体达到优。 PSO算法作为一种新的群智能算法,可用于解决大量非线性、不可微和多峰值的复杂函数优化问题,并已广泛应用于科学和工程领域,如函数优化、神经网络训练、经济调度、模式识别与分类、结构设计、电磁场和任务调度等工程优化问题等。 PSO算法从提出到进一步发展,仅仅经历了十几年的时间,算法的理论基础还很薄弱,自身也存在着收敛速度慢和早熟的缺陷。如何加快粒子群算法的收敛速度和避免出现早熟收敛,一直是大多数研究者关注的重点。因此,对粒子群算法的分析改进不仅具有理论意义,而且具有一定的实际应用价值。 2、国内外研究现状 对PSO算法中惯性权重的改进:Poli等人在速度更新公式中引入惯性权重来更好的控制收敛和探索,形成了当前的标准PSO算法。 研究人员进行了大量的研究工作,先后提出了线性递减权值( LDIW)策略、模糊惯性权值( FIW) 策略和随机惯性权值( RIW) 策略。其中,FIW 策略需要专家知识建立模糊规则,实现难度较大,RIW 策略被用于求解动态系统,LDIW策略相对简单且收敛速度快, 任子晖,王坚于2009 年,又提出了基于聚焦距离变化率的自适应惯性权重PSO算法。 郑春颖和郑全弟等人,提出了基于试探的变步长自适应粒子群算

法。这些改进的PSO算法既保持了搜索速度快的特点, 又提高了全局搜索的能力。 对PSO算法的行为和收敛性的分析:1999 年采用代数方法对几种典型PSO算法的运行轨迹进行了分析,给出了保证收敛的参数选择范围。在收敛性方面Fransvan den Bergh引用Solis和Wets关于随机性算法的收敛准则,证明了标准PSO算法不能收敛于全局优解,甚至于局部优解;证明了保证收敛的PSO算法能够收敛于局部优解,而不能保证收敛于全局优解。 国内的学者:2006 年,刘洪波和王秀坤等人对粒子群优化算法的收敛性进行分析,指出它在满足收敛性的前提下种群多样性趋于减小,粒子将会因速度降低而失去继续搜索可行解的能力,提出混沌粒子群优化算法。 2008 年,黄翀鹏和熊伟丽等人分析惯性权值因子大小对PSO算法收敛性所带来的影响,对粒子群算法进行了改进。2009 年,高浩和冷文浩等人,分析了速度因子对微粒群算法影响,提出了一种基于Gaussian 变异全局收敛的粒子群算法。并证明了它能以概率 1 收敛到全局优解。 2010 年,为提高粒子群算法的收敛性,提出了基于动力系统的稳定性理论,对惯性权重粒子群模型的收敛性进行了分析,提出了使得在算法模型群模型收敛条件下的惯性权重和加速系数的参数约束关系,使算法在收敛性方面具有显著优越性。在PSO算法中嵌入别的算法的思想和技术。 1997年,李兵和蒋慰孙提出混沌优化方法; 1998年,Angeline在PSO算法中引入遗传算法中的选择算子,该算法虽然加快了算法的收敛速度,但同时也使算法陷入局部优的概率大增,特别是在优化Griewank 基准函数的优值时得到的结果不理想; 2004 年,高鹰和谢胜利将混沌寻优思想引入到粒子群优化算法中,首先对当前群体中的优粒子进行混沌寻优, 再用混沌寻优的结果随机替换群体中的一个粒子,这样提出另一种混沌粒子群优化算法。

一种新的改进粒子群算法研究

一种新的改进粒子群算法研究 马金玲,唐普英 电子科技大学光电信息学院,成都 (610054) E-mail:majinling2006@https://www.360docs.net/doc/bf2643448.html, 摘 要:研究粒子群优化算法(PSO)的收敛速度,以提高该算法性能是PSO的一个重要而且有意义的研究。Jun Sun 等人通过对PSO系统下的单个个体在量子多维空间的运动及其收敛性的分析,提出了具有δ函数形式的粒子群算法(Quantum Delta-Potential-Well-based PSO)。论文在此基础上提出了改进型算法(IQDPSO),用粒子的速度来产生一个随机数引导粒子向最优解快速靠拢,并对速度的处理采取了新的策略。仿真结果表明:该改进算法较原算法在收敛速度上有很好的改善,而且稳定性也较好。 关键词:粒子群优化算法,量子行为,量子机理 中图分类号: TP301.6 1. 引言 粒子群优化算法(PSO)是近年来被广泛关注和研究的一种智能优化算法,最初由Kennedy和Eberhart于1995年提出并成功地应用于函数优化,后来又进行了有效的拓展。它是对鸟群觅食过程和集聚的模拟[1],是一种全局优化算法。其基本的表达式为 v t+1= v t +c1·r1(P t - x t) + c2·r2(P g - x t) (1) x t+1 = x t + v t+1(2)其中,r1 ,r2是介于(0,1)之间的随机数;c1、c2均是正常数;P g是全局最优解;P t是当前代的个体粒子最优解;x t是当前代粒子的位置;v t是当前代粒子的速度。经典PSO算法的粒子就是根据以上两式来更新自己的位置和速度,寻求最优解。 后来Shi 等人又提出了惯性权重的方法[2]和用模糊控制器来动态自适应地改变惯性权重的技术[3],以提高算法的收敛速度。Clerc 等人提出了压缩因子法[4],以控制系统行为最终收敛。随后又有很多学者从各个角度提出了改进型算法,这些改进的算法虽然解决了一些实际应用问题,但大部分却牺牲了粒子群算法简单、易实现的特性,并且大大增加了计算量。这对要求快速找到最优解的问题显然是不适用的。所以探索在不增加计算量的情况下,能够更好的解决实际问题的粒子群算法,是一个值得研究的课题。Jun Sun等人提出的具有δ函数形式的粒子群算法就很好的保持了粒子群算法的特性[5]。文中的算法就是该算法的改进(IQDPSO):用个体粒子的速度产生一个引导该粒子向最优解靠拢的随机数,但是只有当前代个体粒子的适应值不如前一代时,才更新粒子的速度。仿真结果显示:该改进算法在收敛率上有很大的提升,并且稳定性也近乎完美。 2. QDPSO算法 该算法改变了经典PSO的粒子更新策略。文献[5]认为,在PSO系统下的个体粒子如果具有量子行为,那么此粒子将会与经典PSO算法中的粒子以截然不同的方式运行。根据传统的牛顿力学机制,经典PSO算法中的每一个粒子的状态都是由它的速度向量和位置向量来描述的,粒子移动的过程形成了一个确定的运动“轨迹”。文献[5]的作者认为,这个所谓的“轨迹”对具有量子机理的粒子已经没有意义了。因为粒子的速度向量和位置向量不能再依据“不确定原理”被同时确定了。所以文献[5]在保持了PSO算法原理下,提出了QDPSO (Quantum Delta-Potential-Well-based PSO)算法。该算法只用了粒子的位置向量,并且是用

浅谈粒子群算法改进方法

浅谈粒子群算法改进方法 【摘要】本文介绍了粒子群算法的基本概念及粒子群算法的训练过程,分别从基本进入、改变惯性因子、改变收缩因子三个方面对其进行优化改进。 【关键词】粒子群;进化方程;惯性因子;收缩因子 1.粒子群算法综述 二十世纪九十年代,美国的社会心理学家James Kennedy和电气工程师Russell通过对自然界的鸟群进行觅食的行为进行观察和研究,提出了模仿鸟群行为的新型群体智能算法——粒子群(Particle Swarm Optimization,PSO)算法。 粒子群算法与其它进化类算法十分相似,同样也是采用“群体”与“进化”的概念,同样也是依据粒子的适应值大小进行操作。而与之不同的是,粒子群算法不像其它进化算法那样,对于每个个体使用进化算子,而是将每个个体看作是在一个n维搜索空间中的没有重量没有体积的微粒,并在搜索空间中以一定的速度进行飞行。该飞行速度这个个体的飞行经验和群体的飞行经验来进行动态的调整。 2.粒子群算法实现的步骤 这里将基本粒子群算法的训练过程描述如下: (1)首先将初始化方程作为依据,将该粒子群体的随机位置和速度进行初始化设置; (2)计算粒子群中每个粒子的适应度值; (3)将该粒子群中每个粒子的适应值与其经历过的最好位置Pi的适应值进行比较,如果好,将它作为当前的最好位置; (4)将该粒子群体中每个粒子的适应值与所有粒子经历的最好位置Pg的适应值进行比较,如果好,将它作为当前的全局最好位置; (5)以粒子群进化方程为依据,进化粒子的速度及位置; (6)如果没有达到设置的结束条件或达到一个设置的最大迭代次数,则返回到第二步,否则结束。 3.粒子群算法进化方程的改进 3.1 基本粒子群算法进化方程的分析

粒子群算法常用改进方法总结

粒群算法的改进方法 一.与其他理论结合的改进 1.协同PSO(CPSO)算法 原理:提出了协同PSO的基本思想,采用沿不同分量划分子群体的原则,即用N个相互独立的微粒群分别在D维的目标搜索空间中的不同维度方向上进行搜索。 优点:用局部学习策略,比基本PSO算法更容易跳出局部极值,达到较高的收敛精度. 缺点:此算法在迭代初期,适应值下降缓慢,且其收敛速度与种群所含微粒数目成反比. 2.随机PSO(SPSO)算法 原理:其基本思想是利用停止进化的微粒来改善全局搜索能力。即将式(1)中的当前速度项V过去掉,从而使得速度本身失去记忆性,减弱了全局搜索能力.但这样也使得在进化的每一代均至少有一个微 粒出予处于微粒群的历史最好位置而停止进化.然后在搜索空问中重新随机产生新的微粒以代替停止微粒的进一步进化.这样就大大增强了全局搜索麓力. 3.有拉伸功能的PSO算法 原理:为了有效地求解多模态复杂函数优化问题,Parsopoulos等人将函数“Stretching”技术引入PSO算法,形成了一种高效的全局优化算法一“Stretching PSO”(SPSO)。它通过消除不理想的局部极小而保留全局最小来避免陷入局部极小.在检测到目标函数的局部极小

点后,立即对待优化的目标函数进行拉伸变换. 优点:.SPSO具有稳健的收敛性和良好的搜索能力,在很多高维度,多局部极值的函数最小值的求解问题上,搜索成功率显著提高。 缺点:计算耗时相应地也会增加. 4.耗散PSO(DPSO)算法 原理:谢晓峰等人根据耗散结构的自组织性,提出了一种耗散型PSO 算法.耗散PSO算法构造了一个开放的耗散系统.微粒在开放系统中的“飞行”不只依赖于历史经历,还要受环境的影响.附加噪声从外部环境中,持续为微粒群弓|入负熵,使得系统处于远离平衡态的状态.又由于群体中存在内在的非线性相互作用,从而使群体能够不断进化。 二.与其他算法结合的改进 1.混合PSO(HPSO)算法 原理:Angeline于1998年提出采用进化计算中的选择操作的改进型PSO模型,成为混合PSO(HPSO)。 优点:HPSO提高了收敛速度并保持了一定的全局收敛能力 缺点:在解决超高维、非线性、多局部极值的复杂性优化问题时有些力不从心。 2.杂交PSO算法 原理:借鉴遗传算法的思想,Angelinec最早提出了杂交PSO算法的概念,而Lovbjerg等人进一步将进化计算机制应用于PSO算法,给出了算法交叉的具体形式。

基于粒子群优化算法的神经网络在

基于粒子群优化算法的神经网络在农药定量构效关系建模中的应用 张丽平 俞欢军3 陈德钊 胡上序 (浙江大学化工系,杭州310027) 摘 要 神经网络模型能有效模拟非线性输入输出关系,但其常规训练算法为BP 或其它梯度算法,导致训练时间较长且易陷入局部极小点。本实验探讨用粒子群优化算法训练神经网络,并应用到苯乙酰胺类农药的定量构效关系建模中,对未知化合物的活性进行预测来指导新药的设计和合成。仿真结果表明,粒子群优化算法训练的神经网络不仅收敛速度明显加快,而且其预报精度也得到了较大的提高。关键词 粒子群优化算法,神经网络,定量构效关系  2004201204收稿;2004207225接受 本文系国家自然科学基金资助项目(N o.20276063) 1 引 言 药物定量构效关系(QS AR )是研究药物生理活性和药物分子结构参数间的量变规律并建立相应的 数学模型,进而研究药物的作用机理,从而用于预测未知化合物的生物活性,探讨药物的作用机理,指导新药的设计和合成,在药物和农药的研究与设计中已经显示出广阔的应用前景1。以往QS AR 的建模方法大多基于统计原理,局限于线性模型,只进行简单的非线性处理,由此所建立的模型很难契合实际构效关系,并且其处理过程都比较繁琐2。神经网络通过学习将构效关系知识隐式分布在网络之中,适用于高度非线性体系。 在药物QS AR 中采用神经网络(NN )始于20世纪80年代末3,此后得到迅速的发展,目前已发展为除多重线性回归和多元数据分析之外的第3种方法4。通常多层前传网络采用BP 算法,通过误差反传,按梯度下降的方向调整权值。其缺点是可能陷入局部极小点,且对高维输入收敛速度非常缓慢。 粒子群优化算法(particle swarm optimization ,PS O )是K ennedy 等5源于对鸟群、鱼群和人类社会行为的研究而发展的一种新的进化型寻优技术。PS O 已成为进化寻优算法研究的热点,其最主要特点是简单、收敛速度快,且所需领域知识少。本实验拟将该方法初始化前传神经网络为苯乙酰胺类农药建立良好适用的QS AR 模型。 2 苯乙酰胺类农药的Q SAR 问题 苯乙酰胺类化合物是除草农药,其除草活性与其分子结构密切相关。所有的N 2(12甲基212苯乙基)苯乙酰胺都可用相应的羧酸酰胺通过霍夫曼反应生成。N 2(12甲基212苯乙基)苯乙酰胺的基本结构式为 : 其中X 为Me 、F 、Cl 、OMe 、CF 3和Br 等,Y 为Me 、Cl 、F 和Br 等,由不同的X 和Y 取代基可构成不同的化合物。常用以下7个理化参数描述化合物的分子组成和结构:log P 、log 2P (疏水性参数及其平方项)、 σ(电性效应参数)、E s (T aft 立体参数)、MR (摩尔折射度),1χ、2 χ(分子连接性指数)。于是这类化合物的QS AR 就转化为上述理化参数与除草活性间的关系。为研究这种关系,选用具有代表性的50个化合物, 他们的活性值取自文献1,见表1。 第32卷2004年12月分析化学(FE NXI H UAX UE ) 研究报告Chinese Journal of Analytical Chemistry 第12期1590~1594

基于收缩因子的改进粒子群算法

基于收缩因子的改进粒子群算法 陈国鸿 (河池学院计算机与信息科学系广西河池 546300) 摘要:针对基本粒子群优化算法(ParticleSwarmOptimization,简称PSO )存在的早熟收敛问题,提出了一种既保持粒子活性又保证粒子快速收敛于全局极值点的改进粒子群优化(XARPSO)算法。在算法运行过程中,如果种群多样性逐步减小,直至超出下限时,种群不再向整体最优位置靠近,而是纷纷远离该最优位置,从而执行了“扩散”操作,而当种群多样性逐步增大,直至超出上限时,种群又开始向整体最优位置靠拢,即执行了“吸引”操作,从而保持了粒子的多样性。同时,该方法引入收缩因子的概念,即通过正确选择惯性权重系数与加速常数即学习因子这些控制参数的值的方法,确保算法收敛。通过Goldstern-Price 函数的最小化测试结果表明,该算法不仅具有较快的收敛速度,而且能够更有效地进行全局搜索。 关键词:粒子算法;收缩因子;吸引;扩散;多峰值函数 引言 粒子群算法最早是在1995年由美国社会心理学家James Kennedy和电气工程师Russell Eberhart共同提出的,简称PSO算法。其基本思想是受他们早期对许多鸟类的群体行为进行建模与仿真研究结果的启发。粒子群算法与其他进化类算法一样,也是一类基于群智能的随机优化算法。但与其它进化计算方法相比, PSO算法具有收敛速度快、设置参数少、程序实现异常简洁、具有深刻的智能背景等特点,既适合科学研究,又特别适合工程应用。因此PSO算法一经提出就引起了国际上相关领域众多学者的关注和研究。目前PSO 算法已广泛应用于函数寻优、神经网络训练、模式分类、模糊系统控制以及其它的应用领域。但是,由于PSO算法在优化过程中所有粒子都向最优解方向飞去,所以粒子趋向同一化,群体的多样性逐渐丧失,即存在早收敛问题,因而也就难以获得较好的优化结果。 为了克服这一缺点,近年来出现了不少改进的PSO算法。如:Shi Y.(1998)提出的带惯性权重的PSO算法、Angeline P.(1999)提出

改进粒子群算法的目标函数变化分类动态优化

龙源期刊网 https://www.360docs.net/doc/bf2643448.html, 改进粒子群算法的目标函数变化分类动态优化 作者:苏玉孔国利 来源:《现代电子技术》2017年第07期 摘要:由于优化问题的目标函数和约束条件都随着时间而改变导致其最优值也发生改变,提出一种基于改进粒子群算法的目标函数变化分类动态优化算法。首先对动态优化问题进行定义,明确问题的研究对象,提出对目标函数随时间变化程度分类的思想,通过对变化的函数进行监测的方法将其分为剧烈变化、中等程度变化和弱变化三种类型,并针对不同的强度变化对粒子群算法采用不同的改进策略,最后将不同的策略融入计算。通过采用移动多峰问题进行测试,结果表明,提出的改进粒子群优化算法能监测目标函数变化,并能随时跟踪到最优解,平均离线误差相对于标准粒子群算法更小,性能更稳定。 关键词:粒子群算法;动态优化;目标函数时变分类;移动峰问题 中图分类号: TN911.1?34; TP301.6 文献标识码: A 文章编号: 1004?373X(2017)07?0175?04 Dynamic optimization of objective function changing classification based on improved particle swarm optimization SU Yu, KONG Guoli (College of Information Engineering, Zhongzhou University, Zhengzhou 450001,China) Abstract: The objective function and constraint condition for the optimization problem are changed with time, and may change its optimal value. A dynamic optimization of the objective function changing classification based on improved particle swarm optimization is proposed. The dynamic optimization problem is defined to determine the study object of the problem. The classification thought that the objective function is changed with the time varying degree is put forward. The varying function is divided into the types of drastic change, medium grade change and weak change with the monitoring method. Different strategies are adopted for the particle swarm optimization according to the different intensity changes, and integrated for computation. The algorithm was tested with the moving multi?peak problem. The test results show that the improved particle swarm optimization can monitor the changes of the objective function, track the optimal solution momentarily, its average offline error is smaller than that of the standard particle swarm optimization algorithm, and the performance is more stable.

相关文档
最新文档