第25章 基于细菌觅食算法的函数优化分析

合集下载

基于改进细菌觅食算法的无功优化

基于改进细菌觅食算法的无功优化

基于改进细菌觅食算法的无功优化邓集瀚;杨俊杰【摘要】采用改进的细菌觅食(MBFO)算法求解电力系统无功优化问题,引入了步长递减的控制策略,改善了算法前期的全局搜索能力和后期的局部搜索能力;引入了SA-PSO变异算子,从而使个体可以相互交流,并从精英那里得到经验;引入遗传算法的交叉和赌盘选择,保护了精英个体,同时降低了解劣化的概率.以IEEE-30节点为例的算例结果表明,较其他几种优化方法而言,MBFO具有更快的收敛速度和更好的优化效果,故该算法在解决无功优化问题上可行且有效.【期刊名称】《上海电力学院学报》【年(卷),期】2016(032)002【总页数】8页(P167-174)【关键词】电力系统;无功优化;细菌觅食算法【作者】邓集瀚;杨俊杰【作者单位】上海电力学院电子与信息工程学院,上海200090;上海电力学院电子与信息工程学院,上海200090【正文语种】中文【中图分类】TM714.3;TP18电力系统无功优化指的是在满足所有约束条件的前提下,当系统拓扑结构和运行状况给定时,通过调节某些控制变量,从而改变系统的潮流分布,并使得某些性能指标最优.无功优化是最优潮流的一个分支,并且是一个典型的多变量、非线性、多约束的组合优化问题.现阶段求解无功优化问题的方法主要有经典方法和智能优化算法两种.经典方法的典型代表有梯度算法(Gradient Algorithm)、牛顿法(NEWTON Method)、内点法(Interior Point Method),该类方法的核心在于采用梯度信息进行寻优.智能优化算法具有较好的鲁棒性,并且对研究对象是否可微或可导不敏感,求解无功优化的智能优化算法有粒子群算法[1]、鱼群算法[2]、蚁群算法[3]、免疫算法[4]、差分进化算法[5]、细菌觅算法[6-10]等.细菌觅食(Bouterial Foraging Optimization,BFO)算法是由PASSION K M[11]提出的一种仿生算法,该算法跟其他智能优化算法同样存在容易陷入局部最优而早熟的不足.为提高细菌觅食算法的全局搜索能力,本文对该算法的趋化步长、群体感应机制、驱散操作进行了改进,形成了一种改进的细菌觅食(Modified Bacterial Foraging Optimization,MBFO)算法,并通过IEEE-30节点系统的算例分析验证了该算法的可行性和有效性.无功优化数学模型由目标函数、等式约束条件、不等式约束条件3部分组成. 1.1 目标函数本文以网损最小为目标,目标函数为:式中:Ui,Uj——节点i和节点j的电压幅值;cosθij——节点i和节点j间的相角差;Ploss——网损;gij——支路电导.将PQ节点电压和发电机无功功率通过罚函数引入目标函数,从而式(1)可改写为: 式中:Uilim,Qilim——当电压和发电机无功出力超过上下限时的设定值; Uimax,Uimin——电压幅值的上限和下限;Qimax,Qimax——发电机无功出力的上限和下限;Npq,Npu——PQ节点数目和PU节点数目;λ1,λ2——PQ节点电压越界和PU节点无功出力越界的惩罚因子.1.2 等式约束等式约束条件,即常规潮流方程:式中:Pi,Qi——节点i的注入有功功率和无功功率;Gij,Bij——线路的电导和电纳;N——总的节点数.1.3 不等式约束不等式约束由状态变量约束和控制变量约束构成.控制变量约束为:式中:UGi,KTi,QCi——发电机机端电压,变压器变比,补偿电容器容量;UGi,max,UGi,min——发电机机端电压的上限和下限;KTi,max,KTi,min——变压器变比的上限和下限;QCi,max,QCi,min——补偿电容器容量的上限和下限;NG——发电机数目;NT——变压器的数目;NC——补偿电容器数目.状态变量约束为:式中:QGi——发电机i的无功输出;QGi,max,QGi,min——发电机i的无功输出的上限和下限.根据文献[11]可知,BFO主要由驱化、聚群、复制、驱散(迁徙)4个部分构成。

基于免疫算法的细菌觅食算法优化研究

基于免疫算法的细菌觅食算法优化研究

