第3章 CHAPTER 3 基于生命周期的菌群觅食 自适应优化 本章在传统细菌觅食优化算法的基础上,从能量变化角度 对细菌构建基于生命周期的优化模型,研究如何模拟生命周期中的趋化、繁殖、迁移、群体感应等行为模式,从而提出了兼顾觅食优化和群体行为特性的基于生命周期的菌群觅食自适应优化算法(lifecycle bacterial colony foragingoptimization algorithm,LCBFA)。仿真实验表明,本章建立的 大肠杆菌 菌群优化模型,符合微生物生命周期变化规律,同时 实验结果表明,LCBFA具有显著的优化性能,甚至在高维问题求解上明显优于一些经典生物启发式优化算法。 本章首先介绍了传统的人工细菌优化算法模型,然后,以大肠杆菌作为研究对象,提出了 生命周期模型(life cycle model,LCM)理论。在LCM 的基础上,结合基于生命周期的自适应优化策略 ,提出了基于生命周期的菌群觅食自适应优化算法,进行了相关的实验测试仿真,并与其他的算法进行了性能比较。 3.1人工细菌优化算法的基本模型 人工细菌优化算法是LCM的核心。人工细菌个体与其他个体交流,同时与环境 交流,在交流的过程中 学习或 积累经验,并根据学习或经验的积累得到的信息,改变自身的行为状态与行为方式,从而 使整个LCM系统产生涌现现象,如群体的聚集与迁移。人工细菌个体被定义为主动的、活的实体,用集合表示如下: S={Si|i=1,2,…,P},其中Si={Bi,Ei,Ai,Ti,Mi,Ri,Oi} ,属性描述见表31,人工细菌觅食优化(BFO)算法步骤见图31。 表31人工细菌的属性描述 名称具 体 说 明 Bi代表细菌i的当前位置 Ei代表细菌i当前的能量值 Ai代表细菌i当前的年龄 Ti代表细菌i当前状态,如成熟、消亡等 Mi代表细菌i当前行为模式,如直行或翻转状态 Ri代表细菌i当前处于直行时的步长 Oi代表细菌i当前处于翻转时的角度 初始化 计算细菌适应度值 While(终止条件不满足) For每个细菌 根据当前位置确定翻转方向 进行趋化操作,若有改进,则继续在该方向上前进一步(最大前进步数) 判断是否分裂,若分裂,则复制该细菌进行下一个个体操作 判断是否消亡,若消亡,则从种群中移除,进行下一个个体操作 计算概率,判断是否要迁移,迁移后随机初始化细菌位置,进行下一个个体操作 End for End while 图31BFO算法步骤 人工细菌的这些属性状态随着菌群与环境之间的交互不断变化。 人工细菌优化算法模型如图32所示。 图32人工细菌优化算法模型 下面以大肠杆菌为例进行说明。 3.1.1趋化行为 趋化是大肠杆菌在觅食过程中的一种重要行为,大肠杆菌的趋化现象可以简化为如图33所示的细菌趋化模型。 图33细菌趋化模型 当大肠杆菌个体在直行时,根据式(31)进行位置更新 Bid(t+1)=Bid(t)+Ri(t)(31) 当大肠杆菌个体在翻转时,根据式(32)进行位置更新 Bid(t+1)=Bid(t)+Oi(t)(32) 翻转的角度通常是一个符合随机分布的随机角度。Berg和Brown等研究表明大肠杆菌平均的翻转角度是 68°±36°。随机设定翻转角度Oi=2arcsin(ψ),ψ∈[-1,1]。 3.1.2繁殖与消亡 大肠杆菌通过细胞壁直接从环境中获得营养,当吸入足够的营养后,将其转换成能量,这些能量可以保证大肠杆菌复制DNA 。大肠杆菌的繁殖遵照简单的细胞分裂,随着自身的生长不断变长,然后在其中部一分为二,变为两个相同的子代。如果给予合适的条件,大肠杆菌将每隔30分钟便进行一次繁殖行为。 为了描述这一过程,首先进行如下假设: (1) 细菌生存的时间越长,其繁殖后代的机会越多; (2) 当细菌获得更多食物后,其生命周期将会延长; (3) 当细菌找不到食物时,其生命周期将会缩短。 在仿真中,首先设定能量初始化时的上、下限α和β,使所有的细菌个体能量限定在[α,β],t为时间节点。然后在此范围内随机给每个细菌一定的初始能量,细菌通过不断地与环境交互获得能量或消耗能量。进行繁殖操作后,父代的能量和子代的能量均分。进行消亡操作时,将消亡的细菌直接从环境移走。 繁殖与消亡过程的模型见图34,具体实现伪代码如图35所示。 图34细菌的繁殖与消亡模型 FOR each alive bacteria i IF F(Bi(t+1))<F(Bi(t))//感知环境 E(i)=E(i)+Benifits_from_action(i) IF Pr>rand() Bi(t+1)=Bi(t)+Ri(t) END IF E(i)≥β Division//大肠杆菌分裂成两个相同的子代,一个位于原来父代的位置, //另一个随机放置在环境中 EP+1(t+1)=Ei(t)/2; //P为当前群体规模 Ei(t+1)=Ei(t)/2 END ELSE E(i)=E(i)-Costs_from_action(i) IF Pr>rand() Bid(t+1)=Bid(t)+Oi(t) END IF E(i)≤α Die //从人工环境中删除 E(i)=0 END END END 图35繁殖与消亡操作伪代码 3.1.3迁移 外界环境对细菌的生存有着重要的影响,环境的突然变化会使菌群的活动产生巨大的转变,甚至 会使某个区域内的细菌 全部死亡或者 全部移动到另一个新的环境中生存。例如,细菌所处环境的温度突然上升可以毁灭整个细菌群体; 细菌群体有可能在其他生物的影响下由一个环境迁移到另一个新的环境。 迁移操作就是模拟这个过程而设计的进化操作。迁移操作是按照给定的概率Pm发生的,如果某 大肠杆菌个体满足迁移操作的条件,那么将此个体删除,重新生成一个新的个体,并将其随机移动到人工环境中某一新的位置。迁移过程的描述见图36。 FOR each alive bacteria i IF Pm<rand() Bi(t+1)=Bi(t)+(LB+(UB-LB)·rand()) //以一定的概率迁移到搜索域中, LB、UB //分别为人工环境范围的下界与上界 END END 图36迁移操作伪代码 群体感应是一种群体行为,这里不做详细介绍。 3.2微生物种群演化动力学与优化策略 为了提高细菌觅食算法的性能,本章提出了基于生命周期的菌群觅食自适应优化算法。在 该算法中,对细菌建立基于生命周期的优化模型,细菌在趋化觅食中获取或消耗营养,根据营养值动态地繁殖、死亡、迁 移。与此同时,还采用了自适应的优化策略,提高算法的寻优能力。 3.2.1微生物种群演化动力学 自然界中微生物的生存时间与环境关系极为密切,在合适的条件下,它能极快地进行分裂繁殖,种群规模快速增长; 当环境恶劣时,会大量蛰伏甚至死亡,种群规模急剧下降。 根据微生物的生长率不同,微生物种群生长曲线可分为以下 4个时期: 调整期、对数期、稳定期和衰亡期。微生物种群 生长模型及曲线如图37所示,反映微生物种群从开始生长到死亡的动态变化过程。 图37微生物种群生长模型及曲线 J形、S形曲线和微生物群体生长曲线的关系见表32。 表32J形、S形曲线和微生物种群生长曲线的区别与联系 阶段区别与联系 调整期刚刚进入某个区域的种群,对环境会进行短暂的调整和适应。种群生长率为零,细菌几乎不繁殖 对数期营养物质丰富,生存环境均适宜,种内竞争不剧烈等导致微生物 种群密度上升。种群生长率最快,微生物数以等比数列的形式增加(2n),此阶段生长曲线表现为种群数量呈 对数上升趋势,加上调整期,生长曲线呈J形 稳定期微生物种群随着种群密度的增大,营养物的耗尽、营养物的比例失调等原因进入稳定期。在稳定期,由于环境阻力会明显加大,因此种群内竞争会明显加剧,K值(种群密度)是环境所能负担的最高值。 种群生长率几乎为零,繁殖率等于死亡率,此阶段生长曲线变得较为平缓,已不符合J形增长, 加上调整期、对数期, 整个生长曲线呈S形 衰亡期营养物质过度消耗,外界环境对种群的继续生长越来越不利,阻力进一步加大,继而导致 微生物数目急剧减少。种群生长率下降,繁殖率小于死亡率,此阶段生长曲线迅速下降 J形生长曲线、S形生长曲线和微生物种群生长曲线的关系概括如下: (1) 研究范围: 种群数量增长曲线用于研究种群数量增长阶段的动态演化规则。微生物群体生长曲线用于研究微生物从生长到死亡整个生命周期的数量变化规律。 (2) 纵轴表示的意义: 微生物种群增长模型的纵轴表示种群生长率 ; 微生物种群生长曲线的纵轴表示微生物数目的对数。 J形生长曲线、S形生长曲线和微生物种群生长曲线的联系概括如下: (1) J形曲线包括符合S形曲线的调整期与对数期。 (2) S形曲线包括3个典型阶段: 调整期、对数期和稳定期,其趋势与微生物种群生长曲线保持一致。 3.2.2基于生命周期的菌群觅食自适应优化策略 1. 细菌营养值变化策略 令Eti表示第i个细菌在时刻t的能量。当t=0时,所有的细菌随机赋予随机的能量E0i,然后细菌开始在活动空间移动,获得能量或消耗能量Eti由式(33)决定: Eti= Et-1i+Benifits_from_action,F(Bti)-F(Bt-1i)<0 Et-1i,F(Bti)-F(Bt-1i)=0 Et-1i-Costs_from_action,F(Bti)-F(Bt-1i)>0 (33) 细菌在环境中觅食时,会从环境中得到能量,而其在觅食过程中会消耗能量。定义细菌的总营养值在一次趋化觅食中的变化如下: 当寻觅到更优位置时,细菌个体i的营养值加1; 否则认为此次觅食是不成功的,营养值减1,如图38所示。 If(F(Xi(t+1)))<F(Xi(t))//位置得到改进 Ni(t+1)=Ni(t)+1 //营养值加1 Else Ni(t+1)=Ni(t)-1 //营养值减1 End 图38细菌营养值变化策略 这里定义细菌的能量值E为其适应度fit与营养值N的综合,计算见式(34)和式(35)。 Hi(t)=fit(Xti)-fittworstfittbest-fittworst (34) Eti=ηHi(t)∑Stj=1Hj(t)+(1-η)Ni(t)∑Stj=1Nj(t),η∈[0,1](35) 2. 细菌的分裂与消亡策略 当细菌的能量值达到一定的阈值,细菌会进行分裂繁殖,在原位置产生一个新个体,该种群大小因此加1,同时认为在该次分裂中,细菌消耗了所有能量,原个体及新分裂出的个体营养值都归零,如图39所示。 当细菌的能量值低于一定值时,细菌便会消亡,该个体将从种群中移除,种群大小减1,如图310所示。 If (Ei>Es)//达到分裂条件 Ni=0//营养值归零 XS+1=Xi//分裂出一个新个体 S=S+1//种群大小加1 End 图39细菌分裂策略 If (Ei<Ed)//达到死亡条件 Xi= []//从种群中移除 S=S-1 //种群大小减1 End 图310细菌消亡策略 因此在对细菌建立的基于生命周期优化模型中,种群大小是动态变化的。随着算法的运行,当前种群大小会变化。但是考虑极端情况,当种群大小减小到0时,算法无法继续运行; 当种群过大时,也会使算法由于计算量过大而难以进化收敛。 为了避免当前种群变得过大或过小,将上述策略加入自适应调整规则更改如下。 3. 自适应细菌分裂策略 自适应细菌分裂策略如图311所示。 If Eti>maxEsplit,Esplit+St-SEadapt//达到分裂条件 Ni=0//营养值归零 XS+1=Xi//分裂出一个新个体 S=S+1//种群大小加1 End 图311自适应细菌分裂策略 4. 自适应细菌消亡策略 自适应细菌消亡策略如图312所示。 If Eti<min0,St-SEadapt//达到死亡条件 Xi= []//从种群中移除 S=S-1 //种群大小减1 End 图312自适应细菌消亡策略 其中,Esplit和Eadapt为自适应种群规模调整参数,用来控制分裂阈值和死亡阈值。该策略更加符合自然规律,即生物的种群演化会受到其生存环境变化的影响。当种群环境拥挤时,竞争大于合作,种群 中个体会倾向于死亡; 当种群环境宽松时,个体的合作大于竞争,更加易于繁殖。通过该策略 将细菌种群的大小维持在一个相对稳定的范围内。 此外,如果一个细菌能量值较低但尚未完全死亡,在本模型中,该细菌以一定概率进行迁移操作,即随机移动至觅食空间中的另一个位置。细菌进行繁殖或迁移操作后,新生细菌进入初始状态,重启其觅食过程。在 模型中,细菌在觅食过程中的状态转换如图313所示。 图313细菌状态转换 依据上述种群演化规则,理想状态的细菌种群规模变化曲线如图314所示。在拥挤环境中,个体之间的竞争激烈,因此细菌会更倾向于死亡而非繁殖,该种群大小随之减小(衰减期),并趋于稳定(稳定期),如图314(a)所示。之后,由于种群大小减小,竞争也减小,细菌又开始适应性地倾向于繁殖(上升期)。在宽松环境中,细菌很容易进行繁殖,因而种群大小在初期迅速增加(兴盛期),接着种群达到了饱和点,竞争加剧,种群大小又开始减小(下降期),如图314(b)所示。 图314细菌种群规模变化 3.3基于生命周期的菌群觅食自适应优化模型与 算法流程 本章借鉴微生物学最新研究成果,从能量变化角度对细菌构建 基于生命周期的优化模型,通过实验仿真,验证模型与实际微生物系统的一致性,并进一步建立LCBFA的多阈值分割算法。 3.3.1优化模型 大肠杆菌是微生物学中研究较为深入的微生物之一,将其作为研究对象,尽管不同种类的生物寿命不同,但是都会经历出生、发育、繁殖、死亡几个阶段。 大肠杆菌的生命周期可以分为3个阶段: 自由觅食游动阶段、获取营养生长阶段及缺乏营养死亡阶段。 在传统的大肠杆菌生命周期中的行为研究多是利用数学计算的方法,而数学模型有其固有的局限性。在这种建模方法中,需要了解大肠杆菌行为的整体属性,并对其进行简化和抽象,这种模型的简单化、理想化往往使得通过数学推理方法得到最终结果有悖于真实生物系统。另外,在数学计算之前需要设置一些初始条件,这些静止不变的假设条件对复杂动态的生物系统来说也是不太合理的。 本章从分析大肠杆菌个体的行为出发,通过对细菌个体行为的建模、仿真,为这些个体抽象出 可用于计算机编程的规则。之后,将其群体在计算中相互作用,并实现菌群整体行为的宏观表现。 基于上述方法,对细菌生命周期行为仿真的LCM由三个基本元素构成: 个体(agent)、环境(environment)与规则(rule)。用集合表示为LCM={A,E,R},其中,A={A1,A2,…,AN},包含N个人工细菌群体 ; E为人工环境,由一个分布了食物资源的D维空间构成,人工细菌在这样的空间进行生存、交互、繁殖与进化; R表示细菌与细菌或环境之间的交互规则。整个LCM系统结构如图315所示。 图315LCM系统结构 LCM更加注重对个体的充分描述,在这种建模方法中,虽然所有个体遵循的规则是相同的,但是个体的状态不一定完全相同,因此对特定的个体也可以进行适当的控制和跟踪。概而言之,就是个体的独立性得到了加强。基于个体的建模方法加强了个体的描述和控制,使得个体更有“个性”,这在一定程度上避免了基于群体建模方法的缺点。 LCBFA算法的进化模型由个体层和群体层构成,并基于如下定义: LBCFO=(Individual,Population,Environment,Topology) 1. 个体层 个体层定义如下: Individual={Individual1,Individual2,…,Individualm} 其中,第i个个体可表示为: Individualti={Positionti,Fitnessti,Nutritionti,Stateti, Directionti,Stepti,BHVi} (1) 规则的制定。 集合中各元素分别表示个体i在t时刻的位置 (Position)、适应度(Fitness)、获取的营养值 (Nutrition)、状态(State)、翻转方向 (Direction)、行进步长(Step)和行为规则 (BHV)。 BHVi={Cre,Ce,Cm,Cs},其中的元素分别代表个体的分裂规则 (Cre)、消亡规则(Ce)、迁移规则(Cm)和步长变化策略(Cs)。 ① 分裂规则: Eti>maxEsplit,Esplit+ St-1-SEadapt (36) Energyti=0,A=[A,Ai](37) 其中,Eti代表第i个细菌在t时刻的能量,Esplit代表分裂的能量值。S为初始种群大小,St-1为t-1时刻种群大小。分裂之后,产生两个新个体,新个体的位置、适应度、步长、翻转方向,历史个体最优与分裂前的个体相同,营养值归0。 ② 消亡规则: Eti<min0,St-1-SEadapt(38) Ai=[A1,A2,…,AN](39) 其中,Eadapt代表消亡能量值,假设有N个人工细菌群体,Ai代表第i个人工细菌群体。 ③ 迁移规则: Nutritionti<0∪rand(1,dim)<Pe(310) Positiont+1i=Ld+rand(1,dim)×(Ud-Ld)(311) 其中,Nutritionti代表第i个细菌在t时刻的营养值,dim代表维度,Pe代表给定概率, Positiont+1i代表第i个细菌在t+1时刻的位置,Ld、Ud分别代表人工环境范围的下界和上界。 ④ 步长变化策略: Stept=Steps-(Steps-Stepe)×evaluationnow/maxevaluation(312) 其中,Stept代表t时刻的步长,Steps和Stepe分别为初始步长和最终步长, evaluationnow和maxevaluation分别为当前函数评估次数与最大评估次数,即步长随着评估次数线性下降。 (2) 人工环境的设计。 人工环境的设计是LCM中一个重要的环节,通过人工细菌个体与环境的相互作用,每个细菌个体的变化将构成整个系统变化的基础,因此对细菌的宏观和微观行为加以统一考察。 为了表示人工环境,假设人工环境中布满了有限的食物资源,在环境中每个食物源浓度的大小并不相同。假设Bid表示细菌的位置,定义函数F(Bid)表示其所在位置的食物浓度。 令F(Bid)>0noxious,F(Bid)=0neutral,F(Bid)<0food分别表示细菌 处于不利环境、中性环境和有利环境。人工环境可以是静态的,也可以是动态的,这由F(Bi)函数的性质决定。 在自然生态系统中,细菌在成千上万年的进化过程中显示了复杂环境中的生存能力,这个过程优化了细菌觅食策略。一个极为重要的觅食策略便是通过最大化平均能量获得新陈代谢的花费,因此我们引入了能量的概念来评价细菌的行为。 2. 群体层 群体层定义如下: Population={OPT,PBHV,N} 其中,OPT为群内最优个体; PBHV表示群内个体间行为,PBHV={Cc}代表利用群体信息实现的个体趋化规则; N为种群大小。 (1) 趋化规则Cc。 Directiont+1i=rand(1,dim)×(Positionbest-Positionti)+(313) rand(1,dim)*(Positioni,pbest-Positionti) Positiont+1i=Positionti+Stept+1i×Directiont+1i(314) 其中,Positionbest表示全局历史最优,Positioni,pbest表示个体i历史最优,rand(1,dim)为随机向量 ,dim为所求解问题的维度。 (2) 环境。 环境由优化函数定义。 (3) 拓扑结构。 Topology=(TS),TS表示此算法静态拓扑的全互连结构。 3.3.2算法流程 基于生命周期的菌群觅食优化算法的具体实现步骤见图316,流程如图317所示。 初始化 计算细菌适应度 While(终止条件不满足) For每个细菌 设置全局步长 随机翻转方向 进行趋化操作,若有改进,则继续在该方向上前进一步(最大前进步数),每次适应度增加,营养值加1; 否则,营养值减1 根据自适应种群变化规则判断是否繁殖。若繁殖,则该细菌进行分裂,平分能量值,年龄归1,进行下一个个体操作 根据自适应种群变化规则判断是否死亡。若死亡,则从种群中移除,进行下一个个体操作 计算概率,判断是否迁移,迁移后年龄归1,进行下一个个体操作 End for End while 图316LCBFA实现步骤 图317LCBFA流程 3.4基于生命周期的菌群觅食自适应优化算法性能分析 为了对基于生命周期的菌群觅食自适应优化算法的寻优性能和不同优化问题的欺骗性等进行深入研究与分析,本章应用相对较大的benchmark测试函数组对基于生命周期的菌群觅食自适应进行测试分析。 1. 细菌生命周期仿真研究 本节应用的测试函数组包括10个测试函数,由5个单峰函数、4个 多峰函数以及1个合成测试函数组成,各函数的表达式如表33所示。 表33基本测试函数 函数 类别函数名称函数表达式 单峰 函数 sphere函数f1(x)=∑ni=1x2i rosenbrock函数f2(x)=∑ni=1100×(xi+1-x2i)2+(1-xi)2 quadric函数f3(x)=∑ni=1 ∑ij=1xj2 sum of different powers函数f4(x)=∑ni=1|xi|i+1 sin函数f5(x)=πn 10sin2πx1+∑n-1i=1(xi-1)2(1+10sin2πxi+1)+ (xn-1)2 多峰 函数 ackley函数f6(x)=-20exp -0.21n ∑ni=1x2i-exp 1n∑ni=1cos2πxi+20+e rastrigrin函数f7(x)=∑ni=1(x2i-10cos(2πxi)+10) griewank函数f8(x)=14000∑ni=1x2i- ∏ni=1cosxii+1 weierstrass函数f9(x)=∑ni=1 ∑kmaxk=0 akcos(2πbk(xi+0.5))-n ∑kmaxk=0akcos(2πbk×0.5) a=0.5; b=3; kmax=20 合成 测试 函数 composition函数1 f10(x)=∑ni=1 {wi×[f′i((x-oi+oiold)/λi×Mi)+biasi]}+f_bias composition 函数1(CPF1)是由10个单峰sphere函数构成的非对称多峰函数,具有9个sphere函数局部最优解和1个sphere 函数全局最优解,该合成测试函数的三维曲面如图318所示。根据CEC05的多算法测试结果,基本PSO、GA算法等生物启发式计算方法在求解该函数时均未能取得全局最优。 图318CPF1的三维曲面 LCBFA中,细菌会在其生命周期中获得能量而繁殖分裂或营养消耗到一定程度而消亡,因此细菌的种群规模会随着觅食环境的改变(算法的运行)而变化。在进行函数优化实验的同时,为了更加深入地研究算法的动态性与多样性, 用函数sphere、rosenbrock、rastrigrin和griewank对细菌种群的生命周期演化进行了跟踪并给出了其变化曲线,如图319所示。 图319(a)~图319(d)分别对应细菌种群在函数sphere、rosenbrock、rastrigrin和griewank上的演化过程。可以看出,4组生命周期演化曲线的变化趋势存在明显的规律性。 图319细菌种群变化曲线 在单峰函数上,LCBFA的种群规模都是先规律性减小,在进化后期种群规模规律性增大; 在多峰函数上,种群规模都是先规律性增加,然后达到顶峰,接着种群规模开始规律性减小。这两种变化趋势与自然界中的微生物生命周期与环境动态交互模式相吻合。营养值的变化和细菌 到达的新位置相关。种群变化的仿真也从侧面证明了算法中分裂阈值和死亡阈值动态调整策略的有效性。它使得种群行为随环境的变化而做出适应性调整,保证种群规模控制在一定的范围内。对于算法来说,它保证了算法的正常运行。 2. 算法仿真试验与对比分析 LCBFA和经典细菌觅食优化(BFO)算法及其三个变种算法 [ BFPSO(PSO导向的BFO)算法、菌群算法(BSO)、自适应细菌觅食优化(adaptive bacterial foraging optimization,ABFO ]在30维的单峰、多峰、合成测试函数上进行比较分析,LCBFA初始种群为10,其他所有算法种群大小均为100。所有算法均运行30次,取平均值进行比较,每个算法每次运行迭代次数为1000次。 表34给出了30次实验LCBFA与其他4种BFO算法在10个测试函数上的平均最优值。实验结果明显表明,与 BFO算法相比,本章提出的LCBFA在所有函数中表现出了明显的性能提升,并且LCBFA所获得的最终解都要好于其他 算法。 表34LCBFA与BFO算法及其变种算法的比较结果 函数 (30维)标准值 算法 LCBFABFPSOBSOABFOBFO f1均值2.15e-362.29e-122.024.14e-170.03 f2均值13.9424.4461.0423.5036.41 f3均值0.00192.791733.2390.114708.46 f4均值3.90e-471.61e-265.21e-69.86e-365.99e-10 f5均值00.0485.445.35e-60.27 f6均值6.98e-152.35e-56.814.41e-81.95 f7均值32.5028.45143.0651.15147.09 f8均值00.0187.300.021.10 f9均值01.3612.915.384.11 f10均值1.64e-3350.00137.0280.1844.59 图320~图329给出了30次试验在1000代过程中,LCBFA与其他4种BFO 算法在10个测试函数上的平均最优值收敛曲线。对于5个单峰函数sphere、rosenbrock、quadric、sum of different powers和sin,LCBFA 在所有算法中均取得最佳收敛性能,即LCBFA能够在迭代初期迅速收敛到所有单峰函数的全局最优解所在位置。对于复杂的多峰函数ackley、griewank和weierstrass,LCBFA仍然在所有算法中取得最佳收敛性能,即在迭代初期,与其他算法相比,LCBFA 展现了优异的收敛速度,在迭代后期,其他 算法均丧失了种群多样性而收敛于局部最优解所在区域,而LCBFA 始终保持较高的种群多样性,从而能够在整个迭代过程中始终如一地保持较快的收敛速度,并最终收敛到全局最优解所在区域。值得指出的是,对于rastrigrin函数,LCBFA 结果较BFPSO算法差,但优于其他三种算法。在更为复杂的合成函数CPF1求解过程中,在迭代初期,基本BFO算法与其他三个变种算法陷入局部最优区域,而LCBFA 仍然能够持续演化,并最终收敛该合成函数的全局最优解。LCBFA在单峰函数、多峰函数以及复杂合成函数中表现出的优越性源于它的全生命周期演化模型对细菌种群多样性的保持。因此在LCBFA 中,在营养浓度高的区域,细菌种群通过繁殖操作提升局部搜索能力; 在营养贫瘠的环境中,细菌种群通过消亡和迁 移操作提升全局搜索能力,从而可以较好地实现算法全局与局部搜索的平衡。 图320sphere函数的收敛曲线比较 图321rosenbrock函数的收敛曲线比较 图322quadric函数的收敛曲线比较 图323sum of different powers函数的收敛曲线比较 图324sin函数的收敛曲线比较 图325ackley函数的收敛曲线比较 图326rastrigrin函数的收敛曲线比较 图327griewank函数的收敛曲线比较 图328weierstrass函数的收敛曲线比较 图329CPF1函数的收敛曲线比较 3.5本章小结 生命周期是研究生物群体演化的根本。BFO算法忽略了细菌通过分裂、消亡与环境变化协同进化的 生命周期模式,仅仅对细菌的趋化觅食行为特性进行了简单模拟,导致BFO算法在求解优化问题时性能较差,无法对复杂实际工程优化问题进行有效求解。为此,本章从能量变化视角 ,对细菌构建基于生命周期的优化模型,并基于 该模型进一步建立新型菌群觅食优化算法——LCBFA。在LCBFA中,大肠杆菌种群按照生命周期进行演化,即大肠杆菌个体在觅食过程中根据其能量获取与消耗状态动态地分裂、死亡和迁徙,种群规模随环境变化而进行适应性变化。通过实验仿真验证该模型与实际微生物系统的一致性,同时呈现了在基准函数上LCBFA的优异性能。