多波次配送
业务场景
在深圳,kStore同时为网上购物平台和实体商店供货。所有的网上订单都从中央履行中心配送。
所有在线订单都被实时收集并被同步到中心以准备产品。城市A被划分为多个区域,即A、B、C、...根据位置坐标,每个订单都被归类到一个区域。如果由于某种原因某个订单没有区域,则会给出一个特殊的区域代码E。
每一个区域都有单独的配送时间表。例如,区域A会持续接收网上订单,并且会遵守以下配送时间表:
Deadline | Delivery Window |
---|---|
08:00 | 10:00 - 14:00 |
14:00 | 16:00 - 20:00 |
同时,区域B每天会遵守以下配送时间表。
Deadline | Delivery Window |
---|---|
06:00 | 07:00 - 09:00 |
09:00 | 10:00 - 12:00 |
14:00 | 15:00 - 17:00 |
17:00 | 18:00 - 20:00 |
kStoer想要自动优化配送流程。因此,需要做以下工作 :
- 为每个工作人员提供优化的配送方案,这样,卡车就可以按照与交货顺序相反的顺序进行装载,司机就可以直接遵循一个优化的方案,而不是自己费力制定计划。
- 用户应该有实时配送方案的访问权,这样用户才能准确知道包裹的送达时间。
本场景两种实现方案
本案例提供Python范例程序。
本示例所有代码均在下方:
准备工作
- 您应该拥有一个快盒调度账户。 想要在快盒调度平台规划您的业务,请遵循以下步骤:
运行示例Python程序以一次性完成所有步骤
第一步是将该仓库克隆到您的本地计算机上:
sh
git clone https://gitee.com/CrazyClue/kdclient.git
然后,将所需的包安装到您的Python环境中:
sh
cd kdclient
pip install -r requirements.txt
接下来用您在快盒调度的注册信息配置所需环境变量:
sh
# export server_url=http://_server_url_/kd/api/v1
# export email=_email_@email.com
# export password=_pass_
# export team_code=_team_
您可以在dev.env文件中进行环境变量的配置。该文件中的环境变量将会正确被程序读取。
然后您可以通过以下方式运行zibo.py示例程序:
sh
python ./src/shenzhen_multi_batch.py
程序运行完毕后,您可以回到用户界面中,此时您应该可以在"Live Map"(实时地图)中查看规划好的路线。