CN114037380A - 一种取送货问题的车辆路径规划方法 - Google Patents

一种取送货问题的车辆路径规划方法 Download PDF

Info

Publication number
CN114037380A
CN114037380A CN202111321095.3A CN202111321095A CN114037380A CN 114037380 A CN114037380 A CN 114037380A CN 202111321095 A CN202111321095 A CN 202111321095A CN 114037380 A CN114037380 A CN 114037380A
Authority
CN
China
Prior art keywords
vehicle
point
constraint
goods
delivery
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202111321095.3A
Other languages
English (en)
Inventor
何舟
张瑞杰
马子玥
古婵
刘苗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaanxi University of Science and Technology
Original Assignee
Shaanxi University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shaanxi University of Science and Technology filed Critical Shaanxi University of Science and Technology
Priority to CN202111321095.3A priority Critical patent/CN114037380A/zh
Publication of CN114037380A publication Critical patent/CN114037380A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • G06Q10/08355Routing methods

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

一种取送货问题的车辆路径规划方法,首先根据待解决的带时间窗的取送货车辆路径问题,建立客户数据模型;然后计算车库、取货点及送货点中两两之间的距离,再建立带时间窗的取送货车辆路径问题的数学模型,然后基于取送货实际问题,建立带时间窗的取送货车辆路径问题的Petri网模型;再基于构建的Petri网模型,将数学模型转换为整数线性规划问题;然后在MATLAB中调用整数线性规划问题的相关程序进行求解和结果分析;本发明能够实现车库的车辆配送路线最优,同时使车辆的行驶总距离最短,较大程度地降低车辆运输成本,具有良好的应用前景。

Description

