-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
多目標(biāo)灰狼算法流程圖(多目標(biāo)規(guī)劃圖解法)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于多目標(biāo)灰狼算法流程圖的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、求大神給出基于粒子群算法的多目標(biāo)搜索算法的完整程序。。。從目標(biāo)函數(shù)到最后。。
%% 該函數(shù)演示多目標(biāo)perota優(yōu)化問題
%清空環(huán)境
clc
clear
load data
%% 初始參數(shù)
objnum=size(P,1); %類中物品個數(shù)
weight=92; %總重量限制
%初始化程序
Dim=5; %粒子維數(shù)
xSize=50; %種群個數(shù)
MaxIt=200; %迭代次數(shù)
c1=0.8; %算法參數(shù)
c2=0.8; %算法參數(shù)
wmax=1.2; %慣性因子
wmin=0.1; %慣性因子
x=unidrnd(4,xSize,Dim); %粒子初始化
v=zeros(xSize,Dim); %速度初始化
xbest=x; %個體最佳值
gbest=x(1,:); %粒子群最佳位置
% 粒子適應(yīng)度值
px=zeros(1,xSize); %粒子價(jià)值目標(biāo)
rx=zeros(1,xSize); %粒子體積目標(biāo)
cx=zeros(1,xSize); %重量約束
% 最優(yōu)值初始化
pxbest=zeros(1,xSize); %粒子最優(yōu)價(jià)值目標(biāo)
rxbest=zeros(1,xSize); %粒子最優(yōu)體積目標(biāo)
cxbest=zeros(1,xSize); %記錄重量,以求約束
% 上一次的值
pxPrior=zeros(1,xSize);%粒子價(jià)值目標(biāo)
rxPrior=zeros(1,xSize);%粒子體積目標(biāo)
cxPrior=zeros(1,xSize);%記錄重量,以求約束
%計(jì)算初始目標(biāo)向量
for i=1:xSize
for j=1:Dim %控制類別
px(i) = px(i)+P(x(i,j),j); %粒子價(jià)值
rx(i) = rx(i)+R(x(i,j),j); %粒子體積
cx(i) = cx(i)+C(x(i,j),j); %粒子重量
end
end
% 粒子最優(yōu)位置
pxbest=px;rxbest=rx;cxbest=cx;
%% 初始篩選非劣解
flj=[];
fljx=[];
fljNum=0;
%兩個實(shí)數(shù)相等精度
tol=1e-7;
for i=1:xSize
flag=0; %支配標(biāo)志
for j=1:xSize
if j~=i
if ((px(i)<px(j)) && (rx(i)>rx(j))) ||((abs(px(i)-px(j))<tol)...
&& (rx(i)>rx(j)))||((px(i)<px(j)) && (abs(rx(i)-rx(j))<tol)) || (cx(i)>weight)
flag=1;
break;
end
end
end
%判斷有無被支配
if flag==0
fljNum=fljNum+1;
% 記錄非劣解
flj(fljNum,1)=px(i);flj(fljNum,2)=rx(i);flj(fljNum,3)=cx(i);
% 非劣解位置
fljx(fljNum,:)=x(i,:);
end
end
%% 循環(huán)迭代
for iter=1:MaxIt
% 權(quán)值更新
w=wmax-(wmax-wmin)*iter/MaxIt;
%從非劣解中選擇粒子作為全局最優(yōu)解
s=size(fljx,1);
index=randi(s,1,1);
gbest=fljx(index,:);
%% 群體更新
for i=1:xSize
%速度更新
v(i,:)=w*v(i,:)+c1*rand(1,1)*(xbest(i,:)-x(i,:))+c2*rand(1,1)*(gbest-x(i,:));
%位置更新
x(i,:)=x(i,:)+v(i,:);
x(i,:) = rem(x(i,:),objnum)/double(objnum);
index1=find(x(i,:)<=0);
if ~isempty(index1)
x(i,index1)=rand(size(index1));
end
x(i,:)=ceil(4*x(i,:));
end
%% 計(jì)算個體適應(yīng)度
pxPrior(:)=0;
rxPrior(:)=0;
cxPrior(:)=0;
for i=1:xSize
for j=1:Dim %控制類別
pxPrior(i) = pxPrior(i)+P(x(i,j),j); %計(jì)算粒子i 價(jià)值
rxPrior(i) = rxPrior(i)+R(x(i,j),j); %計(jì)算粒子i 體積
cxPrior(i) = cxPrior(i)+C(x(i,j),j); %計(jì)算粒子i 重量
end
end
%% 更新粒子歷史最佳
for i=1:xSize
%現(xiàn)在的支配原有的,替代原有的
if ((px(i)<pxPrior(i)) && (rx(i)>rxPrior(i))) ||((abs(px(i)-pxPrior(i))<tol)...
&& (rx(i)>rxPrior(i)))||((px(i)<pxPrior(i)) && (abs(rx(i)-rxPrior(i))<tol)) || (cx(i)>weight)
xbest(i,:)=x(i,:);%沒有記錄目標(biāo)值
pxbest(i)=pxPrior(i);rxbest(i)=rxPrior(i);cxbest(i)=cxPrior(i);
end
%彼此不受支配,隨機(jī)決定
if ~( ((px(i)<pxPrior(i)) && (rx(i)>rxPrior(i))) ||((abs(px(i)-pxPrior(i))<tol)...
&& (rx(i)>rxPrior(i)))||((px(i)<pxPrior(i)) && (abs(rx(i)-rxPrior(i))<tol)) || (cx(i)>weight) )...
&& ~( ((pxPrior(i)<px(i)) && (rxPrior(i)>rx(i))) ||((abs(pxPrior(i)-px(i))<tol) && (rxPrior(i)>rx(i)))...
||((pxPrior(i)<px(i)) && (abs(rxPrior(i)-rx(i))<tol)) || (cxPrior(i)>weight) )
if rand(1,1)<0.5
xbest(i,:)=x(i,:);
pxbest(i)=pxPrior(i);rxbest(i)=rxPrior(i);cxbest(i)=cxPrior(i);
end
end
end
%% 更新非劣解集合
px=pxPrior;
rx=rxPrior;
cx=cxPrior;
%更新升級非劣解集合
s=size(flj,1);%目前非劣解集合中元素個數(shù)
%先將非劣解集合和xbest合并
pppx=zeros(1,s+xSize);
rrrx=zeros(1,s+xSize);
cccx=zeros(1,s+xSize);
pppx(1:xSize)=pxbest;pppx(xSize+1:end)=flj(:,1)';
rrrx(1:xSize)=rxbest;rrrx(xSize+1:end)=flj(:,2)';
cccx(1:xSize)=cxbest;cccx(xSize+1:end)=flj(:,3)';
xxbest=zeros(s+xSize,Dim);
xxbest(1:xSize,:)=xbest;
xxbest(xSize+1:end,:)=fljx;
%篩選非劣解
flj=[];
fljx=[];
k=0;
tol=1e-7;
for i=1:xSize+s
flag=0;%沒有被支配
%判斷該點(diǎn)是否非劣
for j=1:xSize+s
if j~=i
if ((pppx(i)<pppx(j)) && (rrrx(i)>rrrx(j))) ||((abs(pppx(i)-pppx(j))<tol) ...
&& (rrrx(i)>rrrx(j)))||((pppx(i)<pppx(j)) && (abs(rrrx(i)-rrrx(j))<tol)) ...
|| (cccx(i)>weight) %有一次被支配
flag=1;
break;
end
end
end
%判斷有無被支配
if flag==0
k=k+1;
flj(k,1)=pppx(i);flj(k,2)=rrrx(i);flj(k,3)=cccx(i);%記錄非劣解
fljx(k,:)=xxbest(i,:);%非劣解位置
end
end
%去掉重復(fù)粒子
repflag=0; %重復(fù)標(biāo)志
k=1; %不同非劣解粒子數(shù)
flj2=[]; %存儲不同非劣解
fljx2=[]; %存儲不同非劣解粒子位置
flj2(k,:)=flj(1,:);
fljx2(k,:)=fljx(1,:);
for j=2:size(flj,1)
repflag=0; %重復(fù)標(biāo)志
for i=1:size(flj2,1)
result=(fljx(j,:)==fljx2(i,:));
if length(find(result==1))==Dim
repflag=1;%有重復(fù)
end
end
%粒子不同,存儲
if repflag==0
k=k+1;
flj2(k,:)=flj(j,:);
fljx2(k,:)=fljx(j,:);
end
end
%非劣解更新
flj=flj2;
fljx=fljx2;
end
%繪制非劣解分布
plot(flj(:,1),flj(:,2),'o')
xlabel('P')
ylabel('R')
title('最終非劣解在目標(biāo)空間分布')
disp('非劣解flj中三列依次為P,R,C')
二、優(yōu)化算法筆記(十七)萬有引力算法
(以下描述,均不是學(xué)術(shù)用語,僅供大家快樂的閱讀)
萬有引力算法(Gravitational Search Algorithm)是受物體之間的萬有引力啟發(fā)而提出的算法。算法提出于2008(2009)年,時間不長,不過相關(guān)的文章和應(yīng)用已經(jīng)相對較多,也有不少的優(yōu)化改進(jìn)方案。
萬有引力算法中,每一個物體的位置代表了一個可行解,而物體的質(zhì)量則反映了該位置的好壞,位置越好的物體的質(zhì)量越大,反之物體的質(zhì)量越?。ㄙ|(zhì)量由適應(yīng)度值計(jì)算出,不是直接相等)。物體在解空間中的運(yùn)動方式由其他物體的引力決定,質(zhì)量越大的物體,在同等引力作用下的加速度較小,所以單位時間內(nèi)的速度也相對較小,位移距離較短,反之加速度和速度都較大,位移距離較長。故可以簡單的認(rèn)為, 位置越優(yōu)的個體的移動速度越慢,位置越差的個體的移動速度越快 。
萬物之間皆有萬有引力,不過在我們談到萬有引力之時,對象大多是天體,否則萬有引力太小可以忽略不計(jì)。所有這次我們的主角就是天體了。(總不可能是蘋果吧)。
每一個天體都有個屬性:位置X,質(zhì)量M,加速度A,以及速度V,還有適應(yīng)度值F。
在D維空間內(nèi)有N個天體,其位置為
,加速度
,速度
,其適應(yīng)度值為
。
第i個天體的質(zhì)量則是根據(jù)其適應(yīng)度值計(jì)算得出:
其中M為天體的質(zhì)量在群體重質(zhì)量中的占比, 分別表示全局最差天體的適應(yīng)度值和全局最優(yōu)個體的適應(yīng)度值。
可以看出,處于最優(yōu)位置的天體的質(zhì)量m為1,最差位置的天體的質(zhì)量m為0。當(dāng)最優(yōu)天體和最差天體重合時,所有的天體的質(zhì)量m都為1。
由萬有引力計(jì)算公式和加速度公式可以計(jì)算出當(dāng)前天體收到另一個天體萬有引力而產(chǎn)生的加速度:
其中R表示第i個天體和第j個天體之間的歐式距離,aij為天體i在第d維上受到天體j的萬有引力而產(chǎn)生的加速度,ai為第i個天體受到的其他所有天體萬有引力的合力產(chǎn)生的加速度。G為萬有引力常量,可以根據(jù)一下公式計(jì)算:
其中G0為初始值,T為最大迭代次數(shù)。
計(jì)算出了天體的加速度,則可以根據(jù)當(dāng)前速度計(jì)算出下一步天體的運(yùn)行速度以及天體下一步的位置。
這一步比較簡單與粒子群、蝙蝠等有速度的算法一致。
可以看出萬有引力算法的流程異常的簡單,與經(jīng)典的粒子群差不多。萬有引力算法也可以看做是一個優(yōu)化改進(jìn)版的粒子群,不過設(shè)計(jì)比較巧妙,引入的質(zhì)量、加速度等概念,但實(shí)現(xiàn)仍然很簡單。萬有引力算法的效果如何,在下一節(jié)將會進(jìn)行實(shí)驗(yàn)測試。
適應(yīng)度函數(shù) 。
實(shí)驗(yàn)一:
從圖像中可以看出,各個天體都在不停的運(yùn)動,由于沒有貪心算法(優(yōu)于當(dāng)前值才改變位置)的加入,所以個天體有可能運(yùn)動到比原先位置更差的地方,而且其收斂速度也比較快。
從結(jié)果上看,似乎還不錯,受到最差值的影響均值也相對較大,算法結(jié)果的穩(wěn)定性不是太好。
直覺上感覺算法有點(diǎn)問題。根據(jù)物理得來的直覺告訴我,這些天體會相互靠近,所以,它們不會集中到它們所構(gòu)成的凸包之外, 凸實(shí)心物體的質(zhì)心不會跑到該物體的外部 。做個試驗(yàn)驗(yàn)證一下,將測試函數(shù)的最優(yōu)解設(shè)置到一個極端的位置。
實(shí)驗(yàn)二 : 適應(yīng)度函數(shù)
這次最優(yōu)解位置在(90,90)處,該點(diǎn)有很大概率出現(xiàn)在初始天體所圍成的凸多邊形外。
從圖像中可以看出,在天體們還沒有到達(dá)最優(yōu)位置附近(右下角的紅點(diǎn))時,它們已經(jīng)收斂于一個點(diǎn),之后則很難再次向最優(yōu)解靠經(jīng)。看結(jié)果可以發(fā)現(xiàn)幾乎每一次實(shí)驗(yàn)的結(jié)果都不太好,算法果然有點(diǎn)問題,不過問題不大。
萬有引力出現(xiàn)這種現(xiàn)象可能有兩個原因: 1.算法收斂的太快 ,還未對全局進(jìn)行充分搜索之時就收斂到了一點(diǎn),收斂到一點(diǎn)后無法再運(yùn)到。 2.算法沒有跳出局部最優(yōu)的策略 ,萬有引力作用下的天體慢慢聚集到奇點(diǎn),形成黑洞,無法從中逃離。
那接下來,對萬有引力算法的改進(jìn)方向也比較明確了:1.減緩其收斂速度,2增加跳出局部最優(yōu)操作,使之逃離黑洞。
看看萬有引力常量G的函數(shù)圖像
將萬有引力常量的值修改為隨著迭代次數(shù)線性下降,從圖像中可以看出,效果還是比較明顯的,天體在不斷的運(yùn)動,最后才收斂、聚集于一起。從實(shí)驗(yàn)結(jié)果也可以看出,算法相對穩(wěn)定。結(jié)合圖像可以知道,改進(jìn)后,算法的收斂性下降,但全局搜索能力有較大的提升,算法的結(jié)果不會很差但是精度較低。
將萬有引力常量的下降趨勢放緩為原來的1/4,從圖像中可以看出,算法的收斂速度非常快,也得到了較好的結(jié)果,相比線性下降,算法有著更好的精度,不足之處則是沒有跳出局部最優(yōu)的操作,收斂過快也容易陷入局部最優(yōu)。
不知道原文為什么讓萬有引力常量G的如此快的降到0,明明降的更慢能有更好的全局搜索能力,但精度可能較差。猜測如果精度較差則在測試函數(shù)結(jié)果和曲線上比不贏對比的其他算法,論文沒法發(fā)了。其使用的測試函數(shù)的最優(yōu)解大多處于解空間的中心位置附近,即很少出現(xiàn)最優(yōu)解在天體所圍成的凸多面體之外的情況,而實(shí)際問題中我們是無法預(yù)知最優(yōu)解在個位置的。
接下來,將試著為萬有引力算法加入一點(diǎn)跳出局部最優(yōu)的操作。
實(shí)驗(yàn)四 :改進(jìn),新增以下規(guī)則及操作
在實(shí)驗(yàn)二的條件下
1 . 處于最優(yōu)位置的天體保持自己的位置不動.
2 . 如果某一個天體的運(yùn)動后的位置優(yōu)于當(dāng)前全局最優(yōu)個體的位置則將當(dāng)前的最優(yōu)個體初始化到解空間的隨機(jī)位置.(將被自己干掉的大哥流放)。
3 . 如果觸發(fā)了規(guī)則2,將所有的個體的以迭代次數(shù)重置為0,即計(jì)算G=G0*e^(-20t/T)中的t置為0,重新計(jì)算萬有引力常量,若未觸發(fā)條件2則t=t+1。
從圖像上看,算法的全局搜索能力有大幅的增強(qiáng),并且已經(jīng)集中到了最優(yōu)解的附近,而且由于加入了“流放”這一跳出局部最優(yōu)的操作,可以看出,不斷的有新的個體出現(xiàn)在距最優(yōu)位置較遠(yuǎn)的位置。不過收斂速度有所下降,因此局部搜索能力有一定減弱。
看結(jié)果,好像沒有實(shí)驗(yàn)三那么好,但與實(shí)驗(yàn)二相比,已經(jīng)有了很大的提升,而且有了跳出局部最優(yōu)的操作,結(jié)果也相對穩(wěn)定。
上述的實(shí)驗(yàn)僅僅是對直觀猜想的實(shí)現(xiàn),如果想以此為改進(jìn)點(diǎn),還要對其進(jìn)行大量的調(diào)優(yōu),相信會有不錯的結(jié)果。
萬有引力算法根據(jù)萬有引力提出,結(jié)合了牛頓第二定律,可以說其操作步驟與真實(shí)的物理規(guī)律非常的貼切。不過就像前文說過,受物理現(xiàn)象啟發(fā)而來的優(yōu)化算法其性能是未知的,因?yàn)樗鼈儾痪邆渲悄?,只有著?guī)律,有規(guī)律就會存在弱點(diǎn),就會有搜索盲區(qū)。宇宙那么大,肯定存在沒有任何天體到達(dá)過的空間。
不過由于萬有引力算法流程簡單,理解方便,其優(yōu)化方案和能改進(jìn)的地方相對較多。萬有引力算法的收斂速度過快,導(dǎo)致其全局搜索能力較弱而局部搜索能力很強(qiáng),容易陷入局部最優(yōu)。根據(jù)其特點(diǎn),我們可以降低其收斂速度或者增加跳出局部最優(yōu)操作,來平衡算法的各個性能。
參考文獻(xiàn)
Rashedi E , Nezamabadi-Pour H , Saryazdi S . GSA: A Gravitational Search Algorithm[J]. Information Sciences, 2009, 179(13):2232-2248. 提取碼:xhpa
以下指標(biāo)純屬個人yy,僅供參考
目錄
上一篇 優(yōu)化算法筆記(十六)混合蛙跳算法
下一篇 優(yōu)化算法筆記(十八)灰狼算法
優(yōu)化算法matlab實(shí)現(xiàn)(十七)萬有引力算法matlab實(shí)現(xiàn)
三、怎么評價(jià)MATLAB中g(shù)amultiobj函數(shù)(多目標(biāo)遺傳算法)的計(jì)算結(jié)果?比如下面的函數(shù)和其部分結(jié)果
fun1 = @(x) x(1)^4-10*x(1)^2+x(1)*x(2)+x(2)^4-x(1)^2*x(2)^2; %min f1(x1,x2)
fun2 = @(x) x(2)^4-x(1)^2*x(2)^2+x(1)^4+x(1)*x(2); %min f2(x1,x2)
fun1and2 = @(x) [fun1(x) fun2(x)];
lb = [-5 -5]; ub = [5 5];
options = gaoptimset('PopInitRange',[lb;ub]);
[x,fval,exitflag] = gamultiobj(fun1and2,2,[],[],[],[],lb,ub,options);
[x(:,1) fval(:,1) x(:,2) fval(:,2)]
運(yùn)行上述程序,我們可以得到,x1、x2、f1、f2的值
x1、 x2、 f1、 f2
-0.70497 -5.2198 0.70581 -0.24999
-2.672 -38.333 1.9765 33.06
-2.672 -38.333 1.9765 33.06
-2.4917 -37.682 1.8677 24.405
-2.3171 -35.48 1.9263 18.207
-2.6 -38.206 1.9629 29.391
-0.70497 -5.2198 0.70581 -0.24999
-1.7604 -24.862 0.90859 6.1268
-2.3679 -36.543 1.8192 19.526
-2.1375 -33.048 1.7817 12.639
-1.9846 -29.335 1.8473 10.051
從x1、x2、f1、f2的數(shù)值,不難發(fā)現(xiàn)
x1=-2.672, x2=-38.333 為X1、X2的最優(yōu)解組合,其值分別為f1=1.9765,f2=33.06
四、基于DEAP庫的Python進(jìn)化算法從入門到入土--(六)多目標(biāo)遺傳算法 NSGA-II
在很多實(shí)際工程問題中,我們的優(yōu)化目標(biāo)不止一個,而是對多個目標(biāo)函數(shù)求一個綜合最優(yōu)解。例如在物流配送問題中,不僅要求配送路徑最短,還可能需要參與運(yùn)輸車輛最少等。
多目標(biāo)優(yōu)化問題的數(shù)學(xué)模型可以表達(dá)為:
多目標(biāo)優(yōu)化問題通常具有如下特點(diǎn):
對于多目標(biāo)優(yōu)化問題,傳統(tǒng)方法是將原問題通過加權(quán)方式變換為單目標(biāo)優(yōu)化問題,進(jìn)而求得最優(yōu)解。該方法具有兩大問題:
遺傳算法具有多點(diǎn)多方向搜索的特征,在一次搜索中可以得到多個Pareto最優(yōu)解,因此更適合求解多目標(biāo)優(yōu)化問題。
而當(dāng)前用于求解多目標(biāo)優(yōu)化問題的遺傳算法一般有兩種思路:
NSGA-II(nondominated sorting genetic algorithm II)是2002年Deb教授提出的NSGA的改進(jìn)型,這個算法主要解決了第一版NSGA的三個痛點(diǎn):
針對這三個問題,在NSGA-II中,Deb提出了快速非支配排序算子,引入了保存精英策略,并用“擁擠距離”(crowding distance)替代了共享(sharing)。
在介紹NSGA-II的整體流程之前,我們需要先了解快速非支配排序和擁擠距離的定義。
解的支配關(guān)系與Pareto最優(yōu)解
下圖表示了解之間的支配和強(qiáng)支配關(guān)系:
下圖表示了一個最小化問題解集中的Pareto最優(yōu)解和Pareto弱最優(yōu)解:
快速非支配排序步驟
快速非支配排序就是將解集分解為不同次序的Pareto前沿的過程。
它可以描述為:
DEAP實(shí)現(xiàn)
DEAP內(nèi)置了實(shí)現(xiàn)快速非支配排序操作的函數(shù) tools.emo.sortNondominated
tools.emo.sortNondominated(individuals, k, first_front_only=False)
參數(shù):
返回:
擁擠距離的定義
在NSGA II中,為了衡量在同一個前沿中各個解質(zhì)量的優(yōu)劣,作者為每個解分配了一個擁擠距離。其背后的思想是 讓求得的Pareto最優(yōu)解在objective space中盡量分散 。也就有更大可能讓解在Pareto最優(yōu)前沿上均勻分布。
DEAP實(shí)現(xiàn)
DEAP中內(nèi)置了計(jì)算擁擠距離的函數(shù) tools.emo.assignCrowdingDist
tools.emo.assignCrowdingDist(individuals)
參數(shù):
返回:
比較操作
根據(jù)快速非支配排序和擁擠距離計(jì)算的結(jié)果,對族群中的個體進(jìn)行排序:
對兩個解 ,
在每個迭代步的最后,將父代與子代合為一個族群,依照比較操作對合并后族群中的個體進(jìn)行排序,然后從中選取數(shù)量等同于父代規(guī)模的優(yōu)秀子代,這就是NSGA-II算法中的精英保存策略。
DEAP實(shí)現(xiàn)
DEAP內(nèi)置了實(shí)現(xiàn)NSGA-II中的基于擁擠度的選擇函數(shù) tools.selNSGA2 用來實(shí)現(xiàn)精英保存策略:
tools.selNSGA2(individuals, k, nd='standard')
參數(shù):
返回:
這里選用ZDT3函數(shù)作為測試函數(shù),函數(shù)可表達(dá)為:
其Pareto最優(yōu)解集為
這里為了方便可視化取 。
下圖給出了該函數(shù)在Decision Space和Objective Space中的對應(yīng):
其pareto最優(yōu)解在Objective Space中如下圖紅點(diǎn)所示:
將結(jié)果可視化:
得到:
可以看到NSGA-II算法得到的Pareto最優(yōu)前沿質(zhì)量很高:最優(yōu)解均勻分布在不連續(xù)前沿的各個線段上;同時在最優(yōu)前沿以外沒有個體存在。
以上就是關(guān)于多目標(biāo)灰狼算法流程圖相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
多目標(biāo)優(yōu)化模型(多目標(biāo)優(yōu)化模型求解)
多目標(biāo)優(yōu)化模型算法(多目標(biāo)優(yōu)化模型算法mpc)
多目標(biāo)灰狼優(yōu)化算法(多目標(biāo)灰狼優(yōu)化算法代碼)
開一個室內(nèi)裝修工作室(開一個室內(nèi)裝修工作室多少錢)