基于Matlab實現(xiàn)多目標粘液霉菌算法的示例代碼_第1頁
基于Matlab實現(xiàn)多目標粘液霉菌算法的示例代碼_第2頁
基于Matlab實現(xiàn)多目標粘液霉菌算法的示例代碼_第3頁
基于Matlab實現(xiàn)多目標粘液霉菌算法的示例代碼_第4頁
基于Matlab實現(xiàn)多目標粘液霉菌算法的示例代碼_第5頁
全文預覽已結(jié)束

下載本文檔

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

文檔簡介

第基于Matlab實現(xiàn)多目標粘液霉菌算法的示例代碼目錄1.概述2.算法過程3.數(shù)值實驗4.Matlab代碼實現(xiàn)

1.概述

多目標粘液霉菌算法(MOSMA),這是最近開發(fā)的粘液霉菌算法(SMA)的多目標變體,用于處理工業(yè)中的多目標優(yōu)化問題。最近,為了處理優(yōu)化問題,已經(jīng)為優(yōu)化社區(qū)推薦了幾種元啟發(fā)式和進化優(yōu)化技術(shù)。在評估多目標優(yōu)化(MOO)問題時,這些方法往往受到低質(zhì)量解的影響,而不是解決識別帕累托最優(yōu)解的準確估計和增加所有目標的分布的目標函數(shù)。SMA方法遵循從實驗室實驗中粘液霉菌振蕩行為中獲得的邏輯。與其他成熟的方法相比,SMA算法顯示出強大的性能,它是通過使用正負反饋系統(tǒng)結(jié)合最佳食物路徑而設計的。所提出的MOSMA算法采用相同的底層SMA收斂機制,結(jié)合精英非支配排序方法來估計帕累托最優(yōu)解。作為后驗方法,在MOSMA中保持多目標公式,并利用擁擠距離運算符來確保增加所有目標中最佳解決方案的覆蓋范圍。為了驗證和確認MOSMA的性能,考慮了41個不同的案例研究,包括無約束,約束和現(xiàn)實世界的工程設計問題。將MOSMA的性能與多目標共生生物搜索(MOSOS),基于分解的多目標進化算法(MOEA/D)和多目標水循環(huán)算法(MOWCA)在不同的性能指標方面進行了比較,例如代際距離(GD),倒置代際距離(IGD),最大傳播(MS),間距和運行時。仿真結(jié)果驗證了所提算法在實現(xiàn)線性、非線性、連續(xù)和離散帕累托最優(yōu)前沿等多目標問題高質(zhì)量解方面的優(yōu)勢。結(jié)果表明了所提算法在解決復雜的多目標問題方面的有效性。

2.算法過程

3.數(shù)值實驗

4.Matlab代碼實現(xiàn)

%%(ZDT3)

functionf=zdt3(x)

%兩個目標函數(shù)

%變量數(shù)目是30.x[0,1]

f=[];

n=length(x);

g=1+9*sum(x(2:n))/(n-1);

f(1)=x(1);

f(2)=1-sqrt(x(1)/g)-(x(1)/g)*sin(10*pi*x(1));

%%===MOSMA:多目標粘液霉菌算法=====

%%目標函數(shù)

%目標函數(shù)描述包含了有關目標函數(shù)的信息。M為目標空間的維數(shù),D為決策變量空間的維數(shù),

%LB和UB為決策變量空間中變量的取值范圍。

%用戶必須使用決策變量定義目標函數(shù)。務必編輯功能‘評估_目標',以適應您的需要。

clearall

D=30;%決策變量數(shù)目

M=2;%目標函數(shù)的個數(shù)

K=M+D;

LB=ones(1,D).*0;%LB-表示每個決策變量的最小值的十進制值的向量。

UB=ones(1,D).*1;%UB-決策變量的最大可能值向量。

GEN=200;%設置最大生成數(shù)

ecosize=200;%種群數(shù)量(NP)

ishow=10;

%%開始進化過程

Pareto=MOSMA(D,M,LB,UB,ecosize,GEN,ishow);

Obtained_Pareto=Pareto(:,D+1:D+M);%extractdatatoplot

Obtained_Pareto=sortrows(Obtained_Pareto,2);

True_Pareto=load('ZDT3.txt');

%%可視化

%%=========兩個目標函數(shù)時======================

ifM==2

plot(Obtained_Pareto(:,1),Obtained_Pareto(:,2),'o','LineWidth',2,...

'MarkerEdgeColor','r','MarkerSize',2);

holdon

plot(True_Pareto(:,1),True_Pareto(:,2),'k');

title('采用MOSMA算法求解Pareto最優(yōu)解集');

legend('MOSMA');

xlabel('F_1');

ylabel('F_2');

%%=====3個目標函數(shù)時==========================

elseifM==3

plot3(Obtained_Pareto(:,1),Obtained_Pareto(:,2),Obtained_Pareto(:,3),'o','LineWidth',2,...

'MarkerEdgeColor','r','MarkerSize',2);

holdon

plot3(Obtained_Pareto(:,1),Obtained_Pareto(:,2),Obtained_Pareto(:,3),'.','LineWidth',2,...

'MarkerEdgeColor','k','MarkerSize',6);

title('采用MOSMA算法求解Pareto最優(yōu)解集');

legend('MOSMA');

xlabel('F_1');

ylabel('F_2');

zlabel('F_3');

%%MetricValue

M_IGD=IGD(Obtained_Pareto,True_Pareto);

M_GD=GD(Obtained_Pareto,True_Pareto);

M_HV=HV(Obtained_Pareto,True_Pareto);

M_Spacing=Spacing(Obtained_Pareto,True_Pareto);

M_Spread=Spread(Obtained_Pareto,True_Pareto);

M_DeltaP=DeltaP(Obtained_Pareto,True_Pareto);

display(['TheIGDMetricobtainedbyMOSMAis:',num2str(M_IGD)]);

display(['TheGDMetricobtainedbyMOSMAis:',num2str(M_GD)]);

display(['TheHVMetricobtainedbyMOSMAis:',num2str(M_HV)]);

display(['TheSpacingMetricobtainedbyMOSMAis:',num2str(M_Spacing)]);

display(['TheSpreadMetricobtainedbyMOSMAis:',num2str(M_Spread)]);

displ

溫馨提示

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

評論

0/150

提交評論