一种取送货问题的车辆路径规划方法
技术领域
本发明属于物流配送技术领域,具体涉及一种取送货问题的车辆路径规划方法。
背景技术
在经济发展的推动下,现代物流已经成为企业管理的重要组成部分,不仅是因为在企业总成本中物流成本所占比例较高,而且企业的服务水平受物流活动影响较大。优秀的物流服务能够直接影响客户对企业的忠诚度,因此,降低物流消耗成本,提高物流运行效率是提高企业竞争力的有效措施。
在物流配送领域,车辆路径问题(Vehicle Routing Problem,VRP)是物流管理和运输中的核心问题之一,其研究受到人们的广泛关注。其中,取送货问题是一个具有较多应用场景的实际问题,如:残疾人及老年人的接送问题、海运调度问题等。在现实中,汽车货运业采用多种运输形态提供物流服务,其中一种为点对点运输,即客户提供物流信息要求货运公司派车至指定点取货再送至另一指定点卸货,此类问题被称作取送货问题(Pickupand Delivery Problem,PDP)。同时,为了提供快速、正确、准时的服务,采用具有时间窗限制的取送货问题(Pickup and Delivery Problem With Time Windows,PDPTW)的研究愈加重要。
带时间窗限制的取送货问题属于NP难问题,其求解方法包括精确算法和启发式算法。精确算法常见的有动态规划算法、分支定界法等,它主要求解小规模的PDPTW。启发式算法包括模拟退火法、禁忌搜索法、遗传算法等,它需要设计者具备较强的专业知识并且专用性比较强;另外,启发式方法往往得不到最优解。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提出一种取送货问题的车辆路径规划方法,能够实现车库的车辆配送路线最优,同时使车辆的行驶总距离最短,较大程度的降低车辆运输成本,具有良好的应用前景。
为了达到上述目的,本发明采用如下技术方案:
一种取送货问题的车辆路径规划方法,包括以下步骤:
步骤一、建立客户数据模型:根据待解决的带时间窗的取送货车辆路径问题,建立客户数据模型;
步骤二、计算车库、取货点及送货点中两两之间的距离di,j,i≠j,同时假设两两之间的行驶时间均是单位1;
步骤三、建立带时间窗的取送货车辆路径问题的数学模型:根据实际的取送货订单需求,规划车库的车辆完成取送货任务,且客户订单的取货请求和送货请求都必须在一个时间窗内开始被服务;若车辆早于时间窗到达取货点或者送货点,则需要等到最早开始时间到临开始执行取送货任务;设计目标函数,目标函数是使车辆总的行驶距离最短;
步骤四、基于客户数据模型,建立带时间窗的取送货车辆路径问题的Petri网模型;
步骤五、基于步骤四的Petri网模型,将步骤三的数学模型转换为整数线性规划问题;
步骤六、在MATLAB中调用步骤五整数线性规划问题的相关程序并进行求解和结果分析。
所述的步骤四带时间窗的取送货车辆路径问题的Petri网模型如下:
a)车库i=0、取货点i+={1,...,n}、送货点i-={n+1,...,2n}及控制点i′={2n+1,...,3n}用集合P来表示,P={p0,p1,...,p3n}表示车库、取货点、送货点及控制点的库所集合,其中每个元素用pi(i=0,1,...,3n)来表示,i=0表示车库,i=1,2,...,n表示取货点;i=n+1,n+2,...,2n表示送货点,i=2n+1,...,3n表示控制点;
b)在Petri网中使用变迁ti,j来表示车辆从位置pi行驶到pj,用tj,i来表示车辆从位置pj行驶到pi;其中i,j=0,1,...,2n且i≠j;
c)基于每个取货点或送货点只能被一辆车访问且只能访问一次的原因,用h={1,2,...,H}表示车辆移动的步数,且车辆每增加一步就意味着车辆访问一个点;
d)车辆每一步所在位置,使用Petri网的标识M来表示;使用
Figure BDA0003345230000000031
Figure BDA0003345230000000032
表示车辆v在第h步时在各个点pi处的位置标记,即车辆v在第h步时所处的位置,其中v=1,2,...,V;h=1,2,...,H;i=0,1,...,3n;如果车辆v在第h步的位置是pi,那么
Figure BDA0003345230000000033
Figure BDA0003345230000000034
否则
Figure BDA0003345230000000035
e)在Petri网中,使用
Figure BDA0003345230000000041
Figure BDA0003345230000000042
Figure BDA0003345230000000043
分别表示库所与变迁的前置关联矩阵和后置关联矩阵;如果库所p的输出弧指向变迁t时,Pre(p,t)=1,否则Pre(p,t)=0;如果变迁t的输出弧指向库所p时,Post(p,t)=1,否则Post(p,t)=0;为了保证同一个订单先取货后送货,在Petri网中,通过在一个订单的取货点和送货点之间添加控制点来实现,即控制点表示的控制库所:p2n+1,...,p3n;这些控制库所、取货点对应的库所、送货点对应的库所以及变迁之间的连接关系为:如果Post(pi,t)=1,那么Post(p2n+i,t)=1,如果Post(pn+i,t)=1,那么Pre(p2n+i,t)=1,其中:i=1,...,n;
f)在Petri网中使用ci,j这个载货向量表示车辆从pi到pj行驶时,pj处的需求量rj;其中,i,j=0,1,...,2n且i≠j;
g)在Petri网中采用列向量θv,h,i,j=[θv,h,0,1,θv,h,1,0,...,θv,h,i,j,...,θv,h,2n,2n-1]T表示车辆v第h步的路径向量,其中:i,j=0,1,...,2n且i≠j;如果车辆v第h步是从位置pi到位置pj,那么θv,h,i,j=1,否则θv,h,i,j=0;
h)在Petri网中使用
Figure BDA0003345230000000044
来表示车辆v在第h步的时刻,并且初始时刻
Figure BDA0003345230000000045
所述的步骤五的整数线性规划问题模型如下:
目标函数为:
Figure BDA0003345230000000046
约束条件为:
约束条件1:
Figure BDA0003345230000000047
约束条件2:
Figure BDA0003345230000000051
约束条件3:1T×θv,h,i,j≤1
约束条件4:
Figure BDA0003345230000000052
约束条件5:
Figure BDA0003345230000000053
约束条件6:
Figure BDA0003345230000000054
约束条件7:
Figure BDA0003345230000000055
约束条件8:
Figure BDA0003345230000000056
Figure BDA0003345230000000057
约束条件9:
Figure BDA0003345230000000058
Figure BDA0003345230000000059
约束条件10:
Figure BDA00033452300000000510
约束条件11:
Figure BDA00033452300000000511
约束条件12:
Figure BDA00033452300000000512
约束条件13:
Figure BDA00033452300000000513
约束条件14:
Figure BDA00033452300000000514
约束条件15:
Figure BDA00033452300000000515
约束条件16:
Figure BDA00033452300000000516
约束条件17:i,j=0,1,...,2n且i≠j,h=1,2,...,H,v=1,2,...,V
其中,U是一个足够大的数;其它变量定义如下:
v是供调用的车辆的集合,v={1,2,...,V};
h是车辆的移动步数,H是车辆最多移动的步数,h={1,2,...,H};
i,j表示车库、取货点及送货点,i,j={0,1,...,2n};
Figure BDA0003345230000000061
表示库所和变迁的前置关联矩阵,如果库所p的输出弧指向变迁t时,Pre(p,t)=1,否则Pre(p,t)=0;
Figure BDA0003345230000000062
表示库所与变迁的后置关联矩阵,如果变迁t的输出弧指向库所p时,Post(p,t)=1,否则Post(p,t)=0;
θv,h,i,j=[θv,h,0,1,θv,h,1,0,...,θv,h,i,j,...,θv,h,2n,2n-1]T表示Petri网的路径向量;如果车辆v在第h步经点i出发去访问j点,则θv,h,i,j=1,否则θv,h,i,j=0;
Figure BDA0003345230000000063
是Petri网的位置标识,如果车辆v在第h步的位置是pi,那么
Figure BDA0003345230000000064
否则
Figure BDA0003345230000000065
di,j表示点i和点j之间的欧几里得距离;
Q是每辆车的最大载货量;
ci,j表示Petri网的载货向量,如果车辆从点i到点j,i,j=0,1,...,2n且i≠j,那么ci,j=rj
ei和li分别表示每个取货点、送货点及车库i处的最早服务时间和最晚服务时间;
Figure BDA0003345230000000066
表示车辆v第h步的服务时间;
Figure BDA0003345230000000067
表示车辆v第h步所处的时刻;
Figure BDA0003345230000000068
表示车辆v第h步提前到达取货点或送货点,车辆v第h-1步需要等待的时间。
本发明的有益效果为:
本发明结合了Petri网模型,将取送货车辆路径问题的数学模型转换为整数线性规划问题,利用MATLAB对该问题进行求解和结果分析,最终找到满足取送货订单要求的最优路径。本发明不仅能够快速找到车辆取送货路径的最优路线,同时获得总行驶距离最短的车辆路径,有效地降低了车辆运输成本,具有良好的应用前景。
附图说明
图1是本发明方法的流程框图。
图2是本发明实施例的车辆取送货路径示意图。
具体实施方式
以下结合实施例和附图对发明作进一步说明。
参照图1,一种取送货问题的车辆路径规划方法,包含以下步骤:
步骤一、建立客户数据模型:根据待解决的带时间窗车辆路径问题,建立客户数据模型;
已知车库最多用V辆型号和负载能力一样的车完成所有的取送货订单需求,且取送货结束后所有车辆应该返回车库,每个取货点、送货点只能被一辆车访问且只能被访问一次;一个订单需求涉及的取货点和送货点一一对应且先取货后送货;设置每辆车的最大载货量是Q、取货点的需求量是ri+,送货点的需求量是ri-,并且
Figure BDA0003345230000000071
若该取送货问题总共有n个订单需求要完成,车库用i=0表示、取货点用i+={1+,...,n+}={1,...,n}表示,送货点用i-={1-,...,n-}={n+1,...,2n}表示,若点1+或点1表示第一个订单的取货点,那么点1-或点n+1表示第一个订单的送货点,其它订单需求以此类推;令s=0∪i+∪i-,设置车库、取货点及送货点的坐标是(xs,ys),设置车库、取货点及送货点的时间窗为[es,ls],es和ls分别表示车辆到达车库、取货点及送货点的最早时间和最晚时间,车库的服务时间是0,每个取货点、送货点的服务时间均为单位1,并采用数据表的形式储存订单需求信息如下表所示;
Figure BDA0003345230000000081
步骤二、计算车库、取货点及送货点中两两之间的距离di,j,i≠j,同时假设两两之间的行驶时间均是单位1;
在计算车库、取货点及送货点中两两之间的距离di,j,i≠j;i,j∈s时,利用
Figure BDA0003345230000000082
求得任意两点之间的直线距离;任意两点之间的行驶时间采用单位1来计量;
步骤三、建立带时间窗的取送货车辆路径问题的数学模型:根据实际的取送货订单需求,规划车库的车辆完成取送货任务,且客户订单的取货请求和送货请求都必须在一个时间窗内开始被服务;若车辆早于时间窗到达取货点或者送货点,则需要等到最早开始时间到临开始执行取送货任务;设计目标函数,目标函数是使车辆总的行驶距离最短;
步骤三建立的带时间窗的取送货车辆路径问题的数学模型如下:
Figure BDA0003345230000000091
Figure BDA0003345230000000092
Figure BDA0003345230000000093
Figure BDA0003345230000000094
Figure BDA0003345230000000095
Figure BDA0003345230000000096
Figure BDA0003345230000000097
Figure BDA0003345230000000098
Figure BDA0003345230000000099
Figure BDA00033452300000000910
Figure BDA00033452300000000911
ei≤Tv,i≤li,i∈s;v=1,…,V (12)
Tv,0,0=0,v=1,…,V (13)
i,j∈s;s=0∪i+∪i-;v=1,2,…,V
其中:
Figure BDA0003345230000000101
在数学模型中各个公式的含义如下:
公式(1)是目标函数,表示车库所有车辆的行驶总距离最短;由于一个订单请求只能被一辆车处理,所以公式(2)约束每个取货点或送货点只能被一辆车访问;公式(3)约束每个取货点或送货点进入和出去的车辆数目是一样的;公式(4)和公式(5)保证从车库出发的车辆数目与最后返回车库的车辆数目相等;公式(6)能够实现一个订单的取货和送货操作由同一辆车完成的;公式(7)表示所有车辆在车库的载货量为0;而公式(8)表示车辆从一个点i运输至另一个点j后,点j的车辆载货量,其中:
Figure BDA0003345230000000102
表示车辆v到达点i后的载货量;公式(9)是每辆车的装载能力约束,即每辆车v在其取送货路线上的载货量不能超过它的最大载货量Q=100;公式(10)实现了同一个订单的取货时间早于送货时间,即:先取货后送货,其中:Tv,i表示车辆v到达取货点i的时间,
Figure BDA0003345230000000103
表示车辆v从取货点i到达它对应的送货点n+i需要的时间,Tv,n+i表示车辆v到达取货点i对应的送货点n+i的时间;公式(11)保证车辆在满足取货和送货的先后关系之后,车辆v在其对应路线上先访问点的时间早于后访问点的时间;公式(12)表示每辆车到达车库、取货点或送货点i的时刻始终在该点要求的时间窗内;公式(13)表示每辆车初始时刻均在车库;
步骤四、基于步骤一的客户数据模型,建立带时间窗的取送货车辆路径问题的Petri网模型;
带时间窗的取送货车辆路径问题的Petri网模型如下:
a)车库i=0、取货点i+={1,...,n}、送货点i-={n+1,...,2n}及控制点i′={2n+1,...,3n}用集合P来表示,P={p0,p1,...,p3n}表示车库、取货点、送货点及控制点的库所集合,其中每个元素用pi(i=0,1,...,3n)来表示,i=0表示车库,i=1,2,...,n表示取货点;i=n+1,n+2,...,2n表示送货点,i=2n+1,...,3n表示控制点;
b)在车库、取货点及送货点中,两两之间都可能存在运输路径,因此在Petri网中使用变迁ti,j来表示车辆从位置pi行驶到pj,用tj,i来表示车辆从位置pj行驶到pi;其中i,j=0,1,...,2n且i≠j;
c)基于每个取货点或送货点只能被一辆车访问且只能访问一次的原因,用h={1,2,...,H}表示车辆移动的步数,且车辆每增加一步就意味着车辆访问一个点(可以和前一步是同一个点,即表示车辆没有离开该取货点或送货点或仓库);
d)为明确车辆每一步所在位置,使用Petri网的标识M来表示;使用
Figure BDA0003345230000000111
表示车辆v在第h步时在各个点pi处的位置标记,即车辆v在第h步时所处的位置,其中v=1,2,...,V;h=1,2,...,H;i=0,1,...,3n;如果车辆v在第h步的位置是pi,那么
Figure BDA0003345230000000112
否则
Figure BDA0003345230000000113
e)在Petri网中,使用
Figure BDA0003345230000000114
Figure BDA0003345230000000115
Figure BDA0003345230000000116
分别表示库所与变迁的前置关联矩阵和后置关联矩阵;如果库所p的输出弧指向变迁t时,Pre(p,t)=1,否则Pre(p,t)=0;如果变迁t的输出弧指向库所p时,Post(p,t)=1,否则Post(p,t)=0;为了保证同一个订单先取货后送货,在Petri网中,通过在一个订单的取货点和送货点之间添加控制点来实现,即控制点表示的控制库所:p2n+1,...,p3n;这些控制库所、取货点对应的库所、送货点对应的库所以及变迁之间的连接关系为:如果Post(pi,t)=1,那么Post(p2n+i,t)=1,如果Post(pn+i,t)=1,那么Pre(p2n+i,t)=1,其中:i=1,...,n;
f)为了表示每个取货或送货位置pj处的需求量,在Petri网中使用ci,j这个载货向量表示车辆从pi到pj行驶时,pj处的需求量rj;其中,i,j=0,1,...,2n且i≠j;
g)为了表示车辆v第h步的运输路径,在Petri网中采用列向量θv,h,i,j=[θv,h,0,1,θv,h,1,0,...,θv,h,i,j,...,θv,h,2n,2n-1]T表示车辆v第h步的路径向量,其中:i,j=0,1,...,2n且i≠j;如果车辆v第h步是从位置pi到位置pj,那么θv,h,i,j=1,否则θv,h,i,j=0;
h)为了满足每个位置pi处的时间窗约束,在Petri网中使用
Figure BDA0003345230000000121
来表示车辆v在第h步的时刻,并且初始时刻
Figure BDA0003345230000000122
步骤五、基于步骤四的Petri网模型,将步骤三的数学模型转换为整数线性规划问题;具体方法如下:
公式(1)转换为:
Figure BDA0003345230000000123
公式(2)-(3)转换为:
Figure BDA0003345230000000124
公式(4)-(5)转换为:
Figure BDA0003345230000000125
公式(6)转换为:
Figure BDA0003345230000000131
公式(7)-(9)转换为:
Figure BDA0003345230000000132
公式(10)-(12)转换为:
Figure BDA0003345230000000133
Figure BDA0003345230000000134
Figure BDA0003345230000000135
Figure BDA0003345230000000136
Figure BDA0003345230000000137
Figure BDA0003345230000000138
Figure BDA0003345230000000139
公式(13)转换为:
Figure BDA00033452300000001310
所以,步骤五的整数线性规划问题模型如下:
目标函数为:
Figure BDA00033452300000001311
约束条件为:
约束条件1:
Figure BDA00033452300000001312
约束条件2:
Figure BDA00033452300000001313
约束条件3:1T×θv,h,i,j≤1
约束条件4:
Figure BDA00033452300000001314
约束条件5:
Figure BDA00033452300000001315
约束条件6:
Figure BDA0003345230000000141
约束条件7:
Figure BDA0003345230000000142
约束条件8:
Figure BDA0003345230000000143
Figure BDA0003345230000000144
约束条件9:
Figure BDA0003345230000000145
Figure BDA0003345230000000146
约束条件10:
Figure BDA0003345230000000147
约束条件11:
Figure BDA0003345230000000148
约束条件12:
Figure BDA0003345230000000149
约束条件13:
Figure BDA00033452300000001410
约束条件14:
Figure BDA00033452300000001411
约束条件15:
Figure BDA00033452300000001412
约束条件16:
Figure BDA00033452300000001413
约束条件17:i,j=0,1,...,2n且i≠j,h=1,2,...,H,v=1,2,...,V
其中,U是一个足够大的数;其它变量定义如下:
v是可供调用的车辆的集合,v={1,2,...,V};
h是车辆的移动步数,H是车辆最多移动的步数,h={1,2,...,H};
i,j表示车库、取货点及送货点,i,j={0,1,...,2n};
Figure BDA00033452300000001414
表示库所和变迁的前置关联矩阵,如果库所p的输出弧指向变迁t时,Pre(p,t)=1,否则Pre(p,t)=0;
Figure BDA00033452300000001415
表示库所与变迁的后置关联矩阵,如果变迁t的输出弧指向库所p时,Post(p,t)=1,否则Post(p,t)=0;
θv,h,i,j=[θv,h,0,1,θv,h,1,0,...,θv,h,i,j,...,θv,h,2n,2n-1]T表示Petri网的路径向量;如果车辆v在第h步经点i出发去访问j点,则θv,h,i,j=1,否则θv,h,i,j=0;
Figure BDA0003345230000000151
是Petri网的位置标识,如果车辆v在第h步的位置是pi,那么
Figure BDA0003345230000000152
否则
Figure BDA0003345230000000153
di,j表示点i和点j之间的欧几里得距离;
Q是每辆车的最大载货量;
ci,j表示Petri网的载货向量,如果车辆从点i到点j,i,j=0,1,...,2n且i≠j,那么ci,j=rj
ei和li分别表示每个取货点、送货点及车库i处的最早服务时间和最晚服务时间;
Figure BDA0003345230000000154
表示车辆v第h步的服务时间;
Figure BDA0003345230000000155
表示车辆v第h步所处的时刻;
Figure BDA0003345230000000156
表示车辆v第h步提前到达取货点或送货点,车辆v第h-1步需要等待的时间;
目标函数保证所有的车辆总的行驶距离最短;约束条件1表示了每一步的运输状态;约束条件2保证了每一步运输过程的正确性;约束条件3保证了车辆在每一步最多有一个变迁触发即车辆在每一步的行驶过程中最多只会前往一个地点完成取货或者送货任务;约束条件4表示一个订单取货和送货任务由同一辆车完成;约束条件5保证每辆车行驶过程中到达任意一点的载货量都不超过其最大载货量;约束条件6表示一个订单请求只能被一辆车处理且它涉及的取货点或送货点只能被访问一次;约束条件7表示从车库出发的车辆数目与最后返回车库的车辆数目相等;约束条件8和约束条件9保证了车辆v第h步到达取货点或送货点的时刻满足该点的时间窗要求;约束条件10和约束条件11保证了车库中被用于完成取送货任务的车辆v最后一步返回车库的时刻满足车库的时间窗要求;约束条件12表示车辆v第h步的时刻;约束条件13保证了所有车辆的初始时刻均是0;约束条件14、约束条件15及约束条件16解释了车库中的车辆是否被用于完成取送货任务,其中:zv∈{0,1},若zv=1,则车辆v被用于完成取送货任务,若zv=0,则车辆v不被使用;约束条件17中n=10,H=7,V=4;
步骤六、在MATLAB中调用步骤五整数线性规划问题的相关程序并进行求解和结果分析,具体包括以下步骤:
6.1)构建Petri网结构,包括控制库所、前置关联矩阵、后置关联矩阵以及关联矩阵,同时给每个变迁添加对应的需求量;
6.2)输入车库、取货点及送货点中两两之间的距离;
6.3)输入车辆的行驶路径、车辆的初始标识和最终标识等变量;
6.4)将整数线性规划问题的目标函数和约束条件转化为程序;
6.5)利用MATLAB求解程序并进行结果分析;
参照图2,本实施例中1个车库,10个取送货订单需求,利用MATLAB求解步骤六的程序后产生的车辆路径规划结果如下:
第1辆车的取送货路径为:0(车库)→1+(订单1的取货点)→1-(订单1的送货点)→2+(订单2的取货点)→2-(订单2的送货点)→0(车库);
第2辆车的取送货路径为:0(车库)→9+(订单9的取货点)→10+(订单10的取货点)→9-(订单9的送货点)→10-(订单10的送货点)→0(车库);
第3辆车的取送货路径为:0(车库)→7+(订单7的取货点)→8+(订单8的取货点)→7-(订单7的送货点)→8-(订单8的送货点)→6+(订单6的取货点)→6-(订单6的送货点)→0(车库);
第4辆车的取送货路径为:0(车库)→4+(订单4的取货点)→5+(订单5的取货点)→4-(订单4的送货点)→3+(订单3的取货点)→5-(订单5的送货点)→3-(订单3的送货点)→0(车库);
该结果满足算例的时间窗要求,如下表:
表1车库、取货点及送货点的时间窗
Figure BDA0003345230000000171
Figure BDA0003345230000000181
结果进一步分析如下:每个取货点、送货点只有一辆车对其访问,在车库中最少调用4辆车来完成取送货任务能够实现车辆行驶总距离最短,极大的节省了运输的成本;其中,每辆车完成取送货的过程中,在任意一个取送货点均未超过车辆的最大载货量,且车辆的行驶总距离实现最短266.4202km。
最后应说明的是:以上所述仅是本发明的最优实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰应视为本发明的保护范围。

