列生成算法求解PDPTW问题

取送货车辆路径规划问题

取送货车辆路径规划问题(Vehicle Routing Problems with Pickups and Deliveries,VRPPD)指的是货物再pickup points和delivery pionts之间的运输。可再将其分为两类。

  1. 第一类,pickup points和delivery pionts是unpaired的,即从某一pickup point出发,完成任一delivery point的需求即可。
  2. 第二类,pickup points和delivery pionts是paired的,即某项运输需求有指定的pickup point和指定的delivery point。第二类下在分类有classical Pickup and Delivery Problem (PDP)和Dial-A-Ride Problem (DARP)。PDP和DARP区别是:PDP运输的是货物,DARP运输的乘客。
    以上所述如下图列生成算法求解PDPTW问题_第1张图片

取送货问题

取送货问题(Pickup and Delivery Problem,PDP)为一种点对点运输,即客户提供物流信息要求货运公司派车至指定点取货再送至另一指定点卸货。具有时间窗限制的取送货问题( Pickup and Delivery Problem with Time Windows,PDPTW)

列生成算法求解PDPTW问题

问题描述

PDPTW相关概念描述如下:

  1. 任务:货运公司接到客户订单( 货运需求) 后,即产生一个取货任务与一个送货任务。在路网 中,一取货任务代表一取货点,一送货任务代表一 送货点。
  2. 巡回路径: 每辆货车从场站出发后执行一 连串的任务,最终再回到场站的路径称为巡回路径,简称路径。
  3. 优先级约束: 针对每一货运需求,取货任 务的服务顺序须于送货任务前。
  4. 联结约束: 每一货运需求的取送货任务均 由同一辆车服务。
  5. 时间窗约束: 每个取送货任务均有允许服 务的时间范围,车辆仅能于该范围内执行任务,若 早于时间范围到达,则需等待至最早开始时间; 若 晚于时间范围,则不可执行该客户的任务。
  6. 车辆容量约束: 配送车辆有载重上限,作 业过程中不可违反车辆容量限制。

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

集合覆盖模型(set covering model)

m i n ∑ r ∈ R C r x r (1) min\sum_{r \in R}C_rx_r \tag{1} minrRCrxr(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} rRairxr1,iN(2) ∑ r ∈ R x r ≤ K (3) \sum_{r \in R}x_r \leq K \tag{3} rRxrK(3) x r ∈ { 0 , 1 } , ∀ r ∈ R (4) x_r\in \{0,1\}, \forall r \in R \tag{4} xr{0,1},rR(4)

式(1)为最小化所有路径的总行驶距离成本
式(2)表示每一个任务 i i i都至少被服务一次
式(3)为车辆数目约束, K K K为可使用车辆数的上限
式(4)0-1变量

主问题(MP)

松弛集合覆盖模型的式(4):
m i n ∑ r ∈ R C r x r (5) min\sum_{r \in R}C_rx_r \tag{5} minrRCrxr(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} rRairxr1,iN(6) ∑ r ∈ R x r ≤ K (7) \sum_{r \in R}x_r \leq K \tag{7} rRxrK(7) x r ≥ 0 , ∀ r ∈ R (8) \color{red}{x_r \geq 0, \forall r \in R \tag{8}} xr0,rR(8)
式(5)为最小化所有路径的总行驶距离成本
式(6)表示每一个任务 i i i都至少被服务一次
式(7)为车辆数目约束, K K K为可使用车辆数的上限
式(8)松弛整肃约束后的非负限制

限制主问题(RMP)

m i n ∑ r ∈ R ′ C r x r (9) min\sum_{r \in R'}C_rx_r \tag{9} minrRCrxr(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} rRairxr1,iN(10) ∑ r ∈ R ′ x r ≤ K (11) \sum_{r \in R'}x_r \leq K \tag{11} rRxrK(11) x r ≥ 0 , ∀ r ∈ R ′ (12) \color{black}{x_r \geq 0, \forall r \in R' \tag{12}} xr0,rR(12)
其中, R ′ ⊆ R , R ′ ≪ R R' \subseteq R, R'\ll R RR,RR

限制主问题的对偶问题

其中:
π 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} maxiNπ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} iNairπi+π0C,rR(14) π i ≥ 0 , ∀ i ∈ N (15) \pi_i \geq 0 , \forall i \in N \tag{15} πi0,iN(15) π 0 ≤ 0 (16) \pi_0 \leq 0 \tag{16} π00(16)

子问题

C r − ∑ i ∈ N a i r π i − π 0 < 0 C_r-\sum_{i\in N}a_{ir} \pi_i-\pi_0<0 CriNairπiπ0<0

你可能感兴趣的:(列生成,分类,数据挖掘,人工智能)