VRP系统的相关说明和实现

张开发
2026/4/16 7:20:14 15 分钟阅读

分享文章

VRP系统的相关说明和实现
VRP是什么VRP-Vehicle Routing Problem车辆路径问题。这个名词可能很多的非此专业的小伙伴都没见过我也是哈哈。我是在工作的过程中遇见了这个问题下面记录一下我的解决思路和解决方案。业务背景有这样一个场景垃圾收运公司需要管理车辆、垃圾点等信息涉及到一个任务分配的场景今天哪辆车去哪几个小区收垃圾不同的地方能去的车辆类型也不同比如有些地方只能进去小三轮有些地方需要卡车有些车是电车有行驶距离的限制有些车是油车行驶距离够长但是载重是有限制的有些车一天出行一次有些车可能需要往返多次有些车在收集到了一定的垃圾后会去倒掉回来继续工作。在某些情况下我们希望在一定的时间内把任务都完成在某些情况下我们希望完成任务的同时总的行驶距离(可以理解为油耗)是最短的。这样不同的条件下任务分配的情况也是不一样的。因此怎么分配任务以及分配好任务后的路线是什么样的这就涉及到了上面说的VRP这个问题领域。当然一开始我在接触这个业务场景的时候是不了解VRP这个概念的前期的大部分工作集中在了收集资料这个事情上一开始的搜索关键词就是路线规划以及多任务路线规划随之搜索到的资料都是关于高德和百度这些地图厂商一些服务服务即使付费他们也只能提供一些基础的路线规划功能在涉及到很复杂的多任务、多约束条件的情形时也是没有解决方案的。上面的那些截图是我在处理这个业务场景时的一些思考大家可以参考这看一下。实现效果最终的实现效果如下700多个垃圾点设定如下的条件规划出了一条路线然后我调整车辆的行驶距离限制就会产生多条路线当然还有其他的限制条件可以加进去为了简答演示就不一一调整了。实现方式首先是需要地图数据因为国内的产商目目前都需要收费因此下面的解决方案都是基于OpenStreetMap这个开源的地图数据实现的。其次是任务分配算法这块是基于开源组件做的我有调研过谷歌的一个筹划组件但是用起来太复杂所以就放弃了。

更多文章