最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Matlab實(shí)現(xiàn)多目標(biāo)粘液霉菌算法的示例代碼

 更新時(shí)間:2022年05月14日 14:31:25   作者:電力系統(tǒng)與算法之美  
多目標(biāo)粘液霉菌算法(MOSMA),這是最近開發(fā)的粘液霉菌算法(SMA)的多目標(biāo)變體,用于處理工業(yè)中的多目標(biāo)優(yōu)化問題。本文將用Matlab實(shí)現(xiàn)這一算法,需要的可以參考一下

1.概述

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

2.算法過(guò)程

3.數(shù)值實(shí)驗(yàn)

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

%%  (ZDT3)
function f = zdt3 (x)
% 兩個(gè)目標(biāo)函數(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:多目標(biāo)粘液霉菌算法=====
 
%% 目標(biāo)函數(shù)
% 目標(biāo)函數(shù)描述包含了有關(guān)目標(biāo)函數(shù)的信息。M為目標(biāo)空間的維數(shù),D為決策變量空間的維數(shù),
% LB和UB為決策變量空間中變量的取值范圍。
% 用戶必須使用決策變量定義目標(biāo)函數(shù)。務(wù)必編輯功能‘評(píng)估_目標(biāo)',以適應(yīng)您的需要。
clc
clear all
D = 30; % 決策變量數(shù)目
M = 2; % 目標(biāo)函數(shù)的個(gè)數(shù)
K=M+D;
LB = ones(1, D).*0; %  LB - 表示每個(gè)決策變量的最小值的十進(jìn)制值的向量。
UB = ones(1, D).*1; % UB - 決策變量的最大可能值向量。
GEN = 200;  % 設(shè)置最大生成數(shù)
ecosize = 200;      % 種群數(shù)量 (NP)
ishow = 10;
%% 開始進(jìn)化過(guò)程
Pareto = MOSMA(D,M,LB,UB,ecosize,GEN,ishow);
Obtained_Pareto= Pareto(:,D+1:D+M); % extract data to plot
Obtained_Pareto=sortrows(Obtained_Pareto,2);
True_Pareto=load('ZDT3.txt');
%% 可視化
%% =========兩個(gè)目標(biāo)函數(shù)時(shí)======================
if M == 2
    plot(Obtained_Pareto(:,1),Obtained_Pareto(:,2),'o','LineWidth',2,...
        'MarkerEdgeColor','r','MarkerSize',2);
    hold on
    plot(True_Pareto(:,1),True_Pareto(:,2),'k'); 
    title('采用MOSMA算法求解Pareto最優(yōu)解集');
    legend('MOSMA');
    xlabel('F_1');
    ylabel('F_2');
%% =====3個(gè)目標(biāo)函數(shù)時(shí)==========================
elseif M == 3   
    plot3(Obtained_Pareto(:,1),Obtained_Pareto(:,2),Obtained_Pareto(:,3),'o','LineWidth',2,...
        'MarkerEdgeColor','r','MarkerSize',2);
    hold on
    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');
end
%%  Metric Value
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(['The IGD Metric obtained by MOSMA is     : ', num2str(M_IGD)]);
display(['The GD Metric obtained by MOSMA is      : ', num2str(M_GD)]);
display(['The HV Metric obtained by MOSMA is      : ', num2str(M_HV)]);
display(['The Spacing Metric obtained by MOSMA is : ', num2str(M_Spacing)]);
display(['The Spread Metric obtained by MOSMA is  : ', num2str(M_Spread)]);
display(['The DeltaP Metric obtained by MOSMA is  : ', num2str(M_DeltaP)]);

以上就是基于Matlab實(shí)現(xiàn)多目標(biāo)粘液霉菌算法的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Matlab多目標(biāo)粘液霉菌算法的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 桶排序算法的理解及C語(yǔ)言版代碼示例

    桶排序算法的理解及C語(yǔ)言版代碼示例

    桶排序算法顧名思義,就是把要排序的元素分桶排序后合并結(jié)果,這里我們就來(lái)看一下桶排序算法的理解及C語(yǔ)言版代碼示例:
    2016-07-07
  • C語(yǔ)言中關(guān)于庫(kù)函數(shù) qsort 的模擬實(shí)現(xiàn)過(guò)程

    C語(yǔ)言中關(guān)于庫(kù)函數(shù) qsort 的模擬實(shí)現(xiàn)過(guò)程

    庫(kù)函數(shù)的模擬實(shí)現(xiàn)有利于我們?nèi)ド钊肓私膺@個(gè)函數(shù)內(nèi)部是怎樣實(shí)現(xiàn)的,以及學(xué)習(xí)它的算法,使我們更加了解這個(gè)函數(shù)該怎樣去使用,接下來(lái)我將詳細(xì)的介紹qsort的應(yīng)用及用法,并且用代碼模擬實(shí)現(xiàn)它們的功能
    2021-09-09
  • C語(yǔ)言實(shí)現(xiàn)漢諾塔游戲

    C語(yǔ)言實(shí)現(xiàn)漢諾塔游戲

    個(gè)人覺得漢諾塔這個(gè)遞歸算法比電子老鼠的難了一些,不過(guò)一旦理解了也還是可以的,其實(shí)網(wǎng)上也有很多代碼,可以直接參考。記得大一開始時(shí)就做過(guò)漢諾塔的習(xí)題,但是那時(shí)代碼寫得很長(zhǎng)很長(zhǎng),也是不理解遞歸的結(jié)果。今天重新來(lái)實(shí)現(xiàn)一下
    2015-03-03
  • C語(yǔ)言寫一個(gè)散列表

    C語(yǔ)言寫一個(gè)散列表

    這篇文章主要介紹了C語(yǔ)言寫一個(gè)散列表,散列表,就是下標(biāo)可以為字母的數(shù)組。更多內(nèi)容和小編一起學(xué)習(xí)下面內(nèi)容吧
    2022-01-01
  • C++中多線程的執(zhí)行順序如你預(yù)期嗎

    C++中多線程的執(zhí)行順序如你預(yù)期嗎

    這篇文章主要為大家詳細(xì)介紹一下C++中多線程的執(zhí)行順序的相關(guān)資料,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C++多線程有一定幫助,需要的可以參考一下
    2022-10-10
  • C語(yǔ)言strlen函數(shù)實(shí)現(xiàn)讀取字符串長(zhǎng)度詳解

    C語(yǔ)言strlen函數(shù)實(shí)現(xiàn)讀取字符串長(zhǎng)度詳解

    這篇文章主要介紹了用C語(yǔ)言的strlen函數(shù)來(lái)實(shí)現(xiàn)讀取字符串長(zhǎng)度的過(guò)程,strlen所作的是一個(gè)計(jì)數(shù)器的工作,它從內(nèi)存的某個(gè)位置開始掃描,直到碰到第一個(gè)字符串結(jié)束符'\0'為止
    2022-04-04
  • C++智能指針讀書筆記

    C++智能指針讀書筆記

    本篇隨筆僅作為個(gè)人學(xué)習(xí)《C++ Primer》智能指針一節(jié)后的部分小結(jié),抄書嚴(yán)重,伴隨個(gè)人理解。主要介紹shared_ptr、make_shared、weak_ptr的用法和聯(lián)系
    2015-11-11
  • C語(yǔ)言 makefile學(xué)習(xí)及實(shí)現(xiàn)實(shí)例

    C語(yǔ)言 makefile學(xué)習(xí)及實(shí)現(xiàn)實(shí)例

    這篇文章主要介紹了C語(yǔ)言 makefile學(xué)習(xí)及實(shí)現(xiàn)實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • C++Lambda表達(dá)式詳解

    C++Lambda表達(dá)式詳解

    這篇文章主要介紹了C++中的Lambda表達(dá)式詳解,本文講解了基本語(yǔ)法、Lambda的使用等內(nèi)容,需要的朋友可以參考下,希望能夠給你帶來(lái)幫助
    2021-10-10
  • C++項(xiàng)目基于HuffmanTree實(shí)現(xiàn)文件的壓縮與解壓縮功能

    C++項(xiàng)目基于HuffmanTree實(shí)現(xiàn)文件的壓縮與解壓縮功能

    這篇文章主要介紹了C++項(xiàng)目基于HuffmanTree實(shí)現(xiàn)文件的壓縮與解壓縮功能,本文給大家提到文件壓縮的概念介紹及壓縮方法,通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08

最新評(píng)論

陇西县| 辽源市| 酒泉市| 吕梁市| 永善县| 河北省| 昭觉县| 威远县| 东莞市| 两当县| 五大连池市| 阿坝| 宜宾县| 永春县| 昌江| 永城市| 都江堰市| 莫力| 定远县| 昭平县| 张家川| 杭锦后旗| 锦屏县| 奉化市| 通州区| 辛集市| 宁强县| 泗阳县| 莒南县| 江永县| 兴城市| 巴林右旗| 秀山| 宜都市| 西乌珠穆沁旗| 德格县| 安阳县| 芜湖县| 敖汉旗| 梅州市| 文水县|