文章目录

  • 1.基本概念
  • 2.问题描述
  • 3.数学建模
  • 4.实例设计
  • 5.编程及效果展示:
  • 6. 总结



1.基本概念

车辆路径问题(Vehicle Routing Problem,VRP)是指一定数量的客户,它们有不同数量的货物需求,有一个配送中心向客户提供货物的配送服务,由一个车队来负责,现需要规划合适的行车路线,目标是使得在客户的需求得到满足,并能在一定的约束下如车辆容量等的限制,达到诸如路程最短、成本最小、耗费时间最少等目的。
物流分配问题是指一定数量的客户,它们有不同数量的货物需求,有一个配送中心向客户提供货物的配送服务,由一个车队来负责,现需要规划合适的行车路线,目标是使得在客户的需求得到满足,并能在一定的约束下如车辆容量等的限制,达到诸如路程最短、物流成本最小、耗费时间最少等目的。
可见,很多车辆路径或物流分配或生产调度问题都可以用上述模板表述!

2.问题描述

根据目前已知所需客户点位置、配送中心位置,车辆最大载荷和客户需求货物的前提下,指定配送计划,合理设计车辆路线,是运输成本趋于最小化(具体目标可以是路径长度最小,或者使用车辆数最少等。
分析:
基本已知量:客户点位置x,y坐标(N个)
配送中心位置x,y坐标(一般为1个)
车辆最大载荷
每个客户点货物需求量
可选已知量:(带时间窗的问题要交代以下已知量)
每个客户点要求的最早时间
每个客户点要求的最晚时间
配送车在每个客户点的服务时间

求解量:使用车辆数
各车辆配送路线
最短行驶距离等

3.数学建模

不带时间窗的车辆路径(物流分配)问题建模如下:

求解车辆路径问题Python 车辆路径问题例题_算法

求解车辆路径问题Python 车辆路径问题例题_np问题_02

带时间窗的车辆路径(物流分配)问题建模如下:

求解车辆路径问题Python 车辆路径问题例题_求解车辆路径问题Python_03

求解车辆路径问题Python 车辆路径问题例题_启发式算法_04

大体建模如上所述,可参考知网文献做适当表述修改和扩充!

4.实例设计

现有一配送站(序号为0)和25个客户点(序号为1-25),它们有不同数量的货物需求,每个客户点的需求量和要求的最早配送时间和最晚配送时间,配送车在每个站点的服务时间等如下表所示。该配送中心向客户提供货物的配送服务,由一个车队来负责,现需要规划合适的行车路线,目标是使得在客户的需求得到满足,并能在车辆容量和时间窗约束下达到成本最小,请给出具体的配送方案。

表1 车辆路径(物流配送)问题已知量统计表

求解车辆路径问题Python 车辆路径问题例题_求解车辆路径问题Python_05

5.编程及效果展示:

以遗传算法求解为例:

求解车辆路径问题Python 车辆路径问题例题_np问题_06

优化算法还有很多:遗传算法、蚁群算法、粒子群算法,。。。。等等,基本都可以。

优化结果:

求解车辆路径问题Python 车辆路径问题例题_启发式算法_07

最优解:
车辆使用数目:3,车辆行驶总距离:191.8136

配送路线1:0->5->3->7->8->10->11->9->6->4->2->1->0
配送路线2:0->13->17->18->19->15->16->14->12->0
配送路线3:0->20->24->25->23->22->21->0