基于免疫算法的细菌觅食算法优化研究马宁;廖慧惠【摘要】细菌觅食算法BFA(Bacterial Foraging Algorithm)作为一种理论新颖、搜索机制独特的新型算法,广泛应用于各种智能优化问题.但是细菌觅食算法经常出现的速度较慢、步长一致的缺陷,提出在BFA的趋向性操作环节中调节细菌游动的步长,将步长逐步减小,以提高收敛速度.引入免疫算法中的克隆选择思想对细菌觅食算法中的复制操作进行替代;并通过实例对优化后的算法进行验证,结果表明:优化后的算法更加精确,寻优能力更强,稳定性更佳.%BFA (Bacterial Foraging Algorithm) is a new algorithm with novel theory and unique search mechanism widely used to solve intelligent optimization problems, but with low speed and uniform step length.In this paper, the step length of bacterial swimming is adjusted in the directional operation of BFA and reduced gradually to improve the convergence speed and the idea of clonal selection in immune algorithm is introduced to replace the copy operation in bacterial foraging algorithm.Case verification results show that optimized algorithm is more accurate, more powerful and more stable.【期刊名称】《菏泽学院学报》【年(卷),期】2017(039)002【总页数】7页(P19-25)【关键词】细菌觅食算法;免疫算法;优化【作者】马宁;廖慧惠【作者单位】安徽广播电视大学,安徽合肥 230022;安徽工业经济职业技术学院,安徽合肥 230051【正文语种】中文【中图分类】Q93;TP18参考自然界生物群体行为,人们相继研究出多种群体智能优化算法.其中Kenned、Eberhart两位学者在20世纪90年代中期根据鸟群捕食行为研制出PSO算法,即粒子群优化算法[1],这一算法的应用范围极广,在各领域均发挥着重要作用[2~4],除了各项实践问题;Passino学者依据人体肠道内大肠杆菌吞噬食物的实际过程,构建出BFA算法,即细菌觅食算法[5],掀起了生物运算领域的研究热潮.从整体上来看,不同算法的特征各不相同,具有一定的优势和不足,BFA算法的收敛精度、搜索性能较差,但便于跳出局部极限的约束,收敛速度相对较快.很多学者开展了大量研究,一起提高BFA算法的性能,并整合了该算法和其他算法,这些整合算法主要包括分布估计算法、粒子群算法等.储颖学者[6] 就参考粒子群优化算法的信息共享机制,优化改进了细菌觅食算法的群体感应机制;DasguptaA学者[7]等将交叉、变异操作引入到原算法内,构建了混合细菌觅食算法;KimDH 学者[8]研究出GA-BFO算法;Biswas A学者[9]在细菌觅食算法的趋化算子中融入粒子群法,形成了新型算法,无需借助趋化操作;以Kim[10]为代表的学者们在BFO算法内融入变异算子及交叉算子,形成了GABFO算法;Luh学者[11]基于细菌进化的层面,构建了BEA算法(细菌进化算法);刘小龙[12]等多位学者在繁殖算子中融入分布估计算法思路,分布估计再生的半数细菌,这些细菌都具有良好的细菌能量,对细菌自适应迁移率进行了分析,指定随机迁移了能量不良的细菌,希望改善细菌寻优性能,若在低概率下迁移能量良好的细菌,从本质上迁移即为退化解的过程,降低了寻优专区恶性,切寻优速度大大降低;Biswas学者[13]讲粒子群法引入到细菌趋化算子内,确保细菌对全局极值的感知性,借助迭代公式来更新细菌位置,弱化了趋化算子的功能性,使时间复杂性增大;Dasgupta学者[13]等将变异和交叉算子都融合到细菌进化内,丰富了种群类型,然而也存在优良个体的缺失问题.鉴于以上情况,本文通过利用免疫算法中的克隆选择思想对筛选出来的最优细菌进行繁殖变异,随着克隆细菌群落的变异以及随机交叉,进而替换细菌群落中适应度最差个体,指引算法提升搜索的精准度,并且通过调节细菌游动的步长来提高细菌觅食优化算法的收敛速度,实例证明免疫算法可以使细菌群体的搜索精度以及适应度有效提高.基于BFO算法下,模型赢编码待优化问题,对其解在搜索空间内细菌的具体状态进行定义.在处理实际问题的过程中,可以划分为以下几步:形成初始解群体、对评价函数值进行运算、借助群体彼此影响、作用机制实施迭代优化,在这个过程中应对趋化、繁殖及迁移三大算子进行循环式的执行操作,从而得到最优解.在算法模型内,对细菌实现最有觅食的行为进行模拟可以形成趋化算子,体现为在游动、翻转作用下,细菌能够游动并集中到营养较为丰富的位置,进行有目标化的运动,探索出最优路径.在细菌觅食优化算法下,细菌在不同方向上的移动单位步长即为翻转,而游动为若翻转后细菌适应值有所改善,需要继续沿此方向进行移动,实现适应值的最优化.细菌单个完整生命周期就是算法定义趋化周期,若结束生命周期,细菌会在遵循生物生存法则进行淘汰式繁殖.执行细菌觅食优化算法的过程中,应注重低等生物自身的繁殖性能及其对环境的适应能力,Passino学者将非常规的觅食策略融入到该算法的执行中,认为细菌能量就是趋化时细菌的适应值的总和,半数细菌(能量较差)在单个生命周期中死亡,且半数细菌繁殖(能量良好)变为两个子细菌,则母代细菌生物特点会被子细菌所继承.趋化算子能够使子细菌局部搜索准确性得到明显改善,细菌快速收敛性借助繁殖算子能够大大增加.如果需要解决的NP问题相对繁琐和复杂,要想不出现局部极小的状况,使算法全局寻优性能增大,就要结合算法限定,在细菌结束繁殖操作后,在搜索空间随意位置,按照特定概率对其进行迁移.由此得知,细菌局部搜索性能在BFO算法下的实现,依靠的是趋化算子能够随机搜索领域,也能够结合适应度调控方向.因为没有发挥群体周边细菌信息运用机制应用的作用,所以使算法收敛速度降低,出现局部最优的状况.完成趋化周期后,结合细菌能量,算法能够执行繁殖操作,这就能够改善寻优准确性,然而由于算法具有局部最优的缺陷,所以也会出现一系列的不熟和早熟等现象.建立在免疫系统基础上的免疫算法处于一种学习算法,涵盖于人工免疫系统研究领域.20世纪70年代,Jerne学者[14]就构建出免疫系统模型和免疫系统数学框架,之后Pereslon对上述研究成果进行完善,提出独特型网络的概率描述法[15],并将该算法用于机器人运动路径规划领域内,并取得了明显的进步.免疫算法能够形成求解复杂系统优化问题法,与问题具体领域并没有较大的联系,在问题类型方面具有良好的鲁棒性,在不同学科中均发挥着极其重要的作用,包括控制工程领域、建筑结构设计领域及函数设计领域等.免疫算法原理相对繁琐,结合相关调查分析显示,免疫算法融合性较强[16],能够有效融合蚁群算法、鸟群算法和主流遗传算法等,然而当前很少有研究学者分析免疫算法同细菌觅食优化算法的整合.Mori学者[17]就针对免疫算法进行了研究,认为免疫算法对抗体剑亲和度的关注程度较低,只是分析抗原、抗体剑的亲和度,其借助良好的搜索性能,能够在网络安全[18]、路径规划[19~20]等方面发挥重要作用.本研究主要针对免疫算法的克隆选择卢纶,开展其同细菌觅食算的复制融合研究,希望能够改善算法的搜索精度和整体性能.基于免疫算法的细菌觅食优化算法的实现过程为:针对细菌种群开展趋化操作.1)形成单位向量Ψ(j),细菌进行翻转.2)对细菌的种群位置进行改善.细菌个体要结合灵敏度开展群游操作,若适应度增大到最大值,表示完成操作,则灵敏度表示成:公式内灵敏度算子是Ddlta,其数值同适应度函数变化范围有直接的联系.细菌群游式表示成:公式内趋化周期是j.3)细菌进行繁殖再生,结束趋化操作,依次按照克隆、变异、交叉和选择的顺序处理当前细菌群体.4)根据适应度加和对细菌排序,精英细菌就是待克隆群体,为Sr个细菌(适应度较强).细菌群个数的半数为精英细菌,Sr=S/2.5)克隆繁殖精英细菌,克隆群体表示为Sc,那么结合公式(3),对适应度进行标准化处理,结合公式(4)对精英细菌的数量进行运算,得出,克隆繁殖数Sc_size,细菌个体的适应度与克隆群体的数量成正比,度量细胞抗原和抗体的亲和度递增函数表示为β.参考公式(5)进行高频变异,变异概率为δ,细菌个体适应度与变异概率越大两者呈正比关系,而且适应度越强大表示搜索空间更加广阔.结合公式(7)进行随机交叉,克隆群体内随意对差异化的细菌个体进行选择,得到k1,k2,k3,k4,免疫细胞为Si个,按照公式(8)将其融入在克隆群体内,构建出Sn,即克隆繁殖细菌群.在Sn内对适应度最强的细菌个体进行挑选,数量为Sr个,将其替换板书细菌个体(适应度不强).6)执行细菌驱散操作,在增强算法全局搜索性能的过程中,要结合驱散概率,驱散适应度不强的细菌.迁移标准细菌模式算法时,算法能够对概率ped进行确定,在解空间内对细菌个体进行随意性的迁移,如果概率ped比随机数要大,那么需要求迁移该细菌,借助该方式来提升细菌跳出局部极值的概率.鉴于算法内细菌迁移的概率一致,很可能会迁移全局最优值周边或寻优能力相对较强的细菌,就等同于细菌丢失探寻最优解的可能,迁移就会转变为退化解的过程,根本起不到改善寻优精度和加快寻优速度的效果.改进细菌的迁移操作后,就不应驱散适应度相对较强的细菌,要结合概率来对细菌执行驱散操作,这样能够消除细菌在处于全局最优化附近而被驱散现象的发生,也能够使细菌群摆脱局部最优限制的约束.7)对循环结束进行判断,若达到结束条件就应结束循环,可以将结果进行输出.结合算法基本原理,对免疫优化下细菌觅食优化算法实现流程进行归纳,结果详见图1:在DASGUPTA文章中分析BFA算法的收敛性时[13],对细菌觅食算法进行模拟菌群中每个细菌个体相互发生的影响没有进行充分的考虑.由于文中提到的融合免疫算法结合并入,因此对于融合免疫算法的收敛性需要重新进行验证.按照学者李涛的研究[14]:抗体种群为Aο,抗体空间几何I*,V(A(k))通过计算得出最优解个数B*,进行简化,可得由此可以得到此算法进行收敛直到最优解集的概率为1.如果算法迭代数量达到一定上限时,就会进行一定的收敛.在融合免疫算法中的抗体种群用A0表示,如下: 其中,Ai(k)表示细菌i在第k次操作的时候所在的位置,而Ai(k)是由Ai(k-1)经过克隆、变异而得.马尔克失链可对这一过程进行描述.为了方便表述,标记:由贝叶斯条件概率公式有:由免疫算法的特征可知:则有又因为所以故而因为所以所以综上所述,GBFA以概率1收敛.选取Sphere函数f1=(x1)、Griewank函数f2=(x2)、Rastrigrin函数f3=(x3)作为测试函数:维数皆设置为20,引用传统BFA算法和本文的融合免疫算法进行计算.其中,S=40,最大的趋势化次数Nc=20,最大的繁殖次数Nre=4,最大的迁移次数将测试曲线绘制到图2~图4.从图2~图4,可以看出:图2中,对于Sphere函数的寻优曲线,GBFA仅需要12次迭代便可以寻找出最优值,而传统BFA需要22次迭代才可以寻找出最优值,迭代次数为GBFA的2.67倍;Griewank函数具有很强的震荡性质,一般无法找到它们的最优解.从图3可以看出,传统BFA无法找到Griewank函数的最优解,但GBFA搜索到的最优解为0,说明GBFA的搜索能力远大于传统BFA.图4中,对于Rastrigrin函数的寻优曲线,GBFA仅仅需要23次迭代便可以寻找出最优值,而传统BFA需要53次迭代才可以寻找出最优值,迭代次数为GBFA的2.30倍.简而言之,GBFA的搜索能力和搜索速度远大于传统BFA.GBFA和传统BFA收敛精度的比较见表1.通过表1,对于Sphere函数f1(x1)、Griewank函数f2(x2)、Rastrigrin函数f3=(x3),融合免疫算法的精度远大于传统BFA,寻优能力更强.并且,融合免疫算法的方差均小于传统BFA的方差,说明融合免疫算法的稳定性更好.本文针对BFA算法的三个操作环节(复制操作环节、趋向性操作环节和迁移操作环节),免疫算法克隆选择思想的相关思想,提出BFA的一种融合免疫算法.并利用Sphere函数f1(x1)、Griewank函数f2(x2)、Rastrigrin函数f3(x3)作为实例进行验证,发现融合免疫算法的搜索能力和搜索速度远大于传统BFA,寻优能力更强、稳定性更好.【相关文献】[1]黄少荣.粒子群优化算法综述[J].计算机工程与设计,2009(8):1977-1980.[2]付志军,冯丽,杜伟宁,等.离散粒子群优化算法在流水作业调度问题中的应用[J].吉林大学学报: 理学版,2014,52(3):561-564.[3]任贝,韩飞,吴坚.基于遗传算法的摄像机标定[J].吉林大学学报: 信息科学版,2013(4) : 432-436.[4]张杭悦,陈谋.基于混合优化鱼群算法的近空间飞行器控制分配[J].吉林大学学报: 信息科学版,2014(4):369-376. [5]周雅兰.细菌觅食优化算法的研究与应用[J].计算机工程与应用,2010,46(20):16-21. [6]储颖,糜华,纪震,等.基于粒子群优化的快速细菌群游算法[J].数据采集与处理,2010,25(4) : 442-448. [7]Dasgupta A, Dasgupta S, Das S, et al. A synergyof differential evolution andbacterial foraging optimization.for global optimization[J]. Neural Network Word,2007,17(6): 607-626.[8]Kim D H, Abraham A, Cho J H. A hybrid genetic algorithm and bacterial foraging approach[J]. Information Sciences, 2007, 177(18): 3918-3937.[9]Biswas A, Dasgupta S, Das S, et al. Synergy of PSO and bacterial foraging op-timization:A comparative study on numerical benchmarks[C]. Proc of the 2nd IntSymposium on Hybrid Artificial Intelligent Systems. Salamanca, 2007:255-263.[10]NAYAGAMA V L G,MURALIKRISHNAN S,SIVARAMAN G.Multi-criteria decision-making method based on interval-valued intuitionistic fuzzy sets[J].Expert Systems with Applications,2011,38(3) : 1464-1467. [11]NAYAGAMAVLG,SIVARAMAN G.Ranking of interval valuedintuitionistic fuzzy sets[J].Applied Soft Computing,2011,11(4) :3368-3372.[12]刘小龙,李荣钧,杨萍.基于高斯分布估计的细菌觅食优化算法[J].控制与决策,2011,26(8) : 1233-1238.[13]BISWASA,DASGUPTAS,DASS,etal.Synergy of PSO and bacterial foragingoptimization—A comparative study on numericalbenchmarks[EB /OL].[2010-05-10].http: //www.softcomputing.net/hais072.pdf.[14]Jerne.N.K. Towards a Network Theory of the Immune System. Annual Immunology, 1974,125C:373-389.[15]Perelson.A.S. Immune Network Theory. Immunological Review,1989,10:5-36.[16]莫宏伟.人工免疫系统原理与应用[M].哈尔滨: 哈尔滨工业大学出版社,2002.[17]MORI K,TSUKIYAMA M,FUKUDA T.Immune Algorithm with Searching Diversity and Its Application to Resource Allocation Problem[J].Transactions-Institute of Electrical Engineers of Japan,1993,113C(10) : 872-878.[18]刘丽峰,张树清,李新红.人工免疫算法路径规划在林火救援中的应用[J].吉林大学学报: 信息科学版,2012,30(4):433-440.[19]江超,王海燕,陈磊,等.基于生物免疫原理的新型无线传感器网络安全算法[J].吉林大学学报: 理学版,2013,50(6):1204-1208.[20]胡亮,王程明,赵阔,等.基于人工免疫模型的入侵检测系统中检测器生成算法的分析与改进[J].吉林大学学报:理学版,2010,48(1) : 67-72.。

