当前位置:文档之家› 动态学习混沌映射的粒子群算法

动态学习混沌映射的粒子群算法

动态学习混沌映射的粒子群算法
动态学习混沌映射的粒子群算法

混沌粒子群混合优化算法

混沌粒子群混合优化算法 王大均,李华平,高兴宝,赵云川 四川蜀渝石油建筑安装工程有限责任公司,四川成都(610017) 摘 要:粒子群优化算法(PSO )具有收敛速度快但易陷入局部最优点的特点,因此本文将在结合混沌运动的遍历性、伪随机性和对初值的敏感性等特点的基础上,对粒子群优化算法进行了改进,提出了一种基于混沌思想的粒子群优化算法(CPSO ),该算法保持了群体多样性,增强了PSO 算法的全局寻优能力,提高了算法的计算精度,改善了收敛性和鲁棒性,很大程度上避免了算法停滞现象的发生,是一种有效的优化搜索算法。 关键词:混合优化算法;混沌优化算法;粒子群优化算法 1. 引言 粒子群算法PSO(Particle Swarm Optimization) 是Kennedy J 与Eberhart R 于1995年借鉴鸟群和鱼群捕食过程的社会行为提出的[1]。该算法具有程序简单、控制参数少、寻优结果与初值无关、且具有一定的并行性等特点,因此从开始研究到现在短短的十年时间里,表现出强大的优化功能,被广泛应用到函数优化、神经网络训练、人工智能、模糊系统控制等领域。PSO 作为一种更高效的并行搜索算法,非常适于对复杂环境中的优化问题的求解,成为目前进化计算研究的一个热点。但是标准的粒子群算法表现出强烈的“趋同性”,对于单调函数、严格凸函数或单峰函数,能在初始时很快向最优解靠拢,但在最优解附近收敛较慢,对于多峰函数更易出现早熟现象以及运算量较大等缺点。 混沌学的诞生是20世纪人类科学史上继相对论和量子理论之后的第三次革命,混沌是指在确定性系统中出现的随机状态,为非线性系统的一种演变现象,它不是由随机性外因引起,而由确定性规则导致的对初始条件非常敏感的无固定周期的长期行为[2]。混沌运动能在一定范围内按其自身不重复地遍历所有状态,初始值条件极其微弱的变化会引起系统行为巨大变化。因此,本文将在对标准粒子群算法改进的基础上,将混沌思想引入到粒子群算法中,避免了易陷入局部最优值的缺点,大大改善了粒子群算法的优化性能。 2. 粒子群优化算法的改进 2.1标准粒子群优化算法 假设搜索空间是D 维的,搜索空间有 m 个微粒,每个微粒的位置表示一个潜在的解,微粒群中第 i 个微粒的位置用()iD i i i x x x X ,,,21L =→ 表示,第i 个微粒的速度表示为 ()iD i i i v v v V ,,,21L =→ 。第i 个微粒经历过的最好位置 ( 有最好适应度 )记为()iD i i i p p p P ,,,21L =→ ,称为个体极值best p 。整个微粒群迄今为止搜索到的最好位置记为 ()gD g g g p p p P ,,,21L =→ ,称为全局极值best g 。对于每一个微粒,其第 d 维()D d ≤≤1, 根据如下等式变化:

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

粒子群算法解决函数优化问题 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 年,高鹰和谢胜利将混沌寻优思想引入到粒子群优化算法中,首先对当前群体中的优粒子进行混沌寻优, 再用混沌寻优的结果随机替换群体中的一个粒子,这样提出另一种混沌粒子群优化算法。

(完整word版)基本粒子群算法的原理和matlab程序

