对 VehicleRoutingTransportCosts 的不必要的运输 Distance/Time 查询
Unnecessary Transport Distance/Time query to VehicleRoutingTransportCosts
我刚开始使用 jsprit 和 VRP。我正在设置一个问题,车辆需要到多个装运提货点,然后将货物运送到多个装运交货点。在这种情况下,我使用了非对称成本矩阵。我不明白的是为什么 jsprit 仍然从成本矩阵中询问不必要的 Location 对。此类查询的示例是从发货点到车辆起点的运输 time/distance(我还设置了车辆不 return 到仓库)。为什么会这样?我问这个是因为查询到 Google API 的距离矩阵很昂贵并且每天限制为 2500 个条目(对于开发模式)
这是一个有趣的问题,但我不认为这是一个值得优化的问题。
1) Jsprit
与 graphhopper
合作,您可以自行托管自己的服务器,不受限制地提供位置之间的距离和时间。你可以开始 here for that, for example, or here.
2) 如果您知道distance/time与您的计算无关,则根本不需要计算任何东西。只需提供虚拟数据。 shipment delivery --> warehouse 当你设置算法不return到warehouse时不会用到,不用费心去计算了。
您可以随时提出 github 作为建议的功能,但我的建议绝对是填充虚拟数据,如果您 确定 只是为了满足系统而不是尝试计算欧氏距离。
至于为什么会发生这种情况,我不能 100% 确定,但我想更容易期待所有数据(一个完整的矩阵)而不是解析的开销什么is/is不重要。事实上,即使您提供了几乎完整的自定义矩阵,它也会故意尝试用欧几里得距离来填补空白,这表明情况就是如此。即使是 10,000 次发货和 setReturnToDepot(false)
的问题,您也只能自信地从 1 亿矩阵中删除 10,000 个数据点。
我刚开始使用 jsprit 和 VRP。我正在设置一个问题,车辆需要到多个装运提货点,然后将货物运送到多个装运交货点。在这种情况下,我使用了非对称成本矩阵。我不明白的是为什么 jsprit 仍然从成本矩阵中询问不必要的 Location 对。此类查询的示例是从发货点到车辆起点的运输 time/distance(我还设置了车辆不 return 到仓库)。为什么会这样?我问这个是因为查询到 Google API 的距离矩阵很昂贵并且每天限制为 2500 个条目(对于开发模式)
这是一个有趣的问题,但我不认为这是一个值得优化的问题。
1) Jsprit
与 graphhopper
合作,您可以自行托管自己的服务器,不受限制地提供位置之间的距离和时间。你可以开始 here for that, for example, or here.
2) 如果您知道distance/time与您的计算无关,则根本不需要计算任何东西。只需提供虚拟数据。 shipment delivery --> warehouse 当你设置算法不return到warehouse时不会用到,不用费心去计算了。
您可以随时提出 github 作为建议的功能,但我的建议绝对是填充虚拟数据,如果您 确定 只是为了满足系统而不是尝试计算欧氏距离。
至于为什么会发生这种情况,我不能 100% 确定,但我想更容易期待所有数据(一个完整的矩阵)而不是解析的开销什么is/is不重要。事实上,即使您提供了几乎完整的自定义矩阵,它也会故意尝试用欧几里得距离来填补空白,这表明情况就是如此。即使是 10,000 次发货和 setReturnToDepot(false)
的问题,您也只能自信地从 1 亿矩阵中删除 10,000 个数据点。