具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组合。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
随着即时配送平台的越发成熟,平台可以从全局的角度考虑更多因素来匹配配送工作人员和任务之间的关系,目的是希望配送工作人员配送能够安全高效且更低的超时风险的情况下,有效地完成任务的履约。然而现实中整条订单配送链路过程中涉及配送工作人员、指定地点提供服务的商家、用户等多个角色之间的交互,一旦某个交互环节出现突发的不确定性异常,将会直接影响配送工作人员后续任务的处理体验,比如商家无法正常提供服务、用户联系不到、配送工作人员遇到交通事故等等。这些方面将直接影响任务完成的质量。因此,平台需要尽可能感知现实物理世界的各方面影响因素。
在相关技术中,在考虑多方面影响因素,即求解多目标优化问题时,一般采用加权求和的方式将多个目标转化为单个目标,以总分作为匹配的唯一标准。然而该方法需要针对每一项因素进行精细设计,且各项因素之间会由于求和的处理而互相影响,因此,难以处理在各种场景下各项因素之间的矛盾关系,导致最终进行任务分配时任务与配送工作人员之间的匹配效果差。
为解决上述至少一个技术问题,本申请实施例提供一种任务分配的方法、装置、电子设备及存储介质,具体地,本申请的实施主要涉及一种优先级评价体系,针对特定的场景调整目标任务与候选配送资源之间的匹配程度,以有效提高在进行任务分配时所分配任务与配送资源之间的匹配效果。
本申请实施例所提供的方案可以由任一电子设备执行,如可以是终端设备,也可以是服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
下面以具体实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供了一种可能的实现方式,如图1所示,提供了一种任务分配方法的流程图,该方案可以由任一电子设备执行,可选的,可以在服务器端或终端设备执行。如图1中所示,该方法可以包括以下步骤:
步骤S101:获取待分配的目标任务与各候选配送资源的匹配关系对应的匹配程度。
具体地,目标任务为当前接收到的待分配任务,在同一时刻可能接受到多个待分配任务,在进行任务分配时一般是针对N个任务和M个配送资源进行的,即涉及一种N*M的矩阵数据处理技术;为便于理解,可以将目标任务视为N个待分配任务中的其中一个,但本申请实施例不对目标任务的数量进行限定。其中,候选配送资源可以视为用于处理目标任务的资源,在一些应用场景中,如外卖配送,可以将目标任务视为外卖订单,候选配送资源视为候选骑手。
在本申请实施例中,在进行任务分配时,不仅考虑一个配送资源在同一时刻仅处理一个任务的应用场景(1 v 1),还需要考虑一个配送资源在相同时刻处理多个任务的应用场景(1 v n),并需要同时为配送资源规划处理任务的顺序或方式以提高配送资源处理任务的效率;在此基础上,可以采用最小配送代价衡量目标任务与各候选配送资源的匹配关系对应的匹配程度。其中,最小配送代价的定义可以表示如下公式(1)所示:
cost=f(x+delta)-f(x)......公式(1)
在上述公式(1)中,f(x+delta)为候选配送资源在新增任务后的状态;f(x)为候选配送资源在接受新增任务前的状态;cost为最小配送代价,体现了候选配送资源在空间、时间等各项因素的牺牲条件下,接受新增任务的前后变化量,该变化量越小说明新增任务带给候选配送资源的新增惩罚影响越小,也即目标任务与候选配送资源基于各项因素形成的匹配关系对应的匹配程度越高。
可选地,在确定目标任务与各候选配送资源的匹配关系对应的匹配程度时,可以采用基于模拟器针对目标任务与候选配送资源进行仿真得出较为准确的路径规划顺序以及全流程规划的详细质量报告来确定匹配程度,如基于质量报告对目标任务与候选配送资源的匹配关系进行打分得到分值(该分值可以用于表征匹配程度)。其中,模拟器仿真可以采用相关技术进行,本申请在此不进行详述。具体地,在一些应用场景中,针对上述最小配送代价的应用,可能对空间和时间分布具有强依赖关系,因此距离和处理任务超时的风险可能作为着重考虑的影响因素,其中,距离可以包括处理新增任务对应的增量距离和处理新增任务对应的距离;超时可以基于向用户承诺处理任务所费时间、配送资源的个体处理效率、处理任务所需的标准时长等确定。在考虑每个因素对匹配程度的影响时,可以结合候选配送资源处理任务的距离属性(行程的远近)、不同时间段处理任务的运行压力等,自适应地作出相应的映射变换。另外,当将候选配送资源作为候选骑手,目标任务作为订单进行理解时,确定目标任务与候选配送资源之间的匹配关系对应的匹配程度时,骑手的能力和分单图形也是一项重要的衡量标准,由于不同骑手成长等级不同,在高峰期最大背单能力也有所不同,除了允许一定的同店同用户这类订单外,超过骑手的最大背单上限将会给骑手极差的体验,从而导致大部分订单超时严重甚至取消。分单图形方面是为了避免同波次的订单跨越角度过大,减少骑手配送难度,让行驶路线更加平顺。在本申请实施例中,引入“波次”的概念,纵观骑手一整天在持续不断的取单送单,但是一连串执行任务也可以以波次进行划分,当骑手状态从有已取餐订单任务恢复到无取餐订单任务时可视为一个波次的划分线。匹配给骑手新单的过程也可根据波次情况分为追单和分单两种模式,追单是在骑手已有波次中插入新单,分单则是开启骑手一个新的波次(有单骑手也可以有分单),两种模式下所考虑的最小配送代价的因素各有侧重,因此,可以形成两套打分评价标准(采用模拟器针对两种模式进行仿真),并基于两种评价标准确定出最终的匹配程度。
步骤S102:若所述目标任务与任一候选配送资源在预设场景对应的指标下的匹配关系与该指标对应的预设匹配关系相应时,调整该候选配送资源与目标任务对应的匹配程度。
具体地,本申请实施例提供一种优先级评价体系,在该体系下,可以针对性设定场景,由于不同场景所侧重考虑的因素不同,因此可以针对目标任务与候选配送资源在预设场景对应的指标(至少一项影响因素)下确定相应的匹配关系A,同时针对该指标可以预先设定预设匹配关系B,当两者(匹配关系A与预设匹配关系B)相应时,可以调整对应的匹配程度。其中,场景、指标与预设匹配关系三者之间的关系可以如下表1所示:
表1
上述表1所示场景仅作为示例,在一些实施例中,还可以针对实际需求、匹配效果需求等设定各种场景,以调整目标任务与候选配送资源之间的匹配程度。调整匹配程度的具体过程将在后续实施例中说明。
步骤S103:基于调整后的匹配程度,从所述候选配送资源中确定目标配送资源,并将所述目标任务分配至所述目标配送资源。
具体地,可以基于调整后的匹配程度,在多个候选配送资源中确定出唯一的一个目标配送资源,将目标任务分配到该目标配送资源中。分配的具体过程将在后续实施例中说明。
上述实施例提供的技术方案可以适用但不限于如下应用场景:
外卖配送的应用场景:目标任务为待配送订单,候选配送资源为候选骑手(可以是基于待配送订单设定区域范围内的骑手)。具体地,可以首先针对目标任务与各候选配送资源进行规划确定相应的匹配程度;进而可以考虑如上述表1所示的预设场景,若待配送订单与任一候选骑手在预设场景对应的指标下的匹配关系与该指标对应的预设匹配关系相应时,可以调整该候选骑手与待配送订单对应的匹配程度;最后基于调整后的匹配程度在候选骑手中选择目标骑手承接该待配送订单。
下面结合图2针对本申请实施例提供的一种优先级评价体系进行说明。
在一实施例中,步骤S102若所述目标任务与任一候选配送资源在预设场景对应的指标下的匹配关系与该指标对应的预设匹配关系相应时,调整该候选配送资源与目标任务对应的匹配程度,包括以下步骤A1-A2中的至少一项:
步骤A1:若确定所述目标任务与任一候选配送资源在预设升级场景对应的指标下的匹配关系与该指标对应的预设匹配关系相应时,提升该候选配送资源与目标任务对应的匹配程度。
步骤A2:若确定所述目标任务与任一候选配送资源在预设降级场景对应的指标下的匹配关系与该指标对应的预设匹配关系相应时,降低该候选配送资源与目标任务对应的匹配程度。
具体地,针对不同的需求,本申请实施例提供的优先级评价体系中,可以包括预设升级场景(如表1中的配送场景)和预设降级场景(如表中的风控场景),在针对预设升级场景触发优先级分层处理时,可以提升候选配送资源与目标任务对应的匹配程度;在针对预设降级场景触发优先级分层处理时,可以降低候选配送资源与目标任务对应的匹配程度。举例说明,如图2所示,在基于步骤A1和/或步骤A2进行匹配程度的调整之前,目标任务A与候选配送资源B对应的匹配程度处于初始层级,若基于步骤A1进行匹配程度的调整,则调整后的匹配程度处于升级层级;若基于步骤A2进行匹配程度的调整,则调整后的匹配程度处于降级层级。
在本申请实施例中,考虑到步骤S101中确定目标任务与各候选配送资源的匹配关系对应的匹配程度的过程中,需要对全部的匹配关系进行精确的评价,而评价过程中涉及模拟器仿真,因此进行评价所需的计算量在时效性能要求较高的即时配送领域中显得十分昂贵。而且不同站点(如基于地理区域设置的任务分配区域)规模大小不一,当配送需求持续扩张使得匹配关系矩阵(如图3所示)越来越大时,计算量成指数型上涨,因此本申请实施例提供一种在进行精确评价之前进行候选配送资源初筛的方法,筛选掉部分排名可能性靠后的匹配程度对应的候选配送资源,减少依赖于路径规划的评价调用次数。
下面结合图3说明针对候选配送资源的初筛处理可以带来的效果。
在评价完每个目标任务与每个候选配送资源的匹配关系时,可以形成如图3所示的M*N的打分矩阵,基于该打分矩阵可以将最小配送代价的目标任务与候选配送资源的匹配关系取出,即获取匹配程度最高对应的目标任务与候选配送资源(称为贪婪策略),如将目标任务O2分配给候选配送资源C4,进而将目标任务O2删除,由于候选配送资源C4的状态发生变化,因此在针对其他目标任务进行处理时需要重新更新评价,基于该方式依次逐步将所有目标任务分配至相对合适的配送资源中进行处理。
基于上述贪婪策略的特点,可以理解的是在针对每一目标任务选择配送资源时,主要考虑的是匹配关系对应匹配程度最高的候选配送资源,而对于目标任务与其他大部分候选配送资源的匹配关系对应的匹配程度是不作考虑的。因此,如果在初筛阶段可以筛选掉部分候选配送资源而保证匹配程度最高对应的配送资源仍被保留时,即在不牺牲效果的前提下,可以大大地提高匹配的效率,降低计算量。如在订单分配的场景中,即使不进行新单插入的路径规划评价,也可以大致判断出订单与某些配送资源是否存在较差的关系;例如外卖配送场景中,骑手正在向东送餐,若此时接到一个向西的订单,且距离任何已有订单执行点都非常远时,在进行路径规划评价得到的匹配程度也是非常低的。
下面结合图4针对配送资源初筛的具体处理过程进行说明。
具体地,步骤S101中获取待分配的目标任务与各候选配送资源的匹配关系对应的匹配程度,包括以下步骤B1-B3:
步骤B1:获取所述目标任务的任务状态信息与各候选配送资源的资源状态信息。
具体地,任务状态信息可以包括表征目标任务的属性(当目标任务为外卖配送订单时属性信息可以是配送对象的信息,如可以是水果、茶点等;也可以是针对该目标任务提供服务的执行对象的信息,如可以是商家位置、商家账号等)、执行位置(如送餐位置、取餐位置)等信息。资源状态信息可以包括表征配送资源的属性(如骑手当前处理任务的超时风险)、所处位置、已有任务数量、已有任务处理情况等信息。
步骤B2:基于所述任务状态信息与资源状态信息,在候选配送资源中筛选得到第一配送资源集。
具体地,不同于路径规划,步骤B2可以直接基于目标任务与配送资源对应的状态,在候选配送资源中筛选相应的配送资源。初筛阶段实施的原理是以较低的计算代价代替计算复杂昂贵的模拟评价过程,实现加速整体的求解效率;其主要作用是限定步骤S101中目标任务与各候选配送资源之间的匹配规模,即减少进入精确评价的调用次数,可以在不牺牲效果的前提下,提高计算机在执行任务分配方法相关程序时整体的运算性能,满足计算时效性的高要求;同时可以实现无论规模如何扩大,总计算量仍以平缓的上升曲线线性变化,达到计算量可控的效果。
可选地,步骤B2中基于所述任务状态信息与资源状态信息,在候选配送资源中筛选得到第一配送资源集,包括以下步骤B21-B22:
步骤B21:基于所述任务状态信息和/或资源状态信息,生成与需求相关的预测信息。
具体地,生成与需求相关的预测信息的过程可以理解为一项特征工程,即进行数据挖掘。其中,所生成的预测信息主要利用候选配送资源当前所处位置以及已有任务的数量,与目标任务的执行位置形成各种与距离相关的度量。
在一可行的实施例中,步骤B21中基于所述任务状态信息和/或资源状态信息,生成与需求相关的预测信息,包括以下步骤B211-B214中的至少一项:
步骤B211:基于所述任务状态信息与资源状态信息,生成由所述目标任务与候选配送资源确定的、与配送距离相关的预测信息。
步骤B212:基于所述资源状态信息,生成由各候选配送资源中已有正在处理任务和/或已有未处理任务确定的、与配送距离相关的预测信息。
步骤B213:基于所述资源状态信息,生成与各候选配送资源及其已有任务相关的预测信息。
步骤B214:基于所述任务状态信息,生成与所述目标任务及其位置相关的预测信息。
为更好地体现上述步骤B211-B214中所确定的预测信息,下面结合表2进行举例说明,即所构建的预测信息可以如下表2所示:
表2
标号 |
预测信息(特征描述) |
1 |
取餐距离:骑手与待分配订单商家间的距离 |
2 |
送餐距离:骑手到待分配订单用户间的距离 |
3 |
骑手当前超时风险 |
4 |
骑手已取订单的最大取餐距离 |
5 |
骑手已取订单的最小取餐距离 |
6 |
骑手已取订单的最大送餐距离 |
7 |
骑手已取订单与待分配订单的最大用户间距离 |
8 |
骑手未取订单的最大取餐距离 |
9 |
骑手未取订单的最小取餐距离 |
10 |
骑手未取订单的最大送餐距离 |
11 |
骑手未取订单的最小送餐距离 |
12 |
骑手未取订单与待分配订单的最大商户间距离 |
13 |
骑手未取订单与待分配订单的最大用户间距离 |
14 |
骑手未取订单与待分配订单的相同商户id的数量 |
15 |
待匹配订单商户与用户间的距离 |
16 |
待匹配订单商户与用户间的夹角 |
17 |
骑手未取订单与待分配订单的最小商户间距离 |
18 |
骑手未取订单与待分配订单的最小用户间距离 |
19 |
骑手已背单量 |
20 |
骑手已背已取单量 |
21 |
骑手已背未取单量 |
其中,如步骤B211的实施,结合配送资源所处位置与针对目标任务提供服务的商家位置,可以确定出取餐距离(标号2);如步骤B212的实施,针对配送资源已有任务的相关信息可以确定配送资源正在处理任务的最大取餐距离(标号4);如步骤B213的实施,可以确定配送资源已有任务的数量(标号19);如步骤B214的实施,可以确定待匹配订单商户与用户间的距离(标号15)。以上标号1-21中的各项预测信息可以基于步骤B211、步骤B212、步骤B213或步骤B214进行确定,在此不一一说明。
步骤B22:基于所述预测信息,确定将所述目标任务分配至各候选配送资源进行处理的预测值,并基于所述预测值在所述候选配送资源中筛选得到第一配送资源集。
其中,步骤B22的实施可以采用机器学习模型进行,其具体可以是梯度提升树模型XGBoost。其中,结合上述实施例提及的追单和分单概念,由于追单和分单分别对应的评价标准不同,本申请实施例可以针对不同的评价标准采用不同分析器(模型)进行处理;另考虑到候选配送资源也可以区分为已有任务的配送资源与无任务的配送资源,因此,可以这对上述情况区分为三个分析器针对三种情况进行处理。
具体地,步骤B22中基于所述预测信息,确定将所述目标任务分配至各候选配送资源进行处理的预测值,并基于所述预测值在所述候选配送资源中筛选得到第一配送资源集,包括以下步骤B221-B223:
步骤B221:对所述预测信息进行预测处理,得到将所述目标任务分配至无任务的候选配送资源中进行处理的第一预测值、将所述目标任务分配至有未开始处理任务的候选配送资源中进行处理的第二预测值、以及将所述目标任务分配至有正在处理任务的候选配送资源中进行处理的第三预测值。
具体地,步骤B221中针对可能的三种评价标准分别预测出相应的预测值。其中,若应用在外卖配送场景,将目标任务分配至无任务的候选配送资源中,可以理解为将待配送订单分配给无单骑手;将目标任务分配至有未开始处理任务的候选配送资源中,可以理解为将待配送订单针对有单骑手的分单模式进行分配,如将待配送订单分配给骑手后,将基于该待配送订单形成一个新的波次;将目标任务分配至有正在处理任务的候选配送资源中,可以理解为将待配送订单针对有单骑手的追单模式进行分配,如在骑手原有订单的同个波次内插入待配送订单。
针对上述三种情况,以外卖配送的应用场景说明候选配送资源与候选骑手的对应关系:如候选配送资源可以区分为已有任务的配送资源与未有任务的配送资源,对应地,候选骑手可以区分为已有待配送订单的骑手与无待配送订单的骑手;其中,已有任务的配送资源可以基于波次的概念区分为已有正在处理任务的配送资源与已有未开始处理任务的配送资源,对应地,有待配送订单的骑手可以基于波次的概念区分为有已取餐未完成配送的待配送订单的骑手与有未取餐未完成配送的待配送订单的骑手。
步骤B222:在所述候选配送资源中基于所述第一预测值、第二预测值与第三预测值分别获取降序排序在预设百分比之前的配送资源作为第一配送资源子集、第二配送资源子集与第三配送资源子集。
其中,预设百分比可以在分析器训练的过程中,基于预设召回率进行确定,将在后续的分析器构建方法中进行具体说明。
步骤B223:将所述第一配送资源子集、第二配送资源子集与第三配送资源子集的并集作为第一配送资源集。
具体地,可以将所有存在第一配送资源子集、第二配送资源子集与第三配送资源子集中的配送资源作为筛选得到的第一配送资源集。
在一实施例中,第一预测值、第二预测值与第三预测值分别采用第一分析器、第二分析器与第三分析器对所述预测信息进行预测得到;其中,第一分析器用于预测将所述目标任务分配至无任务的配送资源中进行处理的预测值(如针对外卖配送的应用场景,可以是无单骑手分单分析器);第二分析器用于预测将目标任务分配至有未开始处理任务的配送资源中进行处理的预测值(如针对外卖配送的应用场景,可以是有单骑手分单分析器);第三分析器用于预测将目标任务分配至有正在处理任务的配送资源中进行处理的预测值(如针对外卖配送的应用场景,可以是有单骑手追单分析器)。
在上述实施例中,可以理解的是,在采用分析器基于预测信息进行预测处理之前,可以基于候选配送资源的资源状态信息确定配送资源的任务状态,如区分为已有任务的配送资源与未有任务的配送资源,进而针对配送资源的两种任务状态进行如下处理:
针对未有任务的配送资源:采用第一分析器基于预测信息进行处理,确定将目标任务分配至无任务的候选配送资源中的第一预测值;基于第一预测值对候选配送资源进行降序排序并获取排序在前的预设百分比的配送资源作为第一配送资源子集。
针对已有任务的配送资源:分别采用第二分析器与第三分析器基于预测信息进行处理,确定将目标任务分配至有未开始处理任务的候选配送资源中的第二预测值,以及将目标任务分配至有正在处理任务的候选配送资源中的第三预测值;在候选配送资源中基于第二预测值与第三预测值分别获取降序排序在预设百分比之前的配送资源作为第二配送资源子集与第三配送资源子集。
在获得第二配送资源子集与第三配送资源子集后,取两者的并集结合第一配送资源子集作为第一配送资源集。
其中,第一分析器、第二分析器与第三分析器的构建,包括以下步骤C1-C3:
步骤C1:获取训练样本,所述训练样本包括样本任务与候选样本配送资源,以及各样本任务对应的目标样本配送资源;所述目标样本配送资源包括无任务的样本配送资源、有未开始处理任务的样本配送资源以及有正在处理任务的样本配送资源。
具体地,各样本任务对应的目标样本配送资源可以作为监督学习的正样本标签Label,其具体可以是如图3所示打分矩阵所得的最优解(采用星星标识)。
步骤C2:基于所述样本任务的任务状态信息与候选样本配送资源的资源状态信息,构建预测样本信息。
其中,步骤C2中预处理训练样本的过程可以参考上述步骤B21生成与需求相关的预测信息的处理过程。
步骤C3:采用所述预测样本信息对三个初始分析器分别进行训练,得到第一分析器、第二分析器和第三分析器;其中,在训练时执行下述步骤C31-C33:
步骤C31:将所述预测样本信息分别输入至相应的初始分析器,分别得到各样本任务对应的第一预测样本配送资源、第二预测样本配送资源与第三预测样本配送资源。
其中,第一分析器、第二分析器与第三分析器可以采用拟合回归的初始分析器进行训练得到。
步骤C32:基于所述第一预测样本配送资源与无任务的样本配送资源确定第一分析器的预测偏差值,基于所述第二预测样本配送资源与有未开始处理任务的样本配送资源确定第二分析器的预测偏差值,基于所述第三预测样本配送资源与有正在处理任务的样本配送资源确定第三分析器的预测偏差值。
其中,预测偏差值也可以作为分析器训练的评估指标,具体可以为最小化平均绝对偏差MAE,可以表达如下公式(2)所示:
其中,N为样本任务的数量,
为分析器预测将样本任务分配至预测样本配送资源的预测值,
为真实评价下将样本任务分配至目标样本配送资源的真实分值。
步骤C33:基于预测偏差值调整对应分析器的参数,直至各个分析器对应的预测偏差值满足预设条件,分别得到所述第一分析器、所述第二分析器和所述第三分析器。
可以理解的是,预测偏差值可以表征分析器训练过程中的损失值,该预测偏差值越小,表征分析器拟合真实评价的性能越好。
其中,所述预设百分比为分别基于每一分析器对应的预测偏差值对各样本配送资源进行升序排序后基于预设召回率确定排序在前的样本配送资源所占的百分比。
具体地,根据预测偏差值对配送资源进行升序排序,保留一定排序在前比例的配送资源(候选骑手),还可以通过线上检验真实评价下的最优配送资源(匹配程度最高对应的配送资源)是否仍存在于第一配送资源集中,统计不同保留比例下的候选配送资源的召回率。从下表中可以看出,保留前70%的候选配送资源的分析器召回率可以达到99.5%以上,这样在实际应用时,足以满足线上效果无差异的要求。各分析器召回率的情况如下表3所示:
表3
分析器类型 |
p_30 |
p_40 |
p_50 |
p_60 |
p_70 |
p_80 |
无单骑手分单分析器 |
99.89% |
99.96% |
99.98% |
99.99% |
100.00% |
100.00% |
有单骑手追单分析器 |
94.25% |
96.82% |
98.32% |
99.08% |
99.57% |
99.83% |
有单骑手分单分析器 |
95.45% |
97.18% |
98.37% |
98.98% |
99.45% |
99.73% |
其中,上述分析器类型表示保留不同百分比的配送资源,如p_30表示保留前30%的配送资源。
结合上述分析器训练过程得到的数据,还可以在保留前70%比例(即预设百分比为70%)的条件下,探索配送资源上下界限对召回率的影响。从数据中可以发现配送资源数下界LB设定为15,上界UB可以设定为100,总体第一配送资源集(候选骑手)召回率仍保持在99.5%的水平。
无单骑手分单分析器的情况如下表4所示:
表4
LB |
UB_50 |
UB_100 |
UB_150 |
UB_200 |
5 |
99.93% |
99.93% |
99.93% |
99.93% |
10 |
99.98% |
99.99% |
99.99% |
99.99% |
15 |
99.99% |
100.00% |
100.00% |
100.00% |
有单骑手追单分析器的情况如下表5所示:
表5
LB |
UB_50 |
UB_100 |
UB_150 |
UB_200 |
5 |
98.44% |
98.68% |
98.71% |
98.71% |
10 |
98.97% |
99.21% |
99.24% |
99.24% |
15 |
99.23% |
99.47% |
99.49% |
99.50% |
有单骑手分单分析器的情况如下表6所示:
表6
LB |
UB_50 |
UB_100 |
UB_150 |
UB_200 |
5 |
98.34% |
98.35% |
98.35% |
98.35% |
10 |
99.35% |
99.36% |
99.36% |
99.36% |
15 |
99.68% |
99.69% |
99.70% |
99.70% |
步骤B3:确定所述目标任务与所述第一配送资源集中各配送资源的匹配关系对应的匹配程度。
具体地,步骤B3的处理过程可以参考上述实施例步骤S101中计算匹配程度的内容。
下面针对基于调整后的匹配程度进行目标任务分配的具体过程进行说明。
在一实施例中,步骤S103中基于调整后的匹配程度,从所述候选配送资源中确定目标配送资源,并将所述目标任务分配至所述目标配送资源,包括步骤D1-D3:
步骤D1:基于调整后的匹配程度确定与所述目标任务匹配程度最高的最优配送资源。
具体地,如图3所示,当确定出调整后的匹配程度时,获取获取匹配程度最高的最优配送资源。即,如在外卖配送的应用场景中,可以找到唯一一个最好的骑手。
步骤D2:基于所述最优配送资源,获取与所述目标任务的匹配程度在第一预设指标对应的预设匹配程度范围内的配送资源,得到包括最优配送资源的第二配送资源集。
具体地,结合图4所示,在精选阶段,区别于贪婪策略的处理方法,本申请实施例可以参考最有配送资源寻找与它无差异的至少一个配送资源。如,当侧重考虑因素包括增量超时风险和增量距离(第一预设指标)时,以最优配送资源为基准,获取在这两个因素对应的预设匹配程度范围内的配送资源,如配送资源A仅因增量超时风险导致匹配程度比最优配送资源的匹配程度低,且低的范围在预设匹配程度范围内,则可以将配送资源A视为无差异的最优解best候选解。
其中,预设匹配程度范围可以通过设定第一预设指标的浮动比例进行确定。
其中,所述第一预设指标包括与所述目标任务相关的指标。具体地,第一预设指标可以是超时风险、完成任务的行程距离、增量超时风险、增量行程距离等。
在本实施中,步骤D2对应于如图4所示的精选阶段,精选阶段针对第一配送资源集进行筛选,得到第二配送资源集;其中,筛选第二配送资源集的方法可以解决贪婪策略的刚性选择问题。
步骤D3:在所述第二配送资源集中获取与第二预设指标对应的目标配送资源,并将所述目标任务分配至所述目标配送资源。
具体地,如图4所示的多级选择器中的择优阶段,当拥有的一组无差异的最优候选解(第二配送资源集)之后,便可以根据场景特点个性化、有针对性、有偏好地从中挑选最优的配送资源。
其中,所述第二预设指标包括与已有任务的配送资源相关的指标。如步骤D3中融入的第二预设指标,针对外卖配送的应用场景,可以融入对严重超时、长尾订单概率、出餐不确定度等指标信息;具体地,在择优处理时比如骑手A的评价得分score_a(匹配程度)略小于骑手B的得分score_b,但是骑手A存在1个严重超时15min订单,而骑手B没有,那么在骑手A、B满足无差异的条件下,应该选择骑手B。步骤D3的处理一方面可以解决由于依赖总评分比较而忽略主要关键因素特点的问题,另一方面可以应对预测分析器或者决策不确定性导致与实际不符的情况,使得最终的任务与配送资源匹配的结果更加鲁棒。
在本申请中,采用如图4所示的多级选择器进行任务分配时,当针对候选配送资源进行配送资源的初筛时,得到第一配送资源集(在图5中采用方框标识);当针对第一配送资源集进行配送资源的精选时,得到第二配送资源集(在图5中采用圆形图案与星星标识);当针对第二配送资源集进行配送资源的择优时,得到目标配送资源(在图5中采用星星标识)。具体地,如图5所示情况,目标任务O1,在针对候选配送资源C1-C6进行配送资源的初筛时,可以得到包括C1、C2、C3、C5的第一配送资源集;在针对第一配送资源集进行配送资源的精选时,可以得到包括C2和C3的第二配送资源集;在针对第二配送资源集进行配送资源的择优时,可以确定C2为目标配送资源。本实施例中,任务分配时采用多级选择结构进行,多级选择结构通过初筛、精选、择优的顺序,不断缩小最优配送资源的选择范围,其不但可以加速匹配过程,还可以融合更多偏好的指标信息适应各种场景的需要,提高本申请实施例提供的任务分配方法的适应性。
基于与本申请实施例所提供的方法相同的原理,本申请实施例还提供了一种任务分配装置600,如图6所示,装置600包括获取模块610、调整模块620和分配模块630,其中:
获取模块610,用于获取待分配的目标任务与各候选配送资源的匹配关系对应的匹配程度;
调整模块620,用于若所述目标任务与任一候选配送资源在预设场景对应的指标下的匹配关系与该指标对应的预设匹配关系相应时,调整该候选配送资源与目标任务对应的匹配程度;
分配模块630,用于基于调整后的匹配程度,从所述候选配送资源中确定目标配送资源,并将所述目标任务分配至所述目标配送资源。
在一实施例中,调整模块620用于执行所述若所述目标任务与任一候选配送资源在预设场景对应的指标下的匹配关系与该指标对应的预设匹配关系相应时,调整该候选配送资源与目标任务对应的匹配程度,包括用于执行以下至少一项:
若确定所述目标任务与任一候选配送资源在预设升级场景对应的指标下的匹配关系与该指标对应的预设匹配关系相应时,提升该候选配送资源与目标任务对应的匹配程度;
若确定所述目标任务与任一候选配送资源在预设降级场景对应的指标下的匹配关系与该指标对应的预设匹配关系相应时,降低该候选配送资源与目标任务对应的匹配程度。
在一实施例中,获取模块610用于执行所述获取待分配的目标任务与各候选配送资源的匹配关系对应的匹配程度时,包括用于执行:
获取目标任务的任务状态信息与各候选配送资源的资源状态信息;
基于所述任务状态信息与资源状态信息,在所述候选配送资源中筛选得到第一配送资源集;
确定所述目标任务与所述第一配送资源集中各配送资源的匹配关系对应的匹配程度。
在一实施例中,获取模块610用于执行所述基于所述任务状态信息与资源状态信息,在所述候选配送资源中筛选得到第一配送资源集时,包括用于执行:
基于所述任务状态信息和/或资源状态信息,生成与需求相关的预测信息;
基于所述预测信息,确定将所述目标任务分配至各候选配送资源进行处理的预测值,并基于所述预测值在所述候选配送资源中筛选得到第一配送资源集。
在一实施例中,获取模块610用于执行所述基于所述任务状态信息和/或资源状态信息,生成与需求相关的预测信息时,包括用于执行以下至少一项:
基于所述任务状态信息与资源状态信息,生成由所述目标任务与候选配送资源确定的、与配送距离相关的预测信息;
基于所述资源状态信息,生成由各候选配送资源中已有正在处理任务和/或已有未处理任务确定的、与配送距离相关的预测信息;
基于所述资源状态信息,生成与各候选配送资源及其已有任务相关的预测信息;
基于所述任务状态信息,生成与所述目标任务及其位置相关的预测信息。
在一实施例中,获取模块610用于执行所述基于所述预测信息,确定将所述目标任务分配至各候选配送资源进行处理的预测值,并基于所述预测值在所述候选配送资源中筛选得到第一配送资源集时,包括用于执行:
对所述预测信息进行预测处理,得到将所述目标任务分配至无任务的候选配送资源中进行处理的第一预测值、将所述目标任务分配至有未开始处理任务的候选配送资源中进行处理的第二预测值、以及将所述目标任务分配至有正在处理任务的候选配送资源中进行处理的第三预测值;
在所述候选配送资源中基于所述第一预测值、第二预测值与第三预测值分别获取降序排序在预设百分比之前的配送资源作为第一配送资源子集、第二配送资源子集与第三配送资源子集;
将所述第一配送资源子集、第二配送资源子集与第三配送资源子集的并集作为第一配送资源集。
在一实施例中,所述第一预测值、第二预测值与第三预测值分别采用第一分析器、第二分析器与第三分析器对所述预测信息进行预测得到;装置600还包括分析器构建模块,用于构建所述第一分析器、第二分析器与第三分析器;具体地,包括用于执行:
获取训练样本,所述训练样本包括样本任务与候选样本配送资源,以及各样本任务对应的目标样本配送资源;所述目标样本配送资源包括无任务的样本配送资源、有未开始处理任务的样本配送资源以及有正在处理任务的样本配送资源;
基于所述样本任务的任务状态信息与候选样本配送资源的资源状态信息,构建预测样本信息;
采用所述预测样本信息对三个初始分析器分别进行训练,得到第一分析器、第二分析器和第三分析器,其中,在训练时:
将所述预测样本信息分别输入至相应的初始分析器,分别得到各样本任务对应的第一预测样本配送资源、第二预测样本配送资源与第三预测样本配送资源;
基于所述第一预测样本配送资源与无任务的样本配送资源确定第一分析器的预测偏差值,基于所述第二预测样本配送资源与有未开始处理任务的样本配送资源确定第二分析器的预测偏差值,基于所述第三预测样本配送资源与有正在处理任务的样本配送资源确定第三分析器的预测偏差值;
基于预测偏差值调整对应分析器的参数,直至各个分析器对应的预测偏差值满足预设条件,分别得到所述第一分析器、所述第二分析器和所述第三分析器;
其中,所述预设百分比为分别基于每一分析器对应的预测偏差值对各样本配送资源进行升序排序后基于预设召回率确定排序在前的样本配送资源所占的百分比。
在一实施例中,分配模块630用于执行所述基于调整后的匹配程度,从所述候选配送资源中确定目标配送资源,并将所述目标任务分配至所述目标配送资源时,包括用于执行:
基于调整后的匹配程度确定与所述目标任务匹配程度最高的最优配送资源;
基于所述最优配送资源,获取与所述目标任务的匹配程度在第一预设指标对应的预设匹配程度范围内的配送资源,得到包括最优配送资源的第二配送资源集;
在所述第二配送资源集中获取与第二预设指标对应的目标配送资源,并将所述目标任务分配至所述目标配送资源;
其中,所述第一预设指标包括与所述目标任务相关的指标;所述第二预设指标包括与已有任务的配送资源相关的指标。
本申请实施例的任务分配装置可执行本申请实施例所提供的任务分配方法,其实现原理相类似,本申请各实施例中的任务分配装置中的各模块、单元所执行的动作是与本申请各实施例中的任务分配方法中的步骤相对应的,对于任务分配装置的各模块的详细功能描述具体可以参见前文中所示的对应的任务分配方法中的描述,此处不再赘述。
基于与本申请的实施例中所示的方法相同的原理,本申请的实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机程序;处理器,用于通过调用计算机程序执行本申请任一可选实施例所示的任务分配方法。与现有技术相比,本申请提供的任务分配方法,在获取到待分配的目标任务与各候选配送资源的匹配关系对应的匹配程度之后,当确定出目标任务与任一候选配送资源在预设场景对应的指标下的匹配关系与该指标对应的预设匹配关系相应时,调整该候选配送资源与目标任务对应的匹配程度,进而基于调整后的匹配程度在候选配送资源中确定出目标配送资源,并将目标任务分配至目标配送资源;本申请的实施在目标任务与各候选配送资源的配送关系对应的匹配程度的基础上,叠加了可以根据各种场景设定相应优先级评价的维度,即在目标任务与候选配送资源在预设场景对应的指标下的匹配关系与该指标对应的预设匹配关系相应时,可以调整当前确定的匹配程度,该方案可以明确在进行任务分配时各项影响因素的主次,进而提高任务与配送资源之间的匹配效果。
在一个可选实施例中提供了一种电子设备,如图7所示,图7所示的电子设备700可以为服务器,包括:处理器701和存储器703。其中,处理器701和存储器703相连,如通过总线702相连。可选地,电子设备700还可以包括收发器704。需要说明的是,实际应用中收发器704不限于一个,该电子设备700的结构并不构成对本申请实施例的限定。
处理器701可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器701也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线702可包括一通路,在上述组件之间传送信息。总线702可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线702可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器703可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器703用于存储执行本申请方案的应用程序代码,并由处理器701来控制执行。处理器701用于执行存储器703中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请提供的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的任务分配方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“获取待分配的目标任务与各候选配送资源的匹配关系对应的匹配程度的模块”。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。