混沌粒子群优化

2024-05-11

混沌粒子群优化(精选十篇)

混沌粒子群优化 篇1

1 粒子群优化算法 (PSO)

粒子群优化算法 (Particle Swarm Optimization, PSO) 是一种进化计算技术。

PSO求解优化问题时, 问题对应于搜索空间中一只鸟的位置, 称这些鸟为“粒子” (particle) , 其原理是:初始化一群随机粒子, 然后通过迭代寻找最优解。在每一次迭代中, 粒子通过跟踪两个“极值”来更新自己。一个是粒子本身所找到的最优解, 即个体极值pbest, 另一个极值是整个种群目前找到的最优解, 即全局极值gbest。粒子在找到上述两个极值后, 根据下式来更新自己的速度和新的位置:

其中, vk, m为第k个粒子在第m维度上的速度;xk, m为第k个粒子在第m维度上的位置;r1, r2为0和1之间的随机数;c1, c2为算法的学习因子, 非负常数, 通常取值相同, 介于0和4之间, 通常取c1=c2=2;w为惯性权重, 用来控制和提高优化效率。

2 粒子群优化算法的改进

2.1 基于模拟退火思想的粒子群优化算法

2.1.1 模拟退火优化算法

模拟退火优化算法[1] (Simulated Annealing, SA) 是一种模拟高温金属降温的热力学过程, 并广泛应用于组合优化问题上。模拟在进行优化时先确定初始温度, 随机选择一个初始状态并考察该状态的目标函数值;对当前状态附加一个小扰动, 并计算新状态的目标函数值;以概率1接受较好点, 以某种概率Pr接受较差点作为当前点, 直到系统冷却。模拟退火方法在初始温度足够高、温度下降足够慢的条件下, 能以概率1收敛到全局最优值, 由于它以某种概率接受较差点, 从而具有跳出局部最优解的能力。

算法的求解过程为:1) 初始化退火Tk (令k=0) , 产生随机初始解x0;2) 在温度Tk下重复执行如下操作, 直至达到温度Tk的平衡状态;在解x的领域中产生新的可行解x′;计算x′的目标函数f (x′) 和x的目标函数f (x) 的差值Δf;依照概率min{1, exp (-Δf/Tk) }>random[0, 1]接收x′, 其中, random是[0, 1]区间内的随机数。3) 退火操作:Tk+1=CTk, kk+1, 其中C∈ (0, 1) 。若满足收敛判据, 则退火过程结束;否则转2) 。

其中退火温度T控制着过程向最优值的优化方向进行, 同时它又以概率exp (-Δf/Tk) 来接收劣质解, 因此算法可以跳出局部极值点。只要初始温度足够高, 退火过程足够慢, 算法就能收敛到全局最优解。

2.1.2 基于模拟退火思想的粒子群优化算法

关于基于模拟退火思想的PSO算法, 文献[2]中提出了4种改进方法, 并且用具体例子证明第4种方法更为有效, 在此不再重复, 直接应用第4种方法。其具体改进思想为:1) 在更新位置时, 将其位置限制在xmax之内;2) 比较更新前和更新后的两个位置所对应的适应值, 如果适应值的变化量小于e, 则接受这个新位置;否则就拒绝, xk+1仍为xk。其中, e为允许适应值的变坏范围, 为常数。

2.2 混沌粒子群优化算法

2.2.1 混沌优化算法

混沌[3] (chaos) 是一种普遍的非线性现象, 其行为复杂且类似于随机, 但其有精致的内在规律性。由于混沌的遍历性, 利用混沌变量进行优化搜索会比盲目无序的随机搜索更具有优越性, 它可以避免演化算法陷入局部最优的缺点。

通常, 基于混沌动态的搜索过程分为如下两个阶段:

1) 基于确定性迭代式产生的遍历性轨道对整个解空间进行考察。当满足一定终止条件时, 认为搜索过程中发现的最佳状态 (Best to Far) 已接近问题的最优解 (只要遍历性搜索轨道足够长, 这种情况总能实现) , 并以此作为第二阶段的搜索起始点。

2) 以第一阶段得到的结果为中心, 通过小幅度的扰动进一步进行局部区域内的细搜索, 直到算法终止, 准则满足。其中, 所附加的扰动可以是混沌变量, 或者是基于高斯分布或柯西分布或均匀分布等的随机变量。

产生混沌序列时, 多采用的是logistic模型[4]:

cxks+1=u×cxks× (1.0-cxks) i=1, 2, …, n

其中, cxkscxk在第s步混沌演变后的值, cxk∈[0, 1.0], 0≤u≤4。当u=4时, 得到以下式子:

cxks+1=4cxks× (1.0-cxks) i=1, 2, …, n (1)

cxk∈ (0, 1.0) 且不等于0.25, 0.5, 0.75时, 将产生混沌现象, cxk将在 (0, 1.0) 内遍历。

对于取值不在 (0, 1.0) 的变量xk (其取值范围为 (ak, bk) ) , 可通过式 (2) , 式 (3) 转换:

cxk= (xk-ak) / (bk-ak) (2)

xk-ak+cxk (bk-ak) (3)

2.2.2 混沌粒子群优化算法 (Chaotic Particle Swarm Optimization, CPSO)

CPSO的主要步骤为:

1) 初始化, 给定粒子的个数, 随机产生每个粒子的位置和速度, 并计算对应的适应值, 求出psbestkgsbest (其中, k为第k个粒子;s为进行混沌运动的次数) 。

2) 将xks的每个分量通过 (2) 式进行转换, 映射为混沌变量cxks, 各分量cxks∈ (0, 1) 。

3) 更新每个粒子的速度和位置, 并计算每个粒子的适应值。

4) 混沌变量cxks的各分量经过 (1) 式做混沌运动, 得到新的位置点cyks

5) 将cyks的每个分量通过 (3) 式变换, 映射为{ak, bk}间的普通变量yks, 并计算f (yks) 。

6) 比较f (xks) , f (yks) 和f (psbestk) , 得到ps+1bestk。

7) 比较f (ps+1bestk) , f (gsbestk) , 得到gs+1bestk。

8) 判断是否已经满足终止条件, 若满足, 终止算法运行, 输出当前的最优解与最优值;否则, 返回到2) , 继续进行。

2.3 混沌模拟退火粒子群优化算法

由于模拟退火粒子群优化算法和混沌粒子群优化算法都能达到较好的效果, 且这两种算法并不相冲突, 故文中提出一种新的算法, 即把这两种方法结合起来, 称为混沌模拟退火粒子群优化算法 (the simulated annealing and chaotic particle swarm optimization algorithm) 。1) 对粒子更新的位置进行限制;2) 对粒子个体产生混沌扰动, 以使其跳出局部极值区域。

其具体流程图如图1所示。

其中, 第3, 8, 9步为模拟退火粒子群算法;第4, 5, 6, 7步为混沌粒子群算法。

3 算例

对以下两个经常被国内外学者用来测试优化算法有效性的测试函数进行优化计算, 以精度为0.001时所需的迭代次数作为比较, 粒子数为20个, 每种算法运行1 000次, c1=c2=2, w=1, xmax=2, vmax=1, 结果如表1所示。

F1=sin (x12+x22) sin2 (x12+x22) -0.5[1+0.001 (x12+x22) ]2+0.5;

F2=100 (x12-x2) 2+ (1-x1) 2。

在Visual Basic中, 编写了PSO程序, SAPSO程序, CPSO程序和SA-CPSO算法程序, 将计算结果导入到Excel中进行处理, 结果如表1所示。

对于这两个函数, 明显可以观察得出混沌模拟退火粒子群算法的平均迭代次数都比其他算法要少, 并且其平均函数值也要比其他算法求得的平均函数值小, 这证明该算法的效率和有效性。

4 结语

作为群智能的代表性方法之一, 粒子群优化给大量复杂优化问题的求解提供了一种新的思路和解决方法。文中提出了一种改进粒子群算法, 即混沌模拟退火粒子群算法, 该方法同时采用模拟退火粒子群算法和混沌粒子群算法, 实验结果表明了该算法的效率和有效性, 并且证明该方法优于其他三种算法, 具有广泛的应用前景。

参考文献

[1]康立山.非数值并行算法 (第1册) ———模拟退火算法[M].北京:科学出版社, 1997.22-55.

[2]高尚, 杨静宇.群智能算法及其应用[M].北京:中国水利水电出版社, 2006.

[3]张丹, 李长河.基于混沌的粒子群优化算法研究与进展[J].软件导刊, 2007 (3) :109-110.

混沌粒子群优化 篇2

粒子群优化算法及其在结构优化设计中的应用

介绍了粒子群优化算法的原理和实现方法,分析了该算法的主要参数对搜索方向的影响.将粒子群优化算法与遗传算法在优化过程和搜索技术方面进行了对比.利用粒子群优化算法与遗传算法分别对测试函数和桁架结构优化设计问题进行求解,将两种算法的计算结果进行了对比.计算结果表明在满足相同的.计算精度的前提下,粒子群优化算法的效率更高,利用粒子群优化算法可求解机翼结构优化设计问题,因此,粒子群算法是一种有效的优化方法,适用于大型复杂结构优化设计.

作 者:王允良 李为吉 WANG Yun-liang LI Wei-ji 作者单位:西北工业大学,航空学院,西安,710072刊 名:机械科学与技术 ISTIC PKU英文刊名:MECHANICAL SCIENCE AND TECHNOLOGY年,卷(期):24(2)分类号:V221+.6关键词:粒子群优化算法 演化计算 结构优化设计

混沌粒子群优化 篇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

粒子群优化算法 (Particle Swarm Optimization, 简称PSO) 是由Kennedy和Eberhart于1995年首次提出的一种群智能优化算法, 它源于对鸟群等生物群体觅食行为和理论研究的结果。

