混沌粒子群算法

2024-10-06

混沌粒子群算法(共11篇)

混沌粒子群算法 篇1

0 引言

粒子群优化算法[1,2,3,4]是基于大自然中鱼群、鸟群等群体生物的觅食活动的启发由美国心理学博士Kennedy和电气工程师Eberhart首次提出来的一种群体智能算法。由于它涉及的理论知识少、实现方式简单方便、执行效率高, 自问世以来已经受到了诸多研究者和研究机构的广泛关注。现今, 不同版本的改进粒子群算法已经被成功地应用到了自然科学和工程领域等问题中[5,6,7,8]。但粒子群算法和其它的元启发式算法类似, 存在粒子早熟收敛、全局搜索能力差等缺点。为此, 研究者们已经对标准粒子群算法进行了不同方式的改进。文献[9]将差分进化的基本思想引入标准粒子群算法中, 对算法的所有局部最优位置进行了选择、杂交、变异等操作, 高效地解决了算法搜索能力和开发能力之间的矛盾。文献[10]使得算法自适应地选择适合粒子的速度更新方式, 使得每一代的粒子可以根据需要适应不同的进化环境, 有助于算法解决不同性质的实际问题。

本文基于对标准粒子群算法的研究分析, 给出了两个粒子之间相似度值的概念, 根据种群中每个粒子与群体最优位置的相似度值, 动态非线性地调整每个粒子的惯性权重值, 使得算法更适应当前粒子的更新状态。并将混沌算子引入粒子群算法中, 改善了算法的全局寻优能力, 提出了一种基于惯性权重动态调整的混沌粒子群算法。

1 惯性权重动态调整的混沌粒子群算法

1.1 标准粒子群算法

在标准粒子群算法中, 群体中的所有粒子根据下面的二阶迭代方程来更新它们的速度和位置

1.2 基于相似度值动态非线性调整的惯性权重

在标准粒子群算法中, 当算法执行到后期时, 群体中粒子位置与群体最优位置之间的差异会越来越不明显, 如此下去, 种群中粒子的多样性会逐渐降低, 从而使得算法的全局搜索能力也逐步下降, 算法不能有效地寻找其它区域。为了改善算法的全局搜索和局部搜索能力, 这里给出了粒子与粒子之间相似度的定义, 并根据粒子之间的相似度值动态非线性地更新算法的惯性权重值。

定义:微粒群中粒子i与粒子j的相似度可以表述如下:

1.3 混沌算子

1.4 算法步骤

惯性权重动态调整的混沌粒子群优化算法具体描述如下:

Step 1 给定算法中种群的微粒个数ps 、最大迭代次数tmax等参数;

Step 2 随机初始化, 产生粒子的速度和位置, 并评价每个粒子的适应度值;

Step 3 确定每个粒子找到的个体最优位置和群体粒子找到的群体最优位置;

Step 4 按照式 (3) 计算每个粒子与群体最优粒子之间的相似度值, 并更新粒子的速度和位置;

Step 5 对粒子进行混沌搜索;

Step 6 判断算法给定的终止条件是否满足。若满足, 则输出全局最优解和全局最优值, 算法结束;否则返回Step4 继续迭代。

2 仿真实验

本文采用了如下4 个经典测试函数对算法性能进行测试:

为了验证本文提出算法的可行性和有效性, 我们在相同的实验条件下, 将本文算法 (DPSO) 与标准粒子群算法的寻优结果进行了比较, 实验结果如表1 所示。

从表中可以看出, 在四个测试函数上, DPSO算法在迭代次数为30 时就已经找到了全局最优点。而从最优值、最差值、均值和方差四个评价指标来说, 它都远远优于标准粒子群算法, 故该算法的鲁棒性较好。

为了更好的比较两种算法的性能, 测试了两种算法的平均收敛率和平均收敛代数, 实验结果表明, DPSO算法比PSO算法有明显的提高。

3 结论

本文鉴于标准粒子群算法的一些缺点, 提出了一种惯性权重动态调整的混沌粒子群算法。算法中根据粒子与群体最优粒子的相似度的大小对惯性权重进行了动态非线性调整, 并引入了混沌映射算子, 提高了算法的全局搜索能力。通过在4 个典型测试函数的实验分析可知, 提出的惯性权重动态调整的混沌粒子群算法, 无论在寻优速度上还是在全局寻优能力上都比标准粒子群算法有显著提高。它是一种可行且高效的粒子群算法的改进算法。

摘要:鉴于标准粒子群算法 (PSO) 有易陷入局部最优位置和全局搜索能力差等缺点, 给出了相似度的定义, 并根据群体中每个粒子与全局最优粒子的相似度值的大小, 动态非线性地更新每个粒子的惯性权重值。为了改善算法的全局搜索性能, 将混沌算子引入粒子群算法中。新算法在4个测试函数上与标准粒子群算法进行了比较, 结果表明新算法的性能更好。

关键词:粒子群算法,相似度值,混沌搜索

参考文献

[1]Zhang Yingnan, Teng Hongfei.Detecting particle swarm optimization[J].Concurrency and Computation Pratice and Experience, 2009, 21 (4) :449-473.

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

[3]黄文秀.粒子群优化算法的发展研究[J].软件, 2014, 35 (4) :73-77.

[4]洪蕾.粒子群及人工鱼群算法优化研究[J].软件, 2014, 35 (8) :83-86.

[5]Qi H, Niu C Y, Gong S, et al.Application of the hybrid particle swarm optimization algorithms for simultaneous estimation of multi-parameters in a transient conductionradiation problem[J].International Journal of Heat and Mass Transfer, 2015, 83:428-440.

[6]Vempati S R, Khan H, Pamula V K, et al.Multiuser Detection for DS-CDMA Systems over Generalized-K Fading Channels using Particle Swarm Optimization[J].Proceedings of ICETET, 2014, 29:30th.

[7]徐甜丽.基于粒子群算法的轨道电路补偿电容故障诊断方法[J].软件, 2014, 35 (1) :49-52.

[8]陈骁睿.基于改进粒子群算法的机位分配问题研究[J].软件, 2015, 36 (1) :72-76.

[9]段玉红, 高岳林.基于差分演化的粒子群算法[J].计算机仿真, 2009, 26 (6) :212-245.

[10]Li C, Yang S, Nguyen T T.A self-learning particle swarm optimizer for global optimization problems[J].Systems, Man, and Cybernetics, Part B:Cybernetics, IEEE Transactions on, 2012, 42 (3) :627-646.

[11]徐文星, 耿志强, 朱群雄, 顾祥柏.基于SQP局部搜索的混沌粒子群优化算法[J].控制与决策, 2012, 27 (4) :551-556.

混沌粒子群算法 篇2