基本粒子群算法的原理和matlab程序 作者——niewei120(nuaa) 一、粒子群算法的基本原理 粒子群优化算法源自对鸟群捕食行为的研究,最初由Kennedy和Eberhart提出,是一种通用的启发式搜索技术。一群鸟在区域中随机搜索食物,所有鸟知道自己当前位置离食物多远,那么搜索的最简单有效的策略就是搜寻目前离食物最近的鸟的周围区域。PSO 算法利用这种模型得到启示并应用于解决优化问题。PSO 算法中,每个优化问题的解都是粒子在搜索 空间中的位置,所有的粒子都有一个被优化的目标函数所决定的适应值,粒子还有一个速度值决定它们飞翔的方向和距离,然后粒子群就追随当前的最优粒子在解空间中搜索。 PSO 算法首先在给定的解空间中随机初始化粒子群,待优化问题的变量数决定了解空间的维数。每个粒子有了初始位置与初始速度。然后通过迭代寻优。在每一次迭代中,每个粒子通过跟踪两个“极值”来更新自己在解空间中的空间位置与飞翔速度。第一个极值就是单个粒子本身在迭代过程中找到的最优解粒子,这个粒子叫做个体极值。另一个极值是种群所有粒子在迭代过程中所找到的最优解粒子,这个粒子是全局极值。上述的方法叫全局粒子群算法。如果不用种群所有粒子而只用其中一部分作为该粒子的邻居粒子,那么在所有邻居粒子中的极值就是局部极值,该方法称为局部PSO 算法。 速度、位置的更新方程表示为: 每个粒子自身搜索到的历史最优值p i ,p i=(p i1,p i2,....,p iQ),i=1,2,3,....,n。所有粒子搜索到的最优值p g,p g=(p g1,p g2,....,p gQ),注意这里的p g只有一个。 是保持原来速度的系数,所以叫做惯性权重。 是粒子跟踪自己历史最优值的权重系数,它表示粒子自身的认识,所以叫“认知”。通常设置为2。 是粒子跟踪群体最优值的权重系数,它表示粒子对整个群体知识的认识,所以叫做“社会知识”,经常叫做“社会”。通常设置为2。 是[0,1]区间内均匀分布的随机数。 是对位置更新的时候,在速度前面加的一个系数,这个系数我们叫做约束因子。通常设 置为1 。

混沌粒子群优化算法

混沌粒子群优化算法¨ 计算机科学2004V01.31N-o.8 高鹰h2谢胜利1 (华南理工大学电子与信息学院广州510641)1 (广州大学信息机电学院计算机科学与技术系广州510405)2 摘要粒子群优化算法是一种新的随机全局优化进化算法。本文把混沌手优思想引入到粒子群优化算法中,这种方 法利用混沌运动的随机性、遍历性和规律性等特性首先对当前粒子群体中的最优粒子进行混池寻优,然后把混沌寻优 的结果随机替换粒子群体中的一个粒子。通过这种处理使得粒子群体的进化速度加快t从而改善了粒子群优化算法摆 脱局部极值点的能力,提高了算法的收敛速度和精度。仿真结果表明混沌粒子群优化算法的收敛性能明显优于粒子群 优化算法。 关键词粒子群优化算法。混沌手优,优化 ’ChaosParticle Swarm OptimizationAlgorithm GAO Yin91”XIESheng—Lil (College of Electronic&Information EngineeringtSouth China University of Technology,Guangzhou 510641)1 (Dept.of Computer Science and Technology.GuangzhouUniversity·Guangzhou 510405)2 Abstract Particle swarm optimization is anewstochastic global optimization evolutionaryalgorithm.In this paper, the chaotic search is embeddedinto original particle swarm optimizers.Based on the ergodicity,stochastic property and

(完整word版)基本粒子群算法的原理和matlab程序.doc

基本粒子群算法的原理和matlab 程序 作者—— niewei120 (nuaa) 一、粒子群算法的基本原理 粒子群优化算法源自对鸟群捕食行为的研究,最初由Kennedy 和 Eberhart 提出,是一种通 用的启发式搜索技术。一群鸟在区域中随机搜索食物,所有鸟知道自己当前位置离食物多远, 那么搜索的最简单有效的策略就是搜寻目前离食物最近的鸟的周围区域。PSO 算法利用这种模型得到启示并应用于解决优化问题。PSO 算法中,每个优化问题的解都是粒子在搜索 空间中的位置,所有的粒子都有一个被优化的目标函数所决定的适应值,粒子还有一个速度值决定它们飞翔的方向和距离,然后粒子群就追随当前的最优粒子在解空间中搜索。 PSO 算法首先在给定的解空间中随机初始化粒子群,待优化问题的变量数决定了解空间的维数。每个粒子有了初始位置与初始速度。然后通过迭代寻优。在每一次迭代中,每个粒子通过跟踪两个“极值”来更新自己在解空间中的空间位置与飞翔速度。第一个极值就是单个粒子本身在迭代过程中找到的最优解粒子,这个粒子叫做个体极值。另一个极值是种群所有粒子在迭代过程中所找到的最优解粒子,这个粒子是全局极值。上述的方法叫全局粒子群算法。如果不用种群所有粒子而只用其中一部分作为该粒子的邻居粒子,那么在所有邻居粒子中的极值就是局部极值,该方法称为局部PSO 算法。 速度、位置的更新方程表示为: 每个粒子自身搜索到的历史最优值p i,p i=(p i1 ,p i2 ,....,p iQ ), i=1,2,3,....,n 。所有粒子搜索到的最优值p g, p g=(p g1 ,p g2,....,p gQ ),注意这里的p g只有一个。 是保持原来速度的系数,所以叫做惯性权重。 是粒子跟踪自己历史最优值的权重系数,它表示粒子自身的认识,所以叫“认知”。通常设置为 2 。 是粒子跟踪群体最优值的权重系数,它表示粒子对整个群体知识的认识,所以叫做“社会知识”,经常叫做“社会”。通常设置为2。 是[0,1] 区间内均匀分布的随机数。 是对位置更新的时候,在速度前面加的一个系数,这个系数我们叫做约束因子。通常设 置为 1 。

