function [pf, ps] = Pareto(name, no, dim)
if nargin<3, dim = 3; end
if nargin<2, no = 500; end
switch name
case 'UF1'
pf = zeros(2,no);
pf(1,:) = linspace(0,1,no);
pf(2,:) = 1-sqrt(pf(1,:));
ps = zeros(dim,no);
ps(1,:) = linspace(0,1,no);
ps(2:dim,:) = sin(6.0*pi*repmat(ps(1,:),[dim-1,1]) + repmat((2:dim)',[1,no])*pi/dim);
case 'UF2'
pf = zeros(2,no);
pf(1,:) = linspace(0,1,no);
pf(2,:) = 1-sqrt(pf(1,:));
ps = zeros(dim,no);
ps(1,:) = linspace(0,1,no);
X1 = repmat(ps(1,:),[dim,1]);
A = 6.0*pi*X1 + pi/dim*repmat((1:dim)',[1,no]);
B = 0.3*X1.*(X1.*cos(4.0*A)+2.0).*cos(A);
ps(3:2:dim,:) = B(3:2:dim,:);
B = 0.3*X1.*(X1.*cos(4.0*A)+2.0).*sin(A);
ps(2:2:dim,:) = B(2:2:dim,:);
clear A B;
case 'UF3'
pf = zeros(2,no);
pf(1,:) = linspace(0,1,no);
pf(2,:) = 1-sqrt(pf(1,:));
ps = zeros(dim,no);
ps(1,:) = linspace(0,1,no);
ps(2:dim,:) = repmat(ps(1,:),[dim-1,1]).^(0.5+1.5*(repmat((0:1:(dim-2))',[1,no]))/(dim-2.0));
case 'UF4'
pf = zeros(2,no);
pf(1,:) = linspace(0,1,no);
pf(2,:) = 1-pf(1,:).^2;
ps = zeros(dim,no);
ps(1,:) = linspace(0,1,no);
ps(2:dim,:) = sin(6.0*pi*repmat(ps(1,:),[dim-1,1]) + repmat((2:dim)',[1,no])*pi/dim);
case 'UF5'
no = 21;
pf = zeros(2,no);
pf(1,:) = (0:1:20)/20.0;
pf(2,:) = 1-pf(1,:);
ps = zeros(dim,no);
ps(1,:) = pf(1,:);
ps(2:dim,:) = sin(6.0*pi*repmat(ps(1,:),[dim-1,1]));
case 'UF6'
num = floor(no/3);
pf = zeros(2,no);
pf(1,1:num) = 0.0;
pf(1,(num+1):(2*num)) = linspace(0.25,0.5,num);
pf(1,(2*num+1):no) = linspace(0.75,1.0,no-2*num);
pf(2,:) = 1-pf(1,:);
ps = zeros(dim,no);
ps(1,:) = pf(1,:);
ps(2:dim,:) = sin(6.0*pi*repmat(ps(1,:),[dim-1,1]) + repmat((2:dim)',[1,no])*pi/dim);
case 'UF7'
pf = zeros(2,no);
pf(1,:) = linspace(0,1,no);
pf(2,:) = 1-pf(1,:);
ps = zeros(dim,no);
ps(1,:) = linspace(0,1,no);
ps(2:dim,:) = sin(6.0*pi*repmat(ps(1,:),[dim-1,1]) + repmat((2:dim)',[1,no])*pi/dim);
case {'UF8','UF10'}
num = floor(sqrt(no));
no = num*num;
[s,t] = meshgrid(linspace(0,1,num),linspace(0,1,num));
ps = zeros(dim,no);
ps(1,:) = reshape(s,[1,no]);
ps(2,:) = reshape(t,[1,no]);
ps(3:dim,:) = 2.0*repmat(ps(2,:),[dim-2,1]).*sin(2.0*pi*repmat(ps(1,:),[dim-2,1]) + repmat((3:dim)',[1,no])*pi/dim);
pf = zeros(3,no);
pf(1,:) = cos(0.5*pi*ps(1,:)).*cos(0.5*pi*ps(2,:));
pf(2,:) = cos(0.5*pi*ps(1,:)).*sin(0.5*pi*ps(2,:));
pf(3,:) = sin(0.5*pi*ps(1,:));
clear s t;
case 'UF9'
num = floor(sqrt(no));
no = num*num;
noA = floor(num/2);
A = zeros(1,num);
A(1,1:noA) = linspace(0,0.25,noA);
A(1,noA+1:num) = linspace(0.75,1,num-noA);
[s,t] = meshgrid(A,linspace(0,1,num));
ps = zeros(dim,no);
ps(1,:) = reshape(s,[1,no]);
ps(2,:) = reshape(t,[1,no]);
ps(3:dim,:) = 2.0*repmat(ps(2,:),[dim-2,1]).*sin(2.0*pi*repmat(ps(1,:),[dim-2,1]) + repmat((3:dim)',[1,no])*pi/dim);
pf = zeros(3,no);
pf(1,:) = ps(1,:).*ps(2,:);
pf(2,:) = (1.0-ps(1,:)).*ps(2,:);
pf(3,:) = 1.0-ps(2,:);
clear A s t;
case 'CF1'
no = 21;
pf = zeros(2,no);
pf(1,:) = (0:1:20)/20.0;
pf(2,:) = 1-pf(1,:);
ps = [];
case 'CF2'
no = floor(no/3.0);
pf = zeros(2,3*no);
pf(1,(no+1):(2*no)) = linspace(0.25^2,0.25,no);
pf(1,(2*no+1):(3*no)) = linspace(0.75^2,1.0,no);
pf(2,:) = 1-sqrt(pf(1,:));
ps = [];
case 'CF3'
no = floor(no/3.0);
pf = zeros(2,3*no);
pf(1,(no+1):(2*no)) = linspace(0.25^0.5,0.5^0.5,no);
pf(1,(2*no+1):(3*no)) = linspace(0.75^0.5,1.0^0.5,no);
pf(2,:) = 1-pf(1,:).^2;
ps = [];
case {'CF4','CF5'}
no = floor(no/4.0);
pf = zeros(2,4*no);
pf(1,1:(2*no)) = linspace(0,0.5,2*no);
pf(2,1:(2*no)) = 1-pf(1,1:(2*no));
pf(1,(2*no+1):(3*no)) = linspace(0.5,0.75,no);
pf(2,(2*no+1):(3*no)) = -0.5*pf(1,(2*no+1):(3*no))+0.75;
pf(1,(3*no+1):(4*no)) = linspace(0.75,1.0,no);
pf(2,(3*no+1):(4*no)) = 1.125-pf(1,(3*no+1):(4*no));
ps = [];
case {'CF6','CF7'}
no = floor(no/4.0);
pf = zeros(2,4*no);
pf(1,1:(2*no)) = linspace(0,0.5,2*no);
pf(2,1:(2*no)) = (1.0-pf(1,1:(2*no))).^2;
pf(1,(2*no+1):(3*no)) = linspace(0.5,0.75,no);
pf(2,(2*no+1):(3*no)) = 0.5*(1.0-pf(1,(2*no+1):(3*no)));
pf(1,(3*no+1):(4*no)) = linspace(0.75,1.0,no);
pf(2,(3*no+1):(4*no)) = 0.25*sqrt(1.0-pf(1,(3*no+1):(4*no)));
ps = [];
case 'CF8'
no = floor(no/5.0);
pf = zeros(3,5*no);
for k = 0:1:4
s = k*no+1;
e = k*no+no;
pf(3,s:e) = linspace(0,1,no);
pf(1,s:e) = sqrt(k/4.0*(1.0-pf(3,s:e).^2));
pf(2,s:e) = sqrt(1-pf(1,s:e).^2-pf(3,s:e).^2);
end
ps = [];
case {'CF9','CF10'}
no1 = floor(sqrt(no/12));
no = 4*no1*no1;
pf = zeros(3,3*no);
s = 1;
e = no;
pf(1,s:e) = 0;
pf(2,s:e) = linspace(0,1,no);
pf(3,s:e) = sqrt(1-pf(2,s:e).^2);
for k = 1:1:2
s = k*no+1;
e = k*no+no;
A = repmat(linspace(0,1,4*no1),[no1,1]);
B = repmat((linspace(2*k-1, 2*k, no1)/4.0)',[1,4*no1]);
B = sqrt(B.*repmat(1-linspace(0,1,4*no1).^2,[no1,1]));
pf(3,s:e) = reshape(A,1,no);
pf(1,s:e) = reshape(B,1,no);
pf(2,s:e) = sqrt((1-pf(1,s:e).^2-pf(3,s:e).^2));
end
ps = [];
end
end
没有合适的资源?快使用搜索试试~ 我知道了~
matlab-多目标人工蜂群算法MOABC的MATLAB仿真,对比Pareto边界-源码
共18个文件
m:18个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 144 浏览量
2021-09-16
22:48:54
上传
评论 1
收藏 10KB RAR 举报
温馨提示
matlab_多目标人工蜂群算法MOABC的MATLAB仿真,对比Pareto边界_源码
资源推荐
资源详情
资源评论
收起资源包目录
matlab_多目标人工蜂群算法MOABC的MATLAB仿真,对比Pareto边界_源码.rar (18个子文件)
matlab_多目标人工蜂群算法MOABC的MATLAB仿真,对比Pareto边界_源码
matlab_多目标人工蜂群算法MOABC的MATLAB仿真,对比Pareto边界_源码
Runme.m 2KB
func
Send_Onlooker_Bees.m 1KB
RouletteWheelSelection.m 109B
CreateGrid.m 521B
Send_Scout_Bees.m 225B
Dominates.m 156B
Send_Employed_Bees.m 869B
PlotCosts.m 301B
UF7.m 510B
FindGridIndex.m 563B
Init.m 417B
xboundary.m 768B
Update_Archive.m 412B
Pareto.m 7KB
DeleteArcMemebr.m 984B
Calculate_IGD.m 414B
DetermineDomination.m 426B
SelectLeader.m 610B
共 18 条
- 1
资源评论
mYlEaVeiSmVp
- 粉丝: 1926
- 资源: 19万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于opencv的人脸识别考勤系统python源码+数据.zip
- IOT安装包 iotech-iot-1.5-dev-1.5.0-amd64.deb
- 基于物品的协同过滤算法(推荐视频)工具类(见仁见智)
- 21信管2班 武学芹组+独立样本T检验数据分析案例.zip
- demo_ccms_global_open_wlan.py
- 小程序项目源码-小契约(交友互动小程序).zip
- 小程序项目源码-健身房预约课程小程序.zip
- 小程序项目源码-wechat-app-xiaoyima-master小程序.zip
- 小程序项目源码-滑动选项卡小程序.zip
- 小程序项目源码-学习Demo影视推荐、音乐播放、地图小程序.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功