• 1.21 MB
  • 2022-04-29 14:48:57 发布

最新粒子群算法简介优缺点及其应用课件PPT.ppt

  • 43页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'粒子群算法简介优缺点及其应用 2021/9/192粒子群算法的研究背景粒子群算法(ParticleSwarmOptimization,简称PSO),是一种基于群体智能的进化计算方法。PSO由Kennedy和Eberhart博士于1995年提出。粒子群算法源于复杂适应系统(ComplexAdaptiveSystem,CAS)。CAS理论于1994年正式提出,CAS中的成员称为主体。比如研究鸟群系统,每个鸟在这个系统中就称为主体。主体有适应性,它能够与环境及其他的主体进行交流,并且根据交流的过程“学习”或“积累经验”改变自身结构与行为。整个系统的演变或进化包括:新层次的产生(小鸟的出生);分化和多样性的出现(鸟群中的鸟分成许多小的群);新的主题的出现(鸟寻找食物过程中,不断发现新的食物)。 2021/9/193PSO的基本概念源于对鸟群捕食行为的研究:一群鸟在随机搜寻食物,在这个区域里只有一块食物,所有鸟都不知道食物在哪里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢?最简单有效的就是搜寻目前离食物最近的鸟的周围区域。粒子群算法的基本原理 2021/9/197用随机解初始化一群随机粒子,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个“极值”来更新自己:一个是粒子本身所找到的最好解,即个体极值(pbest),另一个极值是整个粒子群中所有粒子在历代搜索过程中所达到的最优解(gbest)即全局极值。找到这两个最好解后,接下来是PSO中最重要的“加速”过程,每个粒子不断地改变其在解空间中的速度,以尽可能地朝pbest和gbest所指向的区域“飞”去。粒子群算法的基本思想 2021/9/198假设在一个N维空间进行搜索,粒子i的信息可用两个N维向量来表示:第i个粒子的位置可表示为速度为在找到两个最优解后,粒子即可根据下式来更新自己的速度和位置:粒子群优化算法的一般数学模型:是粒子i在第k次迭代中第d维的速度;:是粒子i在第k次迭代中第d维的当前位置;(1)(2) 2021/9/199i=1,2,3…,M:种群大小。c1和c2:学习因子,或称加速系数,合适的c1和c2既可加快收敛又不易陷入局部最优。rand1和rand2:是介于[0,1]之间的随机数。是粒子i在第d维的个体极值点的位置;是整个种群在第d维的全局极值点的位置。最大速度vmax:决定了问题空间搜索的力度,粒子的每一维速度vid都会被限制在[-vdmax,+vdmax]之间,假设搜索空间的第d维定义为区间[-xdmax,+xdmax],则通常vdmax=kxdmax,0.1k1.0,每一维都用相同的设置方法。 2021/9/1910公式(1)主要通过三部分来计算粒子i更新的速度:粒子i前一时刻的速度;粒子当前位置与自己历史最好位置之间的距离;粒子当前位置与群体最好位置之间的距离。粒子通过公式(2)计算新位置的坐标。更新公式的意义 2021/9/1911式(1)的第一部分称为动量部分,表示粒子对当前自身运动状态的信任,为粒子提供了一个必要动量,使其依据自身速度进行惯性运动;第二部分称为个体认知部分,代表了粒子自身的思考行为,鼓励粒子飞向自身曾经发现的最优位置;第三部分称为社会认知部分,表示粒子间的信息共享与合作,它引导粒子飞向粒子群中的最优位置。公式(1)的第一项对应多样化(diversification)的特点,第二项、第三项对应于搜索过程的集中化(intensification)特点,这三项之间的相互平衡和制约决定了算法的主要性能。 2021/9/1912参数意义(1)粒子的长度N:问题解空间的维数。(2)粒子种群大小M:粒子种群大小的选择视具体问题而定,但是一般设置粒子数为20-50。对于大部分的问题10个粒子已经可以取得很好的结果,不过对于比较难的问题或者特定类型的问题,粒子的数量可以取到100或200。另外,粒子数目越多,算法搜索的空间范围就越大,也就更容易发现全局最优解。当然,算法运行的时间也较长。(3)加速常数c1和c2:分别调节向Pbest和Gbest方向飞行的最大步长,决定粒子个体经验和群体经验对粒子运行轨迹的影响,反映粒子群之间的信息交流。如果c1=0,则粒子只有群体经验,它的收敛速度较快,但容易陷入局部最优; 2021/9/1913如果c2=0,则粒子没有群体共享信息,一个规模为M的群体等价于运行了M个各行其是的粒子,得到解的几率非常小,因此一般设置c1=c2。这样,个体经验和群体经验就有了相同重要的影响力,使得最后的最优解更精确。改变这些常数会改变系统的“张力”,较低的c1和c2值使得粒子徘徊在远离目标的区域,较高的c1和c2值产生陡峭的运动或越过目标区域。Shi和Eberhart建议,为了平衡随机因素的作用,一般情况下设置c1=c2,大部分算法都采用这个建议。 2021/9/1914(4)粒子的最大速度vmax:粒子的速度在空间中的每一维上都有一个最大速度限制值vdmax,用来对粒子的速度进行钳制,使速度控制在范围[-vdmax,+vdmax]内,这决定问题空间搜索的力度,该值一般由用户自己设定。vmax是一个非常重要的参数,如果该值太大,则粒子们也许会飞过优秀区域;另一方面如果该值太小,则粒子们可能无法对局部最优区域以外的区域进行充分的探测。实际上,它们可能会陷入局部最优,而无法移动足够远的距离跳出局部最优达到空间中更佳的位置。(5)rand1和rand2是介于[0,1]之间的随机数,增加了粒子飞行的随机性。(6)迭代终止条件:一般设为最大迭代次数Tmax、计算精度或最优解的最大停滞步数△t。 2021/9/1915算法流程 2021/9/1916程序伪代码Foreachparticle—InitializeparticleEndDo—Foreachparticle——Calculatefitnessvalue——Ifthefitnessvalueisbetterthanthebestfitnessvalue(pbest)inhistory——setcurrentvalueasthenewpbest—End—Choosetheparticlewiththebestfitnessvalueofalltheparticlesasthegbest—Foreachparticle——Calculateparticlevelocityaccordingequation(1)——Updateparticlepositionaccordingequation(2)—EndWhilemaximumiterationsorminimumerrorcriteriaisnotattained 2021/9/1917PSO的各种改进算法PSO收敛速度快,特别是在算法的早期,但也存在着精度较低,易发散等缺点。若加速系数、最大速度等参数太大,粒子群可能错过最优解,算法不收敛;而在收敛的情况下,由于所有的粒子都向最优解的方向飞去,所以粒子趋向同一化(失去了多样性),使得后期收敛速度明显变慢,同时算法收敛到一定精度时,无法继续优化,所能达到的精度也不高。因此很多学者都致力于提高PSO算法的性能。 2021/9/1918惯性权重法(InertiaWeight)惯性权重法是由Shi等提出的,其速度更新公式为:为非负数,称为惯性因子,惯性权重,是控制速度的权重如果没有公式(1)的第一部分,PSO的搜索过程是一个通过迭代搜索空间逐渐收缩的过程,展现出一种局部搜索((exploitation)能力;反之,如果增加了第一部分,粒子就有能力扩展搜索空间,展现出一种全局搜索(exploration)的能力。在搜索过程中,全局搜索能力与局部搜索能力的平衡对于算法的成功起着至关重要的作用。引入一个惯性权重到公式(1),是与前一次速度有关的一个比例因子,较大的可以加强PSO的全局探测能力,而较小的能加强局部搜索能力,也就是这个执行了全局搜索和局部搜索之间的平衡角色。(3) 2021/9/1919(1)线性调整的策略允许的最大速度vmax实际上作为一个约束,控制PSO能够具有的最大全局搜索能力。如果vmax较小,那么最大的全局搜索能力将被限制,不论惯性权重的大小,PSO只支持局部搜索;如果设置vmax较大,那么PSO通过选择,有一个可供很多选择的搜索能力范围。由此可以看出,允许的最大速度间接地影响全局搜索能力,而惯性权重直接影响全局搜索能力,所以希望找到一个非常好的惯性权重来达到全局搜索和局部搜索之间的平衡。类似于人的“原动力”,如果原动力比较大,当达到某个目标的时候,会继续向前实现更高的目标:如果原动力较小,到达某个目标就停滞。 2021/9/1920Shi和Eberhart提出了一种随着算法迭代次数的增加惯性权重线性下降的方法。惯性权重的计算公式如下:max和min分别表示权重的最大及最小值,kn为当前迭代次数,kmax表示最大迭代次数。文献试验了将设置为从0.9到0.4的线性下降,使得PSO在开始时探索较大的区域,较快地定位最优解的大致位置,随着逐渐减小,粒子速度减慢,开始精细的局部搜索。该方法使PSO更好地控制exploration和exploitation能力,加快了收敛速度,提高了算法的性能,称之为权重线性下降的粒子群算法,简记为LDW(LinearlyDecreasingInertiaWeight)。 2021/9/1921(2)模糊调整的策略PSO搜索过程是一个非线性的复杂过程,让线性下降的方法并不能正确反映真实的搜索过程。因而,Shi等提出用模糊推理机来动态地调整惯性权重的技术。即构造一个2输入、1输出的模糊推理机来动态地修改惯性因子。模糊推理机的两个输入分别是当前值,以及规范化后的当前最好性能评价值(TheNormalizedCurrentBestPerformanceEvaluation,NCBPE);而输出是的增量。CBPE(TheCurrentBestPerformanceEvaluation,CBPE)是PSO迄今为止发现的最好候选解的性能测度。由于不同的优化问题有不同的性能评价值范围,所以为了让该模糊系统有广泛的适用性,通常使用标准化的CBPE(NCBPE)。 2021/9/1922假定优化问题为最小化问题,则规范化后的评价值其中,CBPEmax和CBPEmin分别是CBPE可能取值的上下限,其值根据具体问题而定,且需事先得知或者可估计,这使得模糊自适应策略的实现较为困难,无法广泛使用,但其与线性减小策略相比,具有更好的性能。 2021/9/1923粒子群算法的优缺点分析PSO算法没有交叉和变异运算,依靠粒子速度完成搜索,并且在迭代进化中只有最优的粒子把信息传递给其它粒子,搜索速度快;PSO算法具有记忆性,粒子群体的历史最好位置可以记忆并传递给其它粒子;需调整的参数较少,结构简单,易于工程实现;采用实数编码,直接由问题的解决定,问题解的变量数直接作为粒子的维数。(1)粒子群算法的优点 2021/9/1924(2)粒子群算法的缺点缺乏速度的动态调节,容易陷入局部最优,导致收敛精度低和不易收敛;不能有效解决离散及组合优化问题;不能有效求解一些非直角坐标系描述问题,如有关能量场或场内粒子运动规律的求解问题(这些求解空间的边界大部分是基于极坐标、球坐标或柱坐标的);参数控制,对于不同的问题,如何选择合适的参数来达到最优效果。 2021/9/1925粒子群算法的应用范围函数优化PSO算法最初被应用于函数优化,但后来的学者经过研究发现,粒子群算法在解决一些经典的函数优化问题,甚至一些非线性函数时也展示出了良好的性能。粒子群优化算法已提出就受到了广泛的关注,各种粒子群算法应用研究的成果不断涌现,它的应用领域已从最初的函数优化和神经网络的训练扩展到更加开阔的领域,有力地促进了粒子群优化算法的研究。目前粒子群优化算法的主要应用在如下几个方面: 2021/9/1926神经网络训练将PSO算法用于神经网络训练也取得了良好的效果,研究表明,PSO是一种很有潜力的神经网络训练算法,如用于市区环境状况的分析和预测等取得了较高的成功率。工程领域应用很多工程中的实际问题,本质上都是优化问题,因此PSO算法自然就可以应用到实际的工程问题来,将PSO肃反和BP神经网络算法相结合训练神经网络已用于对电动汽车燃料电池组充电情况的模拟。粒子群优化算法和其它进化算法那一样,可以解决几乎所有的优化问题,或是可以转化为优化问题来求解。用于随机优化问题的求解:比如随机雪球车辆路径问题,随机规划问题等。用于最优控制问题的求解,如求解城市环路交通协调控制系统。 2021/9/1927粒子群算法的发展趋势算法基理的数学基础研究。PSO在实际应用中被证明是有效的,但目前还没有给出收敛性、收敛速度估计等方面的数学证明,已有的工作还远远不够;将各种先进理论引入到PSO。各种先进理论的引入,首先可以研究性能良好的新型粒子群拓扑结构。不同的粒子群邻居拓扑结构是对不同类型社会的模拟,研究不同拓扑结构的适用范围,对算法推广和使用有重要意义;其次可以优化PSO的参数及其选择。参数的选择分别关系到粒子速度的3个部分:惯性部分、社会部分和自身部分在搜索中的作用。如何选择、优化和调整参数,使得算法既能避免早熟又能比较快速地收敛,对工程实践有着重要意义; 2021/9/1928与其它智能优化算法的融合。将PSO和其它优化算法进行融合,主要考虑如何将PSO的优点和其它智能优化算法的优点相结合,取长补短,构造出有特色、有实用价值的混合算法;PSO的扩展应用。目前PSO的多数研究是针对直角坐标系统描述的系统、离散系统和单一优化系统,而实际系统中,很多系统是非直角坐标系统描述的系统、离散系统、组合优化的系统,目前在这些系统中应用PSO算法可供参考的研究还较少,广泛地开拓PSO在这些领域的应用不仅具有实际意义,同时对深化研究PSO也非常有意义。 2021/9/1929一个求函数极值的例子 击鼓传花 描写同学反应的词语迫不及待 胸有成竹 忐忑不安满脸通红 小心翼翼 津津有味不慌不忙伸长脖子 坐立不安焦急万分 哈哈大笑 怦怦直跳前仰后合 捧腹大笑 欣喜若狂又蹦又跳 心弦紧绷无可奈何从容不迫  前仰后合  开怀大笑精神抖擞 不慌不忙 描写教室气氛的词语欢呼雀跃 热闹非凡 一片欢腾吵吵闹闹 紧张激烈 安安静静鸦雀无声纷纷站起 大声嚷嚷异口同声 描写人物心理活动的好词忐忑不安  心惊肉跳  心急如焚喜出望外  迫不及待  心花怒放大失所望  乐不可支 游戏规则一名同学闭上眼睛在讲台上击鼓,台下的同学有序地传递一束花,当鼓声停时,花儿传到谁的手里,谁就走上讲台抽字条,根据字条内容表演节目。看谁演得最精彩。 击鼓传花注意体验:1、细心观察当时别人传花时的神态、动作。2、留心体会自己传花前、传花时、传花后的感受和心理活动。3、仔细观察别人表演节目时的动作、神态、语言。4、记住有趣的、典型的镜头。 写作提纲开头:作文课上,老师组织我们玩“击鼓传花”的游戏。中间部分:(1)老师交代游戏方法及规则,同学们听得兴致勃勃。(2)传花开始,第一个接到花鼓声停的同学走上讲台表演节目及同学们的反应。(3)用“点面结合”法继续写同学们传花的情景。结尾:游戏后的感受。 一、写好开头1、直接交代游戏的时间、地点等。A、星期五的语文课,成了欢乐的海洋。我们玩了一个有趣的游戏——击鼓传花。B、一个天气晴朗的上午,我们班举行了一次紧张而刺激的游戏——击鼓传花。C、作文课上,我们班组织了一场别开生面的游戏——击鼓传花。 2、以同学的听到做游戏的高兴心情开头。A、今天是一个有趣、快乐的日子。张老师领我们做了一个游戏-----击鼓传花。同学们听到这个消息可高兴啦!B、上课了,老师笑眯眯地走进教室,说:"同学门,今天我们来做击鼓传花的游戏。”同学们听了心里乐开了花。3、以游戏中的笑声开头。“哈哈哈……”一阵阵笑声不时从我们教室传出。是怎么回事呢?4、写同学对作文课充满了兴趣。又盼来了一堂作文课!老师又会给我们带来怎样的欢乐呢?大家静静地等待着。 片段一:老师请一位同学到讲台来击鼓,同学拿了花逐个往后传,鼓声“嘭嘭”地响着,花传到了小伟手上,鼓声在他那里停了。他是个胖乎乎的小男孩,皮肤白白的。只见他走上台来,向手吹了吹气,搓了搓手,用手擦了擦衣服,小心翼翼地抽了一张纸,展开来大声念:"请你表演啃鸡腿。"只见他左一口右一口吃得津津有味,我想也许他就是这样长胖的吧。这个表演真适合他。看着他表演得栩栩如生,我们馋得口水也要流出来了。接下来老师叫小伟同学来击鼓,鼓声又一次响起来了,我的心也随着鼓声“嘭嘭”地跳着.快传到我了,我紧张的怀里像揣了一只小兔子怦怦直跳。轮到我了,我迅速抓起花,正想往后传,"碰"的一声鼓声停了。我走上台去表演,我抽到了"大笑三声"这个节目,我张开大嘴哈哈大笑起来,这可把同学们乐坏了,整个教室像炸开了锅,一片欢腾。抓住了动作和台下同学的反应写我自己上台时的紧张心情以及动作这是“点”的描写 片段2:“咚咚咚……”,游戏开始了,花像箭一样穿过同学们的手掌心,当花传到我手里,我迫不急待地传给旁边的小明,心里默念着:“阿弥陀佛!”。陈浩想捉弄旁边的吴兵,故意把手里的花东抛西扔。一会功夫,鼓停了,陈浩自作自受,同学们欣喜若狂,个个拍手高呼:“陈浩表演!陈浩表演!”。陈浩无可奈何地走到圈中央,表演了一套自编的醉拳,歪来晃去,有趣极了,逗得同学们捧腹大笑。顿时,教室里一片欢腾……写刚开始游戏时我的心情以及其他同学的反应这是“面”的描写 l豹尾——写好结尾1、描写教室里的气氛,自然结尾。A、虽然下课了,但是我们笑声不断.B、有趣的击鼓传花游戏就在这阵阵欢声笑语中结束了。2、照应开头,盼望着新的一堂作文课。A、“叮叮叮……”,下课铃响了。我们恋恋不舍地离开了这个紧张而又刺激的游戏。有些同学唉声叹气:“下课铃响得真早。”B、在欢声笑语中,我们结束了今天的作文课。大家又开始盼着下一堂作文课的到来。3、谈感受。我们在笑声中续继游戏,同学们巴不得下课的铃声别响,这游戏真是太好玩啦! l画龙点睛——写好文题:《击鼓传花》《一次有趣的活动》《作文课上的笑声》《一堂难忘的课》...... 作文课上的笑声作文课上,我们班组织了一场别开生面的游戏——击鼓传花。老师向我们介绍了游戏规则:一名同学闭上眼睛在讲台上击鼓,台下的同学有序地传递一束花,当鼓声停时,花儿传到谁的手里,谁就走上讲台抽字条,根据字条内容表演节目。看谁演得最精彩。“咚咚咚……”,游戏开始了,花像箭一样穿过同学们的手掌心,当花传到我手里,我迫不急待地传给旁边的小明,心里默念着:“阿弥陀佛!”。陈浩想捉弄旁边的吴兵,故意把手里的花东抛西扔。不一会儿,鼓停了,陈浩自作自受,同学们欣喜若狂,个个拍手高呼:“陈浩表演!陈浩表演!”。陈浩无可奈何地走到讲台,他抽到了表演了醉拳,只见他歪来晃去,有趣极了,逗得同学们捧腹大笑。“咚咚咚……”鼓声又一次响起来了,我的心也随着鼓声“嘭嘭”地跳着。快传到我了,我紧张的怀里像揣了一只小兔子怦怦直跳。轮到我了,我迅速抓起花,正想往后传,"碰"的一声鼓声停了。我走上台去表演,我抽到了"大笑三声"这个节目,我张开大嘴哈哈大笑起来,这可把同学们乐坏了,整个教室像炸开了锅,一片欢腾。“叮叮叮……”,下课铃响了。我们在欢声笑语中结束了今天的作文课。'