CN110490510A - 一种物流配送线路生成方法和装置 - Google Patents

一种物流配送线路生成方法和装置 Download PDF

Info

Publication number
CN110490510A
CN110490510A CN201910610073.5A CN201910610073A CN110490510A CN 110490510 A CN110490510 A CN 110490510A CN 201910610073 A CN201910610073 A CN 201910610073A CN 110490510 A CN110490510 A CN 110490510A
Authority
CN
China
Prior art keywords
point
cluster
starting
search
distribution point
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.)
Pending
Application number
CN201910610073.5A
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.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology Co Ltd
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 Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN201910610073.5A priority Critical patent/CN110490510A/zh
Publication of CN110490510A publication Critical patent/CN110490510A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • 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

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例公开了一种物流配送线路生成方法和装置,方法包括:依据订单数据中配送点的地理位置对配送点进行网格划分,基于网格确定局部搜索邻域;对所述局部搜索邻域内的配送点进行分裂聚类,获得起始簇;以所述起始簇为搜索起点迭代搜索所述局部搜索邻域内的配送点,并依据预设约束条件生成包括所述配送点的配送线路。本实施例的技术方案通过网格将高维空间数据离散化,有效降低排线规划问题规模,加快了运算速度。

Description

一种物流配送线路生成方法和装置
技术邻域
本申请涉及计算机技术领域,具体涉及一种物流配送线路生成方法和装置。
背景技术
在物流配送领域,对于大规模的客户订单,如何合理分配运输车辆,规划配送线路,有效降低运输成本是企业关心的重要问题。物流配送线路规划问题被描述为:有若干配送中心和客户节点,现要从配送中心出发,用若干台车辆向某区域范围内的若干客户节点提供服务(送货/提货),要求合理规划车辆行驶路线,在保证完成配送任务的情况下使车辆行驶成本最低,同时满足车辆容量(或称装载率)约束。
现有的配送线路规划算法的规模大、运行时间长、难以在有效时间内寻找到大规模输入集(比如输入点数成百上千)的全局最优解。
发明内容
有鉴于此,本申请实施例提供了一种物流配送线路生成方法和装置,通过网格将高维空间数据离散化,有效降低了问题规模,加快了运算速度,满足了大规模输入集的排线需求。
根据本申请的第一个方面,提供了一种物流配送线路生成方法,包括:
依据订单数据中配送点的地理位置对配送点进行网格划分,基于网格确定局部搜索邻域;
对所述局部搜索邻域内的配送点进行分裂聚类,获得起始簇;
以所述起始簇为搜索起点迭代搜索所述局部搜索邻域内的配送点,并依据预设约束条件生成包括所述配送点的配送线路。
根据本申请的第二个方面,提供了一种物流配送线路生成装置,该装置包括:
邻域确定模块,用于依据订单数据中配送点的地理位置,对配送点进行网格划分,基于网格确定局部搜索邻域;
聚类模块,对所述局部搜索邻域内的配送点进行分裂聚类,获得起始簇;
线路生成模块,用于以所述起始簇为搜索起点迭代搜索所述局部搜索邻域内的配送点,并依据预设约束条件生成包括所述配送点的配送线路。
根据本申请的第三个方面,提供了一种电子设备,所述电子设备包括:处理器,以及存储有可在处理器上运行的计算机程序的存储器;其中,所述处理器,用于在执行所述存储器中的计算机程序时执行本申请一个方面所述方法的步骤。
根据本申请的第四个方面,提供了一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请一个方面所述方法的步骤。
有益效果:应用本申请实施例的物流配送线路生成方案,依据订单数据中配送点的地理位置对配送点进行网格划分,基于网格确定局部搜索邻域,对局部搜索邻域内的配送点进行分裂聚类获得起始簇,以起始簇为搜索起点迭代搜索配送点并依据预设约束条件生成配送线路,从而使用网格划分输入集,对配送点进行降维,极大地降低了排线问题规模,加快了运算速度,相比于其他启发式算法,能避免计算爆炸的情况。而且本申请依据订单数据中配送点的地理位置对配送点进行网格划分,即,采用的是固定网格,从而支持扩展固定区域以及车型画像等功能,满足了大规模输入集线路生成需求。
附图说明
图1是本申请一个实施例的物流配送线路生成方法的流程图;
图2是本申请一个实施例的确定商家密度值的流程图;
图3是本申请一个实施例的物流配送线路生成方法的流程示意图;
图4是本申请一个实施例的物流配送线路生成装置的框图;
图5是本申请一个实施例的电子设备的结构示意图;
图6是本申请一个实施例的非瞬时性计算机可读存储介质的结构示意图。
具体实施方式
为使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本邻域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
本实施例提出一种物流配送线路生成方法,参见图1,本实施例的物流配送线路生成方法包括下列步骤:
步骤S101,依据订单数据中配送点的地理位置对配送点进行网格划分,基于网格确定局部搜索邻域;
步骤S102,对所述局部搜索邻域内的配送点进行分裂聚类,获得起始簇;
步骤S103,以所述起始簇为搜索起点迭代搜索所述局部搜索邻域内的配送点,并依据预设约束条件生成包括所述配送点的配送线路。
由图1所示可知,本实施例的物流配送线路生成方法,依据配送点的地理位置对配送点进行网格划分,基于网格确定局部搜索邻域,对局部搜索邻域内的配送点进行分裂聚类获得起始簇,以起始簇为搜索起点迭代搜索配送点生成配送线路,从而,使用网格进行降维,极大地降低了问题规模,加快了运算速度,避免了计算爆炸的情况,能够在较短时间内寻找到全局最优解。而且本申请实施例中依据配送点的地理位置对配送点进行网格划分,即,采用固定网格对订单区域进行分割,从而支持扩展固定区域以及车型画像等功能。
针对现有技术中物流线路生成算法中的问题,本申请实施例,提出了基于网格划分的大规模邻域搜索算法,通过网格将空间高维数据离散化,突破维数灾难,有效降低问题规模。该基于网格划分的大规模邻域搜索算法对商家点数进行网格划分,在基于密度确定的局部搜索区域内,采用先分裂、后合并的方式进行车辆分配,并考虑每台车辆的满载率、承载的商家数、以及车辆行驶区域的稀疏/密集程度等因素;最后,进行异常点处理,确保在较短时间内生成排线(即物流配送线路),保证配送效率,降低物流成本。
总的来说,本实施例的物流配送线路生成方法主要包括步骤(一)基于密度自适应匹配搜索邻域的网格划分,(二)给定约束条件下聚簇的划分和点位搜索。
参见图2,前述基于密度自适应匹配搜索邻域的网格划分具体包括:
流程开始,执行对订单进行网格切割的步骤。
这里采用固定网格进行订单切割,按照点位进行网格归附,生成以网格为单位的初始聚簇。
接着,对网格进行边缘检测。
对所有网格进行边缘算子检测,确定出边界网格。
其次,选择距离质心最远的网格作为搜索起点。
本实施例中确定所有订单(一个订单对应一个配送点)构成的区域的质心作为中心,按照由外至内的顺序,确定搜索起点网格(即,起始网格)。
再次,以起始网格为中心向外扩展一层,构建局部搜索邻域;
本实施例中是逐层向外扩展的,具体的,第一次向外扩展得到的第一层包括位于中心的1个起始网格以及周围邻近的共8个网格,继续向外扩展,第二层包括位于中心的1个起始网格以及周围邻近的16个网格,以此类推。
在向外扩展过程中,判断网格内点数是否达到商家数限制,即向外扩展的退出条件是当前网格内的点数达到给定的商家数阈值。
最后,根据局部搜索邻域内的商家点数及扩展层数(比如3层)计算商家密度值,根据密度值确定密度等级后设定一次排线生成过程中的最大商家数。
由扩展层数可以确定出局部搜索邻域包括的网格数,根据局部搜索邻域内的网格数,总的点数,计算局部搜索邻域的密度。
流程结束。
参见图3,前述给定约束条件下聚簇的划分搜索具体包括:流程开始,执行步骤S301,将局部搜索邻域内的簇不断进行二次分裂,直至所得簇均满足给定约束条件;
S302,向起始簇内添加点;
随机选择一个簇(记为A)作为搜索起点,选择距离搜索起点(即起始簇A)最近的簇(记为B),向起始簇不断添加点,直至当前簇(即簇B)搜索完毕,依次选择下一个距当前排线(以A为搜索起点的排线)最近的簇(记为C)向起始簇不断添加点,直至起始簇内的点数满足最大商家数、最大满载率以及里程数三个预设约束条件。
S303,是否满足约束条件;
判断起始簇内的点是否满足约束条件,在搜索过程中,若当前排线(即起始簇对应的排线)上的点数满足了最大商家数、最大满载率以及里程数要求,则执行步骤S304。
步骤S304,生成一条派车线路,即,选择车型生成一条排线,排线上包括起始簇内的所有点。也就是说,本实施例的排线是在局部邻域搜索过程中生成的。
S305,超过约束条件;
本实施例中,如果当前排线(即,一起始簇A对应的排线)的点数超过给定约束条件,则判断当前点是否属于起始网格,是则作为异常点抛出,否则归还原簇。这是为了确保算法收敛,一次全局搜索过程中能够将一个网格过滤掉。
步骤S306,是否已搜索到局部搜索邻域的末端;
若搜索已到局部搜索邻域的末端,则执行步骤S307,否则执行步骤S302。
步骤S307,输出最优方案,删除已搜索网格;
具体的,当搜索到当前局部搜索邻域的末端时,判断末端的点是否满足最低满载率要求,是则生成排线,否则判断当前点是否属于当前网格,是则作为异常点抛出,否则归还原簇。将当前局部搜索邻域内的各目标函数值进行比较,保留最优方案(最优方案是总配送里程以及异常点统计值的和最小),继续回到步骤301进行迭代。
步骤S308,判断局部搜索邻域内所有的网格是否已经搜索完毕,是则执行步骤S309,重新确定局部搜索邻域,如果一个局部搜索邻域内的网格都搜索完毕了,则退出当前局部搜索邻域,重新确定下一个局部搜索邻域进行搜索,否则继续在当前局部搜索邻域内搜索剩余网格。
以下结合一个具体应用场景对本实施例的的物流配送线路生成方法的实现步骤进行说明。
对于输入订单数据(比如1000个订单),本实施例首先对订单数据进行点位聚合,然后利用网格进行降维分析,降维之后确定局部搜索区域,基于每个局部搜索邻域生成排线。
通过确定局部搜索邻域为排线生成确定搜索方向(从外向内),保证了能够在较短时间内找到较优解。另外,局部搜索邻域还可以确定各区域的商家密度情况,根据密度确定排线上的最大配送用户数,以提高运输效率。
本实施例先依据订单数据中配送点的地理位置对配送点进行网格划分,具体的,包括:获取配送点对应的网格编码,将网格编码相同的配送点划分到同一个网格内;网格编码由订单数据中配送点的地理位置确定;一个实施例中依据每个配送点的经纬度坐标,采用Google S2实现订单数据的网格化裁剪,目的是将空间不确定性控制在一定范围内,形成一个规则的多边形,每个多边形均为网格单元,从而实现数据离散化,并赋予对应的GoogleS2网格编码。将输入数据中网格编码相同的配送点划分到同一个网格内,比如1000个输入数据,其中一个网格内包含30个网格编码相同的配送点,另一个网格内包含的50个网格编码相同的配送点等等。
在电子地图上将输入数据对应的配送点进行网格划分之后,基于网格确定局部搜索邻域,具体的包括:对网格进行边缘检测,确定出所述网格中的边界网格,并将与第一质心距离最远的边界网格确定为起始网格;所述第一质心基于各所述网格的中心点确定;以所述起始网格为中心,以网格为单位,向外搜索邻近网格;如果起始网格与邻近网格内配送点的总数目达到预设点数阈值,则停止搜索并获得由起始网格与邻近网格确定的局部搜索邻域。
边缘检测可以采用现有技术实现,边缘检测其实也是一种滤波,不同的算子有不同的提取效果。比较常用的有Sobel算子,Laplacian算子,Canny算子,本实施例对此不做限制,只要能够检测出网格中的位于边缘的各个边界网格即可。这里确定边界网格的目的是为了确定搜索起点,之所以将与第一质心距离(欧氏距离)最远的边界网格确定为起始网格,是本申请实施例中按照从外向内的搜索方向进行点位搜索和排线生成,与第一质心的距离(欧氏距离)最远,表明该边界网格是待生成排线的配送点最靠外的一个网格,这样能够快速完成搜索并避免遗漏配送点。
所述第一质心是所有网格的中心点的坐标的平均值对应的点,比如一次输入对应的网格数量为300个,那么这300个网格对应有300个中心点,计算这300个中心点的算术平均值可得一个点的坐标,这个点即为第一质心。
确定出起始网格之后,本实施例以起始网格为中心,以网格为单位,向外搜索邻近网格;如果起始网格与邻近网格内配送点的总数目达到预设点数阈值,则停止搜索并获得由起始网格与邻近网格确定的局部搜索邻域。
在向外搜索邻近网格时,本实施例逐层向外扩展,第一层是以起始网格为中心扩展邻近的8个网格(网格内的点数不等,允许空的网格存在),计算起始网格内的点与邻近的8个网格内的点的总和,如果总和达到了预设点数阈值,则停止搜索,将起始网格和邻近网格确定的区域作为局部搜索邻域。
举例来说,起始网格内的点为10个,邻近的8个网格内的点为30,总和为10+30=40,预设点数阈值为35,那么总和40超过预设点数阈值35,停止搜索,将起始网格和邻近网格确定的区域作为局部搜索邻域。如果起始网格内的点与邻近的8个网格内的点的总和,未达到预设点数阈值,则继续向外按层扩展,即扩展到第2层,以起始网格为中心的邻近的16个网格,计算起始网格以及周围邻近的16网格内的点的总和,将总和与预设点数阈值比较,如果总和达到了预设点数阈值,则停止搜索,将起始网格和邻近网格确定的区域作为局部搜索邻域。否则继续按层向外扩展,以此类推。
在基于网格确定局部搜索邻域之后,本实施例的物流配送线路生成方法还包括:依据所述局部搜索邻域内的网格总数以及配送点总数,获得局部搜索邻域对应的密度值;由密度值确定出密度等级,并依据密度等级确定局部搜索邻域对应的最大配送用户数;所述预设约束条件包括用户数约束条件,里程约束条件和满载率约束条件,用户数约束条件是指配送点数不超过最大配送用户数,里程约束条件是指配送点的距离不超过预设最大配送里程,满载率约束条件是配送点对应的订单商品属性与预设满载率相匹配。
也就是说,本实施例中,预设约束条件中的最大配送用户数并不是固定不变的,而是动态的、与局部搜索邻域的密度值密切相关的。本实施例中,一个网格代表了一公里的范围,密度值表示单位平方公里内的商家数,密度值,依据局部搜索邻域内的网格总数以及配送点总数计算得到。
举例来说,局部搜索邻域内的网格总数为17,这17个网格内的配送点总数为50,则密度值等于50/17=2.94,即每公里约有3个配送点,计算出密度值之后根据预设的密度值与密度等级的对应关系,确定出当前局部搜索邻域的密度等级,这里的密度等级例如稠密、稀疏、一般,而密度值2.94对应的密度等级比如是稠密,进一步根据稠密这一密度等级确定当前局部搜索邻域对应的最大配送用户数;或者,根据稠密这一密度等级确定商家数浮动值,比如浮动值为30%,而后基于初始商家数(比如21)以及浮动值30%共同确定出当前局部搜索邻域对应的最大配送用户数。
由此可知,本实施例中通过计算局部搜索邻域对应的密度值,由密度值确定出局部搜索邻域对应的最大配送用户数,即采用密度自适应匹配的策略,从而对排线上的商家数量进行动态调整,完成稀疏区域和密集区域的识别,提高单车装载效率,显著减少车辆成本。
以上确定出了局部搜索邻域以及最大配送用户数,接下来执行给定约束条件下聚簇的划分搜索的步骤。
一个实施例中,对所述局部搜索邻域内的配送点进行分裂聚类,获得起始簇,包括:将所述局部搜索邻域内所有的配送点作为一个簇,将簇分裂为两个簇,选择两个簇中的一个继续进行分裂,直至所得的簇都满足所述预设约束条件;将包括所述起始网格中配送点的簇,确定为起始簇。
比如,当前局部搜索邻域内有100(仅作示例)个配送点,将50个配送点作为一个簇(即一个集合),记为簇A,对簇A进行二分裂,得到两个簇,比如簇A1和簇A2,簇A1包括10个配送点,簇A2包括40个配送点,那么将簇A1和簇A2分别与预设约束条件进行比较判断是否满足预设约束条件,比如,将簇A1、簇A2均与用户数约束条件,里程约束条件和满载率约束条件比较,判断簇A1内的配送点数是否不超过最大配送用户数,配送点的距离是否不超过预设最大配送里程,配送点对应的订单商品属性是否与预设满载率相匹配,如果三个条件都满足,则停止分裂簇A1、簇A2,如果不满足继续分裂。
假如这里的簇A2不满足三个预设约束条件,则继续进行二分裂,得到两个簇,比如簇A21和簇A22,簇A21包括15个配送点,簇A22包括25个配送点,以此类推,直至所得的簇都满足预设约束条件。注:分裂算法可采用现有技术实现,比如采用K均值聚类算法,在使用时对K均值聚类算法进行简单改造,将K值设为2,用最大最小距离法设置的初始聚类中心来代替K均值聚类算法的随机初始中心。当停止分裂时,查找每个簇中的点,确定每个簇的点中是否有属于起始网格的点,如果有,则将该簇确定为起始簇。
在确定出起始簇之后,本实施例以起始簇为搜索起点迭代搜索局部搜索邻域内的配送点,并依据预设约束条件生成包括所述配送点的配送线路。具体的,包括:步骤51,选择一个起始簇为搜索起点,确定所述局部搜索邻域内与搜索起点距离最近的当前簇;步骤52,依次添加目标配送点至搜索起点对应的起始簇;其中,所述目标配送点是当前簇中与第二质心距离最小的配送点,所述第二质心由搜索起点对应的起始簇中的配送点确定;步骤53,如果搜索起点对应的起始簇满足所述预设约束条件,则生成包括搜索起点对应的起始簇中配送点的备选配送线路并返回步骤51继续执行,直至无起始簇可供选择。
举例来说,局部搜索邻域内有4个簇,分别为簇a,簇b,簇c和簇d,这4个簇中都有起始网格内的点,即,都可以作为起始簇。那么,本实施例中分别以簇a,簇b,簇c和簇d为起始点对局部搜索邻域进行一轮搜索并生成相应的排线。
一轮搜索过程(将局部搜索邻域内的100个配送点搜索一遍称为一轮)如下:以簇a为搜索起点,确定与搜索起点距离最近的当前簇,比如与搜索起点距离最近的当前簇是簇c;
接着,依次添加当前簇中目标配送点至搜索起点对应的起始簇。这里是依据配送点与起始簇的质心的远近,具体是从近到远的次序添加配送点。从当前簇c中挑选出与起始簇a质心最近的点(记为点P),将点P添加到起始簇a中,得到新的起始簇a’;
判断搜索起点对应的起始簇a’是否满足预设约束条件,如果起始簇a’满足则生成包括起始簇a’中配送点的备选配送线路,而后返回重新确定搜索起点进行搜索,直至无起始簇可供选择。
如果搜索起点对应的起始簇低于预设约束条件,则返回执行步骤52,继续添加目标配送点至搜索起点对应的起始簇;由于搜索起点对应的起始簇低于预设约束条件,所以需要继续加点以使得起始簇内的配送点可以达到约束条件,从而能够生成一条排线。
如果搜索起点对应的起始簇超过所述预设约束条件,则进一步判断目标配送点是否属于所述起始网格;如果属于,则将目标配送点作为异常点过滤掉,并将异常点统计值加1;如果不属于,则将目标配送点返回至所述当前簇后执行步骤52。
这里是搜索点的过程中如果临界点比如点P加入后,起始簇(比如簇a)将超过预设约束条件,那么本实施例对临界点进行判断,确定临界点是否属于起始网格,如果临界点是起始网格内的点,则将临界点P作为异常点过滤掉,并将异常点统计值加1,如果不属于,则将临界点P返回至当前簇(比如簇c)。
在一个实施例中,前述步骤53还包括:如果已搜索点数指示当前已搜索到所述局部搜索区域的末端,则判断所述局部搜索区域内的未搜索配送点是否满足所述预设约束条件中的满载率约束条件;其中已搜索点数由备选配送线路包括的配送点数以及异常点统计值确定;如果未搜索配送点满足所述满载率约束条件,则依据未搜索配送点生成备选配送线路;如果未搜索配送点不满足所述满载率约束条件,则进一步判断未搜索配送点是否属于起始网格,是则,将未搜索配送点作为异常点过滤掉,否则将未搜索配送点返回至所述当前簇后执行步骤52。
接上例,在每一轮搜索中,对四个起始簇都进行了搜索后生成的备选配送线路为6条,每条备选配送线路上的点数是可以知道的,根据线路条数以及备选配送线路包括的配送点数得到第一数值,由搜索过程中获得的异常点统计值得到第二数值,根据第一数值与第二数值的和,确定已搜索点数为95,而又根据局部搜索邻域内的配送点数为100,可知,当前已搜索到局部搜索区域的末端,此时,判断局部搜索区域内的未搜索配送点(即剩余的这5个配送点)是否满足预设约束条件中的满载率约束条件,如果满足,则依据未搜索配送点(即剩余的这5个配送点)生成备选配送线路,即,一轮搜索过程中共计生成了7条备选配送线路。如果不满足,则判断未搜索配送点是否属于起始网格,是则,将未搜索配送点都作为异常点过滤掉,否则将未搜索配送点返回至原簇,在将未搜索配送点返还原簇后,供继续搜索,本申请实施例中之所以将未搜索配送点返回至原簇是为了减少抛点,即避免将未搜索配送点作为异常点抛出。
对于局部搜索邻域末端的配送点,本实施例中通过判断这些点能否达到生成排线的条件,如果能达到则生成排线,如果不能达到,则判断这些点是不是起始网格中的点,如果是则过滤掉,如果不是则返还原簇。
按照上述的步骤每一轮搜索过程中可以获得多条备选配送线路,本实施例中构建目标函数,并将目标函数值最小对应的排线结果作为最优结果。具体的,在前述步骤53之后,该方法还包括:依据搜索过程中生成的所述备选配送线路,获得总配送里程;依据总配送里程以及所述异常点统计值,获得目标函数值;比较各目标函数值的大小,将最小目标函数值对应的备选配送线路作为配送线路最优结果输出。
接上例,局部搜索邻域内有4个簇,分别为簇a,簇b,簇c和簇d,分别以簇a,簇b,簇c和簇d搜索一遍局部搜索邻域后,得到四个目标函数值,比较这四个目标函数值的大小,将最小目标函数值对应的备选配送线路作为配送线路最优结果输出,这里的目标函数等于总配送里程与异常点统计值之和,即,如果一轮搜索中,生成的排线使得总配送里程最小且异常点统计值最小,则这样的排线结果是符合目标的排线结果,是一个局部可行解。
需要说明的是,前述是以一个局部搜索邻域内排线生成进行的说明,其他局部搜索邻域内的排线生成过程参见前述说明,这里不再赘述。
由上可知,本实施例的排线生成,使用网格划分进行降维,极大地降低问题规模,加快了运算速度,避免了计算爆炸的情况。采用固定网格,有较大的优化空间,支持扩展固定区域以及车型画像等功能。另外,本实施例中采用密度自适应以支持动态确定局部搜索邻域内的密度值,从而完成稀疏区域和密集区域的识别,提高单车装载效率,显著减少车辆成本。最后,本实施例采用聚簇的分裂和合并进行排线生成,在满足给定约束的条件下,极大提高了线路的聚集效果,优化了线路形态。
与前述物流配送线路生成方法同属于一个技术构思,本申请实施例还提供了一种物流配送线路生成装置,图4是本申请一个实施例的物流配送线路生成装置的框图,参见图4,本实施例的物流配送线路生成装置400包括:
邻域确定模块401,用于依据订单数据中配送点的地理位置,对配送点进行网格划分,基于网格确定局部搜索邻域;
聚类模块402,对所述局部搜索邻域内的配送点进行分裂聚类,获得起始簇;
线路生成模块403,用于以所述起始簇为搜索起点迭代搜索所述局部搜索邻域内的配送点,并依据预设约束条件生成包括所述配送点的配送线路。
在本申请的一个实施例中,邻域确定模块401,具体用于对所述网格进行边缘检测,确定出所述网格中的边界网格,并将与第一质心距离最远的边界网格确定为起始网格;所述第一质心基于各所述网格的中心点确定;以所述起始网格为中心,以网格为单位,向外搜索邻近网格;如果起始网格与邻近网格内配送点的总数目达到预设点数阈值,则停止搜索并获得由起始网格与邻近网格确定的局部搜索邻域。
在本申请的一个实施例中,聚类模块402具体用于将所述局部搜索邻域内所有的配送点作为一个簇,将簇分裂为两个簇,选择两个簇中的一个继续进行分裂,直至所得的簇都满足所述预设约束条件;将包括所述起始网格中配送点的簇,确定为起始簇。
在本申请的一个实施例中,在基于网格确定局部搜索邻域之后,该装置还包括:约束条件确定模块,用于依据所述局部搜索邻域内的网格总数以及配送点总数,获得局部搜索邻域对应的密度值;由密度值确定出密度等级,并依据密度等级确定局部搜索邻域对应的最大配送用户数;所述预设约束条件包括用户数约束条件,里程约束条件和满载率约束条件,用户数约束条件是指配送点数不超过最大配送用户数,里程约束条件是指配送点的距离不超过预设最大配送里程,满载率约束条件是配送点对应的订单商品属性与预设满载率相匹配。
在本申请的一个实施例中,线路生成模块403具体用于选择一个起始簇为搜索起点,确定所述局部搜索邻域内与搜索起点距离最近的当前簇;依次添加目标配送点至搜索起点对应的起始簇;其中,所述目标配送点是当前簇中与第二质心距离最小的配送点,所述第二质心由搜索起点对应的起始簇中的配送点确定;如果搜索起点对应的起始簇满足所述预设约束条件,则生成包括搜索起点对应的起始簇中配送点的备选配送线路并返回继续执行确定当前簇的步骤,直至无起始簇可供选择。
在本申请的一个实施例中,线路生成模块403还用于如果搜索起点对应的起始簇低于所述预设约束条件,则返回继续添加目标配送点至搜索起点对应的起始簇;如果搜索起点对应的起始簇超过所述预设约束条件,则进一步判断目标配送点是否属于所述起始网格;如果属于,则将目标配送点作为异常点过滤掉,并将异常点统计值加1;如果不属于,则将目标配送点返回至所述当前簇。
在本申请的一个实施例中,线路生成模块403用于如果已搜索点数指示当前已搜索到所述局部搜索区域的末端,则判断所述局部搜索区域内的未搜索配送点是否满足所述预设约束条件中的满载率约束条件;其中已搜索点数由备选配送线路包括的配送点数以及异常点统计值确定;如果未搜索配送点满足所述满载率约束条件,则依据未搜索配送点生成备选配送线路;如果未搜索配送点不满足所述满载率约束条件,则进一步判断未搜索配送点是否属于起始网格,是则,将未搜索配送点作为异常点过滤掉,否则将未搜索配送点返回至所述当前簇后。
在本申请的一个实施例中,线路生成模块403用于依据搜索过程中生成的所述备选配送线路,获得总配送里程;依据总配送里程以及所述异常点统计值,获得目标函数值;比较各目标函数值的大小,将最小目标函数值对应的备选配送线路作为配送线路最优结果输出。
需要说明的是,关于图4所示装置中的各单元所执行的各功能的举例解释说明,与前述方法实施例中的举例解释说明一致,这里不再一一赘述。
注:在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请实施例的内容,并且上面对特定语言所做的描述是为了披露本申请实施例的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请实施例的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的页面性能测试装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图5是本申请一个实施例的电子设备的结构示意图。该电子设备500包括:处理器501,以及存储有可在所述处理器501上运行的计算机程序的存储器502。处理器501,用于在执行所述存储器502中的计算机程序时执行本申请实施例中方法的各步骤。存储器502可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器502具有存储用于执行上述方法中的任何方法步骤的计算机程序504的存储空间503。计算机程序504可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图6所示的非瞬时性计算机可读存储介质。
图6是本申请一个实施例的非瞬时性计算机可读存储介质的结构示意图。该计算机可读存储介质600存储有用于执行根据本申请实施例的方法步骤的计算机程序504,可以被电子设备500的处理器501读取,当计算机程序504由电子设备500运行时,导致该电子设备500执行上面所描述的方法中的各个步骤,具体来说,该计算机可读存储介质存储的计算程序504可以执行上述任一实施例中示出的方法。计算机程序504可以以适当形式进行压缩。
应该注意的是上述实施例对本申请实施例进行说明而不是对本申请实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词、第二、以及第三等的使用不表示任何顺序,可将这些单词解释为名称。

