多目標優化按支配關係分層實現

2022-03-19 06:27:10 字數 1480 閱讀 4410

% count剛開始儲存的是front0中解的個數

while count>0

count=0;

front=front+1;% 此時front從1開始計數

for i=1:pop

if population(i).front==front % 篩選當前front元素

% 對於pop(i)支配的每個個體

for j=1:population(i).dominatedsetlength

% i支配個體的索引標記為ind

ind=population(i).dominatedset(j);

% ind個體被支配總數減去1

population(ind).dominationcount=population(ind).dominationcount-1;

% 如果個體被支配總數等於0,即是說沒有個體再去支配她了

if population(ind).dominationcount==0

% 這裡沒有使用專門的矩陣將不同的front儲存,而是將每個個體的front存到屬性中

population(ind).front=front+1;%將其front標記加1,可以認為把其放到當前層的下一層中

count=count+1;%count是乙個區域性變數,用於記載這個front中存在的個體數

endend

endend

frontnumbers=[frontnumbers,count];% 記載front中的個體數量

end

public ranking(solutionset solutionset) 

for (int p = 0; p < (solutionset_.size() - 1); p++)

if (flagdominate == -1) else if (flagdominate == 1)

}// if nobody dominates p, p belongs to the first front

} for (int p = 0; p < solutionset_.size(); p++)

} // obtain the rest of fronts

int i = 0;

iteratorit1, it2; // iterators

while (front[i].size() != 0) }}

} //

ranking_ = new solutionset[i];

// 0,1,2,....,i-1 are front, then i fronts

for (int j = 0; j < i; j++)

} } // ranking

多目標優化非支配關係實現

遍歷所有m個目標值 for obj index 1 global.m if newpop.obj obj index population i obj obj index 如果目標值小於等於則計數值加1 offspringless or equal offspringless or equal 1 ...

多目標優化問題 投資組合的多目標優化

一 多目標問題 二 多目標規劃有效解 1 有效點 參考定理 2 凸多目標規劃 詳細見參考文獻1 3 絕對最優解 有效解 弱有效解 絕對最優解 有效解與弱有效解 4 真有效解 由於有效解的範圍過大,有時候要在要在有效解的範圍內加以限制定義了真有解。根據不同的限制定義了許多不同的真有效解。5 極錐解與非...

多目標優化 1 多目標優化的相關基本概念

在學習多目標優化的過程中,尤其涉及pareto相關知識的一些概念的時候,公式與嚴謹邏輯的定義,在初學狀態下,很難準確的認識並理解這些概念,本文重點就是將學習的過程中,對這些概念的自己理解,用較通俗的語言整理出來。1 支配 對於多個目標值,隨機自變數。3 互不支配 對於多個目標值,隨機自變數,使互不支...