基于免疫进化细菌觅食算法的多目标无功优化

基于免疫进化细菌觅食算法的多目标无功优化

基于免疫进化细菌觅食算法的多目标无功优化李莹;简献忠【摘要】为了更好地解决电力系统多目标无功优化问题,分析了当前多目标无功优化算法存在的缺陷,提出了一种基于免疫进化的改进多目标细菌觅食优化算法.该算法求得的Pareto最优解分布均匀,收敛性和鲁棒性好.IEEE14,IEEE30节点测试系统的算例结果表明所提的算法在多目标无功优化中具有良好的效果,为各目标之间的权衡分析提供了有效工具,是一种求解多目标无功优化问题的有效方法.【期刊名称】《电力科学与工程》【年(卷),期】2014(030)004【总页数】6页(P5-10)【关键词】无功优化;多目标;免疫进化;细菌觅食优化算法;非支配排序【作者】李莹;简献忠【作者单位】上海理工大学电气工程系,上海200093;上海理工大学电气工程系,上海200093【正文语种】中文【中图分类】TM714.3;TP301.6当前随着电力系统规模的不断扩大,无功优化涉及的目标越来越多[1~3],然而各个目标之间存在竞争关系,彼此矛盾。

传统的多目标无功优化方法将多目标问题转化为单目标再求解[4~6],这类方法存在明显的缺点:每次计算彼此独立,结果可能出现不一致的情况,且优化过程中考虑的各因素在总目标中所占权重的改变将影响整个目标系统无功的优化结果。

