%主程序 gamain.m
clear all
%参数设置
POPSIZE=20; %种群规模
T=100; %最大进化代数
PC=0.85; %交叉概率
PM=0.1; %变异概率
t=1;
bound=[-5,5];%变量范围
%初始化种群
PO1=initga(POPSIZE,bound); %协同进化种群1
PO2=initga(POPSIZE,bound); %协同进化种群2
%适应度计算
[PO1,x2]=gafit(PO1,PO2,POPSIZE,1);
[PO2,x1]=gafit(PO2,PO1,POPSIZE,1);
%最优个体保留
[currentbest,CURRENTBEST1,CURRENTBEST2,im1,im2]=eliga(PO1,x2,PO2,x1,POPSIZE,1);
BEST1=CURRENTBEST1;
BEST2=CURRENTBEST2;
y(t)=currentbest(1,2);
f(t)=1/currentbest(1,2)-1;
while t<T
t=t+1;
%产生下一代进化种群
%种群1
PO11=selectga(PO1,POPSIZE,1); %选择算子
PO12=crossga(PO11,POPSIZE,PC,1);%交叉算子
PO13=uniformMutate(PO12,bound,PM);%变异算子
%求适应度
[PO13,x2]=gafit(PO13,PO2,POPSIZE,1);
PO1=PO13;
%种群2
PO21=selectga(PO2,POPSIZE,1);
PO22=crossga(PO21,POPSIZE,PC,1);
PO23=uniformMutate(PO22,bound,PM);
%求适应度
[PO23,x1]=gafit(PO23,PO1,POPSIZE,1);
PO2=PO23;
%合作池函数
[currentbest,CURRENTBEST1,CURRENTBEST2,im1,im2]=eliga(PO1,x2,PO2,x1,POPSIZE,1);
%种群1
if BEST1(1,2)<CURRENTBEST1(1,2)
BEST1(1,:)=CURRENTBEST1(1,:);
end
%种群2
if BEST2(1,2)<CURRENTBEST2(1,2)
BEST2(1,:)=CURRENTBEST2(1,:);
end
PO1(im1(1),:)=BEST1(1,1:2); %最好值代替最差值
PO2(im1(1),:)=BEST2(1,1:2);
ymax1(t)=CURRENTBEST1(1,2);
fmax1(t)=1/CURRENTBEST1(1,2)-1;
ymax2(t)=CURRENTBEST2(1,2);
fmax2(t)=1/CURRENTBEST2(1,2)-1;
y(t)=currentbest(1,2);
f(t)=1/currentbest(1,2)-1;
end
BEST1(1,2)=1/BEST1(1,2)-1;
BEST1
BEST2(1,2)=1/BEST2(1,2)-1;
BEST2
%subplot(2,1,1);
%plot(1:T,ymax1,'-',1:T,ymax2,'--');
%title('历代适应度变化','fonts',10);
%legend('种群1最大适应度','种群2最大适应度');
%subplot(2,1,2);
%plot(1:T,fmax1,'-',1:T,fmax2,'--');
%title('历代函数值变化','fonts',10);
%legend('种群1最小函数值','种群2最小函数值');
subplot(2,1,1);
plot(1:T,y,'-');
title('历代适应度变化','fonts',10);
legend('种群最大适应度');
subplot(2,1,2);
plot(1:T,f,'-');
title('历代函数值变化','fonts',10);
legend('种群最小函数值');
ccEA.zip_somethingzoh_协同_协同优化_协同进化_合作协同进化
版权申诉
5星 · 超过95%的资源 118 浏览量
2022-07-15
03:40:16
上传
评论
收藏 4KB ZIP 举报
钱亚锋
- 粉丝: 86
- 资源: 1万+
最新资源
- yolo目标检测项目实验
- downloadFile-1.hc
- Centos7.9环境下离线安装开源版Nginx(亲测版)
- C++课程设计:基于Qt的航班信息管理系统
- ADS7822UVerilog驱动,前面传的有点问题
- 基于python的高性能爬虫程序,使用了多线程+缓存+xpath实现的,这里以彼-岸图库为例,实现,仅用于学习交流
- 中分辨率成像光谱仪(MODIS)烧毁面积产品信息MODIS-C6-BA-User-Guide-1.2.pdf
- Screenshot_20240427_172613_com.huawei.browser.jpg
- 关于学习Python的相关资源网站链接及相关介绍.docx
- (HAL库)基于STM32F103C8T6的温控PID系统[Dht11、ESP8266、无线透传、L298N……]
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论1