第27章基于人工蜂群算法的函數優化分析_第1頁
第27章基于人工蜂群算法的函數優化分析_第2頁
第27章基于人工蜂群算法的函數優化分析_第3頁
第27章基于人工蜂群算法的函數優化分析_第4頁
第27章基于人工蜂群算法的函數優化分析_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 第二十七章MATLAB優化算法案例分析與應用第27章 基于人工蜂群算法的函數優化分析 第二十七章MATLAB優化算法案例分析與應用自然界中的群居昆蟲,它們雖然個體結構簡單,但是通過個體間的合作卻能夠表現出極其復雜的行為能力。受這些社會性昆蟲群體行為的啟發,研究者通過模擬這些群體的行為提出了群集智能算法。這些群集智能算法的出現,使得一些比較復雜且難于用經典優化算法進行處理的問題得到了有效的解決,同時這些算法已不斷地運用于解決實際問題,在很多領域得到了廣泛的應用,如調度問題,人工神經網絡,組合優化問題等工程領域。人工蜂群算法(ABC)是一種模擬蜜蜂采蜜行為的群集智能優化算法,它為解決存在于科學領

2、域的全局優化問題提供了一種新的方法。由于它具有控制參數少、易于實現、計算簡單等優點,已經被越來越多的研究者所關注。學習目標:(1)熟練運用人工蜂群算法優化求解分配問題;(2)熟練掌握MATLAB實現人工蜂群算法源程序等。 第二十七章MATLAB優化算法案例分析與應用27.1 人工蜂群算法概述人工蜂群算法(ABC)作為一種模擬蜜蜂蜂群智能搜索行為的生物智能優化算法,2008年引入國內,是一種新型的全局尋優算法,能夠解決計算機科學、管理科學、控制工程等領域的幾乎全部全局優化問題。又由于人工蜂群算法(ABC)控制參數少、易于實現、計算簡潔,從而成為學術界研究的焦點。ABC算法已經成功地應用到各個領域

3、,如圖像處理、調度問題、旅行商問題、人工神經網絡訓練、動態路徑選擇、蛋白高級結構預測、無線傳感器網絡等;此外,ABC 算法還與其它方法相互結合,比如將粒子群算法、分布式思想、局部搜索算子和保持種群多樣性策略等與ABC算法相結合,以此提高算法的整體優化性能。ABC算法把優化問題的解看作是具有經驗和智慧的智能個體即蜜蜂,將優化問題的目標函數值度量成蜜蜂對環境的適應能力,將定量問題形象化、智能化,為解決大量復雜的實際問題提供了新的思路。ABC算法在各個領域中的成功應用,顯示了ABC算法具有強大的生命力,無論從理論研究還是應用研究的角度分析,ABC 算法及其應用研究都具有重要的學術意義和現實價值。 第

4、二十七章MATLAB優化算法案例分析與應用27.3 算法原理人工蜂群算法(ABC)是由Karaboga于2005年提出的一種新穎的群集智能優化算法。人工蜂群算法(ABC)主要模擬蜂群的智能采蜜行為,蜜蜂根據各自的分工進行不同的采蜜活動,并實現蜜源信息的共享和交流,從而找到問題的最優解。在人工蜂群算法(ABC)算法中,人工蜂群包含3個組成部分:采蜜蜂、觀察蜂和偵察蜂。在蜂群中,出去尋找蜜源的蜜蜂是采蜜蜂,在舞蹈區內等待選擇蜜源的蜜蜂是觀察蜂,而在一定情況下進行隨機搜索蜜源的蜜蜂是偵察蜂。在蜂群進化過程中,采蜜蜂和觀察蜂負責執行開采過程,而偵察蜂執行探索過程。群體的一半由采蜜蜂構成,另一半由觀察蜂