因此,本文将基于精英选择法的Pareto最优前沿[7]引入寻优机制中,利用非支配排序和拥挤距离排序对种群进行选择更新,且输出一组Pareto非支配解集[8],为不同的应用场合及需求提供选择。

目前应用于无功优化的智能算法很多,并取得了一些研究成果[9~11],但是基于 Pareto最优前沿的多目标细菌觅食优化算法的研究文献尚未见报道,因此,本文提出一种基于免疫进化的改进多目标细菌觅食优化算法 (IA-IBFO),并将此算法应用于多目标无功优化问题,最终仿真结果表明,本文算法不仅能够保持Pareto最优解的多样性,同时还具有很好的收敛性能。

连续优化问题的细菌觅食改进算法

连续优化问题的细菌觅食改进算法

连续优化问题的细菌觅食改进算法戴秋萍;马良;郗莹【摘要】为更有效解决连续优化问题,提出了一种基于群体搜索的群智能优化算法——细菌觅食算法.该算法模拟了细菌觅食全过程,并对细菌个体的初始化、趋化操作中的搜索步长和搜索方向进行了改进.改进后的算法有效避免了算法陷入局部最优,而算法中采用的搜索步长,进一步提高了优化的收敛速度.经大量实验仿真表明,细菌觅食算法能够有效地求解连续优化问题.将仿真结果与其它算法对比,证明了细菌觅食算法的搜索质量优于其它算法.【期刊名称】《上海理工大学学报》【年(卷),期】2013(035)002【总页数】4页(P103-106)【关键词】连续优化问题;细菌觅食;局部优化【作者】戴秋萍;马良;郗莹【作者单位】上海理工大学管理学院,上海200093;上海理工大学管理学院,上海200093;上海理工大学管理学院,上海200093【正文语种】中文【中图分类】N945.15经典的优化算法在函数优化问题中,常常要求函数连续可微,因此在求解过程中需要借助一些基于梯度信息的数学技巧,并且在接近最优解时容易出现锯齿现象,造成收敛速度缓慢[1].20世纪50年代中期,人们从生物进化的机理中得到启发,创立了仿生学,并提出了许多解决复杂优化问题的智能方法,如神经网络、遗传算法[2]、进化策略、蚂蚁算法[3]等,这些方法在连续函数优化问题中取得了较好的结果.本文提出了一种新的智能优化算法——细菌觅食算法对连续函数优化问题进行求解.细菌觅食算法(bacterial foraging optimization,BFO)是由Passino[4]于2002年提出来的一种仿生随机搜索算法,该算法具有群体智能性,并可进行并行搜索.目前,BFO已被用于车间调度问题、自适应控制领域、噪声干扰下的谐波估计问题和PID(proportional integral derivative)控制器的设计等方面,并获得了较好的效果[5-6].本文对细菌觅食算法操作步骤进行了改进,有效地改善了该算法极易陷入局部最优的缺点,使其在解决复杂连续优化问题时,全局搜索能力大大增强.另外,通过大量仿真实验验证了该算法的有效性.细菌觅食算法是基于大肠杆菌在觅食过程中体现出来的智能行为的一种新型仿生优化算法,其具有群体智能性、并行性等特点.细菌觅食算法包括趋化操作(chemotaxis)、复制操作(reproduction)和迁徙(elimination and dispersal)操作.这3种操作方式是模仿细菌觅食的趋向行为、复制行为和迁移行为的抽象[7-8].a.趋化操作大肠杆菌在寻找食物源的过程中,其运动是通过表层的鞭毛实现的.当鞭毛全部逆时针摆动时,大肠杆菌将会向前行;当鞭毛全部顺时针摆动时,它会减速至停止.鞭毛的摆动对应着细菌个体对当前适应值的判断,并决定是否对其位置进行调整和确定调整的方向和力度.趋化操作模拟了大肠杆菌的这个运动过程,包括游动和翻转两个操作.设pi(j,k,l)表示细菌个体i的当前位置,j表示第j次趋化行为,k表示第k 次复制行为,l表示第l次迁徙行为.则其中,φ(j)表示游动的方向;C(i)表示前进步长.b.复制操作设群体规模为S,在完成设定次数的趋向操作之后,将群体中的个体按照其适应度值进行排序,将排在后面S/2的个体删除,剩下的个体进行自我复制,保证群体规模的稳定性.c.迁徙操作迁徙操作按照预先设定的一个概率发生,若某一个个体满足迁徙操作发生的条件,那么即将此个体删除,并生成一个新的个体代替.相当于将原来个体重新分配到一个新的位置,即以一定的概率将个体随机驱散到搜索空间.2.1 初始化操作改进在细菌觅食算法中,细菌种群的大小直接影响细菌寻求最优解的能力.种群数量越大,其初始覆盖区域越大,靠近最优解的概率就越大,能避免算法陷入局部极值,但同时增加了算法的计算量.因此,本文将初始化操作进行了改进.改进后,在细菌规模较小的情况下,能比较有效地改善初始化后细菌群体的覆盖范围(见图1、图2).确定群体规模S之后,将群体搜索的空间分成S个区域,每个细菌个体的初始位置为S个区域的中心点,随即细菌将在各自区域内搜索.由图1可知,细菌个体随机生成时,菌群可能在搜索空间内分布不均,在搜索最优解过程中,极有可能在限定的游动步长内无法找到最优解而陷入局部最优.2.2 趋化操作改进细菌觅食算法中,趋化操作是细菌觅食过程中最重要的一个步骤.基本细菌觅食算法在进行趋化操作时,细菌个体是根据历史信息按固定步长朝着食物源方向游动.在解决连续函数优化问题,尤其是多峰函数优化问题时,传统的操作方式易使得细菌个体错过最优解,本文对趋化搜索方式进行了改进.将细菌个体所在区域切分为n×n块,每个细菌在进行翻转操作时,仅在细菌周围的8个方向中随机选取,游动过程中每游动一次前进步长缩短为原来步长的0.8倍,C(i)=0.8C(i).当细菌个体游动次数并未达到设定游动次数时,细菌将再进行一次翻转操作.趋化操作步骤:a.确定细菌个体i,确定游动方向φ(j).b.细菌游动pi(j+1,k,l)=pi(j,k,l)+ C(i)φ(j).c.判断当前位置是否更优,是则个体i被新个体取代,继续步骤b,步长C(i)变为0.8C(i).d.判断是否达到设定游动次数,未达到转步骤a,达到游动次数细菌个体i趋化操作结束.2.3 复制操作改进细菌觅食过程中,一段时间后,细菌会根据个体位置的适应度值进行优劣排序.排在后面的S/2个细菌死亡,而排在前面的S/2个细菌进行自我复制,随即细菌往较小范围聚集.在求解多峰连续优化问题时,菌群极有可能跳过最优解而陷入局部最优.本算法将细菌个体首先随机与邻域周围的一个细菌进行交叉变异,变异后的细菌个体适应度值若优于原个体,原个体将被替代.通过一次改进后的复制操作后,整个菌群完成一次更新,菌群规模不变,每个细菌个体仅在各自区域及邻域内进行变异和适应度值比较,从而有效地防止了菌群向较小范围内聚集.改进后的复制操作不再只是觅食能力强的细菌个体单纯的自我繁殖过程,整个菌群群体都朝着更优的方向游动,提高了菌群整体的寻优能力.改进后复制操作过程如图3所示.前述细菌觅食算法采用Matlab 7予以实现,在PC系列机的Windows 7系统环境下运行通过.本文通过大量实例验证了此改进算法的有效性,下面给出4个算例及求解结果分析(见图4~7,图5~7见下页).算法相关参数设定:细菌规模为225,趋向操作数为10,复制操作数为4,迁徙操作数为2.算例1由函数示意图可知,该函数最优解处于中间区域,周围有很多局部极值围绕着最优解,用传统的细菌觅食算法陷入局部最优的可能性非常大.元胞蚁群算法、混沌算法均可得到最优解1,LINGO软件得到的最优解为0.646 848 8,Matlab优化工具得到的结果为0.990 3.算例2该问题的最优解被最差解包围,4个局部值点为(-5.12,5.12)、(-5.12,-5.12)、(5.12,5.12)、(5.12,-5.12),函数值均为2 748.78.运行改进后的细菌觅食算法求解该问题能够有效地获得最优解.算例3该函数在(1,1)处有最小值0,且在最优解附近存在病态,用常规方法容易陷入局部最优,难以搜索到最优解.算例4该算例可看出是典型的多峰函数,运用传统算法求解最优解相当困难.遗传算法目前所求最优解为38.827 533,运行LINGO软件与Matlab得到的解均小于38. 表1为该算法求解上述函数运行30次后的结果分析.其中平均偏差率为算法运行30次解的平均值与最优解的比值.首先对细菌初始化操作进行了改进,改变了传统的细菌觅食算法中的初始方式,使得菌群规模较小的情况下,能有较大的覆盖面.此外,本算法对细菌个体的搜索方式也进行了适当改进,增强了个体的局部搜索能力.为防止菌群在复制操作中过快地向小范围聚集而陷入局部最优,菌群进行变异性复制,不仅保证了菌群整体朝更优方向游动,同时大大提高了此算法的全局搜索能力.通过实验表明,改进后的细菌觅食算法在求解连续优化问题时,稳定性好,能够快速有效地找到最优解.通过与其它算法相比可得出以下结论:a.改进后的细菌觅食算法改进了传统细菌觅食算法的缺点,有效地改善了传统算法的收敛速度和全局寻优能力,所获最优解质量得到改善.b.改进后的细菌觅食算法能够有效解决连续优化问题,为连续优化问题提供一种新的解决方法.【相关文献】[1]马良,朱刚,宁爱兵.蚁群优化算法[M].北京:科学出版社,2008.[2]张惠珍,马良.基于变尺度混沌优化策略的混合遗传算法及在神经网络中的应用[J].上海理工大学学报,2007,29(3):215-219.[3]邱模杰,马良.约束平面选址问题的蚂蚁算法[J].上海理工大学学报,2000,22(9):61-62.[4] Passino K M.Biomimicry of bacterial foraging for distributed optimization and control[J].IEEE Control Systems Magazine,2002,22(3):52-67.[5]梁艳春,吴春国,时小虎,等.群体智能优化算法理论与应用[M].北京:科学出版社,2009.[6]张娜.细菌觅食优化算法求解车间调度问题的研究[D].吉林:吉林大学,2007.[7]胡海波,黄友锐.混合粒子群算法优化分数阶P/D控制参数研究[J].计算机应用,2009,29(9):2483 -2486.[8]李亚楠.菌群优化算法的研究[D].哈尔滨:哈尔滨工业大学,2009.。

