带时间窗约束的VRP问题,即在满足约束条件的情况下,求解最短路径。
问题数学描述
假设有C个客户点,编号从1到C,所有的客户用集合C来表示。给定有向图G=(V,A),其中V=C∪{o,d}为图中点集,包括客户集合C和车厂点o及其复制点d; A={(i,j)∣∀i,j∈V,i=j}为弧集, 表示图G中的所有弧。每一段弧(i,j)的行驶成本为cij。每一个客户i都有一个已知的需求qi,以及时间窗[ai,bi]和服务时间li,其中ai为客户i的最早开始的服务时间,bi为客户i的最晚开始的服务时间。除此之外,用Tij来表示弧(i,j)行驶时间。问题中的车辆均为同质的车辆,车辆的最大容量为Q。
模型定义
决策变量
- xij∈{0,1},∀(i,j)∈A 为弧(i,j)的决策变量,取值为0或1,表示弧(i,j)是否被选中。
- ti≥0,∀i∈V 表示车辆到达点i的时间。
- ui≥0,∀i∈V 表示车辆到达点i的剩余容量。
目标函数
最小化总的行驶成本:
mini,j∈A∑cijxij
约束
j∈V∑xij=1,∀i∈C
j∈V∑xoj−i∈V∑xid=0
- 进出入客户的车的数量必须相等,客户点的流平衡约束:
i∈V∑xij−i∈V∑xji=0,∀j∈C
ui+qi−uj≤M(1−xij),∀(i,j)∈A
ti+li+Tij−tj≤M(1−xij),∀(i,j)∈A
ai≤ti≤bi,∀i∈V
0≤ui≤Q,∀i∈V
完整的VRPTW的数学优化模型如下:
mins.t.(i,j)∈A∑cijxijj∈V∑xij=1,j∈V∑xoj−i∈V∑xid=0i∈V∑xji−i∈V∑xij=0,ui+qj−uj≤M(1−xij),ti+li+Tij−tj≤M(1−xij),ai≤ti≤bi,0≤ui≤Q,xij∈{0,1},∀i∈C∀j∈C∀(i,j)∈A, j∈C∀(i,j)∈A∀i∈V∀i∈V∀(i,j)∈A