VRP作为车辆路径问题中的一大经典题型,在这里进行简单的介绍,以及Gurobi所需要的约束条件做一下简单的整理。
VRP模型概念
车辆路径问题(Vehicle Routing Problem,VRP)是一类经典的组合优化问题,涉及如何有效地分配一组车辆去访问多个客户点,并在满足约束条件的情况下最小化总行驶距离或成本。
VRP问题是指车辆路径规划问题(Vehicle Routing Problem),即在一个给定的地理区域内,有一批要被送达给客户的货物,需要确定一组最优的路径,使得所有货物能够被按时送达,并且最小化相关成本。
VRP问题是一个组合优化问题,其中需要考虑多个因素,包括车辆容量限制、路径长度限制、时间窗口限制等。目标是找到一组最短路径来满足所有的约束条件。
在VRP问题中,通常会考虑以下几个方面:
- 车辆容量限制:每辆车都有一定的容量限制,不能超过其最大载重能力。
- 路径长度限制:每辆车在一次行驶中最长可以行驶的距离或时间是有限的。
- 时间窗口限制:每个客户有一个指定的时间窗口,在这个时间窗口内才能接受货物。
- 车辆数量限制:车辆数量是有限的,需要找到最少的车辆来满足所有货物的配送需求。
- 成本优化:目标是在满足所有约束条件的前提下,找到总成本最小的路径方案。
VRP问题具有重要的现实应用价值,例如在物流配送、货物配送、公交车调度等领域都可以采用VRP问题来进行路径规划和资源优化。虽然VRP问题是一个NP难问题,但是目前已经有很多有效的算法和优化策略被提出,可以用来解决实际问题。
数学模型:
精简版模型
精简版的模型更接近于下图示意:
给定一组客户点、车辆容量、车辆数量、起始点和终点,目标是找到使得所有客户点都被访问一次的最短路径方案。
参数
参数名称 |
参数意义 |
N | 客户点数量 |
K | 车辆的数量 |
从i点到j点的距离 | |
单位距离成本 |
变量
变量名称 | 变量意义 |
建立0-1变量,若车辆k在访问客户点i后移动到客户点j,则 |
目标函数
最小化总行驶成本:
约束条件
1、每个客户点必须被访问且仅被访问一次:
2、每辆车的路径必须从起始点开始,并在终点结束:
3、Binary0-1约束
完全版模型
在本节中介绍的模型较为全面复杂,考虑到的地方尽可能的多。
参数
参数名称 | 参数意义 |
N | 所有点的集合 |
N1 | 仓库点的集合 |
N2 | 客户点集合 |
K | 车辆集合 |
CO | 仓库开放成本 |
CE | 仓库开放成本 |
CD | 仓库容量限制 |
CV | 车载限制 |
C | 车辆行驶单位距离的成本 |
点i到点j的距离 | |
客户i的需求量 |
变量
所有变量均为0-1变量
变量名称 | 变量意义 |
X | 仓库是否开放 |
Y | 事实上在点i到点j中,是否存在路径 |
Z | 若车辆走该段路径则为1,否则为0 |
Q | 客户j由仓库i进行配送 |
目标函数
目标函数为最小花费,花费包括:路费+仓库运营费用
约束条件
1、
模型解法:
数学规划:
启发式算法:
几种典型的VRP变体
CVRP