一种优化的细菌觅食算法用以解决全局最优化问题_任佳星

一种优化的细菌觅食算法用以解决全局最优化问题_任佳星

一种优化的细菌觅食算法用以解决全局最优化问题中北大学机械工程与自动化学院任佳星黄晋英[摘要]细菌觅食算法是一种新的智能计算方法,已经被用于解决最优化问题。

本文将遗传算法中的交叉,变异操作引入到细菌觅食算法中,加速优化进程,并用于解决函数全局优化问题。

先利用测试函数对算法的性能进行了研究,再将该算法对比遗传算法求解测试函数的全局最优值。

仿真结果说明,优化后的细菌觅食算法非常有效,能很好解决全局优化问题。

[关键词]细菌觅食算法遗传算法全局最优作者简介:任佳星(1985-),男,硕士研究生,主要研究方向为智能车辆控制;黄晋英(1971-),女,教授,博士生导师,主要研究方向为动态测试,故障诊断,动力学分析与智能车辆控制等。

0.概述近些年来对群体智能算法的研究提高了学习和收敛速度,但是对某些问题,一些算法经常陷于局部最优或次优。

作为新兴的智能算法细菌觅食算法已经用来解决最优化问题。

由于该算法在解决最优化问题过程中收敛速度不够快,所以需要进一步进行优化和改进。

