晏曉輝, 朱云龍, 張智聰, 呂賜興, 李 帥, 蟻文潔
(1.東莞理工學院 機械工程學院,廣東 東莞 523808; 2.東莞理工學院 電子工程與智能化學院,廣東 東莞 523808; 3.深圳大學 管理學院,廣東 深圳 518060)
群體智能(swarm intelligence, SI)算法是近年來智能計算和優化領域的熱門方向.自20世紀90年代起,學者們從蟻群覓食、鳥類飛行、蜂群分工合作、螢火蟲發光吸引、魚群結伴游弋等行為中受到啟發,先后提出多種群體智能算法[1-5],并在許多數值優化和工程優化問題上進行了測試應用.對于傳統運籌學方法難以求解的大規模組合優化問題,群體智能算法能在較短時間內求得較好的滿意解,展現出極大的優越性.
菌群優化是基于細菌群體的優化行為而提出的一類新型群體智能方法.早在20世紀中期,生物學家就通過顯微鏡觀察到細菌的移動并非隨意,而是具有一定的規律.1960年,Alder深入研究了大腸桿菌的分子機制,提出了細菌的趨化性機理.1974年,Bremermann在文獻中指出了細菌趨化行為用于優化的可能性[6].1990年Bremermann根據細菌內部的反應機制以及細菌與環境的相互作用機制提出了細菌趨化優化模型,并將其用于神經網絡訓練[7].隨后,許多學者對細菌行為用于優化展開了研究,其中比較成功的細菌優化算法有細菌趨化算法(bacterial chemotaxis algorithm, BC)[8]、細菌覓食算法(bacterial foraging optimization, BFO)[9]和近年來提出的磁性細菌算法(magnetotactic bacteria optimization algorithm, MBOA)[10],而基于這些算法的改進和應用研究也一直未曾間斷.
以最有代表性的BFO算法為例,2000—2017年,在Web of Science數據庫以“bacterial foraging optimization”為關鍵詞可搜索到學術文獻781篇(數據截至2017年9月28日),每年的文獻數量如圖1所示.由圖1可以看出,相關研究熱度一直穩步攀升.從文獻的國度來看,主要集中在中國、印度、美國、英國和伊朗,如圖2所示.

圖1 歷年BFO算法相關文獻數量Fig.1 Quantityof literatures relevant to BFO algorithm in past few years

圖2 細菌覓食算法相關研究國家分布Fig.2 National distributingsituation of literatures relevant to BFO algorithm
與粒子群算法等成熟群體智能算法相比,基于菌群的優化研究還處在初步階段.基本BFO算法的優化能力也與標準PSO算法有一定差距.然而,與鳥群、魚群等其他生物群體相比,細菌個體結構和行為簡單,但群體種類及特性多變,不同菌群之間的相互關系多樣且復雜,符合智能涌現的非線性、多樣性要求.在多層次群體建模上可能更具優勢.此外,菌群快節奏的生命演化周期也適合優化模擬,值得進一步深入研究.目前,國內外關于菌群優化的綜述文章較少,武林娟、高金鳳的兩篇綜述文章[11-12]均從算法理論、算法改進、算法混合、算法應用4個方面進行了綜述,但分析較少,缺乏系統性.李娜等對細菌覓食算法的進展進行了回顧,但應用部分的綜述較為簡單,改進建議也僅從改進算法現有的3個操作著手[13].外文文獻也僅有幾篇關于BFO算法的綜述:其中1篇為Hernandez等在2013年CEC會議上的論文,集中討論BFO算法在約束數值優化上的應用[14];另外2篇為牛奔等在2010年ICIC國際會議上的論文[15-16],分別對BFO算法從背景、發展、應用和挑戰4方面進行了綜述.從圖1可以看出,近年來關于菌群優化的研究也有大幅增長,因此,筆者擬對近幾年的菌群優化研究內容和發展方向進行系統的梳理,以期為本領域的學者提供一個更為清晰的思路.
基于781篇文獻的標題,筆者對其進行了詞頻分析,去掉介詞以及“bacteria”“foraging”“optimization”“algorithm”等與BFO直接相關的單詞,再用高詞頻詞匯與“bacterial foraging optimization”做主題組合查詢,文獻數量排序如圖3所示.

