【路径规划】基于灰狼算法求解带时间窗的路径规划问题matlab代码

【路径规划】基于灰狼算法求解带时间窗的路径规划问题matlab代码 1 简介有时间窗约束的车辆路径规划问题是一种NP-hard问题,这种问题往往采用遗传算法来解决.但是传统的遗传算法本身存在的不足将严重影响整个算法的性能.本文设计了灰狼算法,并进行了仿真试验.试验结果表明,用这种算法求解带有时间窗约束的车辆调度问题,可以在一定程度上克服上述问题,从而得到较高质量的解.2 部分代码tic clear clc %% 用importdata这个函数来读取文件 % c101importdata(.\Solomon\c102.txt); c101importdata(c101.txt); cap200; %% 提取数据信息 Ec101(1,5); %配送中心时间窗开始时间 Lc101(1,6); %配送中心时间窗结束时间 vertexsc101(:,2:3); %所有点的坐标x和y customervertexs(2:end,:); %顾客坐标 cusnumsize(customer,1); %顾客数 v_num12; %车辆最多使用数目 demandsc101(2:end,4); %需求量 ac101(2:end,5); %顾客时间窗开始时间[a[i],b[i]] bc101(2:end,6); %顾客时间窗结束时间[a[i],b[i]] sc101(2:end,7); %客户点的服务时间 hpdist(vertexs); distsquareform(h); %距离矩阵 %% 模拟退火参数 belta10; %违反的容量约束的惩罚函数系数 gama100; %违反时间窗约束的惩罚函数系数 MaxOutIter2000; %外层循环最大迭代次数 MaxInIter100; %里层循环最大迭代次数 T0100; %初始温度 alpha0.99; %冷却因子 pSwap0.2; %选择交换结构的概率 pReversion0.5; %选择逆转结构的概率 pInsertion1-pSwap-pReversion; %选择插入结构的概率 Ncusnumv_num-1; %解长度顾客数目车辆最多使用数目-1 %% 随机构造初始解 currSrandperm(N); %随机构造初始解 [currVC,NV,TD,violate_num,violate_cus]decode(currS,cusnum,cap,demands,a,b,L,s,dist); %对初始解解码 %求初始配送方案的成本车辆行驶总成本belta*违反的容量约束之和gama*违反时间窗约束之和 currCostcostFuction(currVC,a,b,s,L,dist,demands,cap,belta,gama); SbestcurrS; %初始将全局最优解赋值为初始解 bestVCcurrVC; %初始将全局最优配送方案赋值为初始配送方案 bestCostcurrCost; %初始将全局最优解的总成本赋值为初始解总成本 BestCostzeros(MaxOutIter,1); %记录每一代全局最优解的总成本 TT0; %温度初始化 Alpha_poszeros(1,N); Alpha_scoreinf; %change this to -inf for maximization problems Beta_poszeros(1,N); Beta_scoreinf; %change this to -inf for maximization problems Delta_poszeros(1,N); Delta_scoreinf; %change this to -inf for maximization problems for outIter1:MaxOutIter end %记录外层循环每次迭代的全局最优解的总成本 BestCost(outIter)bestCost; %显示外层循环每次迭代的信全局最优解的总成本 disp([第,num2str(outIter),代全局最优解:]) [bestVC,bestNV,bestTD,best_vionum,best_viocus]decode(Sbest,cusnum,cap,demands,a,b,L,s,dist); %对全局最优解解码 disp([车辆使用数目,num2str(bestNV),车辆行驶总距离,num2str(bestTD),违反约束路径数目,num2str(best_vionum),违反约束顾客数目,num2str(best_viocus)]); fprintf(\n) %更新当前温度 % Talpha*T; end %% 打印外层循环每次迭代的全局最优解的总成本变化趋势图 figure; plot(BestCost,LineWidth,1); title(灰狼算法优化全局最优解的总成本变化趋势图) xlabel(迭代次数); ylabel(总成本); %% 打印全局最优解路线图 draw_Best(bestVC,vertexs); toc3 仿真结果4 参考文献[1]王敏, 唐明珠. (2016). 一种新型非线性收敛因子的灰狼优化算法. 计算机应用研究, 33(12), 6.[2]阎庆, 邰蕾蕾. 用混合遗传算法解决有时间窗的车辆路径规划问题[J]. 安徽大学学报(自科版), 2007, 032(002):41-44.部分理论引用网络文献若有侵权联系博主删除。