粒子群优化算法提出之后引起了全世界学者的广泛关注。由于粒子群优化算法概念简单, 收敛速度快、涉及参数少、易于实现、具有很强的全局优化能力, 因而迅速得到了认可, 在当前的优化应用中受到越来越多的关注。目前粒子群优化算法已广泛应用于函数优化、神经网络训练、模糊系统控制、生产和生活中的大规模组合优化等问题求解。

粒子群优化算法形式如下:

其中:Xid代表第i个D维的粒子;Pid代表第i个粒子目前所找到的最佳位置;Pgd代表所有粒子目前找到的最佳位置;Vid代表第i个粒子位置变换的速率 (速度) ;c1和c2为常量, 分别称为认知因子和社会因子;r1和r2为范围在0和1之间的两个随机数;w为惯性权重。

本文提出动态整体反恶化思想和Arnold's Cat混沌方法综合改进粒子群优化算法, 实验结果表明该方法更为行之有效。

1 动态整体反恶化混沌粒子群优化算法

为使粒子避开恶化环境, 逃离局部最优, 避免进化停止, 提出了整体反恶化思想。现有粒子群优化算法基本思想是:每个粒子结合个体最优值和整体最优值逐步迭代。但若当前粒子陷入局部最优, 则粒子将很难进化, 陷入停滞状态。为使已经停止进化, 陷入局部最优的粒子逃离现有恶劣环境, 受生物界粒子群行为启发, 引入粒子逃离恶劣环境的思想。

现有粒子群优化算法依据鸟群等寻找食物时, 根据记忆当中个体最优和整体最优逐步调整方向。除这种行为外, 还有另外一种行为:粒子有意识地回避记忆当中个体和整体最差环境, 如食物匮乏、长期干旱无水、温度极高或极低、容易遭到捕杀等难以生存的恶劣环境。本文加入了这种粒子群有意识避开恶化环境的行为, 提出了整体反恶化机制的粒子群优化算法, 该算法形式如公式 (3) 和 (4) 所示。公式 (3) 所用到的变量u和混沌映射形式都如公式 (5) 和 (6) 所示。

其中, K1和K2为收缩因子;piw为当前粒子所遇到的最差状态, pgw为当前粒群所遇到的最差状态;u为反恶化调节因子, umax为u最大值, umin为u最小值;iter为当前循环次数, itermax为最大循环次数;Amap1、Amap2、Amap3、Amap4为不同的Arnold’s Cat混沌影射, a1、a2、a3和a4为Arnold’s Cat混沌影射的结果;c3为个体反恶化部分“xid-piw”的认知因子, c4为整体反恶化部分“xid-pgw”的社会因子;iter为当前循环, itermax为最大循环次数;其他变量如xid、pid和pgd含义与公式 (1) 相同。

以上公式当中收缩因子K1和K2是为了保障算法收敛。u的值从大到小逐步递减, 保障该算法反恶化思想影响逐步增大, 使算法即使运行到后来局部搜索阶段, 也依然可以摆脱局部最优。用Arnold’s Cat混沌是为了增加遍历多样向, 其形式如下:

上述公式在 (0, 1) 范围内表现出混沌特性。当初始值不同的时候, 会产生完全不同的混沌序列。初始值的一点微小变化, 会导致后面混沌序列值的很大不同, 使得该混沌映射可以不重复的遍历整个搜索空间。

为保障算法收敛, 避免陷入局部最优, 在保存粒子有利条件的基础上逐步寻找全局最优, 使用了动态非线性方程惯性权重调整方法:

其中, dnf为动态非线性惯性权重调整因子, dnfmin和dnfmax分别为dnf最小值和最大值。iter为当前循环次数, itermax为最大循环次数, wmin和wmax分别为惯性权重最小值和最大值。当dnf的值不是传统固定静态值0或1, 而是采用 (9) 形式动态线性变化时, 惯性权重表达式 (10) 呈动态非线性形态, 动态非线性形式。该方法比传统的静态形式更容易摆脱局部最优, 做到大范围全局搜索和小范围的局部搜索的动态平衡, 在逐步保存现有有利环境的基础上逐步向全局最优处收敛。

本文将调用公式 (3) 、 (4) 、 (5) 、 (6) 、 (7) 、 (8) 与 (2) 称为方案1, 调用公式 (9) 、 (10) 、 (1) 、 (2) 称为方案2。动态整体反恶化混沌粒子群优化算法形式如下:

算法计算每个粒子当前适应度值, 若无改进, 说明粒子陷入局部最优, 停止进化, 此时在反恶化和Arnold混沌因素的影响下, 迫使粒子逃离局部最优, 在恶劣的环境中动态寻找全局最优值。若有改进, 则在动态非线性调整因子dnf的影响下, 保存粒子现有有利条件, 由全局到局部逐步寻找全局最优。本文算法称为DGPSO。

2 实验方法、结果与分析

2.1 测试函数

本文使用了多个著名的标准测试函数, 不但有二维函数, 还有三维函数, 测试算法在不同复杂程度下的寻优能力。其中, 二维函数如下:

该函数最优值等于3, 最优状态在 (0, -1) , 附近有4个极小值点。

该函数最优值等于0, 位置在在 (0, 0) 。此函数在全局最优值附近大约3.14范围内存在无数个局部极小将其包围, 并且函数强烈震荡, 因此算法很难得到最优解。

三维测试函数如下:

以上三维函数最优状态和最优值为:min (f (xid) ) =f (0, 0, …, 0) =0。与二维函数相比, 三维函数更为复杂, 有数以千万计个极小值。

2.2 实验参数设置

本文参数设置方式如下:动态非线性因子dnfmax=1.8, dnfmin=0.4;惯性权重wmax=0.9, wmin=0.4;umax=1, umin=0;c1、c2、c3、c4取值均为2.05。

算法CFPSO、RWPSO惯性权重w、认知因子c1和社会因子c2参数值完全按照文中的设置方式。

为保证公平, 实验中所有算法粒子统一数设定为较少的20个;终止条件为:达到最大循环次数2000次, 或者误差低于0.00001;速度最大值Vmax= (Xmax-Xmin) /4, 最小值Vmin=-Vmax, 其中Xmax和Xmin表示函数所允许搜索的最大值和最小值;粒子初始化为整个函数允许的空间。

2.3 实验结果

实验在MATLAB 7.4.0 (R2007a) 软件环境下完成, 计算机CPU为奔腾双核1.87G主频, 内存为2G, 将每种算法针对每个函数运行50次, 结果如表1所示:

2.4 实验分析

从运行结果的平均值、最优值和方差3个方面去考查可以看出:对于相对简单的二维函数f2 (x) , 所有改进算法都可以达到最优;对于复杂的二维函数f4 (x) , 本文的DGPSO结果最好;对于非常复杂的三维函数f7 (x) , 本文的DGPSO结果依然最好。

综合以上内容发现:当函数比较容易时, 所有改进算法表现均较好。当函数很复杂的时候, 本文提出的DGPSO算法依然表现出卓越的性能。采用其他一些标准测试函数测试, DGPSO依然表现出较好的性能。

3 结束语

本文提出了动态非线性权重调整方法, 引入反恶化行为, 提出两种反恶化粒子群优化算法公式, 并将Arnold’s cat混沌映射引入本算法。采用许多不同复杂程度的著名测试函数进行实验, 结果表明本文算法在不同复杂情况下都超越了其他同类改进算法。

参考文献

[1]Y SHI, R C.Eberhart, A modified particle swarm optimizer, in:Proceedings of IEEE International Conference on Evolutionary Computation[C].Anchorage, USA, 1998.

[2]Clerc, M, and Kennedy, J.The particle swarm:explosion, stability, and convergence in a multi-dimensional complex space[J].IEEE Transactions on Evolutionary Computation, 2002, 6.

混沌粒子群优化 篇5

基于改进粒子群优化算法的新安江模型参数优选