圖3 相關文獻高頻關鍵詞Fig.3 High frequency key words in relevantliteratures
從關鍵詞組合的主題文獻數量來看,文獻的研究點主要集中在算法改進和應用上.而諸如“power”“parameter”“hybrid”“adaptive”“dynamic”“image”“structure”“PID”“economic”“multi objective”“operator”等關鍵詞也表明了算法改進和應用的主要方向和場景.下文將從基本菌群優化方法、菌群優化方法改進研究和菌群優化方法應用研究3個方面展開綜述,進而探討菌群優化方法的發展方向.
細菌趨化算法BC的早期研究是基于Berg、Brown和Dahlquist提出的細菌趨藥性微觀模型.在此基礎上,S. D. Müller等人結合最新研究,提出了BC算法[8].實際上,BC算法并非基于細菌群體,而是基于對細菌單個個體運動覓食行為的模擬.細菌不斷地感受它周圍的環境變化并利用它過去的經驗和當前狀態來調節下一步行動策略,從而尋找最優點.在BC算法中,細菌對引誘劑的反應運動遵守如下的假設:①細菌的運動軌跡是由一系列連續的直線組成,并且由運動方向和移動距離兩個參數決定;②細菌在進行下一步運動要改變運動方向時,向左轉和向右轉的概率相同;③細菌在各段相鄰軌跡間的夾角由概率分布來決定.
BC算法在迭代過程中,細菌僅利用它上一步或上幾步的位置信息來確定下一步的移動,其實質是一種近似梯度的隨機搜索方法.
2002年,模擬細菌群體的覓食和繁殖行為,Passino提出了細菌覓食優化算法BFO[9].算法從初始化一組隨機解開始,將細菌的位置表示為問題的潛在解,通過模擬菌群的趨化(chemotaxis)、繁殖(reproduction)和遷徙(elimination-dispersal)行為來改變細菌的位置,從而進行優化.
原始BFO算法的結構為3層循環嵌套結構.主要參數包括:遷移次數Ned、繁殖次數Nre、趨化次數Nc,分別控制遷徙、繁殖和趨化的次數.此外,還有種群規模S、遷移概率Ped、最大前進次數Ns等.
趨化操作是BFO算法的核心層.在趨化環節,細菌個體按照如下公式來更新其位置,
θi(j+1,k,l)=θi(j,k,l)+C(i)φ(j);
(1)
(2)
式中:θi(j,k,l)代表第i個細菌個體在第l次遷徙、第k次繁殖、第j次趨化中的位置;C(i)代表細菌個體i的趨化步長;φ(j)為第j次趨化中隨機生成的趨化方向,為一單位向量,如公式(2).當細菌通過上述公式,位置得到改善時(如函數適應度變優),細菌個體可以按照上述公式繼續前進一步,直到位置變差或達到最大前進次數Ns.趨化操作可以實現細菌向更為有利的生存環境移動,獲得較優的位置.
每進行Nc次趨化操作,就進行一次繁殖操作.根據在這一輪趨化中的適應度總和來進行排序,適應度總和較高的一半個體被認為是獲得了充足的營養,在原位置進行分裂復制;另一半個體執行消亡操作,從種群中移除.繁殖操作通過優勝劣汰,來加快收斂.
每進行Nre次繁殖操作,就進行一次遷徙操作.所有細菌個體以概率Ped進行遷徙,被移到解空間中一隨機位置.遷移操作可以在一定程度上避免算法陷入局部最優,以免早熟.
Ned次遷徙操作完成后,算法結束,輸出最優解.
此外,BFO算法還模擬了細菌的群聚行為.菌群覓食過程中,每個細菌個體除按照自己的方式搜索食物外,還會收到其他個體發出的引力信號,若是吸引力信號,則個體會游向種群中心;若是排斥力信號,則保持個體與個體之間的安全距離.細菌間聚集作用的數學表達式如公式(3)所示,