细菌觅食算法(Baeterial foraging algorithm ,BFA)是新兴的进化算法,也是一种全局随机搜索算法。

此算法是由Passino 于2002年结合细菌趋药性、群体感应机制和细菌繁殖以及消除——驱散特性,提出的一种用于函数优化的新型群体智能算法。

本文提出将遗传算法中的交叉和变异操作引入到细菌觅食算法中,优化的细菌觅食算法(BF-GA )混合了遗传算法与细菌觅食算法的优点,加速了优化求解的过程,并对比遗传算法说明细菌觅食算法的收敛速度。

1.细菌觅食算法细菌觅食算法模拟了大肠杆菌在人体肠道内寻找营养源的行为,是一种全局随机搜索算法。

在该算法中,细菌通过趋化、复制以及消除-驱散三部分操作找到函数值最优的位置。

下面是三大操作的介绍:1.1趋化细菌往富养区域移动称为趋化运动。

在细菌觅食的过程中有两种运动方式,翻转运动与直向运动。

细菌觅食算法的趋化步骤模拟细菌的运动方式。

多目标细菌觅食优化算法

多目标细菌觅食优化算法

3! !.!3'##Z=E' 表示 '维的目标向量%$ c" 8# !8! !.!8/ # #
T=E/ 表示 / 维的决策向量!T表示 / 维的决策空间%%." $# $"
" .c#!!!.!N# 定义了 N个不等式约束%7O" $# c"" Oc#!!!.!
(# 定义了 (个等式约束' 在此模型的基础上!给出以下几个定
第 =& 卷第 $ 期 !"#. 年 $ 月)
计算机应用研究 @IIJB<19BA2 E;D;1K<0 AH[AUI59;KD
WAJ^=& YA^$ M5J:!"#.
多目标细菌觅食优化算法!
李)臖! 党建武! 王)篧! 包)敏
" 兰州交通大学 电子与信息工程学院$ 兰州 $=""$"#
摘)要 传统的细菌觅食优化算法仅针对单目标优化问题寻优$为进一步发掘细菌群体智能在多目标优化问题 中的寻优优势$提出了改进的多目标细菌觅食优化算法& 在个体间互不支配时给出归一化的择优策略!引入差 分思想完成复制操作$提高种群的多样性!采用栅格划分法进行迁徙操作$提高解集的分散性!同时使用外部集 存放当前找到的非支配解$并不断对外部集进行优化& 通过对多个标准函数进行测试并与其他几种算法的对比 结果表明$所提出的多目标细菌觅食优化算法在解的收敛性和分散性指标上都有一定提升$能够有效解决多目 标优化问题& 关键词 多目标优化问题! 细菌觅食优化算法! 归一化! 差分进化! 外部集! 栅格 中图分类号 >?="#:())文献标志码 @))文章编号 #""#%=('&"!"#.#"$%#''(%"& 8AB#":='(' C4:BDD2:#""#%=('&:!"#.:"$:"#$

