资源简介
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模型
- 下一篇:蜂群算法优化旅行商问题
评论
共有 条评论