取送货车辆路径规划问题(Vehicle Routing Problems with Pickups and Deliveries,VRPPD)指的是货物再pickup points和delivery pionts之间的运输。可再将其分为两类。
取送货问题(Pickup and Delivery Problem,PDP)为一种点对点运输,即客户提供物流信息要求货运公司派车至指定点取货再送至另一指定点卸货。具有时间窗限制的取送货问题( Pickup and Delivery Problem with Time Windows,PDPTW)
PDPTW相关概念描述如下:
PDPTW 问题可以描述为: 客户需求包括取货 作业与送货作业两部分,车辆由场站空驶出发,到达客户指定的取货点收取货物后运送至客户指定 的送货点,各作业任务均有时间窗限制,任务完成 后车辆回到场站。
x r x_r xr 0-1变量,代表一条可行路径,满足时间窗约束、车辆容量约束、优先级约束、联结约束。当路径 r r r被选择,则 x r = 1 x_r=1 xr=1,反之, x r = 0 x_r=0 xr=0。
R R R 为所有路径的集合。
C r C_r Cr 选择路径 r r r的成本。
N N N 任务节点结合。
a i r a_{ir} air 路径 r r r包含任务 i i i,若路径 r r r包含任务 i i i,则 a i r = 1 a_{ir}= 1 air=1,反之 a i r = 0 a_{ir}= 0 air=0
m i n ∑ r ∈ R C r x r (1) min\sum_{r \in R}C_rx_r \tag{1} minr∈R∑Crxr(1) ∑ r ∈ R a i r x r ≥ 1 , ∀ i ∈ N (2) \sum_{r \in R}a_{ir}x_r \geq 1, \forall i \in N \tag{2} r∈R∑airxr≥1,∀i∈N(2) ∑ r ∈ R x r ≤ K (3) \sum_{r \in R}x_r \leq K \tag{3} r∈R∑xr≤K(3) x r ∈ { 0 , 1 } , ∀ r ∈ R (4) x_r\in \{0,1\}, \forall r \in R \tag{4} xr∈{0,1},∀r∈R(4)
式(1)为最小化所有路径的总行驶距离成本
式(2)表示每一个任务 i i i都至少被服务一次
式(3)为车辆数目约束, K K K为可使用车辆数的上限
式(4)0-1变量
松弛集合覆盖模型的式(4):
m i n ∑ r ∈ R C r x r (5) min\sum_{r \in R}C_rx_r \tag{5} minr∈R∑Crxr(5) ∑ r ∈ R a i r x r ≥ 1 , ∀ i ∈ N (6) \sum_{r \in R}a_{ir}x_r \geq 1, \forall i \in N \tag{6} r∈R∑airxr≥1,∀i∈N(6) ∑ r ∈ R x r ≤ K (7) \sum_{r \in R}x_r \leq K \tag{7} r∈R∑xr≤K(7) x r ≥ 0 , ∀ r ∈ R (8) \color{red}{x_r \geq 0, \forall r \in R \tag{8}} xr≥0,∀r∈R(8)
式(5)为最小化所有路径的总行驶距离成本
式(6)表示每一个任务 i i i都至少被服务一次
式(7)为车辆数目约束, K K K为可使用车辆数的上限
式(8)松弛整肃约束后的非负限制
m i n ∑ r ∈ R ′ C r x r (9) min\sum_{r \in R'}C_rx_r \tag{9} minr∈R′∑Crxr(9) ∑ r ∈ R ′ a i r x r ≥ 1 , ∀ i ∈ N (10) \sum_{r \in R'}a_{ir}x_r \geq 1, \forall i \in N \tag{10} r∈R′∑airxr≥1,∀i∈N(10) ∑ r ∈ R ′ x r ≤ K (11) \sum_{r \in R'}x_r \leq K \tag{11} r∈R′∑xr≤K(11) x r ≥ 0 , ∀ r ∈ R ′ (12) \color{black}{x_r \geq 0, \forall r \in R' \tag{12}} xr≥0,∀r∈R′(12)
其中, R ′ ⊆ R , R ′ ≪ R R' \subseteq R, R'\ll R R′⊆R,R′≪R
其中:
π i \pi_i πi:非负对偶变量,对应约束 ( 10 ) (10) (10)
π 0 \pi_0 π0:非负对偶变量,对应约束 ( 11 ) (11) (11)
m a x ∑ i ∈ N π i + K π 0 (13) max\sum_{i \in N}\pi_i+K\pi_0 \tag{13} maxi∈N∑πi+Kπ0(13) ∑ i ∈ N a i r π i + π 0 ≤ C , ∀ r ∈ R ′ (14) \sum_{i \in N}a_{ir}\pi_i +\pi_0 \leq C, \forall r \in R' \tag{14} i∈N∑airπi+π0≤C,∀r∈R′(14) π i ≥ 0 , ∀ i ∈ N (15) \pi_i \geq 0 , \forall i \in N \tag{15} πi≥0,∀i∈N(15) π 0 ≤ 0 (16) \pi_0 \leq 0 \tag{16} π0≤0(16)
C r − ∑ i ∈ N a i r π i − π 0 < 0 C_r-\sum_{i\in N}a_{ir} \pi_i-\pi_0<0 Cr−i∈N∑airπi−π0<0