Claims (11)

1.一种物流配送线路生成方法,其特征在于,包括:
依据订单数据中配送点的地理位置对配送点进行网格划分,基于网格确定局部搜索邻域;
对所述局部搜索邻域内的配送点进行分裂聚类,获得起始簇;
以所述起始簇为搜索起点迭代搜索所述局部搜索邻域内的配送点,并依据预设约束条件生成包括所述配送点的配送线路。
2.如权利要求1所述的方法,其特征在于,所述基于网格确定局部搜索邻域包括:
对所述网格进行边缘检测,确定出所述网格中的边界网格,并将与第一质心距离最远的边界网格确定为起始网格;所述第一质心基于各所述网格的中心点确定;
以所述起始网格为中心,以网格为单位,向外搜索邻近网格;
如果起始网格与邻近网格内配送点的总数目达到预设点数阈值,则停止搜索并获得由起始网格与邻近网格确定的局部搜索邻域。
3.如权利要求1或2所述的方法,其特征在于,所述对所述局部搜索邻域内的配送点进行分裂聚类,获得起始簇包括:
将所述局部搜索邻域内所有的配送点作为一个簇,将簇分裂为两个簇,选择两个簇中的一个继续进行分裂,直至所得的簇都满足所述预设约束条件;
将包括所述起始网格中配送点的簇,确定为起始簇。
4.如权利要求1所述的方法,其特征在于,在基于网格确定局部搜索邻域之后,该方法还包括:
依据所述局部搜索邻域内的网格总数以及配送点总数,获得局部搜索邻域对应的密度值;
由密度值确定出密度等级,并依据密度等级确定局部搜索邻域对应的最大配送用户数;
所述预设约束条件包括用户数约束条件,里程约束条件和满载率约束条件,所述用户数约束条件是指配送点数不超过所述最大配送用户数,所述里程约束条件是指配送点的距离不超过预设最大配送里程,所述满载率约束条件是配送点对应的订单商品属性与预设满载率相匹配。
5.如权利要求4所述的方法,其特征在于,所述以所述起始簇为搜索起点迭代搜索所述局部搜索邻域内的配送点,并依据预设约束条件生成包括所述配送点的配送线路包括:
步骤51,选择一个起始簇为搜索起点,确定所述局部搜索邻域内与搜索起点距离最近的当前簇;
步骤52,依次添加目标配送点至搜索起点对应的起始簇;其中,所述目标配送点是当前簇中与第二质心距离最小的配送点,所述第二质心由搜索起点对应的起始簇中的配送点确定;
步骤53,如果搜索起点对应的起始簇满足所述预设约束条件,则生成包括搜索起点对应的起始簇中配送点的备选配送线路并返回步骤51继续执行,直至无起始簇可供选择。
6.如权利要求5所述的方法,其特征在于,所述步骤53还包括:
如果搜索起点对应的起始簇低于所述预设约束条件,则返回执行步骤52,继续添加目标配送点至搜索起点对应的起始簇;
如果搜索起点对应的起始簇超过所述预设约束条件,则进一步判断目标配送点是否属于所述起始网格;
如果属于,则将目标配送点作为异常点过滤掉,并将异常点统计值加1;
如果不属于,则将目标配送点返回至所述当前簇后执行步骤52。
7.如权利要求6所述的方法,其特征在于,所述步骤53还包括:
如果已搜索点数指示当前已搜索到所述局部搜索区域的末端,则判断所述局部搜索区域内的未搜索配送点是否满足所述预设约束条件中的满载率约束条件;其中已搜索点数由备选配送线路包括的配送点数以及异常点统计值确定;
如果所述未搜索配送点满足所述满载率约束条件,则依据所述未搜索配送点生成备选配送线路;
如果所述未搜索配送点不满足所述满载率约束条件,则进一步判断所述未搜索配送点是否属于所述起始网格,是则,将所述未搜索配送点作为异常点过滤掉,否则将所述未搜索配送点返回至所述当前簇后执行步骤52。
8.如权利要求6所述的方法,其特征在于,在所述步骤53之后,该方法还包括:
依据搜索过程中生成的所述备选配送线路,获得总配送里程;
依据所述总配送里程以及所述异常点统计值,获得目标函数值;
比较各所述目标函数值的大小,将最小目标函数值对应的备选配送线路作为配送线路最优结果输出。
9.一种物流配送线路生成装置,其特征在于,该装置包括:
邻域确定模块,用于依据订单数据中配送点的地理位置,对配送点进行网格划分,基于网格确定局部搜索邻域;
聚类模块,对所述局部搜索邻域内的配送点进行分裂聚类,获得起始簇;
线路生成模块,用于以所述起始簇为搜索起点迭代搜索所述局部搜索邻域内的配送点,并依据预设约束条件生成包括所述配送点的配送线路。
10.一种电子设备,其特征在于,所述电子设备包括:处理器,以及存储有可在处理器上运行的计算机程序的存储器;
其中,所述处理器,用于在执行所述存储器中的计算机程序时执行权利要求1-8中任一项所述方法的步骤。
11.一种非瞬时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-8中任一项所述方法的步骤。
CN201910610073.5A 2019-07-08 2019-07-08 一种物流配送线路生成方法和装置 Pending CN110490510A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910610073.5A CN110490510A (zh) 2019-07-08 2019-07-08 一种物流配送线路生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910610073.5A CN110490510A (zh) 2019-07-08 2019-07-08 一种物流配送线路生成方法和装置

