配送区域划分方法和装置与流程

文档序号:13137895阅读:2426来源:国知局
配送区域划分方法和装置与流程

本发明涉及互联网技术领域,尤其涉及一种配送区域划分方法和装置。



背景技术:

随着互联网的发展,线上到线下(onlinetooffline,简称o2o)服务作为一种新型的服务模式,已经大大改变了人们的生活方式,比如购物方式,用户通过网上购物类应用,足不出户即可获取自己所需的物品。这些应用在便利用户的同时,也面临着订单配送问题,于是物流调度系统应运而生。

目前,在一些实际场景中,比如同城配送的场景中,物流调度系统对订单的调度往往是基于配送区域(一些场景中也称为商圈)进行调度的。简单来说,就是将某配送区域内产生的订单分配给归属于该配送区域的配送人员进行配送。



技术实现要素:

以某城市来说,目前,对该城市进行配送区域的划分主要是相关工作人员凭借对该城市道路交通状况、商户分布情况、用户分布情况等的了解,在地图上经验划分出多个彼此覆盖区域不相交的配送区域。从而,在对该城市的订单进行调度时,则是基于人工划分得到的多个配送区域进行调度的。

人工经验划定的配送区域可能是不合理的,从而可能导致订单调度时,可能会导致配送运力的浪费。

举例来说,基于人工经验划定的配送区域可能产生大量的跨配送区域订单。在目前基于配送区域的订单调度机制下,这些跨配送区域订单会导致配送人员的空驶返程现象,是对配送运力的一种浪费。

以外卖订单的配送场景为例来说,订单中可以包含有取货位置和送货位置两种位置信息,那么当某订单的取货位置和送货位置对应于不同的配送区域时,该订单即为跨配送区域订单。

上述基于配送区域的订单调度机制,简单来说为:配送人员只能接受其所归属的配送区域的订单。其中,订单对应的配送区域可以这样确定:根据订单的取货位置所对应的配送区域确定该订单为哪个配送区域的订单。那么在对该订单进行调度时,需要将该订单分配给归属于配送区域a的某配送人员来完成订单的配送。而配送人员归属于哪个配送区域可以这样确定:根据配送人员在物流调度系统中提供的注册信息确定,也就是说,配送人员在注册时,即注册到了某个配送区域。基于此,假设某配送人员归属于配送区域a,其只能接受配送区域a的订单,意味着其只能接受取货位置在配送区域a的订单。

上述空驶返程现象可以根据如下举例理解:假设某个跨配送区域订单的取货位置对应于配送区域a,送货位置对应于配送区域b,此时,该订单被确定为是配送区域a的订单,会被分配给配送区域a中的某个配送人员来配送。该配送人员在行至配送区域b中的送货位置完成配送后,需要空驶返回到归属的配送区域a中继续接受配送区域a的订单,而不能在配送区域b内接受配送区域b内的订单,因为该配送人员归属于配送区域a,只能接受其归属的配送区域a的订单。从而,该跨配送区域订单造成了配送人员在返回至配送区域a的过程中的空跑现象,浪费了配送运力。

综上,由于人工经验有限、考虑因素单一,很可能导致配送区域范围的划分常有不合理的现象发生,对配送运力等会产生不利影响。

有鉴于此,本发明实施例提供一种配送区域划分方法和装置,用以提高配送区域范围划分结果的合理性。

第一方面,本发明实施例提供一种配送区域划分方法,包括:

根据多个历史订单彼此的地理位置相似度,对所述多个历史订单进行聚类处理,获得n个类簇,n≥1;

根据所述n个类簇各自包含的历史订单的地理位置,获取所述n个类簇各自对应的覆盖区域;

根据所述n个类簇各自对应的覆盖区域确定所述n个类簇各自对应的配送区域。

第二方面,本发明实施例提供一种配送区域划分装置,包括:

聚类模块,用于根据多个历史订单彼此的地理位置相似度,对所述多个历史订单进行聚类处理,获得n个类簇,n≥1;

获取模块,用于根据所述n个类簇各自包含的历史订单的地理位置,获取所述n个类簇各自对应的覆盖区域;

第一确定模块,用于根据所述n个类簇各自对应的覆盖区域确定所述n个类簇各自对应的配送区域。

在一个可能的设计中,上述配送区域划分装置的结构中包括处理器和存储器,所述存储器用于存储支持配送区域划分装置执行上述第一方面中配送区域划分方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述配送区域划分装置还可以包括通信接口,用于配送区域划分装置与其他设备或通信网络通信。

第三方面,本发明实施例提供了一种计算机存储介质,用于储存配送区域划分装置所用的计算机软件指令,其包含用于执行上述第一方面中配送区域划分方法所涉及的程序。

本发明实施例提供的配送区域划分方法和装置,获取大量实际产生的真实历史订单,通过结合这些历史订单彼此之间的地理位置相似度,对这些历史订单进行聚类处理,将地理位置更为相近的历史订单聚类到一个类簇中,从而获得n个类簇。进而,对于任一类簇来说,根据该类簇包含的历史订单的地理位置的分布,可以划定包含该类簇内全部历史订单的地理位置的一个闭合的覆盖区域,以据此覆盖区域确定该类簇所对应的配送区域的范围。由于属于同一类簇的历史订单彼此之间的地理位置相似度很高,而不同类簇间历史订单的地理位置相似度很低,因此,通过上述聚类处理可以使得不同类簇的覆盖区域相对独立,从而,基于对大量历史订单进行地理位置的聚类处理,实现对配送区域的自动划定。

