我是使用 jsprit 和 VRP 的新手。我正在设置一个问题,其中车辆需要到多个装运点,然后将货物运送到多个装运点。在这种情况下,我使用了非对称成本矩阵。我不明白为什么 jsprit 仍然从成本矩阵中询问不必要的位置对。此类查询的示例是从货物交付点到车辆起点的运输时间/距离(我还设置了车辆不返回站点)。为什么会这样?我问这个是因为查询到 Google API 的距离矩阵很昂贵,并且每天限制为 2500 个条目(用于开发模式)
问问题
318 次
1 回答
2
这是一个有趣的问题,但我不认为这是值得优化的。
1)Jsprit
与graphhopper
已经让您能够自行托管自己的服务器的合作伙伴,可以不受限制地提供位置之间的距离和时间。例如,您可以从这里开始,或者从这里开始。
2)如果您知道距离/时间与您的计算无关,则根本不需要计算任何东西。只需提供虚拟数据。当你设置算法不返回仓库时,它不会在发货->仓库的情况下使用,所以不要费心计算它。
您总是可以在 github 上提出建议的功能,但如果您确定仅仅满足系统而不尝试计算欧几里德距离是无关紧要的,我的建议肯定是填充虚拟数据。
至于为什么会发生这种情况,我不能 100% 确定,但我想更容易期待所有数据(一个完整的矩阵)而不是解析什么是/不重要的开销。即使您提供几乎完整的自定义矩阵,它也会故意尝试用欧几里德距离填充空白,这表明情况就是如此。即使是 10,000 次发货的问题,setReturnToDepot(false)
您也只能自信地从 1 亿矩阵中删除 10,000 个数据点。
于 2016-10-04T18:13:54.660 回答