粒子群优化算法PSO(Particle Swarm Optimization)是一类性能优越的寻优算法.但由于早熟问题,影响了算法性能的发挥.针对这一问题,引入粒子距离的概念,提出一种新的PSO改进方法(称为NA-PSO).通过求解组网雷达的系统偏差,表明了NA-PSO算法的`可行性,与对比方法相比较,能有效配准,且具有更好的收敛精度和更快的进化速度.

作 者:王波 李瑞涛 王灿林 朱丹 WANG Bo LI Rui-tao WANG Can-lin ZHU Dan 作者单位:王波,李瑞涛,王灿林,WANG Bo,LI Rui-tao,WANG Can-lin(海军航空工程学院,山东,烟台,624001)

朱丹,ZHU Dan(91550部队,辽宁,大连,116023)

混沌粒子群算法 篇3

关键词:粒子群算法;单目标;多目标;传递率;传递函数矩阵;无穷范数;状态反馈控制;控制力传递率

中图分类号:TU112.41文献标识码:A

单自由度、双自由度体系是研究设备振动隔离的主要模型方法,且隔振体系性能与隔振参数关系密切,选择合适的参数,能提高系统的隔振性能,如果参数选择不当,就会适得其反,所以隔振参数的优化研究显得非常必要.文献1将遗传算法与最大熵法结合,给出了两级隔振系统参数优化设计的一种混合方法;宋鹏金等2采用傅里叶变化法和直接积分法分别对时域函数和频域函数进行参数优化,提出了一种锻锤隔振参数优化的新方法;文献3根据超精密隔振器的内部结构和隔振系统的布置形式,建立了超精密隔振系统的动力学模型,并在此基础上推导出理论频响函数、进行了系统参数的辨识研究;LIU等4基于整星隔振体系进行了参数优化;ESMAILZADEH5采用梯度优化方法对汽车悬挂体系进行了隔振参数的优化研究;文献6提出了一种隔振参数线性变化的方法,主要通过刚度迟滞模型实现;刘春嵘等7基于反共振原理在小振幅假设下建立了两级浮筏系统的数学模型,并分析了隔振机理,推导出了力传递率的表达式.

作为新型的群智能算法——粒子群优化算法PSO自1995年提出以来,就因其简单、易实现、收敛快,可调参数少等优点得到了广泛应用8.由于传统粒子群算法的局限性,许多学者对其做出了改进.Shi9等提出了关于权重的线性调整策略,获得了满意的优化效果;李军等10在Shi的基础上提出了自适应权重变化策略,克服了传统粒子群算法寻优过程的早熟情况,能使粒子群算法达到局部最优及全局最优的平衡.Coello等首次提出了多目标粒子群优化算法MOPSO,掀开了多目标优化问题的新篇章,主要思想是通过Pareto最优解集决定粒子飞行方向以及在全局知识库中得到之前发现的非支配向量,以指导其它粒子飞行11.

状态反馈控制是振动控制领域的常用方法,通常包括线性二次型最优控制、极点配置控制、基于观测器的控制器等,由于实际问题的不确定性,鲁棒H2H

SymboleB@ 控制被提出并广泛应用 12.上述方法在机械、结构等振动控制领域中发挥了巨大作用,其实质是通过控制器产生基于输出的反馈控制力,以优化控制系统响应.

1粒子群算法

1.1标准粒子群算法

粒子群优化算法模型中,每一个粒子的自身状态都由一组位置和速度向量描述,分别表示问题的可行解和它在搜索空间中的运动方向.粒子通过不断学习它所发现的群体最优解和它在搜索空间中的运动方向,并不断更新它所发现的群体最优解和邻居最优解,从而实现全局最优解.粒子的速度和位置更新方程是PSO的核心,由式1表示:

1.3多目标粒子群算法

多目标粒子群算法的主要计算步骤如下所述:

Step1:初始化粒子群,计算各对应粒子的目标函数向量,将其中的非劣解加入到外部档案之中;

Setp2:初始化粒子的局部最优值pbest和全局最优值gbest;

Setp3:在搜索空间内,通过式1,2调整粒子的飞行速度和位置,形成新的pbest;

Step4:根据新的非劣解维护外部档案,并为每个粒子选取gbest档案的内容决定全局最优值的选取;

Step5:是否达到最大迭代次数,若否则继续计算,若是则停止计算,输出pareto最优解集及全局最优解.

多目标粒子群优化算法与单目标粒子群优化算法的主要区别就是全局最优解的选取方式及外部档案的设定和更新.需要着重指出的是,关于全局最优解的选取问题;对于多目标优化,直接计算会存在一组等价的最优解集,很难从每一次迭代中确定一个全局最优解.解决该问题最直接的方法即是利用Pareto支配的概念,考虑档案中的所有非劣解,并从中确定一个“主导者”,通常采用密度测量的方法来确定全局最优解.本文将采用基于粒子最近邻拥挤程度评判的最近邻密度估计方法

6结语

基于粒子群优化算法,以控制输出的传递率为目标函数,在单自由度、双自由度隔振体系传递率分析的基础上,分别进行了隔振参数的单目标和多目标优化设计研究.

传统的振动控制设计,往往是在已知隔振参数的情况下创新控制方法或者优化控制器,却忽略了隔振参数对控制系统的重要性,盲目地从控制角度优化体系,不仅容易造成控制能源浪费,还可能会引起系统响应发散.

我国《隔振设计规范》15仅对单自由度隔振体系的传递率等相关参数做了规定,事实上,本文研究表明,双自由度隔振体系更适用于常见的工程振动控制.本文亦为最优隔振体系设计及最优振动控制设计提供了新思路,对《隔振设计规范》接下来的修订工作具有指导意义.

参考文献

1 魏燕定,赖小波,陈定中,等. 两级振动隔振系统参数优化设计J.浙江大学学报,2006,405:893-896.

WEI Yanding, LAI Xiaobo, CHEN Dingzhong, et al. Optimal parameters design of twostage vibration isolation systemJ.Journal of Zhejiang University, 2006, 405:893-896.In Chinese

2宋鹏金,陈龙珠,严细水.锻锤隔振基础参数优化的新方法J.振动与冲击,2004,233:96-98.

SONG Pengjin, CHEN Longzhu. YAN Xishui. The new parameters optimization method of vibration isolation base of hammer J. Journal of Vibration and Shock, 2004, 233:96-98. In Chinese

3董卡卡,蒲华燕,徐振高,等. 超精密隔振系统的建模与参数辨识J.武汉理工大学学报,2013,31:126-128.

DONG Kaka, PU Huayan, XU Zhengao, et al. Modeling and parameter identification of the ultraprecision vibration isolation system J. Journal of Wuhan University of Technology, 2013, 31:126-128. In Chinese

4LIU L K, ZHENG G T. Parameter analysis of PAF for wholespacecraft vibration isolation J. Aerospace Science and Technology, 2007, 116: 464-472.

5ESMAILZADEH E. Design synthesis of a vehicle suspension system using multiparameter optimization J. Vehicle System Dynamics, 1978, 72: 83-96.

6ZHANG F, GRIGORIADIS K M, FIALHO I J. Linear parametervarying control for active vibration isolation systems with stiffness hysteresis J. Journal of Vibration and Control, 2009, 154: 527-547.

7刘春嵘,肖卫明,徐道临. 双层流体浮筏的隔振特性研究J.湖南大学学报:自然科学版,2013,401:43-48.

LIU Chunrong, XIAO Weiming, XU Daolin. Study of the vibration isolation of twodegreeoffreedom fluidtype floating raft J. Journal of Hunan University:Natural Sciences, 2013,401:43-48. In Chinese

8KENNEDY J, EBERHART R C. A new optimizer using particle swarm TheoryCProceedings of the Sixth International Symposium on IEEE.Micro Machine and Human Science, 1995: 39-43.

9SHI Y, EBERHART R C. A modified particle swarm optimizer CIEEE World Congress on Computational Intelligence.NewYork: IEEE,1998:69- 73.

10李军,许丽佳.一种带压缩因子的自适应权重粒子群算法 J.西南大学学报,2011,337: 118-120.

LI Jun, XU Lijia. Adaptive weight particle swarm optimization algorithm with construction coefficient J.Journal of Southwest University, 2011, 337: 118-120. In Chinese

11COELLO A C, LECHUGA, MOPSO M S: A proposal for multiple objective particle swarm optimizationC Proceedings of the 2002 Congress on IEEE.Evolutionary Computation, 2002, 2: 1051-1056.

12欧进萍.结构振动控制——主动、半主动和智能控制M. 北京:科学出版社,2003:61-68.

OU Jinping. Structure vibration controlactive, semiactive and smart controlM.Beijing: Science Press, 2003:61-68. In Chinese

13DEB K, PRATAP A, AGARWAL S, et al. A fast and elitist multiobjective genetic algorithm: NSGAII J. IEEE Transactions on Evolutionary Computation, 2002, 62: 182-197.

14GOLDBERG D E, RICHARDSON J. Genetic algorithms with sharing for multimodal function optimizationC Proceedings of the Second International Conference on Genetic Algorithms and Their Applications.Hillsdale, NJ: Lawrence Erlbaum, 1987: 41-49.

15GB 50463-2008 隔振设计规范S.北京:中国计划出版社,2008: 36-40.

混沌粒子群算法 篇4

混沌是存在于非线性系统中的一种较为普遍的现象.混沌运动宏观上无序无律, 具有内在的随机性、非周期性和局部不稳定性;微观上有序有律, 并不是完全的随机运动, 具有无穷嵌套的自相似几何结构、存在普适性规律, 并不是杂乱无章的.利用混沌运动的这些性质进行优化搜索能较好地避免粒子群算法陷入局部解.目前利用混沌优化的粒子群算法大都采用Logistic映射, 然而Logistic映射所产生的序列极不均匀, 因此较大地浪费了计算时间, 使得算法收敛速度慢.并行计算是实现高性能、高可用计算机的主要途径.采用并行方式, 将粒子群的追踪过程在各个相对独立的进程内完成, 能较大提高粒子收敛速度, 同时能保证各个种群的多样性, 不易陷入局部解.

1. BSP并行计算模型

BSP模型 (Bulk Synchroneous Parallel) 是由Valiant提出的“块”同步模型, 是一种分布存储的MIMD计算模型, 支持消息传递系统, 块内异步并行, 块间显式同步.

在BSP模型中, 计算由一系列全局同步分开的长度至少为L的超步组成.在每个超步中, 每个处理器均执行局部计算, 并通过网络接收和发送至多h条消息 (称为h-relation) , 然后作同步检查, 以确定该超步是否完成.在每个超步开始时, 处理器仅对已经有效的局部数据进行操作, 若数据未准备好, 则推迟到下一个超步开始时再进行计算.BSP模型主要由3个参数表示, 分别是:p为处理单元的数目;g为整个系统的计算能力与网络传送消息的通信能力的比值;L为路障同步时间.

2. 粒子群算法

2.1 标准粒子群算法

PSO初始化为一群随机粒子 (随机解) , 速度vi= (vi1, vi2, …, vid) 决定粒子在搜索空间单位迭代次数的位移, 其中第i个粒子在d维解空间的位置表示为xi= (xi1, xi2, …, xid) , 然后通过迭代找到最优解.在每一次迭代中, 粒子通过动态跟踪两个“极值”来更新其速度和位置, 第一个就是粒子本身所找到的最优解, 这个解叫做个体极值pi= (pi1, pi2, …, pid) , 另一个极值是整个种群目前找到的最优解, 这个极值是全局极值pg= (pi1, pi2, …, pid) .另外也可以不用整个种群而只是用其中一部分作为粒子的邻居, 那么在所有邻居中的极值就是局部极值.粒子在找到上述两个极值后, 就根据如下公式来更新其速度和位置:

其中c1, c2称为学习因子, 通常取c1=c2=2, rand1, rand2是均匀分布在0和1之间的随机函数, w是加权系数, 取值在0.1至0.9之间.

2.2 混沌粒子群算法

假定粒子群优化算法目前在迭代的第n步, 现在算法中有如上的三个参数x1=w, x2=c1=c2待优化, 利用混沌搜寻来得到这三个参数的合适的值, 然后再更新粒子的速度和位置, 进入到下一步迭代.假定群体的第 (n-1) 步迭代中所有的结果已知, 现在利用两个混沌变量独立运行m步, 得到m组参数的值, 分别计算这m组参数值对应的群体更新后的速度和位置变量, 产生新的第n步的粒子群.为了评估这m组参数的优劣, 需要计算每组参数对应的粒子群优化得到的当前全局最优解, 以此作为每组参数的适应值函数, 取其中最优的解对应的参数作为第n步的参数值, 然后开始第 (n+1) 步迭代, 所有步骤和上面一样.在计算的过程中, 如果有一组参数得到的最优适应值在可接受的范围内, 则可以立即结束程序.

3. BSP混沌粒子群算法

步骤1:初始化整个种群.对每个粒子的随机位置和速度进行初始设定.每个粒子由计算得到初始的适应值和初始的个体最好位置pi及初始的群体最好位置pg.

步骤2:将整个种群分为几个子群体, 各个子群体用混沌算子优化粒子群.

(1) 设定初始参数xr0, r=1, 2, 并对其实施变换

(2) 利用混沌搜索得到M个tr, 反变换为xr.

(3) 计算每组参数对应的适应值, 取其中最优的一组作为当前步的参数.

步骤3各个子群体相互交换信息, 用新的参数不断更新全局最好位置.若某个子群体中粒子的适应值比全局最好位置pg的适应值好, 则它作为当前的全局最好位置pg.其他子群体依据该pg值继续进化, 直到进化最慢的子群体更新完全局最好位置pg.

步骤4进行粒子群优化, 更新粒子群速度和位置.若未达到结束条件, 则返回步骤2.2, 各子群体继续循环迭代, 直到满足条件.

4. 仿真实验

为了测试算法的有效性, 选用了标准PSO与本文算法BSPCPSO进行比较实验, 测试函数为Rosenbrock函数和Rastrigrin函数, 算法的初始参数为:w=0.9, 学习因子c1=c2=1.1, 种群规模90, 每个子群体有30个粒子.对每种测试函数连续进行30次实验, 实验环境VC++6.0.表2为函数寻优的实验结果.

混沌粒子群算法 篇5

摘 要:针对目前配电网中存在的分布式电源规划问题,在最大化电压静态稳定性、最小化配电网损耗以及最小化全年综合费用三个方面建立了分布式电源规划的优化模型。在规划模型的基础上,采用拥挤距离排序的多目标量子粒子群优化算法(MOQPSO-CD)以及基于量子行为特性的粒子群优化算法(QPSO),来更新和维护外部存储器中的最优解,通过对全局最优最小粒子的选择引导粒子群能够对分布式电源的配置容量与接入点位置的真实Pareto最优解集进行查找,获得对多个目标参数进行合理优化。最后采用IEEE33节点的配电系统,在模拟仿真实验过程中获得了分布式电源容量配置以及介入位置的合理方案,验证了优化算法的可行性。

【关键词】分布式电源规划 Pareto最优解 配电网

分布式电源(Distributed Generation,DG)由于其在减少环境污染、节约成本、发电方式灵活、减少发电输送中的线路损耗、改善电网中的能源质量以及提高电网供电稳定性等方面具有优点,在配电网中发展迅速。然而,在配电网中加入分布式电源会使电网中原有的结构发生改变,从而导致节点电压、线路损耗与网络损耗产生了不同程度的变化。如果分布式电源注入容量与接入点位置的配置出现问题,会加大电网中线路与网络等损耗,并且会对电网供电的可靠性产生严重影响,因此,针对这一现象,对DG的容量与配置参数进行合理的优化具有重要意义。

国内外许多学者曾对DG的参数配置优化问题进行了较为深入的研究并取得了一定进展。文献[1]针对分布式电源中的地址定容问题采取了单一目标的优化方法,但是该方法在实际电网中的可行性存在问题。文献[2]采用传统的模糊理论提出将电网中具有多目标优化方案转变为只有单一目标的优化方法,并且采用遗传算法,优化了分布式电源中的容量与位置。文献[3]对于配电网中DG的容量与选址通过改进遗传算法进行优化,但是该方法存在计算时间长、算法过于复杂有时会计算得出局部的最有求解等缺点。文献[4]通过改进的自适应遗传算法,搭建了基于DG环境效益与政府关于可再生能源补贴的最小化经济模型。

在实际应用中,对于配电网中分布式电源的优化需要考虑许多变量,一般都具有比较复杂的目标函数,对其进行优化时将多个目标函数转化为单一函数非常困难,因此必须采取有效措施节约分布式电源多目标模型建立中的相关问题。本文以分布式电源的配置容量及其在配电网中的接入位置为两个切入点进行研究,建立配电网在单位年中的费用最小、电网网络以及线路损耗最低、静态电压在最优系统中的稳定性3个目标函数的分布式电源优化模型。在粒子群优化(QPSO)算法中量子行为特性的理论上加入拥挤距离排序技术,维护与更新外部存储器中的最优解,将生成分布式电源的最优配置方案问题转化为求解全局最优的领导粒子问题。最后,运用Matlab仿真软件对本文所提出的方案进行验证。配电网中DG的多目标规划模型

1.1 目标函数

1.1.1 网络损耗最小目标函数为

那么,求解出配电网中电压稳定指标的最小值minL即可知最大化静态电压的稳定裕度。

1.2 约束条件

1.2.1 等式约束

约束方程可以用潮流方程表示为:

式中,Pdi、Qdi为配电网中第 台发电机的有功、无功输出,PDGmax为分布式电源有功输出上限,PDGmin为分布式电源有功输出下限,QDGmax为分布式电源无功输出上限,QDGmin为分布式电源无功输出下限,Uimax为节点i电压上限Uimin为节点i电压下限,SDGi为配电网中拟接入的第i个DG的容量大小,SDGmax为配电网中可以接入的DG最大装机容量,Pl为线路l的传输功率。基于拥挤距离排序的粒子群优化算法

2.1 量子行为特性的粒子群优化算法

传统的粒子群优化(PSO)算法在求解方面具有不同程度的缺点,如容易陷入局部求解最优,收敛精度低等。为了防止粒子群算法进入早熟,并且尽可能加快算法的收敛减少计算时间,文献[10-11]给出了改进粒子群算法,使得具有量子行为特性的粒子群算法的实用性大大提高,在局部精度方面得到明显的提高,并且与PSO相比较仅具有一个位移更新公式。在本文中基本粒子群的集合设定为不同负荷节点处DG的输入功率,因此得到的集合为:

其中,i(i=1,2,???,P)为粒子群中的第i个粒子,j(j=1,2,???,N)为粒子在粒子群中的第j维,N为搜索空间的维数;ui,j(t)和φi,j(t)均为在区间[0,1]上随机均匀分布的数值,t为进化代数,xi(t)为在t代进化时粒子i的当前位置,pi(t)为在t代进化时粒子i的个体吸引子位置,yi(t)为在t代进化时粒子i的个体最好粒子位置,为群体在t代进化时的最好位置,C(t)为粒子在第t代进化时的平均最好位置,定义为全部粒子个体位置最好时的平均位置;α为扩张-收缩因子,是在迭代次数与除群体规模以外的唯一参数。

2.2 MOQPSO-CD算法

由于粒子群算法具有记忆特性,利用这一特性可以解耦特性粒子的解空间,求出解空间后可以适时调整控制策略,并能够通过记忆功能对当前动态进行搜索,同时具有优良的鲁棒特性和在全局范围内的搜索能力。然而,QPSO收敛的速度过快,导致了算法收敛过快,因此Pareto的解不具有多样性特点。为了寻找该问题的解决方案,本文通过利用外部存储器储存Pareto在求解过程中所产生的非劣解,从而可以较快地达到Pareto前沿。这样可以达到减少计算时间,更快获得领导粒子的目的。由于领导粒子是在所有粒子中表现最好的个体中得到的,它可以体现出整体粒子群体的认知能力,对于群体在搜索中的方向起着引导作用。为了即时更新外存储器中的非劣解,本文所采用的拥挤距离排序算法属于第2代非支配排序遗传算法(NSGA-II),通过对其进行操作,可以尽快地通过领导粒子找到Pareto的最优解。与此同时,为了使多样性在粒子种群中得到丰富,基于此算法的基础上加入高斯变革算子对粒子种群寻优过程中解的多样性进行扩充。

2.2.1 领导粒子的选择

在领导粒子选择的过程中即时对新外部存储器中粒子集进行维护更新是很有必要的。其目的在于保证粒子群的多样性,并能确保Pareto最优解集的合理分布。在此算法条件下,外部存储器中的粒子集必然会存在当前代数最优的粒子,然后通过拥挤距离值算法计算器内部粒子集中每个个体距离值,通过计算拥挤距离值的方法,将粒子集合内的个体进行量化,当出现拥挤距离值最大的粒子时,表明在目标空间中该粒子成为领导粒子可能性增加。当有两个或多个领导粒子的拥挤距离值相等时,领导粒子将会在之对应的最优粒子中随机选取。

2.2.2 拥挤距离值的计算

拥挤距离排序方法描述了在一个最优解周围分布其他最优解的密度情况。以下简单阐述了本文所用到的拥挤距离计算方法,具体实现可参考文献[13]。Gj(i)(j=1,2,3)依次表示网络损耗、年综合费用和静态电压稳定指标3个目标函数值;P为粒子群集合的大小,亦可描述可行解的数量。首先,对于存储在外外部存储器的全部最优粒子,在所有需要优化目标上的函数取值进行升序排列,然后可以得到在所有优化空间上与最优粒子相接近的其它最优粒子,然后可以计算得出在统一空间内两个优化粒子的距离;最后最优粒子的拥挤距离可以通过所有最优粒子距离的求和方式得出。以本文为例详细说明拥挤距离值的特征,逐一计算并遍历相邻最优粒子的空间距离,粒子i和相邻粒子i+1在优化目标空间的距离:

2.2.3 外部存储器更替算法

在本文中人为设定两条存储器更新规则,以便满足外部存储器中存在最优粒子的目的,规则如下:

(1)位于存储器中的粒子被新生成的粒子支配时;

(2)如若外部存储器已满,则需运用拥挤距离排序算法对其内部所有进行重新排序,根据公式(16)计算所有粒子的拥挤距离值,并且按照计算出数值的大小进行排列。

2.2.4 算法实施步骤

本文选用借鉴第2代非支配排序遗传算法的基于量子行为特性的粒子搜索解空间算法对配电网中的分布式电源进行优化配置,图1所示为算法具体流程,计算过程为:

(1)初始化起始数据,数据内容为事先已规划内容,初始化算法基本参数(粒子群的规模、粒子群的初始位置、并设定最大迭代次数),系统对分布式电源位置,以及初始粒子群数据集进行随机采样。

(2)依照步骤(1)中设置的规则,对外部存储器中的粒子进行初始化设置。

(3)需要对粒子进行排位,排位的算法由公式(1)~(4)给出,可以计算出目标函数值,同时,根据公式(16)可以计算出拥挤距离值,根据以上两个参数进行排位。“2.2.1节”的方法选出粒子群中的领导粒子,最后利用QPSO位移更新方程对每个粒子进行重置。以上计算过程将会计算采样粒子集合内任意粒子的拥挤距离值。评价其是否达到Gauss变异算法条件,若达到该算法条件,则进行Gauss变异操作(Gauss mutation operator),否则转到步骤④。

(4)对③中运用QPSO位移更新算法计算出的所有粒子进行评价,并算出所有粒子的潮流数值,将其接入位置以及配置容量用数值量化,并对比量化后的函数值,按照柏拉图最优解定律计算出个体最优粒子及外部存储器最优粒子集。与计算出的上一个最优粒子相比较,新产生的粒子群中某粒子更优,则将新出现粒子作为最优粒子;若二者不能相互支配,那么二者中任意一个将被选为最优粒子,并将其放入外部存储器,然后转步骤⑤;否则舍弃更新后的粒子并转⑥。

(5)对已进入外部存储器中的粒子,按照公式(16)对其进行计算,已达到随时更新存储器中粒子的目的。通过步骤(5)可以达到将最优粒子存入外部存储器的目的。

(6)计算进化代数,若满足终止代数,则将存储器中现有的粒子作为输出,此时输出的粒子集就是所寻找的柏拉图最优输出集;否则转步骤③。算例分析

利用本文建立的模型,对IEEE 33节点配电系统进行模拟仿真,配电网系统如图2所示,对分布式电源的位置以及其容量进行重新配置。该配电系统中,额定电压为12.66kV,有功负荷的取值为3715kW,总无功负荷的取值2300kVar,总节点数为33个,总支路数为32条(其中5条为联络开关)。配电系统基准容量设为10MVA,其中平衡节点选在0号节点,分布式电源接入比例小于30%,安装节点集合为?x1,2,???,31?y(图2中的32节点将不会接入分布式电源中,因为该节点是尾端节点,并且同变压器支路侧相连,因此不需接入)。根据文献[3]可知,在计算分布式电源时,可以将其近似看成负的PQ节点,根据经验公式,选取功率因数值为0.9。初始采样粒子群集合规模为90,进行100次迭代。

按照本文所搭建的数学模型及算法计算出分布式电源配置的柏拉图最优解,及其目标函数的空间分布,如图3所示。根据图3可知,计算出的所有解相互独立分布,每个不同解均可表示出当前条件下的配置效果。以图中所列出的解

1、解2及解3为例,说明不同情况下的DG配置结果。解1情况下电压稳定指标大于0.02,相比其他两种情况最不稳定,网络损耗为80kW,损耗过大,但是年综合用最小;解3和解2相比较而言,解3在网络损耗和电压稳定性方面要优于解2,然而解3在年综合费方面是三种情况中最大的;对于解2来说,无论是年综合费用或者网络损耗以及电压稳定性指标这三个参数指标适均介于解1和解3之间,因此,考虑综合因素以解2最好。表1所示为解

1、解2和解3的DG配置方案,3个解分别与3个方案对应。

通过对比表1中的方案配置可以看出,不同DG配置方案会对年综合费用、网损和电压稳定性产生影响。在对电源在辐射线路中放置位置的分析后发现,放置位置越靠前,线路潮流受到的影响就越小。根据表1配置DG方案接入配电网,配电网络损耗将会有一定幅度下降,同时电压稳定性指标也会达到满意的效果,按照该配置方案规划,最为突出的优点是电网网络损耗方面,按照方案3配置后,电网网络损耗下降了80%。

结语

以减少电网网络损耗及年综合费用为优化目标,同时兼顾静态电压稳定性为原则,建立了DG规划的模型,在计算方面选取具有量子行为特性的粒子群优化算法(QPSO),以及基于拥挤距离排序的多目标量子粒子群优化算法(MOQPSO-CD),同时采用模拟仿真对33节点配电系统进行优化,得出了基于DG配置的Pareto最优解集,由此实现了对DG优化规划的目的。并得出以下结论:为了尽可能的降低电网损耗,同时提高电压稳定性,需要将DG配置在主变电站远端位置,即馈线末端,此时DG配置收益最高。

参考文献

[1]QIAN Ke-jun,ZHOU CHENG-KE,ALLAN MALCOLM,et al.Effect of load models on assessment of energy losses in distributed generation planning[J].Electrical Power and Energy Systems,2011,33:1243-1250.[2]陈海焱,陈金富,杨雄平,等.配电网中计及短路电流约束的分布式发电规划[J].电力系统自动化,2006,30(21):16-21.[3]邱晓燕,夏莉丽,李兴源.智能电网中分布式电源的规划[J].电网技术,2010,34(4):7-10.[4]李德泉,徐建政,罗永.含分布式电源的配电网扩展规划[J].电力系统及其自动化学报,2012,(5).[5]孙俊.量子行为粒子群优化算法研究[D].无锡:江南大学信息工程学院,2009.[6]武晓朦,刘建,毕棚翔.配电网电压稳定性研究[J].电网技术,2006,30(24):31-35.[7]KENNEDY J,EBERHART R C.Particle swarm optimization[C].IEEE IntConf of Neural Networks.Perth,1995:1942-1948.[8]ABGELINE P J.Using selection to improve particleswarm optimization[C]/Proc IEEE CongrEvolComput.Anchorage.AK.USA"IEEE Service Center,1998:84-89.[9]MIRANDA V,FONSECA N New evolutionary particle swarm algorithm applied to voltage control[C].Proc 14th Power SystComputConf.Spain:IEEE Service Center,2002:1865-1873.[10]LIjun-jun,WANGxi-huai.Amodified particle swarm optimization algorithm[J].Intelligent Control and Automation,2004,1:354-356.[11]候云鹤,鲁丽娟,熊信艮,等.改进粒子群算法及其在电力系统经济负荷分配中的应用[J].中国电机工程学报,2004,24(7):95-100.[12]DEB K,PRATAP A,AGRAWAL S,et al.A fast and elitist multiobjective genetic algorithm:NSGA-II[J].IEEE Trans on Evolutionary Computation,2002,6(2):182-197.[13]张君则,艾欣.基于粒子群算法的多类型分布式电源并网位置与运行出力综合优化算法[J].电网技术,2014,38(12):3372-3377.[14]刘幸.基于量子粒子群算法的分布式电源多目标优化[D].北京:华北电力大学,2012.[15]ROUHANI A,HOSSEINI S H,RAOOFAT M.Composite generation and transmission expansion planning considering distributed generation[J].International Journal of Electrical Power & Energy Systems,2014,62(11):792-805.[16]叶德意,何正友,臧天磊.基于自适应变异粒子群算法的分布式电源选址与容量确定[J].电网技术,2011,(06):155-160.[17]BJELIC I B,CIRIC R M.Optimal distributed generation planning at a local level-A review of Serbian renewable energy development[J].Renewable & Sustainable Energy Reviews,2014,39(6):79-86.[18]朱艳伟,石新春,但扬清,等.粒子群优化算法在光伏阵列多峰最大功率点跟踪中的应用[J].中国电机工程学报,2012,32(4).[19]黄平.粒子群算法改进及其在电力系统的应用[D].广州:华南理工大学,2012.[20]施展,陈庆伟.基于QPSO和拥挤距离排序的多目标量子粒子群优化算法[J].控制与决策,2011,26(4):540-547.[21]ZHANG L G,ZUO H.Pareto optimal solution analysis of convex multi-objective programming problem[J].Journal of Networks,2013(02).[22]李中凯,李艾民,朱真才.拥挤距离排序的多目标文化粒子群优化算法[J].控制与决策,2012,27(09):1406-1410.[23]慕彩红.协同进化数值优化算法及其应用研究[D].西安:西安电子科技大学,2010.作者单位

混沌粒子群算法 篇6

关键词:计算机神经网络;粒子群优化算法;应用

中图分类号:TP183

粒子群优化算法是一种相对简单、有效的随机全局优化技术,通过对粒子群优化算法进行相应的改进,以此确保其收敛性,然后再将粒子群优化算法应用到神经网络的学习训练中,能够更有效的找出最优化解。粒子群优化算法和遗传算法相比,粒子群优化算法并没有遗传算法复杂的交叉、变异以及编码,而是对粒子所在解空间的具体位置进行搜索,不需要对众多的参数进行调整,其收敛速度相对较快。

1 粒子群优化算法的基本原理以及优化改进

1.1 粒子群吧优化算法的基本原理

PSO中,每一个优化问题的解都是搜集空间中的一个“粒子”的状态,粒子群优化算法是对群体的全局进行考虑,通过迭代搜寻选取最优值,通过将系统转化成一组随机的例子,由于例子在解空间追随最优的例子进行凑所,所以粒子群优化算法是一种具有全局寻优能力的优化工具。例子群优化算法的基本原理表现为:假设在一个D维的目标搜集中间中,由N个不同的粒子组成了一个特定的群体,其中第i个粒子表示成其在这个D维空间中的向量(xi),也就是该粒子在D为空间中的位置,每一个粒子的位置都存在一个特定的解,通过将xi带入到相应的目标函数中,通过适当的函数计算就能得到其适应度值,然后根据该xi适应度值的大小,以此衡量xi的优劣程度。其中,第i个粒子飞行的速度表示D维中的另一个向量,表示为vi,将在D维空间中搜索到的第i个粒子的最有位置记录为pi,则整个粒子群搜索到的最有位置pi的粒子群优化算法表现为:公式一:vi=ci+c1r1(pi-xi)+c2r2(pg-xi);公式二:vik+1=vik+c1×rand()×(pbest-xik)+c2×rand()×(gbest-xik);公式三:xi=xi+vi,其中i=1,2,…N;r1和r2为学习因子,rand()表示介于[0,1]之间的随机常数,c1和c2表示为非负常数。其中迭代的终止条件是根据选择的最大迭代次数决定的,表示的为第i个李在迄今为止搜索到的最优化位置应该满足的适应度的最小值。

从社会学角度方面来说,粒子群优化算法公式中的表示的是粒子的记忆项以及自身认知项,能够表示上次速度的方向以及大小对粒子造成的影响,还能够将当前的指向粒子当作自身的最优化矢量,以此表示粒子的动作来源于自身的经验,能够反映粒子之间的协同作用以及知识共享,粒子能够根据粒子群中相邻粒子的最好经验,然后再结合自身的经验,以此来决定自身的下一步运动,从而形成PSO的标准形式。

1.2 粒子群优化算法的改进

粒子群粒子群优化算法需要用户确定的参数相对较少,并且其操作相对简单,因此该种方法使用起来非常方便,但是,由于粒子群优化算法容易陷入局部极值点,导致搜索的收敛性相对较低,并且粒子群优化算法的收敛性分析已经收到众多学者的重视,因此,为了增强粒子群优化算法的收敛性,可以将抗体多样性保持机制引入到粒子群优化算法中,其步骤表现为:首先,确定参数值,记忆粒子个数M,即常数因子c1和c2粒子群的个数N,粒子的浓度概率选择阀值Pi,其随机产生的N个粒子xi的飞行速度表示为vi,以此计算粒子的适应度函数值;根据公式计算粒子的选择概率,将粒子群体中前M个最大适应度的粒子当作记忆细胞进行储存,将概率大于Pi的粒子根据相应的方法进行计算,从而把M个记忆细胞替换成适应度最差的M个粒子,以此形成全新的粒子群,最终判断其能付满足相应的选择条件,如果满足输出适应度值最好的要求,则选定该粒子。由此可见,通过上述的方法对粒子群优算法进行改进,能够保证粒子群优化算法的精确性,并且通过实践证明,经过改进后的粒子群优化算法,其计算机的仿真结果显示,该种粒子群优化算法的收敛速度明显优于没有改进的粒子群优化算法的收敛速度。

2 粒子群优化算法在计算机审计网络中的应用

计算机神经网络能够模拟大脑的思维能力,然后通过对各种数据进行分析,从而建立其相应的数学模型,计算机神经网络中除了包含许多处理器以外,还包含了许多与人脑神经相似的节点,这些节点按照一定的规律进行连接。如果将计算机神经网络中的每一个过程都细分为若干个微程序,并且将所有的微程序都交付于处理器进行处理,那么处理器处理所有的微程序的过程,就是一条微程序的处理流水线,这样计算机处理信息的速度也将会显著的提高。粒子群优化算法在计算机神经网络中的应用,包括的内容有组合优化、参数优化、神经网络训练、学习算法、网络拓扑结构和传递函数、链接权重等,通过把个体转化成微粒,其中包括计算机神经网络中的所有能够用到的参数,然后经过一些列的复杂、重复的程序,最终达到最终的训练目标。相对于传统的神经训练法来说,由于BP算法需要可微的函数以及梯度信息等大量的数据,只有通过大量的计算才能得到相应的训练结果,其运行难度较大、程序相对复杂,而采用离子群优化算法,其处理信息的速度显著的提升,能够有效的克服其运行效率低的问题。粒子群优化算法在计算机神经系统网络中的应用,主要表现在两个方面:其一,粒子区优化算法在参数优化中的应用,能够通过解决计算机神经网络中的各种离散型问题,从而进行参数优化;其二,粒子群优化算法在组合优化中的应用,其中典型的应用表现为其在工程经济问题中的应用,其能够通过将各种资源进行科学的组合,通过设置一定的约束条件对这些组合进行排序,通过不断的尝试最终能够找到最有效的解决方案,然后合理的利用所有的组合实现经济效益的最大化。此外,粒子群优化算法不仅能够应用在计算机神经网络中,还能够应用在更多的领域中,例如软件编辑、游戏开发、电力系统等领域中。

3 结束语

文章对计算机神经网络中粒子群优化算法的应用进行了研究,对粒子群优化算法进行了相应的改进,有效的提高了粒子群优化算法的收敛速度。将粒子群优化算法应用在计算机神经网络中,其操作相对简单,比较容易实现,并且其还能够更快的收敛于最优解,有效的克服了传统遗传算法缺点。因此,在计算机神经网络学习训练中,广泛的推广和应用粒子群优化算法具有很大的现实意义。

参考文献:

[1]丁玲,范平,闻彬.粒子群优化算法在计算机神经网络中的应用[J].理论与算法,2013(17):39-41.

[2]曹大有.一种免疫粒子群优化算法及在小波神经网络学习中的应用[J].计算机应用于软件,2009(06):189-192.

[3]刘爱军,杨育,李斐.混沌模拟退火粒子群优化算法研究及应用[J].浙江大学学报(工学版),2013(10):1722-1729.

[4]虞斌能,焦斌,顾幸生.改进协同粒子群优化算法及其在Flow Shop调度中的应用[J].华东理工大学学报(自然科学版),2009(03):468-474.

[5]刘宝宁,章卫国,李广文.一种改进的多目标粒子群优化算法[J].北京航空航天大学学报,2013(04):458-473.

作者简介:张小军(1980.01-),男,河南人,讲师,研究方向:云计算,数据挖掘,通信技术。

混沌粒子群算法 篇7

Kennedy博士和 Eberhart教授于1995 年提出了粒子群优化(Particle Swarm Optimization,PSO)算法[1]。粒子群优化方法自提出后,由于其收敛速度快、算法简单等优点,目前已成功应用到组合优化[2]、连续问题参数优化[3]、神经网络训练[4]、数据挖掘[5]、故障识别[6]等领域。但是在实际应用中发现PSO易“早熟”且精度不高。因此许多学者对算法提出了很多改进方法和策略。量子进化算法(QEA)[7]是新近发展起来的一种以量子计算的一些理论为基础的概率进化算法,同传统进化算法相比具有更好的群体多样性和全局寻优能力,群体规模较小但不影响算法的性能等优点。基于量子进化算法的优点,文献[8]提出了一种量子粒子群优化算法(Quantum Particle Swarm Optimization,QPSO)。该算法采用量子位的概率幅表示粒子,但惯性因子、自身因子及全局因子的设置仍沿用标准粒子群的设置方法,因此无法有效避免种群在搜索空间中多样性的丢失。因此,本文提出一种基于混沌优化的双种群量子粒子群(Dual Population Quantum Particle Swarm Optimization Based on Chaotic Optimization,BCQPSO)改进算法。首先,利用混沌序列产生两个种群规模相等的种群,以避免早熟收敛、保持种群的多样性;其二,对于其中一个种群采用线性递减的更改权重,对另一个种群利用本文建立的基于混沌序列的自适应惯性权重策略来更新;最后,对两个种群执行融合变异操作。用典型函数的极值优化问题进行仿真实验,结果表明改进算法在搜索能力和优化效率两方面均优于原粒子群优化算法。

1 量子粒子群算法

粒子采用文献[8]的编码方式:

undefined

,每个粒子代表解空间的两个解,分别对应量子态的|0>和[1]>的概率幅:

Pic=(cos(θi1),cos(θi2),…cos(θin)),

Pis=(sin(θi1),sin(θi2),…sin(θin))

由粒子编码方式可知其遍历空间每维均为[-1,1],则要比较粒子优劣需进行解空间变换。设待优化问题第j维变量的取值区间为undefined,粒子Pj上第i个量子位为[αundefined,βundefined]T,则按下式对粒子Pj的两组解进行变换:

undefined

粒子Pi上量子位幅角增量的更新:

Δθij(t+1)=ωΔθij(t)+c1r1(Δθl)+c2r2(Δθg)

粒子上量子位概率幅的更新:

undefined

故粒子Pi更新后的两个位置分别为:

Pic=(cos(θi1(t)+Δθi1(t+1)),cos(θi2(t)+Δθi2(t+1)),…cos(θin(t)+Δθin(t+1)))

Pis=(sin(θi1(t)+Δθi1(t+1)),sin(θi2(t)+Δθi2(t+1)),…sin(θin(t)+Δθin(t+1)))

粒子量子位幅角增量的更新由三个部分组成:惯性部分ω、自身部分c1和社会部分c2。如何选择和调整这三个参数关系到算法是否能避免早熟而又能快速地收敛。因此本文从如何保持粒子多样性,以及如何平衡算法全局搜索和局部搜索之间的矛盾为出发点,提出以下改进策略。

2 基于混沌优化的双种群量子粒子群算法

目前,大多数PSO粒子的初始位置都是采用随机方式初始化,这种方式有可能造成初始搜索解空间的分布程度不均衡。由于混沌序列具有混沌运动的遍历性、随机性、规律性等特点,利用混沌序列的随机性、遍历性来寻找问题的最优解,其随机性保证了大范围的搜索能力,遍历性使搜索过程能在一定范围内不重复地遍历所有状态[9] ,因此可以有效加强种群多样性,为进行全局搜索打下良好基础。本文引入Logistic混沌序列, Zt+1=μZt(1-Zt),t=0,1,2,…,其中,μ为控制参量,当μ=4时,z0≠0.5,产生的混沌序列可以遍历[ 0, 1] 区间。

2.1 基于混沌序列的双种群粒子位置初始化

在进化算法中,种群规模是一个十分重要的参数,种群规模的大小及多样性直接影响着算法的收敛率、收敛速度、可靠性等方面问题,本文提出以下基于混沌序列的双种群粒子位置初始化方法:

步骤1:用Logistic混沌序列代替原有随机数的方式来初始化各粒子。

步骤2:由于混沌序列产生的值在[0,1]区间,而解空间在[-1,1]区间,故对上面产生的初始解取反,产生[-1,0]区间的值,这样便产生两个种群。

步骤3:将上面两个种群合并,再通过随机分组方式分成种群数相等的两组种群。

步骤4:分别用这两组种群的粒子进行进化寻寻优。

由于混沌序列能在一定范围内不重复地遍历所有状态,因此大大增强了种群的多样性。

2.2 基于混沌序列的自适应惯性权重

惯性权重的引入是为平衡算法全局搜索和局部搜索之间的矛盾,惯性权重取值较大时,全局寻优能力强,局部寻优能力弱;反之,则局部寻优能力增强,而全局寻优能力减弱。文献[10]提出一种惯性权重线性改变方式:

undefined

其中,ωmax、ωmin分别是ω的最大值和最小值;t、tmax分别是当前迭代次数和最大迭代次数。这种递减策略虽然可以调节全局与局部的寻优能力,且运算速度快,但在运算的过程中,线性减小惯性系数ω,使得搜索步长逐渐减小,迭代慢慢地收敛到极值点[11]。故本文提出一种基于混沌序列的自适应改变惯性权重的方法,公式如下:

其中,undefined将权重与进化代数联系起来作自适应调整, 使算法在进化初期以较大的权重进行搜索;随着进化代数的增加, 惯性权重逐渐变小, 有利于进化后期的精细搜索;Zt是Logistic混沌序列值, 能让惯性权重在解空间内进行遍历, 有利于提高搜索效率;ωmax、ωmin分别是ω的最大值和最小值。对于两个种群的量子粒子分别用线性递减权重和自适应权重对ω进行更改,线性递减权重用于快速进化,获取最优解,自适应权重用于精细搜索,扩大解空间遍历性。

2.3 基于混沌序列的双种群融合变异

由2.1节产生的种群,在很大程度上增加了种群的多样性,并且通过2.2节的方式各自改变惯性权重,当两子种群独立进化若干代,需执行融合操作,这样可实现两个种群之间的信息交流,既能提高算法的收敛速度,又能在一定程度上保持种群的多样性,再按以下规则重新划分子种群和变异粒子。

(1)随机产生两个0-1之间的随机数α、β,α用于指导分组操作,β用于指导变异操作。

(2) 产生一个混沌序列值Zt,用Zt与α比较,如果大于则将该粒子从刚合并的种群中删除掉,并加入新种群中,该操作直到合并种群的粒子数与新生成的粒子数相等时停止,这样就又生成两个种群用于以后的进化。

(3)利用步骤(2)产生的混沌序列值Zt与β比较,如果大于则用量子Hadamard门对粒子群种群进行变异,公式如下:

undefined

,由上式可以看出,这种变异是一种旋转,对于第j个量子位,转角大小为undefined。

2.4 算法流程

(1)用2.1节的方法产生两个粒子个数相等的种群。

(2)对粒子进行解空间变换,计算适应度。

(3)根据公式进行调整粒子位置,对于种群1使用线性递减惯性权重策略,对于种群2使用自适应递减权重策略。

(4)根据2.3节合并两个种群,并记录最优粒子,如果满足终止条件则退出,否则转到步骤(2)继续进化。

3 对比试验

为验证提出本文算法的有效性,实验中采用如下2个典型函数作为仿真对象,对算法进行对比。

①Ackley:

undefined

②Rosenbrock :

undefined

对于函数(1)和(2),分别用BCQPSO、 QPSO和PSO各优化50次,然后统计平均结果、收敛次数、平均步数作为对比评价指标。三种算法的种群规模均取100,最大优化步数均取500,性能对比结果如表1所示。

从表1的对比结果可以看出,BCQPSO的优化效果最好。这是由于基于混沌序列生成的种群多样性好,并且通过两种惯性权重改变策略,既加速了寻优速度,又能扩大解空间的遍历性,最后又基于Hadamard门进行变异操作,从而提高了寻优能力。

4 结束语

提出了一种基于混沌优化的双种群量子粒子群优化算法。该算法通过引入混沌理论,采用双种群结构并行运行,每个子种群的惯性权重选用不同的更新策略,同时采用Hadamard门进行变异,这使算法在维持种群多样性的同时加快了收敛速度,扩展了解空间的遍历性,能使算法具有较好的全局搜索和跳出局部最优的能力。实验结果表明,BCQPSO算法的优化性能明显优于PSO算法。

参考文献

[1] Kennedy J,Eberhart R C.Particle swarms optimization[C]//Proceedings of IEEE International Conference on Neural Networks,USA,1995:1942-1948.

[2] Ammar W,Nirod C,Tan K.Solving shortest path problem using particle swarm optimization[J].Applied Soft Computing,2008,8(4):1643-1653.

[3] Marcio S,Evaristo C.Nonlinear parameter estimation through particle swarm optimization[J].Chemical Engineering Science,2008,63(6):1542-1552.

[4] Lin C J, Hong S J. The Design of Neuro-fuzzy Networks Using Particle Swarm Optimization and Recursive Singular Value Decomposition[J].Neurocomputing. 2007, 71(1-3):297-310.

[5] Souda T, Silva A, Neves A. Particle Swarm based Data Mining Algorithms for classification task[J]. Parallel Computing. 2004(30):767-783.

[6] Sahin F, Yavuz M Ç, Arnavut Z,et al. Fault Diagnosis for Airplane Engines Using Bayesian Networks and Distributed Particle Swarm Optimization. Parallel Computing, 2007,33(2):124-143.

[7] Hyun K,Kim J H.Quantum-inspired evolutionary algorithm fora class of combinational optimization[J].IEEE Transactions on Evolutionary Computing,2002,6(6):580-593.

[8] 李士勇,李盼池.求解连续空间优化问题的量子粒子群算法[J].量子电子学报,2007,24(5):569-574.

[9] 李广文, 贾秋玲, 刘小雄,等. 基于反馈和混沌变异的自适应进化策略[J] . 计算机应用研究, 2009, 26(6):2056-2058.

[10] Shi Yuhui, Eberhart R. A Modified Particle Swarm Optimizer[C]//Proc. of IEEE International Conference on Evolutionary Computation.Anchorage, Alaska, USA: [s. n.], 1998.

混沌粒子群算法 篇8

关键词:粒子群算法,盲源分离,独立分量分析,混沌

0引言

盲源分离BSS(blind source separation)是20世纪90年代兴起并发展起来的一种信号处理方法,是信息理论、统计信号处理和人工智能相结合的产物,在生物医学、地震勘探、移动通信和语音信号处理等领域有着广泛的应用前景[2]。

在过去的十多年中,国内外学者们对混合信号分离进行了广泛的研究,提出了很多线性和非线性分离算法[3]。然而在实际应用中,观察到的混合信号很多是非线性混合叠加而成,那么传统线性盲源分离算法已经不适合处理该类问题[4]。目前,具有很好的近似能力和接近真实问题的非线性盲源分离算法日益受到人们的关注[5]。常用有非线性算法有信息理论的InfoMax算法、神经网络算法、四阶统计量的JADE算法和独立分量算法(ICA算法)等[6,7,8]。ICA作为盲源分离的主要算法,包括目标函数选取和优化两部分,传统ICA优化算法采用最陡梯度下降算法,存在收敛速度慢、易陷入局部最优等难题,解的质量无法得到保证,导致在实际应用中,信号分离的效果比较差[9]。

针对当前ICA算法在盲源信号分离应用中存在的缺点,为获得更好的盲源分离效果,提出一种基于混沌粒子群算法CPSO(chaotic particle swarm optimization)的盲源分离算法(CPSO-ICA),并通过具体仿真实验对算法性能进行测试。结果表明,CPSO-ICA有效提高了混合信号分离速度和盲信号分离性能,是一种有效的盲源信号分离方法。

1盲源分离研究现状

1.1盲源分离原理

盲源分离是指采用传感器对信号进行收集,在对源信号及传输过程没有任何先验知识的条件下,仅通过分析观测数据,就可以完成对源信号进行分离的过程。盲源分离的原理如图1所示。

设有n个源信号,它们构成n维向量:s(t)=[s1(t)],s2(t),…,sn(t)]T,向量之间相互统计独立;m个混合信号构成的m维观测数据向量:x(t)=[x1(t),x2(t),…,xm(t)]T,那么含噪盲信号分离的数学模型为:

x(t)=As(t)+n(t) (1)

式中,Am×n维的混合矩阵;n(t)为m×n加性噪声。

盲源分离(BSS)问题解决方法是在忽略噪声n(t)的情况下,寻找一个分离矩阵W,使分离系统的输出信号y(t),即有:

y(t)=Wx(t)=WAs(t) (2)

式中,WA为分离矩阵。

1.2独立分量分析的盲源分离算法及存在难题

独立分量分析(ICA)十分适合于盲源分离问题的求解,相对于其他盲源分离方法,ICA具有算法结构简单、分离广泛等优点,成为盲源分离的主要算法[10]。在基于ICA算法的信号盲源分离过程中,需要对目标函数进行优化求极大值或极小值,而当前主要优化算法为随机梯度法。然而梯度下降算法存在的一个最大缺陷是收敛速度慢,易陷入局部最优,而且其受步长和初始值的影响,基于梯度下降的ICA算法鲁棒性差;另一方面梯度算法是通过非线性函数对目标函数进行近似估计,解的质量无法保证。为了克服梯度下降算法存在的诸多缺陷,为获得更好的盲源分效果,将CPO引入到盲源分离独立分量分析算法的优化过程中,避免上述问题出现。

2混沌粒子群算法

1999年,Eberhart等人受到鸟群飞行启发提出粒子群优化算法(PSO)算法。在PSO算法运行过程中,粒子被看成D维搜索空间中一个点,粒子在该空间其本身与同伴飞行经验动态地调整自己飞行速度和方向,同时不断追踪当前和历史最优粒子进行飞行,最终找到问题最优解。

在每一次迭代中,粒子速度和位置更新公式为:

vid(i+1)=ω×vid(i)+crand()×(Pbest-xid(i)+crand()×(gbest-xid(i)) (3)

xid(i+1)=xid(i)+vid(i+1) (4)

式中,i=1,2,…,m;c1、c2表示加速因子,一般为非负常数,vid(i)表示粒子当前速度,vid(i+1)表示更新后的粒子速度;xid(i)表示粒子的当前位置;xid(i+1)为更新后的粒子位置;w表示惯性权重,用于平衡全局和局部搜索;rand()为(0,1)数据的随机数函数。

在PSO算法中,粒子通过pbestgbest不断更新速度和位置,若某个粒子找到一个局部最优解,那么其他粒子会受到该最优解吸引,快速聚集到其附件,导致收敛过早,陷入局部最优解的出现。

混沌是一种行为复杂且与随机相似的非线性系统,对初始值十分敏感,具有易跳出局部极小、搜索速度相当快等优点[11]。为克服PSO算法存在的收敛速度慢、早熟缺陷,将混沌思想引入到PSO算法中,在每次迭代过程中,对gbest进行混沌扰动,并将其作为粒子更新后的位置,防止粒子位置趋同,并使其围绕在当前全局最优解附件进行局部搜索。

Logistic映射式表示为:

Zn+1=4Zn(1-Zn) (5)

式中,Zn表示混沌变量。

根据混沌原理对式(6)添加混沌扰动,即:

Zk=(1-α)Z*+αZk (6)

式中,Zkk次时的混沌向量,Zk为添加扰动后混沌向量,α∈[0,1],表示扰动的强度,采用自适应取值,在搜索初期,其值较大,加强对解向量的扰动,然后慢慢减小,具体变化为:

α(k)=1-(k-1k)n (7)

式中,n为一整数。

3改进混沌粒子群算法的ICA盲源分离

(1) 读取信号,对信号采样并中心化、使得观测向量的期望值为0,预白化X=X-E[X],H=D-1/2FTX

(2) 粒子群初始。对每个粒子进行初始化操作,即初始位置为:Wi=[Wi1,Wi2,…,WiJ],初始速度为:Vi=[Vi1,Vi2,…,ViJ]。

(3) 根据当前位置和速度,利用梯度公式产生各个粒子的新的位置。

(4) 根据目标函数对每个粒子的适应度进行计算,从而得到每一个粒子对应解的优劣。

(5) 对各个粒子,如果粒子适应值要比历史极值(pbest)要好,那么就采用该个体适应值代替历史个体极值;采用同样方法,根据适应度值对粒子群的极值(gbest)进行更新。

(6) 对粒子群早熟现象进行判断,若粒子群存在早熟收敛现象,那么就对部分较优粒子进行混沌处理,不然继续执行粒子群算法。

(7) 对部分较优的粒子群进行混沌优化,这样对适应度值较高粒子进行混沌搜索,易得到新的最优粒子,加快了搜索进程,粒子群的多样性增加,容易摆脱局部极值。

(8) 计算混沌后粒子的适应度值,找出适应度值最大的一组,并将与未进行混沌优化时的最优粒子的适应度值比较,如果优于gbest,就对gbest更新。

(9) 进入循环,迭代到预设的迭代步数时,输出最优解。

4仿真实验

4.1信号来源

为了验证CPSO-ICA的有效性,设计了一个仿真实验,对CPSO-ICA盲源分离效果进行测试和分析。对三个声音信号进行采样,并将其作为源信号,然后将采集的语音信号进行预处理,横坐标为采样点数,每段语音的采样点为8 000个,纵坐标为幅度值,得到3段语音信号如图2所示。

4.2算法实现

随机生成混合矩阵,具体为:

采用混合矩阵对源信号进行混合,得到3个混合信号,结果如图3所示。

设定粒子群种群规模20个粒子,粒子的速度范围限制在[-1,1]之间,迭代次数200,c1=c2=2,首先采用四阶累积量对混合信号进行ICA的独立性判决准则,然后采用混沌粒子算法对混合信号进行盲源分离,信号分离后的结果如图4所示。

从图4的结果可知,分离信号与各源信号的峰度十分接近,达到了很好的分离结果,结果表明,采用CPSO-ICA对盲源信号进行分离,是有效的、可行性,结果是可靠的。

4.3结果与分析

为了更进一步说明CPSO-ICA的优越性,采用基本ICA分离方法(ICA)、遗传算法优化ICA的分离方法(GA-ICA)、粒子群算法优化ICA的分离方法(PSO-ICA),并用相同数据进行对比实验。

4.3.1 盲源信号分离效果比较

各种算法分离效果如表1所示。从表1可知,与原始信号的峰值相比,CPSO-ICA分离出的信号峰值和原始信号的峰值非常接近,对比结果表明CPSO-ICA分离出的信号比ICA、PSO-ICA分离出的信号独立性好。

4.3.2 算法时间复杂度对比

CPSO-ICA、PSO-ICA和GA-ICA算法在双核CPU 2.3GHz,内存4GB,操作系统Windows XP的仿真环境下,采用Matlab 2009的tic和toc命令统计它们时间复杂度进行对比。得到的结果见表2。从表2可知,相对于CPSO-ICA、PSO-ICA和GA-ICA算法,CPSO的时间复杂度最小,运行时间最短,对比结果表明采用CPSO对ICA目标函数求解迭代次数少,加快了算法的运行速度,能在较短的时间寻找到最优解。

综合上述可知,从整体性能来说,CPSO-ICA盲源分离算法的分离效果和收敛速度均优于对比算法,计算时间相对减少,且不需要计算梯度信息,简单,实现容易,很好地解决了传统算法存在的局部最优、收敛速度慢、分离效果差等难题。

5结语

在分析传统盲源分离的基础上,针对传统ICA算法在求解问题时不能确保良好的收敛性等难题,提出基于CPSO-ICA的盲源分离方法。结果表明,CPSO-ICA不仅提高了盲源分离的速度,而且分离精度更高,分离性能更加稳定,在信号处理中具有广泛的应用前景。

参考文献

[1]Bertrand Rivet,Laurent Girin,Christian Jutten.Mixing Audiovisual Speech Processing and Blind Source Separation for the Extraction of Speech Signals From Convolutive Mixtures[J].Audio,Speech,and Language Processing,IEEE Trans,2007,15(1):96-108.

[2]Tan Y,Wang J.Nonlinear blind source separation using higher order statistics and a genetic algorithm[J].IEEE Trans On Evolutionary Computation,2001(3):600-611.

[3]郭武,王润生.基于盲分离的图像去噪算法研究[J].计算机工程与应用,2007,43(31):190-195.

[4]苏野平,何量,杨荣震,等.一种改进的基于高阶累积量的语音盲分离算法[J].电子学报,2002,30(7):956-928.

[5]张伟伟,史振威,阎芬,等.利用独立成分分析实现成组舰RI的信号的盲分离[J].中国医学影像技术,2005,21(3):333-335.

[6]章晋龙,何昭水,谢胜利.基于遗传算法的有序盲信号提取[J].电子学报,2004,32(4):616-619.

[7]杨俊安,李斌,庄镇泉,等.基于量子遗传算法的盲源分离算法研究[J].小型微型计算机系统,2003,24(8):1518-1523.

[8]张朝柱,张健沛,孙晓东.基于自适应粒子群优化的盲源分离[J].系统工程与电子技术,2009,31(6):1275-1278.

[9]刘据,聂开宝,何振亚.非线性混叠信号的可分离性及分离方法研究[J].电子与信息学报,2003,25(1):54-61.

[10]罗涛华,张聪.带有梯度加速粒子群算法的盲源分离[J].计算机仿真,2010,27(10):112-115.

混沌粒子群算法 篇9

微粒群优化算法PSO属于群体智能方法的一个分类,是1995年首次由Kennedy与Eberhart等首次提出的[1],是一种新的进化算法。但当面临复杂的优化问题,由于目标存在很多的局部极值,也不可避免地存在早熟、收敛速度慢等一些缺陷。

本文针对这一问题,提出以全局性更好的小生境策略,小生境中各个子种群互相排斥,动态形成自己独立的搜索空间,各自追逐自己搜索范围内的极值点,使小种群在搜索空间有效地分布,避免了协同中的种群汇聚;进一步引入淘汰更新机制,迭代一定次数后更新最劣子种群,以保证整个种群不断向前进化,直至搜索到全局最优点;引入变尺度混沌变异,进一步提高了本文算法的搜索精度。

2004年Sun等在研究了Clerc等人关于粒子收敛行为的研究成果后,从量子力学的角度提出了一种新的PSO算法模型。认为粒子具有量子行为,并根据这种模型提出了量子粒子群算法(QPSO)[2],并且得到了很好的实验效果。

1 粒子群和量子粒子群算法

1.1 粒子群算法(PSO)

由Kennedy和Eberhart提出的PSO算法[3],是将寻优的参数组合成群体,通过对环境的适应度来将群体中的个体向好的区域移动。与其他进化算法不同,个体没有体积的微粒(点),结合微粒的历史最佳位置和群体历史最佳位置信息,以一定的速度向目标值逼近。

1.2 量子粒子群算法(QPSO)

从量子力学的角度提出了一种新的PSO算法模型[4,5]。认为粒子具有量子行为,并根据这种模型提出了量子粒子群算法(QPSO),在量子空间中粒子的满足聚集态的性质完全不同,它可以在整个可行解空间中进行搜索,因此QPSO算法的全局搜索的性能远远优于标准PSO算法。在量子空间中,粒子的速度和位置是不能同时确定的。通过波函数来描述粒子的状态,并通过求解薛定谔方程得到粒子在空间某一点出现的概率密度函数,又通过蒙特卡罗随机模拟方式得到粒子的位置方程。在具有量子行为的粒子群优化算法中,粒子的主要迭代公式:

undefined

Pid=ϕ*Pid+(1-ϕ)*Pgd ϕ=rand (2)

xid=Pid±β*|mbest-xidundefined

这里mbest是粒子群pbest的中间位置,Pid为Pid和Pgd之间的随机点,ϕ和μ都是[0,1]的随机数,β为QPSO的收缩扩张系数。

QPSO的算法流程可以这样描述:

(1) 初始化粒子群;

(2) 根据公式(1)计算mbest的值;

(3) 求每一个粒子的适应度值,比较求出Pid;

(4) 对于每一个粒子比较Pid,求得Pgd;

(5) 更新Pgd;

(6) 对于粒子的每一维,根据公式(2),在Pid和Pgd之间取得一个随机点;

(7) 根据公式(3)获得一个新的位置;

(8) 重(2)~(7)直到条件不满足,则迭代过程结束。

2基于混沌变异算子的小生境量子粒子群算法

2.1 RCS小生境进化策略

小生境策略以其能有效解决多峰函数优化问题而广泛应用于进化算法[6]。本文采用文献[7]提出的RCS(Real time Control System)策略作为构造小生境的基础。通过控制子种群之间的排挤和竞争,使各个子种群在进化中动态形成各自独立的搜索空间,从而实现对多个局部极值进行同步搜索,避免了算法的早熟收敛。

算法中的小生境半径定义了各个子种群独立的搜索空间,一旦某个小生境最优个体进入了其他小生境的搜索空间,则重置该个体,并在其所在的小生境内重新选择最优个体。从而使每个小生境子种群自然形成,减少了标准PSO算法和QPSO算法的所有个体作为整体种群陷入局部最优的概率。

2.2 变尺度混沌变异

混沌是自然界广泛存在的一种非线性现象,具有随机性、遍历性、初始条件敏感性等特点,已被广泛应用于随机优化[8],在局部寻优领域具有优越的性能。本文使用的混沌映射Logistic迭代方程为:

βundefined=μβundefined(1-βundefined) k=1,2,… (4)

β∈(0,1) β≠0.25,0.5,0.75

其中βundefined是对应于粒子Xundefined的第j个混沌向量,当μ=4时,logistic方程完全进入混沌状态。经过多次试验可以证明,利用混沌的遍历性,可以很好地实现局部搜索。

在寻优的过程中,对每个小生境的种群最优个体进行混沌迭代变异,变异空间随着代数的增加而逐渐减小。对第i个种群的最优个体Pibest=[x1,x2,…,xj,…,xn]进行混沌变异最优粒子Pnbest变量的搜索空间随着代数的增加而围绕小生境的极点逐渐缩小。这样,在进化初期变异尺度大,有利于算法在广阔的空间搜索全局最优解;在进化后期变异尺度小,在小空间内紧紧围绕局部极点精细搜索,有利于提高解的精度。

2.3 基于混沌变异算子的小生境量子粒子群算法

结合小生境策略全局优化与变尺度混沌变异精细搜索各自的优点,本文提出一种全新的粒子群算法,并在算法中引入了种群淘汰策略,结合小生境的子种群竞争策略一起使用。运行中首先利用RCS竞争策略,使各个小生境子种群形成独立的搜索空间,追逐不同的极值点;然后每隔一定代数,对陷入局部最优的最劣子种群进行随机初始化。这样可使种群在不断的竞争和更新中向前进化,从而避免了算法早熟收敛,保证了收敛到全局最优。而没有更新的小生境种群继续向前进化,又保证了搜索精度的连续提高。NCQPSO(Niche Chaotic mutation Quantum-Behaved Particle Swarm Optimization )算法具体流程如下:

(1) 初始化小生境粒子种群;

(2) 计算粒子适应度,找出每个小生境种群中的最优粒子;

(3) 实施RCS小生境淘汰选择进化策略,确定每个小生境独立搜索空间的最优个体;

(4) 如果迭代次数到达一定代数,则对最劣的小生境子种群进行更新初始化;

(5) 对所有小生境子种群的最优个体实行变尺度的混沌变异,进一步提高搜索的精度;

(6) 对每一个小生境子种群独立进行QPSO优化;

(7) 如果满足条件,则停止迭代,输出最优解,否则转向(2)。

3 实验结果和分析

为了测试基于混沌变异小生境的量子粒子群算法(NCQPSO)的性能,本文使用了3个典型测试函数来进行实验,并且将实验的结果和标准的PSO和原始的QPSO算法进行比较。所用函数如图1所示,Rosenbrock函数是一个经典复杂优化问题,其全局最优点位于一个平滑、狭长的抛物线形山谷内,由于函数仅仅为优化算法提供了少量信息,使算法很难辨别搜索方向,找到全局最小点的机会微乎其微,因此,Rosenbrock函数通常用来评价优化算法的执行效率。Rastrigrin和Griewank函数是典型的非线性多模态函数,它们具有广泛的搜索空间、大量的局部极小点和高大的障碍物,通常被认为是遗传算法很难处理的复杂多模态问题。表1给出的是3个测试函数的初始空间,以及理论值,维位置的上限。

本文比较了NCQPSO算法和标准的PSO算法,原始的QPSO 算法对于基准函数测试的结果。算法的粒子种群为25,分为5个子种群,每个子种群的粒子数是5。标准PSO的参数的设置如下:

c1=c2=2 wmax=0.9 wmin=0.1

算法统一的迭代的次数定为2000次,2000次以后认为算法停滞。各个算法分别运行50次,取平均结果来表示算法对函数测试的结果。与此同时,将各个种群的空间维数固定为20,以便于各个算法进行比较,同时设小生境的半径Rnich为10-4。另外还将在50次运算当中成功找到最优解的次数作为解的稳定性的衡量。

从表2可以看出NCQPSO与另外两种算法相比较具有更加优秀的搜索最优解的能力,即拥有更高的稳定性和更加精确的搜索精度。为了进一步说明NCQPSO的优越性,本文给出几种算法对于Rosenbrock函数的测试曲线,如图1所示。

4 结 论

本文算法利用广泛应用于多目标函数优化的小生境策略掌控粒子群的全局搜索方向,其竞争策略使子种群在搜索过程中自动追寻不同的极值点,形成不同的搜索空间;淘汰策略则使子种群不断更新。两种策略的有机结合,成功地避免了算法的早熟收敛,提高了全局寻优能力;变尺度混沌变异的引入,则显著提高了算法的搜索精度。实验结果表明,与传统的PSO算法和QPSO算法相比,本文算法寻优能力强、搜索精度高、稳定性好,适用于处理高维多极连续函数的优化问题。

摘要:针对粒子群算法早熟收敛和搜索精度低的问题,提出了基于混沌变异的小生境量子粒子群算法(NCQPSO)。该算法结合小生境技术并加入了淘汰机制。使算法具有良好的全局寻优能力。变尺度混沌变异具有精细的局部遍历搜索性能。使算法具有较高的搜索精度,实验结果表明,NCQPSO算法可有效避免标准PSO(Particle Swarm Optimization)算法的早熟收敛,具有寻优能力强、搜索精度高、稳定性好等优点。也优于原始的量子粒子群算法QPSO(Quantum-behaved Particle Swarm Optimization)。

关键词:混沌变异,小生境,粒子群优化算法,量子粒子群优化算法

参考文献

[1]Kennedy J,Eberhart RC.Particle Swarm Optimization[A].Proceed-ings of the IEEE Service Center,1995:1942-1948.

[2]Sun J,Feng B,Xu WB.Particle SwarmOptimization with Particles Hav-ing Quantum-Behavior[A].Proceedings of 2004 Congress on Evolu-tionary Computation,2004:325-331.

[3]Eberhart R,Kennedy J.A new optimizer using particle swarm theory[C].Proc of Int’1 Symp on Micro Machine and Human Science.Pis-cataway,IEEE Service Center,1995:39-43.

[4]Sun J,Xu WB.A Global Search Strategy of Quantum-behaved ParticleSwarm Optimization[A].Proceedings of the IEEE Congress on Cyber-netics and Intelligent System,2004:111-116.

[5]Maurice Clerc,James Kennedy.The Particle Swarm:Explosion,Stabili-ty,and Convergence in a Multi-Dimensional Complex Space.IEEETransactions on Evolutionary Computation,2002:58-73.

[6]陈辉,张家树,张超.实数编码混沌量子遗传算法[J].控制与决策.2005,20(11):1300-1303.

[7]Lee C G,Cho D H,Jung H K.Niche genetic algorithm with restrictedcompetition selection for multimodal function optimization[J].IEEETrans on Magnetics,1999,35(3):1122-l125.

混沌粒子群算法 篇10

粒子群优化算法(PSO)的基本思想受启发于鸟群的觅食过程[1],它具有进化算法所具有的启发式和随机搜索的特点,相对其他进化算法,PSO更简单,更容易实现,已应用在很多工程领域。但PSO也存在容易陷入局部最优(早熟)的缺点,因此,国内外学者提出了各种算法改良方法[2,3,4,5],在近期研究中,有学者提出了比较新颖的思想,文献[6]利用自然界的“鲶鱼效应”思想,对PSO种群进化策略进行了改良,文献[7,8]引入了混沌技术对PSO每代更新公式里的随机参数进行了改进。著名的“No Free Lunch定理”[9]已从理论上证明了在数学意义上所有优化算法在所有可能的问题范围内都会具有相同的平均性能,因此各种优化算法都有自身的优点、缺点和适用范围[10]。为克服这种缺点,综合不同算法的优点,取长补短,使算法优势互补,近20年来涌现了大量的混合算法[11]。差分进化算法(DE)[12]作为另一种群体演化的优化算法,从Hendtlass在2001年提出首个DEPSO算法[13]开始,DE就被广泛应用到与PSO混合的算法上,据研究[14],2001年至2010年在国际学术杂志公开发表的粒子群(PSO)混合算法,PSO+GA(遗传算法)占34%,PSO+DE(差分进化算法)占22%,PSO+其他占44%,该研究显示近年公开发表的PSO+DE混合算法有快速上升的趋势,说明DE有自身独特的优势,在与PSO混合算法中得到越来越多研究人员的认同。本文通过分析文献[7,8],在此基础上进行了相应的进化策略改良,并把改良后的PSO与DE进行混合,得到一种混合算法,通过大量的实验计算,验证了本文改良策略不但改良了PSO自身搜索性能,还通过与DE的混合,显著地提高了在各类问题的优化性能。

1 粒子群优化算法

1.1 基本粒子群优化算法

粒子群优化算法是文献[1]中提出的一种模拟自然界鸟群觅食过程的随机搜索算法,模拟的生物个体称作粒子,代表问题空间的一个可行解。粒子在搜索过程中受当前最优粒子的指引,并经逐代搜索,最后得到最优解。粒子具有速度,设定一个群体共有M个粒子在D维的搜索空间里,受当前最优粒子的位置牵引,粒子it时刻的状态如下:位置,xidt=[Ld,Ud],LdUd分别是搜索空间的最小值和最大值;速度vit=(vi1t,vi2t,…,vidt),vidt∈[vmin,d,vmax,d],vmin、vmax分别为速度的最小值和最大值;个体最优位置pit=(pi1t,pi2t,…,piDt),全局最优位置pgt=(pg1t,pg2t,…,pgDt)。其中,1≤dD,1≤iM。那么,粒子在时刻t+1时的位置通过下面更新公式获得:

其中,r1、r2为均匀分布在(0,1)的随机数;c1、c2为学习因子,通常取c1=c2=2。

文献[15]随后提出惯性权重w,速度更新公式加入惯性权重后,会根据迭代的次数动态调整速度,速度更新式(1)改成:

vidt+1=wvidt+c1r1(pidt-xidt)+c2r2(pgdt-xidt) (3)

惯性权重w是影响算法性能的一个重要因素,当w值较大时,算法的全局搜索能力较好,也就是搜索能力较强,当w值较小时,则算法的局部搜索能力较强,也就是开采能力较强,通常将w初始设为0.9,随着迭代数增加,线性减至0.4,这样,初期增加算法的全局搜索能力,后期加强算法的局部精细搜索能力。w变化公式如下:

w=wmax-wmax-wminintermax×inter (4)

其中,wmax、wmin、intermax、inter分别是最大惯性权重、最小惯性权重、最大迭代数、当前迭代数。

1.2 鲶鱼效应改进的粒子群算法

文献[6]把自然界的鲶鱼效应引进到粒子群算法,其基本思想是引入鲶鱼与沙丁鱼竞争,进而淘汰没有活力的沙丁鱼。在算法上,如果在迭代过程中,全局最优解在一定代数内没有进化,则把个体解最差的90%的粒子(没有活力的沙丁鱼)初始化,恢复群体活力。由于这种鲶鱼效应的改良方法是针对整个种群,本文把此方法命名为“种群鲶鱼效应粒子群算法”,这种改良策略是为了提高算法的搜索能力,种群鲶鱼效应粒子群算法的步骤如下:

(1) 初始化种群。

(2) 计算种群里个体的适应度。

(3) 记录个体最优解pbest,全局最优解gbest。

(4) 根据速度、位置更新公式更新种群各个个体位置。

(5) 判断全局最优解gbest在规定代数内是否有进化?如果有进化,转到步骤(6);如果停止没有进化,把个体适应度由好到差排序,把90%程度度最差的个体进行位置、速度初始化,转到步骤(6)。

(6) 判断是否满足停止条件,满足即终止计算,否则重复步骤(2)。

1.3 混沌粒子群算法

1.3.1 混沌技术

混沌运动普遍存在于非线性系统中,是一种看起来随机的非随机运动,具有随机性、遍历性和规律性[7]。由于具有遍历性特点,易实现和避免局部陷阱的特殊能力,混沌技术已引入到优化算法中。混沌系统动力学模型种类繁多,我们选用Logistic方程,这是一个典型的混沌系统[8],方程式如下:

式中,Cr(0)是算法每次运行时随机产生,并不等于{0,0.25,0.5,0.75,1},k等于4。

1.3.2 改良速度更新公式的混沌粒子群算法

混沌引入到粒子群算法有多种方法,文献[8]提出一种改善速度更新式子的混沌方法,这方法利用混沌技术的遍历特性,使速度更新时具有遍历性效果,这种算法是为了提高算法的搜索能力,该算法速度更新公式如下:

vidt+1=wvidt+c1Cr(pidt-xidt)+c2(1-Cr)(pgdt-xidt) (6)

式中,Cr是根据式(5)产生。

2 本文算法应用的两种改良策略

2.1 精细搜索的混沌粒子群算法

文献[16]把混沌引入到差分进化算法中,在每代最优解xbest附近进行混沌搜索,有效地提高了局部精细搜索能力。同理,我们也可以把混沌引入到粒子群算法中,在每代最优解xbest附近进行精细搜索,该搜索策略可表示为:

式中,α是方向因子,Cr是式(5)产生的混沌数,UdLd分别是搜索空间的上下限。

在每代最优解xbest附近进行搜索时,文献[16]是用fk=Cr(Ud-Ld)算出的偏离幅度在最优解附近进行混沌搜索,但这方法跳动的幅度相对比较大,容易错过附近的更优极值,我们设计这种混沌搜索策略是为了不要错过每代最优解附近可能存在的更优解,为了更有利达到这个目的,本文用式(9)的方法进行改良,在每代最优解附近跳动的幅度大为缩小,有利提高局部的“精细搜索能力”。

本文将这种混沌搜索方法称为“混沌精细搜索策略”,这种策略有效提高算法的深度搜索能力。

2.2 个体鲶鱼效应粒子群算法

上面介绍了文献[6]提出的种群鲶鱼效应粒子群算法, 这种群体鲶鱼搜索方法在搜索过程中往往要不止一次重新初始化90%的个体,每次初始化都使群体中绝大部分的个体的搜索都要“从头再来”,重新从最初状态开始搜索,常常会导致群体在一个不短的代数内不再进化,而这种“从头再来”又容易导致恶性循环,因为前一次的初始化使群体在设置的一定代数内没有进化,根据算法设计,又要重新初始化90%个体,又来一次“从头再来”,群体搜索还未找到更优的解,再次被初始化打断了进化进程,算法一旦掉进这个陷阱,性能可能还不如基本算法。

作为改良,本文的初始化只是针对个体,即在进化过程中记录每个个体的进化,如果某个个体在一定代数内没有进化,就把该个体初始化,恢复该个体的活力。“重新初始化”针对的是单个个体,不会导致群体绝大部分个体重新初始化重新搜索的问题,保证了进化进程没有屡屡被中断。本文把这种策略称为“个体鲶鱼效应粒子群算法”,个体鲶鱼效应粒子群算法的步骤如下:

(1) 初始化种群。

(2) 计算种群里个体的适应度。

(3) 记录个体最优解pbest,全局最优解gbest。

(4) 根据速度、位置更新公式更新种群各个个体位置。

(5) 记录每个个体不再进化的代数。

(6) 判断每个个体在规定代数内是否有进化?如果有进化,转到步骤(7);如果停止没有进化,把该个体位置、速度初始化,转到步骤(7)。

(7) 判断是否满足停止条件,满足即终止计算,否则重复步骤(2)。

3 差分进化算法(DE)

差分进化算法也是一种启发随机搜索算法,它保留了遗传算法的基本框架,同样包含有选择、交叉和变异三个操作,不同的是它由变异到交叉,再到选择的顺序。DE/rand/1 策略[12]是差化进化算法普遍应用的一个方法,也是本文采用的版本。DE种群共有M个候选解,初始种群为xit,i=1,2,…,M。变异操作时,任一随机矢量vit根据式(10)产生变异,式中随机数r1,r2,r3∈{1,2,…,M},加权因子F∈[0,2]。杂交操作中,新种群xit=[x′t1,x′t2,…,x′td]由随机矢量vit=[vi1,vi2,…,vid]和目标矢量xit=[xi1,xi2,…,xid]共同产生,具体操作如式(11)所示,其中j=[1,2,…,D],rand b(j)∈[0,1]是同一随机数的第j个值。CR∈[0,1]是变异概率,rand r(i)∈[1,2,…,D]是随机选择维数,它确保个体至少一个变异数。

选择操作中采用贪婪策略:

其中Φ(x)代表适应函数。

4 粒子群优化的混合算法

粒子群算法已广泛应用于科学研究、工程技术和经济管理等诸多领域,但实际优化问题越来越复杂,只靠单一的粒子群算法往往不能取得满意的结果,国内外学者逐渐用粒子群算法与其他算法混合起来,从而使混合算法具有不同算法的互补优势,正如进化计算与混合算法研究专家Raidl所言[17],选择一种适当的混合算法对于高效地求解多数困难问题而言都是非常有必要的。

PSO+DE混合算法的步骤如下:

(1) 初始化种群PSO和DE。

(2) 分别计算种群PSO和DE里个体的适应度。

(3) 分别记录各个种群的个体最优解pbest,全局最优解gbest。

(4) 选出PSO、DE最优的gbest作为各自种群的gbest。

(5) 根据速度、位置更新公式更新种群各个体位置。

(6) 判断是否满足停止条件,满足即终止计算,否则重复步骤(2)。

5 仿真实验

5.1 实验算法

为检验本文提出的两种改良策略:混沌精细搜索策略和个体鲶鱼效应搜索策略的有效性,本文将这两种改良策略与上面所述最近文献的三种改良策略进行组合和比较,形成11个算法,这些算法具体如下:

算法1

有惯性权重的粒子群算法,这是广泛采用的一个粒子群算法的基本形式,即由式(2)和式(3)组成的粒子群优化算法,本文简称为PSO,这是个最基本的PSO算法。

算法2

由算法1经过种群鲶鱼效应改良的算法,本文简称PSO_Catfish_1,这是文献[6]提出的一种改良策略。

算法3

由算法1经过个体鲶鱼效应改良的算法,本文简称PSO_Catfish_2,这是本文提出的个体鲶鱼效应改良策略对算法1的改良,仿真实验中与算法2的改良效果进行比较。

算法4

引入混沌技术改良过速度更新式子的算法,即是由式(5)、式(6)和式(2)组成的算法,本文简称CPSO,这是文献[8]提出的改良速度更新公式的混沌粒子群算法。

算法5

由算法4经过种群鲶鱼效应改良的算法,本文简称CPSO_Catfish_1,这是文献[8]提出的混沌种群鲶鱼粒子群优化算法。

算法6

经过个体鲶鱼效应改良的算法4,本文简称CPSO_Catfish_2,这是本文提出的混沌个体鲶鱼粒子群优化算法,仿真实验中与算法5的改良效果进行比较。

算法7

引入了混沌精细搜索策略的PSO算法,即是由式(3)、式(2)、式(7)、式(8)和式(9)组成的算法,本文简称为CFSPSO,这是本文提出的另一改良策略——混沌精细搜索策略形成的算法。

算法8

经过个体鲶鱼效应改良的算法7,本文简称CFSPSO_Catfish_2,这是本文提出的两种改良策略组合成的新型算法。

算法9

协作式混合的基本PSO+DE混合算法,即是根据式(3)、式(2)、式(10)、式(11)和式(12)混合的算法,把PSO和DE算法都分配到搜索空间中各自独立地按照算法自身的参数进行搜索,并把混合算法最优解作为两算法的信息共享变量,在进化的每一代都要比较两者各自搜索到的最优解,选取优者为混合算法的最优解,之后把混合算法最优解作为下一代的PSO和DE各自的全局最优解,进行下一代搜索,利用这种最优解信息共享机制可以有效地协调两算法的运行,达到混合的目的。本文简称PSODE,这是基本的PSO+DE混合算法。

算法10

经过个体鲶鱼效应改良的算法9,本文简称PSODE_ Catfish_2,仿真实验验证本文提出的个体鲶鱼效应改良策略利用到混合算法的有效性。

算法11

本文提出的两种改良策略:混沌精细搜索和个体鲶鱼效应搜索,是分别从加强每代最优解附近精细搜索,有效增强个体粒子活力这两个角度对PSO算法进行改良,这样改良后的PSO算法的搜索策略还是PSO算法的框架。而差化进化算法(DE)有着不同PSO的进化策略,把PSO与DE进行混合可以基于进化策略的差异而搜索多样性使算法不易掉进局部陷阱出不来,达到取长补短的作用。把经过本文提出的混沌精细搜索和个体鲶鱼效应搜索改良后的PSO,再与DE进行混合,得到本文的混合算法,简称PSODE_Self。

5.2 算法优化性能仿真比较

下面用三个标准测试函数来测试上述算法的优化性能,这些标准函数如下:

(1) Sphere函数

f1(x)=i=1nxi2

其中X=(x1,x2,…,xn),-100≤xi≤100。

(2) Rastrigrin函数

f2(x)=i=1n[xi2-10cos(2πxi)]+10

其中X=(x1x2,…,xn),-5.12≤xi≤5.12。

(3) Rosenbrock函数:

f3(x)=i=1n100×(xi+1-xi2)2+(1-xi)2

其中X=(x1,x2,…,xn),-30≤xi≤30。

这些标准函数理论最小值都是minf(x)=0, f1Sphere是个单峰函数,f2Rastrigrin是山谷形的狭长抛物状的,很容易搜索到山谷,但要达到全局最优却非常困难,f3Rosenbrock是典型的非线性多模态函数,很难最小化,在搜索区域内存在成千上万的局部极小值,搜索极容易陷入局部最优。

5.3 仿真实验设置

上面各种算法中,PSO种群规模取50,DE种群规模取30,函数维度为10,惯性权重w初值0.9,终值0.4;学习因子c1=c2=2,DE的交叉概率CR为0.8,两个种群迭代都是1500。实验机器是Intel Pentium Dual T2390 @ 1.86的CPU,2GB内存,软件用Matlab 7.0,windows XP操作系统。

5.4 仿真结果

为消除随机搜索的误差,每个算法将独立运行50次,得出函数值后再求平均,并为了分析算法的时间开销,结果见表1所示。并用Matlab自动记录算法的搜索过程,绘出各算法的函数收敛曲线图。由于开始和最终寻优得到的数值相差幅度太大,为了方便比较分析,本文对每代寻优得到的函数值求自然对数,即ln(fitness)以e为底的对数,绘出的进化曲线图,如图1-图3所示。

5.5 仿真结果分析

综合表1和进化曲线图1-图3可以看出,经过对三个函数的测试,本文提出的两种改良策略均有较好的表现,详细分析如下:

1) 分析算法1-算法3:

算法2、算法3是分别用不同的策略对算法1进行改良。

(1) 引入了种群鲶鱼效应的算法2,从表1看到算法2的性能比算法1有一定的改善,从进化曲线图分析,发现两者的进化过程并没太大差别。这是因为种群鲶鱼算法在一定程度上增强了全局搜索能力,但由于在一定代数没有进化的时候,就要重新初始化90%的个体,基本是整个种群被再次初始化,重新进行搜索,这方法虽然有利提高广度搜索能力,但会很大地影响算法的深度搜索,总体上的改善性能不显著。

(2) 本文提出的经个体鲶鱼效应改良的算法3,在Rastrigrin和Rosenbrock这些复杂函数搜索性能有着十分显著的改善,但在简单函数Sphere却表现一般,原因在于Sphere太简单,种群不需要有太强的广度搜索能力,更需要深度搜索能力,算法只要集中于局部进行深度搜索,就能不断进化,可以取得更高的精度,但算法3由于记录粒子个体的进化,经常对个体重新初始化,影响了个体的深入开采,因此在简单搜索的时候性能表现一般。

2) 分析算法4-算法6:

类似地,算法5、算法6分别用种群鲶鱼效应和个体鲶鱼效应对算法4进行了改良。

(1) 比较算法4和算法1,发现算法4这种只是用混沌技术对速度更新式子的随机数进行修改,如式(6)所示,对算法性能不但没有改善,反而性能更差,原因在于算法1速度更新式(3)中,随机数本身就有种群多样性的作用,但经混沌技术修改成式(6)后,却带有遍历特性,反而对种群多样性有损害,影响了算法的广度搜索能力。

(2) 算法5、算法6和算法4比较,发现经过种群鲶鱼效应改良的算法5只是有一定的改良,而经个体鲶鱼效应改良的算法6,性能改良非常显著,因为算法6的个体鲶鱼效应有效增强了算法的广度搜索能力,同时又保持深度搜索能力。从进化曲线图可以看出,两者改善性能跟上面Ⅰ的分析极为相似,经过个体鲶鱼效应改良的算法6在复杂函数的寻优上有着更好的性能,表明本文提出的个体鲶鱼效应改良算法的有效性。

3) 分析算法7、算法8:

经过混沌精细搜索策略改良的算法7,性能表现平平,而加入个体鲶鱼效应的算法8,性能有明显的改善。从进化曲线图看到,算法8的复杂函数Rastrigrin和Rosenbrock性能改善更为明显,说明本文提出的混沌精细搜索策略单独使用效果不显著,应与本文提出的个体鲶鱼效应策略组合使用,能获得更好的性能。

4) 对算法9-算法11的分析:

这三个算法都是PSO和DE的混合算法。

(1) 从表1数据和进化曲线图可见,算法9-算法11的性能比前面8个算法都在显著的提升,这是因为混合算法有互补优势,极大的提升了算法的广度搜索和深度搜索能力,这是混合算法的独特优势,这也是本文提出的改良策略最终集合到混合算法的原因。

(2) 从进化曲线图看出,在sphere这种简单的函数优化上三种混合算法的进化曲线高度相似,而在Rastrigrin和Rosenbrock这两种复杂的函数搜索时,算法11的性能改善得很显著。

(3) 经过个体鲶鱼效应改良的算法10,不但在Sphere有了更好的表现,在后两个复杂函数更有着非常显著的改善。在算法10基础上再进行混沌精细搜索策略改良后,形成的算法11,性能更是优越,比前面10个算法都好。

综而述之,经过大量的仿真实验,发现算法经过个体鲶鱼效应改良后,性能均有显著的提升;而原始粒子群算法只经单一的混沌精细搜索策略改良后,性能表现平平,但把混沌精细搜索策略与个体鲶鱼效应结合,再应用到粒子群优化与差分进化混合算法时,性能就有非常显著的改善,并且在不同类型的测试函数表现得相当稳定。仿真结果验证了本文应用的两种改良策略——混沌精细搜索和个体鲶鱼效应改良策略是有效的,最后组成的新型混合算法在实验中获得比其他算法更好的寻优性能。

另外,从表1也可以看出,在时间开销方面,单一的粒子群算法时间基本都在2秒以内,而混合算法的时间就多了一倍多,但也在5秒以内,处于可以接受的范围以内。

6 结 语

本文经过分析最近文献提出的三种改良粒子群算法——鲶鱼效应改良策略、混沌改良策略、与差分进化算法混合的改良策略,分析其优点和不足,应用了两个改良方法——混沌精细搜索策略和个体鲶鱼效应改良策略,经过大量仿真实验,表明了本文提出的改良策略的优越性,并且在实验中进行算法比较,证明本文最终提出的新型混合算法有更好的寻优性能。

摘要:为了提高粒子群优化算法的寻优精度,分析了最新文献提出的三种粒子群算法改良策略的优点和不足之处,对混沌搜索策略和鲶鱼效应策略进行了改良,通过仿真证明了提出的改良方法的优越性。最后提出一种新型混合算法,并在仿真实验中进行了各种算法性能比较,验证了最终提出的新型混合算法有更好的优化性能。

混沌粒子群算法 篇11

反演的实质是不适定的寻优,许多实际问题均具有非线性、约束性、多极小等特点。传统的局部搜索方法如共轭梯度法、最小二乘法的搜索空间很小,且依赖初始模型,容易陷于局部极值,因此基于全局搜索的智能算法的研究越来越受到人们的关注。Ranjit S[9]将粒子群算法(PSO)运用到地球物理数据反演,取得了很好的结果,但是搜索过程慢,后期难收敛。师学明[10]提出一种阻尼振荡的惯性权重 ,且证明了这种混沌振荡的能加快收敛速度,跳出局部极值。本文参考了混沌振荡的思 想 , 提出一种 充分混沌 振荡PSO算法(FCO-PSO),在各影响粒子群速度更新的参数中引入混沌搜索,并用于频谱激电复电阻率的三维反演。文中介绍了PSO算法的基本原理和混沌振荡用于改进算法各参数的方案,然后在一复电阻率模型上进行模型反演,并将其性能与标准PSO和阻尼PSO算法进行对比,模型实验表明,该方法不容易陷于局部最优,稳定有效,具有较高的性能。

1 方法原理

1.1 PSO 算法的基本原理

粒子群优化算法(PSO)是在1995年由Kennedy等[11]提出的基于群体智能的全局随机搜索算法。采用速度- 位置搜索模型,每个粒子代表解空间的一个候选解,解的优劣程度由适应度函数决定,而适应度函数的选取根据具体的优化目标定义。PSO随机把一群粒子随机初始化,其中第i(i=1,2,…,N)个粒子在d维解空间的位置是xi=(xi1,xi2,…,xid)。速度vi=(vi1,vi2,…vid)决定在搜索空间单位迭代中位移。每次迭代中,每个粒子都是通过动态跟踪个体极值和全局极值来更新其速度和位置。其中个体极值是粒子从初始到当前迭代次数搜索找到的最优解Pi=(Pi1,Pi2,…Pid)。全局极值是粒子种群目前的最优解g=(g1,g2,…gd)。迭代过程中,个体极值和全局极值不断更新,最后得到的全局极值就是算法得到的最优解粒子群中的每个粒子根据式(1)和(2)来更新其速度和位置:

其中ω为惯性权重,r1、r2是分布的在(0,1)区间的随机数,c1和c2是学习因子,t为迭代次数,r是约束因子,一般设为1。

1.2 改进的充分混沌振荡 PSO(FCO-PSO)算法

PSO算法中,r1、r2、c1、c2和ω都是影响其收敛速度的重要因素。标准的PSO收敛速度很快,但后期表现为趋同性,易陷于局部极小。因此本文在标准PSO的各个参数中各自引入混沌搜素,让其充分混沌振荡,提高PSO算法的收敛速度,同时避免算法后期振荡。

(1)混沌惯性权重、学习因子以及随机数。

合适的惯性权重ω有助于PSO均衡探索能力与开发能力。对较大的ω,粒子利于全局寻优。对较小的ω,算法容易收敛。Y.Shi等[12]提出线性递减惯性权重策略(LDW),Eberhart[13]提出针对动态优化问题的随机惯性权值,师学明[10]证明了一种呈阻尼振荡递减的下降形态有助于PSO跳出局部极值,加快收敛速度。本文结合Logistic方程将混沌引入的优化,实现如下。式(3) 中,是控制参数,t为迭代次数,ωmax和ωmin分别为0.9、0.4。当y(0)∈(0,1)、μ=4时,方程是完全混沌的。已有数值试验证明,y(0)的选择对最终适应度影响不大,算法终能收敛到最优解附近,本文设为y(0)=0.234。

学习因子c1和c2代表粒子本身经验信息和其他粒子经验信息对粒子运行轨迹的影响,反映了群体间的信息交流。Shi和Eberhart平衡随机因素的作用,取c1=c2=2。本文为了有效提高算法收敛度,将混沌因子引入到c1和c2中。式中,i=1,2,cmax和cmin是c的取值范围,分别为1.5、2.05。

除了在ω、c1和c2中引入混沌搜索外,为克服随机数取数取值带来的效率不高,将混沌引入随机数r1和r2中。

式中,ri(t)∈(0,1),i=1,2

(2)混沌粒子初始值和混沌最优解。

PSO随机初始化粒子时,本文也将混沌序列引入到初始值中用以产生初始粒子的位置和速度,提高种群的多样性和搜索便利性。另外,在所有粒子群至今搜到的最优解中引入混沌,并将此混沌序列中最优解作为粒子更新的位置,能防止粒子的趋同性并使惰性粒子快速跳出局部最优解。

1.3 混沌 PSO 算法的优化步骤

本文在SPSO算法基础下,分别在r1、r2、c1、c2和ω中引入混沌搜素,其实现步骤如下:

步骤1初始化算法参数:群体规模N,最大迭代次数Iter,ω的取值[ωmin,ωmax],学习因子范围[cmin,cmax]。根据式(3)至式(7)产生r1、r2、c1、c2和ω的混沌序列;

步骤2利用混沌序列产生初始粒子的位置和速度。随机产生的在(0,1)之间d维向量Zdi(t)代入式(3)logistic映射中,得到N个不同轨迹的混沌序列作为初始群。然后将Zdi(t)各个分量通过Pdi(t)=Pdmin+(Pdmax-Pdmin)×Zdi(t)逆映射到对应变量的取值范围内。计算粒子适应度,从N个初始化种群选取性能好的M个位置作为初始值,随机产生M个初始速度;

步骤3比较粒子的当前适应度值F(xdi)和个体极值适应度F(Pdi),若优于后者,更新Pdi。比较更新后的F(Pdi)和全局极值适应度F(gd),若优于后者,更新gd;

步骤4根据式(1)和(2)更新粒子的速度和位置。其中的ω、r1、r2、c1和c2依次取步骤1中产生的混沌序列;

步骤5混沌优化全局极值gd。将gd映射到(0,1)即Zdi(t)=(gd-xdmin)/(xdmax-xdmin),其中[xmin,xmax]为粒子位置的取值范围。将Zdi(t)代入式(3)logistic映射中进行迭代产生混沌变量。通过gd(t)=xdmin+(xdmax-xdmin)Zdi(t)逆映射将混沌变量载波至原解空间。计算在原解空间的混沌变量经历过每一个可行解gd的适应度值,获取性能最好的最优解gbest,最后用gbest替代当前种群任一粒子的位置;

步骤6判断是否满足精度需求或已达到最大迭代次数,满足输出全局极值,否则返回步骤3。

2 三维频谱激发极化复电阻率模型反演

本文针对SIP复电阻率进行了三维FCO-PSO非线性反演。具体的反演实验方案如下。

2.1 反演过程

反演问题可表示为求最佳模型使目标函数极小:

X是模型,d为测点上的观测数据,G代表正演操作,λ是正则化参数,C是n×n的模型二阶导数矩阵方阵(n是网格单元)。S的第一项(数据失配项)意味着我们要找到满足噪声标准的数据模型,用正演得到的所有测点的视电阻率。本文的正演采用的是有限单元法(FEM),其离散化是基于非结构化三角元素,自动生成三角形网格用以剖分视电阻率数据反演所用的三维地电断面。第二项是为了加入先验信息,引入稳定的反演算法,创建平滑模型。在求解正则化权衡参数λ时,我们采用了递减的方式,开始是一个相对比较大的值(默认为0.15),且随着迭代次数而减少。

一般地下介质的电导率变化范围很大,对数化处理电阻率和视电阻率lg(ρ),缩小变化范围,提高偏导数矩阵稳定性, 确保反演中不会出现视电阻率值和电阻率为负值的情况,有利于反演的稳定性。每次迭代计算后,计算数据的均方根误差RMS,如公式(9)示。其中dai是实测数据,dci是模拟数据,i=1,2,…,n。

2.2 模型反演输出

在上述的反演理论基础上,建立一个复电阻率模型来验证反演的结果,对反演的结果进行分析。观测数据由正演得到,为了说明观测误差对反演结果的影响,我们对模型正演的数据分别添加3%的随机噪声。本文用FCO-PSO进行复电阻率的三维非线性反演,最大迭代次数为2000次,反演中粒子个数取20个。

用于验证的模型为两个相邻地电体,如图1所示。两个地电体直接的距离为11个电极距。模型基本参数如下:采用dipole-dipole装置,每排含25个电极,14层电阻率数据,电极距为1.0m。围岩2的复电阻率幅度为50Ω·m,相位为90mard。模块1异常体大小为3m×2m,复电阻率幅度为100Ω·m,相位为90mard;模块3异常体大小为3m×2m,复电阻率幅度为50Ω·m,相位为100mard,其顶深均为2m.用该模型的正演视电阻率作为混沌PSO网络的输入,对网络进行反演测试。为了评价FCO-PSO算法的效率和反演质量的好坏,本文同时采用Levenberg—Marquardt法对模型的正演数据进行了反演计算。

Levenberg—Marquardt法作为局部搜索寻优法和FCO-PSO算法均能较为准确的反映复电阻率异常体幅度和相位的大小,范围和形态,但FCO-PSO反演算法的结果更加精确,细节方面也更加清晰,反演精度优于局部搜索算法的反演精度。如图2、图3所示。

FCO-PSO算法、标准PSO算法和阻尼PSO的性能对比见表1,其衡量指标为均方根误差RMS。从表中的数据可以看出:FCO-PSO较标准PSO算法和阻尼PSO算法有更低的均方根误差,由于FCO-PSO算法在各影响寻优参数中引入混沌振荡,能够根据结果进行自适应调整,类似于模拟退火的退火过程,提高了全局寻优能力,同时有效避免早熟收敛和提高搜索遍历性。

3 结束语

基于混沌振荡的FCO-PSO算法通过各粒子协同合作寻找极值,基本能准确的反映频谱激发极化复电阻率非线性反演的的输入输出特性,取得较好的反演结果。且算法避免了对初始模型的依靠和计算偏导数矩阵的问题,具有较强的适应性,优于局部搜索技术。在各参数 中引入混 沌搜索做 自适应调 整 , 使得FCO-PSO算法能更精准的逼近全局最优解,易跳出局部极值,优于标准PSO和阻尼PSO算法。

摘要:文章针对常规粒子群优化算法易于陷于局部极值,后期收敛速度慢,反演精度不高等缺点,提出了一种改进的充分混沌振荡粒子群优化算法,并用此算法在matlab2012b编程环境中对频谱激电复电阻率进行了三维数值试验,结果表明,此种算法反演时不依赖初始模型,增大搜索空间,在全局搜索,在准确性上优于标准PSO反演和阻尼PSO反演,成像质量优于Levenberg—Marquardt法反演。

上一篇:音乐课堂教学的改革下一篇:婚姻财产关系