基于细菌觅食算法的含风电场电网无功优化

基于细菌觅食算法的含风电场电网无功优化

基于细菌觅食算法的含风电场电网无功优化徐飞飞;简献忠【摘要】针对风电场并网运行后网络损耗大和收敛性差的问题,提出一种细菌觅食优化算法.在建立含风力发电机组的无功优化数学模型基础上,将细菌觅食优化算法应用到含风电场的无功优化问题中.以IEEE-30节点进行测试算例,分别采用传统算法、粒子群算法和细菌觅食算法优化,得到网损下降率为30.29%、28.70%和36.98%.实验及分析表明,该算法效率高、全局搜索能力强、易跳出局部极值,为含风电场的无功优化提供了一种新方法.【期刊名称】《电子科技》【年(卷),期】2015(028)006【总页数】4页(P5-8)【关键词】风电场;无功优化;风力发电机;细菌觅食算法【作者】徐飞飞;简献忠【作者单位】上海理工大学光电信息与计算机工程学院,上海200093;上海理工大学光电信息与计算机工程学院,上海200093【正文语种】中文【中图分类】TP306.1;TM614近年来,风能作为可再生能源越来越被人们关注。

当风电场并网后,由于风能的随机性和间歇性等特征,会对继电保护、电压稳定性、潮流分布等产生重大影响,针对这一问题,研究风电场并网后的无功规划具有重要的意义。

电力系统含风电场无功优化是一个非线性优化的复杂问题,具有多目标、多约束、多控制变量的特点[1]。

目前主要算法分为传统和智能算法两类,传统算法求解时会出现离散变量的归整、多峰多极值和网损大[2]的问题。

智能算法如粒子群算法虽然网损较低,但易陷入局部最优[3]。

针对目前算法在求解无功优化时网损大和易陷入局部最优的问题,提出了一种细菌觅食优化算法。

细菌觅食优化算法(Bacteria Foraging Optimization Algorithm,BFOA)是一种新型的仿生类算法,该算法具有群体智能算法并行搜索、易跳出局部最优解等优点[4]。

本文充分考虑异步风力发电机的潮流计算模型,以网络损耗最小为目标函数,采用细菌觅食优化算法解决含风电场电力系统的无功优化问题。

基于混合细菌觅食算法的多目标优化方法

基于混合细菌觅食算法的多目标优化方法

基于混合细菌觅食算法的多目标优化方法杨尚君;王社伟;陶军;刘学【期刊名称】《计算机仿真》【年(卷),期】2012(000)006【摘要】To improve solving speed and accuracy, and maintain the diversity of the optimal solution of the multi - objective optimization problem whis is difficult to solve because of targets' mutual restraint, we proposed a hybrid swarm bacteria foraging optimization algorithm. In this algorithm, the bacterial foraging algorithm's chemotaxis process was replaced by the particle swarm optimization's searching optimizing process, the optimal value strategy was determined according to the congestion degree. The simulation was compared with BFO and NSGA - Ⅱ and the results show that, in the process of solving multi - objective test functions ZDT1 ~ ZDT4 and ZDT6, the algorithm can quickly and effectively obtained the Pareto solution set, and effectively maintain the diversity of the obtained optimal solution set.%针对多目标优化求解过程中多个目标相互制约难以求解的特点,为了提高多目标优化问题的求解速度和精度,并保持最优解的多样性,提出了一种用粒子群改进的混合细菌觅食多目标优化算法.将粒子群算法的寻优更新机制作为细菌觅食算法中趋向性操作的更新机制,将所求得非劣解的拥挤度作为寻优选代过程中最优值的选取条件.与细菌觅食算法和NS-GA-Ⅱ算法的仿真结果表明,在对多目标测试函数ZDT1~ ZDT4和ZDT6的求解过程中,该算法不仅能提高精度和快速地得到Pareto解集,并能有效地保持所求最优解的多样性.【总页数】5页(P218-222)【作者】杨尚君;王社伟;陶军;刘学【作者单位】空军航空大学,吉林长春130022;空军航空大学,吉林长春130022;空军航空大学,吉林长春130022;空军航空大学,吉林长春130022【正文语种】中文【中图分类】TP301.6【相关文献】1.基于免疫进化细菌觅食算法的多目标无功优化 [J], 李莹;简献忠2.基于细菌觅食行为的多目标分布估计算法 [J], 乔英;高岳林;江巧永3.基于遗传-细菌觅食混合算法的三相不平衡治理装置的设计 [J], 柯斯凯; 鲍光海4.基于改进混合遗传细菌觅食算法的贝叶斯结构学习算法 [J], 刘浩然;常金凤;庞娜娜;李晨冉;卢泽丹5.基于遗传-细菌觅食混合算法的三相不平衡治理装置的设计 [J], 柯斯凯;鲍光海因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

法的趋向性操作就是对这两种基本动作的模拟。通常,细菌会在食物丰盛或环境的
酸碱性适中的区域中较多地游动,而在食物缺乏或环境的酸碱性偏高的区域则会较 多地旋转,即原地不动。