粒子群算法详解matlab代码

粒子群算法(1)----粒子群算法简介 一、粒子群算法的历史 粒子群算法源于复杂适应系统(Complex Adaptive System,CAS)。CAS理论于1994年正式提出,CAS中的成员称为主体。比如研究鸟群系统,每个鸟在这个系统中就称为主体。主体有适应性,它能够与环境及其他的主体进行交流,并且根据交流的过程“学习”或“积累经验”改变自身结构与行为。整个系统的演变或进化包括:新层次的产生(小鸟的出生);分化和多样性的出现(鸟群中的鸟分成许多小的群);新的主题的出现(鸟寻找食物过程中,不断发现新的食物)。 所以CAS系统中的主体具有4个基本特点(这些特点是粒子群算法发展变化的依据): 首先,主体是主动的、活动的。 主体与环境及其他主体是相互影响、相互作用的,这种影响是系统发展变化的主要动力。 环境的影响是宏观的,主体之间的影响是微观的,宏观与微观要有机结合。 最后,整个系统可能还要受一些随机因素的影响。 粒子群算法就是对一个CAS系统---鸟群社会系统的研究得出的。 粒子群算法(Particle Swarm Optimization, PSO)最早是由Eberhart和Kennedy于1995年提出,它的基本概念源于对鸟群觅食行为的研究。设想这样一个场景:一群鸟在随机搜寻食物,在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但是它们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢?最简单有效的就是搜寻目前离食物最近的鸟的周围区域。 PSO算法就从这种生物种群行为特性中得到启发并用于求解优化问题。在PSO中,每个优化问题的潜在解都可以想象成d维搜索空间上的一个点,我们称之为“粒子”(Particle),所有的粒子都有一个被目标函数决定的适应值(Fitness Value ),每个粒子还有一个速度决定他们飞翔的方向和距离,然后粒子们就追随当前的最优粒子在解空间中搜索。Reynolds对鸟群飞行的研究发现。鸟仅仅是追踪它有限数量的邻居但最终的整体结果是整个鸟群好像在一个中心的控制之下.即复杂的全局行为是由简单规则的相互作用引起的。 二、粒子群算法的具体表述 上面罗嗦了半天,那些都是科研工作者写论文的语气,不过,PSO的历史就像上面说的那样。下面通俗的解释PSO算法。 PSO算法就是模拟一群鸟寻找食物的过程,每个鸟就是PSO中的粒子,也就是我们需要求解问题的可能解,这些鸟在寻找食物的过程中,不停改变自己在空中飞行的位置与速度。大家也可以观察一下,鸟群在寻找食物的过程中,开始鸟群比较分散,逐渐这些鸟就会聚成一群,这个群忽高忽低、忽左忽右,直到最后找到食物。这个过程我们转化为一个数学问题。寻找函数y=1-cos(3*x)*exp(-x)的在[0,4]最大值。该函数的图形如下:

基于Tent混沌序列的粒子群优化算法

