etwvrp基于matlab遗传算法求解带时间窗多电动车充电路径规划问题含matlab源码1966期(代码片段)

海神之光 海神之光     2023-03-14     563

关键词:

一、城市配送系统简介

城市配送系统(city delivery system,CDS)的发展是一个城市提高其公共运输能力的关键。目前国内外许多学者对CDS系统进行了深入研究。其中,车辆路径优化问题是城市配送系统中的重要环节,通过对车辆行驶路径的优化管理可以有效地降低城市配送成本,同时可以提高城市交通效率,节省公共资源,无论对企业还是对社会,都具有重要的意义。本文针CDS的车辆路径规划问题,采用遗传算法(genetic algorithm,GA)作为优化方法,提出一种配送车辆路径规划的设计方案,以实现车辆路径选取的最优决策。

1 配送车辆路径规划
1.1 城市配送系统

城市配送系统的功能构架如图1所示。城市配送系统是联系供应商、信息中心、仓库和消费者之间的重要纽带。

城市配送系统的主要构成如图2所示,其中城市配送网络子系统负责监管城市交通信息,城市配送运营调度系统负责对配送车辆进行调度,城市配送监管系统负责对配送车辆的任务执行情况进行监督管理和实时纠错,城市配送信息处理系统负责对相关信息进行实时分析和处理。GDS系统中较为关键的问题是在上述职能范围内,如何构建一个最优运行框架来实现最优化的配送效益。

图1 配送系统功能构架

图2 城市配送系统的组成

1.2 车辆路径优化的意义
车辆路径规划(vehicle routing problem,VRP)自从1959年被Dantzig和Ramse提出的之后,迅速引起各领域工程师和管理学者的极大重视,成为工程管理领域的重点和热点问题。

VRP问题是城市配送系统的主要优化问题之一,在城市配送系统中具有重要的意义。从企业运作和社会环保、节能的角度而言,VRP研究的研究意义具体可以概括为以下方面:

  1. 通过对配送路线的合理优化,可以有效提高配送效率,从而缩短配送时间,提高服务质量和客户满意度;
  2. 通过对配送路线的合理优化,可以有效地降低运输成本,节省资金;
  3. 有通过对配送路线的合理优化,可以有效降低车辆占用公路的时间,从而可以缓解交通,减少噪声、尾气排放等运输污染。

2 VRP问题的数学描述
为了便于研究VRP问题的优化策略,首先对VRP问题进行数学描述。假设配送中心和仓库的地理位置均为固定且已知,则仓库与配送中心以及仓库间的位置信息可以由路径距离矩阵描述为

VRP可行解可以描述为一系列行驶路径的决策的集合,即

其中,ki表示第i条路段决策结果。
VRP优化目标由成本最小化来描述,即运输过程中所产生的固定成本和运输费用,如式(3)所示。

其中:TV为配送车辆在运输过程中的总成本;Ns为运输途中的固定费用;ξ(ki)为在第ki路段上的花费,正比于ki路段的行驶里程,计算式为

其中: d(·)为距离运算符;Ks为单位里程所需的费用;AK为仓库节点标号。
考虑到在实际配送过程中有许多的条件限制,因此在目标函数上施加一定的约束条件,主要包括:车辆配送过程中所携带的货物量存在上限,且车辆完成配送任务之后须返回出发点以备下次配送任务。

其中 :Qmax为配送车辆承重上限;q(·) 为载运重量计算符;u为平均车速;T 为配送任务所要求的最大时间限度。

3 VRP问题的遗传算法优化
结合上述模型,基于遗传算法来解决所提出的VRP问题,基本参数设定为:种群M为20,最大代数G为100,交叉概率Pc为0.8,变异概率Pm为 0.1,首先对VRP问题的可行解进行编码并生产初始种群,整个算法实施步骤如图3所示。根据目标函数设计适配度,终止条件设计为:

  1. 当最优解连续5代不发生变化;
  2. 当迭代步数超过300步。
    对于初始种群根据数学模型的输入条件,进行适配度计算并根据适配度计算结果进行种群选择操作。

3.1 编码规则
根据VRP问题的特点,本文采用浮点数编码方案,首先将各个仓库的节点数转换为相对应的随机浮点数,同时将送货中心(即配送过程的起点)作为第一个浮点数,考虑到编程的方便,将送货中心同时作为终点放入到最后一个浮点数,计算式为

其中:s0为生产中心所对应的浮点数;s1~sn为n个仓库所对应的浮点数。
越小的浮点数对应有越高的优先级,例如对于染色体
S: 0.01 0.35 0.38 0.65 0.81 0.25 0.99
A0 A1 A2 A3 A4 A5 A0
其对应的表现型为
K:A0→A5→A2→A3→A4→A5→A0
起点s0至为0.01,终点sn+1置为0.99,起点与终点参与编程,但不参与到选择、交叉与变异。

图3 基于遗传算法的算法流程

3.2 适配度函数
根据上述编码规则,对每一个可行解都可以计算出整个配送过程中的行驶路线,将行驶总距离作为适配度函数

其中χs表示第s个可行解的适配度。