新安江模型是一种实用有效的水文模型,在洪水预报以及水资源评估和管理中得到了广泛的应用.为此,结合新安江模型参数的`特点,提出了基于改进粒子群优化算法的新安江模型参数优选方法,并将该模型应用到日径流预报中.实例表明,该方法能快速地完成参数寻优,并能较好地寻找出参数的全局最优解.

作 者:刘力 周建中 杨俊杰 刘芳 安学利 Liu Li Zhou JianZhong Yang JunJie Liu Fang An XueLi 作者单位:华中科技大学水电与数字化工程学院,湖北,武汉,430074刊 名:水力发电 ISTIC PKU英文刊名:WATER POWER年,卷(期):200733(7)分类号:O224 TV125关键词:参数优选 新安江模型 粒子群优化算法 径流预测

用混沌粒子群算法求解函数优化问题 篇6

粒子群优化算法 (PSO) 是基于群体智能原理的优化算法, 是由美国电气工程师Eberhart和社会心理学家Kennedy于1995年提出的一种进化计算技术[1,2], 源于对鸟群觅食过程中的迁徙和聚集的模拟。虽然PSO算法起步较晚, 但其优良的性能受到不少学者的重视。Shi等提出了惯性因子w线性递减的改进算法[3], 使算法在搜索初期具有较大搜索能力, 而在后期又能够得到较精确的结果, 此改进方案大大提高了基本PSO算法的性能。Van den Bergh通过使粒子群中最佳粒子始终处于运动状态, 得到保证收敛到具备最优的改进算法, 但其性能不佳[4]。Mendes等研究粒子群的拓扑结构, 分析粒子间的信息流, 提出了一系列的拓扑结构[5]。Zhang将选择算子引入到PSO中, 选择每次迭代后较好的例子并复制到下一代, 以保证每次迭代的粒子群都具有较好的性能[6]。PSO算法的优势在于收敛速度快, 易实现并且仅有少量参数需要调整, 但是, 该算法仍然存在着一些需要完善的地方, 本文将混沌的思想引入到PSO算法以提高其局搜索能力, 并通过控制粒子平均速度保证算法的搜索趋势。

二、基本粒子群算法与混沌思想

2.1基本粒子群算法原理

与大多数优化方法相同, 粒子群也是以迭代的形式进行搜索的。粒子群中的粒子是以搜索到的粒子个体最优值点和种群找到的最优值点位目标进行搜索方向和位置的迭代更新, 它主要包括速度更新和位置更新两部分, 具体如式 (1) (2) 所示。

式 (1) 是粒子速度更新式, 其中:Xp为粒子所经历过的最好位置;Xg为整个粒子群体所经历的最好位置;C2R2 (Xg-Xi) 是社会项, C1R1 (Xp-Xi) 是认知项;W是惯性权重, 通常W∈[0, 1];不同的C1、C2描述了粒子对可行域的开发程度;R1、R2是均匀分布在 (0, 1) 的随机数。

2.2混沌思想

尽管改进的粒子群优化算法比标准的粒子群优化算法有了很大的改进, 但是由于初始化粒子的随机性, 某些粒子的位置及其pbest接近群体的gbest时, 这些粒子会因为它以前的速度和惯性因子不为零而远离最佳位置, 而导致算法不收敛。这种描述确定系统不确定性的理论有非常良好的非线性性质, 如对初始值敏感和对可行域的遍历等。

三、改进的混沌粒子群算法

为了平衡算法的全局搜索能力和局部搜索能力对惯性因子进行的改进, 在标准粒子群优化算法中, 惯性权重w是用来控制历史速度对当前速度的影响程度, 平衡PSO算法的全局搜索能力和局部搜索能力的;若w较大, 则粒子有能力扩展搜索空间, 全局搜索能力强, 若w较小, 主要是在当前解的附近搜索, 局部搜索能力强;当w=0时, 粒子没有记忆性, 它将飞向个体最优位置和全局最优位置的加权中心, 而处于全局最优位置的粒子将保持静止。

Logistic映射的表达式如下式所示:

Xn+1=αXn (1-Xn) 其中:Xn∈ (0, 1) , 0<α<4.

3.1混沌初始化与区间处理

搜索空间指的是粒子能够飞行的区域, 一般问题对粒子的状态参数都有约束区间, 但标准粒子群算法一般不约束搜索空间, 利用算法的收敛特性使得粒子自动回归到最优区间。初始化时一般取Vmax=α (Xmax d-Xmin d) , 其中取最大速度系数α∈ (0, 1]为常数, 即根据问题可以设置最大速度的大小。粒子初始化时, 采用如下公式:

式中, εd, δd∈U[0, 1], εd, δd是第i个粒子第d维参数初始化时所选取的均匀分布的伪随机函数。α取值越大, 粒子具有的初始速度区间越大, 粒子可能具有的初始速度越大, 搜索范围越广。

3.2混沌惯性权重

惯性权重w是影响PSO算法收敛性的重要因素。较大的惯性权重可以提高PSO算法的全局搜索能力, 而较小的惯性权重则增加PSO算法的局部搜索能力。

混沌序列采用如下Logistic映射:

由上式生成的混沌序列在[0, 1]之间, 然而PSO算法的惯性权重一般在[0.1, 0.9]之间取值, 所以要将该混沌序列空间限定在该范围之内, 则混沌惯性权重采用如下公式生成:

速度下限如下式所示:

其中V0为首代初始速度, max_generation为最大迭代次数, k为当前迭代数。该速度公式为平均速度的下限。

四、小结

该算法首先通过混沌方法初始化粒子的初始位置和速度, 增强了粒子的搜索能力。算法还通过混沌序列得到的惯性权重取代传统的线性递减的惯性权重, 使粒子速度呈现多样性的特点, 从而提高算法的全局搜索能力。

摘要:粒子群在搜索过程中容易陷入局部而无法找到全局最优值, 且算法后期的粒子速度下降过快而失去搜索能力等缺陷, 为了解决此早熟问题, 提出了一种基于混沌思想的新型粒子群算法, 并通过控制粒子平均速度保证算法的搜索趋势。

关键词:粒子群,最优值,混沌,搜索能力

参考文献

[1]Kennedy J, Eberhart RC.Particle Swarm Optimization[C]||Proc of the IEEE Int’lConf on Neural Networks, 1995:1942-1948

[2]Kennedy J, Eberhart RC.A discrete binary version of the Particle Swarm Optimization[C]||Proc of the IEEE Int’lConf on systems, man, and cybernetics.piscataway:IEEE Press, 1997:4104-4108

[3]Shi Y, Eberhart RC.A Modified Particle Swarm Optimizer[C]||Proc of the IEEE Int’lConf on Evolutionary Computation, 1997:303-308

[4]van den Bergh F, An Analysis of Particle Swarm Optimizer[C]Proc of the 1998 Conf of Evolutionary Computation, 1998:67-73

[5]Menders R.Population Topologies and Their Influence in Particle Swarm Performance Ph D Disserlation 2004 104-108

混沌粒子群优化 篇7

关键词:双粒子群优化算法,双混沌优化机制,局部收敛

0引言

与其它进化算法类似,粒子群优化算法[1]在处理函数优化也存在早熟收敛现象, 尤其在比较复杂的多峰搜索函数中。目前解决这一问题的主要方法是增加粒子群的规模,虽对算法性能有一定改善,但同样存在缺陷: 一是不能从根本上克服早熟收敛现象; 二是大大增加了运算量;三是算法通用性较低。为此本文采用基于混沌优化机制的双粒子群优化算法。其特点是: 在不改变粒子群优化算法搜索机制的基础上,通过早熟判断机制来判断当前粒子是否处于早熟状态,若是,则以粒子群搜索到的最优位置决定双混沌搜索初始的空间范围,双混沌搜索将在这一空间范围内各自做局部搜索,通过双混沌搜索到的最优点来逐步缩小搜索空间,搜索结束后的最优值作为并行双粒子群算法的局部最优值,然后双粒子群再进行全局搜索,每个粒子得到2个最优位置,满足结束条件后再进行比较,得到那个粒子群的最优位置再作为最后粒子群最优位置,从而快速引导群体跳出局部最优,不但解决粒子群算法的早熟问题,加快收敛速度,而且还提高了收敛精度,同时还给出算法搜索的结束条件,使算法具有通用性。数值仿真实验结果表明,混合粒子群算法在求解高维复杂函数时的性能远远优于单一算法,具有较强鲁棒性、高收敛速度、高精度及通用性等优点。

1PSO 的早熟现象及早熟判断机制

粒子群优化算法在搜索过程中,如果某粒子发现一个当前最优位置,其他粒子将迅速向其靠拢。如果该最优位置为一局部最优点,粒子群就无法在解空间内重新搜索,这就是所谓的早熟收敛现象。为解决这个问题,引入早熟收敛判断机制。该机制由早熟收敛预防与处理两部分组成。其统一框架如图1所示。

早熟收敛判断[2]是早熟处理的基础。实验证明, 粒子群优化算法无论是早熟收敛还是全局收敛,粒子群中的粒子都会出现“聚集”现象,而粒子的位置决定着粒子的适应度。因此,根据粒子群中所有粒子适应度的整体变化可以跟踪粒子群的状态,将以此作为早熟收敛判断的条件。设粒子群的粒子数目为m,fi为第i个粒子的适应度,favg为粒子群目前的平均适应度,为粒子群的群体适应度方差[3],定义为:

undefined (1)

其中f是归一化定标因子,其作用是限制α2的大小。 f的取值采用下式:

式(1)表明,群体适应度方差α2反映的是粒子群中所有粒子的“聚集”程度。α2 越小,则粒子群的“聚集”程度就越大,若算法不满足结束条件,“聚集”将使群体失去多样性而陷入早熟状态,故当α2

2基于混沌优化机制的双粒子群优化算法

新算法的核心思想包括两部分:基于混沌优化机制和早熟判断方法。前者为了克服优化方法在缩小优化变量的搜索空间前所进行的盲目收缩而提出的,该方法利用两种不同的混沌机制同时在搜索空间进行独立搜索,根据两者搜索最优点的距离情况来缩小搜索空间,避免了不同的优化函数选择不同搜索参数的缺点,后者是根据函数在进化过程中对最优解进行早熟收敛而进行的判断。

2.1基于混沌优化机制搜索策略

双混沌机制优化方法如图2所示。首先在已知的搜索空间A中,利用两种混沌机制X和Y进行独立并行搜索,当各自搜索所得最优值x*和y*距离足够小的时候(如同时在C空间),按照最大似然估计的思想,可以估计真正的最优值就在该空间附近(如B空间),因此可以将搜索空间从A空间缩小到B空间。同样在B空间按上述过程继续缩小搜索空间,直到找到最优解为止。

选取:

xk+1=μxk(1-xk) (3)

yk+1=αyundefined-αyk+yundefined (4)

共同作为产生混沌的机制进行优化搜索。其中:式(3)为logistic映射,μ=4;式(4)为立方映射[4],当α∈[3.3,4]时,可选择α=3.5。若需优化n个参数,则分别在(0,1)区间和(-1,1)区间选择n个互异的初值,最后得到2n个轨迹不同的混沌变量。

2.2混合粒子群算法的实现

本文提出基于混沌优化机制的双粒子群优化算法,引入双混沌优化机制[5],不但可以减少盲目搜索的次数,提高搜索效率,而且还提出算法搜索结束的条件,提高了算法的通用性能。首先运行粒子群算法操作, 直到粒子群算法处于早熟收敛状态,然后再运行双混沌各自搜索,满足搜索条件后,把双混沌搜索的最优解向量作为双粒子群算法的局部最优解向量,从而引导粒子快速跳出局部最优,加快收敛速度,在新的最优位置的引导下,粒子群将会做更加精细的全部搜索,从而提高算法的精度。算法流程如下:

(1) 随机初始化粒子群中粒子的位置与速度;

(2) 首先令每个粒子的最优位置pi=(pi1,pi2,…,pin)为当前粒子所在的位置,并计算其对应的适应度pBest;令全局最优位置pg=(pg1,pg2,…,pgn)为当前群体中具有最优适应度的粒子的位置,gBest为该粒子的适应度;

(3) 判断算法收敛准则(根据实际问题来确定)是否满足,如果满足,转向步(12);否则,执行步(4);

(4) 对于粒子群中的所有粒子,执行如下操作:①根据式(9)和式(10)更新粒子的位置与速度并计算出其适应度; ②如果粒子i的适应度优于它对应的pBest,则pi=( pi1,pi2,…,pin)设置为第i 个粒子的新位置,并更新pBest;③如果群体中具有最优适应度的粒子的适应度优于gBest,则将pg=( pg1,pg2,…,pgn) 设置为该粒子的位置,并更新gBest;

(5) 根据式(1)计算群体适应度方差α2,并判断α2

(6) 把求出粒子群中粒子的最优值位置设为混沌搜索的初始向量即:xundefined=pi,yundefined=pi;

(7) 把向量xundefined和yundefined分别用式(5)、式(6)映射到优化变量取值区间(0,1)和(-1,1);

mxundefined=aundefined+xundefined(bundefined-aundefined) (5)

myundefined=aundefined+(yundefined+1)(bundefined-aundefined)/2 (6)

这里k为混沌变量迭代标志,r为细搜索标志。

(8) 用式(7)、式(8)对混沌变量进行优化搜索

mxik = μ×mxik×(1-mxik) (7)

myundefined=α×(myundefined)3-α×myundefined+myundefined (8)

对搜索后的mxundefined,myundefined通过式(7)、式(8)求出为xundefined,yundefined;

(9) 对于求出的每个粒子群中的所有粒子的两个位置xundefined,yundefined,分别执行如下操作:①根据式(9)、(10)更新粒子的位置与速度并计算出其适应度;②如果粒子i的适应度优于它对应的pBest,则undefined设置为第i个粒子的新位置,并更新pBest;③如果群体中具有最优适应度的粒子优于gBest,则将undefined设置为该粒子的位置,并更新gBest;

(10) 执行步(9),得到x*i,y*i,令:

undefined (11)

bir = max(xi*,yi*) + ξγ||xi*-yi*|| (12)

这里γ∈[0,0.25],ξ∈[1,2],判断||x*-y*||< γ||ak-bk||是否成立,不成立就转步(11),否则转步(12);

(11) 把原来的搜索范围缩小为[air,bir],然后重复执行步(7)~步(10)直到满足判断条件为止,为了使新范围不致越界,需作如下处理:若aundefinedbundefined,则令bundefined=bundefined;

(12) 当满足条件后,二者得到的最优解分别为gBestx和 gBesty,并且这两个解在[air,bir]范围内,用步(6)再求最优解gBestz和y*并判断:(1)若(gBestx+gBesty)/2>gBestz,则pg=yundefined,gBest=gBestz;(2)若(gBestx+gBesty)/2 < gBestz则pg=(xundefined+yundefined)/2, gBest=(gBestx+ gBesty)/2,最后全部输出pg及g1(x)、g2(x)、gBest,算法运行结束。

3数值实验与分析

为了测试本文算法的性能, 选取以下典型函数进行仿真实验。

(1) Sphere函数:

undefined

(2)Griewngk函数:

undefined

(3)Rastrigin函数:

min f3(x)=[xundefined-10cos(2πxi)+10] xi∈[-100,100]

(4)Schaffer函数:

undefined

其中Sphere函数是简单的单峰函数,Griewangk 函数、Rastrigin 函数和Schaffer 函数均是多峰函数, 极难找到全局最优点。对上述四个函数分别采用混沌优化算法CO(Chaos Optimization)、基本粒子群算法和混沌优化机制双粒子群优化算法DPSOCOS(Double Particle Swarm Optimization Based on Chaos Optimization Strategy)进行20 次实验。实验参数设置为: 群体大小为100, 常数C=1,ζ=1.2,γ=0.20,进行了10 次随机实验,实验结果如表1所示。从表中数据可以看出:(1)三者中CO的优化结果最不理想,因为CO对复杂函数的优化效果依赖于搜索空间大小,由于搜索空间较大,所以每次得到最优解的差异都较大;(2)PSO 在处理高维的单峰函数时,结果较为理想, 但当函数是高维且多峰值时,其优化性能大大降低,且易陷入局部最优;(3) DPSOCOS 相对前两者优化效果最好,不但具有较快的收敛速度,而且也有很强的全局搜索能力。

4结论

本文针对粒子群优化算法的早熟收敛问题,提出了一种改进的混合粒子群优化算法——基于混沌优化机制的双粒子群优化算法。算法通过早熟判断机制进行早熟判定, 使用双混沌搜索进行早熟处理。实验表明, 混合粒子群算法不但具有很强的全局搜索能力和较快的收敛速度,而且能有效避免粒子群优化算法的早熟收敛问题,具有较大的实用价值。

参考文献

[1]Kennedy J,Eberhart R C.Particle swarm optimization[C].In:IEEEInternational Conference on Neural Networks.Perth,Piscataway,NJ,Australia:IEEE Service Center,1995,IV:1942-1948.

[2]张哲,薛任.微粒群算法在非线性约束优化中的应用[J].计算机工程与应用,2004,40(25):90-92.

[3]谢晓锋,张文俊,杨之廉.微粒群算法综述[J].控制与决策,2003,18(2):129-134.

[4]吕振肃,侯志荣.自适应变异的粒子群优化算法[J].电子学报,2004,32(3):416-420.

混沌粒子群优化 篇8

1995年,由Kennedy和Eberhart[2]等人提出了一类模拟群体智能行为的优化算法-粒子群优化PSO(particle swarm optimization)。粒子群优化算法是一种新兴的优化技术,与其他智能算法(蚁群算法和遗传算法)相比,不仅所需调整的参数少,而且具有较快的收敛速度和较好的全局搜索能力,更适合于解决大规模数学优化问题[3]。PSO算法在连续优化问题和离散优化问题中应用效果良好,如神经网络、电力系统等诸多领域[4]。尤其是函数优化问题,是PSO算法最直接的应用领域,也是对PSO算法进行性能测试的常用算例[5]。

本文提出的改进算法是基于量子行为的PSO算法(QPSO),已有的QPSO算法中运用波函数来描述粒子的状态,现选用全同粒子系来代替波函数,对PSO算法中的随机序列进行限制[6],并且引入文献[1]中提到的空间2D标准Logistic系统,将一维Logistic系统进行转换变为二维离散系统,将文献中提到的混沌系统作用于QPSO算法中的随机参数的生成,提出了基于2D标准Logistic系统的QPSO算法。这样不仅通过新算法与标准PSO算法、QPSO算法进行对比,可以看出新算法不仅提高了PSO算法、QPSO算法的局部收敛速度,而且改善了经典粒子群优化算法的全局、局部寻优能力,提高了计算精度;而且,将该算法运用到虚拟射手飞碟训练系统中,当飞碟抛起的瞬间去寻找射点枪支姿态参数最优值及射击的最佳时刻,采用新算法优化随机变化参数,对射点的俯仰角、方位角、射点的最佳击中时间进行优化,解决了射手正确瞄准和适时射击的训练问题。

1QPSO算法

标准粒子群算法是模拟社会的简化模型。PSO算法从此模型中得到启发并用于解决优化问题,每个优化问题的潜在解都是搜索空间中的一只鸟,被称为粒子。在n维空间中,一个由n个粒子组成的集合就像鸟群在空中以一定的速度在空中飞行,

每个粒子在飞行中按照一定的路线去寻找最优位置,每个粒子都会伴随着三个参数的变化,它们分别是xi,vipi

xi表示第i个粒子的当前位置集合,xi=(xi1, xi2, …, xiD) i=1, 2, …, n;

vi表示第i个粒子的当前速度集合,vi=(vi1, vi2, …, viD) i=1, 2, …, n;

pi表示第i个粒子的历史最好位置,pi=(pi1,pi2,…,piD) i=1,2,…, n;

pg表示群体内(或邻域内)所有粒子所经过的最好的点, pg=(pg1,pg2,…,pgd)。

根据粒子群的基本收敛性质,结合量子物理基本理论,文献[7]从量子力学的角度出发提出了一种新的PSO算法模型,以DELTA势阱为基础,提出了基于量子行为的粒子群优化算法。QPSO算法改变了整个PSO算法的进化搜索策略,其进化方程中不需要速度向量,进化方程的形式更简单、参数更少并且更容易控制[8]。

根据文献[9],引入粒子的运动进化方程式(1)以及式(2),其中αMbestiMbesti分别由式(3)、式(4)和式(5)[10]给出,在一般情况下,α1=2.5,α2=0.5,所以在大多数情况下,α的取值在0.5~2之间;Mbesti表示每个粒子在局部搜索最优位置的平均值,pid是每个粒子的局部搜到的最佳位置;Mbesti表示每个粒子全局搜索最优位置的平均值,pgdi为整个粒子群全局搜索到的最优位置。u属于[0,1]上区间的随机数。MAXIER是允许迭代的最大次数。

xi(t+1)=p±a×|Mbesti-xi(t)|×ln(1/u) (1)

p=(c1pid+c2pgdi)/(c1+c2) (c1+c2=1) (2)

α=(α1-α2)×((MAXIER-t)/MAXIER+α2) (3)

Μbesti=1Μd=1Μpid (4)

Μbesti=1Μd=1Μpgdi (5)

QPSO算法的步棸如下:

(1) 在n维空间中随机初始化粒子群中每个粒子的位置;

(2) 由式(4)和式(5)分别可以确定每个粒子的全局最优位置、局部最优位置,并将其进行比较,选择最佳值作为粒子的当前最优值;

(3) 通过式(3)可以计算得到α的值;

(4) 将第(3)步的结果代入式(1)更新粒子的当前位置;

(5) 如果没有超出位移的最大值或没有达到预期的最优状态,则返回第(2)步循环执行。

2基于空间混沌序列的QPSO算法

近几年来,国内外学者对粒子群算法的改进提出了很多策略和方法,其中有些是使用均匀分布、高斯分布、柯西分布及指数分布产生随机序列更新算法中的速度。Leandro dos Santos Coelho[9]将混沌机制引入QPSO算法中,优化速度公式中的随机值,更新粒子的速度,并将改进的算法运用到实际工程问题中。另外,已经证实在PSO算法中加入混沌序列来优化种群更具有随机性,对实际问题的优化效果更好,如负荷经济调度[11],任意模型自适应控制优化[12]等。

本文将空间混沌序列[1]的思想融入到QPSO算法中,采用空间的推广的2D标准Logistic系统方程[1],产生大量的初始粒子,依据的粒子的最优极值判断筛选出分布均匀的粒子,在寻优过程,再次利用空间混沌的伪随机序列将陷入局部最优粒子进行重新初始化,抑制了部分粒子过早陷入局部最优。这样不仅缩短了初始化群体的时间,弥补了QPSO算法后期容易陷入局部最优的缺陷,而且提高了QPSO算法的全局、局部收敛速度及计算精度。

2.1全同粒子系的引入

在QPSO算法中,一个微观粒子的量子态是由波函数φ(r, t)来描述的。在量子力学中,把属于同一类的粒子称为全同粒子系,一般来说,全同粒子系的波函数φ(q1 ,q2, …, qn)并一定就是某一个pij的本征态,所有pij所处地位完全相同[13]。

相应的波函数必须满足式(6):

pij2φ=cpijφ=c2φ(Ρij2=1,C2=1,ij=1,2,,n)

(6)

由此将粒子群的运动方程变为式(7),通过引入全同粒子系,对粒子的位移公式进行限制,从而使粒子的位移和速度快速更新。

xi(t+1)=c2(p±a×|Mbesti-xi(t)|×ln(1/u)) u∈[0,1] (7)

2.2空间混沌序列[1]的引入

混沌是自然界中广泛存在的一种非线性现象。Logistic映射是一个典型的混沌系统,迭代公式如下:

zn+1=μzn(1-zn) n=1,2,… μ∈(2,4] (8)

其中,μ为控制参量,当=4,0≤ z0≤ 1时,Logistic完全处于混沌状态。

将式(8)改写2D离散系统下的方程[1],研究表明当2>μ≥1.55,ω∈(-1,1),系统呈现混沌状态。由于有两个迭代变量,而且迭代的整个2D区间值为(-1,1)。

zm+1,n+ωzm,n+1=1-μ((1+ω)zm,n)2 (9)

为了避免QPSO算法中过早地陷入局部最小,粒子将会受到寻优地限制,粒子在搜索的过程中,在某一时刻,粒子会停滞不前,根据式(10)可以通过比较粒子的局部最优值及全局最优值来确定,式(10)中,Mi表示每个粒子的全局搜索最优值,M′表示粒子的局部搜索最优值。当迭代N次后,△Mi不满足条件小于某个数量级时,即可判断该粒子陷入局部最小区域。在检测过程中,由于一定数量的粒子都出现停滞不前的状态时,可以采用式(9)重新初始化当前种群,使粒子能够再次以新的位置重新搜索[14]。

ΔMi=(Mi-M′)/Mi (10)

基于空间混沌序列的QPSO算法流程如下:

(1) 根据式(9)在二维空间中产生大量的初始群体并从中择优出初始群体;

(2) 引入全同粒子系运用式(7)确定每个粒子的位置;

(3) 根据式(4)、式(5)分别确定每个粒子的全局最优位置、局部最优位置并进行比较,选择最佳值作为粒子的当前最优位置;并根据式(10),评判粒子是否陷入局部最优位置;

(4) 根据第(3)步的结果判断是否利用式(9)再次进行混沌搜索,对部分或全部粒子进行随机化;

(5) 通过式(3)可以计算得到α的值;

(6) 将第(3)步的结果代入公式(1)更新粒子的当前位置;

(7) 如果没有超出位移的最大值或没有达到预期的最优状态,则返回第(2)步循环执行。

2.3基于空间混沌序列QPSO算法的性能分析

本文中通过SchaffeLevy5函数优化问题测试本文算法的性能。实验证明,通过100次实验验证,对标准粒子群算法、基于量子行为的粒子群优化算法及基于空间混沌序列的QPSO算法的三项参数的比较,即全局最优适应值均值、标准差、平均迭代次数。表1是各种测试函数设定的初始值。

Schaffe:

f(x)=[sin2(x12+x22)-0.5]/[1+0.001(x12+x22)]2-0.5

Levy5:

f(x)=i=15[icos((i-1)x1+i]j=15[jcos((j+1)x2+j)]+(x1+1.42513)2+(x2+0.80032)2

在测试过程中,对上述两个函数各运行100次,记录每次得到的全局最优值,达到最优值的迭代次数,并求出均值及标准差。算法中参数取值为:c1、c2为(0,1)的随机数,w随迭代步数从0.9线性减小到0.4,最大迭代次数为1000,a从1.0线性减小到0.5。在算法验证中,择优群体按照每次迭代的适应值来选取30个最优粒子,局部收敛的阈值为无限小的常数。

表2是3种算法的测试结果。从表2中可以看出,在粒子数为30的情形下比较PSO、QPSO、基于空间混沌序列的QPSO三种算法的收敛情况,从平均迭代次数来看基于空间混沌序列的QPSO算法在每次测试中都是最少的。QPSO算法比PSO算法收敛到最优值的速度快,随着迭代次数的增加,QPSO算法局部收敛增强,容易陷入局部最优。基于空间混沌序列的QPSO算法缩短了初始化种群的时间,直接由一维的种群通过方程生成二维随机序列,并对QPSO的局部收敛进行限制,使得群体随着迭代次数的增加能够快速收敛到全局最优值。另外,从标准差及适应度均值来看,加入空间混沌序列后的算法比PSO、QPSO算法更接近于最优值,另外加入混沌思想后限制了粒子过早地陷入局部最小状态,提高了粒子的局部搜索能力,从而增强了算法的局部寻优能力。

3基于空间混沌序列的QPSO算法运用到射点参数的优化中

目前,国内外的运动员进行模拟训练或实地训练的时候,正确瞄准目标的姿态参数没有定性的标准,运动员们只能通过观察和经验来大致定位,这样使得准确瞄准产生很大的误差。为了解决射手正确瞄准和适时射击的不足,针对飞碟项目,优化射点枪支姿态参数最优值及射击的最佳时刻,本文采用PSO、QPSO、基于空间混沌序列的QPSO算法优化射点的俯仰角、方位角、射点的最佳击中时间,通过三种算法的比较可以看出,新算法的优化效果更为明显,通过实验验证不仅证明了新算法的可行性及优越性,而且对射手的模拟训练提供了帮助。

飞碟射手在模拟训练中,射点处枪支的三维姿态参数随着飞碟起飞的角度变化而变化。当飞碟从抛靶机飞出后飞碟的运动轨迹是固定的,每次射手瞄准飞碟的角度(射点的俯仰角、方位角)是随机的,命中目标的时间点(最佳击中时间)也是随机的,这三个参数具有随机性,采用粒子群优化算法来进行优化,找寻射击的最佳位置姿态,对射手提高命中率至关重要。

模型的坐标建立如图1所示。在图1中,坐标原点为飞碟起始位置,在XOY面上做抛物线运动,射点m(x0, y0, z0)在XOZ面上,在O-XYZ坐标系中霰弹做直线运动,设霰弹初始位置为300m/s,飞碟初始速度为25m/s,射点距离XOY面为20m。

将实际参数值代入飞碟(按照双向飞碟比赛项目计算)的抛物线运动模型中,在这里要求对建立的模型要做一些假设:

(1) 霰弹的空间分布按体积相等原则等效为半径为r的球体;

(2) 飞碟的速度忽略空气阻力的影响按恒速计算;

(3) 霰弹的速度忽略空气阻力、重力的影响按恒速计算。这样可得到飞碟、霰弹的方程为:

优化射点的参数与射点到飞碟的距离函数、霰弹到飞碟的距离函数都有关系,最终得到这两个函数的最小值就是射点的最佳姿态和时间点。射点到飞碟的距离函数为式(13),飞碟到霰弹的距离函数为式(14),适应度函数为式(15)。式(11)~式(15)中,t为飞碟的时间,Δt为射点射击延迟时间,(xf, yf, 0)为飞碟的坐标,(xs, ys, zs)为霰弹飞行的中心坐标。

f1(θ,β,Δt)=(x0-xf)2+(y0-yf)2+(z0-zf)2 (13)

f2(θ,β,Δt)=(xs-xf)2+(ys-yf)2+(zs-zf)2 (14)

f(θ,β, △t) =min{f1(θ,β, △t)+f2(θ,β, △t)} (15)

基于空间混沌序列的QPSO算法应用于射点参数的优化步骤如下,初始值设定如表3所示。

(1) 根据式(9)在二维空间中产生大量的初始群体并从中择优出初始群体;

(2) 根据式(15)计算粒子的适应度值;

(3) 根据式(7)计算粒子当前位置及△t=△t+1时的位置;

(4) 根据式(4)和式(5)分别确定每个粒子的全局最优位置、局部最优位置并进行比较,选择最佳值作为粒子的当前最优位置;并根据式(10),评判粒子的局部最优位置;

(5) 计算△t=△t+1时的适应值;

(6) 如果达到最大时间或击中或迭代次数达到规定的范围内就结束,否则转到(3)循环执行。

表4是采用PSO、QPSO及基于空间混沌序列的QPSO算法对飞碟发射角为19.88°和18.05°进行测试的结果。实验中,f函数运行100次,记录100次后得到的全局最优值,达到最优值的迭代次数,并求出均值及标准差。实验结果表明,采用基于空间混沌序列的QPSO算法在飞碟发射角为19.88°时有98次优化结果在(θ=9,926,β=0°, △t =0.769s)附近,说明这个点为最优点;飞碟发射角为18.05°有96次优化结果在(θ=8.531°,β=0°, △t =0.7072s)附近,说明这两组结果是最优值。基于空间混沌序列的QPSO算法的迭代次数、均值及标准差的结果都是最小的,说明此算法收敛速度快、收敛效果好、稳定性高。

4结语

本文引入空间混沌思想到基于量子行为的粒子群优化算法,能够弥补QPSO算法过早地陷入局部最优的缺点。将该算法运用到虚拟飞碟射手训练系统中,成功地解决了射手正确瞄准和适时射击的训练问题。由飞碟抛起的瞬间去寻找射点枪支姿态参数最优值及射击最佳时刻,对射点位置的姿态参数进行优化,实现适应值函数的最小化。

摘要:为了改善粒子群的局部收敛能力和收敛速度,在经典粒子群优化算法和量子理论的基础上,提出一种改进的基于量子行为的粒子群优化算法。在新算法中,运用全同粒子系更新粒子位置,并引入空间混沌思想[1]。将新算法应用到虚拟射手飞碟训练系统中射点的三维姿态参数优化中,取得了很好的优化效果。

混沌粒子群优化 篇9

粒子群算法(Particle Swarm Optimization,PSO)是一种基于搜索策略的自适应群体智能优化技术,能够运用记忆能力和反馈本领进行高效、快速寻优,具有算法简单、易于实现和适合工程实际应用等优点[3],被广泛应用于电力系统研究领域。BPSO算法随机初始化1组粒子群,虽然可以使初始粒子分布均匀,但无法保证单个粒子的质量,离最优解远的部分初始粒子影响了寻优效率和解的质量。由于粒子群在搜索过程中其粒子本身信息和个体信息占优势,BPSO算法容易收敛到局部最优点[4]。

对基本粒子群优化中存在收敛性差的缺陷应进行处理,并利用混沌变量的遍历性特点生成大量初始粒子,选择较优的粒子作为初始粒子群;在优化中采用人工疫苗接种优化技术,即依据接种概率随机地对粒子进行疫苗接种来指导搜索过程,以提高粒子群优化算法的寻优速度和精度,从而采用这种改进的粒子群优化算法,即混沌免疫接种粒子群优化算法(Chaotic Immune-vaccine Particle Swarm Optimization,CIPSO)来进行多目标无功优化。

1 基本粒子群优化算法

粒子群优化算法能够在可行域的范围内随机地初始化1个粒子群体,每个粒子由位置和速度变量控制运动,然后通过各粒子的不断迭代更新找到优化问题的最优解。在每次迭代更新过程中,每个粒子通过跟踪个体极值pi和全局极值gk来更新自己,其中个体极值pi指该粒子本身到目前为止所找到的最优解,全局极值gk指整个群体到目前为止所找到的最优解。这2个极值找到后,各个粒子在每次迭代过程中根据式(1)、式(2)更新自身的速度和位置为

vundefined=wvundefined+c1r1(pi-xundefined)+C2r2(gk-xundefined), (1)

xundefined=xundefined+vk+1, (2)

式中k为迭代次数;w为惯性权重,使粒子维持不断运动;c1、c2为学习因子,表示每个粒子追寻2个最好极值的加速系数;r1、r2为2个均匀分布在(0,1)之间的随机数;vundefined表示第k次迭代时粒子速度,在[-Vundefined,Vundefined]之间取值。文献[5]分析研究了PSO的收敛性能及参数有效选取情况。

2 混沌免疫接种粒子群优化算法

2.1 混沌优化算法

混沌优化算法就是利用其特有的遍历性优势,采用类似载波的方式将混沌引入变量中,使其处于混沌状态,并将其遍历范围放大到变量的取值范围,直接利用混沌变量搜索完成全局寻优[6]。

目前,混沌优化算法常用的是Logistic方法,该方法产生的混沌变量迭代方便、计算量小,其迭代式为

zt+1=μzt(1-zt),t=0,1,2…, (3)

式中z为混沌变量;t为迭代次数;μ为控制参数。当μ=4时,系统完全处于混沌状态,混沌取值范围为(0,1),系统不动点为0.25、0.50、0.75。将混沌优化算法与粒子群优化算法相结合,对粒子进行混沌初始化处理,在生成的初始解中择其优秀粒子组成初始粒子群体;在粒子迭代计算时,对当前粒子施加混沌扰动,故称为混沌粒子群优化算法[7](Chaotic Particle Swarm Optimization,CPSO)。文献[8]中对CPSO算法进行了探讨。

2.2 人工免疫优化算法

人工免疫优化算法是基于生物免疫机制提出的一种优化算法[9],它将待优化的目标函数视为抗原,将函数的解视为抗体,将疫苗视为待优化解的有效特征信息。该算法在保留了优良种群的条件下通过优化函数和约束条件的限制提取出合适的疫苗,进行疫苗接种,利用疫苗中的有效信息对待求解作细微调整,改善了待求解的质量,使整个寻优过程加快,算法的计算速度和精度都得到了明显的提高。由于疫苗接种拥有上述优势,故将其引入到PSO中,在粒子寻优时依据接种概率随机地对粒子进行疫苗接种,指导搜索,将其称为免疫接种粒子群优化算法[7](Immune-Vaccine Particle Swarm Optimization,IPSO)。

2.3 混沌免疫接种粒子群优化算法

混沌免疫接种粒子群优化算法(CIPSO)是采用CPSO算法和IPSO算法的优点互补特性对基本粒子群算法进行改进而形成的一种新优化算法[7]。该优化算法能够对电力系统多目标无功优化进行仿真计算。

人工免疫接种的关键点就是接种疫苗概率的选取,即适应度越差的粒子以越大的概率进行疫苗接种,接种后的粒子越接近全局极值(即疫苗)。设疫苗的适应值为Fg,准备接种粒子的适应度值为Fp。当目标函数为最小化问题时,则接种概率选为(Fp-Fg)/Fp,随机地将待接种粒子用相应的疫苗粒子信息位替代;当目标函数为最大化问题时,则接种概率选为(Fg-Fp)/Ff。

3 多目标无功优化模型

3.1 系统的有功网损最小

undefined

式中n为系统节点总数;Gij为线路ij的电导;h为与节点i相连的所有节点集合。

3.2 电压偏移期望值之和最小

minf2=ΔV=undefinedundefined

式中N为系统负荷节点数;Vi为系统负荷节点i的电压;ΔVundefined为节点i允许的最大电压偏差量,即ΔVundefined=Vundefined-Vundefined;Vundefined为负荷节点i的期望电压幅值,通常将其取为(Vundefined+Vundefined)/2。

3.3 静态电压稳定裕度最大

max f3=max(VSM), (6)

式中VSM用收敛潮流雅克比矩阵最小模特征值表示,即VSM=min|eig(J)|;J为收敛潮流的雅克比矩阵;eig(J)代表潮流雅克比矩阵的所有特征值的模;min|eig(J)|为雅克比矩阵中最小特征值的模。

该无功优化模型的约束条件为

s.t.g(u,x)=0;h(u,x)≤0, (7)

式中u表示优化的控制变量,其具体为发电机的机端电压、有载调压变压器的分接头及无功补偿电容器的容量等。x表示优化的状态变量,包括平衡节点、PV节点外的节点电压和PV节点的无功出力。g(u,x)为潮流等式约束方程,h(u,x)为不等式约束,其分为控制变量约束和状态变量约束,分别表示为

ΔPi=PGi-PLi=Vi

undefined

, Vgk min≤Vgk≤Vgk max,Ti min≤Ti≤Ti max,

Qci min≤Qci≤Qci max,Qgk min≤Qgk≤Qgk max,

Vl min≤Vl≤Vl max,

式中Vgk为第k台发电机的机端电压;Ti为第i台变压器的变比;Qci为第i台补偿电容器补偿的容量;Qgk为第k台发电机的无功出力;Vl为节点l的运行电压。PGi为节点i上发电机的有功出力;QGi为节点i上发电机的无功出力;PLi为节点i上负荷的有功功率;QLi为节点i上负荷的无功功率;n为系统节点总数。

4 应用CIPSO求解多目标无功优化

4.1 控制变量的处理

无功优化的控制变量中既含有连续控制变量又含有离散控制变量,故将这2种变量实施分开进行不同编码。其中发电机的机端电压连续可调是连续变量,采用实数编码;变压器的分接头和补偿电容的档位为离散变量,采用整数编码。所得到的完整编码形式为

X=[Vg1,…,Vgk,…,Vgng;T1,…,Ti,…,Tnt;Qc1,

…,Qci,…,Qcnc], (8)

式中X代表混合编码后的粒子;Vgk为第k台发电机的机端电压;Ti为第i台变压器的变比;Qci为第i台无功补偿电容器的补偿容量。

4.2 离散变量的处理

采用映射编码和取整的办法对离散变量进行处理,使其对应离散空间的值。对于1个变比在Tjmin与Tjmax范围之间而且有l个档位分接头的变压器,调节步长为Tstep=(Tjmax-Tjmin)/(l-1),将其取值假设对应第j维控制变量X[j],规定它的取值范围为分接头档位数,即1≤X[j]≤l。控制变量取[1,l]区间内的整数对个体进行初始化,粒子个体按照式(1)和式(2)更新后,按Tj=Tjmin+[X[J]-1]Tstep将控制变量X[j]转化为相应的变比值,带入待优化的目标函数进行计算。

4.3 多目标函数的处理

目前,模糊集理论[10]在电力系统运行领域得到广泛的应用,由于该理论具有描述不确定性、不同量纲及相互冲突的多个目标函数的优势,给解决电力系统多目标问题带来方便,使所建模型更符合实际而得到更好优化效果。应用模糊集理论将多目标优化问题转化为相应的单目标问题,通过确定1个最优性隶属度来协调各个目标函数之间的关系。文献[11]对最优隶属度函数的选取进行了研究。

5 算例分析

5.1 参数设置

采用上述模型及求解方法,用MATLAB7.0编程,对IEEE30节点系统进行了仿真计算。参数设置如下:wmax=0.9,wmin=0.4,粒子数目N=40,c1=c2=2 ,最大迭代次数iiter max=100。在IEEE30节点电力系统中,有6条发电机母线,有4条支路:(6—9)、(6—10)、(4—12)和(27—28)为变压器支路(分别对应T1、T2、T3、T4),可调变压器支路的可调变比范围均为±5×2.5%。系统基准容量SB=100 MVA。系统中的10号和24号节点各有电容器6组,每组电容器的补偿容量为4Mvar,电纳标幺值为0.04。电压幅值标幺值限定范围:负荷节点0.95到1.05,发电机节点0.90到1.10。发电机节点电压VG可连续变化,变压器变比Tk的调节步长定为0.025,补偿电容QC的调节步长定为0.04。网络初始状态:各发电机母线电压为1.05,各变压器变比为1.0,各补偿器值为0。

5.2 结果分析

在初始条件下,设置发电机的机端电压和变压器的变比均为1.0,通过潮流计算得到有功网损Ploss=0.055 2,电压偏移量为0.031 8,静态电压稳定裕度指标为0.157 7。同时,节点1和节点5的发电机无功出力超出了约束条件,12个PQ节点的电压偏低。其中各节点、支路参数及各变量的上、下限值参见文献[12]。为了验证采用该算法进行多目标无功优化的有效性,分别将混沌免疫粒子群算法CIPSO、混沌粒子群算法CPSO、免疫粒子群算法IPSO、基本粒子群算法PSO迭代次数100次、连续运行30次,比较4种优化算法的有功网损、电压偏移量、静态电压稳定裕度指标及降损率,优化结果如表1所示。

从表1可以看出,采用CIPSO算法进行多目标无功优化计算后,有功损耗由5.52 MW降到4.92MW,降幅为10.87%,其结果明显优于其它3种方法。电压偏移量和静态电压稳定裕度指标的优化结果都优于其它算法,充分显示了该算法良好的收敛能力及寻优效率。

表2为各种算法优化后各控制变量的最优值。从表2中可以看出,CIPSO算法优化后各节点电压相差小而且没有处于其上下限值,很好地解决了无功电源出力接近极限的问题,减少了无功优化目标函数与系统电压安全之间的冲突,较好地协调了二者之间的关系。

图1为CIPSO、IPSO和CPSO算法在求解多目标无功优化问题所得最优值的收敛特征曲线。从图1可以看出,CIPSO算法在开始迭代下降速度很快,显示了该算法寻优机制的有效性和优越性;在迭代40次左右时已经非常接近最优解,而IPSO算法要迭代50次才能达到最优解,CPSO要迭代65次左右才能达到最优解。CIPSO的计算精度要明显优于IPSO和CPSO,可见所采用的算法具有较好的收敛性和计算精度。

6 结论

对基本粒子群算法的初始化群体进行了混沌操作,产生较优初始粒子,从而加快了算法的寻优效率;同时在其进化过程中利用人工疫苗接种优化技术改善了解的质量,进一步提高了全局收敛速度及精度。IEEE30节点标准测试系统的计算分析表明,所采用的算法能有效地处理电力系统多目标无功优化问题,具有速度快、效率高、收敛稳定的优越性。因此,CIPSO算法对求解大规模电力系统多目标无功优化问题意义重大。

参考文献

[1]Kennedy J,Eberhart R.Particle swarm optimization[C].Proceed-ings of IEEE International Conference on Neural Networks.Piscat-away,NJ,USA,1995:1942-1948.

[2]SHI Yu-hui,Eberhart R.A modified particle swarm optimizer[C].Proceedings of IEEE International Conference on Evolution-ary Computation.Piscataway,NJ,USA,1998:69-73.

[3]Boeringer D W,Werner D H.A comparison of particle swarm opti-mization and genetic algorithms for phased array synthesis problem[C].Antennas and Propagation Society International Symposium.Columbus,Ohio,USA,2003:181-184.

[4]ZHENG Yongling,MA Longhua,ZHANG Liyan,et al.On the con-vergence analysis and parameter selection in particle swarm optimi-zation[C].IEEE International Conference on Machine Learningand Cybernetics.Xi an,China,2003:1802-1807.

[5]顾永东,金义雄.粒子群优化及其在电网规划中的应用[J].电气应用,2007,26(2):37-42.

[6]唐巍,李殿璞.电力系统经济负荷分配的混沌优化方法[J].中国电机工程学报,2000,20(10):36-40.

[7]余秋霞,郭剑波,李群炬.混沌免疫接种粒子群优化及其在输电规划中的应用[J].中国电力,2009,42(4):40-44.

[8]蒙文川,邱家驹.电力系统经济负荷分配的混沌粒子群优化算法[J].电力系统及其自动化学报,2007,19(2):114-119.

[9]Xiong Hao,Sun Caixin.Artificial Immune Network ClassificationAlgorithm For Fault Diagnosis Of Power Transformer[J],IEEETransactions on Power Delivery,2007,22(2):930-935.

[10]李杨,李晓明,黄玲.基于人工神经网络和模糊集的电力系统短期负荷预测方法[J].华中电力,2007,20(2):1-4.

[11]谭建成,王佩璋.电力系统无功综合优化的模糊数学解法[J].中国电机工程学报,1990,10(增刊).

混沌粒子群优化 篇10

关键词:混沌粒子群优化,小波核函数,支持向量机,汇率,预测

汇率预测的重要性和难度广为人知。传统的基于计量经济学模型的汇率预测方法有着难以克服的问题。因为这些模型大多是线性模型,而汇率的波动往往是非线性的,故用线性的方法来解决非线性的问题,存在难以调和的矛盾。而以神经网络为主的非线性参数方法能在一定程度上提高预测效果[1]。但神经网络也存在一些难以克服的缺陷,如隐单元的数目难以确定、过分强调克服学习错误而泛化性能不强等。近年来,随着研究的深入,人们更加认识到它存在的不足。

支持向量机(Support Vector Machine, SVM)是一种新的通用的机器学习方法,在许多应用领域,SVM表现出了比传统学习机器更优秀的分类能力和泛化性能,被认为是人工神经网络的替代方法。作为时间序列问题研究的一种新的思路和手段,它也被广泛应用于金融时间序列的预测。Wei Huang等人利用SVM对日经225指数进行预测,并与神经网络等方法进行比较,结果显示它优于其他传统方法[2]。

对于支持向量机,有两个方面的问题一直是人们所关注的[3]:1) 核函数的选择; 2) 训练参数的选择。解决这两个问题是提高SVM训练精度的关键,对其预测性能有很大影响。

对于第 1 方面问题,目前常用的核函数有多项式核、高斯核(又称为径向基函数)等,它们在模式识别与回归分析中表现出了良好的映射性能,但在拟合某些较为复杂的函数时,得到的结果并不理想。由于汇率数据具有混沌、分形、不规则等非线性特征,这些特征是影响汇率市场的不同因素在不同时间尺度上发挥作用而形成的,因而汇率数据具有多尺度特性,常用的核函数无法很好地拟合这一特性。为了解决这个问题,本文基于小波变换多分辨率分析的优点[4],引入小波基函数来构造SVM的核函数,将小波分析和SVM二者的优势互补,构建了小波支持向量机(Wavelet SVM, WSVM)。 WSVM除了具备SVM的一切优点外,还能消除数据的高频干扰,具备良好的抗噪能力。

对于第 2 方面问题,目前常用的SVM参数优化方法有遗传算法[5](Genetic Algorithm, GA)、粒子群优化算法[6]( Particle Swarm Optimization, PSO)等。但它们都存在易陷入局部极值的缺点,优化效果较差。为了解决这一问题,本文提出一种基于混沌粒子群优化算法(Chaos Particle Swarm Optimization, CPSO)的SVM参数寻优方法,将混沌理论引入PSO算法中,从而提高种群的多样性和粒子搜索的遍历性,有效地提高了参数寻优算法的收敛速度和精度。

我们利用所提出的混沌粒子群优化小波支持向量机(CPSO-WSVM)的算法构建汇率预测模型并对人民币兑美元(USD)和兑欧元(EUR)的汇率中间价进行预测。实验结果表明,该方法比传统的粒子群优化高斯核SVM(PSO-GSVM)的算法具有更高的预测精度和计算效率,泛化性能好。

1 基于CPSO-WSVM的汇率预测建模方法

1.1 WSVM回归

给定l个样本(xi,yi)i=1l,xiZnn维输入,yiZ是目标输出。SVM回归的基本思想是将样本数据通过非线性函数φ映射到高维特征空间,并在该空间用函数f(x,w)=w·φ(x)+b(w为权重向量,b为偏差)进行线性回归,以取得比直接在样本空间中做非线性回归更好的效果。

若采用ε-不灵敏损失函数,即ξ(f(x)-y)=max{0,|f(x)-y|-ε},支持向量回归的原始形式归结为式(1)所示的二次规划问题:

式(1)中,目标函数的第一项为正则化项,第二项为经验误差项;C是正则化参数,该参数取正的常数值,决定了正则化项和经验误差项之间的平衡;ξi,ξ*i为松弛因子。

根据拉格朗日对偶理论,式(1)的对偶形式为

maxαi,αi*-εi=1l(αi*+αi)+i=1l(αi*-αi)yi-12i,jl(αi*-αi)(αj*-αj)Κ(xi,xj)s.t.i=1l(αi*-αi)=0,0αi,αi*C,i=

1,2,…,l (2)

式(2)中K(xi,xj)=φ(xiφ(xj)为核函数。核函数的引入使得高维空间中的内积运算可以通过输入空间中的函数来实现,避免了维数灾害。

求解式(2),得到SVM回归函数f(x)为:

在平方可积空间中,将高斯核、多项式核等常用的SVM核函数进行平移不能生成该空间中的一组完备的基,从而导致SVM回归不能逼近该空间中的任意目标曲线。而小波核是一种多维小波函数,理论上可以逼近平方可积空间中的任意非线性函数。目前常用的小波核函数有Mexican小波核、Gaussian小波核和Morlet小波核等。本文采用Mexican小波核函数,Mexican母小波为ψ(x)=(1-x2)exp(-x22),将母小波函数替换成某些具体形式,就可以得到相应的小波核函数,Mexican小波核函数为

k(xi,x)=k=1n[1-(xi,k-xk)2a2]exp(-||xi,k-xk||22a2) (4)

其中a为伸缩因子。

1.2 基本PSO算法和混沌系统

PSO算法是一种基于种群的随机优化技术,源于对鸟类捕食行为的研究。该算法通过个体间的协作来寻找解,其主要特点是收敛速度快,原理简单,容易实现。它的原理如下:

设在w维搜索空间中, 第i个粒子的位置表示为xi=(xi1,xi2,…,xiw),i=1,2,…k,k为粒子个数,它自身经历的最好位置定义为pi=(pi1,pi2,…,piw),每个粒子具有一个与之相应的速度vi=(vi1,vi2,…,viw);在整个群体中,所有粒子经历过的最好位置定义为pg=(pg1,pg2,…,pgw).每一次迭代中,粒子通过跟踪个体极值和全局极值来更新自己,对于每一代,其第d(1≤dw)维根据如下方程变化:

vidt+1=ωvidt+c1r1(pidt-xidt)+c2r2(pgdt-xidt)(5)xidt+1=xidt+βvidt+1(6)

其中, t为进化代数,ω为惯性权值,用于平衡全局搜索和局部搜索; r1和r2为两个在[0,1]内的随机数;β为约束因子,用于控制速度的权重,通常取为1;c1和c2是学习因子,通常取为2。

基本PSO算法虽然实现简单,但易陷入局部极值,全局搜索能力弱。由于混沌运动具有随机性、遍历性以及对初始条件的敏感性等特点,本文在PSO算法中引入混沌系统以得到具有较强的全局搜索能力的CPSO算法,提高了种群的多样性和粒子搜索的遍历性,从而提高了参数寻优的速度和效果。Logistic映射就是一个典型的混沌系统,迭代公式如式(7)。

式(2)中,μ为控制参量;设0≤z0≤1,μ=4时该系统完全处于混沌状态。

1.3 建立CPSO-WSVM模型的步骤

由于本文用小波核函数构造SVM,因而惩罚参数C、核参数a和不敏感损失参数ε是SVM回归机需要选定的三个参数,它们的取值对预测效果有很大的影响。本文采用CPSO算法优化这三个参数,得到CPSO-WSVM模型,其步骤如下:

步骤1 样本采集及数据归一化。本文将所有的输入、输出训练数据变换到[1,2],式(8)如下:

式(8)中,x表示未处理的输入向量或者输出向量,xmax和xmin对应向量的最大值和最小值,y表示经过归一化处理所得到的值。

步骤2 构建训练样本集。对于归一化得到的数列{yi},用yi,yi+1,yi+2,…,yk+i-1构成输入矢量,yk+i作为输出值,从而建立训练样本集,故由训练样本建立的WSVM回归模型表示为yk+i=f(yi,yi+1,yi+2,…,yk+i-1).

步骤3 对归一化后的训练样本进行训练以得到WSVM的最优参数,其过程具体如下:

1) 混沌粒子初始化与CPSO参数设置。由参数C,a,ε组成一个粒子,并随机产生一组粒子的初始位置和速度;初始化种群规模、最大迭代次数、惯性权值以及学习因子等参数;

2) 将每个粒子的个体极值位置设置为当前位置,采用式(9)所示的均方根误差(Root Mean Squared Error, RMSE)作为粒子适应值的评价函数,计算出每个粒子的适应度,取适应度最好的粒子所对应的个体极值作为最初的全局极值,

式(9)中,yiy^i分别为实际值和预测值,n为训练样本的数目;

3) 根据式(5)和式(6)更新粒子的速度和位置;

4) 对所有最优位置进行混沌优化,将pgi(i=1,2,…,w)映射到Logistic方程(7)的定义域内,通过式(7)的迭代,产生混沌变量序列zim(m=1,2,…),再把产生的序列通过逆映射返回到原解空间,然后在原解空间中对混沌变量经历的每一个可行解pgΜ=(pg1Μ,pg2Μ,…,pgwΜ)计算出其适应值,以得到性能最好的可行解p*,最后用p*取代当前群体中任意一个粒子的位置;

5) 当符合结束条件 (达到最大迭代次数或达到最小误差要求) 时停止迭代,否则转至 2)。

步骤4 根据所得的最优参数值建立WSVM模型,利用该模型对测试数据进行测试,再将测试结果反归一化即得最后的预测值。

2 预测实例

2.1 评价指标

我们采用Matlab7.1实现了汇率预测模型。 运行环境:CPU为Pentium IV 1.8 GHz,内存512 MHz,操作系统为Windows XP。为了分析预测结果,除了式(9)所示的RMSE外,还引入以下4个评价指标:

(1)平均绝对误差(Mean Absolute Error, MAE)

(2) 平均相对误差(Mean Absolute Percentage Error, MAPE)

(3) 方向正确性(Direction Accuracy, DA)

其中,当(y^i+1-y^i)(yi+1-yi)>0时,Ai=1;否则,Ai=0。

(4) 模型学习时间:利用matlab的tic和toc命令记录模型的学习时间。

2.2 实验结果与分析

实验的数据来源于国家外汇管理局官方网站,选取2008年1月至2011年4月共 809个人民币对美元、欧元的汇率中间价作为试验的原始数据,并以2008年1月至2011年3月共790个数据作为训练数据,以2011年4月的19个数据作为测试数据。归一化试验数据。

在股票市场,人们普遍认为发生在星期一的股市波动会影响这个星期剩下四天的股市变化,而作为高频金融数据,汇市具有相似的行为,即当天的汇率变动受几天前的波动的影响。所以,本文以前4天的汇率数据作为输入,以当天汇率数据作为输出。其中,在测试过程中,将第一个测试值用于帮助构建第二个输入矢量,从而获得第二个测试值,以此类推,从而实现多步预测。

采用CPSO-WSVM算法获得人民币兑美元和兑欧元的汇率预测模型的最优参数,分别为C=13.02,a=0.28,ε=0.059和C=21.19,a=7.05,ε=0.36。模型的预测结果如图1和图2所示。

我们并基于常用的PSO-GSVM算法建立汇率预测模型,和本文的模型作对比,预测效果比较如表1所示(注:这里计算所用的数据是反归一化后的最终结果)。其中,USD和EUR两栏分别表示兑美元和兑欧元汇率的相关数据。

从上图和表中可见,本文的汇率模型的预测结果与实际值差距不大,且它的MAE、MAPE和RMSE都比对比模型的相应值小了不少,而DA值则明显更高,说明了本模型具有更高的预测精度;此外,本文模型的学习时间也小于对比模型的学习时间,说明了本模型具有更高的计算效率。CPSO-WSVM是一种应用效果优于PSO-GSVM的方法。

3 结束语

人民币汇率问题是国际理论界和实务界关注的焦点之一。本文提出了基于CPSO-WSVM的汇率预测方法,该方法结合了混沌优化能使基本PSO摆脱易陷入局部极值的困境以及小波核SVM具有更高的函数逼近精度和泛化能力的优点,有效地提高了预测的精度和速度。通过预测结果的比较、分析,表明CPSO-WSVM算法在预测效率和泛化性能等方面取得了较好的效果。

参考文献

[1]谢赤,杨小帆.汇率预测的理论与方法及其最新进展.湖南大学学报(社会科学版),2004;18(5):45—50

[2] Huang W,Nakamoria Y,Wang S Y.Forecasting stock market move-ment direction with support vector machine.Computers&OperationsResearch,2005;32(10):2513—2522

[3]邓乃扬,田英杰.支持向量机:理论、算法与拓展.北京:科学出版社,2009:151—155

[4] Chui C K.An introduction to wavelets.Academic Press INC,1992:120—128

[5] Schlkopf B,Smola A J,Williamson R C,et al.New support vectoralgorithms.Neural Computation,2000;12(5):1207—1245

上一篇:现代商业广告发展研究下一篇:英语教学中的阅读教学