资源简介
自己写的一个用遗传算法解决公交车路线规划问题,有兴趣的朋友可以私信我;
自己写的一个用遗传算法解决公交车路线规划问题,有兴趣的朋友可以私信我
自己写的一个用遗传算法解决公交车路线规划问题,有兴趣的朋友可以私信我
自己写的一个用遗传算法解决公交车路线规划问题,有兴趣的朋友可以私信我

代码片段和文件信息
clc
clear all
close all
%% 参数设置
GenMax=100;
P1=0.5;
P2=0.5;
V=12;
Q=[0 84 72 80 69 54 70 64 57 73 80];
%% 初始种群
% Chrom.A=[3 5 6 1 11];
% Chrom.B=[2 4 10 7 1 8 9];
load Chrom.mat
% Popnum=size(Chrom1)
load D.mat
%% 交叉变异产生子代
Gen=0;
t1=0;
t2=0;
while Gen ChromTemp=[];
ChromNew1.A=[];
ChromNew1.B=[];
ChromNew2.A=[];
ChromNew2.B=[];
ChromNew3.A=[];
ChromNew3.B=[];
Popnum=size(Chrom2)
Gen=Gen+1;
%% 交叉变异
for i=1:Popnum
rate1=rand;
rate2=rand;
%交叉
if rate1 t1=t1+1;
ChromTemp=Chrom(i);
L1=find(ChromTemp.A==1);
L2=find(ChromTemp.B==1);
L11=min(L1+1length(ChromTemp.A));
L22=min(L2+1length(ChromTemp.B));
ChromNew1.A=[ChromTemp.A(1:L1) ChromTemp.B(L22:end)];
ChromNew1.B=[ChromTemp.B(1:L2) ChromTemp.A(L11:end)];
ChromNew1=TestChrom(ChromNew1ga);
ChromNew2.A=[ChromTemp.A(1:L1) ChromTemp.B(L2-1:-1:1)];
ChromNew2.B=[ChromTemp.A(end:-1:L11) 1 ChromTemp.B(end:-1:L22)];
ChromNew2=TestChrom(ChromNew2ga);
Save(t1).Cross1=ChromNew1;
Save(t1).Cross2=ChromNew2;
end
% 变异
if rate2 t2=t2+1;
ChromTemp=Chrom(i);
L1=find(ChromTemp.A==1);
L2=find(ChromTemp.B==1);
flag=1;
while flag>0
N_change1=randperm(length(ChromTemp.A));
N_change2=randperm(length(ChromTemp.B));
if (N_change1(1)~=L1)&(N_change2(1)~=L2)
flag=0;
end
temp1=ChromTemp.A(N_change1(1));
temp2=ChromTemp.B(N_change2(1));
ChromTemp.A(N_change1(1))=temp2;
ChromTemp.B(N_change2(1))=temp1;
ChromNew3=TestChrom(ChromTempga);
Save(t2).Cross3=ChromNew3;
end
end
end
Mark=[ones(1Popnum) length(ChromNew1.A) length(ChromNew2.A) length(ChromNew3.A) ];
Chrom=[Chrom ChromNew1 ChromNew2 ChromNew3];
Chrom=Chrom(find(Mark));
[Best(Gen).TBest(Gen).Chrom]=getbest(ChromgaQV);
end
plot([Best.T])
xlabel(‘迭代次数‘)
ylabel(‘乘客出行总时间‘)
fprintf(‘A路线是%s\n‘num2str([Best(end).Chrom.A]))
fprintf(‘B路线是%s\n‘num2str([Best(end).Chrom.B]))
% Lnum=randi([2 10]21);
% temp=Chrom(iLnum(1));
% ChromNew2=Chrom(i:);
% ChromNew2(Lnum(1))=Chrom(iLnum(2));
% ChromNew2(Lnum(2))=floor(cos(0.5*temp*pi));
% Save(t2).Change=ChromNew2;
% end
% Chrom=[Chrom;ChromNew1;ChromNew2];
% Chrom= unique(Chrom‘rows‘);
% end
%
%
%
%
%
% end
% % % 变异
% % if rate2 % % Lnum=randi([2 10]21);
% % temp=Chromnew(iLnum(1));
% % Chromnew(iLnum(1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3161 2020-05-02 00:36 bus\BUS.m
文件 265 2020-05-01 22:59 bus\Chrom.mat
文件 257 2020-04-29 23:39 bus\D.mat
文件 10083 2020-04-29 23:36 bus\ga.xlsx
文件 971 2020-05-02 00:31 bus\getbest.m
文件 667 2020-05-02 00:21 bus\getP.m
文件 285 2020-05-01 22:58 bus\TestChrom.m
- 上一篇:DCT_CS 稀疏矩阵
- 下一篇:qpsk matlab代码
相关资源
- 串行级联cpm系统MATLAB仿真
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
评论
共有 条评论