—180 — 基于Tent 混沌序列的粒子群优化算法 田东平1,2 (1. 宝鸡文理学院计算机软件研究所,宝鸡 721007;2. 宝鸡文理学院计算信息科学研究所,宝鸡 721007) 摘 要:针对粒子群优化算法易陷入局部极值和进化后期收敛速度缓慢的问题,提出基于Tent 混沌序列的粒子群优化算法,应用Tent 映射初始化均匀分布的粒群,提高初始解的质量,设定粒子群聚集程度的判定阈值,并引入局部变异机制和局部应用Tent 映射重新初始化粒群的方法,增强算法跳出局部最优解的能力,有效避免计算的盲目性,从而加快算法的收敛速度。仿真实验结果表明,该算法是有效的。关键词:粒子群优化算法;Tent 映射;变异机制;判定阈值;收敛速度 Particle Swarm Optimization Algorithm Based on Tent Chaotic Sequence TIAN Dong-ping 1,2 (1. Institute of Computer Software, Baoji University of Arts and Science, Baoji 721007; 2. Institute of Computational Information Science, Baoji University of Arts and Science, Baoji 721007) 【Abstract 】Aiming at the problems of easily getting into the local optimum and slowly converging speed of the Particle Swarm Optimization(PSO) algorithm, a new PSO algorithm based on Tent chaotic sequence is proposed. The uniform particles are produced by Tent mapping so as to improve the quality of the initial solutions. The decision threshold of particles focusing degree is employed, and the local mutation mechanism and the local reinitializing particles are introduced in order to help the PSO algorithm to break away from the local optimum, whick can avoid the redundant computation and accelerate the convergence speed of the evolutionary process. Simulation experimental results show this algorithm is effective. 【Key words 】Particle Swarm Optimization(PSO) algorithm; Tent mapping; mutation mechanism; decision threshold; convergence speed 计 算 机 工 程 Computer Engineering 第36卷 第4期 Vol.36 No.4 2010年2月 February 2010 ·人工智能及识别技术· 文章编号:1000—3428(2010)04—0180—03 文献标识码:A 中图分类号:TP301.6 1 概述 粒子群优化(Particle Swarm Optimization, PSO)算法是种 进化算法,是Kennedy 等人在对鸟类、鱼类群集活动时所形成的协同智能进行总结而提出的[1]。与其他进化算法相比,PSO 算法简单通用、易于实现、可调参数少,具有较强的全局收敛能力和鲁棒性,且不需要借助问题的特征信息,非常适于对复杂环境中优化问题的求解。 目前,PSO 算法已被广泛应用于函数优化、神经网络训练、模糊系统控制等领域。然而,与其他全局优化算法类似,PSO 算法亦有其不足:易陷入局部极值点,进化后期收敛速度缓慢、精度较差等。 文献[2]介绍了一种自适应逃逸微粒群算法,通过逃逸运动,使微粒能够有效地进行全局和局部搜索,减弱了随机变异操作带来的不稳定性。但是,不论是基本PSO 算法还是此处的自适应逃逸PSO 算法,它们都具有不稳定性,究其原因是算法在初始化阶段微粒分布不均匀而造成的。文献[2]只指出算法不稳定性的原因,而并没有给出具体的解决方案。为此,本文提出基于Tent 混沌序列的粒子群优化算法。 2 粒子群优化算法 粒子群优化算法的基本思想源于鸟群飞行的觅食行为。在PSO 系统中,每个备选解被称为一个“粒子”,多个粒子共存与合作寻优。而每个粒子根据其自身“经验”和相邻粒子群的最佳“经验”,在问题解空间中向更好的位置“飞行”,以便搜索最优解。PSO 算法的数学表示如下: ()()()()()()11221id id id id gd id v t v t c r p t x t c r p t x t ω+=×+××?+?????? ××??? (1) ()()()11id id id x t x t v t α+=+×+ (2) 其中,()1id x t +,()id x t ,()1id v t +,()id v t 分别表示第i 个粒子在 1t +和t 时刻的空间位移与运动速度;ω为惯性因子;12,c c 分 别表示粒子个体的加速权重系数和粒子群体的加速权重系数;12,r r 为[0,1]之间的随机数;()(),id gd p t p t 分别表示第i 个粒子个体在搜索过程中的最佳位置和粒子群体在搜索过程中的最佳位置。 3 基于Tent 混沌序列的粒子群优化算法 3.1 混沌映射与混沌序列 一般将由确定性方程得到的具有随机性的运动状态称为混沌,呈现混沌状态的变量称为混沌变量。混沌是存在于非线性系统中的一种普遍现象,一个混沌变量在一定范围内具有随机性、遍历性和规律性的特点。利用混沌变量的这些特征进行优化搜索,能使算法跳出局部最优,保持群体的多样性,改善算法的全局搜索性能。 然而,不同的混沌映射算子对混沌寻优过程有很大的影 基金项目:陕西省教育厅科研计划基金资助项目(09JK335) 作者简介:田东平(1981-),男,讲师、硕士,主研方向:模糊推理,专家系统,智能优化计算 收稿日期:2009-11-20 E-mail :tdp211@https://www.doczj.com/doc/535375554.html,

基本粒子群算法的matlab源程序

