CN111815076B - 一种物流配送路径的优化方法、存储介质和计算机设备 - Google Patents
一种物流配送路径的优化方法、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN111815076B CN111815076B CN202010892001.7A CN202010892001A CN111815076B CN 111815076 B CN111815076 B CN 111815076B CN 202010892001 A CN202010892001 A CN 202010892001A CN 111815076 B CN111815076 B CN 111815076B
- Authority
- CN
- China
- Prior art keywords
- loading
- delivery
- point
- distance
- maximum
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0835—Relationships between shipper or supplier and carriers
- G06Q10/08355—Routing methods
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种物流配送路径的优化方法、存储介质和计算机设备,涉及物流分配技术领域。本发明是基于TMS***使用的,在TMS***的运单池中筛选出运单数据,将运单数据中的发货地经纬度坐标点和配送目的地的经纬度坐标点反应在地图上,计算配送目的地与发货地之间的距离,并找出距离最大的配送目的地,计算其他配送目的地与最远距离配送目的地之间的距离,以最远距离配送目的地为圆心,R为半径画圆,落入到该圆内的其他配送目的地均可加入到配送车次中,根据加入的配送目的地获得装载量以确定配送车型。本发明是通过计算机按照设定规则,对车辆路径调度进行合理规划,可以提高调度合理性,合理规划配送路径,可降低运输成本。
Description
技术领域
本发明涉及物流分配技术领域,更具体地说涉及一种物流配送路径的优化方法、存储介质和计算机设备。
背景技术
物流配送车辆路径优化问题最早是由线性规划之父Dantzig 和Ramser在1959 年提出,该问题是交通运输管理、智能救灾调度指挥***、网络作业调度管理***、现代物流***、物流网等应用、研究领域中的基本问题之一,也是最重要的调度问题之一。
配送车辆调度问题要解决的问题是车辆从配送中心(这里的配送中心是个广义概念,指的是车辆的出发地,包括物流中心、配送中心、仓库、车场等) 出发去完成一些配送任务,当各任务量较小(小于车辆容量)时,为了提高车辆的利用率,可安排一辆车执行几项运输任务。这时,如何安排车辆的路线,使得既满足各任务的需求并完成任务,而又使总成本最小(这里的总成本指的是一个广义概念,包括时间最少、运营费用最少等)涉及的就是配送车辆路径优化问题。
物流配送路径中的车辆调度问题(VRP)是一个典型的组合优化问题,且已被证明是一个NP难问题,很难用精确算法对该问题在有限时间内求解。一般常用的算法有最短路径(Dijkstra)算法和最佳优先搜索(BFS),但是这两种算法都存在一定的缺点,Dijkstra是典型的单源最短路径算法,遇到障碍需要绕路是运行较慢,执行效率方面还需要改进,BFS算法遇到障碍时无法避开而选择一条很长的路径,无法做到路径的最优化选择,仍然存在线路规划不合理导致的配送时效差、运输成本高的问题。
发明内容
为了克服上述现有技术中存在的缺陷和不足,本发明提供了一种物流配送路径的优化方法,本发明的发明目的在于解决上述现有技术中物流车辆调度时间长、调度难度大、车辆装载不合理、线路规划不合理导致的配送时效差、运输成本高的问题。本发明的物流配送路径的优化方法是基于TMS***使用的,在TMS***的运单池中筛选出需要作业的运单数据,将运单数据中的发货地经纬度坐标点和配送目的地的经纬度坐标点反应在地图上,以发货地为标准,与该发货地对应的配送目的地组成一配送网络,计算该配送网络下,配送目的地与发货地之间的距离,并找出距离最大的配送目的地,计算其他配送目的地与最远距离配送目的地之间的距离,以及其他配送目的地与发货地之间的距离,以最远距离配送目的地为圆心,R为半径画圆,落入到该圆内的其他配送目的地均可加入到配送车次中,根据加入的配送目的地获得装载值以确定配送车型。本发明是通过计算机按照设定规则,对车辆路径调度进行合理规划,可以提高调度合理性,合理规划配送路径,可降低运输成本。
为了解决上述现有技术中存在的问题,本发明是通过下述技术方案实现的:
一种物流配送路径的优化方法,包括以下步骤:
S1、根据TMS***中记录的结单日期,在TMS***的运单池中筛选出需要作业的运单数据;将筛选出的运单数据根据发货地进行归类,将相同发货地的运单数据中的配送目的地的经纬度坐标和与之对应的发货地经纬度坐标归为一个发货地集合;
S2、计算发货地集合中各配送目的地与发货地之间的直线距离,并将计算出的直线距离形成一个直线距离集合;找出直线距离集合中距离最大的配送目的地的坐标,并计算该距离最大的配送目的地与发货地集合中其他配送目的地之间的距离,计算其他配送目的地坐标到发货地与最大配送目的地之间形成的直线的垂直距离,按照垂直距离由近到远进行排序,生成配送目的地距离集合;
S3、将配送目的地距离集合中的配送目的地坐标遍历并调用地图规则,获取到各配送目的地与距离最大配送目的地之间在地图上反映的实际距离,将该实际距离与理论最大值*偏差系数进行对比;若该实际距离小于或等于理论最大值*偏差系数,则将该实际距离对应的配送目的地坐标加载到待排线点位集合中;若大于理论最大值*偏差系数,则将该配送目的地坐标保留在配送目的地距离集合中;
S4、遍历待排线点位集合,将待排线点位集合中对应的配送目的地坐标点逐个加入到里程排线点位集合,每将待排线点位集合中的配送目的地坐标点加入到里程排线点位集合时,均需要判断加入之后,里程排线点位集合中各配送目的地实际距离之和是否大于TMS***中配置的总距离;若加入后的里程排线点位集合的实际距离之和大于TMS***中配置的总距离,则该配送目的地坐标跳出循环;若加入后的里程排线点位集合的实际距离之和不大于TMS***中配置的总距离,则判断波次比例,若超出比例则循环遍历待排线点位集合,若未超出波次比例,则生成里程排线点位集合,并将里程排线点位集合中的配送目的地坐标从待排线点位集合移除;
S5、根据现有运力车辆中的装载值计算出最大装载值和最小装载值;例如:车型A的装载体积为15m³,额定载重是2t,车型B的装载体积为7m³,额定载重是1t,那么最大装载值为(15m³、2t),最小装载值为(7m³,1t);
S6、将里程排线点位集合的实际总装载值与TMS***中车型的最大装载值和最小装载值进行对比;若里程排线点位集合的实际总装载值位于TMS***中车型的最大装载值和最小装载值之间,则直接匹配车型,创建排线数据;
S7、若里程排线点位集合的实际总装载值大于TMS***中车型的最大装载值,则遍历里程排线点位集合,按照配送目的地的装载值从小到大逐个移出里程排线点位集合;从里程排线点位集合中每移除一个点位,则计算剩余点位的装载率和波次比是否满足设定条件,若不满足则继续移除,若满足则将移除的点位放置在待排线点位集合中,按照里程排线点位集合剩余的点位计算装载值,匹配车型,创建排线数据;
S8、若里程排线点位集合的实际总装载值小于TMS***中车型的最小装载值,则遍历待排线点位集合,从将待排线点位集合中的点位逐个加入到里程排线点位集合中,每加入一个点位到里程排线点位集合中,计算加入点位后里程排线点位集合的装载率和波次比是否满足设定条件,若不满足,则继续将待排线点位集合中的点位加入到里程排线点位集合中;若满足,则按照现有里程排线点位集合的点位计算装载值,匹配车型,创建排线数据;
S9、创建排线数据后,将排线数据依据的里程排线点位集合中的配送目的地从发货地集合中移除;重复S2-S8,直至发货地集合中的所有配送目的地均从发货地集合中移除。
所述S2步骤中,按照垂直距离由近到远进行排序并进行赋值,得到波次集合,所述波次集合是以配送时间为依据建立的配置项;根据配送目的地对应的运单中的配送时间要求建立不同的波次集合,在后续S5的串点过程中,需根据波次比例进行串点。波次集合是一个配置项,例如:早上6点到中午12点是某一配送目的对应运单要求的配送时间,6点到9点作为波次1,9点到12点作为波次2,这个就是波次集合。
配置波次集合的作用是,有的用户需要在早上6点到9点间配送,有的用户要在9点到12点间配送,如果给一个司机装的货全部是6点到9点需要配送的,那么司机很可能无法准时完成,最终导致客户投诉,所以就有了波次的概念。波次比例,串点中波次的比例,例如某一个波次不能超过60%,串点时就需要按照这个逻辑来执行。
所述S3步骤中,将配送目的地距离集合中的配合目的地坐标遍历并调用地图规则之前,还包括将发货地集合中其他配送目的地与距离最大的配送目的地之间的距离判断步骤,若该距离小于等于起点系数,则该配送目的地可直接加入到待排线点位集合中;
若该距离大于起点系数,则将该距离对应的配送目的地坐标调用地图规则,获取到配送目的地与距离最大配送目的地之间在地图上反映的实际距离,将该实际距离与理论最大值*偏差系数进行对比。
所述起点系数为2公里。起点系数是一个经验值,也是一个可配置的参数。因为两个点的直线距离如果过于接近,例如小于2公里,在实际行驶中可能由于单行道或者禁止掉头等原因,出现实际行驶距离远大于理论最大值*偏差系数的情况,但这样的点位其实是符合配送串点的现实条件的。因此,我们就将2公里作为了起点系数,两点之间直线距离低于2公里时,就不需要去做其他距离校验了。
所述偏差系数具体是指,将距离最大配送目的地与其他配送目的地之间的直线距离作为一等腰直角三角形的斜边,以该斜边为直径画圆,1/2圆周范围内视为最小的偏差范围,以该1/2圆周长除以该等腰直角三角形的两直角边之和后得到一最小偏差系数π*r/*r≈1.11;再以等腰直角三角形的直角边为半径画圆,该圆的3/4圆周就视为最大的偏差范围,可以得到一个最大偏差系数1.5π*r/2r≈2.36;将上述最小偏差系数和最大偏差系数取平均值,最终得到所述偏差系数为1.735。
所述TMS***中配置的总距离表示最大串点总距离,为60公里。这里的总距离是一个参数配置,通过经验得出的一个数值。配送通常会有一个时效要求,例如早上6点到中午12点配送,那么送到第一个配送点的时间大概在6点左右,最后一个配送点的时间需要在12点左右。综合实际卸货的时间开销,在配送过程中车辆的综合时速在10公里/小时,因此6小时的配送时间,我们能够配置的最大串点总距离为60公里。根据城市交通道路情况不同,该总距离配置可以进行适应性调整。
所述计算剩余点位的装载率和波次比是否满足设定条件,具体是指,剩余点位的实际总装载值是否在运力的最大装载值和最小装载值范围区间;关于波次比表示,一次串点中该波次的比例不超过60%。
所述S6步骤中,还包括读取TMS***的装载配置,所述读取装载配置包括读取装载配置按体积装载、按重量装载、同时按照体积重量装载和按件数装载。
所述按体积装载是指,加入一个点的货物后,忽略重量和件数,最小装载体积<当前体积<最大装载体积时,停止装载;当前体积>最小装载体积,继续装载;当前体积>最大装载体积时,不装载当前点,继续下个装载。
所述按重量装载具体是指,加入一个点的货物后,忽略体积和件数,最小装载重量<当前重量<最大装载重量时,停止装载;当前重量>最小装载重量,继续装载;当前重量>最大装载重量时,不装载当前点,继续下个装载。
所述按重量体积装载具体是指,加入一个点的货物后,忽略件数,最小装载重量<当前重量<最大装载重量或最小装载体积<当前体积<最大装载体积时,停止装载;当前重量>最小装载重量且当前体积>最小装载体积,继续装载;当前重量>最大装载重量或当前体积>最大装载体积时,不装载当前点,继续下个装载。
所述按件数装载具体是指,加入一个点的货物后,忽略体积、重量,当前件数>允许最大件数时,不装载当前点,停止装载。
所述S9步骤中,每安排一辆车之后,发货地集合中还存在有未配送的配送目的地,则将已经安排的车辆从TMS***中的未安排车辆列表中移除,并添加到已安排车辆列表中;重复S2-S8,直至发货地集合中的所有配送目的地均从发货地集合中移除。
若未安排车辆列表中的车辆全部被移除至已安排车辆列表之后,发货地集合中仍存在有未配送的配送目的地,则将已安排车辆列表中的车辆全部放置在未安排车辆列表中,重复S2-S8,直至发货地集合中的所有配送目的地均从发货地集合中移除。
与现有技术相比,本发明所带来的有益的技术效果表现在:
1、以500个点为例,如果使用人工调度,即使是熟练的调度员,也需要至少1.5小时才能够完成全部的调度,车辆的利用率大概在80%-85%,车辆串点的行驶距离差异很大,配送时效难以把控。使用智能调度算法以后,调度时间缩短到了1-2分钟,时间缩短了98%以上,车辆利用率提到到90%以上,并且控制了串点的行驶距离,大大的提高了配送及时率。
2、本发明的物流配送路径的优化方法是基于TMS***使用的,在TMS***的运单池中筛选出需要作业的运单数据,将运单数据中的发货地经纬度坐标点和配送目的地的经纬度坐标点反应在地图上,以发货地为标准,与该发货地对应的配送目的地组成一配送网络,计算该配送网络下,配送目的地与发货地之间的距离,并找出距离最大的配送目的地,计算其他配送目的地与最远距离配送目的地之间的距离,以及其他配送目的地与发货地之间的距离,以最远距离配送目的地为圆心,R为半径画圆,落入到该圆内的其他配送目的地均可加入到配送车次中,根据加入的配送目的地获得装载值以确定配送车型。本发明是通过计算机按照设定规则,对车辆路径调度进行合理规划,可以提高调度合理性,合理规划配送路径,可降低运输成本。
3、本发明中选择距离发货地最远的配送目的地为基础,由远及近的进行排线,可以让距离分散的点位有更多被聚合的可能性,这样可以使车辆的装载最大化。我们在对一个城市中的配送点位进行分析后发现,在城市中心的配送点位(距离较近)比较密集,在城市周边的配送点位较为分散(距离较远),如果由近及远的进行排线,就会出现最后剩余的都是城市边缘的点位且相互之间距离很大,导致没有了串点的可能性。而由远及近的进行排线,可以让距离分散的点位有更多被聚合的可能性,这样可以使车辆的装载最大化。
4、本发明S2步骤中,按照垂直距离由近到远进行排序并进行赋值,得到波次集合,设置波次集合的目的是为了满足有配送时间要求的运单,因此在进行串点时,需要考虑波次比例,以更加合理化安排配送路径和配送串点。
5、本发明还设置了理论最大值和偏差系数,设置理论最大值的效果可以排除绕路情况,因为地图上的两点并不是真实的距离反应,两点之间可能存在一条河,如果只是单纯的根据点与点之间的直线距离去做聚合,就会出现很大的误差。因此增加理论最大值的比较,当GIS***中得到的距离大于理论最大值*偏差系数,说明这两点之间串点的时间开销会很大,并不适合聚集在一起;不同的城市,不同的地形,产生的情况也不同,如果一个城市内的河流较多,各个区域分布松散,那么做距离验证时就可以允许大一点的偏差,如果城市内比较密集,河流较少,那么允许的偏差就会小一些。可以适应多种情况。
偏差系数的计算方式:假设有A、B两点,两点之间的直线距离为等腰直角三角形的斜边,那么可以得到A-B的理论最大距离为2r。
我们以等腰直角三角形的斜边中点为圆心,斜边边为直径,画一个圆,圆周会经过A、B两点,而1/2圆周就视为最小的偏差范围,可以得到一个偏差系数πr/r≈1.11;我们以等腰直角三角形的直角边为半径画一个圆,圆周会经过A、B两点,3/4圆周就视为最大的偏差范围,可以得到一个偏差系数1.5πr/2r≈2.36;两个偏差范围取平均值,得到建议的偏差系数1.735。
6、起点系数是一个经验值,也是一个可配置的参数。因为两个点的直线距离如果过于接近,例如小于2公里,在实际行驶中可能由于单行道或者禁止掉头等原因,出现实际行驶距离远大于理论最大值*偏差系数的情况,但这样的点位其实是符合配送串点的现实条件的。因此,我们就将2公里作为了起点系数,两点之间直线距离低于2公里时,就不需要去做其他距离校验了。
附图说明
图1为本发明方法流程图。
具体实施方式
下面结合说明书附图,对本发明的技术方案作出进一步详细的阐述。
实施例1
如图1所示,一种物流配送路径的优化方法,包括以下步骤:
S1、根据TMS***中记录的结单日期,在TMS***的运单池中筛选出需要作业的运单数据;将筛选出的运单数据根据发货地Spoint进行归类,将相同发货地Spoint的运单数据中的配送目的地Fpoint的经纬度坐标和与之对应的发货地Spoint经纬度坐标归为一个发货地集合;
所述的结单日期为TMS***中配置的结单时间,例如每日18:00,***会在这个时间内的未调度的运单作为次日需要配送调度的数据。上述步骤可由TMS***的结单模块进行筛选;
S2、计算发货地集合中各配送目的地Fpoint与发货地Spoint之间的直线距离d,并将计算出的直线距离形成一个直线距离集合(ListWareHouse Distanse);找出直线距离集合(ListWareHouse Distanse)中距离最大的配送目的地的坐标,并计算该距离最大的配送目的地(MaxDistansePoint)与发货地集合中其他配送目的地Fpoint之间的距离fod,计算其他配送目的地Spoint坐标到发货地与最大配送目的地(MaxDistansePoint)之间形成的直线的垂直距离sfod,按照垂直距离sfod由近到远进行排序,生成配送目的地距离集合(ListPointDistanse);
S3、将配送目的地距离集合(ListPointDistanse)中的配送目的地Fpoint坐标遍历并调用地图规则,获取到各配送目的地与距离最大配送目的地之间在地图上反映的实际距离,将该实际距离与理论最大值*偏差系数进行对比;若该实际距离小于或等于理论最大值*偏差系数,则将该实际距离对应的配送目的地坐标加载到待排线点位集合(ListPointMapDistanse)中;若大于理论最大值*偏差系数,则将该配送目的地坐标保留在配送目的地距离集合中;
S4、遍历待排线点位集合(ListPointMapDistanse),将待排线点位集合(ListPointMapDistanse)中对应的配送目的地坐标点逐个加入到里程排线点位集合(ListDeliveryPoint),每将待排线点位集合(ListPointMapDistanse)中的配送目的地坐标点加入到里程排线点位集合(ListDeliveryPoint)时,均需要判断加入之后,里程排线点位集合(ListDeliveryPoint)中各配送目的地实际距离之和是否大于TMS***中配置的总距离(TotalDistanse);若加入后的里程排线点位集合(ListDeliveryPoint)的实际距离之和大于TMS***中配置的总距离(TotalDistanse),则该配送目的地坐标跳出循环;若加入后的里程排线点位集合(ListDeliveryPoint)的实际距离之和不大于TMS***中配置的总距离(TotalDistanse),则判断波次比例,若超出比例则循环遍历待排线点位集合(ListPointMapDistanse),若未超出波次比例,则生成里程排线点位集合(ListDeliveryPoint),并将里程排线点位集合(ListDeliveryPoint)中的配送目的地坐标从待排线点位集合(ListPointMapDistanse)移除;
S5、根据现有运力车辆中的装载值计算出最大装载值和最小装载值;例如:车型A的装载体积为15m³,额定载重是2t,车型B的装载体积为7m³,额定载重是1t,那么最大装载值为(15m³、2t),最小装载值为(7m³,1t);
S6、将里程排线点位集合(ListDeliveryPoint)的实际总装载值与TMS***中车型的最大装载值和最小装载值进行对比;若里程排线点位集合(ListDeliveryPoint)的实际总装载值位于TMS***中车型的最大装载值和最小装载值之间,则直接匹配车型,创建排线数据;
S7、若里程排线点位集合(ListDeliveryPoint)的实际总装载值大于TMS***中车型的最大装载值,则遍历里程排线点位集合,按照配送目的地的装载值从小到大逐个移出里程排线点位集合;从里程排线点位集合中每移除一个点位,则计算剩余点位的装载率和波次比是否满足设定条件,若不满足则继续移除,若满足则将移除的点位放置在待排线点位集合中,按照里程排线点位集合剩余的点位计算装载值,匹配车型,创建排线数据;
S8、若里程排线点位集合(ListDeliveryPoint)的实际总装载值小于TMS***中车型的最小装载值,则遍历待排线点位集合,从将待排线点位集合中的点位逐个加入到里程排线点位集合中,每加入一个点位到里程排线点位集合中,计算加入点位后里程排线点位集合的装载率和波次比是否满足设定条件,若不满足,则继续将待排线点位集合中的点位加入到里程排线点位集合中;若满足,则按照现有里程排线点位集合的点位计算装载值,匹配车型,创建排线数据;
S9、创建排线数据后,将排线数据依据的里程排线点位集合中的配送目的地从发货地集合中移除;重复S2-S8,直至发货地集合中的所有配送目的地均从发货地集合中移除。
更进一步地,当用户对配送时间有要求时,所述S2步骤中,按照垂直距离由近到远进行排序并进行赋值,得到波次集合,所述波次集合是以配送时间为依据建立的配置项;根据配送目的地对应的运单中的配送时间要求建立不同的波次集合,在后续S5的串点过程中,需根据波次比例进行串点。波次集合是一个配置项,例如:早上6点到中午12点是某一配送目的对应运单要求的配送时间,6点到9点作为波次1,9点到12点作为波次2,这个就是波次集合;配置波次集合的作用是,有的用户需要在早上6点到9点间配送,有的用户要在9点到12点间配送,如果给一个司机装的货全部是6点到9点需要配送的,那么司机很可能无法准时完成,最终导致客户投诉,所以就有了波次的概念。波次比例,串点中波次的比例,例如某一个波次不能超过60%,串点时就需要按照这个逻辑来执行。
为了进一步优化配送路径,所述S3步骤中,将配送目的地距离集合中的配合目的地坐标遍历并调用地图规则之前,还包括将发货地集合中其他配送目的地与距离最大的配送目的地之间的距离判断步骤,若该距离小于等于起点系数,则该配送目的地可直接加入到待排线点位集合中;若该距离大于起点系数,则将该距离对应的配送目的地坐标调用地图规则,获取到配送目的地与距离最大配送目的地之间在地图上反映的实际距离,将该实际距离与理论最大值*偏差系数进行对比。
所述起点系数为2公里。起点系数是一个经验值,也是一个可配置的参数。因为两个点的直线距离如果过于接近,例如小于2公里,在实际行驶中可能由于单行道或者禁止掉头等原因,出现实际行驶距离远大于理论最大值*偏差系数的情况,但这样的点位其实是符合配送串点的现实条件的。因此,我们就将2公里作为了起点系数,两点之间直线距离低于2公里时,就不需要去做其他距离校验了。
所述偏差系数具体是指,将距离最大配送目的地与其他配送目的地之间的直线距离作为一等腰直角三角形的斜边,以该斜边为直径画圆,1/2圆周范围内视为最小的偏差范围,以该1/2圆周长除以该等腰直角三角形的两直角边之和后得到一最小偏差系数π*r/*r≈1.11;再以等腰直角三角形的直角边为半径画圆,该圆的3/4圆周就视为最大的偏差范围,可以得到一个最大偏差系数1.5π*r/2r≈2.36;将上述最小偏差系数和最大偏差系数取平均值,最终得到所述偏差系数为1.735。
所述TMS***中配置的总距离表示最大串点总距离,为60公里。这里的总距离是一个参数配置,通过经验得出的一个数值。配送通常会有一个时效要求,例如早上6点到中午12点配送,那么送到第一个配送点的时间大概在6点左右,最后一个配送点的时间需要在12点左右。综合实际卸货的时间开销,在配送过程中车辆的综合时速在10公里/小时,因此6小时的配送时间,我们能够配置的最大串点总距离为60公里。根据城市交通道路情况不同,该总距离配置可以进行适应性调整。
所述计算剩余点位的装载率和波次比是否满足设定条件,具体是指,剩余点位的实际总装载值是否在运力的最大装载值和最小装载值范围区间;关于波次比表示,一次串点中该波次的比例不超过60%。
所述S6步骤中,还包括读取TMS***的装载配置,所述读取装载配置包括读取装载配置按体积装载、按重量装载、同时按照体积重量装载和按件数装载。
所述按体积装载是指,加入一个点的货物后,忽略重量和件数,最小装载体积<当前体积<最大装载体积时,停止装载;当前体积>最小装载体积,继续装载;当前体积>最大装载体积时,不装载当前点,继续下个装载。
所述按重量装载具体是指,加入一个点的货物后,忽略体积和件数,最小装载重量<当前重量<最大装载重量时,停止装载;当前重量>最小装载重量,继续装载;当前重量>最大装载重量时,不装载当前点,继续下个装载。
所述按重量体积装载具体是指,加入一个点的货物后,忽略件数,最小装载重量<当前重量<最大装载重量或最小装载体积<当前体积<最大装载体积时,停止装载;当前重量>最小装载重量且当前体积>最小装载体积,继续装载;当前重量>最大装载重量或当前体积>最大装载体积时,不装载当前点,继续下个装载。
所述按件数装载具体是指,加入一个点的货物后,忽略体积、重量,当前件数>允许最大件数时,不装载当前点,停止装载。
所述S9步骤中,每安排一辆车之后,发货地集合中还存在有未配送的配送目的地,则将已经安排的车辆从TMS***中的未安排车辆列表中移除,并添加到已安排车辆列表中;重复S2-S8,直至发货地集合中的所有配送目的地均从发货地集合中移除。
若未安排车辆列表中的车辆全部被移除至已安排车辆列表之后,发货地集合中仍存在有未配送的配送目的地,则将已安排车辆列表中的车辆全部放置在未安排车辆列表中,重复S2-S8,直至发货地集合中的所有配送目的地均从发货地集合中移除。
实施例2
作为本发明又一较佳实施例,参照说明书附图1,本实施例公开了:
一种物流配送路径的优化方法,包括以下步骤:
1.根据结单日期,筛选出需要作业的运单数据;即根据TMS***中记录的结单日期,在TMS***的运单池中筛选出需要作业的运单数据;所述的结单日期是指,当日需要处理或次日需要处理的业务单据;
2.遍历运单数据,计算出运单中的配送目的地经纬度坐标与发货地Spoint之间的直线距离d;
3.取出配送目的地与仓库距离最大的坐标点,定义为fpoint;
4.然后继续遍历所有点,计算出fpoint和其他点opoint的距离fod,同时计算出fpoint、spoint与其他点opoint之间的距离sfod,sfod距离越小,表示此点越接近spoint和fpoint之间的直线,sfod距离越大,表示越远;
5.判断是有依据设置运力优先级;
6.如果设置了运力优先级。根据运力优先级,取出对应的车型car。按照车型的荷载重量tweight 计算出载重范围sweight=80%*tweight、eweight=tweeight;荷载体积tvolume计算出体积范围svolume=80%*tvolume,evlolume = tvolume,进行装货判断;
7.以fpoint为圆心,R为半径画圆,取出fod<R的点并按照sfod进行排序后,一直将取出的所有点(包含fpoint)放入车次计算,如果达到装载目标,则停止装载。如果未有达到目标,则继续查找半径在R–2R之间的环形,以此类推,直到装载完成。(执行过程中还包含串点的相关算法,参考第9,装载率相关算法,参考第10-11);
8.装载完成后,在地图上移除已装载点位,剩余点位继续按照流程:2-7执行,如果当前优先级的车型车辆数使用完毕,则使用次级优先级车辆,直到所有点全部调度完成;
9.串点相关算法:已知fod的长度,以fod长为斜边,假设fod是一个45度直角三角形的斜边,得以得到另外两个直角边:A、B。A=B=Fod;正常的行驶中,行驶距离不会超过A+B的距离,如果大于(A+B)*绕路系数,可以判断为绕路,此点不适合加入到本车次中。而绕路计算只适合大于一定距离的运输场景,当两点距离小时,绕路计算并不适用,因此设置一个起点系数:rx;
当fod< rx时,此点符合条件,加入车次;
当fod> rx时,然后通过GIS***,获得最短导航距离,然后与(A+B)*系数比对,小于,则判断符合加入车次条件,大于则不符合;加入车次后,计算车次内按照fod排序的点与点之间的距离,如果大于单车次允许最大距离,则停止装载,生成车次。
10.读取装载配置:(1)按体积装载,(2)按重量装载,(3)同时按照体积重量装载,(4)按件数装载;
(1)按体积装载:加入一个点的货物后,忽略重量和件数,svolume<当前体积<evolume时,停止装载;当前体积>svolume,继续装载;当前体积>evolume时,不装载当前点,继续下个装载;
(2)按重量装载:加入一个点的货物后,忽略体积和件数,sweight<当前重量<eweight时,停止装载;当前重量>sweight,继续装载;当前重量>eweight时,不装载当前点,继续下个装载;
(3)按重量体积装载:加入一个点的货物后,忽略件数,sweight<当前重量<eweight或svolume<当前体积<evolume时,停止装载;当前重量>sweight且当前体积>svolume,继续装载;当前重量>eweight或当前体积>evolume时,不装载当前点,继续下个装载;
(4)按件数装载:加入一个点的货物后,忽略体积、重量,当前件数>允许最大件数时,不装载当前点,停止装载;
11. 没有设置运力优先级。先以fpoint为圆心,R为半径画圆,取出fod<R的点然后根据串点算法找出符合行驶距离的点。计算出所有点位的总运输重量与体积,然后去匹配车型;
12. 将所有车型按照装载率由大到小排序,取出最大车型,根据装载配置判断该车型是否符合,假如最大车型不符合,则将点位按货量由少到多开始移除,直至满足装载配置,则生成车次。加入最大车型符合,则继续判断下一级车型是否符合条件,如果不符合,在使用上级车型,如果符合,则继续向下查找,直到最后一级车型,如果还不满足,则使用最小车型;
13. 车型生成后,将剩余点位重新执行2->3->4->11->12,直到所有点位全部调度完成。
实施例3
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述物流配送路径的优化方法的步骤。
在本实施例中处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例1或2中的方法。
实施例4
作为本发明又一较佳实施例,本实施例公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例1或实施例2的步骤:
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种物流配送路径的优化方法,其特征在于:包括以下步骤,
S1、根据TMS***中记录的结单日期,在TMS***的运单池中筛选出需要作业的运单数据;将筛选出的运单数据根据发货地进行归类,将相同发货地的运单数据中的配送目的地的经纬度坐标和与之对应的发货地经纬度坐标归为一个发货地集合;
S2、计算发货地集合中各配送目的地与发货地之间的直线距离,并将计算出的直线距离形成一个直线距离集合;找出直线距离集合中距离最大的配送目的地的坐标,并计算该距离最大的配送目的地与发货地集合中其他配送目的地之间的距离,计算其他配送目的地坐标到发货地与最大配送目的地之间形成的直线的垂直距离,按照垂直距离由近到远进行排序,生成配送目的地距离集合;
S3、将配送目的地距离集合中的配送目的地坐标遍历并调用地图规则,获取到各配送目的地与距离最大配送目的地之间在地图上反映的实际距离,将该实际距离与理论最大值*偏差系数进行对比;若该实际距离小于或等于理论最大值*偏差系数,则将该实际距离对应的配送目的地坐标加载到待排线点位集合中;若大于理论最大值*偏差系数,则将该配送目的地坐标保留在配送目的地距离集合中;
S4、遍历待排线点位集合,将待排线点位集合中对应的配送目的地坐标点逐个加入到里程排线点位集合,每将待排线点位集合中的配送目的地坐标点加入到里程排线点位集合时,均需要判断加入之后,里程排线点位集合中各配送目的地实际距离之和是否大于TMS***中配置的总距离;若加入后的里程排线点位集合的实际距离之和大于TMS***中配置的总距离,则该配送目的地坐标跳出循环;若加入后的里程排线点位集合的实际距离之和不大于TMS***中配置的总距离,则判断波次比例,若超出比例则循环遍历待排线点位集合,若未超出波次比例,则生成里程排线点位集合,并将里程排线点位集合中的配送目的地坐标从待排线点位集合移除;
S5、根据现有运力车辆中的装载值计算出最大装载值和最小装载值;
S6、将里程排线点位集合的实际总装载值与TMS***中车型的最大装载值和最小装载值进行对比;若里程排线点位集合的实际总装载值位于TMS***中车型的最大装载值和最小装载值之间,则直接匹配车型,创建排线数据;
S7、若里程排线点位集合的实际总装载值大于TMS***中车型的最大装载值,则遍历里程排线点位集合,按照配送目的地的装载值从小到大逐个移出里程排线点位集合;从里程排线点位集合中每移除一个点位,则计算剩余点位的装载率和波次比例是否满足设定条件,若不满足则继续移除,若满足则将移除的点位放置在待排线点位集合中,按照里程排线点位集合剩余的点位计算装载值,匹配车型,创建排线数据;
S8、若里程排线点位集合的实际总装载值小于TMS***中车型的最小装载值,则遍历待排线点位集合,从将待排线点位集合中的点位逐个加入到里程排线点位集合中,每加入一个点位到里程排线点位集合中,计算加入点位后里程排线点位集合的装载率和波次比例是否满足设定条件,若不满足,则继续将待排线点位集合中的点位加入到里程排线点位集合中;若满足,则按照现有里程排线点位集合的点位计算装载值,匹配车型,创建排线数据;
S9、创建排线数据后,将排线数据依据的里程排线点位集合中的配送目的地从发货地集合中移除;重复S2-S8,直至发货地集合中的所有配送目的地均从发货地集合中移除。
2.如权利要求1所述的一种物流配送路径的优化方法,其特征在于:所述S2步骤中,按照垂直距离由近到远进行排序并进行赋值,得到波次集合,所述波次集合是以配送时间为依据建立的配置项;根据配送目的地对应的运单中的配送时间要求建立不同的波次集合,在后续S5的串点过程中,需根据波次比例进行串点。
3.如权利要求1所述的一种物流配送路径的优化方法,其特征在于:所述S3步骤中,将配送目的地距离集合中的配合目的地坐标遍历并调用地图规则之前,还包括将发货地集合中其他配送目的地与距离最大的配送目的地之间的距离判断步骤,若该距离小于等于起点系数,则该配送目的地可直接加入到待排线点位集合中;若该距离大于起点系数,则将该距离对应的配送目的地坐标调用地图规则,获取到配送目的地与距离最大配送目的地之间在地图上反映的实际距离,将该实际距离与理论最大值*偏差系数进行对比。
4.如权利要求3所述的一种物流配送路径的优化方法,其特征在于:所述起点系数为2公里。
7.如权利要求1所述的一种物流配送路径的优化方法,其特征在于:所述TMS***中配置的总距离表示最大串点总距离,为60公里。
8.如权利要求1所述的一种物流配送路径的优化方法,其特征在于:所述计算剩余点位的装载率和波次比例是否满足设定条件,具体是指,剩余点位的实际总装载值是否在运力的最大装载值和最小装载值范围区间;关于波次比例表示,一次串点中该波次的比例不超过60%。
9.如权利要求1所述的一种物流配送路径的优化方法,其特征在于:所述S6步骤中,还包括读取TMS***的装载配置,所述读取装载配置包括读取装载配置按体积装载、按重量装载、同时按照体积重量装载和按件数装载;
所述按体积装载是指,加入一个点的货物后,忽略重量和件数,最小装载体积<当前体积<最大装载体积时,停止装载;当前体积>最小装载体积,继续装载;当前体积>最大装载体积时,不装载当前点,继续下个装载;
所述按重量装载具体是指,加入一个点的货物后,忽略体积和件数,最小装载重量<当前重量<最大装载重量时,停止装载;当前重量>最小装载重量,继续装载;当前重量>最大装载重量时,不装载当前点,继续下个装载;
所述按重量体积装载具体是指,加入一个点的货物后,忽略件数,最小装载重量<当前重量<最大装载重量或最小装载体积<当前体积<最大装载体积时,停止装载;当前重量>最小装载重量且当前体积>最小装载体积,继续装载;当前重量>最大装载重量或当前体积>最大装载体积时,不装载当前点,继续下个装载;
所述按件数装载具体是指,加入一个点的货物后,忽略体积、重量,当前件数>允许最大件数时,不装载当前点,停止装载。
10.如权利要求1所述的一种物流配送路径的优化方法,其特征在于:所述S9步骤中,每安排一辆车之后,发货地集合中还存在有未配送的配送目的地,则将已经安排的车辆从TMS***中的未安排车辆列表中移除,并添加到已安排车辆列表中;重复S2-S8,直至发货地集合中的所有配送目的地均从发货地集合中移除。
11.如权利要求10所述的一种物流配送路径的优化方法,其特征在于:若未安排车辆列表中的车辆全部被移除至已安排车辆列表之后,发货地集合中仍存在有未配送的配送目的地,则将已安排车辆列表中的车辆全部放置在未安排车辆列表中,重复S2-S8,直至发货地集合中的所有配送目的地均从发货地集合中移除。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时,执行上述权利要求1-11任意一项所述的一种物流配送路径的优化方法中的步骤。
13.一种计算机可读存储介质,其特征在于:其上存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-11任意一项所述的一种物流配送路径的优化方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010892001.7A CN111815076B (zh) | 2020-08-31 | 2020-08-31 | 一种物流配送路径的优化方法、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010892001.7A CN111815076B (zh) | 2020-08-31 | 2020-08-31 | 一种物流配送路径的优化方法、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111815076A CN111815076A (zh) | 2020-10-23 |
CN111815076B true CN111815076B (zh) | 2020-12-15 |
Family
ID=72860336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010892001.7A Active CN111815076B (zh) | 2020-08-31 | 2020-08-31 | 一种物流配送路径的优化方法、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111815076B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112001557B (zh) * | 2020-08-31 | 2022-09-06 | 物联云仓(成都)科技有限公司 | 基于tms***的物流配送路径优化方法、存储介质和计算机设备 |
CN112681744B (zh) * | 2020-11-11 | 2022-04-22 | 重庆恢恢信息技术有限公司 | 一种通过智慧云端用于建筑工地的物料钢筋获取方法和*** |
CN113379342B (zh) * | 2021-04-28 | 2023-07-25 | 杭州中港科技有限公司 | 基于最短路径算法优化物联网服务管理*** |
CN113222515B (zh) * | 2021-05-27 | 2024-07-19 | 咪咕文化科技有限公司 | 一种运单分配方法、装置、电子设备和存储介质 |
CN113610291B (zh) * | 2021-07-31 | 2024-01-30 | 杭州拼便宜网络科技有限公司 | 物流路线再生方法、装置、电子设备和计算机可读介质 |
CN113807785A (zh) * | 2021-09-22 | 2021-12-17 | 北京京东振世信息技术有限公司 | 一种物品运输的方法和装置 |
CN114581001B (zh) * | 2022-02-28 | 2024-03-12 | 天道金科股份有限公司 | 基于物联网和区块链的供应链管理*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007037186A1 (ja) * | 2005-09-28 | 2007-04-05 | Pioneer Corporation | 地点設定装置、情報提示装置、地点設定方法、地点設定プログラムおよび記録媒体 |
CN106154296A (zh) * | 2015-06-26 | 2016-11-23 | 安徽华米信息科技有限公司 | 一种路径轨迹的调整方法及装置 |
CN109583800A (zh) * | 2017-09-29 | 2019-04-05 | 北京京东尚科信息技术有限公司 | 物流仓库包裹分拣方法、装置和*** |
CN110544055A (zh) * | 2018-05-28 | 2019-12-06 | 北京京东振世信息技术有限公司 | 订单处理方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG11201811240XA (en) * | 2017-06-21 | 2019-01-30 | Beijing Didi Infinity Technology & Development Co Ltd | Systems and methods for route planning |
CN110189073B (zh) * | 2019-04-17 | 2022-05-03 | 北京百度网讯科技有限公司 | 路线规划方法、装置、设备及计算机可读存储介质 |
-
2020
- 2020-08-31 CN CN202010892001.7A patent/CN111815076B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007037186A1 (ja) * | 2005-09-28 | 2007-04-05 | Pioneer Corporation | 地点設定装置、情報提示装置、地点設定方法、地点設定プログラムおよび記録媒体 |
CN106154296A (zh) * | 2015-06-26 | 2016-11-23 | 安徽华米信息科技有限公司 | 一种路径轨迹的调整方法及装置 |
CN109583800A (zh) * | 2017-09-29 | 2019-04-05 | 北京京东尚科信息技术有限公司 | 物流仓库包裹分拣方法、装置和*** |
CN110544055A (zh) * | 2018-05-28 | 2019-12-06 | 北京京东振世信息技术有限公司 | 订单处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
Beatriz."Route planning for a mixed delivery system in long distance transportation and comparison with pure delivery systems".《Journal of Computational and Applied Mathematic》.2016,第291卷 * |
Also Published As
Publication number | Publication date |
---|---|
CN111815076A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111815076B (zh) | 一种物流配送路径的优化方法、存储介质和计算机设备 | |
CN112001557B (zh) | 基于tms***的物流配送路径优化方法、存储介质和计算机设备 | |
US9857191B2 (en) | Context-based routing and access path selection | |
CN112686439B (zh) | 一种智能的自动化集装箱码头节能综合调度方法 | |
WO2019033729A1 (en) | SYSTEMS AND METHODS FOR DISTRIBUTING VEHICLES | |
US20150338226A1 (en) | Context-based routing and access path selection | |
US20180096287A1 (en) | Re-routing a delivery agent to improve the efficiency of transporting packages | |
CN108171357B (zh) | 物流信息***中的信息处理方法和装置 | |
AU2021232842A1 (en) | Improved routing system | |
JP2014526072A (ja) | 複数車両資源配分および経路指定解決策のためのシステムおよび方法 | |
JP2015500981A (ja) | フリートナビゲーション、ディスパッチ及び複数の自動車で、複数の目的地を探索するための方法及びシステム | |
CN104864879A (zh) | 导航路径规划方法及装置 | |
EP2764504A1 (en) | Vehicle fleet routing system | |
CN113962639B (zh) | 一种基于全域地图的配送路径规划方法和*** | |
CN109540125B (zh) | 一种园区地图生成方法及服务器、存储介质 | |
CN102639960A (zh) | 车载信息处理装置以及行驶支援装置 | |
CN113177752B (zh) | 一种路线规划方法、装置及服务器 | |
CN102346042A (zh) | 基于实时路况的路线规划方法及其服务设备 | |
CN109282821B (zh) | 一种园区导航方法和*** | |
CN114358677A (zh) | 物流运输分配方法、装置、计算机设备和存储介质 | |
CN111882109A (zh) | 一种订单分配方法和*** | |
CN113739812B (zh) | 配送计划生成方法、装置、***及计算机可读存储介质 | |
JP2018144926A (ja) | 配送計画作成プログラム、配送計画作成方法、及び配送計画作成装置 | |
US11321661B1 (en) | Method for building and filtering carrier shipment routings | |
CN111353759B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |