細菌覓食優化算法


 

原作者:Swagatam Das,Arijit Biswas,Sambarta Dasgupta,和Ajith Abraham 

[摘 要]細菌覓食優化算法(Bacterial foraging optimization algorithm[BFOA])已經被分布式優化和控制的同行們當作一種全局性的優化算法接受。BFOA是由大腸桿菌的群體覓食行為所啟發而總結出來 的。BFOA已經吸引了足夠多的研究者的注意,由於它出現在解決真實世界中一些應用領域上優化問題的高效性。E.coli 的群體策略的生物基礎是用特別的方式和簡單的優化算法來進行模仿。着一張以傳統的通俗易懂的BFOA算法大綱開始。然后分析“根據這個簡單的數學模型模擬 BFOA的趨向性步驟”的動態。從這個分析過程中找出線索,在運行過程中根據當前的細菌適應情況,調整趨向性步驟的參數大小,最終得出BFOA的適應性變 量。之后在BFOA中細菌復制操作中的動態數據分析將被討論。這里將討論BFOA技術與其他的優化技術的混合技術,還將提供一個大多數至今的重要的 BFOA應用的解釋。

1介紹

細菌覓食優化算法(BFOA),被Passino所提出,對於仿生學優化算法大家庭來說是一個新興技術。對於過去的50年來,優化算法,像遺傳算法(GA),進 化規划(EA),進化策略(ES),從進化和自然遺傳上吸引了許多他們的靈感,已經占領了優化算法領域。最近自然群體激發了算法,像粒子群優化(PSO) 算法,蟻群算法(ACO)已經找到了它們通向領域並且高效性的路。緊接着相同的群體算法趨勢,Passino在提出了BFOA算法。大腸桿菌群體覓食策略的應用在多元函數最優化算法中是一個很關鍵的想法原型。細菌以一種可以最大限度的提高單位時間內獲得能量的方式去尋找食物。個體細菌通過發送信號來與其他的細菌進行交流。細菌在考慮前面兩個因素之后做出進行覓食的決定。這個過程中,當尋找到食物后細菌做出最小的步長的移動,這個過程叫做趨化。BFOA的關鍵思想是在問題搜索空間模仿細菌趨化運動。

  從該算法出現以來,BFOA吸引了許多來自不同知識領域的研究人員的關注,主要是由於它的生物學驅動方式和神奇優美的結構。研究人員正在嘗試着去混合BFOA算法與其他不同的算法,盡量去探索該算法的局部和全局兩個方面的特性。它已經被應用到許多現實世界的真實問題上,證明其他GA和PSO等多變量方面的高效性。數學模型,適應性,算法的修改可能是BFOA將來的主要研究方向。

  本文的結構如下:第二部份提供BFOA算法的生物動力模型,並且全面的概括該算法。第三部份在傳統的梯度下降搜索算法框架下提供一個關於趨化計算的簡單數學分析。第四部份講解了復制操作的數學模型。第五部分對BFOA算法與其他軟計算算法的混合進行了探討。第六部分提供了BFOA算法在不同的科學和能源領域的應用概述。第七部分進行了一個總結。

2細菌覓食優化算法

  在實際的細菌覓食過程中,運動是靠一系列拉伸的鞭毛來實現的。鞭毛幫助的大腸桿菌細菌翻滾或游泳,這是由細菌在覓食時執行兩個基本操作[7,8]。當它們順時針方向翻轉時,每一根鞭毛都會拉動細胞。這導致了鞭毛的獨立運動,並且最終以最少的代價去翻轉。然而,在糟糕的地方則頻繁地翻轉,去尋找一種營養梯度。逆時針方向移動鞭毛有助於細菌以非常快的速度游泳。在上面提到的算法中,細菌經歷了趨化,朝着它們喜歡的營養梯度地方移動並且避免進入有害的環境。通常情況下,細菌在友好的環境中會移動較長的一段距離。圖一描述了在營養問題上細菌是如何順勢轉逆時針移動的。

Fig.1. Swim and tumble of a bacterium

當它們獲得了足夠的食物,它們的長度增加以及面對着合適的溫度,它們將從自己本身的中間斷裂開來,形成兩個新的細菌。這個現象啟發Passino在BFOA中引進繁殖事件。由於突然的環境變化或攻擊發生后,趨化過程可能被破壞和一群細菌可能會轉移到其他地方或者一些細菌可能被引進到細菌群中。這些構成了真實細菌環境中的消除-分散事件。一個區域內的所有細菌被殺死或者一組細菌分散到環境的新部分。

  現在假設我們想要找到最小的J(θ),其中θ ∈ R (i.e. θ is a p-dimensional vector of real numbers),並且我們沒有關於梯度∇J ( θ )的測量或者分析描述。BFOA模擬真是細菌系統中的這四個觀察到的主要機制:趨化,群體,復制以及消除-分散。解決這個無梯度優化問題。一個虛擬細菌事實上是一個
實驗方案(可能稱為搜索代理)在其功能面移動(見Figure2)來尋找全局最優解。

 讓我們定義一個翻轉趨化步驟其次一次翻轉或者運行后翻轉。
