jsprit简介
jsprit是一个开源的解决VRP(车辆路径问题)问题的工具,其中主要使用的是Ruin And Rebuild算法。
基本概念
jsprit中包含几个基本的概念,包括车辆,车辆类型等,以及他们能挂载的诸多属性。
jsprit的结果(solution)结构如图
Ruin And Rebuild流程
Rebuild流程
- 选取现在还未分配的一个服务点
- 尝试加入每个完整路径中
- 在每个完整路径中选取一段路径进行插入
- 比较插入后新增的路径和原始段中路径的长度差
- 选取一个增量最小的位置返回该位置的增量
- 全局比较(所有路径中的所有可能插入的段)哪一段路径增量最小,则插入此段