General VRP

VRP Model Demo
1. Notions
1.1 Origin Notions
i,j∈{0,1,2,...,N}
k∈{1,2,3,...,K}
xijk∈{0,1}
决策变量满足:
\begin{align*}
x_{iik}=0 , \quad &\forall i\in\{0,1,2,...,N\} \\
&\forall k\in\{1,2,3,...,K\}
\end{align*}
Cap
d=[d1,d2,d3,...,dN]T
C={cij}
节点间【距离/路线成本/时间】满足:(使用【导航距离】时第一个式子不考虑)
\begin{align*}
c_{ij} &= c_{ji}, \\
c_{ii} &= 0 ,\quad \forall i,j\in\{0,1,2,...,N\}
\end{align*}
1.2 New Notions
n
[bi,ei],i∈{1,2,...,N}
[b0,e0]
si,i∈{0,1,2,...,N}
-
第 $k$ 辆车在 $i$ 节点开始服务的时间戳
若不经过则为 $0$
Sik
若要求车一定不会返回仓库:
k=1∑Kj=0∑Nxhjk=0,∀h∈H
若要求车一定返回仓库:
- 还可进一步定义每个尾节点$h_i$对应的车$k_i$
\begin{align*}
\sum_{k=1}^Kx_{h0k}=1, \quad \forall h\in H \\
\end{align*}
2. Objections
2.1 Origin Objections
\begin{align*}
\min K=\min \sum_{k=1}^K\sum_{j=1}^N x_{0jk}
\end{align*}
若要求车一定返回仓库,则可换成
\begin{align*}
\min K=\min \sum_{k=1}^K\sum_{j=1}^N x_{0jk}=\min \sum_{k=1}^K\sum_{j=1}^N x_{j0k}
\end{align*}
若车返不返回仓库都可以
mink=1∑Ki=0∑Nj=1∑Ncijxijk
若要求车一定返回仓库
mink=1∑Ki=0∑Nj=0∑Ncijxijk
2.2 New Objections
min(αK+βk=1∑Ki=0∑Nj=0∑Ncijxijk)
3. Constraints
3.1 Origin Constraints
j=1∑Nx0jk=1,∀k∈{1,2,3,...,K}
若要求车一定不会返回仓库
i=1∑Nxi0k=0∀k∈{1,2,3,...,K}
若要求车一定返回仓库
i=1∑Nxi0k=1∀k∈{1,2,3,...,K}
- 从 $i$ 节点到 $j$ 节点,最多一辆车从中经过
k=1∑Kxijk≤1,∀i,j∈{1,2,...,N}
- $j$ 下标不可在第一个位置。for OVRP,若$j\in H$,则和为 $0$
- $j$ 下标不可取 $0$。for VRP,则和为 $K$;for OVRP,则和为 $0$
k=1∑Ki=0∑Nxijk=1,∀j∈{1,2,...,N}
若要求车一定不会返回仓库
\begin{align*}
1=\sum_{k=1}^K \sum_{i=0}^N x_{ijk}=\sum_{k=1}^K \sum_{i=0}^N x_{jik} \quad &\forall j \notin \{0\} \cup H \\
\end{align*}
若要求车一定返回仓库
\begin{align*}
1= \sum_{k=1}^K \sum_{i=0}^N x_{ijk}=\sum_{k=1}^K \sum_{i=0}^N x_{jik} \quad &\forall j\in\{0,1,2,...,N\} \\
\end{align*}
i=0∑Nj=1∑Ndjxijk≤Cap,∀k∈{1,2,3,...,K}
-
防止出现孤立子环
计算复杂度太高,实际约束中不考虑,仅作为解可行性的测试条件
k=1∑Ki∈S∑j∈S∑xijk≤∣S∣−1,∀S⊆{1,2,...,N}
K≥max{Cap∑i=1Ndi,nN}
3.2 New Constraints
若要求车一定不返回仓库:
i=0∑Nj=1∑Nxijk≤n,∀k∈{1,2,3,...,K}
若要求车一定返回仓库:
i=0∑Nj=0∑Nxijk≤n+1,∀k∈{1,2,3,...,K}
- 每辆车在其路径上的每个节点都满足其节点的时间窗约束:
\begin{align*}
b_j \sum_{i=1}^K x_{ijk} \leq S_{jk} \leq e_j \sum_{i=1}^K x_{ijk} ,
\quad &\forall k\in\{1,2,3,...,K\} \\
&\forall j\in\{1,2,3,...,N\}\\
\end{align*}
\begin{align*}
S_{ik}+s_i+c_{ij}-S_{jk} \leq 0 ,
\quad &\forall x_{ijk}=1
\end{align*}
3.3 Accessible Condition
b0≤min(ej−c0j),∀j∈{1,2,3,...,N}
若要求车一定返回仓库
e0≥min(bi+si+ci0),∀i∈{1,2,3,...,N}
4. Todo
- 考虑司机起始位置到仓库的时间
- 去掉不满足以下约束的弧,令 相应的x为0且不可变 即可
bi+si+cij≤bj
di+dj≤Cap
5. Some pics

VRPTW