Claims (3)

1.一种取送货问题的车辆路径规划方法,其特征在于,包括以下步骤:
步骤一、建立客户数据模型:根据待解决的带时间窗的取送货车辆路径问题,建立客户数据模型;
步骤二、计算车库、取货点及送货点中两两之间的距离di,j,i≠j,同时假设两两之间的行驶时间均是单位1;
步骤三、建立带时间窗的取送货车辆路径问题的数学模型:根据实际的取送货订单需求,规划车库的车辆完成取送货任务,且客户订单的取货请求和送货请求都必须在一个时间窗内开始被服务;若车辆早于时间窗到达取货点或者送货点,则需要等到最早开始时间到临开始执行取送货任务;设计目标函数,目标函数是使车辆总的行驶距离最短;
步骤四、基于客户数据模型,建立带时间窗的取送货车辆路径问题的Petri网模型;
步骤五、基于步骤四的Petri网模型,将步骤三的数学模型转换为整数线性规划问题;
步骤六、在MATLAB中调用步骤五整数线性规划问题的相关程序并进行求解和结果分析。
2.根据权利要求1所述的方法,其特征在于,所述的步骤四带时间窗的取送货车辆路径问题的Petri网模型如下:
a)车库i=0、取货点i+={1,...,n}、送货点i-={n+1,...,2n}及控制点i′={2n+1,...,3n}用集合P来表示,P={p0,p1,...,p3n}表示车库、取货点、送货点及控制点的库所集合,其中每个元素用pi(i=0,1,...,3n)来表示,i=0表示车库,i=1,2,...,n表示取货点;i=n+1,n+2,...,2n表示送货点,i=2n+1,...,3n表示控制点;
b)在Petri网中使用变迁ti,j来表示车辆从位置pi行驶到pj,用tj,i来表示车辆从位置pj行驶到pi;其中i,j=0,1,...,2n且i≠j;
c)基于每个取货点或送货点只能被一辆车访问且只能访问一次的原因,用h={1,2,...,H}表示车辆移动的步数,且车辆每增加一步就意味着车辆访问一个点;
d)车辆每一步所在位置,使用Petri网的标识M来表示;使用
Figure FDA0003345229990000021
Figure FDA0003345229990000022
表示车辆v在第h步时在各个点pi处的位置标记,即车辆v在第h步时所处的位置,其中v=1,2,...,V;h=1,2,...,H;i=0,1,...,3n;如果车辆v在第h步的位置是pi,那么
Figure FDA0003345229990000023
Figure FDA0003345229990000024
否则
Figure FDA0003345229990000025
e)在Petri网中,使用
Figure FDA0003345229990000026
Figure FDA0003345229990000027
Figure FDA0003345229990000028
分别表示库所与变迁的前置关联矩阵和后置关联矩阵;如果库所p的输出弧指向变迁t时,Pre(p,t)=1,否则Pre(p,t)=0;如果变迁t的输出弧指向库所p时,Post(p,t)=1,否则Post(p,t)=0;为了保证同一个订单先取货后送货,在Petri网中,通过在一个订单的取货点和送货点之间添加控制点来实现,即控制点表示的控制库所:p2n+1,...,p3n;这些控制库所、取货点对应的库所、送货点对应的库所以及变迁之间的连接关系为:如果Post(pi,t)=1,那么Post(p2n+i,t)=1,如果Post(pn+i,t)=1,那么Pre(p2n+i,t)=1,其中:i=1,...,n;
f)在Petri网中使用ci,j这个载货向量表示车辆从pi到pj行驶时,pj处的需求量rj;其中,i,j=0,1,...,2n且i≠j;
g)在Petri网中采用列向量θv,h,i,j=[θv,h,0,1,θv,h,1,0,...,θv,h,i,j,...,θv,h,2n,2n-1]T表示车辆v第h步的路径向量,其中:i,j=0,1,...,2n且i≠j;如果车辆v第h步是从位置pi到位置pj,那么θv,h,i,j=1,否则θv,h,i,j=0;
h)在Petri网中使用
Figure FDA0003345229990000031
来表示车辆v在第h步的时刻,并且初始时刻
Figure FDA0003345229990000032
3.根据权利要求2所述的方法,其特征在于,所述的步骤五的整数线性规划问题模型如下:
目标函数为:
Figure FDA0003345229990000033
约束条件为:
约束条件1:
Figure FDA0003345229990000034
约束条件2:
Figure FDA0003345229990000035
约束条件3:1T×θv,h,i,j≤1
约束条件4:
Figure FDA0003345229990000036
约束条件5:
Figure FDA0003345229990000037
约束条件6:
Figure FDA0003345229990000038
约束条件7:
Figure FDA0003345229990000039
约束条件8:
Figure FDA00033452299900000310
Figure FDA0003345229990000041
约束条件9:
Figure FDA0003345229990000042
Figure FDA0003345229990000043
约束条件10:
Figure FDA0003345229990000044
约束条件11:
Figure FDA0003345229990000045
约束条件12:
Figure FDA0003345229990000046
约束条件13:
Figure FDA0003345229990000047
约束条件14:
Figure FDA0003345229990000048
约束条件15:
Figure FDA0003345229990000049
约束条件16:
Figure FDA00033452299900000410
约束条件17:i,j=0,1,...,2n且i≠j,h=1,2,...,H,v=1,2,...,V
其中,U是一个足够大的数;其它变量定义如下:
v是供调用的车辆的集合,v={1,2,...,V};
h是车辆的移动步数,H是车辆最多移动的步数,h={1,2,...,H};
i,j表示车库、取货点及送货点,i,j={0,1,...,2n};
Figure FDA00033452299900000411
表示库所和变迁的前置关联矩阵,如果库所p的输出弧指向变迁t时,Pre(p,t)=1,否则Pre(p,t)=0;
Figure FDA00033452299900000412
表示库所与变迁的后置关联矩阵,如果变迁t的输出弧指向库所p时,Post(p,t)=1,否则Post(p,t)=0;
θv,h,i,j=[θv,h,0,1,θv,h,1,0,...,θv,h,i,j,...,θv,h,2n,2n-1]T表示Petri网的路径向量;如果车辆v在第h步经点i出发去访问j点,则θv,h,i,j=1,否则θv,h,i,j=0;
Figure FDA0003345229990000051
是Petri网的位置标识,如果车辆v在第h步的位置是pi,那么
Figure FDA0003345229990000052
否则
Figure FDA0003345229990000053
di,j表示点i和点j之间的欧几里得距离;
Q是每辆车的最大载货量;
ci,j表示Petri网的载货向量,如果车辆从点i到点j,i,j=0,1,...,2n且i≠j,那么ci,j=rj
ei和li分别表示每个取货点、送货点及车库i处的最早服务时间和最晚服务时间;
Figure FDA0003345229990000054
表示车辆v第h步的服务时间;
Figure FDA0003345229990000055
表示车辆v第h步所处的时刻;
Figure FDA0003345229990000056
表示车辆v第h步提前到达取货点或送货点,车辆v第h-1步需要等待的时间。
CN202111321095.3A 2021-11-09 2021-11-09 一种取送货问题的车辆路径规划方法 Withdrawn CN114037380A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111321095.3A CN114037380A (zh) 2021-11-09 2021-11-09 一种取送货问题的车辆路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111321095.3A CN114037380A (zh) 2021-11-09 2021-11-09 一种取送货问题的车辆路径规划方法

