% MOEAD By Andrew Wu @ 武汉理工大学 2017-3-10 qqqfdsa@163.com
% 测试函数为 ZDT1 自变量个数30
% 进化操作选取的是差分进化算法,在此基础上还采取了高斯变异
H=100; % 用户自定义正整数,根据该正整数及问题维度可确定种群数目N
M=2; % 问题维度
V=30; % 自变量个数
min_range=zeros(1,V); % 自变量下限
max_range=ones(1,V); % 自变量上限
Gen=200; % 最大迭代次数
T=20; % 领域中权重向量的个数
[Popsize,weights,neighbour]=Init_weights(H,M,T); % 初始化权重向量矩阵
[chrom,obj]=Init(Popsize,M,V,min_range,max_range); % 随机生成种群
[z,~]=min(obj); % 初始化参考点,参考点为所有个体的各个子目标函数值中的最小值组成
for i=1:Gen
for j=1:Popsize % 循环种群个体,下面的操作都是针对单个的个体j
newpoint=evolution(chrom,neighbour,j,V,T); % 进化操作后得到的新个体
newpoint=fixnew(newpoint,min_range,max_range); % 修复不合法的个体
newpoint=gaussian_mutate(newpoint,V,min_range,max_range); % 加高斯变异增加种群多样性
zz=evaluate(V,newpoint); % 评价得到的新个体
z=min(z,zz); % 更新参考点
nei=neighbour(j,:); % 取得当前个体j的领域权重序号向量
for t=1:T
k=nei(t); % 取得对应的权重序号
[chrom(k,:),obj(k,:)]=updates(weights(k,:),chrom(k,:),obj(k,:),newpoint,zz,z); % 更新领域解,注意传的参数
end
end
end
% 绘制前沿二维点图
obj(end,:)
scatter(obj(:,1),obj(:,2));
MOEA/D的MATLAB代码
5星 · 超过95%的资源 需积分: 45 177 浏览量
2017-03-10
10:49:48
上传
评论 12
收藏 4KB RAR 举报
露宿街头
- 粉丝: 4
- 资源: 3
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