第六章-智能控制中的优化方法微粒群优化算法课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第六章-智能控制中的优化方法微粒群优化算法课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 智能 控制 中的 优化 方法 微粒 算法 课件
- 资源描述:
-
1、2023-1-8微粒群优化算法1陈国初上海电机学院2023-1-8微粒群优化算法2微粒群优化算法(微粒群优化算法(PSO)一、微粒群优化算法综述二、微粒群优化算法的应用实例三、与其他方法的比较2023-1-8微粒群优化算法3PSO算法的基本原理常见的改进PSO算法多相微粒群优化算法 MPPSO(Multi-Phase Particle Swarm Optimization Algorithm)PSO算法的应用情况PSO算法的研究展望一、微粒群优化算法综述一、微粒群优化算法综述2023-1-8微粒群优化算法4 微粒群优化算法(Particle Swarm Optimization Algorit
2、hm,PSO)是由J.Kennedy和R.C.Eberhart于1995年提出的一种新的进化计算算法,它来源于鸟类或鱼类觅食过程中迁徙和群集的模拟。PSO一提出,立刻引起进化计算领域学者们的广泛关注,短短几年便获得快速发展,在一些领域得到应用而且应用范围会越来越广泛,已形成学术界一个新的研究热点,也已被“国际进化计算会议”列为讨论专题之一。目前在我国,PSO的研究不管是在理论研究上还是在实践上,可见的报道都还很少。1PSO算法的基本原理算法的基本原理2023-1-8微粒群优化算法5 假设在一个 维搜索空间中,有 个微粒组成一微粒群,其中第 个微粒的空间位置为 它是优化问题的一个潜在解,将它代入
3、优化目标函数就可以计算出相关的适应值,据适应值的大小可衡量的 优劣;第 个微粒所经历的最好位置记为 同时,每个微粒还具有各自的飞行速度1.1 1.1 算法原理算法原理(1)(1)Dmi,321iDiiiixxxxxixi),(321iDiiiippppP),(321iDiiiivvvvV2023-1-8微粒群优化算法6 在微粒群中,所有微粒经历过的最好位置记为 根据J.Kennedy和R.C.Eberhart最早提出的PSO,对每一代微粒,其第 维根据如下方程变化:(1)(2)其中:为惯性权值(inertia weight);和 都为 正 的 常 数,称 为 加 速 系 数(a c c e l
4、 e r a t i o n coefficients);和 是两个在0,1范围内变化的随机数。1.1 1.1 算法原理算法原理(2)(2),(321gDggggppppPd)()(2211idgdididididxprcxprcvvidididvxx1c2c1r2r2023-1-8微粒群优化算法7 搜索时,微粒的速度被一个最大速度 和一个最小速度 所限制。如果当前对微粒的加速度导致它在某维的速度 超过该维的最大速度 ,则该微粒该维的速度被限制为该维的最大速度;对于最小速度也如此。同样,微粒的位置往往也被最大位置 和最小位置 所限制。式(1)的第1部分为该微粒先前的速度;第2部分为“认知(co
5、gnition)”部分,表示微粒本身的思考;第3部分为“社会(social)”部分,表示微粒间的信息共享和相互合作。1.1 1.1 算法原理算法原理(3)(3)maxVminVidvdvmax,maxXminX2023-1-8微粒群优化算法81.2 1.2 算法流程算法流程Step1:Step1:初始化设置群体的规模、参数维数、惯性权值、加速初始化设置群体的规模、参数维数、惯性权值、加速系数、最大允许迭代次数或误差限,各微粒的位置和速度等。系数、最大允许迭代次数或误差限,各微粒的位置和速度等。Step2:Step2:按预定准则评价各微粒的适应值。按预定准则评价各微粒的适应值。Step3:Ste
6、p3:根据公式根据公式(1)(1)、(2)(2)计算各微粒新的速度和位置。计算各微粒新的速度和位置。Step4:Step4:重新计算各微粒的适应值,并比较其当前适应值和该重新计算各微粒的适应值,并比较其当前适应值和该微粒历史最好适应值,若当前适应值更优,则令当前适应值为微粒历史最好适应值,若当前适应值更优,则令当前适应值为该微粒历史最好适应值,当前位置为该微粒的历史最好位置。该微粒历史最好适应值,当前位置为该微粒的历史最好位置。Step5:Step5:比较当前群体所有微粒的适应值和群体历史最好适应比较当前群体所有微粒的适应值和群体历史最好适应值,若当前某微粒的适应值更优,则令当前该微粒的适应值
7、为值,若当前某微粒的适应值更优,则令当前该微粒的适应值为群体历史最好适应值,该微粒的位置为群体历史最好位置。群体历史最好适应值,该微粒的位置为群体历史最好位置。Step6:Step6:若满足停止条件,搜索停止,群体历史最好位置为所若满足停止条件,搜索停止,群体历史最好位置为所求结果。否则,返回求结果。否则,返回Step3Step3继续搜索。继续搜索。2023-1-8微粒群优化算法91.3 1.3 参数分析参数分析(1)(1)(1)惯性权值 惯性权值 对PSO能否收敛起重要作用,它使微粒保持运动惯性,使其有扩展搜索空间的趋势,有能力探索新的区域。值大些有利于全局搜索,收敛速度快,但不易得到精确解
8、且有时也会陷入局部最小值;值小些有利于局部搜索、能得到更为精确的解且不易陷入局部最小值,但收敛速度慢。合适的 值在搜索能力和收敛速度方面能起到协调作用。最初版本的PSO中,为常数。后来,经实验证明,为了有较好的全局搜索能力,刚开始大些,然后逐步减小以便有更精确的解。一般地,刚开始 ,然后逐步减小到 比较合适。也可以采用自适应模糊惯性权值控制器来动态优化 ,不过这种方法在实现时有一定困难。4.135.02023-1-8微粒群优化算法10(2)加速系数 加速系数 和 对PSO能否收敛不起很重要的作用,但对收敛速度影响颇大,合适的加速系数有利于算法较快收敛和脱离局部最小。它们代表将每个微粒推向 和
9、位置的统计加速项的权值。低的加速系数值允许微粒在被拉回之前可以在目标区域外徘徊,而高的加速系数值则导致微粒突然地冲向或越过目标区域。在公式(1)中,若 ,微粒将一直以当前的速度飞行,直到到达边界。由于它只能搜索有限的区域,所以很难找到好解。若 ,则微粒没有认知能力,也就是“只有社会(social only)”的算法,所以 又称为社会参数。在微粒的相互作用下,有能力到达新的搜索空间。它的收敛速度比基本的PSO更快,但对复杂问题,则比基本的PSO更容易陷入局部最小点。1.3 1.3 参数分析参数分析(2)(2)1c2cbestpbestg021 cc01c2c2023-1-8微粒群优化算法11若
10、,则微粒之间没有社会信息共享,也就是“只有认知(cognitiononly)”的算法,所以又称 为认知参数。因为个体间没有交互,一个规模为 的群体等价于运行了 个单个微粒的运行,因而得到优化解的机率非常小。通常,。也有实验结果显示当 时能取得更好的效果。最近一些研究还表明认知参数 选择的大些而社会参数 选择的小些,但 时能得到更好的结果。此外,随机数 、可以保证微粒群体的多样性。最大最小速度可以决定当前位置与最好位置之间的区域的分辨率(或精度)。如果最大速度太高或最小速度太低,微粒可能会飞过好解;如果最大速度太小或最小速度太大,则微粒不能在局部好区间之外进行足够的探索,导致陷入局部最小值。02
11、c1c1.3 1.3 参数分析参数分析(3)(3)221cc2.021cc421 cc1c2c1r2rmm2023-1-8微粒群优化算法12 较大的惯性权值 有利于跳出局部极小点,而较小的 值有利于算法收敛。因此文献3,4,5提出了惯性权值 的自适应调整策略,即刚开始时 较大,随着迭代的进行,线性地减小。这种方法的进一步发展是模糊自适应PSO(Fuzzy Adaptive PSO)6,它用自适应模糊惯性权值控制器来动态优化 ,即构造一个2输入、单输出的模糊推理机来动态地修改惯性权值 。模糊推理机的两个输入分别是当前 值以及当前全局最好位置,输出则是 的增量。自适应PSO算法对许多问题都能取得满
12、意的结果。通过自适应调整全局系数,兼顾搜索速度和搜索精度,是一种有效的PSO算法。但是对许多复杂的非线性优化问题,试图通过自适应调整一个全局系数提高搜索精度的余地是有限的,而且这种方法在实现时有一定困难。2常见的改进常见的改进PSO算法算法2.1 2.1 自适应自适应PSOPSO算法算法 2023-1-8微粒群优化算法132.2 2.2 带收缩因子的带收缩因子的PSOPSO算法算法(PSO with a constriction factor)文献9提出一种带收缩因子的PSO算法。其微粒速度迭代方程为:(3)式中,称为收缩因子,。类似惯性权值,收缩因子可以改善算法的收敛性;但在控制微粒速度变化
13、的幅度上,收缩因子不同于惯性权值,而是类似于最大速度限。有实验表明10,在没有最大速度限时,带收缩因子的PSO算法比不带收缩因子的PSO算法具有更好的性能。)()(2211idgdididididxprcxprcvv422221cc 42023-1-8微粒群优化算法142.3 2.3 带选择机制的带选择机制的PSOPSO(PSO with selection mechanism)文献11提出一种带选择机制的PSO算法。这种算法依据某些特定的技术,将每个个体的适应值,基于其当前位置,与其他个体进行比较,然后根据定义的规则将所有个体排序,得分最高的出现在群体的头部。一旦群体排完序,群体中当前位置和
14、速度最差的一半被群体中最好的另一半取代。带选择机制的PSO算法在解决单峰函数的优化问题时效果明显,但并不一定对所有的优化问题都很有效。这种算法由于有了选择机制,加快了对当前较好区域的开发过程,使得收敛速度较快,但也增加了陷入局部解的可能性。借鉴遗传算法的思想,文献12最早提出了杂交PSO算法的概念。文献13将基本PSO和选择机制相结合,进一步提出具有繁殖和子群的杂交PSO(Hybrid PSO,HPSO)。杂交PS0算法的选择机制与遗传算法十分相似。该法给微粒群中的每一微粒赋予一个繁殖概率,在每次迭代中,依据繁殖概率的高低选取一定数量的微粒放入一个池中。池中的微粒随机地两两杂交,产生同样数目的
15、子代微粒,并用子代微粒代替父代微粒,以保持种群的微粒数目不变。子代微粒的位置由父代微粒的位置的算术加权和计算。实验结果12-14显示,杂交PSO算法的收敛速度比较快,搜索精度也相对比较高,对一些非线性优化问题可以得到满意的结果,尤其使对多峰值函数具有更好的性能。2023-1-8微粒群优化算法152.4 2.4 带空间邻域的带空间邻域的PSOPSO(PSO with spatial neighbor)Angeline的研究表明15,尽管PSO算法能比其他进化算法更快地得到较为理想的解,但当迭代次数增加时,PSO算法并不一定能进行更精确的搜索。为此,可引入一个变化的邻域算子(Neighborhoo
16、d Operator),在优化的初始阶段,一个微粒的邻域就是它本身,随着迭代次数的增加,根据候选个体与其他个体的距离,逐步引入距离近的个体,邻域逐渐变大,包含越来越多的微粒,最后将包含所有的微粒。这样,原来的全局历史最好位置搜索就变成了微粒邻域的局部历史最好位置搜索。文献15更为详细的资料和许多测试函数的仿真结果表明这一方法能有效地获得全局最优解。结合空间邻域和环状拓扑结构,文献16,17进一步提出具有社会模式(Social Stereotyping)的簇分析PSO算法(PSO with Cluster Analysis)。该法将微粒群体中的一些微粒作为中心,再将离它最近的N个微粒和中心微粒作
17、为一簇,然后计算每个簇的中心位置,并将这些中心位置来替代 和 。但文献16,17所示的研究结果并没表明这一方法具有更好的性能,结果难以令人满意,还有许多问题有待于研究。bestpbestg2023-1-8微粒群优化算法162.5 2.5 离散离散PSOPSO算法算法 Kennedy和Eberhart在基本PS0的基础上发展了离散二进制PSO18。离散二进制PS0与基本PS0的主要区别在于运动方程(公式(1)、(2),离散二进制PS0的运动方程如下:(4)if then ;else (5)式(5)中,是sigmoid函数;是随机矢量 的第 维分量。微粒的位置只有(0,1)两种状态,而速度 与某一
18、概率的门限值相关,速度值越大,则粒子位置取1的可能性越大,反之越小。在式(4)中,为防止速度 过大,可以设置了 使函数不会过于接近0或1,以保证算法能以一定的概率从一种状态跃迁到另一种状态。可以看出,除了式(5)不同,离散二进制的PS0与基本PS0几乎一样。为了解决实际中的组合优化问题,文献19进一步推广了离散二进制PSO,提出了离散版的PSO,并将其应用于旅行商问题(TSP)的求解,取得了较好的效果。离散PSO扩展了基本PSO的应用领域,给组合优化问题的求解带来更好的应用前景。)()(2211idgdididididxprcxprcvv)(ididvsig1idx0idx)exp(11)(i
19、didvvsig1,0ididVVmaxV2023-1-8微粒群优化算法172.6 2.6 有拉伸功能的有拉伸功能的PS0PS0(PSO with Function“Stretching”)拉伸变换函数最早由Vrahatis于1996年提出20,然后Parsopoulos和Plagianakos于2001年将拉伸技术用于PSO最小化问题的求解21-23,形成有拉伸功能的PS0,也称为SPS0,它通过消除不理想的局部最小而保留全局最小来避免优化时陷入局部最小。SPSO在检测到目标函数 的局部最小点 后,立即对待优化的目标函数进行拉伸变换。拉伸变换操作的实现通过两步完成20:(6)(7)其中 ,为
20、任意确定的正常数,是三值符号函数。这一变换,首先通过式(6)的操作提升目标函数 ,消除了所有位于 之上的局部最小区域;然后,通过式(7)的操作将 邻域向上拉伸,使得该点具有更高的适应值。由于在两步操作中,都没有改变 下部的局部最小区域,因此对全局最小值没有影响,从而减小了PSO陷入局部最小区域的概率。文献21-23的研究结果表明,SPSO具有稳健的收敛性和良好的搜索能力,在大多数高维度、多局部极值的函数最小值的求解问题上与基本PSO相比,搜索成功率显著提高。但计算耗时相应地也会增多。1)()()()(1xfxfsignxxxfxG)()(tanh(1)()()()(2xGxGxfxfsignx
21、GxH12)(signx)(xf)(xf)(xfxx2023-1-8微粒群优化算法18除了以上几类改进的PSO外,还有:随机PSO(Random PSO)24 多次启动PSO(Multi-Start PSO)24 协作PSO(Cooperative PSO)25、26 智能PSO(Intelligent PSO)27 非受控分类PSO(Non-dominated Sorting PSO)28 2.7 2.7 其他改进的其他改进的PS0PS02023-1-8微粒群优化算法193.3.多相微粒群优化算法(多相微粒群优化算法(MPPSOMPPSO)3.1 3.1 算法原理算法原理 PSO采用全局搜索
22、和局部搜索相结合的搜索模式,由于惯性权值的引入,PSO首先进行全局搜索以提高搜索速度,一旦找到全局最优区域,立即进行局部搜索以得到高精度的搜索结果。事实上,PSO有两个弱点:和其他的随机算法一样,为了不易陷入局部最小,扩大搜索空间的范围,导致相当多的计算量用在低适应值状态的搜索上;微粒一直不断地朝一个方向运动,直到这个方向被改变,这很容易导致微粒收敛于适应值低的局部最小。如果将微粒分成两组,每一组有自己的搜索目标,即一组以全局最好为搜索目标,另一组以局部最好为搜索目标。一旦搜索受阻,适应值得不到改善而又不能满足要求,就允许微粒改变搜索方向,即允许进行局部最优搜索的微粒进行全局最优搜索,也允许进
23、行全局最优搜索的微粒进行局部最优搜索。假定进行全局最好位置搜索的速度和进行局部最好位置搜索的速度方向相反。这样在整个搜索过程中,微粒有可能经常从一个群体跑到另一个群体,搜索方式可能经常变化,运行方向也有可能经常改变。这就是多相微粒群优化算法的基本原理。它与基本PSO的不同之处有:将微粒分成多群,增加了搜索的多样性和搜索的广泛性。引入不同的相,每相微粒运动的方式、方向都会随之改变。从整体来看,搜索只朝适应值得到改善的方向进行。2023-1-8微粒群优化算法203.2 3.2 参数分析参数分析(1)(1)在MPPSO中,除包含着基本PSO的各参数,自己的算法参数主要有:相数 、相变换频率 、组系数
24、 、和速度重置量 。(1)相数 对离散二进制情况来说,由于组系数 和 在每相的可能值只能是-1或1,最大只能为4。对于连续空间,尽管组系数 和 可以随机取值,也不可取得太大,通常也不超过431。(2)相变换频率 决定每相之间交换微粒的快慢。通常有两种方法确定:经验比例法和自适应调整法。在经验比例法中,。是最大允许迭代次数,是1,之间的一个经验数。假如 ,则每迭代4次后,相之间就交换微粒。即,1-4代某微粒在某一相,第5-8代则在另一相,依次类推。在自适应调整法中,若在某一相中,微粒经若干次迭代后适应值没有改善,就跳到另一相中去。此时 为适应值连续没有改善的次数。假如 ,若某一相微粒的适应值连续
25、4次都没有改善,则下一次就该跳到另一相。phnphfvCxCgCcVphnphfxCgCphnxCgCphnphf/NfphN4phfphf4phfN2023-1-8微粒群优化算法21(3)组系数 、这三个系数实际上是标识符,它们的值在每相中各不相同。和微粒的运动速度有关,必须为正。和微粒当前的位置有关,和全局历史最好位置有关,且和 的标识值相反31。在PSO中,微粒总是朝一个方向移动,而MPPSO允许微粒朝不同的方向移动,所以,若为正,必为负。(4)速度重置量 在随机PSO(Random-PSO)和多次启动PSO(Multi-Start PSO)中,为了尽可能不陷入局部极小,往往在效果不好时
展开阅读全文