Publications (1)

Publication Number Publication Date
CN114037380A true CN114037380A (zh) 2022-02-11

Family

ID=80136884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111321095.3A Withdrawn CN114037380A (zh) 2021-11-09 2021-11-09 一种取送货问题的车辆路径规划方法

Country Status (1)

Country Link
CN (1) CN114037380A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115907266A (zh) * 2023-03-02 2023-04-04 杭州半云科技有限公司 基于客流出行特征的定制公交线路规划方法
CN117077869A (zh) * 2023-10-11 2023-11-17 鱼快创领智能科技(南京)有限公司 一种场景化的定制访问顺序的车辆分配及路线规划的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115907266A (zh) * 2023-03-02 2023-04-04 杭州半云科技有限公司 基于客流出行特征的定制公交线路规划方法
CN115907266B (zh) * 2023-03-02 2023-06-13 杭州半云科技有限公司 基于客流出行特征的定制公交线路规划方法
CN117077869A (zh) * 2023-10-11 2023-11-17 鱼快创领智能科技(南京)有限公司 一种场景化的定制访问顺序的车辆分配及路线规划的方法
CN117077869B (zh) * 2023-10-11 2023-12-19 鱼快创领智能科技(南京)有限公司 一种场景化的定制访问顺序的车辆分配及路线规划的方法