主函数源程序(main.m) %------基本粒子群优化算法(Particle Swarm Optimization)----------- %------名称:基本粒子群优化算法(PSO) %------作用:求解优化问题 %------说明:全局性,并行性,高效的群体智能算法 %------初始格式化-------------------------------------------------- clear all; clc; format long; %------给定初始化条件---------------------------------------------- c1=1.4962; %学习因子1 c2=1.4962; %学习因子2 w=0.7298; %惯性权重 MaxDT=1000; %最大迭代次数 D=10; %搜索空间维数(未知数个数) N=40; %初始化群体个体数目 eps=10^(-6); %设置精度(在已知最小值时候用) %------初始化种群的个体(可以在这里限定位置和速度的范围)------------ for i=1:N for j=1:D x(i,j)=randn; %随机初始化位置 v(i,j)=randn; %随机初始化速度 end end %------先计算各个粒子的适应度,并初始化Pi和Pg---------------------- for i=1:N p(i)=fitness(x(i,:),D); y(i,:)=x(i,:); end pg=x(1,:); %Pg为全局最优 for i=2:N if fitness(x(i,:),D) pg=x(i,:); end end %------进入主要循环,按照公式依次迭代,直到满足精度要求------------ for t=1:MaxDT for i=1:N v(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:))+c2*rand*(pg-x(i,:)); x(i,:)=x(i,:)+v(i,:); if fitness(x(i,:),D) p(i)=fitness(x(i,:),D); y(i,:)=x(i,:);

粒子群优化算法介绍及matlab程序

粒子群优化算法(1)—粒子群优化算法简介 PSO算法就是模拟一群鸟寻找食物的过程,每个鸟就是PSO中的粒子,也就是我们需要求解问题的可能解,这些鸟在寻找食物的过程中,不停改变自己在空中飞行的位置与速度。大家也可以观察一下,鸟群在寻找食物的过程中,开始鸟群比较分散,逐渐这些鸟就会聚成一群,这个群忽高忽低、忽左忽右,直到最后找到食物。这个过程我们转化为一个数学问题。寻找函数y=1-cos(3*x)*exp(-x)的在[0,4]最大值。该函数的图形如下: 当x=0.9350-0.9450,达到最大值y=1.3706。为了得到该函数的最大值,我们在[0, 4]之间随机的洒一些点,为了演示,我们放置两个点,并且计算这两个点的函数值,同时给这两个点设置在[0, 4]之间的一个速度。下面这些点就会按照一定的公式更改自己的位置,到达新位置后,再计算这两个点的值,然后再按照一定的公式更新自己的位置。直到最后在y=1.3706这个点停止自己的更新。这个过程与粒子群算法作为对照如下: 这两个点就是粒子群算法中的粒子。 该函数的最大值就是鸟群中的食物。 计算两个点函数值就是粒子群算法中的适应值,计算用的函数就是粒子群算法中的适应度函数。 更新自己位置的公式就是粒子群算法中的位置速度更新公式。 下面演示一下这个算法运行一次的大概过程: 第一次初始化 第一次更新位置

第二次更新位置 第21次更新 最后的结果(30次迭代) 最后所有的点都集中在最大值的地方。

粒子群优化算法(2)—标准粒子群优化算法 在上一节的叙述中,唯一没有给大家介绍的就是函数的这些随机的点(粒子)是如何运动的,只是说按照一定的公式更新。这个公式就是粒子群算法中的位置速度更新公式。下面就介绍这个公式是什么。在上一节中我们求取函数y=1-cos(3*x)*exp(-x)的在[0, 4]最大值。并在[0,4]之间放置了两个随机的点,这些点的坐标假设为x1=1.5,x2=2.5;这里的点是一个标量,但是我们经常遇到的问题可能是更一般的情况—x 为一个矢量的情况,比如二维z=2*x1+3*x22的情况。这个时候我们的每个粒子均为二维,记粒子P1=(x11,x12),P2=(x21,x22),P3=(x31,x32),......Pn=(xn1,xn2)。这里n 为粒子群群体的规模,也就是这个群中粒子的个数,每个粒子的维数为2。更一般的是粒子的维数为q ,这样在这个种群中有n 个粒子,每个粒子为q 维。 由n 个粒子组成的群体对Q 维(就是每个粒子的维数)空间进行搜索。每个粒子表示为:x i =(x i1,x i2,x i3,...,x iQ ),每个粒子对应的速度可以表示为v i =(v i1,v i2,v i3,....,v iQ ),每个粒子在搜索时要考虑两个因素: 1. 自己搜索到的历史最优值 p i ,p i =(p i1,p i2,....,p iQ ),i=1,2,3,....,n ; 2. 全部粒子搜索到的最优值p g ,p g =(p g1,p g2,....,p gQ ),注意这里的p g 只有一个。 下面给出粒子群算法的位置速度更新公式: 112()()()()k k k k i i i i v v c rand pbest x c rand gbest x ω+=+??-+??-, 11k k k i i i x x av ++=+. 这里有几个重要的参数需要大家记忆,因为在以后的讲解中将会经常用到,它们是: ω是保持原来速度的系数,所以叫做惯性权重。1c 是粒子跟踪自己历史最优值的权重系数,它表示粒子自身的认识,所以叫“认知”。通常设置为2。2c 是粒子跟踪群体最优值的权重系数,它表示粒子对整个群体知识的认识,所以叫做“社会知识”,经常叫做“社会”。通常设置为2。()rand 是[0,1]区间内均匀分布的随机数。a 是对位置更新的时候,在速度前面加的一个系数,这个系数我们叫做约束因子。通常设置为1。这样一个标准的粒子群算法就介绍结束了。下图是对整个基本的粒子群的过程给一个简单的图形表示。 判断终止条件可是设置适应值到达一定的数值或者循环一定的次数。 注意:这里的粒子是同时跟踪自己的历史最优值与全局(群体)最优值来改变自己的位置预速度的,所以又叫做全局版本的标准粒子群优化算法。