另外,本方案也可以被理解为是对各配送区域的范围进行不断优化的方案。假设执行本方案之前已经具有的各配送区域称为原配送区域,针对上述历史订单来说,基于各历史订单的地理位置在原配送区域的定位情况,假设其中有些历史订单属于跨配送区域订单。在经本方案的配送区域划分方法处理后,这些原来为跨配送区域的历史订单会被基于与其他历史订单的地理位置相似度聚类到某一类簇中,而该类簇的覆盖区域会包含该跨配送区域历史订单的地理位置,从而据此类簇的覆盖区域划定的配送区域的范围则会覆盖该跨配送区域历史订单的地理位置,那么后续再出现与该跨配送区域历史订单的地理位置相对应的新订单时,该新订单则不会再成为跨配送区域订单。从而说明,基于本方案对配送区域的不断优化划分,可以有效降低跨配送区域订单的产生。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的配送区域划分方法实施例一的流程图;

图2为图1所示实施例中步骤102的一种可选实现方式的流程图;

图3a为图1所示实施例中步骤103的一种可选实现方式的流程图;

图3b-图3f为执行图3a所示实施例时的过程示意图;

图4为本发明实施例提供的配送区域划分方法实施例二的流程图;

图5为本发明实施例提供的配送区域划分装置实施例一的结构示意图;

图6为本发明实施例提供的配送区域划分装置实施例二的结构示意图;

图7为本发明实施例提供的配送区域划分装置实施例三的结构示意图;

图8为本发明实施例提供的配送区域划分装置实施例四的结构示意图;

图9为本发明实施例提供的与配送区域划分装置对应的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述xxx,但这些xxx不应限于这些术语。这些术语仅用来将xxx区分开。例如,在不脱离本发明实施例范围的情况下,第一xxx也可以被称为第二xxx,类似地,第二xxx也可以被称为第一xxx。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

进一步值得说明的是,本发明各实施例中各步骤之间的顺序是可以调整的,不是必须按照以下举例的顺序执行。

图1为本发明实施例提供的配送区域划分方法实施例一的流程图,本实施例提供的该配送区域划分方法可以由一配送区域划分装置来执行,该配送区域划分装置可以实现为软件,或者实现为软件和硬件的组合,该配送区域划分装置可以集成设置在物流调度平台侧的设备中,比如服务器中。如图1所示,该方法包括如下步骤:

101、根据多个历史订单彼此的地理位置相似度,对多个历史订单进行聚类处理,获得n个类簇,n≥1。

上述多个历史订单可以通过收集一定历史时间内、某城市的一个或多个原始配送区域所对应的订单获得。其中,该原始配送区域是指在执行本发明实施例提供的配送区域划分方法之前已经划得的配送区域。从这个角度来说,本发明实施例提供的配送区域划分方法也可以视为是一种配送区域划分范围的优化方法。

在一可选场景中,当实际需求是针对某城市中特定的一个或多个原始配送区域进行配送区域的重新划分处理时,基于订单所属配送区域的判定原则,即比如根据订单的取货位置所属的配送区域,在一定历史时间收到的全部历史订单中筛选出对应于上述一个或多个原始配送区域的全部或部分历史订单作为上述多个历史订单。

在订单配送领域中,订单所对应的地理位置可以包括取货位置和送货位置。以外卖场景来说,该取货位置往往对应于某商户的地址,该送货位置往往对应于购买商品的用户的地址。

本实施例中,可选地,对多个历史订单进行聚类处理所依据的历史订单彼此的地理位置相似度,可以通过如下至少一种参数进行度量:取货位置之间的距离、送货位置之间的距离、取货位置与送货位置的位置中心点之间的距离。

可选地,对多个历史订单进行聚类处理,可以通过如下方式实现:预先设置相似度阈值,并计算任意两个历史订单间的地理位置相似度,从而将彼此的地理位置相似度大于或等于该相似度阈值的历史订单聚类到同一类簇中。具体实现时,在一种可选方式中,可以首先从多个历史订单中随机选择一个历史订单作为基准订单,该基准订单引出一个类簇,进而,基于剩余的未聚类历史订单分别与该基准订单间的地理位置相似度,从剩余的未聚类历史订单中选择出与该基准订单间的地理位置相似度大于相似度阈值的历史订单,加入到该基准订单对应的类簇中,从而形成与该基准订单对应的类簇。这里,未聚类历史订单是指还没有被聚类到一类簇内的历史订单。之后,针对剩余的未聚类历史订单,再进行上述基准订单的选择以及形成该基准订单对应的类簇的处理,直到所有的历史订单都被聚类到某个类簇中。

举例来说,假设上述多个历史订单包括订单1、订单2、订单3、订单4、订单5、订单6。第一次选择出的基准订单为订单1,引出类簇1,根据其他未聚类历史订单即订单2、订单3、订单4、订单5、订单6分别与订单1的地理位置相似度与相似度阈值的比较,假设订单2、订单3与订单1的地理位置相似度大于该相似度阈值,则将订单2、订单3聚类到订单1对应的类簇1中,从而,类簇1中包括订单1、订单2、订单3。之后,假设第二次选择的基准订单为订单6,引出类簇2,根据其他剩余订单即订单4、订单5分别与订单6的地理位置相似度与相似度阈值的比较,假设订单4与订单6的地理位置相似度大于该相似度阈值,则将订单4聚类到订单6对应的类簇2中,从而,类簇2中包括订单4、订单6。之后,只剩下订单5,订单5形成类簇3。

在另一种可选方式中,可以首先从多个历史订单中随机选择一个历史订单作为基准订单,引出一个类簇。进而,可以根据多个历史订单中的未聚类订单与该基准订单对应的类簇中的历史订单的地理位置相似度,对未聚类订单进行聚类处理。具体来说,该聚类处理过程是:每当向该类簇中加入一个历史订单后,下一个加入的历史订单需要满足这样的条件:与该类簇中已经加入的各历史订单间的地理位置相似度都大于或等于相似度阈值。