讓j作為趨化步驟索引。k作為復制步驟索引。l作為消除-分散步驟索引。同時讓:
p:搜索空間維度
S:群體中細菌的總數
Nc:趨化步驟的步數
Ns:游泳長度
Nre:復制步驟的次數
Ned:消除-分散事件的次數
Ped:消除-分散概率
P( j , k , l ) = {θ ( j , k , l ) | i = 1,2,..., S}  
代表j-th趨化步驟中,S細菌群體中的每一個成員的位置,k-th復制步驟,l-th消除-分散事件。
J(i,j,k,l)
表示在i-th細菌 θ<i> ( j , k , l ) ∈ R p (sometimes we drop the indices and refer to the i-th bacterium position as θ i )搜索定位中的消耗(代價)。注意:我們可以將J當作“cost”代價來做參考(用優化理論的術語)。並且當作一個營養面(參考生物連接)。對於事實上的細菌種群,S可能(可以)可能是非常大的(例如:S=109),但是p=3.在我們的計算模擬中,我們將使用非常小的種群數,且將始終保持種群數量固定。BFOA允許p>3,以至於我們能夠運用這種方法在高維度優化問題中。下面我們將簡要的描述這四種BFOA中的主要步驟。
1)趨化:這個過程模擬一個大腸剛軍細胞的運動,通過利用鞭毛的游泳和翻轉。生物學一個大腸桿菌可以通過兩中不同的方式移動。它可以在一定時間內朝着一個相同的方向游去或者也可以翻轉,或者在整個生命周期中在兩中操作模式之間來回的輪流替換。
假設θ<i>(j,k,l)代表i-th 細菌在j-th趨化,k-th復制,並且l-th消除-分散步驟中。C(i)是翻轉過程中采取 指定的隨機方向的步長的大小(運行長度單元)。然后在計算趨向過程中,細菌的運動方向可能根據下式表示:

其中 指定為一個隨機方向向量,元素范圍為[-1,1]。

2)群聚:一個有趣的群體行為已被發現自幾種能動的細菌物種,包括大腸桿菌,鼠傷寒沙門氏菌,其中復雜性和穩定性的時空格局(群聚)形成在半固體培養基。當使用一個營養化療效果器放置半固體基質到其中時,A組大腸桿菌細胞依靠拉動營養梯度來安排自己在一個旅游圈中。當使用一個高等級的琥珀酸去刺激時,這個細胞釋放一個有吸引力的谷草,這可以幫助他們去聚集成一個群組,從而移動成像高密度細菌群體的同心圓形狀圖案。這種細胞-細胞信號傳導在大腸桿菌群體中可以通過下面的函數來表示出來。

其中表示是目標函數值,江北添加到實際上的目標函數(最小化),去表現一個變化的目標函數,S是細菌的總數,p是將要被優化的變量的數量,表現在每一個細菌中並且是p維搜索域中的一個點。是可以被適當選擇的不同的系數。

3)復制:至少當每一個健康的細菌無性分裂成兩個細菌,然后放置在原先的位置,健康的細菌才最終死亡。這樣將保持細菌群體大小的不變。

4)消除和擴散:細菌生活的環境逐漸的改變或者突然的改變都可能由於各種各樣的原因而發生。例如:當地顯著的氣溫上升可能殺死一組目前生活在一個區域內且有高濃度營養鹽梯度的細菌。這樣的事情可能發生以這樣一個方式,以至於一個區域內的細菌都被殺死或者一組細菌擴散到一個新的區域。模擬這種現象在BFOA 一些細菌被以很小概率的隨機地清算掉,當新的替代品細胞們在搜索空間被隨即初始化后。

 

偽代碼以及完整算法的流程圖(FIgure 3)將在下面呈現:

BFOA算法:
參數:
【步驟 1】初始化參數p,S,Nc,Ns,Nre,Ned,Ped,C(i)(i=1,2,…S),θi .
算法:
【步驟 2】消除-擴散 循環 loop:l=l+1
【步驟 3】復制循環loop:k=k+1
【步驟 3】復制循環loop:k=k+1
【步驟 4】趨化循環Loop:j=j+1
    [a]i=1,2,……S 細菌i進化趨化移動
    [b]計算適應值函數J(i,j,k,l)

 [c]讓保存值,因為通過移動我們可能找到更好的。

【步驟 5】如果j<Nc,跳轉到步驟4。這種情況下繼續進行趨化,因為細菌的生命並未結束。
【步驟 6】復制:
    【a】根據給定的k跟l,對i=1,2,……S,循環,讓

作為健康的i細菌(一種它生命周期中度過多少營養以及怎樣成功的避免有害物質的衡量)。排序細菌以及趨化參數C(i)在代價上升J(i)的順序(高代價意味着低健康)。
【b】擁有最高的Jhealth值的Sr細菌死亡,最好值的細菌分裂開來(這個過程靠復制執行,結果放置在它們原先的父母的位置)。
【步驟 7】如果K<Nre,跳到步驟3.這種情況下,我們沒有達到制定復制的數量,所以,我們開始下一次趨化循環,產生后代。
【步驟 8】驅散:以概率Ped進行循環i=1,2,……S,驅散每一個細菌(保持持續不變的細菌種群數量)。做這些,如果一個細菌被消除,驅散另一個去隨即查找優化域。如果l<Ned,然后跳轉到步驟2;否則結束。

 

流程圖如下所示:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM