【EVRP问题】基于遗传算法求解带时间窗多电动车充电路径规划问题附Matlab源码

  • Post author:
  • Post category:其他


✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:

Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇


智能优化算法


神经网络预测


雷达通信


无线传感器


电力系统


信号处理


图像处理


路径规划


元胞自动机


无人机

⛄ 内容介绍

电动车在物流领域中取代燃油车是一个广泛的发展趋势.但电动车的电池利用率低,充电时间长,相关充电配套设施建设不完善,存在”续驶里程焦虑”等现象成为了电动车推广和应用的重要制约因素,也是一般路径规划模型不适用于电动车的原因.因此,针对电动车的特性研究路径规划问题具有重要的理论研究价值和实用价值.此外,现有的电动车路径规划研究中关于电量消耗模型的构建,大多假设与速度和载重无关.但是,电动车的实际行驶效果和理论研究表明,速度和载重对电动车的电量消耗具有显著的非线性影响,行驶速度每增加或减少10km/h,单位里程电量消耗量变化10%以上,而车辆载重每增加或减少100kg,单位里程电量消耗平均变化约4.2%,这些影响是不可忽略的,在研究路径规划时需加以考虑.本文基于速度和载重对电量消耗的非线性影响以及客户时间窗,车辆载重及电量的约束,以最小化电动车启动成本,充电成本,总行驶里程成本和总时间惩罚成本为目标函数,构建了基于非线性电量消耗的电动车路径规划模型,并采用遗传算法算法分别对问题求解,综合比较选择更优的路径规划结果.

⛄ 部分代码

%% 判断当前方案是否满足时间窗约束和载重量约束,0表示违反约束,1表示满足全部约束

%输入:chrom               个体

%输入:cap                 最大载重量

%输入:demands             需求量

%输入:a                   顾客时间窗开始时间[a[i],b[i]]

%输入:b                   顾客时间窗结束时间[a[i],b[i]]

%输入:L                   配送中心时间窗结束时间

%输入:s                   客户点的服务时间

%输入:dist                距离矩阵,满足三角关系,暂用距离表示花费c[i][j]=dist[i][j]

%输出:flag                0表示违反约束,1表示满足全部约束

function [flag,c]=Judge(VC,cap,demands,a,b,L,s,dist,chesu,bl)

flag=1;                         %假设满足约束

NV=size(VC,1);                  %车辆使用数目

%% 计算每辆车的装载量    init_v

init_v=vehicle_load(VC,demands);

%% 计算每辆车配送路线上在各个点开始服务的时间,还计算返回集配中心时间

bsv=begin_s_v(VC,a,s,dist,chesu,bl);

%% 判断是否违背时间窗约束,0代表不违背,1代表违背(violate 为一个为只包含0和1 的矩阵,1代表违反)

[violate_INTW, c]=Judge_TW(VC,bsv,a,b,L);

%% 遍历每条路径,一旦有一条路径不满足约束,flag=0

for i=1:NV

find1=find(violate_INTW{i}==1,1,’first’);     %寻找该条路径违反时间窗约束的顾客位置

if init_v(i)>cap || ~isempty(find1)

flag=0;

break

end

end

end

⛄ 运行结果

⛄ 参考文献

[1] 周屹, 李海龙, 王锐. 遗传算法求解物流配送中带时间窗的VRP问题[J]. 吉林大学学报:理学版, 2008, 46(2):4.

[2] 阎庆, 邰蕾蕾. 用混合遗传算法解决有时间窗的车辆路径规划问题[J]. 安徽大学学报:自然科学版, 2007, 31(2):4.

[3] 周景欣. 遗传算法求解带时间窗的车辆路径问题[J]. 中国储运, 2023(1):2.

[4] 蒋波. 基于遗传算法的带时间窗车辆路径优化问题研究[D]. 北京交通大学, 2010.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料