Publications (1)

Publication Number Publication Date
CN110490510A true CN110490510A (zh) 2019-11-22

Family

ID=68546738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910610073.5A Pending CN110490510A (zh) 2019-07-08 2019-07-08 一种物流配送线路生成方法和装置

Country Status (1)

Country Link
CN (1) CN110490510A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111105095A (zh) * 2019-12-24 2020-05-05 北京顺丰同城科技有限公司 一种配送路线确定方法、装置及电子设备
CN111260276A (zh) * 2019-12-16 2020-06-09 杭州长策科技有限公司 一种快速进行实时动态路线规划的物流方法和系统
CN111369189A (zh) * 2020-02-28 2020-07-03 北京三快在线科技有限公司 生成拣货任务的方法、装置、存储介质及电子设备
CN111428991A (zh) * 2020-03-20 2020-07-17 北京百度网讯科技有限公司 用于确定配送车辆的方法和装置
CN111461430A (zh) * 2020-03-31 2020-07-28 北京百度网讯科技有限公司 用于生成路线信息的方法及装置
CN112990813A (zh) * 2021-02-09 2021-06-18 北京橙心无限科技发展有限公司 确定导航时间的方法和装置
CN113128744A (zh) * 2020-01-15 2021-07-16 北京沃东天骏信息技术有限公司 配送规划方法和装置
CN113240175A (zh) * 2021-05-11 2021-08-10 北京百度网讯科技有限公司 配送路线的生成方法、设备、存储介质和程序产品
CN113723721A (zh) * 2020-05-20 2021-11-30 百度在线网络技术(北京)有限公司 基于物流运输的智能调度方法、装置、设备及存储介质
CN113762572A (zh) * 2020-10-29 2021-12-07 北京京东振世信息技术有限公司 一种物流方法、系统、装置、电子设备及其存储介质
CN113807753A (zh) * 2020-06-12 2021-12-17 北京物联顺通科技有限公司 配送线路规划方法、装置、服务器及存储介质
CN113935528A (zh) * 2021-10-13 2022-01-14 广州市钱大妈农产品有限公司 智能调度方法、装置、计算机设备及存储介质
CN115271354A (zh) * 2022-06-24 2022-11-01 湖南湘邮科技股份有限公司 一种基于投递单元的业务电子围栏动态规划方法及系统
CN116562598A (zh) * 2023-07-07 2023-08-08 成都花娃网络科技有限公司 一种分销调度方法、装置及存储介质

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111260276A (zh) * 2019-12-16 2020-06-09 杭州长策科技有限公司 一种快速进行实时动态路线规划的物流方法和系统
CN111105095A (zh) * 2019-12-24 2020-05-05 北京顺丰同城科技有限公司 一种配送路线确定方法、装置及电子设备
CN113128744A (zh) * 2020-01-15 2021-07-16 北京沃东天骏信息技术有限公司 配送规划方法和装置
CN111369189A (zh) * 2020-02-28 2020-07-03 北京三快在线科技有限公司 生成拣货任务的方法、装置、存储介质及电子设备
CN111428991A (zh) * 2020-03-20 2020-07-17 北京百度网讯科技有限公司 用于确定配送车辆的方法和装置
CN111428991B (zh) * 2020-03-20 2022-08-02 北京百度网讯科技有限公司 用于确定配送车辆的方法和装置
CN111461430A (zh) * 2020-03-31 2020-07-28 北京百度网讯科技有限公司 用于生成路线信息的方法及装置
CN113723721B (zh) * 2020-05-20 2024-04-09 百度在线网络技术(北京)有限公司 基于物流运输的智能调度方法、装置、设备及存储介质
CN113723721A (zh) * 2020-05-20 2021-11-30 百度在线网络技术(北京)有限公司 基于物流运输的智能调度方法、装置、设备及存储介质
CN113807753B (zh) * 2020-06-12 2024-05-28 北京物联顺通科技有限公司 配送线路规划方法、装置、服务器及存储介质
CN113807753A (zh) * 2020-06-12 2021-12-17 北京物联顺通科技有限公司 配送线路规划方法、装置、服务器及存储介质
CN113762572A (zh) * 2020-10-29 2021-12-07 北京京东振世信息技术有限公司 一种物流方法、系统、装置、电子设备及其存储介质
CN113762572B (zh) * 2020-10-29 2024-04-16 北京京东振世信息技术有限公司 一种物流方法、系统、装置、电子设备及其存储介质
CN112990813A (zh) * 2021-02-09 2021-06-18 北京橙心无限科技发展有限公司 确定导航时间的方法和装置
CN113240175B (zh) * 2021-05-11 2024-02-02 北京百度网讯科技有限公司 配送路线的生成方法、设备、存储介质和程序产品
CN113240175A (zh) * 2021-05-11 2021-08-10 北京百度网讯科技有限公司 配送路线的生成方法、设备、存储介质和程序产品
CN113935528B (zh) * 2021-10-13 2023-07-21 广州市钱大妈信息科技有限公司 智能调度方法、装置、计算机设备及存储介质
CN113935528A (zh) * 2021-10-13 2022-01-14 广州市钱大妈农产品有限公司 智能调度方法、装置、计算机设备及存储介质
CN115271354B (zh) * 2022-06-24 2023-08-25 湖南湘邮科技股份有限公司 一种基于投递单元的业务电子围栏动态规划方法及系统
CN115271354A (zh) * 2022-06-24 2022-11-01 湖南湘邮科技股份有限公司 一种基于投递单元的业务电子围栏动态规划方法及系统
CN116562598A (zh) * 2023-07-07 2023-08-08 成都花娃网络科技有限公司 一种分销调度方法、装置及存储介质
CN116562598B (zh) * 2023-07-07 2023-09-19 成都花娃网络科技有限公司 一种分销调度方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN110490510A (zh) 一种物流配送线路生成方法和装置
Deng et al. A reactive GRASP with path relinking for capacitated clustering
Labadie et al. Hybridized evolutionary local search algorithm for the team orienteering problem with time windows
Aleman et al. An adaptive memory algorithm for the split delivery vehicle routing problem
US10311358B2 (en) Systems and methods for multi-objective evolutionary algorithms with category discovery
CN109146447A (zh) 区块链透明分片方法、装置及系统
CN104915817A (zh) 一种集装箱的装箱方法和装置
CN105430032A (zh) 结合终端地理位置推送信息的方法及服务器
CN106156092B (zh) 数据处理方法及装置
CN108647810A (zh) 订单运输的分配方法及装置、计算机可读介质
CN103927310B (zh) 一种地图数据搜索建议生成方法及装置
CN103853769B (zh) 一种地图查询请求处理方法及装置
CN109919365A (zh) 一种基于双策略搜索的电动车辆路径规划方法及系统
CN110428118A (zh) 订单处理方法及装置、仓储系统和计算机存储介质
CN112183852A (zh) 物流配送路线筛选及运费核算方法、系统、终端及介质
CN109523202B (zh) 订单处理方法、装置、设备及计算机可读存储介质
Tyagi et al. Test case prioritization using multi objective particle swarm optimizer
CN109784791A (zh) 订单分配方法和装置
CN106202092A (zh) 数据处理的方法及系统
CN108615130A (zh) 出库定位方法及装置
CN108764741B (zh) 用于确定工厂设定区域内的生产设备布局的方法及装置
CN104063831A (zh) 一种提供铁路行程方案的方法及装置
CN111461396A (zh) 物流排线方法、装置、电子设备及可读存储介质
CN107526815A (zh) 目标区域范围内的移动模式的确定方法及电子设备
Bouanane et al. Multi-depots vehicle routing problem with simultaneous delivery and pickup and inventory restrictions: Formulation and resolution

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