Similar Documents

Publication Publication Date Title
CN114037380A (zh) 一种取送货问题的车辆路径规划方法
WO2021135208A1 (zh) 考虑订单聚合度的配送路径规划方法与系统
CN111445186B (zh) 一种基于Petri网理论的带时间窗的车辆路径优化方法
Murakami Time-space network model and MILP formulation of the conflict-free routing problem of a capacitated AGV system
Wang et al. Towards delivery-as-a-service: Effective neighborhood search strategies for integrated delivery optimization of E-commerce and static O2O parcels
TW200945242A (en) Dynamically routing salvage shipments and associated method
CN107886196B (zh) 一种用于货物取送的单车调度方法
CN114237222B (zh) 一种基于强化学习的取送货车辆路径规划方法
CN111882215A (zh) 一种含有agv的个性化定制柔性作业车间调度方法
CN112132505B (zh) 机器人拣货方法和系统、机器人、服务器和可读存储介质
Hatzenbühler et al. Modular vehicle routing for combined passenger and freight transport
CN114415610A (zh) 机器人的调度方法、装置、电子设备及存储介质
CN112183974A (zh) 一种混凝土搅拌站信息化管理系统及其方法
CN111598324A (zh) 配载车线优化方法、装置、设备及存储介质
CN108985510B (zh) 基于人工智能的大规模智能物流路径判定系统
Yang et al. Research on design of cross-aisles shuttle-based storage/retrieval system based on improved particle swarm optimization
Hu et al. A dynamic integrated scheduling method based on hierarchical planning for heterogeneous AGV fleets in warehouses
CN115829451A (zh) 物流路径规划方法、装置、计算机设备和存储介质
JP4905137B2 (ja) 運搬ルート生成装置、及び運搬ルート生成方法
CN116523270A (zh) 一种物流运输任务自动调度方法、设备、服务器及介质
CN116679636A (zh) 一种物流搬运机器人任务调度系统及方法
CN108022070B (zh) 一种混合装卸车辆协同调度运输方法
Wang et al. DSS approach for sustainable system design of shuttle-based storage and retrieval systems
CN111178597B (zh) 拼车订单线路生成方法及装置
CN114707820A (zh) 货物运输方法、装置、终端设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20220211

WW01 Invention patent application withdrawn after publication