5、構成。每一處蜜源僅僅有一個采蜜蜂,也就是采蜜蜂的個數與蜜源的個數相等。 第二十七章MATLAB優化算法案例分析與應用實際上,ABC算法中包含四個選擇過程:(1)觀察蜂根據一定的選擇概率選擇蜜源的全局選擇過程;(2)采蜜蜂和觀察蜂結合自身的局部信息進行鄰域搜索產生候選位置的局部選擇過程;(3)所有人工蜂對新舊蜜源進行比較,保留較好蜜源的貪婪選擇過程;(4)偵察蜂搜索新蜜源的隨機選擇過程。由以上的分析可知,ABC算法作為一種群集智能隨機優化算法,能夠實現模擬蜂群的高效采蜜行為,而且在全局搜索能力和局部搜索能力之間有一個較好的平衡,從而使得算法的性能得到了很大的提升。27.4 ABC算法流程基本AB

6、C算法中搜索方程具有很大的隨機性,為了加快算法的收斂速度使種群能夠朝著較好個體的方向進化,對ABC算法搜索方程的改進是很有必要的。并且改進算法的實現步驟只是把原來的搜索方程替換為改進的搜索方程,其余都不改變。 第二十七章MATLAB優化算法案例分析與應用27.5 人工蜂群算法函數優化與MATLAB實現% 初始化變量值Range = repmat(ub-lb),FoodNumber 1); % 最大值Lower = repmat(lb, FoodNumber 1); % 最小值Foods = rand(FoodNumber,D) .* Range + Lower; % 初始化個體ObjVal=f

7、eval(objfun,Foods); % 目標函數值Fitness=calculateFitness(ObjVal); % 適應度值,取其導數,為最小值% 設定拖尾矩陣,初始化trial=zeros(1,FoodNumber);% 找到最好的食物源BestInd=find(ObjVal=min(ObjVal);BestInd=BestInd(end);GlobalMin=ObjVal(BestInd); % 函數值最小GlobalParams=Foods(BestInd,:); % 相應的食物源個體 第二十七章MATLAB優化算法案例分析與應用觀察蜂通過概率值計算,決定是否產生下一個候選解,

8、程序如下:% 觀察蜂% 計算概率% 觀察蜂根據與蜜源相關的概率值選擇蜜源,概率值計算公式% prob(i)=a*fitness(i)/max(fitness)+b*/prob=(0.9.*Fitness./max(Fitness)+0.1; i=1;t=0;while(tFoodNumber) if(rand=0);fFitness(ind)=1./(fObjV(ind)+1);ind=find(fObjV0);fFitness(ind)=1+abs(fObjV(ind);相應的目標函數程序如下:function ObjVal=Sphere(Colony,xd)S=Colony.*Colony

9、;ObjVal=sum(S); 第二十七章MATLAB優化算法案例分析與應用27.6 人工蜂群算法ABC探討在進化算法中,廣大學者們對其進化搜索方程的研究有很多,并且通過算法改進使算法的性能有了一定的提升。比如,在粒子群算法(PSO)中,學者們主要針對粒子群優化算法的早熟問題,在粒子的平均位置或全局最優位置上加入高斯擾動以阻止粒子陷入局部最優,還有學者通過分析粒子群算法更新方程的缺陷,加入用于避免陷入局部最優的擾動項(加入慣性權重等)對其進行改進,使得改進算法在優化性能上有了較大的提高;同樣,在差分進化算法(DE)中,有學者對其差分變異方程進行改進,以進一步提升算法的整體性能,如有學者在差分進化算法(DE)中引入三角法變異,將個體看作超三角形的中心點并且沿著超三角形的三條邊分別以不同的步長移動來產生新的變異個體,從而幫助算法跳出局部最優;有學者利用質心變異操作對差分進化算法的變異方程進行改進等等。由于人工蜂群算法(ABC)算法的搜索方程與PSO算法的進化方程、DE算法的差分變異方程很相似,因此受研究者對PSO算法進化方程和DE算法變異方程改進的啟發,一些學者也對ABC算法中的搜索方程進行改進以提升算法的性能,如有學者提出了基于改進搜索方程的ABC算法,利用全局最優解的信息指導候選解的搜索從而提高了ABC算法的開采能力;有學者在ABC算法的搜索方程中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論