举例来说,假设上述多个历史订单包括订单1、订单2、订单3、订单4、订单5、订单6。第一次选择出的基准订单为订单1,引出类簇1。此时的未聚类历史订单为订单2、订单3、订单4、订单5、订单6,假设从中随机选择出订单2进行能否进入类簇1的判定,假设该订单2与订单1的地理位置相似度大于相似度阈值,被加入到类簇1中。此时,剩余的未聚类历史订单更新为订单3、订单4、订单5、订单6,进而,从该未聚类历史订单中选择出一个与类簇1中已加入的订单1和订单2之间的地理位置相似度均大于该相似度阈值的订单,假设订单5满足该条件,从而将订单5加入到类簇1中。假设此时剩余的未聚类历史订单即订单3、订单4、订单6中不存在与已加入类簇1中的各历史订单间的地理位置相似度均大于相似度阈值的历史订单,则最终形成的类簇1中包括订单1、订单2和订单5。之后,针对剩余的历史订单再进行上述的聚类处理,直到所有历史订单都被聚类到某个类簇中。

为了获得更佳的聚类效果,即为了使得属于同一类簇的历史订单彼此之间的地理位置相似度很高,而不同类簇间历史订单的地理位置相似度很低,实际应用中,上述地理位置相似度一般会通过多种度量参数的加权结果来表达。其中,在一种最简单的方式中,加权系数可以设置为1,也可以经验设定每种度量参数的加权系数。比如,地理位置相似度表达为:a/a+b/b,其中,a为取货位置之间的距离,b为送货位置之间的距离,加权系数a+b=1。此时,意味着两个历史订单间的地理位置相似度需要考虑取货地址间距离以及送货地址间距离。可选地,可以针对每种度量参数设置相应的相似度阈值,比如设置与取货地址间距离对应的阈值1,以及与送货地址间距离对应的阈值2,此时,两个历史订单的地理位置相似度由取货地址间距离对应的相似度分值1和送货地址间距离对应的相似度分值2组成,只有相似度分值1大于阈值1且相似度分值2大于阈值2时,该两个历史订单才被认为是较为相似的。其中,以相似度分值1为例,相似度分值1与其对应的取货地址间的距离之间具有预设的对应关系,比如可以通过预设函数式设定该对应关系,也就是说,可以预先设定取货地址间的距离与相似度分值之间的函数映射关系:f(l),其中,l表示取货地址间的距离,f表示函数映射关系。

本实施例中,通过结合上述多个历史订单彼此之间的地理位置相似度,对这些历史订单进行聚类处理,假设可以获得n个类簇,其中,基于该聚类处理,地理位置更为相近的历史订单会被聚类到一个类簇中,即彼此间地理位置相似度大于或等于预设的相似度阈值的历史订单会被聚类到一个类簇中。

另外,假设基于原始配送区域来说,上述多个历史订单中的某历史订单为跨配送区域订单,即假设该历史订单的取货位置和收货位置分别对应于不同的原始配送区域。在经上述聚类处理后,该跨配送区域的历史订单可能会被基于与其他历史订单的地理位置相似度聚类到某一类簇中,因为多个历史订单中可能还会存在一定数量的历史订单与该历史订单一样,都是跨配送区域订单,且所跨的配送区域也是相同的。这也解释了为何说本发明实施例提供的配送区域划分方法也可以视为是一种配送区域划分范围的优化方法,因为如果两个原始配送区域间存在较多的跨配送区域订单,可能这两个原始配送区域的划分是不合适的。而如果某个类簇中包含了跨原始配送区域的历史订单,那么该类簇的覆盖区域会包含该跨原始配送区域的历史订单的取货地址和送货地址,从而在进行该类簇进行配送区域的划分时,新划分得到的配送区域将会覆盖该跨原始配送区域的历史订单的取货地址和送货地址,使得跨原始配送区域的历史订单在新划分得到的配送区域内不会再为跨配送区域的订单,从而,新划分得到的配送区域很可能会大大降低跨配送区域订单的产生。

102、根据n个类簇各自包含的历史订单的地理位置,获取n个类簇各自对应的覆盖区域。

在对多个历史订单进行聚类处理,得到n个类簇后,这多个历史订单会被划分到不同的类簇中。其中,一个历史订单仅会被聚类到一个类簇中。进而,针对每个类簇来说,可选地,可以根据该类簇中包含的历史订单所对应的地理位置,在预设地图上划定该类簇对应的覆盖区域,该覆盖区域使得该类簇中全部历史订单所对应的地理位置都在该覆盖区域内。其中,该预设地图可以是用于进行上述某城市的配送区域划分之用的基础地图,其中包含有道路、预先设定的一些配送区域的名称,商户名称等元素,可选地,该预设地图上还可以显示有与各配送区域名称对应的原配送区域范围的标识。

在得到n个类簇,确定任一类簇对应的覆盖区域时,可以先在预设地图上,定位该任一类簇内包含的历史订单的标识,进而,在该预设地图上,划定该任一类簇的覆盖区域。

可选地,该历史订单的标识可以是某种形状的图案,比如圆点、方块、小红旗,用于标识对应历史订单的取货地址和送货地址,因此,每个历史订单可以具有两个标识,一个用于标识取货地址、一个用于标识送货地址。

可选地,任一类簇对应的覆盖区域的确定,可以通过采用凸包算法获得,即通过求取覆盖该类簇中全部历史订单所对应的地理位置的最小凸多边形来获得该覆盖区域。具体地,可以预先在预设地图上建立直角坐标系,针对任一类簇来说,将该任一类簇内包含的历史订单的标识定位到预设地图上之后,可以得到各历史订单标识在该坐标系中对应的坐标位置。进而,可以采用目前常用的凸包算法如graham扫描法和jarvis步进法进行各类簇对应的覆盖区域的求解。

103、根据n个类簇各自对应的覆盖区域确定n个类簇各自对应的配送区域。