(3)
磁性細菌優化算法(magnetotactic bacteria optimization algorithm, MBOA)是哈爾濱工業大學莫宏偉等根據細菌的趨磁性提出的一種優化方法[10].磁性細菌是對地球磁場和外部磁場敏感,可以沿著磁力線方向和氧氣濃度梯度方向運動的一類特殊細菌的總稱.該趨磁現象最早由生物學家Blakemore于1975年發現[17].經研究,這類細菌具有趨磁性的原因是其體內存在磁小體.磁小體的主要成分為磁鐵礦(Fe3O4等),呈細小顆粒狀被包裹在蛋白膜中.該類細菌通常包含多個磁小體組成的磁小體鏈,因而整個細菌類似于生物磁針,能感應磁力線并通過鞭毛擺動沿其方向運動.此外,磁小體鏈還能起到利于細菌能量收集、調劑胞內氧化還原數值大小等作用.關于磁性細菌的研究在文獻[18]中有詳細論述,在此不作過多介紹.2013年,莫宏偉教授根據磁性細菌的特征提出了MBOA算法.在MBOA中,將每個具有磁小體的細菌看作解空間中的一個解.其求解過程為磁小體調整適應磁場的過程,而最終具有最小凈磁能的磁小體即為所求的最優解.算法首先初始化,在求解空間內隨機生成一系列磁小體個體;其后,根據細胞間的相互作用計算磁小體力矩;接著,對磁小體實施拓展操作以獲得新的力矩;然后,對磁小體的力矩進行調整替換,重復上述計算、拓展和調整過程直到算法滿足結束條件.
在原始MBOA的基礎上,莫宏偉團隊及其他學者對MBOA進行了一系列研究,提出了基于最優個體指導的MBOA算法[19]、基于力矩遷移的MBOA算法[20]、趨磁性細菌多目標算法[21]等,并將這些算法應用于多峰優化、約束優化等數值優化問題以及移動機器人路徑規劃等工程問題[22-23].
結合上述菌群優化的關鍵詞分析和其相關性,筆者將從參數與結構改進、多算法混合改進、算子改進和多目標優化改造等4個典型方面展開菌群優化方法改進研究綜述.需要說明的是,同一篇文獻也可能綜合用到下面的多種改進方法.
參數改進是群體智能算法改進的常見方式[24].與粒子群算法、遺傳算法等經典算法相比,原始BFO算法有Ned、Nre、Nc、Ped、Ns、C(i)等主要參數,聚集操作中還有4個參數,參數個數較多,不便于控制.
BFO算法參數較多的原因之一是采用了3層循環嵌套結構.如果Ned、Nre、Nc等參數設置不當,可能在不合適的時間進行繁殖、消亡與遷徙等操作,從而影響算法的收斂性.在一些改進的菌群優化算法中,去掉了趨化-繁殖-遷徙3層嵌套,將繁殖和遷徙作為趨化的并行步驟來進行[25].基于該算法結構的改進算法可以去掉Ned、Nre、Nc等參數.
BFO算法中另外一個重點參數改進為趨化步長C(i).現有的群體智能算法都是通過種群的進化迭代來實現最優解的改進.進化迭代在算法執行的過程中表現為種群中各個體在解空間中的位置更新.不同算法基于所模擬的不同生物行為,其具體更新公式各不相同.其中,主要包括兩大類:基于相對位置的更新和基于絕對位置的更新,表1為幾種典型群體智能算法的更新公式.

