資源簡介
MOABC,人工蜂群算法多目標優化matlab代碼,注釋多,容易讀。

代碼片段和文件信息
%%%%%%%%%%計算概率子程序?calprob?%%%%%%%%%%%%%%%%%%%%
function?probability=calprob(swarmpopvalueproblem)
pop=[swarm?popvalue];
[NP]=size(pop);????????????????????????%N為種群的個體數量,P為自變量維度及目標函數個數的和
DOM=zeros(NN);?????????????????????????%構建N*N的方形矩陣,用于存放各解相互之間的支配關系
probability=zeros(N1);?????????????????%各解對應的跟隨概率
M=2;????????????????????????????????????%目標函數值的個數
V=6;????????????????????????????????????%每個目標函數值的維數
for?i=1:N
????for?j=1:N
????????if?i==j????????????????????????%同一個解
????????????DOM(ij)=1;????????????????%避免出現支配解全為0的情況
????????else
????????????dom_less=0;
????????????dom_equal=0;
????????????dom_more=0;
????????????for?k=1:M???????????????????%M=2,兩個目標函數
????????????????if?(pop(iV+k) ????????????????????dom_less=dom_less+1;
????????????????elseif?(pop(iV+k)==pop(jV+k))
????????????????????dom_equal=dom_equal+1;
????????????????else
????????????????????dom_more=dom_more+1;
????????????????end
????????????end
????????????if?dom_less==0?&&?dom_equal~=M??????????%該行判斷為真時,表示解j支配解i
????????????????DOM(ji)=1;?????????????????????????%解j支配解i時,DOM矩陣的對應位置置1
????????????????DOM(ij)=0;
????????????elseif?dom_more==0?&&?dom_equal~=M?????%該行為真時,表示解i支配解j
????????????????DOM(ij)=1;
????????????????DOM(ji)=0;
????????????else?????????????????????????????????%其余情況:兩解互不支配
????????????????DOM(ji)=0;
????????????????DOM(ij)=0;
????????????end
????????end
????end
end
Numcount=sum(DOM2);??%計算方陣DOM每行的和
probability=Numcount/N;
%%%%%%%%%%%%%%
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-04-09?16:03??MOABC\
?????文件????????1730??2017-09-10?17:11??MOABC\calprob.m
?????文件????????1238??2017-10-31?16:33??MOABC\calvalue.m
?????文件????????1899??2017-10-15?17:54??MOABC\crowd_distance_measure.m
?????文件????????7537??2017-11-12?16:58??MOABC\MDOABC.m
?????文件????????2192??2017-10-15?15:38??MOABC\quick_sort.m
- 上一篇:詳細的螺旋槳matlab模型
- 下一篇:蜂群算法優化旅行商問題
評論
共有 條評論