本发明涉及物流调度,特别涉及一种团餐订单的配送运力调度方法及装置。
背景技术:
1、配送环节是外卖系统中非常重要的一个环节,在用户下单后,外卖平台会根据餐馆位置、骑手位置等因素将订单分配给周边的骑手进行配送,骑手前往餐馆取餐并将餐品送到用户所指定的地址。配送效率直接影响到用户的等待时间,而影响配送效率的因素有很多,除了前面所提到的餐馆位置和骑手位置外,还需要考虑到骑手的负载能力以及同一时段每个区域的订单配送地址分布等,在同一时段订单数量较多的情况下,配送运力的调度算法的优劣对配送效率的影响非常大。为了提升配送效率,人们研究出了各种配送运力调度算法,例如中国专利cn113850550a、cn112749899a、cn110097288a等,然而这些算法虽然能有效提升普通外卖订单的配送效率,但对于团餐订单的配送优化效果不佳。团餐订单相较于普通外卖订单而言,其具有配送地址集中、同里需要配送餐品数量多的特点,无法通过少量骑手完成团餐订单的全部餐品配送,采用传统的运力调度算法会导致餐品分散配送,因而送达时间也会较为分散。而团餐订单由于是集中用餐,下单用户往往希望餐品能够集中送达,餐品送达时间相差较大的情况下会严重影响团餐用户的用餐体验,现有的运力调度算法在团餐订单的配送上用户体验不佳。
技术实现思路
1、本发明正是基于上述问题,提出了一种团餐订单的配送运力调度方法及装置,能够大幅得升团餐订单配送的用户体验。
2、有鉴于此,本发明的第一方面提出了一种团餐订单的配送运力调度方法,包括:
3、按照地理位置划分运力调度片区;
4、当检测到企业团餐订单时,判断所述企业团餐订单是否存在餐馆与配送地址不在同一个运力调度片区的情况;
5、当所述企业团餐订单的餐馆与配送地址在同一个运力调度片区时,以餐品为单位对所述企业团餐订单进行拆单得到多个独立订单;
6、获取预先配置的企业团餐订单的最大配送时间差;
7、基于所述最大配送时间差生成所述运力调度片区内的可用骑手列表,所述可用骑手列表包括每个骑手的可接单数量;
8、计算所述可用骑手列表中每个骑手配送所述独立订单的配送时间;
9、基于骑手的可接单数量的分布情况生成配送单,每个配送单对应一个或多个独立订单;
10、将可接单数量与所述配送单中的独立订单数量相对应的可用骑手确定为所述配送单的候选骑手;
11、将所述配送单派发给所述候选骑手抢单。
12、进一步的,在上述的团餐订单的配送运力调度方法中,基于所述最大配送时间差生成所述运力调度片区内的可用骑手列表的步骤具体包括:
13、获取所述运力调度片区内的骑手列表;
14、以所述最大配送时间差为基础计算所述骑手列表中的骑手的配送时间的聚集度ρdri,其中dri∈[1,ndrall],ndrall为所述骑手列表中的骑手数量;
15、根据所述配送时间的聚集度ρdri确定可用骑手的配送时间范围[tbot,ttop];
16、生成所述运力调度片区内配送时间在所述配送时间范围内的可用骑手列表。
17、进一步的,在上述的团餐订单的配送运力调度方法中,以所述最大配送时间差为基础计算所述骑手列表中的骑手的配送时间的聚集度ρdri的步骤具体包括:
18、将所述最大配送时间差的一半确定为聚集度统计半径:
19、
20、其中δtmax为所述最大配送时间差;
21、计算所述骑手列表中的骑手两两之间的配送时间差:
22、δtdri,drj=δtdri-δtdrj,
23、其中dri,drj∈[1,ndrall],且dri≠drj;
24、计算第dri个骑手的配送时间的聚集度:
25、ρdri=count(drj)|δtdri,drj≤r。
26、进一步的,在上述的团餐订单的配送运力调度方法中,基于骑手的可接单数量的分布情况生成配送单的步骤具体包括:
27、统计所述可用骑手列表中每个骑手的可接单数量;
28、生成所述可用骑手列表的骑手的可接单数量分布数据,所述可接单数量分布数据包括对应每个可接单数量的可用骑手数量;
29、获取所述企业团餐订单拆分出的独立订单的数量ndeor;
30、获取骑手的可接单数量上限anmax以及所述运力调度片区的空箱系数α,其中α∈(0,1);
31、计算所述配送单数量:
32、
33、在所述可接单数量分布数据中确定可用骑手数量最多的ndesl个可接单数量作为目标可接单数量;
34、将所述独立订单组合生成ndesl个对应所述目标可接单数量的配送单。
35、进一步的,在上述的团餐订单的配送运力调度方法中,在获取骑手的可接单数量上限anmax以及所述运力调度片区的空箱系数α的步骤之前,还包括:
36、周期性统计所述运力调度片区内的可用骑手的平均可接单数量:
37、
38、其中为统计时刻为t的平均可接单数量,i∈[1,ndedr],ndedr为所述运力调度片区内的可用骑手的数量,ani为第i个骑手在时刻t的可接单数量;
39、将执行获取骑手的可接单数量上限anmax以及所述运力调度片区的空箱系数α的时刻确定为tnow;
40、构建时间范围[tnow-δtseri,tnow]内的平均可接单数量序列:
41、
42、其中δtseri为预先配置的平均可接单数量序列构建时长,δtperi为所述平均可接单数量的统计周期,δtseri>δtperi且δtseri为δtperi的整数倍;
43、计算所述平均可接单数量序列的稳定区间[anbot,antop];
44、根据所述稳定区间的上界antop和下界anbot计算所述空箱系数:
45、
46、进一步的,在上述的团餐订单的配送运力调度方法中,计算所述平均可接单数量序列的稳定区间[anbot,antop]的步骤具体包括:
47、重构所述平均可接单数量序列以使所述平均可接单数量序列中的平均接单数量按照与序列平均值的差值从小到大排列;
48、获取所述平均可接单数量序列的长度nseri以及预设的边界系数β,
49、其中β∈(0,1),
50、计算目标序列长度:
51、ntar_seri=β·nseri;
52、从左到右从所述平均可接单数量序列中提取长度为所述目标序列长度ntar_seri的目标序列:
53、
54、获取所述目标序列的最大值和最小值:
55、
56、将所述目标序列的最大值确定为所述稳定区间的上界antop;
57、将所述目标序列的最小值确定为所述稳定区间的下界anbot。
58、进一步的,在上述的团餐订单的配送运力调度方法中,重构所述平均可接单数量序列以使所述平均可接单数量序列中的平均接单数量按照与序列平均值的差值从小到大排列的步骤具体包括:
59、计算所述平均可接单数量序列的序列平均值:
60、
61、计算所述平均可接单数量序列中每个平均可接单数量与所述序列平均值的差值:
62、
63、其中t∈[tnow-δtseri,tnow];
64、按照每个平均可接单数量与所述序列平均值的差值δant从小到大重新构建所述平均可接单数量序列:
65、
66、进一步的,在上述的团餐订单的配送运力调度方法中,在所述可接单数量分布数据中确定可用骑手数量最多的ndesl个可接单数量作为目标可接单数量的步骤具体包括:
67、获取所述企业团餐订单拆分出的独立订单的数量ndeor以及预先配置的冗余接单数量δanredu;
68、确定可用骑手数量最多的ndesl个可接单数量ank使得所述可接单数量ank满足:
69、
70、进一步的,在上述的团餐订单的配送运力调度方法中,将所述独立订单组合生成ndesl个对应所述目标可接单数量的配送单的步骤具体包括:
71、计算可接单数量总差值:
72、
73、计算可接单数量的均摊差值:
74、
75、其中为向下取整符号;
76、生成ndesl个配送单使得每个配送单中的独立订单的数量nk满足:
77、
78、本发明的第二方面提出了一种团餐订单的配送运力调度装置,包括存储器和处理器,所述处理器执行所述存储器存储的计算机程序实现本发明第一方面任一项所述的团餐订单的配送运力调度方法。
79、本发明提出了一种团餐订单的配送运力调度方法及装置,按照地理位置划分运力调度片区,当所述企业团餐订单的餐馆与配送地址在同一个运力调度片区时,以餐品为单位对所述企业团餐订单进行拆单得到多个独立订单,基于预先配置的最大配送时间差生成所述运力调度片区内的可用骑手列表,所述可用骑手列表包括每个骑手的可接单数量,计算所述可用骑手列表中每个骑手配送所述独立订单的配送时间,基于骑手的可接单数量的分布情况生成配送单,每个配送单对应一个或多个独立订单,将可接单数量与所述配送单中的独立订单数量相对应的可用骑手确定为所述配送单的候选骑手,将所述配送单派发给所述候选骑手抢单,能够大幅得升团餐订单配送的用户体验。