【技术实现步骤摘要】
一种考虑二次配送和平衡用时的多车型车辆路径规划方法
本专利技术涉及SPFA算法、维诺图、节约路径算法、基于参考点的相邻插入路径算法等相关领域,是一种考虑二次配送和平衡用时的多车型车辆路径规划方法。
技术介绍
现代物流作为“第三个利润源泉”,逐渐成为国民经济实现稳定高起点发展的“源头活水”。原有的物流背景下,配送员大多依靠自身经验对客户点的配送顺序进行分配。如今,在物流配送中心信息化的加持下,算法的配送路线优化大大提高了物流配送效率。然而,理论算法对物流配送的优化仍然潜力巨大。在实际情况下,当路线包含的客户点均离配送中心较近,可能会造成“配送员完成配送任务并回到配送中心后,其实际工作时间偏少”的情况,若配送员就此下班,会造成时间利用不充分,对物流公司是一种损失,对此可安排配送员再次出发进行当日的二次配送任务。不同配送员间工作时长的均衡性,代表了工作量分配的合理性、公平性,也是重要的考虑要素。国内外针对车辆路径问题,最早是由Dantzig等于1959年提出概念并用于解决从大型码头向各服务站运输汽油的路径规划问题。之后VR ...
【技术保护点】
1.一种考虑二次配送和平衡用时的多车型车辆路径规划方法,其特征在于,所述方法包括以下步骤:/n1)读取数据;/n2)根据数据判断客户间距离与时间矩阵是否完整,若完整,直接跳转至步骤3);若不完整,则使用SPFA最短路径算法完善距离与时间矩阵;/n3)借鉴了两阶段方法,利用维诺图的一阶邻近特性对客户点进行初始化集群;/n4)分别按照用时限制、多车型、二次配送、用时平衡的顺序,利用“借进借出”思想针对配送限制条件对不同线路的客户点进行再分配,在此期间,使用3-opt[]、or-opt[]算子对路线内的配送顺序进行优化;/n5)根据客户点分布与配送中心距离按照升序的顺序选择线路, ...
【技术特征摘要】
1.一种考虑二次配送和平衡用时的多车型车辆路径规划方法,其特征在于,所述方法包括以下步骤:
1)读取数据;
2)根据数据判断客户间距离与时间矩阵是否完整,若完整,直接跳转至步骤3);若不完整,则使用SPFA最短路径算法完善距离与时间矩阵;
3)借鉴了两阶段方法,利用维诺图的一阶邻近特性对客户点进行初始化集群;
4)分别按照用时限制、多车型、二次配送、用时平衡的顺序,利用“借进借出”思想针对配送限制条件对不同线路的客户点进行再分配,在此期间,使用3-opt[]、or-opt[]算子对路线内的配送顺序进行优化;
5)根据客户点分布与配送中心距离按照升序的顺序选择线路,并对其进行“瓜分”,将其包含客户点分配给其他线路作为二次配送的配送任务;
6)最后,针对平衡用时的进行计算,尽量最小化使用车辆的最大工时差。
2.如权利要求1所述的一种考虑二次配送和平衡用时的多车型车辆路径规划方法,其特征在于,所述步骤1)中,将G=(V,E)作为配送网络,其中V为节点集,V={0,1,2,3,…,n},0表示配送中心,其余表示客户点;E为配送中心与客户点间距离时间矩阵的合集,E={(i,j)|i,j∈V,i≠j};ti,j为货车从点i到点j所需的时间;qi为客户点i的需求量;xi、yi分别表示客户点i的经纬度;K为不同车型的集合,K={1,2,...,m},lwk、ck、pk、uk分别表示编号为k的货车车型的最大载货量、出行成本、提供车辆数、当前已使用车辆数,其中k∈K;Truck为实际使用货车的集合,Truck={1,2,...,p},carTypeNo表示编号为No的货车在K中的车型编号,Line1No、Line2No为有序数组,分别表示编号为No的货车一次配送和二次配送的途经点顺序,若数组不为空,其长度不小于2,且起始点与末尾点均为配送中心0,t1No、.w1No.分别表示编号为No的货车一次配送路线的用时与载货量,t2No、w2No类同,其中No∈Truck;Ts为每辆货车每日限定的工作时间;B为可以接受的货车间最大工作时间差;
至此,考虑物流配送问题的数学模型如下:
TNo=mint1No+mint2No<Ts,No∈Truck(2)
max(Ti)-min(Tj)≤B,i,j∈Line(3)
w1No,w2No<lwk,No∈Truck,k=carTypeNo(4)
式(1)至式(4)为基于限制条件的目标函数,式(1)中C表示运输所需车辆的成本之和最小;式(2)表示每辆货车在一次、二次配送对客户的配送顺序最优,从而使每条路线的用时最短,TNo为一次、二次配送的路线用时之和,其小于规定工作时间;式(3)体现用时平衡,表示货车工作用时最长与最短之差满足规定可接受的最大用时平衡差;式(4)表示货车在进行每次配送任务时均不超载;
式(5)和式(6)分别表示货车每次执行配送任务时,首先从配送中心出发,途经客户点,完成配送后回到配送中心的所需时间,当货车无需二次配送,用时为0;式(7)和式(8)分别表示货车每次配送任务的载货量为路线途经客户的需求量之和,当货车无需二次配送,载货量为0。
3.如权利要求1或2所述的一种考虑二次配送和平衡用时的多车型车辆路径规划方法,其特征在于,所述步骤3)中,使用基于维诺邻近创建初始解的方案,将整体的车辆路径问题转化为小部分的旅行商问题,减小算法的复杂度,配送问题包含了“多车型”的条件,车辆的最大载货量不唯一,这使得初始解各个集群的需求量之和在与参照容量进行比对时产生了歧义,步骤如下:
3.1)创建节点集V的维诺图,填充客户点的一阶维诺图邻近列表,其中配送中心不包括在内;
3.2)创建队列R,将所有的维诺图一阶邻近节点对压入R中,这时每个客户点单独算作一个类;
3.3)将R中的客户点对i~j按照时间矩阵中的ti,j进行升序排序;
3.4)根据车型数据集K提供不同车型的最大载货量、提供车辆数,算得提供车辆的平均最大载货量wavg,其满足等式
3.5)取出R中位于队列头部的客户点对i-j,若i,j已在同一类中,不进行操作;否则,判断i,j所在类是否进行合并:将客户i所在类视为Vi,同理,得到Vj,将类Vi的货物总需求量视为Qi,同理,得到Qj,若Qi+Qj≤wavg,合并类Vi,Vj;否则,不进行聚类操作;
3.6)反复执行步骤3.5),直到列表R为空;得到初始集群划分Line1={Line11,Line12,…,Line1p}和货车集合Truck={1,2,...,p},此时并未确定货车车型。
4.如权利要求2所述的一种考虑二次配送和平衡用时的多车型车辆路径规划方法,其特征在于,所述步骤4)中,使用节约算法、基于参考点的相邻插入法得到两个初始解,之后使用3-opt和or-opt局部搜索算子分别对两个初始解进行单条路径的配送顺序优化,优化过程如下:
4.1)创建优化失败次数F,并将其初始化为0;
4.2)得到该路线的客户数量n,根据不同的数量n得到适合的优化失败限制次数FL;
4.3)F=F+1,根据式(5)算得优化前的用时tpre,利用Random函数得到值为0或1的随机数,当值为0,对线路进行3-opt算法优化;当值为1,对线路进行or-opt算法优化,根据式(5)求得优化后的用时tafter,当tafter<tpre,则视为优化成功,F重置为0,更新路线;否则,不更新路线;
4.4)反复执行步骤4.3),直至F>FL,返回优化线路,优化过程结束。
5.如权利要求3所述的一种考虑二次配送和平衡用时的多车型车辆路径规划方法,其特征在于,所述步骤4)中,对两个初始解分别进行线路优化过程后,得到两个优化解与各自解的用时tsaving、tinsert,取用时更少的解作为之后的操作线路Line1No,另一解丢弃之;
对路线内配送顺序的优化结束后,创建堆A,在A中添加每个优化后的路线,用以表示“未定型”的线路;之后进入循环操作,直至A为空时跳出;在循环体中,先对A进行遍历,求得A中每条线路的用时t1No、路线中客户中点坐标(cen1XNo,cen1YNo)、路线包含的客户点与配送中心的平均距离disAvgNo,其中
取disavg最大,即客户点分布最远的路线Line1far,并针对此路线,使用“借进借出”思想对客户点进行再分配,分配完成后,去除A中本条线路的编...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。