本实施例中,在收集的上述多个历史订单足够充分的情况下,比如收集的历史订单的数量至少达到一定数量阈值,和/或收集的天数已经至少达到一定的天数阈值,此时,可选地,针对n个类簇中任一类簇对应的配送区域来说,可以直接确定该任一类簇对应的配送区域为其对应的覆盖区域。或者,可选地,也可以确定该任一类簇对应的配送区域为其对应的覆盖区域与该类簇对应的原配送区域的并集。

针对确定该任一类簇对应的配送区域为其对应的覆盖区域与该类簇对应的原配送区域的并集来说,首先需要确定该类簇对应的原配送区域是哪个。具体地,因为基于前述基于地理位置相似度的聚类处理,聚入到一类簇中的历史订单基本上是由对应于同一原配送区域的历史订单组成,因此,某类簇对应的原配送区域可以根据该类簇中绝大多数历史订单所对应的原配送区域确定。

下面具体说明一下确定上述任一类簇对应的配送区域为其对应的覆盖区域与该类簇对应的原配送区域的并集后,相比于该原始配送区域,为何会降低跨配送区域订单的产生:

针对基于原始配送区域而言的某跨配送区域的历史订单来说,由于该跨配送区域的历史订单会被基于与其他历史订单的地理位置相似度聚类到某一类簇中,而该类簇的覆盖区域会包含该跨配送区域历史订单的地理位置,即包含其取货位置和送货位置,从而,根据该类簇的覆盖区域划定的配送区域的范围也会覆盖该跨配送区域历史订单的地理位置,那么后续再出现与该跨配送区域历史订单的地理位置相对应的新订单时,该新订单则不会再成为跨配送区域订单。从而说明,基于本实施例提供的配送区域划分方法对配送区域的不断优化划分,可以有效降低跨配送区域订单的产生。

综上,通过结合大量历史订单彼此之间的地理位置相似度,对该大量历史订单进行聚类处理,并基于各类簇所对应的覆盖区域范围确定对应类簇的配送区域,实现了配送区域的自动划定,并且可以使得划得的配送区域可以有利于降低跨配送区域订单的产生,从而有利于对配送运力的高效利用。

图2为图1所示实施例中步骤102的一种可选实现方式的流程图,如图2所示,可以包括如下步骤:

201、根据n个类簇各自包含的历史订单的地理位置,获取n个类簇各自对应的订单线段,订单线段与历史订单一一对应,每条订单线段以对应的历史订单的取货位置和送货位置为端点。

202、获取n个类簇各自对应的最小闭合多边形,该最小闭合多边形使得属于对应类簇的订单线段都被包含在该最小闭合多边形内,n个类簇各自对应的最小闭合多边形作为n个类簇各自对应的覆盖区域。

在得到n个类簇,确定任一类簇对应的覆盖区域时,可选地,可以在预设地图上先绘制该任一类簇内包含的历史订单的标识。进而,针对任一类簇来说,参见前述实施例中的说明,可以通过采用凸包算法等算法求取覆盖该类簇对应的全部订单线段的最小闭合多边形来获得该覆盖区域。

可选地,该历史订单的标识可以表现为订单线段的形式,此时,一个历史订单对应有一个订单线段,该订单线段的两个端点分别为该历史订单的取货位置和送货位置。

为了明显区分各类簇对应的订单线段,为方便进行后续的类簇对应的覆盖区域的确定,可以采用不同的绘制样式在预设地图上绘制各类簇对应的订单线段。其中,绘制样式的差别可以体现为颜色、线条形状等的不同。

上述借助预设地图来确定n个类簇各自对应的订单线段主要是可以在预设地图上真实地打点各历史订单对应的取货地址和送货地址,从而可以方便地获得各类簇对应的历史订单的订单线段分布情况。但是,也可以不借助于该预设地图实现。可选地,可以随机从多个历史订单中选择一个历史订单,以该历史订单的取货地址或送货地址作为参考地址,确定各历史订单的取货地址、送货地址相对该参考地址的相对位置,进而连接每个历史订单的取货地址和送货地址,得到每个历史订单的订单线段。

实际应用中,在基于一定算法获得各类簇对应的覆盖区域之后,在一可能的情况下,获得的覆盖区域并不一定是完全相互独立的覆盖区域,即可能部分覆盖区域存在重叠。下面,结合图3所示实施例对此情况下如何确定各类簇对应的配送区域。

图3a为图1所示实施例中步骤103的一种可选实现方式的流程图,如图3a所示,可以包括如下步骤:

301、对于n个类簇中的任一类簇ni,判断类簇ni对应的覆盖区域与其他类簇nj对应的覆盖区域是否存在重叠,j=1,2,…,n,且j≠i,若不重叠,则执行步骤302,否则,执行步骤303-306。

具体地,针对任意两个类簇来说,如果这两个类簇的覆盖区域存在如下的情况,则认为这两个类簇的覆盖区域存在重叠:如果存在至少一个订单线段,该订单线段对应的取货位置在这两个类簇的一个类簇中,该订单线段对应的送货位置在这两个类簇的另一个类簇中。

302、确定类簇ni对应的配送区域为类簇ni对应的覆盖区域。

对于任一类簇ni来说,如果n个类簇中不存在覆盖区域与该任一类簇ni的覆盖区域存在重叠的类簇,则可选地,该任一类簇ni对应的配送区域可以直接确定为该任一类簇ni对应的覆盖区域。

303、确定类簇ni和类簇nj在重叠区域内分别对应的订单线段个数。

304、根据类簇ni和类簇nj在重叠区域内分别对应的订单线段个数确定重叠区域归属的类簇。

305、根据重叠区域归属的类簇调整类簇ni对应的覆盖区域。

306、确定类簇ni对应的配送区域为调整后的类簇ni对应的覆盖区域。

