細菌覓食算法

細菌覓食算法是一種通過趨化、複製和驅散三種行為來實現尋優的新型群體智慧型最佳化算法。

根據細菌菌落生長演化的基本規律提出一種新的細菌菌落最佳化算法。首先,依據細菌生長繁殖規律,制定符合算法需要的個體進化機制。其次,根據細菌在培養液中的覓食行為,建立算法中個體泳動、翻滾、停留等運動方式。最後,借鑑菌落中細菌信息互動方式,建立個體信息共享機制。另外,該算法提供了一種新的結束方式,即在沒有任何疊代次數或精度條件的前提下,算法會隨著菌落的消失而自然結束,並且可以保持一定的精度。通過與兩類PSO算法比較的仿真實驗驗證了細菌菌落最佳化算法的效果,通過仿真實驗驗證了細菌菌落最佳化算法自然結束過程。

基本介紹

  • 中文名:細菌覓食算法
  • 外文名:Bacterial Foraging Algorithm,
  • 縮寫:BFA
  • 類型:細菌覓食最佳化算法
簡介,步驟,

簡介

細菌覓食算法(Bacterial Foraging Algorithm,BFA)[亦有稱為細菌覓食最佳化算法(Bacterial Foraging Optimization algorithm,BFO||BFOA)]由K.M.Passino於2002年基於Ecoli大腸桿菌在人體腸道內吞噬食物的行為,提出的一種新型仿生類算法。該算法因具有群體智慧型算法並行搜尋、易跳出局部極小值等優點,成為生物啟發式計算研究領域的又一熱點。

步驟

細菌覓食算法模仿大腸桿菌在人體腸道內覓食行為,屬於仿生類最佳化算法。在BFA模型中,最佳化問題的解對應搜尋空間中細菌的狀態,即最佳化函式適應值。BFA算法包括趨化(chemotaxis)、複製(reproduction)和驅散(elimination-dispersal)3個步驟。
①細菌向富養區域聚集的行為稱為趨化。在趨化過程中,細菌運動模式包括翻轉(tumble)和前進(run||swim)。細菌向任意方向移動單位步長定義為翻轉。當細菌完成一次翻轉後,若適應值得到改善,將沿同一方向繼續移動若干步,直至適應值不再改善,或達到預定的移動步數臨界值。此過程定義為前進。
②一旦生命周期結束,即達到臨界趨化次數,細菌將進行繁殖。細菌的繁殖過程遵循自然界“優勝劣汰,適者生存”原則。以趨化過程中各細菌適應值累加和為標準,較差的半數細菌死亡,較好的半數細菌分裂成兩個子細菌。子細菌將繼承母細菌生物特性,具有與母細菌相同的位置及步長。為簡化計算,可以規定複製過程中細菌總數保持不變。
③趨化過程可確保細菌的局部搜尋能力,複製過程能加快細菌的搜尋速度,但對於複雜的最佳化問題,趨化和複製無法避免細菌陷入局部極小現象發生。BFA引入驅散過程以加強算法全局尋優能力。細菌在完成一定次數的複製後,將以一定機率被驅散到搜尋空間中任意位置。

相關詞條

熱門詞條

聯絡我們