91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-03
  • 語言: Matlab
  • 標簽: moead??

資源簡介

moead優化算法摘要:在傳統的多目標優化問題上常常使用分解策略。但是,這項策略還沒有被廣泛的應用到多目標進化優化中。本文提出了一種基于分解的多目標進化算法。該算法將一個多目標優化問題分解為一組???單目標優化問題并對它們同時優化。通過利用與每一個子問題相鄰的子問題的優化信息來優化它本身,這是的該算法比MOGLS和非支配排序遺傳算法NSGA-Ⅱ相比有更低的計算復雜度。實驗結果證明:在0-1背包問題和連續的多目標優化問題上,利用一些簡單的分解方法本算法就可以比MOGLS和NSGA-Ⅱ表現的更加出色或者表現相近。實驗也表明目標正態化的MOEA/D算法可以解決規模范圍相異的多目標問題,同時使用一個先進分解方法的MOEA/D可以產生一組分別非常均勻的解對于有3個目標問題的測試樣例。最后,MOEA/D在較小種群數量是的性能,還有可擴展性和敏感性都在本篇論文中通過實驗經行了相應的研究。

資源截圖

代碼片段和文件信息

%
%?Copyright?(c)?2015?Yarpiz?(www.yarpiz.com)
%?All?rights?reserved.?Please?read?the?“license.txt“?for?license?terms.
%
%?Project?Code:?YPEA124
%?Project?title:?Implementation?of?MOEA/D
%?Muti-objective?Evolutionary?Algorithm?based?on?Decomposition
%?Publisher:?Yarpiz?(www.yarpiz.com)
%?
%?Developer:?S.?Mostapha?Kalami?Heris?(Member?of?Yarpiz?Team)
%?
%?Contact?Info:?sm.kalami@gmail.com?info@yarpiz.com
%

clc;
clear;
close?all;

%%?Problem?Definition

CostFunction=@(x)?ZDT1(x);??%?Cost?Function

nVar=3;?????????????%?Number?of?Decision?Variables

VarSize=[nVar?1];???%?Decision?Variables?Matrix?Size

VarMin?=?0;?????????%?Decision?Variables?Lower?Bound
VarMax?=?1;?????????%?Decision?Variables?Upper?Bound

nObj=numel(CostFunction(unifrnd(VarMinVarMaxVarSize)));


%%?MOEA/D?Settings

MaxIt=100;??%?Maximum?Number?of?Iterations

nPop=50;????%?Population?Size?(Number?of?Sub-Problems)

nArchive=30;

T=max(ceil(0.15*nPop)2);????%?Number?of?Neighbors
T=min(max(T2)15);

crossover_params.gamma=0.5;
crossover_params.VarMin=VarMin;
crossover_params.VarMax=VarMax;

%%?Initialization

%?Create?Sub-problems
sp=CreateSubProblems(nObjnPopT);

%?Empty?Individual
empty_individual.Position=[];
empty_individual.Cost=[];
empty_individual.g=[];
empty_individual.IsDominated=[];

%?Initialize?Goal?Point
%z=inf(nObj1);
z=zeros(nObj1);

%?Create?Initial?Population
pop=repmat(empty_individualnPop1);
for?i=1:nPop
????pop(i).Position=unifrnd(VarMinVarMaxVarSize);
????pop(i).Cost=CostFunction(pop(i).Position);
????z=min(zpop(i).Cost);
end

for?i=1:nPop
????pop(i).g=DecomposedCost(pop(i)zsp(i).lambda);
end

%?Determine?Population?Domination?Status
pop=DetermineDomination

評論

共有 條評論