优化 | Pick and delivery problem的介绍与建模实现(一)
Pick and delivery problem简介
Pick and delivery problem(PDP)是一类重要的路径规划问题,其中货物或乘客必须从不同的起点运输到不同的目的地。这些问题通常定义在一个图 G = ( V , A ) G=(V,A) G=(V,A)上,其中顶点 V V V表示要运输的不同实体(或商品)的起点或目的地。
根据需求的类型和路线结构,PDP问题可分为三大类(下图中正方形表示仓库,其他顶点表示客户):
多对多(M-M)问题: 每个商品可能有多个来源和目的地,任何地点都可能是多个商品的来源或目的地。例如,在零售店之间的库存调度问题,或者自行车或汽车共享系统的管理问题。
一对多对一(1-M-1)问题: 存在一些商品从仓库交付给许多客户,而其他商品则在客户处收集并运回仓库。例如,分发饮料同时收集空罐空瓶的场景,以及正向和逆向物流系统,即除了交付新产品外,还必须计划收集使用过的、有缺陷的或过时的产品。
一对一(1-1)问题: 每种商品都有一个来源地和一个目的地,必须在这两者之间运输。这类问题的典型应用是城市快递业务以及共享乘车业务(Ride-sharing,dial-a-ride problem等)。
与其他VRP一样,PDP也可以根据信息的可用性分为静态问题和动态问题。在静态问题中,我们假设所有的问题参数都是确定的,并且在确定车辆路径之前是已知的。在动态问题中,决策所需的一些信息会随着时间的推移逐渐出现,因此需要更新解决方案。动态问题可能会具有随机性,某些不确定参数将是概率分布的形式。
多对多(M-M)问题
关于多对多(M-M)问题的文献大多集中在单个商品在多个来源地和目的地之间运输的情况。单商品M-M接送车辆路径问题(1-PDVRP)可定义如下:
我们给出了一个完整的图 G = ( V , A ) G=(V,A) G=(V,A) 和一个同质的车队 K K K ,每个车都有容量 Q Q Q 。顶点 0 0 0 是车辆最初所在的仓库(depot), V \ { 0 } V \backslash \{0\} V\{ 0} 的其他顶点代表客户。每个客户 i i i 都有一个需求 q i q_i qi ,其中 q i > 0 q_i > 0 qi>0 表示客户需要提货, q i < 0 q_i < 0 qi<0 表示需要交货。车辆沿弧 ( i , j ) ∈ A (i,j) \in A (i,j)∈A 行驶的成本为 c i j c_{ij} cij 。1-PDVRP旨在找到一组在车辆从depot开始并结束的路线,在不违反车辆通行能力的情况下满足所有请求,且总成本最低。
1-PDVRP可以被建模为一个混合整数线性规划(MILP)模型:
其中,决策变量:
x i j k x_{ijk} xijk : 为1若弧 ( i , j ) ∈ A (i,j) \in A (i,j)∈A 被 k k k 经过;否则为0。
f i j f_{ij} fij:是一个非负变量,代表弧 ( i , j ) ∈ A (i,j) \in A (i,j)∈A 上传送的载荷。
目标函数为最小化成本:
( 1 − P D