【摘要】果蠅優化算法(FOA)模擬果蠅群體利用嗅覺和視覺尋找食物的方法來尋找最優值.本文根據算法的特點分析了影響收斂速度的因素,通過變步長方式得到改進的FOA.另外還提出了多元函數最優問題的FOA方法.在對Schaffer函數的全局最優過程中,經過變步長的FOA收斂速度大大提高(與理論最優值的誤差以指數速度下降),在計算速度和收斂精度方面都遠遠優于遺傳算法.
【關鍵詞】果蠅優化算法(FOA);變步長;Schaffer函數;遺傳算法
引 言
自從20世紀60年代末由John H. Holland教授及其學生提出遺傳算法(Genetic Algorithms)開始,智能優化方法逐漸成為一個非常活躍的研究領域.經典的智能優化算法主要有遺傳算法、蟻群算法、粒子群優化算法、禁忌搜索法和模擬退火法等.臺灣的大學教師潘文超博士最近提出一種新的智能優化算法——果蠅優化算法[1-2](Fruit Fly Optimization Algorithm, FOA).
一、果蠅優化算法
1.算法原理
果蠅優化算法是一種模仿果蠅覓食行為的尋優新方法.果蠅尋找食物先依靠靈敏的嗅覺判斷與食物的大致距離,再利用視覺向食物方向靠近.多個果蠅一起覓食就構成一種群體智能尋優算法.
3.參數設置
影響果蠅優化算法的收斂速度的主要因素有初始點、種群大小和迭代步長.
一般而言,初始點給的越精確,種群規模越大,迭代過程越平穩,越早到達最優位置.增加迭代次數會使結果更精確,但耗時更長,并不能提高收斂速度;增加步長會使收斂速度加快,但同時會影響搜索精度.
二、模型改進
1.參數改進分析
種群初始點是初始條件,無法通過算法來改進.增加種群規模雖可以提高收斂速度,但同時會增加計算量并且提高程度有限(見例1).如何選取適當步長成為提高收斂程度的關鍵.
2.步長改進原理
由上可見,經過變步長的FOA算法收斂速度大大提高.相同條件下,在處理多元函數求最值中此方法也比遺傳算法表現要好.
四、小 結
相比遺傳算法和粒子群算法,FOA算法原理簡便,計算快速,易于實現.改進的變步長FOA算法在一元函數和多元函數(Rosenbrock函數)的最優化實例中收斂速度和計算時間都大大提高且優于遺傳算法,可作為求解各類優化問題的一種實用高效的智能方法.
【參考文獻】
[1]潘文超. 果蠅最佳化演算法——最新演化式計算技術[M]. 滄海書局,2011.
[2]潘文超. 應用果蠅優化算法優化廣義回歸神經網絡進行企業經營績效評估[J]. 太原理工大學學報, 2011(29),4:1-5.
[3]汪定偉,王俊偉,王洪峰等. 智能優化方法[M]. 高等教育出版社, 2007:20-55.
[4]張琳,鄭忠,高小強. 多峰函數優化的混合遺傳算法[J]. 重慶大學學報(自然科學版), 2005(28), 7:51-54.
[5]Pan, W.T., 2011. A new fruit fly optimization algorithm: Taking the financial distress model as an example, KnowledgeBased Systems, In Press.
[6]Eberhart, R.C. and Kennedy, J., new optimizer using particle swarm theory, Proc, Sixth International Symposium on Nagoya, Japan: 39-43.
[7]Pan,WT.A new evolutionary computation approach:Fruit Fly Optimization Algorithm[C]. 2011 Conference of Digital Technology and innovation Management Taipei,2011.
[8]Pan,WT. A new fruit fly optimization algorithm:Taking the financial distress model as an example[J]. KnowledgeBased Systems, In Press, 2011.