粒子群算法介绍

1.介绍: 粒子群算法(Particle Swarm Optimization, PSO)最早是由Eberhart 和Kennedy于1995年提出,它的基本概念源于对鸟群觅食行为的研究。设想这样一个场景:一群鸟在随机搜寻食物,在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但是它们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢?最简单有效的就是搜寻目前离食物最近的鸟的周围区域。 经过实践证明:全局版本的粒子群算法收敛速度快,但是容易陷入局部最优。局部版本的粒子群算法收敛速度慢,但是很难陷入局部最优。现在的粒子群算法大都在收敛速度与摆脱局部最优这两个方面下功夫。其实这两个方面是矛盾的。看如何更好的折中了。 粒子群算法主要分为4个大的分支: (1)标准粒子群算法的变形 在这个分支中,主要是对标准粒子群算法的惯性因子、收敛因子(约束因子)、“认知”部分的c1,“社会”部分的c2进行变化与调节,希望获得好的效果。 惯性因子的原始版本是保持不变的,后来有人提出随着算法迭代的进行,惯性因子需要逐渐减小的思想。算法开始阶段,大的惯性因子可以是算法不容易陷入局部最优,到算法的后期,小的惯性因子可以使收敛速度加快,使收敛更加平稳,不至于出现振荡现象。经过本人测试,动态的减小惯性因子w,的确可以使算法更加稳定,效果比较好。但是递减惯性因子采用什么样的方法呢?人们首先想到的是线型递减,这种策略的确很好,但是是不是最优的呢?于是有人对递减的策略作了研究,研究结果指出:线型函数的递减优于凸函数的递减策略,但是凹函数的递减策略又优于线型的递减,经过本人测试,实验结果基本符合这个结论,但是效果不是很明显。 对于收敛因子,经过证明如果收敛因子取0.729,可以确保算法的收敛,但是不能保证算法收敛到全局最优,经过本人测试,取收敛因子为0.729效果较好。对于社会与认知的系数c2,c1也有人提出:c1先大后小,而c2先小后大的思想,因为在算法运行初期,每个鸟要有大的自己的认知部分而又比较小的社会部分,这个与我们自己一群人找东西的情形比较接近,因为在我们找东西的初期,我们基本依靠自己的知识取寻

粒子群优化算法

1. 引言 粒子群优化算法(PSO)是一种进化计算技术 (evoluti on ary compu tatio n),有Eberhart 博士 和 kennedy 博士发明。源于对鸟群捕食的行为研究。 PSO 同遗传算法类似,是一种基于叠代的优化工具。系统初始化为一组随机解,通过叠 代搜寻最优 值。但是并没有遗传算法用的交叉 (crossover)以及变异(mutation),而是粒子在解 空间追随最优的粒子进行搜索。详细的步骤以后的章节介绍 同遗传算法比较, PSO 的优势在于简单容易实现并且没有许多参数需要调整。目前已广 泛应用于函数优化,神经网络训练,模糊系统控制以及其他遗传算法的应用领域。 2. 背景 : 人工生命 "人工生命 "是来研究具有某些生命基本特征的人工系统 . 人工生命包括两方面的内容 1. 研究如何利用计算技术研究生物现象 2. 研究如何利用生物技术研究计算问题 我们现在关注的是第二部分的内容 . 现在已经有很多源于生物现象的计算技巧 . 例如 , 人工神经网络是简化的大脑模型 . 遗传算法是模拟基因进化过程的 . 现在我们讨论另一种生物系统 - 社会系统 . 更确切的是 , 在由简单个体组成的群落与环 境以及个体之间的互动行为 . 也可称做 "群智能 "(swarm intelligence). 这些模拟系统利用局 部信息从而可能产生不可预测的群体行为 例如 floys 和 boids, 他们都用来模拟鱼群和鸟群的运动规律 , 主要用于计算机视觉和计算 机辅助设计 . 在计算智能 (computational intelligence) 领域有两种基于群智能的算法 . 蚁群算法 (ant colony optimization) 和粒子群算法 (particle swarm optimization). 前者是对蚂蚁群落食物采集 过程的模 拟 . 已经成功运用在很多离散优化问题上 . 粒子群优化算法 (PSO) 也是起源对简单社会系统的模拟 程. 但后来发现 PSO 是一种很好的优化工具 . 3. 算法介绍 如前所述, PSO 模拟鸟群的捕食行为。设想这样 一个场景: 这个区域里只有一块食物。 所有的鸟都不知道食物在那里。 还有多远。 那么找到食物的最优策略是什么呢。 的周围区域。 PSO 从这种模型中得到启示并用于解决优化问题。 PSO 中,每个优化问题的解都是搜索 空间中的一只鸟。我们称之为 “粒子 ”。所有的例子都有一个由被优化的函数决定的适应值 (fitness value),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前 的最优粒子在解空 间中搜索 PSO 算 法 . 最初设想是模拟鸟群觅食的过 一群鸟在随机搜索食物。在 但 是他们知道当前的位置离食物 最简单有效的就是搜寻目前离食物最近的鸟