对于任一类簇ni来说,如果n个类簇中至少存在某个类簇nj,该类簇nj的覆盖区域与类簇ni的覆盖区域存在重叠,则可以通过确定该重叠区域的归属来调整类簇ni的覆盖区域,同时意味着,类簇nj的覆盖区域也会适应性调整。

该重叠区域的归属的确定,可以根据类簇ni和类簇nj分别落入该重叠区域内的订单线段的个数确定。其中,针对类簇ni或类簇nj来说,只要其对应的某订单线段与该重叠区域有交叉,即可以认为该订单线段落入该重叠区域,而并不一定要求该订单线段完全位于重叠区域内部才认为是落入该重叠区域。

对于落入该重叠区域内的某订单线段来说,由于该订单线段是用于表示一个历史订单的,该历史订单在经过聚类处理后被聚入了类簇ni中或者类簇nj中,从而,根据该订单线段对应的历史订单是被聚入了类簇ni中还是类簇nj中,可以确定该订单线段所对应的类簇。也就是说,在该重叠区域内,类簇ni对应的订单线段即为落入该重叠区域内的,且对应的历史订单被聚入类簇ni中的订单线段。

假设最终确定在该重叠区域内,类簇ni对应的订单线段个数大于类簇nj对应的订单线段个数,则可以认为该重叠区域归属于类簇ni中,此时,类簇ni的覆盖区域会扩大,而类簇nj的覆盖区域可能由于需要去除重叠区域而会变小。相反地,假设最终确定在该重叠区域内,类簇ni对应的订单线段个数小于类簇nj对应的订单线段个数,则可以认为该重叠区域归属于类簇nj中,此时,类簇ni的覆盖区域由于需要去除重叠区域而会变小,而类簇nj的覆盖区域可能扩大。

其中,以类簇ni的覆盖区域会扩大,类簇nj的覆盖区域会变小为例来说明此时类簇ni和类簇nj的覆盖区域的一种可选确定方式:由于将上述重叠区域归属给了类簇ni,相当于将位于重叠区域内的订单线段所对应的历史订单都划至类簇ni中了,此时,类簇ni和类簇nj分别包含的历史订单会发生更新:类簇ni中会被加入重叠区域内的订单线段所对应的历史订单,相应的,类簇nj中会被去除重叠区域内的订单线段所对应的历史订单,从而,可以根据类簇ni和类簇nj中更新后的历史订单的地理位置,调整类簇ni和类簇nj的覆盖区域。

结合图3b直观来看,图中,在类簇ni与类簇nj的覆盖区域的重叠区域中,假设订单线段a1、a2、a3为与类簇ni对应的订单线段,订单线段b1和b2为与类簇nj对应的订单线段,则由于重叠区域中类簇ni对应的订单线段个数大于类簇nj对应的订单线段个数,从而,该重叠区域归属于类簇ni,调整后的覆盖区域如图3c所示。

上述重叠区域的归属的确定,是将重叠区域作为一个整体来进行其归属的确定的。但是,实际上,可能会出现这样的情形:虽然类簇ni和类簇nj的覆盖区域存在重叠,但是,在重叠区域中,订单线段的分布可能呈现这样的特点:在更靠近类簇ni的部分,类簇ni对应的订单线段较多,在更靠近类簇nj的部分,类簇nj对应的订单线段较多。其中,对于位于类簇ni和类簇nj的重叠区域中的任一订单线段来说,更靠近类簇ni往往意味着相对类簇ni的覆盖区域边界的距离大于相对类簇nj的覆盖区域边界的距离。此时,为了更加精确地确定重叠区域的归属,可以对重叠区域进行更小粒度的归属确定处理。

也就是说,对于上述重叠区域的归属的确定,既可以将该重叠区域作为一个整体进行其归属的确定,也可以将该重叠区域细分为多个子区域,通过确定多个子区域的归属来确定该重叠区域的归属。

以类簇ni和类簇nj的覆盖区域为例来说,可以先对该重叠区域进行网格划分,获得m个网格,如图3d所示。其中,网格的形状和大小可以根据实际需求而设定。值得说明的是,对该重叠区域进行网格划分既可以是直接针对该重叠区域进行网格划分实现的,也可以是通过对所有n个类簇的覆盖区域的整体进行网格划分而间接实现的。进而,针对m个网格的各个网格来说,确定类簇ni和类簇nj在各网格内分别对应的订单线段个数,以根据类簇ni和类簇nj在各网格内分别对应的订单线段个数,确定m个网格各自归属的类簇。其中,各网格所归属的类簇的确定过程可以参见前述说明理解,在此不赘述。如图3d所示,假设各网格的归属如图中所示,其中,网格中带有ni字样,代表该网格归属于类簇ni,网格中带有nj字样,代表该网格归属于类簇nj。

但是,值得说明的是,对于落入类簇ni和类簇nj的重叠区域中的任一订单线段来说,该订单线段可能落入多个网格中,即与多个网格有交叉,比如对应于类簇ni的某订单线段与网格1和网格2有交叉,那么,在进行类簇ni在网格1内对应的订单线段个数的确定时,该订单线段被作为类簇ni在网格1内对应的一条订单线段进行个数计算,而进行类簇ni在网格2内对应的订单线段个数的确定时,该订单线段也会被作为类簇ni在网格2内对应的一条订单线段进行个数计算。

在一可选场景中,如图3d所示,在确定m个网格各自归属的类簇之后,可能会出现这样的现象:对于其中的某个网格来说,该网格归属的类簇与其周围其他网格归属的类簇不同,此时,该网格的归属往往需要修正。

