2022 年 MathorCup 高校数学建模挑战赛A题

赛道 A:“58 到家”家政服务订单分配问题

        “58 到家”是“58 同城”旗下高品质、高效率的上门家政服务平台,平 台向用户提供家政保洁、保姆、月嫂、搬家、维修等众多生活领域的服务。 在家政保洁场景中,用户在平台下单购买服务后,平台会将订单分配给一 个保洁阿姨,阿姨接到订单后按照用户指定的服务时间上门,进行保洁服 务。平台在将订单分配给一个保洁阿姨时,一方面,为了提高对顾客的服 务质量,需要尽量分配服务分较高的阿姨,其中阿姨的服务分是基于阿姨 历史订单的评价情况得到,取值为[0,1],值越大越好;另一方面,为了帮 助阿姨提高接单量,需要尽量缩短阿姨相邻单之间的通行时间。 每天通过平台进行分配的订单量是巨大的,当前平台实现了一套订单 分配算法,本问题研究的是如何优化系统的分配算法,提高算法的求解能 力,实现提升顾客体验、节省阿姨时间。

 基本业务抽象 约束条件及假设:

1. 所有订单都要分配一个且只有一个阿姨;

2. 每个订单需要指定一个服务开始时间,这个时间的取值范围为 [最早时间,最晚 时间],且是半点的整数倍;

3. 一个阿姨同时只能服务一个订单;

4. 阿姨需要在每个订单的服务开始时间之前到达客户位置;

5. 阿姨每天开始任务时必须从初始点位置出发;

6. 任意两点的距离为欧式距离;

7. 保洁阿姨的行驶速度为 15 千米/小时。

优化目标: 将每个订单匹配阿姨时,优化的目标是: 1. 所有订单匹配的阿姨的服务分,其平均值 A 尽可能大; 2. 最小化每单的平均通行距离 B。一个订单的通行距离指的是阿姨从上一个地点到 本单地点的距离(欧式距离),其中阿姨第一个订单的通行距离等于从初始点到 3 第一个订单位置的距离,单位是千米; 3. 最小化阿姨服务订单的平均间隔时间 C。一个订单的间隔时间指的是,阿姨从上 一个单服务结束时刻到本单服务开始时刻的时间间隔,单位是小时,其中阿姨第 一个订单的间隔时间设定为 0.5 小时(阿姨首单需要做基本的准备工作,不考虑 阿姨从初始点到第一个订单的通行时间); 4. 总体目标是各个目标的加权和:αA-βB-γC,其中α=0.78、β=0.025、γ=0.195,得 分四舍五入取 6 位小数。目标值越大越好。

初赛问题

问题 1:只考虑离线批量派单模式。附件 1 与附件 2 中分别给出的是一 天的所有订单信息与阿姨信息。 (a) 请设计最优的订单与阿姨匹配算法,将所有订单进行分配,并将求 解结果填写到 result1.txt 中。(订单必须全部分配、阿姨不需要全部 匹配订单)。 (b) 基于(a)的算法,请对附件 1 中的前 50 个订单与附件 2 中前 20 个阿 姨,重新运行算法,给出阿姨的执行任务列表,并画出阿姨的行动 轨迹图。

问题 2:线上批量派单模式。在实际业务场景中,通常采用固定的频率 派单,每 30 分钟将该段时间内产生的新订单统一分配;分配时允许部分订 单暂时不派单,称之为压单,但是压单订单必须满足服务开始时间的最早 时 间 比 当 前 时 间 晚 于 2 个 小 时 ( 不 包 括 2 个 小 时 ) 也 即 满 足 : 4 serviceFirstTime-currentTime>2h;请设计这种情况下的每批订单的最优分配 算法。并将求解结果 1-最终决策结果填写到 result21.txt 中,结果 2-每次决 策结果填写到 result22.txt 中。

关注我后续分享更多数学建模思路~

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值