基于混沌搜索的混和粒子群优化算法_张劲松

收稿日期:2005-12-29 基金项目:山东省自然科学基金资助项目(Y2003G01);山东省优秀中青年科学家奖励基金项目(2004BS01004)作者简介:张劲松(1976-),男,山东济南人,博士研究生,主要研究方向为生产调度、智能建模与智能算法. E -mail :pinestudio @s ohu .com  文章编号:1672-3961(2007)01-0047-04 基于混沌搜索的混和粒子群优化算法 张劲松1 ,李歧强1 ,王朝霞 2 (1.山东大学 控制科学与工程学院, 山东 济南 250061;2.山东轻工业学院 电子信息与控制工程学院, 山东 济南 250353) 摘要:所提出的算法将粒子群优化算法和混沌算法相结合,既摆脱了算法搜索后期易陷入局部极值点的缺点,同时又保持了前期搜索的快速性.最后通过4个测试函数将该算法与基本粒子群算法进行仿真对比,比较结果表明基于混沌搜索的混和粒子群优化算法在收敛性和稳定性等方面明显优于基本粒子群优化算法.关键词:粒子群优化算法;混沌搜索;混和算法;遍历性;局部极值中图分类号:TP301.6 文献标识码:A Hybrid particle swarm optimization algorithm based on the chaos search ZHANG Jin -song 1 , LI Qi -qiang 1 , W ANG Zhao -xia 2 (1.School of Contr ol Science and Engineering , Shandong University , Jinan 250061, China ; 2.College of Electr onic Infor mation and Control Engineering , Shandong Institute of Light Industry , Jinan 250353, China ) A bstract :A hybrid particle swar m optimization algorithm based on the chaos search is pr oposed .It can not only overcome the disadvantage of easily getting into the local extre mum in the later evolution period ,but also keep the rapidity of the previous period .Finally ,the basic particle swar m optimization algorithm is compared with the hybrid algorithm .The experiment results demonstrate that the ne w algorithm proposed is better than the basic particle s war m optimization algorithm in the aspects of conver gence and stability . Key words :particle swarm optimization algorithm ;chaos search ;hybrid algorithm ;ergodicity ;local extre -mum 0 引言 传统的粒子群优化算法(particle swarm optimiza -tion ,PSO )收敛速度快,运算简单,易于实现【1】 ,可用于解决大量非线性、不可微和多峰值的复杂问题优化,并已广泛应用于科学和工程领域,如函数优化【2】、神经网络训练【3】、模式分类【4】 、模糊系统控制【5】 等.但PSO 在进化后期易陷于局部极小点,算法所能达到的精度较差.而混沌搜索具有遍历性、随 机性、“规律性”等特点【6】 ,能在一定范围内按其自身 的“规律”不重复地遍历所有状态,在搜索过程中可 以避免陷入局部极小点【7】 ,但当搜索空间大时其效 果却不能令人满意【8】 .笔者在传统粒子群优化算法的基础上结合混沌搜索的方法,提出一种新的组合优化方法.该算法充分利用粒子群算法运算简单、早期收敛速度快和混沌算法遍历性的特点,在运用粒子群算法进行全局搜索得到局部最优解的基础上,再以该解为中心利用混沌搜索算法进行二次寻优.这样可有效克服传统粒子群算法易陷入局部极小值  第37卷 第1期Vol .37 No .1 山 东 大 学 学 报 (工 学 版)JOUR N AL OF SHAND ONG U NIVER SITY (ENGINEER IN G SCIE NCE ) 2007年2月  Feb .2007

混沌算法

