吳進 周昊



摘要:在管理、經濟、工程和科技領域中,常需要求解多約束條件下的最優解問題,群體智能算法是常用的求解方法。細菌覓食優化算法(BFO)是近年來提出的一種新型的群體智能算法,不僅在群體智能優化理論中具有學術意義,在動態、多目標、多約束等復雜條件下的工程優化求解問題中也具有巨大的應用價值。
關鍵詞:細菌覓食優化算法;群體智能算法;智能優化算法;BFO
中圖分類號:TP18 文獻標識碼:A
文章編號:1009-3044(2020)06-0073-02
1背景
在實際的工程等領域中,人們常需要選擇最合理、最優的解決方案,即“求解最優解”問題。從數學家求解多元函數極值問題開始,到解決非線性規劃問題等,最優化理論的研究逐步得到進展,各種優化方法成為研究熱點。20世紀90年代左右,學者們從大自然中找到靈感,研究了生物啟發式算法——群體智能算法,如PSO等。近年來,學者從大腸桿菌在人體腸道內的覓食行為,提出了細菌覓食優化算法fBacterialForagingOpti-mization,BFO),成為群體智能算法的又一研究熱點。
2細菌覓食算法基本原理
細菌作為最簡單的、最古老的無核單細胞生物,具有強韌的生命力,和對復雜環境的適應性,顯示了其生存活動過程中的優化本能。大腸桿菌的覓食行為主要過程可以分為3個步驟:1)尋找可能存在的食物區域;2)判斷是否進入該區域;3)經過一段時間的食物消耗后,或者當前環境變得惡劣不適宜生存,細菌消亡或者遷移到其他適宜的覓食區域。
BFO算法具有并行搜索、易跳出局部極小值等優點,被廣泛運用于圖像處理、自動控制、神經網絡訓練等多方面問題。細菌覓食優化算法主要以趨化、復制、消亡與遷移等三種算子進行迭代和搜索最優解,以及種群進化。其中最關鍵的是趨化算子,模擬的是細菌的趨化過程,翻轉(Iumble)和游動(swim)。
3細菌覓食優化算法的優化流程
步驟1:初始化種群,包括各種參數。如表1所示。
步驟2:設計評價函數,并求出當前群體各個體的最優解。
步驟3:種群進化。分為三層循環:
(1)遷移循環(1-1+1)
(2)復制循環(k=k+1)
(3)趨化循環(j=i+1)
步驟四:算法結束,輸出群體最優解。
整個算法流程圖如圖1所示。
3.2群體交流(即聚集性操作Swarming)
細菌覓食過程中會有交流聚集行為。細菌之間既有引力又有斥力以釋放信號。斥力使其他細菌保持安全距離,不要向其游動。引力使細菌聚集在一起,吸引其他細菌向之游動。
3.3消亡及遷移(Elimination and Dispersal)
當細菌環境改變時,如食物逐漸耗盡或者其他變化f如溫度突變等),該區域的細菌種群就會遷移到新的適宜的地方,或者就是死亡。在BFO算法中稱為消亡及遷移操作。
遷移操作讓細菌以概率Ped被隨機重新分配到另外的空間區域,原來的細菌個體死亡,并在解空間的其他隨機位置產生新個體。這些新個體也許比較接近全局最優解,從而有利于趨向操作跳出局部最優解,進而可以在全局尋找最優解。
4細菌覓食優化算法的應用分析
與其他群體智能算法相比,細菌覓食優化算法比較簡單、靈活,也可以與其他各種算法結合產生新的優化算法,可以解決多方面的應用問題,具有比較強的適應性和魯棒性。可以用于圖像處理方面,如圖像分割、圖像增強、特征抽取、人臉識別、圖像配準等;可用于電力系統優化方面,如最優潮流設計、發電控制參數優化、電力系統經濟調度、諧波評估等;可用于智能控制方面,如電磁裝置優化控制、太陽能追蹤控制系統、非線性動態系統等;可用于參數優化選擇方面,如各種控制器的參數設計等;可用于經濟管理方面,如車間作業調度問題、股票預測等;還有生物信息學DNA序列主題發現等。但是細菌覓食算法也有不足,如算法參數比較多比較復雜,計算復雜性較大。
5總結
BFO算法作為群體智能算法中的新的醫院,已引起了國內外大量學者的關注和研究,但是大多數是針對具體的應用場景,很少是針對算法本身的研究,未來的研究應該從算法參數改進、算法簡化等學術研究上加以創新,以提高理論深度與應用價值。