摘 要:本文應用細菌覓食算法去求帶有約束的優(yōu)化問題,該算法是使用罰函數法將單目標約束優(yōu)化問題轉化為無約束優(yōu)化問題來進行求解,即利用原函數和約束函數構造一個新目標函數,再用細菌覓食算法對該新目標函數進行優(yōu)化,該算法因具有群體智能算法并行搜索、易跳出局部極小值等優(yōu)點,不斷地尋找更優(yōu)可行解,逐漸達到搜索全局最優(yōu)解。數值仿真實驗結果表明該方法求解帶有約束優(yōu)化問題是可行的,同時也驗證了該算法的有效性。
關鍵詞:細菌覓食算法;趨向;復制;遷徙;單目標約束優(yōu)化問題
中圖分類號: TP18" " " " " " " " " " " " " " " " " " " " " " " " " " "文獻標識碼:A文章編號:1009-3583(2024)-0077-05
Solving Single Objective Constrained Optimization Problem Based on Bacterial Foraging Method
GUO De-long ZHOU Jin-cheng ZHOU Yong-quan
(1.Qiannan Normal University for Nationalities a.School of Mathematics and Statistics; b. Key Laboratory of Complex Systems
and Intelligent Computing, Duyun 558000, China; 2.College of Information Science and Engineering, Guangxi
University for Nationalities, Nanning 530006, China)
Abstract: This paper is aimed at single objective constraint optimization problem. The problem by using the penalty function method will be constrained optimization into unconstrained optimization problems to solve. It is used the function structure, a new objective function and constraints of reoccupy bacterial foraging algorithm for the new objective function is optimized. The algorithm has swarm intelligence algorithm for parallel search, the advantages of easy to jump out of local minimum values, etc, constantly looking for a better feasible solution, gradually to search the global optimal solution. The numerical simulation experiment results show that the method is feasible for solving constrained optimization problems, and also verify the effectiveness of the algorithm.
Keywords: bacterial foraging algorithm; trends; copy; migration; single objective constrained optimization problem
細菌覓食算法[1](Bacterial Foraging Algorithm,BFA)由K.M.Passino于最早提出來的,根據大腸桿菌在大腸中尋找食物情況,模擬出的一種具有全局搜索能力的群智能優(yōu)化算法。為了分別探究BFA的局部搜索和全局搜索特性,有些研究者將BFA與其他算法混合,并在生活中應用來證明它的有效性。有人成功研究了在利用基于正交實驗設計的優(yōu)化算法、協(xié)同粒子群優(yōu)化算法、人工螢火蟲群優(yōu)化算法、改進粒子群算法等來求解單目標約束優(yōu)化的問題,但是運用細菌覓食算法來求解單目標約束優(yōu)化問題還沒有學者研究,本文提出的就是這方面研究,該算法運用細菌覓食算法對單目標約束優(yōu)化問題進行優(yōu)化,在求解的過程中,將單目標約束優(yōu)化模型的約束條件和原目標函數轉變成一個新的目標函數來進行求解,不斷地在搜索范圍內尋找最優(yōu)解,并舉例模型來驗證其有效性。
1" 細菌覓食算法
細菌覓食算法根據大量的大腸桿菌在覓食過程中的一些行為,是通過趨向性操作、聚集操作、復制操作和遷徙操作四個操作過程來計算適應度函數的最優(yōu)值和搜索適應度值的最優(yōu)位置[1]。
1.1" "趨向性操作
細菌覓食算法的趨向性操作就是對細菌的覓食過程中的旋轉和游動來實現(xiàn)的。旋轉是探索一個隨機的新方向,而游動是指在旋轉過程中找尋方向上的保持該方向上固定的運動。通常,當細菌發(fā)現(xiàn)更好的食物源或者食物源更豐富的區(qū)域時,就通知附近的細菌個體,使其他細菌個體一起趨向這個區(qū)域。其過程如下:首先向任意選擇方向邁一步,如果該方向上的適應度低于之前的位置,則進行旋轉,再向另外一個隨機方向移動,如果該方向上的適應度轉好,則繼續(xù)沿著該方向向前游動,一旦達到最大嘗試次數,則停止該細菌的趨向操作,則輪到下一次趨向操作。這樣細菌通過每一步趨向性操作用公式可以表示為:
1.2" "聚集性操作
細菌在尋找食物的過程中,通過相互之間的作用力來達到細菌個體聚集的行為。個體與個體之間既有引力又有斥力[3]。引力使細菌聚集在一起,甚至出現(xiàn)“抱團\"現(xiàn)象[24]。斥力使每個細胞都獲得一定的位置,使其能在該位置上獲取能量,來維持生存。在細菌覓食算法中模仿此種行為稱為集聚性操作,細菌個體之間集聚行為的數學表達式為:
1.3" "復制操作
遷徙操作(elimination and dispersal)就是細菌個體為了尋找盡可能多的好食物并避免有害的生活環(huán)境,個體細菌放棄的食物太少,因此有可能會使得細菌的整個種群集體移到一個新的生活區(qū)域。
遷徙操作也稱為趨散。給定一個概率Ped,對于每個細菌都是以這個概率進行驅散的。如果細菌分散,它將被隨機放置在搜索空間的任何位置以生成新的個體,但是驅散過程中的細菌群體的總數保持不變,由于這個新個體與滅亡的個體可能具有不同的位置,就會有不同的覓食能力[7]。
2" "細菌覓食法求解單目標約束優(yōu)化問題
2.1" 單目標約束優(yōu)化問題的模型
約束優(yōu)化問題的核心組成部分包括:決策變量、目標函數和約束條件。決策變量指的是需確定的量,也就是需要求解的未知數;目標函數是一個包含決策變量的表達式旨在實現(xiàn)特定的優(yōu)化目標;約束條件是優(yōu)化過程中需要受到的限制,由含決策變量的等式或者不等式來呈獻。單目標約束優(yōu)化問題的數學模型為:
2.2" BFA算法求解單目標約束優(yōu)化問題
運用BFA求解單目標約束優(yōu)化問題過程中,最困難的是怎么解決該問題的約束條件。目前,有人提出解決約束條件技術方法罰函數法。由于外點罰函數法的方法很簡單,容易編寫程序,對目標函數和約束函數要求都不高,適用范圍比較廣泛,且具有很好的收斂效果,因此在求解單目標約束優(yōu)化問題時是比較好的方法。在本文中,將外點罰函數法處理單目標約束優(yōu)化模型,再運用細菌覓食算法對其優(yōu)化。根據公式(1.5)的約束條件的特點,把它加到目標函數就構造出了懲罰函數,因此有約束的優(yōu)化問題轉變成為了沒有約束約束條件的優(yōu)化問題。本文將采用如下罰函數公式:
2.3" 實現(xiàn)步驟及基本流程
3" nbsp;仿真實驗
3.1" 參數設置
在該算法中所用的參數設置相當簡單,不需要大量的實驗為基礎(如下表1)。但是在運用罰函數處理約束條件時,為了保證最后得到是測試模型的最優(yōu)解,在驗證每個測試模型時,懲罰因子的設置不是統(tǒng)一的。
3.2" 測試模型以及結果分析
根據細菌覓食算法的基本理念和操作步驟,使用MATLAB軟件編寫該算法的程序代碼(見附件二),測試下列幾個模型得到圖形和結果來驗證細菌覓食算法的有效性。
運行程序得到隨機的10組結果(見附件一)來求平均最優(yōu)解,查找最差的解和最佳的解。下表為細菌覓食算法和人工螢火蟲群優(yōu)化算法(GSO)求解約束優(yōu)化的結果。
有由上表可以分析出:本文提出的細菌覓食算法求解單目標約束優(yōu)化問題是可行的。且對單目標約束優(yōu)化問題的約束條件要求不高,既可以是不等式約束,還可以是等式約束,都能采用細菌覓食優(yōu)化算法對其進行改進化,在上述三個模型中,它們的收斂性能比在GSO求解約束優(yōu)化問題好。
綜上所述,據圖表可知:細菌不斷改變其在整個環(huán)境中的位置,使自己游向周圍資源的更好環(huán)境。 此外,通過復制操作和遷移操作的過程,我們不斷尋找范圍內更好的資源點。
4" 結語
細菌覓食算法是近年來,一種新的智能優(yōu)化算法引起了越來越多的研究者的關注。本文研究了該算法的基本原理,再給出了該算法的詳細步驟與流程,最后對單目標約束優(yōu)化問題模型進行仿真實驗,驗證該算法的有效性。在本文中,對標準的細菌覓食算法的操作進行了步長的改進和復制操作的改進。該算法還屬于起步階段,其原理和應用的研究有很大的空間,未來還有人研究改進該算法的操作、如何確定BFA的最優(yōu)參數使算法性能最優(yōu)、將BFA和其他算法的優(yōu)點有機地結合起來,提出了一種更有效的算法,完善了BFA算法的收斂性和穩(wěn)定性的理論研究,并評估了BFA的收斂速度和優(yōu)化性能等。
參考文獻:
[1]周雅蘭.細菌覓食優(yōu)化算法的研究與應用[J].計算機工程與 應用.2010,46(20):16-21.
[2]任佳星,黃晉英.一種優(yōu)化的細菌覓食算法用以解決全局最 優(yōu)化問題[J].科技信息.2012(2):44 -45.
[3]張建明,付秀云,謝磊.積分過程PID控制器參數的新型優(yōu) 化整定方法[J].浙江大學學報(工學版). 2008,42(8):1310 -1315.
[4]樊非之.菌群算法的研究及改進[D].北京:華北電力大學. 2010.
[5]付秀云.基于菌群優(yōu)化的pid控制器整定研究[D].杭州:浙 江大學.2007.
[6]趙翼翔,陳新度,陳新.基于BFOA的拉格朗日插值點最優(yōu) 配置[J].系統(tǒng)仿真學報.2012,24(10):2232 -2235.
[7]汪媛.BFO-PSO混合算法的PID參數優(yōu)化設計[J].中國水 運(下半月).2012(1):78 -79.
[8]康永輝,王寶紅.線性規(guī)劃法在水資源系統(tǒng)規(guī)劃優(yōu)化配置中 的應用[J].科學之友(下).2010(7):6.
[9]熊志誠.臂橋架集裝箱起重機變幅機構優(yōu)化設計[D].武漢: 武漢理工大學.2005.
[10]邱克立.釹鐵硼永磁同步電動機優(yōu)化設計方法研究[J].湖 " 南大學學報(自然科學版).1997,24(6):48 -53.
[11]劉欣.壓力容器殼體的優(yōu)化設計[J].東北電力技術.1999(3): " 45 -47.
[12]劉偉,劉海林.基于外點法的混合遺傳算法求解約束優(yōu)化 " 問題[J].計算機應用.2007,27(1):216 -218.
[13]張寶菊,單國全,齊名軍.求解非線性約束優(yōu)化問題改進的 " 粒子群算法[J].天津師范大學學報(自然科學版).2006,26 " (2):73 -76.
[14]高麗麗,劉弘,李同喜.基于文化粒子群算法的約束優(yōu)化問 " 題求解[J].計算機工程.2008,34(5):179 -181.
(責任編輯:羅東升)