因此,对于m个网格中的任一网格mk,可以根据网格mk在重叠区域中的位置以及网格mk的多个邻近网格所归属的类簇,识别网格mk是否为异常网格;若网格mk是异常网格,则可以根据网格mk的多个邻近网格所归属的类簇,更新网格mk所归属的类簇。如图3d中,差别显示出的网格,原来归属为类簇nj,由于其周围网格大部分都归属于类簇ni中,尤其是比其更加靠近类簇nj的网格也归属于类簇ni,则说明该网格为异常网格,需要进行归属类簇的修正,将其修正为类簇ni,如图3e所示。导致这种现象出现的原因可能是:重叠区域内类簇nj对应的订单线段恰好在某个网格的覆盖范围集中分布,而类簇ni对应的订单线段在该网格的周围网格中广泛分布。

最后,可以根据m个网格各自归属的类簇调整类簇ni对应的覆盖区域。具体地,将重叠区域内对应于类簇ni的网格划入类簇ni的覆盖区域中,将重叠区域内对应于类簇nj的网格划入类簇nj的覆盖区域中,如图3f所示。

从而,可选地,可以确定类簇ni对应的配送区域为调整后的类簇ni对应的覆盖区域。

以上实施例中,在对多个历史订单基于地理位置相似度进行聚类处理得到n个类簇后,当不同类簇之间的覆盖区域存在重叠时,通过对重叠区域进行准确的归属类簇的确定,可以实现各类簇覆盖区域的合理调整,以使得基于该调整后的各类簇的覆盖区域确定出更为合理的配送区域。

图4为本发明实施例提供的配送区域划分方法实施例二的流程图,如图4所示,在前述各实施例基础上,以图1所示实施例为例,步骤103之后,还可以包括如下步骤:

401、结合多个历史订单各自对应的原始配送区域,确定多个历史订单对应的原跨配送区域订单比。

402、结合n个类簇各自对应的配送区域,确定多个历史订单对应的新跨配送区域订单比。

403、根据原跨配送区域订单比和新跨配送区域订单比确定n个类簇各自对应的配送区域是否合理。

在基于前述各实施例得到n个类簇各自对应的配送区域后,还可以验证n个类簇各自对应的配送区域划分的是否合理。可选地,由于不合理配送区域的划分可能会导致较多的跨配送区域订单的产生,因此,可以根据跨配送区域订单有无降低来验证n个类簇对应的配送区域的划分结果是否合理。

具体地,针对上述多个历史订单中的任一历史订单来说,可以根据其取货位置和送货位置是否位于同一个原始配送区域中来确定是否为跨配送区域订单,从而,在原始配送区域下,可以根据多个历史订单中跨配送区域订单的个数与该多个历史订单的总数的比值,确定多个历史订单对应的原跨配送区域订单比。另外,对于任一历史订单来说,由于经过聚类处理后该历史订单已经被聚入某一类簇中,根据该历史订单的取货位置和送货位置是否位于其聚入的类簇所对应的配送区域中,可以确定该历史订单当前是否为跨配送区域订单,从而,在新划分得到的n个类簇各自对应的配送区域下,可以根据多个历史订单中跨配送区域订单的个数与该多个历史订单的总数的比值,确定多个历史订单对应的新跨配送区域订单比。如果原跨配送区域订单比大于新跨配送区域订单比,说明新确定出的n个类簇对应的配送区域合理,反之,说明新确定出的n个类簇对应的配送区域不合理。如果不合理,则可以保持各原始配送区域不变,即当前不对原始配送区域进行调整。

以下将详细描述本发明的一个或多个实施例的配送区域划分装置。本领域技术人员可以理解,这些配送区域划分装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。

图5为本发明实施例提供的配送区域划分装置实施例一的结构示意图,如图5所示,该装置包括:聚类模块11、获取模块12、第一确定模块13。

聚类模块11,用于根据多个历史订单彼此的地理位置相似度,对所述多个历史订单进行聚类处理,获得n个类簇,n≥1。

获取模块12,用于根据所述n个类簇各自包含的历史订单的地理位置,获取所述n个类簇各自对应的覆盖区域。

第一确定模块13,用于根据所述n个类簇各自对应的覆盖区域确定所述n个类簇各自对应的配送区域。

其中,所述地理位置包括取货位置和送货位置;所述地理位置相似度通过如下至少一种参数度量:取货位置之间的距离、送货位置之间的距离、取货位置与送货位置的位置中心点之间的距离。

图5所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。

图6为本发明实施例提供的配送区域划分装置实施例二的结构示意图,如图5所示,在图5所示实施例基础上,所述获取模块12包括:第一获取单元121、第二获取单元122。

第一获取单元121,用于根据所述n个类簇各自包含的历史订单的地理位置,获取所述n个类簇各自对应的订单线段,订单线段与历史订单一一对应,每条订单线段以对应的历史订单的取货位置和送货位置为端点。

第二获取单元122,用于获取所述n个类簇各自对应的最小闭合多边形,所述最小闭合多边形使得属于对应类簇的订单线段都被包含在所述最小闭合多边形内,所述n个类簇各自对应的最小闭合多边形作为所述n个类簇各自对应的覆盖区域。

图6所示装置可以执行图2所示实施例的方法,本实施例未详细描述的部分,可参考对图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2所示实施例中的描述,在此不再赘述。

图7为本发明实施例提供的配送区域划分装置实施例三的结构示意图,如图6所示,在前述实施例基础上,所述第一确定模块13包括:第一确定单元131、第二确定单元132、第三确定单元133、调整单元134、第四确定单元135。

在一种情形下:

第一确定单元131,用于对于所述n个类簇中的任一类簇ni,若所述类簇ni对应的覆盖区域与其他类簇nj对应的覆盖区域不重叠,则确定所述类簇ni对应的配送区域为所述类簇ni对应的覆盖区域,j=1,2,…,n,且j≠i。

在另一种情形下:

第二确定单元132,用于对于所述n个类簇中的任一类簇ni,若所述类簇ni对应的覆盖区域与其他类簇nj对应的覆盖区域存在重叠,则确定所述类簇ni和所述类簇nj在重叠区域内分别对应的订单线段个数,j=1,2,…,n,且j≠i。

