杂草算法_IWO_简介
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
λ
μ
J (K P , K I , K D , λ, µ ) = I + R + ψ
2
2
2
(5)
其中: I、 R、 Ψ分别闭环系统特征方程的虚数部分、 实数部分以及相位角。 Debarati Kundu 亦对需整定的参数做了如下约束:1≤KP≤1000、0≤λ,μ≤1、1≤Ti,Td ≤500。最终得到的控制器的测试数据如表 3 所示,由表中数据可以看出用杂草 算法整定的参数要优于 PSO、GA 整定的参数。
第三步:空间扩散。 以父代为轴线(均值),子代个体以正态分布方式扩散在 D 维空间中。迭代过 程中,每一代的标准差按如下规律进行变化:
σ iter =
(iter max −iter ) n (σ initial − σ final ) + σ final (iter max ) n
(2)
其中: σ iter :第 iter 次迭代的标准差值、 σ initial :起始标准差值、 σ final :最终 标准差值、 itermax :最大迭代次数、n:非线性调和指数。该式确保了在相距较 远的区域内产生种子的可能性随着迭代次数非线性增加 , 以便分组和排除。另 外,该式对于 iter 是递减的,确定了杂草算法前期是全局搜索为重、后期以局部 搜索为重的基本特性。 第四步:竞争排斥。 经过数代的繁殖后,克隆产生的后代数目将超过环境资源的承受能力,通过 预先设定的最大种群数目确定最大种群大小, 当达到最大种群数目时先按前面规 则自由繁殖,扩散完成后,再将父代和子代一起进行排列,按适应值大小进行淘 汰,以达到种群上限要求。
图 4:IWO-PSO 混合算法混合算法伪代码
图 5:IWO、POS、IWO-PSO 对比曲线
(2)DIWO 算法。该算法将杂草算法和差分进化算法有机的结合起来,弥补了 杂草算法不能很好应对高度耦合问题的不足。DIWO 算法的主要流程如下:(1)初 始化;(2)种子产生及繁殖(中间种群以一定概率随机参加繁殖);(3)部分选择, 根据 DE 算法挑出部分个体到中间种群;(4)最终选择;(5)重复 2-4 直到满足结 束条件。表二给出 DIWO 在处理拥塞管理问题和其他算法优化结果的对比数据, 从表中数据可以看出,DIWO 可以得到远低于其他算法的管理成本。
表 3 整定后的控制器对四个不同控制对象的测试数据
9 杂草算法发展趋势 (1)方法改良。对杂草算法离散化的探索;吸收其他算法的优点改良现有的 杂草算法。 (2)应用推广。用杂草算法去解决原来用 PSO、GA、Memetic 等算法解决的连 续问题。
Gc ( s ) =
0.42723( s + 0.5483)( s + 0.0639) ( s + 3.847)( s + 1.2)
(4)
图 6 为加入该控制器的系统在不同阻尼比下的阶跃响应缺陷,从图中可以看出, 用杂草算法的到的二阶控制器对阻尼比分别为 0、0.005、0.1 的系统的阶跃响应 曲线基本是吻合的,由此可见该二阶控制器具有良好的鲁棒性。
2 2 (1 + kω n ) s 2 + 2ζωn s + ω n G( s) = 2 s 2 ( s 2 + 2ζωn s + ω n )
(3)
采用的控制器为二阶控制器,杂草算法在该实例中需要解决的是为该二阶控制器 寻找合适的放大倍数 K、两个零点以及两个极点,使得控制器具有很好的鲁棒性 能适应控制对象不同阻尼比。最终,用杂草算法得到的二阶控制器如下:
图 6:二阶控制器的阶跃响应曲线
(2)分数阶 PI D 控制器参数整定。印度加达维普大学的 Debarati Kundu 曾 λ μ λ μ 用杂草算法进行分数阶 PI D 控制器的参数整定。分数阶 PI D 控制是常规的整 数阶 PID 控制的推广与发展, 比传统 PID 控制器拥有更好的控制效果。但分数阶 参数λ、μ的引入大大加大了控制器参数整定的难度。Debarati Kundu 在将杂 λ μ 草算法用于分数阶 PI D 控制器参数整定的过程中对其做了如下改良:在迭代后 期将非线性调和指数 n 改为 1;允许有最大种族数*0.02 个适应度不高的杂草存 活下来。 在具体参数寻优过程中,Debarati Kundu 将控制器的适应度计算函数定义 为:
�
6 杂草算法与其他算法比较 表 1 所示为杂草与三种改良的模拟退火算法在 Easom 与 Griewank 两个函数到优于其 他三种算法的优化结果。 图 3 所示为杂草算法、 PSO 以及 GA 算法的在一中推荐 系统中的优化结果,从图中可以看出杂草算法的收敛速度大于 PSO 与 GA 并能 得到优于二者的解。
杂草算法(IWO)
1 算法起源 杂草算法即 Invasive Weed Optimization, 是伊朗德黑兰大学的 A.R. Mehrabian 以 及 C. Lucas 在 2006 于 Ecological Informatics 杂 志 上 发 表 论 文 《 A novel numerical optimization algorithm inspired from weed colonization》中首次提出。 2 算法基本思想 杂草算法是一种受杂草启发而提出的、基于种群的数值优化计算方法,其执 行过程是模拟杂草入侵过程的算法。 所谓杂草是指那些生长力旺盛的、具有入侵性的、对栽培的农作物构成严重 威胁的植物。数千年的历史可以说明,杂草是一个“永远的赢家” :人类耕作 以及手工除杂草已经有数千年的历史了,但杂草还是存在于地球每个角落;除草 剂诞生六十多年了, 但杂草还是存在于地球每个角落;杂草具有超强的生存能力 以及自我改造能力(近年来除草剂抗性杂草的诞生就是很好的佐证) 。 杂草入侵的一般过程是: 适应环境、乘机居留、占据地盘、结籽繁殖、扶养 种群、随机应变、逐渐密集、适者生存、竞争消亡, 适应性好的个体获得更多的 生存机会。占据一定区域的杂草克隆行为的一般特征如下:农作物没有充分利用 的资源为杂草创造了发展空间; 杂草通过种子扩散抓住机会进入地里,进而通过 繁殖而不断的殖民, 最终控制整块土地;生物多样性使杂草具有很好地夺取有利 生存空间的特性,随着时间的推移,通过自然选择和竞争生存, 成为本地化改进的 杂草;杂草总能在农季开始的最佳时间在植物群落中最大化其适应性。 在杂草的入侵过程中,相邻植株会由于生长年限、植株大小和相对距离而相 互影响。因此,植物的出生、成长和繁殖会受到植株密度、种群和植物群的适应 性的影响。在植物群落中,适应性的 3 个主要因素(繁殖、与竞争者进行生存斗 争和躲避天敌)是相互矛盾的。适应性的提高可以使植物能够生存更长时间, 而 对于植物适应性的估计必须考虑以上 3 个因素。植物的自然进化选择方式有多 种,其中有两种选择方式比较重要,分别是 r 选择和 k 选择。r 选择是要从植物 群中选择出能够长得快、 繁殖快和消亡快的植物并让这些植物去占据不稳定的和 不可预测的环境,k 选择是要从植物群中选择出能够长得慢、繁殖慢和消亡慢的 具有很强的竞争性的植物去占据一个具有高竞争压力、 资源有限、稳定的和可预 测的环境。r选择对应于杂草算法的全局探索方式,k 选择对应于杂草算法的局 部搜索方式。 3 算法基本流程 第一步:种群初始化。 一定数目的杂草以随机方式在D维空间扩散分布,一般情况下,初始种群中 的杂草个数可根据实际问题进行调整。 第二步:生长繁殖。 每个杂草种子生长到开花, 然后根据其适应性(繁殖能力)产生种子,父代杂 草产生的种子个数与母体的适应度成线性关系:
第五步:重复 2~4 步直至满足设定的最优解条件或者达到最大迭代次数。 以上便是杂草算法基本流程, 根据以上步骤可画出杂草算法的流程图 2 所示。 4 杂草算法的要点及优点 (1)以适应度为基准的繁殖机制。进化算法是一种概率性的和周期性的方法, 其产生的解是在不可行和可行之间不断转化的,在进化过程中,不可行解可能比 可行解带有更多有用信息。一般地 , 当进化算法用于解决优化问题时 , 直观地认 为可行个体具有更好的适应值 , 被给予更多的,生存与繁殖机会 , 而不可行个体 则不允许繁殖。而杂草算法中,繁殖过程按照自然界中的繁殖法则,给予不可行 的个体生存和繁殖的机会,只是这种机会相对较少。 (2)正态分布的扩散机制。 在杂草算法中子代是以正态分布方式在父代个体周 围扩散,这样即具有一定深度(局部搜索),又不失广度(全局搜索)。在迭代初期, 通过大的标准差值, 使种子个体能以正态分布的方式扩散到距离父代杂草很远的 地方,此时种群勘探能力较强(r 选择)。当迭代进行到后期时,标准差逐渐变小, 从而缩小种子的扩散范围, 原先的优势群体更容易得到兴盛发展,此时开采能力 较强(k 选择)。杂草算法兼顾的全局搜索和局部搜索,并能根据迭代次数不同对 二者强度进行调节。 (3)子父代竞争排斥机制。在杂草算法,当繁殖达到种群上限时,不是简单的 从父代中筛选优秀个体进行繁殖,而是先让所有个体自由繁殖,扩散完成后, 再 将父代和子代一起进行排列, 按适应值大小进行淘汰。这种机制给予那些适应值 低的个体繁殖的机会, 如果它们的后代的适应值更好, 这些后代就可以生存下来。 并能能最大限度保留有用信息,同时能避免早熟和陷入局部最优。 5 杂草算法的不足 算法的性能受参数设置的影响较大,这将带来参数寻优问题。 � 离散化方面有待进一步探索。 � IWO 较其他的算法在搜索的广度上有了很大的改进,但是在深度上不如 PSO、EM 等算法。 � 没有考虑多变量之间的相关性,个体之间不存在信息交换。
表2
DIWO 处理拥塞管理问题对比结果
8 杂草算法的应用 杂草算法的应用领域非常广,涉及到:函数优化、模式识别、自动控制、机 械设计、数据挖掘、决策分析等诸多领域,本小节余下部分将具体介绍杂草算法 在自动控制领域上的应用。 (1)二阶控制器参数优化。该实例是杂草算法发明人在其首篇介绍杂草算法 的文章中附带的案例。 控制对象是一个阻尼比不确定的四阶系统,其传递函数如 下:
表 1 杂草与改良的模拟退火算法对比结果
图 3:IWO、PSO、GA 算法在一 种推荐系统中的优化结果
7 杂草算法的一些改良方法 (1)IWO-PSO 混合算法。该算法结合了杂草算法的广度和 PSO 算法的深度: 在 子代扩散中以 PSO 算法中的位置、速度公式代替了杂草算法中的正态分布扩散, 而杂草算法的正态分布扩散方法用于在种群中加入随机个体。 图 4 为该混合算法 的伪代码,图 5 为混合算法与 PSO、基本杂草算法在 Griewank10 函数集中的对 比结果。
Ns =
f − f min ( s max − s min ) + s min f max − f min
(1)
图 1 所示的即为杂草种子个数确定方法。
种群初始化
生长繁殖
空间扩散
否
达到最大 种群数
是 竞争排斥
否
得到最优解
否
达到最大 迭代次数
是
是 结 束
图 1:杂草种子个数确定方法
图 2:杂草算法流程图