i
j 1, k , l j, k , l C i
i
S i 1
i T i i
第二十五章
MATLAB优化算法案例分析与应用
第25章 基于细菌觅食算法的函数优化分析
第二十五章
MATLAB优化算法案例分析与应用
实际生活需求促进了最优化方法的发展。近半个多世纪以来,由于传 统优化方法的不足,一些具有全局优化性能且通用性强的进化算法,因 其高效的优化性能、无需问题精确描述信息等优点,受到各领域广泛的 关注和应用。其中产生最早也最具代表性的进化算法是20世纪70年代源 于达尔文自然选择学说和孟德尔遗传变异理论的遗传算法(Genetic Algorithm,GA)。而近年来,人们模拟自然界生物群体行为产生出一系 列群体智能优化算法,如Dorigo等通过模拟蚂蚁的寻径行为于1991年提 出了蚁群优化算法(Ant Colony Optimization,ACO);Eberhart和 Kennedy通过模拟鸟群捕食行为于1995年提出了粒子群优化算法( Particle Swarm Optimization,PSO)。这些算法被广泛应用于工程领域 并取得了显著的成果。随着群体智能优化算法的蓬勃发展,Passino于 2002年提出了模拟人类大肠杆菌觅食行为的细菌觅食优化算法( Bacteria Foraging Optimization Algorithm,BFOA),为仿生进化算法 家族增添了新成员。本章将着重向广大编程爱好者介绍最基本的细菌觅 食算法,各编程科研人员可以基于本章算法加以改进并应用到实际案例 中。
第二十五章
MATLAB优化算法案例分析与应用
•25.4 BFO算法流程
第二十五章
MATLAB优化算法案例分析与应用
•25.6 细菌觅食优化算法函数优化分析与MATLAB实现
2 2 (sin x12 x2 ) 0.5 min f Байду номын сангаас x1 , x2 ) 0.5 2 2 (1 0.001( x12 x2 ))
i J health Nc 1 i 1
J i, j , k , l
25.3.6 迁徙性操作(Elimination and Dispersal)
实际环境中的细菌所生活的局部区域可能会发生逐渐变化(如食物消耗殆尽) 或者发生突如其来的变化(如温度突然升高等)。这样可能会导致生活在这个局 部区域的细菌种群被迁徙到新的区域中去或者集体被外力杀死。在BFO算法中模 拟这种现象称为迁徙性操作。
第二十五章
%-----初始化参数----bounds = [-5.12, 5.12;-5.12, 5.12]; p = 2; 围的维度 s = 26; 个数 Nc = 50; 次数 Ns = 4; 作中单向运动的最大步数 C(:,1) = 0.001*ones(s,1); Nre = 4; Ned = 2; Sr = s/2; 数 Ped = 0.25; 率 d_attract = 0.05; ommiga_attract = 0.05; h_repellant = 0.05; ommiga_repellant = 0.05;
第二十五章
MATLAB优化算法案例分析与应用
•25.3.5 复制性操作(Reproduction)
生物进化过程一直服从达尔文进化准则,即“适者生存、优胜劣汰”。BFO 算法执行一段时间的觅食过程后,部分寻找食物源能力弱(适应度值高,本文 主要以函数极小值作为描述对象)的细菌会被自然淘汰,而为了维持种群规模 不变,剩余的寻找食物能力强(适应度值低)的细菌会进行繁殖。在BFO算法 中模拟这种现象称为复制性操作。
的详细步骤与流程,最后对算法参数的选择进行了详细的分析,并辅以函数模型优化 分析为例,给出了具体的细菌觅食优化算法MATLAB源代码,给广大细菌觅食优化算
法学习者以及算法研究者一个参考,同时也希望广大读者在此基础上继续改进与深入
研究。
第二十五章
MATLAB优化算法案例分析与应用
•25.3 标准细菌觅食优化算法
图25- 1 大肠杆菌的移动
第二十五章
MATLAB优化算法案例分析与应用
•25.3.3 趋向性操作(Chemotaxis)
大肠杆菌在整个觅食过程中有两个基本运动:旋转( tumble )和游动( swim ) 。旋转是为找一个新的方向而转动,而游动是指保持方向不变的向前运动。BFO算
MATLAB优化算法案例分析与应用
% 函数变量范围 % 搜索范 % 细菌的 % 趋化的 % 趋化操 % 翻转选定方向后,单个细菌前进的步长 % 复制操作步骤数 % 驱散(迁移)操作数 % 每代复制(分裂) % 细菌驱散 ( 迁移 ) 概 % 吸引剂的数量 % 吸引剂的释放速度 % 排斥剂的数量 % 排斥剂的释放速度
第二十五章
MATLAB优化算法案例分析与应用
•细菌的复制操作,程序如下:
%--------下面进行复制操作 %-----复制----%-----根据所给的k和l的值,将每个细菌的适应度值按升序排序 Jhealth = sum(J(:,:,k,l),2); % 给每个细菌设置健 康函数值 [Jhealth,sortind] = sort(Jhealth); % 按健康函数值升序 排列函数 P(:,:,1,k+1,l) = P(:,sortind,Nc+1,k,l); C(:,k+1) = C(sortind,k); %-----将代价小的一半细菌分裂成两个,代价大的一半细菌死亡 for i = 1:Sr % 健康值较差的Sr个细菌死去,Sr个细菌分裂成两个子细菌,保持个体总数 的s一致性 P(:,i+Sr,1,k+1,l) = P(:,i,1,k+1,l); C(i+Sr,k+1) = C(i,k+1); end %-----如果k<Nre,转到(3),进行下一代细菌的趋化
25.3.4 聚集性操作(Swarming)
J cc , P j , k , l J cc , i j , k , l
2 p m d attrac tan t exp wattrac tan t m i i 1 m 1 2 p S m hrepellant exp wrepellant m i i 1 m 1 S
第二十五章
MATLAB优化算法案例分析与应用
第二十五章
MATLAB优化算法案例分析与应用
25.8 本章小结
细菌觅食优化算法是继遗传算法、蚁群算法、粒子群算法、人工鱼群算法以来新提 出的智能优化算法,这十年来越来越多地引起了研究者的关注。本章首先简单介绍了
该算法的生物学基础,然后介绍了该算法四大主要操作的基本原理,再给出了该算法
相关文档
最新文档