第三确定单元133,用于根据所述订单线段个数确定所述重叠区域归属的类簇。

调整单元134,用于根据所述重叠区域归属的类簇调整所述类簇ni对应的覆盖区域。

第四确定单元135,用于确定所述类簇ni对应的配送区域为调整后的所述类簇ni对应的覆盖区域。

可选地,所述第二确定单元132具体用于:对所述重叠区域进行网格划分,获得m个网格;确定所述类簇ni和所述类簇nj在所述m个网格的各网格内分别对应的订单线段个数。

相应地,所述第三确定单元133具体用于:根据所述类簇ni和所述类簇nj在所述m个网格的各网格内分别对应的订单线段个数,确定所述m个网格各自归属的类簇。

相应地,所述调整单元134具体用于:根据所述m个网格各自归属的类簇调整所述类簇ni对应的覆盖区域。

可选地,所述第一确定模块13还包括:识别单元136、更新单元137。

识别单元136,用于对于所述m个网格中的任一网格mk,根据所述网格mk在所述重叠区域中的位置以及所述网格mk的多个邻近网格所归属的类簇,识别所述网格mk是否为异常网格。

更新单元137,用于若所述网格mk是异常网格,则根据所述多个邻近网格所归属的类簇,更新所述网格mk所归属的类簇。

图7所示装置可以执行图3a所示实施例的方法,本实施例未详细描述的部分,可参考对图3a所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3a所示实施例中的描述,在此不再赘述。

图8为本发明实施例提供的配送区域划分装置实施例四的结构示意图,如图8所示,在图5所示实施例基础上,该装置还包括:第二确定模块21、第三确定模块22、第四确定模块23。

第二确定模块21,用于结合所述多个历史订单各自对应的原始配送区域,确定所述多个历史订单对应的原跨配送区域订单比。

第三确定模块22,用于结合所述n个类簇各自对应的配送区域,确定所述多个历史订单对应的新跨配送区域订单比。

第四确定模块23,用于根据所述原跨配送区域订单比和所述新跨配送区域订单比确定所述n个类簇各自对应的配送区域是否合理。

图8所示装置可以执行图4所示实施例的方法,本实施例未详细描述的部分,可参考对图4所示实施例的相关说明。该技术方案的执行过程和技术效果参见图4所示实施例中的描述,在此不再赘述。

以上描述了配送区域划分装置的内部功能和结构,在一个可能的设计中,该配送区域划分装置的结构可实现为一电子设备,该电子设备比如为服务器,如图9所示,该电子设备可以包括:处理器31和存储器32。其中,所述存储器32用于存储支持配送区域划分装置执行上述任一实施例中提供的配送区域划分方法的程序,所述处理器31被配置为用于执行所述存储器32中存储的程序。

所述程序包括一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器31调用执行。

所述处理器31用于:根据多个历史订单彼此的地理位置相似度,对所述多个历史订单进行聚类处理,获得n个类簇,n≥1;根据所述n个类簇各自包含的历史订单的地理位置,获取所述n个类簇各自对应的覆盖区域;根据所述n个类簇各自对应的覆盖区域确定所述n个类簇各自对应的配送区域。

可选地,所述处理器31还用于执行前述各方法步骤中的全部或部分步骤。

其中,所述订单处理装置的结构中还可以包括通信接口33,用于配送区域划分装置与其他设备或通信网络通信。

另外,本发明实施例提供了一种计算机存储介质,用于储存配送区域划分装置所用的计算机软件指令,其包含用于执行上述各方法实施例中配送区域划分方法所涉及的程序。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以产品的形式体现出来,该计算机产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

本发明公开a1、一种配送区域划分方法,包括:

根据多个历史订单彼此的地理位置相似度,对所述多个历史订单进行聚类处理,获得n个类簇,n≥1;

根据所述n个类簇各自包含的历史订单的地理位置,获取所述n个类簇各自对应的覆盖区域;

根据所述n个类簇各自对应的覆盖区域确定所述n个类簇各自对应的配送区域。

a2、根据a1所述的方法,所述地理位置包括取货位置和送货位置;所述地理位置相似度通过如下至少一种参数度量:取货位置之间的距离、送货位置之间的距离、取货位置与送货位置的位置中心点之间的距离。

a3、根据a2所述的方法,所述根据所述n个类簇各自包含的历史订单的地理位置,获取所述n个类簇各自对应的覆盖区域,包括:

根据所述n个类簇各自包含的历史订单的地理位置,获取所述n个类簇各自对应的订单线段,订单线段与历史订单一一对应,每条订单线段以对应的历史订单的取货位置和送货位置为端点;

获取所述n个类簇各自对应的最小闭合多边形,所述最小闭合多边形使得属于对应类簇的订单线段都被包含在所述最小闭合多边形内,所述n个类簇各自对应的最小闭合多边形作为所述n个类簇各自对应的覆盖区域。

a4、根据a1所述的方法,所述根据所述n个类簇各自对应的覆盖区域确定所述n个类簇各自对应的配送区域,包括:

对于所述n个类簇中的任一类簇ni,若所述类簇ni对应的覆盖区域与其他类簇nj对应的覆盖区域不重叠,则确定所述类簇ni对应的配送区域为所述类簇ni对应的覆盖区域,j=1,2,…,n,且j≠i。

a5、根据a1所述的方法,所述根据所述n个类簇各自对应的覆盖区域确定所述n个类簇各自对应的配送区域,包括:

对于所述n个类簇中的任一类簇ni,若所述类簇ni对应的覆盖区域与其他类簇nj对应的覆盖区域存在重叠,则确定所述类簇ni和所述类簇nj在重叠区域内分别对应的订单线段个数,j=1,2,…,n,且j≠i;

根据所述订单线段个数确定所述重叠区域归属的类簇;