表1 典型算法位置更新公式比較Tab.1 Comparison of position updating equation to several classic algorithms
由表1可以看出,GA、PSO、ABC等算法都采用的是基于相對位置的更新,通過個體之間的組合或差異來產生新的個體.原始的BFO和FA算法中采用了基于絕對位置的更新.BFO算法中,細菌個體在確定游動角度后,沿該角度以步長C(i)向前游動.FA算法中,隨機項α(rand-0.5)是以一個常數α乘以一個(-0.5,0.5)的隨機數[26].在基于相對位置的更新中,種群中的個體的前期差異大,算法趨向于全局搜索,后期差異小,算法趨向于局部開發,能動態地平衡算法的多樣性和收斂性.在基于絕對位置的更新中,個體更新中使用指定的步長.該類方法在局部搜索上有一定的優勢,但若步長設置不當,在前期可能搜索的范圍不夠,后期難以收斂,文獻[27]的研究證實了這一點.為彌補上述菌群優化中基于絕對位置更新帶來的缺點,很多學者對趨化步長C(i)進行了改進.其中,大部分學者采用了基于動態下降或自適應的步長.
作者在前期的研究中,拋棄了趨化-繁殖-遷徙3層嵌套,改為對細菌的生命周期進行建模,根據細菌個體在優化過程中的營養獲取和流失動態地進行分裂、死亡和遷徙,并在趨化步長線性下降的基礎上根據營養值動態地改變其步長,取得了較好的效果[27].牛奔等提出了(structure-redesign-based bacterial foraging optimization, SRBFO)算法,將原始的BFO算法中3層嵌套改為單層循環,并重新設計了繁殖、消亡和遷徙操作,進一步簡化算法的結構,在投資組合優化的實驗中證明了該算法優于PSO算法[28].Tan等提出了一種自適應結構重構的細菌覓食算法(adaptive structure-redesigned-based bacterial foraging optimization, ASRBFO),在ASRBFO中,采用自適應的趨化步長,用個體的當前位置、歷史最優位置、所有細菌的平均位置等信息來計算細菌的趨化步長.通過該方法,算法收斂速度和精度優于其他對比算法[29].在對BFO改進的研究中,大多數文獻都有涉及對趨化步長的改進.
與其他優秀算法的思想或算子結合也是算法改進的一大途徑.自菌群算法提出以來,許多學者在這方面展開了研究.
Manikandan等針對不同蛋白質序列分析中多目標多序列對比帶來的計算量大的問題,將BFO算法和GA算法結合,提出一種BFO-GA算法來實現高效比對.實驗結果表明,該算法優于多種傳統的序列對比算法以及ABC、PSO等經典智能算法[30].Chen等結合BFO算法和PSO算法提出一種BFPSO算法,用于神經模糊分類器的參數優化[31].該算法在局部搜索中采用BFO的趨化操作,在全局搜索中采用PSO的搜索方法,取得了較好的效果.Emre等將BFO算法中的趨化操作與差分進化算法(differential evolution, DE)結合,提出一種趨化差分優化算法,在CEC2014測試集上的測試結果表明,該算法優于原始的BFO算法[32].杜鵬楨等提出一種混合蜂群算法的自適應細菌覓食算法.在該算法中,借鑒人工蜂群算法的雇傭蜂行為,設計出一種雇傭蜂趨化算子.此外,在原趨化的基礎上提出自適應步長趨化算子.算法根據種群的多樣性在兩種趨化算子中進行自適應切換[33].Manjith將BFO算法和改進的布谷鳥搜索算法(cuckoo search, CS)結合,用于解決認知無線電的頻道估計誤差最小化問題.測試結果表明,該算法得到的導頻序列優于其他算法[34].Wu等提出一種BF-PSO-FSVCM模型,將BFO和PSO算法結合,用于優化模糊支持向量機的未知參數,從而提高分類器的精度,更好地鑒別肌電圖信號的疲勞狀態[35].
在算法混合的研究中,與遺傳算法和粒子群算法的混合居多.其他一些新興智能算法也有涉及.在算法混合中經常利用BFO算法的框架或趨化算子.趨化算子“改進則繼續試探一次”的思想可以較好地調整計算資源的分配,在潛在的最優解附近加強局部搜索.
BFO算法的核心是趨化操作[36].因此算子改進最多的是趨化算子的改進.在2.1節中已經提到一些關于趨化步長的改進.此外,還有一些研究是針對趨化算子中的翻轉方向或新個體生成公式的改進.
Yang等提出了一種BFOCC算法.該算法采用了新的趨化算子:每個細菌隨機選擇一個標準基向量作為趨化方向來游動或翻轉,從而減少各維度之間的相互干擾.另外,該算法還引入了一個新設計的共軛算子來加強細菌之前的信息交換,提高算法的收斂性[37].Meng等在BFO的趨化操作中引入了變異因子,在每次迭代中,細菌個體以一定概率被選擇并進行變異.經測試,采用小波變異的方法效果最為理想.該改進的算法被用于陣列綜合問題[38].Hernandez等提出了一種改進的菌群優化算法用于四桿機構的綜合優化.該改進的菌群優化算法在趨化操作中引入了兩種游動算子.其中,一種傾向于全局搜索,另一種則加強在細菌個體附近的鄰域搜索.通過這兩種游動因子,細菌在搜索過程中能找到更好的解[39].Zhao等在趨化操作中引入混沌搜索算子來增強細菌個體的活躍水平,拓展其搜索空間,用以解決置換流水線調度優化問題[40].
除趨化算子外,也有一些學者對細菌覓食算法的繁殖、遷徙等其他算子進行改進.
Svrakov對BFO算法的繁殖算子進行了分析,將繁殖算子與進化算法的選擇進行了類比.分析表明,一個穩定的繁殖活動有助于細菌的快速收斂[41].Mai等對BFO算法中的消亡-遷徙操作進行了改進,引入了一個自適應的遷徙概率,根據細菌個體的適應度來確定其是否遷徙.算法還在趨化移動后加入了一個PSO算法的學習算子.實驗表明改進后的算法具有更好的收斂速度和收斂精度[42].Liu等針對BFO算法中遷徙操作隨機性太強這一缺點,引入了信息素來控制細菌的遷徙.此外,在繁殖算子中加入了柯西變異來增強算法的全局搜索能力.測試結果表明,該算法能提高收斂速度,并避免陷入局部最優[43].
經典群體智能算法提出之初大多用于單目標優化問題.對其進行改造使之能適用于多目標優化問題也是算法改進的一大方向.
Tan等人提出一種基于全面學習策略的多目標細菌覓食算法,用于電力系統分配的多目標優化.算法通過非支配排序和擁擠距離來保持非支配解集的多樣性.此外,算法還采用了全面學習策略來增強BFO的搜索能力,并在繁殖操作中采用了基于健康值排序的方法來提高菌群的質量[44].Zhou等建立了抽水蓄能水電站的導葉關閉計劃優化模型.該模型綜合考慮單位轉速的上升速度,每個液壓單元特定節點的壓力以及各種復雜的液壓和機械約束等多個優化目標,采用了一種增強的細菌覓食優化-重力搜索算法來對其進行求解.該算法采用了種群重建、自適應的選擇趨化算子及局部搜索策略,并使用外部存檔來保存精英解集,較好地解決了優化問題[45].
多序列對比問題(multiple sequence alignment, MSA)是計算生物學和生物信息學中經常遇到的一類多目標優化問題.Rani等提出多目標細菌覓食算法(multi-objective bacterial foraging optimization, MO-BFO)對其進行求解.測試結果表明,該多目標細菌覓食算法優于其他對比算法[46].牛奔等人提出一種多目標菌群優化算法,該方法綜合采用健康值排序和帕累托支配機制來實現多目標優化.此外,通過一定概率保留邊界非可行解來保持種群的多樣性.算法通過多樣性和總逼近距離來評估非支配前沿的優劣,結果表明了該算法的有效性[47].在另一種多目標菌群優化算法中,牛奔等還將鄰域搜索引入到多目標細菌優化算法中,采用基于環形拓撲和星形拓撲的兩種鄰域搜索來提高非支配前沿的精度和多樣性[48].Yi等采用多目標細菌覓食算法來解決最大化電流效率、最小化能量損耗和全氟化碳生成量的電解鋁生產優化問題.作者首先建立了一個面向任務的優化框架,并采用并行細胞熵方法來評估非支配解集的進化狀態.該多目標優化方法采用基于非支配存檔進化法和自適應覓食方法來平衡優化過程中非支配前沿的分布性和收斂性[49].Kaur提出了一種精英多目標細菌優化算法,該算法采用精英保持策略來求解多標準網格調度問題.實驗測試表明,算法優于多目標PSO算法和NSGA-Ⅱ等經典多目標優化算法[50].
總的來說,基于菌群的多目標優化方法在多目標的處理上大多都借鑒了PESA-Ⅱ和NSGA-Ⅱ等經典第二代多目標優化算法,例如精英外部存檔、用于擁擠距離的適應度分配等,并在占優機制、進化策略等方面進行了改進補強.
除數值優化外,基于菌群的優化方法還被應用于許多工程優化問題中.排名第一的關鍵詞“power”即為其在電力系統中的應用,“application”的詞頻也排名第四.其他關鍵詞“dynamic”“image”“PID”等高頻詞也展示了它在動態優化、圖像處理、PID控制優化等工程領域中的應用.
除“power”外,關鍵詞“dynamic”“economic”“PID”很大一部分指向的應用領域也為電力系統的動態經濟調度(dynamic economic dispatch, DED)和PID穩定性控制等優化問題.電力系統優化是智能算法應用的一個熱門方向[51],前文提到的文獻[44-45]也均為電力系統中的應用.
此外,Azizipanah綜合考慮電力系統的最優動態優化問題中存儲約束、禁止區域、閥點效應等約束,建立了一個非線性、非凸、不平滑、多模態、變量相關、不可微的模型,采用細菌覓食算法-簡化群優化混合方法來對該問題進行求解[52].Krishan等提出一種混合的細菌覓食-差分算法,用于電力系統穩定器的設計優化.算法在較寬范圍的系統條件和操作下進行了測試,以確保其魯棒性.特征分析及不同干擾下的時域響應證明了它的有效性[53].Tripathy等將一種改進的BFO算法用于存在多電力系統穩定器和多可控串了聯補充電容器的多機電力系統Hopf分叉失穩的參數控制優化[54].Nasiruddin等將細菌覓食算法用于兩個地區整合的多源發電站的自動發電機組控制[55].
除電力系統外,還有一些學者將菌群優化算法用于動態環境下機器人路徑規劃[56-57]、機器人沿墻導航控制[58]、車輛路徑規劃[59]、制造單元動態調度問題[60]、動態投資組合優化[61-62]、信息動態路由優化[63]等動態優化問題.
在圖像處理領域,BFO算法在圖像分類、邊緣處理、圖像配準、圖像壓縮等技術問題上也有廣泛的應用.
文獻[64]在徑向基函數神經網絡中整合了BFO算法,用于圖像分類優化,在對參數進行系列調試后,該算法能有效且穩健地解決圖像分類問題.Tang等利用改進的BFO算法解決圖像處理中多級閾值處理問題.在該算法中,趨化環節借鑒了PSO的算子來增強尋優能力,在繁殖環節中采用了精英保存策略.通過最大化Tsallis閾值函數得到優化解[65].Pan等人針對傳統邊緣處理算法依賴初值且可能產生不連續邊緣的問題,提出了一種基于BFO的邊緣檢測算法用于細胞圖像的處理[66].Verma等采用BFO算法和最小核值相似區法構建一種模糊系統用于圖像邊緣檢測.其中,用BFO算法來優化模糊隸屬函數和增強模糊算子的參數[67].Bermejo等將細菌覓食算法用于基于灰度的醫學圖像配準(image registration, IR)問題[68],并對細菌覓食算法在圖像配準的應用進行了深入研究,通過大量對比發現,細菌覓食算法在該問題上優于其他對比算法[69].Sanyal等將一種變種群的細菌覓食算法用于基于模糊矢量量化的圖像壓縮問題.該算法能夠有效減少訓練和重構之間的平均失真問題,采用變化的種群比原始BFO的固定種群更為有效[70].
在PID控制方面,如前文所述,BFO在電力系統的穩定性控制、負載頻率控制、自動電壓調節器穩壓控制等問題中有很多應用.除此之外,菌群優化方法也被應用到很多其他控制問題中.
Abdelkarim提出一種混合的細菌覓食-粒子群優化算法,并將其用于耦合精餾過程中的解耦和控制參數優化.時域結果分析表明,相對于傳統PID控制方法有顯著的改進[71].Arya等采用細菌覓食算法對多區域互連傳統/重構電力系統模糊控制器的增益進行了優化[72].Li為了改善可變風量空調系統的變風量性能,提出了一種基于細菌覓食算法的PID控制策略.首先建立一個非線性的PID控制模型并分析其參數,然后用BFO算法對參數進行調整優化[73].陳東寧等結合粒子群和細菌覓食算法,提出一種混合算法.采用粒子群的位置更新公式來指導菌群的趨化方向,并將其用于材料試驗機電液位置伺服系統的PID控制器參數尋優,取得了較好的效果[74].
此外,隨著近幾年機器學習和大數據技術的興起,菌群優化在這些方面的應用也大幅增加.以“bacterial foraging optimization”和“machine learning”作主題組合查詢一共有文獻30篇,全部為2007年之后的,其中2014—2017年20篇,占比66.6%.
Kora等采用混合的BFO和PSO算法,進行心電圖信號的特征選擇,將特征值作為Levenberg-Marquard神經網絡分類器的輸入,從而診察束支傳導阻滯,以進行心臟疾病的診斷[75].Wang等人提出了一種離散的細菌覓食算法用于微陣列基因表達癌癥數據分類中的特征選擇.針對基因表達癌癥數據因高維難以分類的問題,通過離散細菌優化算法選擇合適的特征以進行數據降維[76].Panda等提出一種自適應交叉細菌覓食算法,采用自適應的趨化來提高尋優效率,并引入交叉因子來加強鄰域搜索.該算法被用于人臉識別,以進行數據降維,從而獲得人臉識別分析數據中的最優主成分[77].Wu等提出一種基于細菌覓食算法的混合高斯支持向量分類機,用于肌電圖信號的疲勞分類.在這一過程中,用細菌覓食算法來進行高斯支持向量機的參數優化[78].
綜上,隨著細菌優化算法的不斷改進,其在工程問題上的應用也越來越多.
從上述菌群優化的算法改進和應用來看,在過去十幾年中,基于菌群優化的研究有了長足的進步.參數改善、多算法混合、算子改善等將依然是算法改進研究的重要方向.然而,現有研究也還有一些內容有所欠缺,值得我們繼續深入研究.
細菌及菌群行為特征提取的多樣化.從菌群優化研究來看,目前研究主要還是以BFO算法作為基礎展開,其核心模擬的是大腸桿菌的趨化行為.除該趨化性和莫宏偉教授MBOA算法的趨磁性外,少有對細菌其他特性的模仿.而自然界中的細菌種類繁多,行為特性也各不相同,如何繼續提取一些其他細菌或菌群的典型特征,如細菌的誘導劑分泌、pH值改造,菌群的拮抗、合作現象等以用于優化,是細菌優化方法改進的一個突破方向.
多種群多層次建模.現有的菌群優化方法大多是單一種群,采用相對統一的進化規則和信息交互規則.從自組織的角度看,不利于智能的涌現.利用上述菌群間協作、競爭、拮抗等生物現象建立多層次的拓撲結構及信息交互,并在不同菌群內部采用不同的進化規則,從而保持一定的多樣性、非線性和種群進化動力,可能能夠更好地促進智能的涌現,以達到優化的目的.目前,一些學者已經展開了多種群粒子群算法的研究[79-80].而多菌群的優化研究較少,尚在起步階段,值得進一步深入研究.
基于相對位置的更新.在2.1節中已經對比了基于相對位置更新和絕對位置更新的區別,也指明了基于絕對位置更新存在的不足.原始BFO算法采用基于絕對位置更新的趨化操作,雖然很形象地模擬了細菌趨化覓食的生物現象,但不利于算法的收斂.在2.1節的算法改進中,有部分文獻借鑒了PSO、DE等算法的算子用個體的相對位置來確定趨化方向,并在趨化步長上采用了一些自適應的方法,但均為通過對趨化步長的控制來平衡全局開發和局部搜索,其本質仍是絕對位置更新.合理改進趨化操作,使之直接采用基于相對位置的更新方式,可能會使菌群優化方法的尋優能力得到新的飛躍.
應用范圍的進一步擴展.從應用領域的統計情況來看,目前菌群優化方法在電力系統的優化控制上應用占比非常高,在一些新興領域也有一些運用,但還不夠發散.隨著算法的優化能力進一步加強,可以預見的是,菌群優化算法的應用范圍也會越來越廣.
對菌群優化方法進行了介紹,結合近幾年的相關文獻,從參數與結構改進、多算法混合改進、算子改進和多目標優化改造4個方面對算法改進進行了系統論述,并介紹了其在電力系統、動態優化、圖像處理、PID控制和機器學習等工程領域的應用情況.結合現有研究的趨勢和存在的不足,對未來發展方向提出了展望.