3.3 遗传算子设计
在上述基础上对遗传算法进行选择算子、交叉算子和变异算子的设计。

  1. 选择算子
    对种群中的20个可行解根据适配度值来选择排序靠前的10个染色体作为选择结果,放入后代中继续后续操作。
  2. 交叉算子
    对于选定的两个父代个体,随机选择一个交叉位置,将其中一个父代中的前t个基因作为子代个体的前t个基因,同时将第2个父辈染色体X2的后n-t个基因取出作为子代的后n-t个基因,如图4所示。

    图4 交叉操作示意图
  3. 变异算子
    首选按照变异概率来决定发生变异的位,然后变异操作采用取逆算子

二、部分源代码

clear
clc
close all
tic
%% 用importdata这个函数来读取文件
load('c101');
shuju=c101;
bl=0;
cap=6;                                                        %车辆最大装载量
%% 提取数据信息
%% 遗传算法参数设置
alpha=100000;                                                       %违反的容量约束的惩罚函数系数
belta=15;%违反时间窗约束的惩罚函数系数
belta2=10;%违反系数
chesu=50;
NIND=300;                                                       %种群大小
MAXGEN=500;                                                     %迭代次数
Pc=0.9;                                                         %交叉概率
Pm=0.05;                                                        %变异概率
GGAP=0.9;                                                       %代沟(Generation gap)
N=cusnum+v_num-1;                                %染色体长度=顾客数目+车辆最多使用数目-1
%% 初始化种群
Chrom=InitPopCW(NIND,N,cusnum,a,demands,cap);     %构造初始解
%% 输出随机解的路线和总距离
disp('初始种群中的一个随机值:')
[VC,NV,TD,VCC,GS]=decode(Chrom(1,:),cusnum,cap,demands,a,b,L,s,dist,chesu,bl);
disp(['车辆使用数目:',num2str(NV),',车辆行驶总距离:',num2str(TD)]);
disp('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
%% 优化
gen=1;
figure;
hold on;box on
xlim([0,MAXGEN])
title('优化过程')
xlabel('代数')
ylabel('最优值')
ObjV=calObj(Chrom,cusnum,cap,demands,a,b,L,s,dist,alpha,belta,belta2,chesu,bl);             %计算种群目标函数值
preObjV=min(ObjV);
while gen<=MAXGEN
    %% 计算适应度
    ObjV=calObj(Chrom,cusnum,cap,demands,a,b,L,s,dist,alpha,belta,belta2,chesu,bl);             %计算种群目标函数值
    line([gen-1,gen],[preObjV,min(ObjV)]);pause(0.0001)%画图 最优函数
    preObjV=min(ObjV);
    FitnV=Fitness(ObjV);
    %% 选择
    SelCh=Select(Chrom,FitnV,GGAP);
    %% OX交叉操作
    SelCh=Recombin(SelCh,Pc,v_num);
    %% 变异
    SelCh=Mutate(SelCh,Pm);
    %% 重插入子代的新种群
    Chrom=Reins(Chrom,SelCh,ObjV);
    %% 打印当前最优解
    ObjV=calObj(Chrom,cusnum,cap,demands,a,b,L,s,dist,alpha,belta,belta2,chesu,bl);             %计算种群目标函数值
    [minObjV,minInd]=min(ObjV);
    disp(['第',num2str(gen),'代最优解:'])
    [bestVC,bestNV,bestTD,bestVCC,bestGS]=decode(Chrom(minInd(1),:),cusnum,cap,demands,a,b,L,s,dist,chesu,bl);
    disp(['车辆使用数目:',num2str(bestNV),',车辆行驶总距离:',num2str(bestTD)]);
    fprintf('\\n')
    %% 更新迭代次数
    gen=gen+1 ;
end

%% 适配值函数     
%输入:
%个体的长度
%输出:
%个体的适应度值
function FitnV=Fitness(len)
FitnV=1./len;

三、运行结果


四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]郭秀红.基于遗传算法的配送车辆路径规划[J].四川兵工学报. 2013,34(01)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

twvrp基于matlab遗传和模拟退火算法求解带时间窗的取送货问题含matlab源码1139期(代码片段)

一、简介1遗传算法概述遗传算法(GeneticAlgorithm,GA)是进化计算的一部分,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。该算法简单、通... 查看详情

毕设题目:matlab智能算法vrp(车辆路径规划)

...成本。2现成案例(代码+参考文献)1.【CVRP】基于matlab节约算法求解带容量的车辆路径规划问题【含Matalb源码157期】2.【CVRP】基于matlab模拟退火算法求解带容量的车辆路径规划问题【含Matlab源码159期】3.【CVRP】基于matla... 查看详情

twvrp基于matlab遗传算法求解带时间窗的含充电站的vrp问题含matlab源码1177期(代码片段)

一、简介1遗传算法概述遗传算法(GeneticAlgorithm,GA)是进化计算的一部分,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。该算法简单、通... 查看详情

配送路径规划基于matlab遗传算法求解带时间窗+带车辆速度的配送车辆路径规划问题含matlab源码256期(代码片段)