根据所述重叠区域归属的类簇调整所述类簇ni对应的覆盖区域;

确定所述类簇ni对应的配送区域为调整后的所述类簇ni对应的覆盖区域。

a6、根据a5所述的方法,所述确定所述类簇ni和所述类簇nj在重叠区域内分别对应的订单线段个数,包括:

对所述重叠区域进行网格划分,获得m个网格;

确定所述类簇ni和所述类簇nj在所述m个网格的各网格内分别对应的订单线段个数;

所述根据所述订单线段个数确定所述重叠区域归属的类簇,包括:

根据所述类簇ni和所述类簇nj在所述m个网格的各网格内分别对应的订单线段个数,确定所述m个网格各自归属的类簇;

所述根据所述重叠区域归属的类簇调整所述类簇ni对应的覆盖区域,包括:

根据所述m个网格各自归属的类簇调整所述类簇ni对应的覆盖区域。

a7、根据a6所述的方法,所述根据所述类簇ni和所述类簇nj在所述m个网格的各网格内分别对应的订单线段个数,确定所述m个网格各自归属的类簇之后,还包括:

对于所述m个网格中的任一网格mk,根据所述网格mk在所述重叠区域中的位置以及所述网格mk的多个邻近网格所归属的类簇,识别所述网格mk是否为异常网格;

若所述网格mk是异常网格,则根据所述多个邻近网格所归属的类簇,更新所述网格mk所归属的类簇。

a8、根据a1至a7中任一项所述的方法,所述方法还包括:

结合所述多个历史订单各自对应的原始配送区域,确定所述多个历史订单对应的原跨配送区域订单比;

结合所述n个类簇各自对应的配送区域,确定所述多个历史订单对应的新跨配送区域订单比;

根据所述原跨配送区域订单比和所述新跨配送区域订单比确定所述n个类簇各自对应的配送区域是否合理。

本发明公开b9、一种配送区域划分装置,包括:

聚类模块,用于根据多个历史订单彼此的地理位置相似度,对所述多个历史订单进行聚类处理,获得n个类簇,n≥1;

获取模块,用于根据所述n个类簇各自包含的历史订单的地理位置,获取所述n个类簇各自对应的覆盖区域;

第一确定模块,用于根据所述n个类簇各自对应的覆盖区域确定所述n个类簇各自对应的配送区域。

b10、根据b9所述的装置,所述地理位置包括取货位置和送货位置;所述地理位置相似度通过如下至少一种参数度量:取货位置之间的距离、送货位置之间的距离、取货位置与送货位置的位置中心点之间的距离。

b11、根据b10所述的装置,所述获取模块包括:

第一获取单元,用于根据所述n个类簇各自包含的历史订单的地理位置,获取所述n个类簇各自对应的订单线段,订单线段与历史订单一一对应,每条订单线段以对应的历史订单的取货位置和送货位置为端点;

第二获取单元,用于获取所述n个类簇各自对应的最小闭合多边形,所述最小闭合多边形使得属于对应类簇的订单线段都被包含在所述最小闭合多边形内,所述n个类簇各自对应的最小闭合多边形作为所述n个类簇各自对应的覆盖区域。

b12、根据b9所述的装置,所述第一确定模块包括:

第一确定单元,用于对于所述n个类簇中的任一类簇ni,若所述类簇ni对应的覆盖区域与其他类簇nj对应的覆盖区域不重叠,则确定所述类簇ni对应的配送区域为所述类簇ni对应的覆盖区域,j=1,2,…,n,且j≠i。

b13、根据b9所述的装置,所述第一确定模块包括:

第二确定单元,用于对于所述n个类簇中的任一类簇ni,若所述类簇ni对应的覆盖区域与其他类簇nj对应的覆盖区域存在重叠,则确定所述类簇ni和所述类簇nj在重叠区域内分别对应的订单线段个数,j=1,2,…,n,且j≠i;

第三确定单元,用于根据所述订单线段个数确定所述重叠区域归属的类簇;

调整单元,用于根据所述重叠区域归属的类簇调整所述类簇ni对应的覆盖区域;

第四确定单元,用于确定所述类簇ni对应的配送区域为调整后的所述类簇ni对应的覆盖区域。

b14、根据b13所述的装置,所述第二确定单元具体用于:

对所述重叠区域进行网格划分,获得m个网格;确定所述类簇ni和所述类簇nj在所述m个网格的各网格内分别对应的订单线段个数;

所述第三确定单元具体用于:

根据所述类簇ni和所述类簇nj在所述m个网格的各网格内分别对应的订单线段个数,确定所述m个网格各自归属的类簇;

所述调整单元具体用于:

根据所述m个网格各自归属的类簇调整所述类簇ni对应的覆盖区域。

b15、根据b14所述的装置,所述第一确定模块还包括:

识别单元,用于对于所述m个网格中的任一网格mk,根据所述网格mk在所述重叠区域中的位置以及所述网格mk的多个邻近网格所归属的类簇,识别所述网格mk是否为异常网格;

更新单元,用于若所述网格mk是异常网格,则根据所述多个邻近网格所归属的类簇,更新所述网格mk所归属的类簇。

b16、根据b9至b15中任一项所述的装置,还包括:

第二确定模块,用于结合所述多个历史订单各自对应的原始配送区域,确定所述多个历史订单对应的原跨配送区域订单比;

第三确定模块,用于结合所述n个类簇各自对应的配送区域,确定所述多个历史订单对应的新跨配送区域订单比;

第四确定模块,用于根据所述原跨配送区域订单比和所述新跨配送区域订单比确定所述n个类簇各自对应的配送区域是否合理。

本发明还公开了c17、一种电子设备,包括存储器和处理器;其中,

所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;

所述处理器用于执行如a1至a8中任一项所述的配送区域划分方法。

本发明还公开了d18、一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如a1至a8中任一项所述的配送区域划分方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1