摘要 针对传感器的覆盖,提出*********。 引言 无线传感器网络被广泛应用,如医疗、环境、军事方面。无线传感器网络存在两大问题:覆盖控制和节点能量。覆盖能够延长网络生存时间,国内外许多学者在这个方面做了大量的工作。有向传感器网络是无线传感器网络的一种,本文针对有向传感器网络的覆盖做研究。 近年来,许多专家学者提出了有向传感器网络覆盖控制问题和解决方法。Ma等首次提出了有向传感其网络的概念,设计了一种二维有向感知模型,并研究了覆盖问题[8]。陶丹等[4]提出了一种基于虚拟势场的有向传感器网络覆盖增强算法,引入“质心”的概念,通过质心点在虚拟力的作用下,实现节点的运动,消除重叠区和盲区,从而提高整个网络的覆盖率,但是质心所受合力的计算较复杂。符祥等[5]基于全局贪心原则,提出了一种有向传感器网络覆盖算法。以节点各方向下一重覆盖区域的大小为优先级,优先确定一重覆盖区域面积最大的传感器节点方向,减少重叠覆盖区域。解决控制问题的方法还有很多,如覆盖控制算法[13],粒子群算法等。粒子群算法具有较快的收敛速度,但容易进入“早熟”状态。 顾等[1]混沌算法能很快的找到全局覆盖最优值,只能迭代60次,但混沌搜索式的随机性,遍历性不如junxiao等[6]圆映射公式好,junxiao等考虑了移动节点的能量,很好地实现了覆盖,但是只针对全向传感器。李靖等[11]的粒子群算法融入了模拟退火和轮盘赌的思想,很好地解决了粒子群算法易陷入局部解,但此算法的覆盖提高率并不高。 在本文只针对覆盖问题,在顾[1]的基础上,寻找全局最优值,对混沌粒子群算法进行改进,进一步提高网络覆盖性。与顾和李靖的模拟退火相比此算法具有更好的优越性。该算法利用粒子群算法较快的收敛速度和混沌搜索的遍历性、随机性,不仅保证了算法的收敛速度,而且有效避免了基本粒子群算法的“早熟”现象。仿真实验证明,该算法能有效地优化节点布局,扩大网络覆盖率。 本文章节如下:第2节介绍网络模型,第3节详细介绍混沌粒子群覆盖优化算法;第4节是仿真实验和仿真分析。 2网络模型 2.1 有向感知模型 通常把感知模型抽象为一个四元组,其中L(x,y):节点位置,对应于二维直角坐标系下的坐标;R:节点感知半径;θ:感知区域视角FOV=2θ,θ称为感知偏向角,0≤θ≤π;β:FOV中线相对于水平正方向的角度,可看作是有向传感器节点的方向参数,0≤β<2π。

粒子群优化算法

什么是粒子群优化算法 粒子群优化算法(Particle Swarm optimization,PSO)又翻译为粒子群算法、微粒群算法、或微粒群优化算法。是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。通常认为它是群集智能 (Swarm intelligence, SI) 的一种。它可以被纳入多主体优化系统(Multiagent Optimization System, MAOS). 是由Eberhart博士和kennedy博士发明。 PSO模拟鸟群的捕食行为。一群鸟在随机搜索食物,在这个区域里只有一块食物。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。 PSO从这种模型中得到启示并用于解决优化问题。PSO中,每个优化问题的解都是搜索空间中的一只鸟。我们称之为“粒子”。所有的粒子都有一个由被优化的函数决定的适应值(fitnessvalue),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。 PSO初始化为一群随机粒子(随机解),然后通过叠代找到最优解,在每一次叠代中,粒子通过跟踪两个“极值”来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest,另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分最优粒子的邻居,那么在所有邻居中的极值就是局部极值。 [编辑] PSO算法介绍[1] 如前所述,PSO模拟鸟群的捕食行为。设想这样一个场景:一群鸟在随机搜索食物。在这个区域里只有一块食物。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。 PSO从这种模型中得到启示并用于解决优化问题。PSO中,每个优化问题的解都是搜索空间中的一只鸟。我们称之为“粒子”。所有的例子都有一个由被优化的函数决定的适应值(fitness value),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索 PSO初始化为一群随机粒子(随机解)。然后通过叠代找到最优解。在每一次叠代中,粒子通过跟踪两个"极值"来更新自己。第一个就是粒子本身所找到的最优解。这个解叫做个体极值pBest. 另一个极值是整个种群目前找到的最优解。这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分最为粒子的邻居,那么在所有邻居中的极值就是局部极值。 在找到这两个最优值时, 粒子根据如下的公式来更新自己的速度和新的位置

相关主题
文本预览
相关文档 最新文档