是否可以在jsprit中处理作业(在本例中为服务)之间的关系?
例如,一个工作必须与一个或多个其他工作同时开始。 或者一项工作不得在另一项工作结束前开始(正常顺序)。
如果没有,你知道其他可以处理这种限制的java库吗?
谢谢!
答案 0 :(得分:13)
是的,您可以使用 jsprit 处理此类关系。 它有点编码,但 - 我认为 - 易于实现。为了说明这一点,我为您准备了五个基于Christofides-Mingozzi-Toth's *(第一个基准测试实例)开发的车辆路径问题(VRP)的示例。按照各个标题背后的链接,您将获得代码。请注意,路径中的第一个活动标有三角形。标签表示jobIds。
job 13 and 21 in same route AND 21 before 13
job 13 and 21 in same route AND 13 right after 21
访问http://jsprit.github.io/,您将获得大量代码示例和文档。
* N。 Christofides,A。Mingozzi和P. Toth。车辆路线问题。在N.Christofides,A。Mingozzi,P。Toth和C. Sandi,编辑,组合优化。 John Wiley,Chichester,1979。