一、城市配送系统简介城市配送系统(citydeliverysystem,CDS)的发展是一个城市提高其公共运输能力的关键。目前国内外许多学者对CDS系统进行了深入研究。其中,车辆路径优化问题是城市配送系统中的重要环节,通过对车辆行驶路径的... 查看详情

配送路径规划基于matlab遗传算法求解带时间窗+带车辆速度的配送车辆路径规划问题含matlab源码256期(代码片段)

一、城市配送系统简介城市配送系统(citydeliverysystem,CDS)的发展是一个城市提高其公共运输能力的关键。目前国内外许多学者对CDS系统进行了深入研究。其中,车辆路径优化问题是城市配送系统中的重要环节,通过对车辆行驶路径的... 查看详情

dctwvrp基于matlab遗传算法求解带容量+距离+时间窗的vrp问题含matlab源码1211期

一、VRP简介1VRP基本原理车辆路径规划问题(VehicleRoutingProblem,VRP)是运筹学里重要的研究问题之一。VRP关注有一个供货商与K个销售点的路径规划的情况,可以简述为:对一系列发货点和收货点,组织调用一定的车辆,安排适当的... 查看详情

配送路径规划基于matlab遗传算法求解带时间窗的配送车辆路径规划问题含matlab源码604期(代码片段)

一、城市配送系统简介城市配送系统(citydeliverysystem,CDS)的发展是一个城市提高其公共运输能力的关键。目前国内外许多学者对CDS系统进行了深入研究。其中,车辆路径优化问题是城市配送系统中的重要环节,通过对车辆行驶路径的... 查看详情

cvrp基于matlab遗传算法求解带容量的车辆路径规划问题含matlab源码1280期

一、VRP简介1VRP基本原理车辆路径规划问题(VehicleRoutingProblem,VRP)是运筹学里重要的研究问题之一。VRP关注有一个供货商与K个销售点的路径规划的情况,可以简述为:对一系列发货点和收货点,组织调用一定的车辆,安排适当的... 查看详情

twvrp基于matlab遗传算法求解带时间窗的外卖配送车辆路径规划问题含matlab源码1416期

一、VRP简介1VRP基本原理车辆路径规划问题(VehicleRoutingProblem,VRP)是运筹学里重要的研究问题之一。VRP关注有一个供货商与K个销售点的路径规划的情况,可以简述为:对一系列发货点和收货点,组织调用一定的车辆,安排适当的... 查看详情

twvrp基于matlab遗传算法求解带时间窗的载重约束外卖配送车辆路径规划问题含matlab源码1417期

一、VRP简介1VRP基本原理车辆路径规划问题(VehicleRoutingProblem,VRP)是运筹学里重要的研究问题之一。VRP关注有一个供货商与K个销售点的路径规划的情况,可以简述为:对一系列发货点和收货点,组织调用一定的车辆,安排适当的... 查看详情

twvrp基于matlab遗传算法求解带时间窗且车辆速度车辆路径规划问题含matlab源码2094期(代码片段)

一、VRP简介1VRP基本原理车辆路径规划问题(VehicleRoutingProblem,VRP)是运筹学里重要的研究问题之一。VRP关注有一个供货商与K个销售点的路径规划的情况,可以简述为:对一系列发货点和收货点,组织调用一定的车辆... 查看详情

twvrp基于matlab遗传算法求解带时间窗且车辆速度车辆路径规划问题含matlab源码2094期(代码片段)

一、VRP简介1VRP基本原理车辆路径规划问题(VehicleRoutingProblem,VRP)是运筹学里重要的研究问题之一。VRP关注有一个供货商与K个销售点的路径规划的情况,可以简述为:对一系列发货点和收货点,组织调用一定的车辆... 查看详情

mdvrp基于matlab遗传算法求解带距离的多车场vrp问题(含单线路局部优化)含matlab源码1170期(代码片段)

一、简介1遗传算法概述遗传算法(GeneticAlgorithm,GA)是进化计算的一部分,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。该算法简单、通... 查看详情

优化求解基于matlab遗传算法求解道路流量优化问题含matlab源码1480期

一、遗传算法简介1引言2遗传算法理论2.1遗传算法的生物学基础2.2遗传算法的理论基础 查看详情

优化求解基于matlab遗传算法求解道路流量优化问题含matlab源码1480期

一、遗传算法简介1引言2遗传算法理论2.1遗传算法的生物学基础2.2遗传算法的理论基础 查看详情

优化求解基于matlab遗传算法求解函数极值问题含matlab源码1198期

一、简介1引言2遗传算法理论2.1遗传算法的生物学基础2.2遗传算法的理论基础 查看详情

优化求解基于matlab遗传算法求解列车交路方案优化问题含matlab源码1361期

一、遗传算法简介1引言2遗传算法理论2.1遗传算法的生物学基础2.2遗传算法的理论基础 查看详情

优化求解基于matlab遗传算法求解列车交路方案优化问题含matlab源码1361期

一、遗传算法简介1引言2遗传算法理论2.1遗传算法的生物学基础2.2遗传算法的理论基础 查看详情