粒子群优化算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 群体智能概述
1.1 群体智能的概念与特点
群体智能的概念源于对蜜蜂、蚂蚁、大雁等这类群居生物群体行为的观察和研究,是一种在自然界生物群体所表现出的智能现象启发下提出的人工智能实现模式,是对简单生物群体的智能涌现现象的具体模式研究。
群体智能指的是“简单智能的主体通过合作表现出复杂智能行为的特性”。
该种智能模式需要以相当数目的智能体来实现对某类问题的求解功能。
作为智能个体本身,在没有得到智能群体的总体信息反馈时,它在解空间中的行进方式是没有规律的。
只有受到整个智能群体在解空间中行进效果的影响之后,智能个体在解空间中才能表现出具有合理寻优特征的行进模式。
自然界中动物、昆虫常以集体的力量进行觅食生存,在这些群落中单个个体所表现的行为是简单缺乏智能的,且各个个体之间的行为是遵循相同规则的,但由个体组成的群体则表现出了一种有效的复杂的智能行为。
群体智能可以在适当的进化机制引导下通过个体交互以某种突现形式发挥作用,这是个体的智能难以做到的。
通常,群体智能是指一种人工智能模式,体现的是一种总体的智能特性。
人工智能主要有两种研究范式,即符号主义和联接主义。
符号主义采用知识表达和逻辑符号系统来模拟人类的智能。
联接主义则从大脑和神经系统的生理背景出发来模拟它们的工作机理和学习方式。
符号主义试图对智能进行宏观研究,而联接主义则是一种微观意义上的探索。
20世纪90年代后,计算智能的研究逐渐成为了联接主义人工智能的一个代表性流派。
计算智能系统是在神经网络、模糊系统、进化计算三个分支发展相对成熟的基础上,通过相互之间的有机融合而形成的新的科学方法,也是智能理论和技术发展的崭新阶段。
神经网络反映大脑思维的高层次结构;模糊系统模仿低层次的大脑结构;进化系统则是从生物种群的群体角度研究智能产生和进化过程。
对群居性生物群体行为涌现的群体智能的研究是进化系统的一个新兴研究领域。
群体智能中,最小智能但自治的个体利用个体与个体和个体与环境的交互作用实现完全分布式控制,其具有以下特点:
(1)自组织。
自组织是一种动态机制,由底层单元(部件)的交互而呈现出系统的全局性的结构。
交互的规则仅依赖于局部信息,而不依赖于全局的模式。
自组织并不是外部的影响施加给系统而体现的一种性质,而是系统自身涌现出的一种性质。
系统中没有一个中心控制模块,也不存在一个部分控制另一部分。
正反馈(positive feedback)群体中的每个具有简单能力的个体表现出某种行为,会遵循已有的结构或者信息指引自己的行动,并且释放自身的信息素,这种不断的反馈能够使得某种行为加强。
尽管一开始都是一些随机的行为,大量个体遵循正
反馈的结果是呈现出一种结构。
自然界通过系统的自组织来解决问题。
理解了大自然中如何使生物系统自组织,就可以模仿这种策略使系统自组织。
(2)自恢复。
群体是由很多的个体组成的,不存在中央控制,几乎每一个个体都在群体中享有同样重要的地位。
群体中单个个体的状态,不会直接影响到整个群体。
这个特点在自然界生物原型中体现得非常明显:在蚂蚁群体中,单个蚂蚁意外死亡不会影响整个群体的觅食;在鸟群的飞行过程中,一只鸟出现意外,整个鸟群在经过短暂的惊慌之后,仍然会恢复整齐有序的飞行;人体皮肤受创后,表皮细胞能“记忆”受创前的皮肤特征,并生成新的表皮细胞,重构出原来的形状和颜色。
由此可见,群体在此过程中具有自我恢复的能力。
当然,群体的恢复也是有限度的,当其数量减少到一定的程度,就会失去恢复能力。
群体的这种特性,在网络、军事、医学等领域都有广阔的应用前景。
(3)间接通信。
群体系统中个体之间如何进行交互是个关键问题。
个体之间有直接的交流,如触角的碰触、食物的交换、视觉接触等,但个体之间的间接接触更为微妙,群体中个体传递信息,通常都是通过改变局部环境来实现,其他个体通过感知环境变化,也就获得了相应的信息。
已有研究者用Stigmergy来描述这种间接通信机制:也就是个体感知环境,对此作出反应,又作用于环境。
Grasse首先引入Stigmergy来解释白蚁筑巢中的任务协调。
Stigmergy在宏观上提供了一种将个体行为和群体行为联系起来的机制。
个体行为影响着环境,又因此而影响着其他个体的行为。
个体之间通过作用于环境并对环境的变化作出反应来进行合作。
这在蚂蚁觅食的过程中表现得非常明显:先行的蚂蚁在路上留下一种信息素,后面的蚂蚁选择信息素浓度更高的路径,由此形成一种信息正反馈机制,通过不断重复,最终绝大多数蚂蚁走的都是最短的路线。
对于习惯了直接通信的人类来说,生物种群的这种行为特点,不能不说是一种启发。
从蚂蚁寻食到蚂蚁聚集尸体到蚂蚁搬运、筑巢,个体之间的通信机制总是离不开Stigmergy机制,对于作为个体之间交流、交互的媒介—环境的作用,通常由各种各样的信息素来体现。
(4)学习。
学习的目的在于适应和优化。
适应是为了生存,优化是为了更好地发展。
对于自然生命或者是自然智能而言,学习都是其最重要的特征。
自组织、自适应是群体生物的重要特点,群体智能中的学习又有其独特之处。
群体生物的独特学习方法就是进化。
它们总是先以其数量占据优势,然后随着环境的变化,淘汰不能适应环境的个体。
在这个过程中,对每一个个体而言,并没有发生任何学习行为。
但是,从整体来看,环境变化后的群体具有更强的适应能力。
进化的目的也是为了适应和优化,这与学习完全一致。
当然,进化的实现有其前提条件,最重要的两个是多样性和正反馈。
只有不断保持种群自身的多样性,生物
有了多种选择,才有实现进化的可能;同样,只有实现了对有利条件的正反馈,形成一个吸引子,进化才能够总是向着有利于群体生存的方向,进化的成果才能得以巩固和发展。
1.2 群体智能中的知识涌现
群体智能中的智能就是大量个体在无中心控制的情况下体现出来的宏观有序的行为。
这种大量个体表现出来的宏观有序行为称为涌现现象。
没有涌现(Emergence)现象,就无法体现出智能。
因此,涌现是群体智能系统的本质特征。
只知道孤立的个体行为并不能了解整个系统(如蚁群)的情况,仅仅研究孤立的部分无法有效地研究整体性质,因此,对涌现现象的研究必须既研究各个部分,又研究各个部分之间的相互作用。
涌现最早是作为系统科学的重要概念被提出来的。
系统科学的创始人贝塔郎菲(Bertlanfy)从一开始就把一般系统论界定为关于整体性的科学,把整体性界定为一种“涌现”的性质。
全部系统研究的任务集中到一点,就是阐明整体为何大于部分之和,然后制定描述大于部分之和的整体性质(即涌现性)的方法。
“遗传算法之父”约翰·霍兰对涌现现象进行了较为深入的探索。
他认为涌现现象的本质是“由小生大,由简入繁”,并且把细胞组成生命体,简单的走棋规则衍生出复杂的棋局等现象都视为涌现现象。
他认为神经网络、元胞自动机等可算作涌现现象的模型。
对于涌现现象的研究,一直都是和复杂系统联系在一起的。
涌现不仅是复杂系统中的现象,同时也是群体智能的重要特征。
群体智能的涌现现象与系统论和复杂系统中阐述的涌现本质上是相同的,它是基于主体的涌现。
群体中的个体结构和功能都非常简单,通过相互通讯和协调组成群体系统,同时涌现出一些整体的性质和新的功能。
这种智能本身也正是群体系统中涌现的结果。
研究群体智能系统,要弄清涌现现象的普遍原理,建立由简单规则控制的模型来描述涌现现象的规律。
在群体智能中,涌现现象具有如下的性质:
(1)涌现现象的出现是很多个体相互关联的结果,这些个体规则简单,相互影响;
(2)这种现象是从底部向上的,从低层次向高层次的,是总体的或者说是宏观层次的;
(3)某一层次涌现的集成可以产生更上一层次的涌现,例如原子构成分子,分子构成细胞,后者都是在前者涌现性质的基础上产生新的整体性质;
(4)涌现作为一种整体现象,不因为部分个体的改变而改变;
(5)涌现是显示性的;
(6)涌现是一种组织效应、结构效应,它在一定程度上可以预测;
(7)涌现有层次水平的高低,水平越高的涌现越复杂。
1.3 群体智能研究方法
群体智能是目前智能领域非常活跃的新兴研究领域,作为智能计算和群体智能领域的关键技术,同时作为仿生智能计算领域的重要分支,群体智能计算在获得更大的发展的同时,也必将推动群体智能与计算智能以及相关学科和研究领域的壮大与发展。
从方法上看,国内外对群体智能的研究,主要体现在:群体行为模拟、群体智能计算和分布式问题解决装置研究等方面。
群体智能研究框图如图1.1所示。
图1.1 群体智能研究框图
Table 1.1 Research frame of swarm intelligence
(1)群体行为模拟研究
群体行为模拟研究包括:蚁群觅食行为研究,群体分工和任务分配行为研究,巢穴组织和自组织行为研究,筑巢行为和群体合作搬运行为研究,鸟类聚集飞行行为研究等。
群体行为研究和计算机仿真为群体智能算法研究提供了思路。
(2)算法设计及改进研究
在算法研究方面,作为群体智能算法的两种典型实现,蚁群算法(ACO)和粒子群算法(PSO)得到了广泛关注。
在基本蚁群算法提出之后,在前面所提到的群体行为模拟研究的基础上,被多个领域的研究工作者进行了改进,提出了很多新的算法并成功用于实际工程中。
对粒子群算法的研究与改进主要从参数选择与设计、种群拓扑结构、群体组织与进化以及混合粒子群算法进行。
(3)算法应用研究
群体智能自提出以来,由于其在解决复杂的组合优化类问题方面所具有的优越性能,在诸如工程设计与优化、电力系统领域、机器人设计与控制、交通规划、
工业生产优化以及计算机网络等领域取得了较为成功的应用。
此外,群体智能算法还用于交通导航与路径规划的动态规划问题、任务分配问题、数据挖掘和数据高层综合问题以及系统辨识与状态估计等。
(4)分布式装置实现
根据群体智能的特点,很多研究者在分布式问题解决装置研制方面也进行了尝试。
美国五角大楼资助了群体智能系统的研究—虫群战略。
群体智能为设计智能系统提供了另一种选择途径,这种方法用自治、涌现和分布式运行代替了控制、预先编制程序和集总式运行。
其中群体智能计算是最为活跃的一个研究分支。
群体智能计算包括:群体智能算法设计与改进、群体智能算法在优化问题求解和工程领域中的应用。
群体智能计算是在群体智能领域中计算智能研究的逐步深入而产生的一种新兴的计算智能模式,它是群体智能研究中的一个重要分支,在对某些群体行为模拟研究的基础上,运用一定的数学工具和计算机工具,提出相应的群体智能算法,并用来解决那些因为难以建立有效的形式化模型而用传统优化方法又难以有效解决甚至无法解决的问题。
2 粒子群优化算法
粒子群优化(Particle Swarm Optimization,PSO)算法最初是由Kennedy和Eberhart于1995年受人工生命研究结果启发,在模拟鸟群觅食过程中的迁徙和群集行为时提出的一种基于群体智能的进化计算技术。
鸟群中的每只鸟在初始状态下是处于随机位置向各个随机方向飞行的,但是随着时间的推移,这些初始处于随机状态的鸟通过自组织(self-organization)逐步聚集成一个个小的群落,并且以相同速度朝着相同方向飞行,然后几个小的群落又聚集成大的群落,大的群落可能又分散为一个个小的群落。
这些行为和现实中的鸟类飞行的特性是一致的。
可以看出鸟群的同步飞行这个整体的行为只是建立在每只鸟对周围的局部感知上面,而且并不存在一个集中的控制者。
也就是说整个群体组织起来但却没有一个组织者,群体之间相互协调却没有一个协调者(organized without an organizer,coordinated without a coordinator)。
Kennedy和Eberhart从诸如鸟类这样的群居性动物的觅食行为中得到启示,发现鸟类在觅食等搜寻活动中,通过群体成员之间分享关于食物位置的信息,可以大大的加快找到食物的速度,也即是通过合作可以加快发现目标的速度,通常群体搜寻所获得利益要大于群体成员之间争夺资源而产生的损失。
这些简单的经验事实如果加以提炼,可以用如下规则来说明:当整个群体在搜寻某个目标时,对于其中的某个个体,它往往是参照群体中目前处于最优位置的个体和自身曾经达到的最优位置来调整下一步的搜寻。
Kennedy和
Eberhart把这个模拟群体相互作用的模型经过修改并设计成了一种解决优化问题的通用方法,称之为粒子群优化算法。
PSO算法不像遗传算法那样对个体进行选择、交叉和变异操作,而是将群体中的每个个体视为多维搜索空间中一个没有质量和体积的粒子(点),这些粒子在搜索空间中以一定的速度飞行,并根据粒子本身的飞行经验以及同伴的飞行经验对自己的飞行速度进行动态调整,即每个粒子通过统计迭代过程中自身的最优值和群体的最优值来不断地修正自己的前进方向和速度大小,从而形成群体寻优的正反馈机制。
PSO 算法就是这样依据每个粒子对环境的适应度将个体逐步移到较优的区域,并最终搜索、寻找到问题的最优解。
粒子群优化研究人员对粒子群体组织和协作模式以及算法参数等进行了研究,提出了如模糊PSO、带选择的PSO、具有高斯变异的PSO、具有繁殖和子种群的混合PSO、簇分析PSO、协同PSO 以及多阶段PSO等。
虽然这些算法基于对不同物理系统的模拟,然而它们有相通的共性,如:在这些方法中,没有一个作为核心的个体,每个个体只拥有简单的智能,通过大量这样个体的信息交互(Interaction),群体表现强大的智能。
在优化领域,这些方法已经被成功的应用于常规算法难以求解的非凸、非线性,离散优化问题,积累了丰富的实际经验和理论成果。
2.1 粒子群优化算法的研究现状
群体智能已成为分布式人工智能研究的一个重要领域。
在美国成立有专门的组织研究群体的仿真。
由欧洲联盟资助的群体智能相关研究项目也于2001年在欧洲多个研究机构启动。
在国内,国家自然科学基金“十五”期间学科交叉类优先资助领域中认知科学及其信息处理的研究内容就明确列出了群体智能的进化、自适应与现场认知。
相关项目还有复杂系统与复杂性。
它的主要研究方向及内容是复杂系统与复杂性的理论与方法研究;物质层次复杂系统的研究;生命层次复杂系统的研究:社会层次复杂系统的研究。
2001年3月8日在北京召开的第六届全国人工智能联合会议暨“863”计划智能计算机主题学术会议戴汝为院士特邀报告的主要内容就是群体智能的研究进展。
到现在,国家自然科学基金委员会基本每年资助数项粒子群优化算法相关理论和应用的研究。
IEEE计算智能协会(IEEE Computational Intelligence Society)自2003年起每年举行一次群体智能会议(IEEE Swarm Intelligence Symposium),而粒子群优化算法是会议的重要主题。
2.1.1 粒子群优化算法的研究方向
PSO自1995年提出以来,由于其简单和明确的实际背景,以及前述的诸多
优点,使得很多研究者加入到对这种算法的研究中,目前粒子群优化算法的理论研究与应用研究都取得了很大的进展,对于算法的原理已经有了初步的了解,算法的应用也已经在不同学科中得以实现。
这些研究主要集中在如下几个方面:(1)粒子群优化算法的理论分析
具体来说,这个问题的研究分为三个方面:一是单个粒子的运动轨迹,现有的研究发现,单个粒子不断的在各种正弦波上“跳跃”,即其轨迹是各种正弦波的随机的叠加组合,这里所用的主要工具是微分方程和差分方程;二是收敛性问题,关于粒子群算法的收敛性研究比较多的集中在一些简化条件下的结果,采用的主要工具是动态系统理论。
其它还有采用集合论的方法来研究此问题,得出的结论是:在没有任何改进的情况下,原始的粒子群优化算法既不能收敛到全局极值点,也不能收敛到局部极值点,但是这种证明是非构造性证明,对于理解算法的工作原理没有太大帮助。
三是整个粒子系统随时间的演化和分布,这方面的研究目前还少有人涉及。
(2)粒子群优化算法的改进
这方面的内容非常庞杂,从改进的策略来说,可以分为如下几种类型,一是从算法本身的改进,例如对算法迭代式的改进,或对算法参数的优化。
二是和进化计算的结合,例如采用杂交的算子来优选粒子。
三是拓扑结构的研究,通过数值实验来寻找最合适的邻域结构,或者随着计算的进行,动态的改变邻域结构。
四是基于函数变换的方法,在算法运行的过程中,不断的改变被优化函数的形状。
以上这些方法,从根本上说,主要是为了克服粒子群优化算法在优化多峰复杂函数时,会出现早熟,粒子的多样性减低,以致于不能收敛到全局极值点的现象。
(3)粒子群优化算法的应用
粒子群优化算法的应用已经扩展到很多领域,从最初的复杂多峰非线性函数的优化、多目标优化等传统问题,到电力系统的分析,动态系统的跟踪与优化、神经网络的权值训练并将其用于复杂系统的建模,非线性系统的优化控制问题等等。
算法研究的目的是应用,如何将粒子群算法应用于更多领域,同时研究应用中存在的问题也非常值得关注。
2.2.2 粒子群优化算法的应用现状
实际应用方面,粒子群优化算法已经在优化问题求解、电力系统、计算机、控制等诸多领域得到了成功应用。
(1)经典优化问题求解
①组合优化。
旅行商问题(TSP)是一类经典的组合优化问题,继蚁群算法之后,粒子群算法通过一定的改进或变形也已经成功用于TSP问题的求解。
②约束优化。
目前,粒子群优化算法已被有效应用于约束优化问题求解。
例
如,可对约束优化问题引入半可行域的概念,提出竞争选择的新规则,并改进基于竞争选择和惩罚函数的进化算法适应度函数,可求解约束优化问题。
③多目标优化。
粒子群优化算法在多目标优化问题求解中有成功的应用。
通过对粒子群算法全局极值和个体极值选取方式的改进,可实现对多目标优化问题非劣最优解集的搜索。
(2)电力系统的应用
粒子群优化算法在电力系统优化中有着广泛的应用,例如在配电网扩展规划、检修计划、机组组合、负荷经济分配、最优潮流计算与无功优化控制、谐波分析与电容器配置、配电网状态估计、参数辨识、优化设计等方面。
此外,在电力系统机组组合优化问题求解、多机器功率系统稳定器的最优设计等方面,粒子群算法具有突出的求解性能。
日本的Fuji电力公司的研究人员将电力企业著名的RPVC(Reactive Power and Voltage Control)问题简化为函数的最小值问题,并使用改进的PSO算法进行优化求解。
与传统方法如专家系统、敏感性分析相比,实验结果证明了PSO算法在解决该问题上的优势。
(3)计算机领域中的应用
①任务分配。
任务分配问题的解决是有效利用分布或并行式计算机系统能力的核心步骤之一,是将一程序任务在分布计算机系统的不同处理器之间进行分配,以减少程序的运行时间,增加系统解决问题的能力。
它是一个NP完全问题,其目标通常是,在最大化和平衡资源利用的同时最小化处理器之间的通信。
用粒子群算法求解任务分配问题,可用相互作用图的形式描述任务分配问题,寻找问题解和算法中粒子间的恰当映射,使得所有处理器的最大处理时间为最小。
②神经网络训练。
研究表明,PSO是一种很有潜力的神经网络训练算法,粒子群优化算法保留了基于种群的、并行的全局搜索策略,其采用的速度—位移模型操作简单,避免了复杂的遗传操作。
通过训练神经网络,粒子群优化算法已成功应用到对医学中震颤行为的分析。
震颤行为(包括帕金森症和人的本能颤抖)的诊断仍是医学研究的挑战性领域之一,经PSO训练的人工神经网络已经能够区分人的本能震颤和病理性震颤。
将PSO算法与BP算法相结合训练神经网络已用于对电动汽车燃料电池组实时充电情况的模拟。
对电动汽车燃料电池带电状况的模拟是电动汽车以及混合动力汽车技术发展过程中的重大课题。
此外,粒子群优化算法还在数据挖掘、图像处理以及计算机图形学领域都有着成功的应用。
(4)控制领域中的应用
①模糊控制系统。
利用PSO算法优化模糊控制系统,设计模糊控制器。
目前,从模糊神经网络系统自动提取模糊规则的研究在一些典型的问题上已经取得进展,这对于自动生成模糊系统控制规则的模糊控制器在应用领域的推广有很大的启示。
②冶金自动化。
例如,在对粗轧宽展控制模型进行优化方面,采用粒子群算法对粗轧宽展控制模型进行优化。
另外,粒子群算法还被用于计算机数字控制的研磨。
(5)其他实际应用
除了上述应用领域外,粒子群优化算法在化工领域,生物医学以及电磁学等领域都有一定的应用。
粒子群算法已被美国一家公司用于将各种生物化学成分进行优化组合,进而人工合成微生物。
与传统的工业优化方法比较,PSO产生合成结果的适应度是传统方法的两倍。
2.3 粒子群优化算法面临的难题
虽然粒子群优化算法已在多个领域被有效应用,但其发展历史尚短,还存在很多问题。
(1)粒子群优化算法是一种概率算法,缺乏系统化、规范化的理论基础,从数学上对于它们的正确性与可靠性的证明还比较困难,所做的工作也比较少,特别是全局收敛性研究方面。
将PSO算法的粒子轨迹分析基于随机事件理论作出定量分析就是一个艰巨的课题,这关系到PSO算法收敛性、参数选取等关键问题。
(2)系统的高层次的行为是需要通过低层次的昆虫之间的简单行为交互突现产生的。
单个个体控制的简单并不意味着整个系统设计的简单,必须能够将高层次的复杂行为也就是系统所要执行的功能映射到低层次的简单个体的简单行为上面,而这二者之间是存在较大差别的。
在系统设计时还要保证多个个体简单行为的交互能够涌现出希望看到的高层次的复杂行为。
这是一个极为困难的问题。
(3)对于具体的实际问题而言,设计算法时,对算法搜索的效率和收敛的全局性之间要作某种平衡,这种平衡很大程度上是根据经验以算法参数的形式给出的,如何在理论上给出准则,需要对算法进一步进行研究。
(4)粒子群优化算法应用于高维复杂问题优化时,往往会遇到早熟收敛的问题,也就是种群在还没有找到全局最优点时已经聚集到一点停滞不动。
这些早熟收敛点,有可能是局部极小点,也有可能是局部极小点邻域的一个点。
换句话说,早熟收敛并不能保证算法收敛到局部极小点。
因而,对算法早熟收敛行为的。