资源简介
代码利用粒子群算法对带时间窗的车辆路径规划问题进行了求解,代码进行了详细的注释,易于理解和进行修改,内置了一组数据,为可执行的代码。

代码片段和文件信息
%%----评估粒子---%%
%是否为可行解--判断依据:各车辆是否超重超重
%根据目标函数计算目标值,找出粒子群的gbest和各粒子的pbest
%ijkctj1j2
function [gbestXv gbestXr fav]=eval(XvXryPEPLCTSTgvnnmspeedDSw)
fav=zeros(n1); %%%
bm=linspace(1nn);
ET=CT(:1);
LT=CT(:2);
g;
t1=0;
for i=1:n
Xvi=Xv(i:); %获取任务对应车辆编号的粒子行
Xri=Xr(i:); %获取车辆对应任务顺序行
st=zeros(vn+1m);
st(1:)=linspace(1mm);
t=0;
bmzys=zeros(1);
sg=zeros(1vn); %存储没辆车的货物
ST1=zeros(1vn);%存储每辆车的时间惩罚
juli=zeros(1vn);
%对每个粒子的Xv和Xr进行解码
for j=1:vn
colv=find(Xvi==j);
for k=1:length(colv)
st(j+1colv(k))=Xri(colv(k)); %获取每一辆车的Xr值
end
st0=st(1:)‘;
stj=st(j+1:)‘;
sst=[st0 stj];
pxst=sortrows(sst2); %%进行排序获取每辆车接送任务的顺序
for c=1:m
if pxst(c2)~=0
t=t+1;
cxh(t)=pxst(c1); %获取每辆车的进行各项任务的编号
end
end
for j1=1:t
sg(j)=sg(j)+g(cxh(j1)); %%每辆车所载货物
if j1~=t
juli(j)=juli(j)+DS(1cxh(1))+DS(cxh(j1)cxh(j1+1)); %每辆车途经距离
else
juli(j)=juli(j)+DS(cxh(t)1); %每辆车途经距离
end
if t~=1
if j1~=t
cxh(j1+1);
cxh(j1);
ST0=DS(1cxh(1))/speed+ST(cxh(1))+PE*max(ET(cxh(1))-ST(1)0)+PL*max(LT(cxh(1))-ST(1)0); %每辆车途经第一个节点时的时间(不包括时间惩罚)
ST1(j)=ST0+ST1(j)+DS(cxh(j1)cxh(j1+1))/speed+PE*max(ET(cxh(j1+1))-ST1(j)0)+PL*max(LT(cxh(j1+1))-ST1(j)0)+ST(cxh(j1));
else
ST1(j)=ST1(j)+DS(cxh(t)1)/speed;
end
else
ST0=DS(1cxh(1))/speed+ST(cxh(1))+PE*max(ET(cxh(1))-ST(1)0)+PL*max(LT(cxh(1))-ST(1)0);
ST1(j)=ST0;
end
end
if sum(sg)>w %%约束条件判断
t1=t1+1;
bmzys(t1)=j;
end
end
%%%目标函数计算
fav(i)=y*sum(juli)+sum(ST1);
end
bmzyscl=find(bmzys~=0); %%读取不满足约束的粒子
for j3=1:length(bmzyscl)
bm(bmzys(bmzyscl(j3)))=0;
fav(bmzys(bmzyscl(j3)))=inf;
end
bm1=bm(bm~=0);
for j4=1:length(bmzyscl)
lh=length(bm1);
lh1=round(rand*(lh-2)+1);
Xv(j4:)=Xv(lh1:);
end
gbestj=find(fav==min(fav));
gbestXr=Xr(gbestj:);
gbestXv=Xv(gbestj:);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 217 2018-12-21 20:56 待时间窗车辆路径规划模型求解matlab代码\CT.mat
文件 605 2018-12-21 21:09 待时间窗车辆路径规划模型求解matlab代码\DS.mat
文件 2630 2018-12-22 17:21 待时间窗车辆路径规划模型求解matlab代码\eval.m
文件 193 2018-12-21 20:52 待时间窗车辆路径规划模型求解matlab代码\g.mat
文件 4326 2018-12-22 17:20 待时间窗车辆路径规划模型求解matlab代码\main.m
文件 198 2018-12-21 20:54 待时间窗车辆路径规划模型求解matlab代码\ST.mat
目录 0 2019-01-01 13:43 待时间窗车辆路径规划模型求解matlab代码
----------- --------- ---------- ----- ----
8169 7
- 上一篇:步长加速法寻优迭代
- 下一篇:改进灰色马尔科夫模型估测湖北省用水量
相关资源
- 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实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论