最后一公里极速配送

本文探讨了最后一公里的极速配送问题,重点在O2O包裹和电商包裹的配送策略。通过费用流方法解决O2O包裹的配送,并使用动态规划进行包裹合并以减少耗时。电商包裹则通过初始化、遗传算法和局部搜索优化配送。文章指出,尽管方案运行速度快,但O2O和电商包裹的融合仍是一大挑战。
摘要由CSDN通过智能技术生成

最后一公里极速配送

Another url: https://bulihanjie.github.io/2016/09/22/最后一公里极速配送/


题目描述

https://tianchi.shuju.aliyun.com/competition/information.htm?spm=5176.100067.5678.2.nXeJox&raceId=231581


##成绩
第一赛季:第一名
第二赛季:第五名(前三名使用了作弊…)

总纲

题目中有两种包裹,分别是电商包裹和O2O包裹:

  1. 电商包裹:数量多,包裹数目大,路程较近,由124个网点配送;
  2. O2O包裹:数量较少,包裹数目小,路程较远,有时间窗口。

由于两种包裹的特性差异较大,如果对所有包裹一起考虑,很难得到一个满意的策略来对问题全局优化。所以在本方案中,两种包裹进行分开考虑,再对每种包裹的方案进行合并。总的方案流程图如下:
  


O2O包裹之费用流

在问题中,O2O包裹有配送时间和送达时间的限制,为了简化问题,使得问题更容易求解,有以下假设:

  1. 快递员在商家取一个O2O包裹后,下一个动作必定是把包裹送达用户手中。即快递员身上不同时存在两个O2O包裹;
  2. 快递员抵达商家的时间,不大于商家要求的取件的时间或超过的时间有个上限值。

基于假设,可以认为快递员在商家要求的区间时间收取O2O包裹,并且立即运送到相应的用户,与原问题相比少了时间窗口限制和容量的限制,容易得到的数学模型表达如下:

设n是O2O包裹数量,m是配送的快递员数量, 表示第i个O2O包裹, 表示第i个O2O包裹的取件时间。
相关二进制变量如下:
g i j = { 1 派 送 包 裹 i 后 派 送 包 裹 j 0 其 它 情 况 g_{ij}=\begin{cases}1& 派送包裹i后派送包裹j\\0& 其它情况\end{cases} gij={ 10ij

最小化目标函数:
min ⁡ f = ∑ i = 0 n ∑ j = 0 n g i j ∗ c o s t ( x i , x j ) + ∑ i = 0 n h a n d l e ( x i ) \mathop {\min }f=\sum_{i=0}^n\sum_{j=0}^ng_{ij}*cost(x_i,x_j)+\sum_{i=0}^nhandle(x_i) minf=i=0nj=0ngijcost(xi,xj)+i=0nhandle(xi)

s.t.
∣ { j ∣ ∑ i = 0 n g i j = 0 } ∣ = m \left|\left\{j \left.\right| \sum_{i=0}^ng_{ij}=0 \right\}\right|=m { ji=0ngij=0}=m
∑ j = 0 n g i j ≤ 1   a n d   g i j = 0   i ∈ [ 0 , n ) \sum_{j=0}^ng_{ij}\leq1\ and\ g_{ij}=0\ i\in[0,n) j=0ngij1 and gij=0 i[0,n)

c o s t cost cost是根据题目计算的两个O2O包裹间路程的耗时, h a n d l e handle handle是配送O2O包裹的耗时,容易得出公式的第二项是一个常数。

对于问题的求解,容易得出一个费用流的求解方法,有两个参数分别是派送的快递员数量 m m m和时间差 t l tl

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值