问题标签 [jsprit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
optaplanner - 不同项目容量未指定的车辆路线优化
我有一些不同的车辆路线优化问题变体。有不同的物品要在不同的商店被丢弃。每个商店需要 N 项金额 [a1, a2, ...., aN]。因为我们事先不知道一条路线上会有多少家商店。那么我们如何决定将多少特定物品放入车辆中呢?或者我应该先将随机数量的不同物品放入车辆中,然后使用容量限制。请提供任何指向解决此类问题的研究论文或博客的链接。
optimization - 解决车辆路线以优化成本
我必须解决生产级应用程序的车辆路线问题。
问题陈述 :-
车辆有:-
- 类型
- 容量
- 舰队时间
- 成本=固定成本+可变成本
- 如果我们在舰队时间之后使用车辆,则会增加可变成本。
取货点 :-
- 负载被拾取。我们必须承担所有的负载
- 我们可以取货的时间段。
- 挑选负载所花费的时间。
目的地点:-
- 车辆必须只在那个时间段内到达。
- 卸载所花费的时间。
车辆可以重新回到起点,也可以直接到达目的地。
目的地点将与上车点相距一定距离。因此,多辆小型车辆可以在一个点相遇(可以是起点,或者我们将始终定义该点),然后将其运送到大型车辆。
较大的车辆可以直接到达目的地。
我们也可以只运行较大的车辆。它将从所有点拾取负载。然后前往目的地点。
如果我得到否决就好了。车辆也作为路线输出的一部分。
我是这个地区的新手。jsprit 或 optaplanner 可以为此提供解决方案吗?
jsprit - 如何在时间窗口中使用 jsprit?
我不明白如何在 jsprit 中使用时间窗口。
我知道您使用以下方法赋予车辆的价值:
对于以下服务:
但是如何将小时数转换为这个值?我如何为 2 项服务编写时间窗口:
1- 10 小时开始,12 小时结束
2- 16 点开始,15 点结束
谢谢帮助。
java - 使用 GraphHopper 和 jsprit 构建矩阵
我正在用 Java 构建一个路由服务,其中包含用于生成点之间路线的 graphhopper 之类的路由工具,以及用于通过 Maven 嵌入到应用程序中的车辆路由问题的 jsprit。
在jsprit中,可以添加一个成本矩阵来标记矩阵中2个点之间的时间和距离。但这意味着对于图中的每条边,我必须向 graphhopper 发出请求以获取信息。
我的问题是,如果这是处理这个问题的正确方法吗?我搜索了 API,找不到生成矩阵的选项。这种情况的最佳实践是什么。
提前致谢
java - 在 jsprit 中使用带日期的时间窗口
我正在用 VRP 做一个学校项目。我要解决的问题是生成具有多个点的路线,每个点必须在一个时间窗口中执行。
我的问题是如何将日期(unix 时间戳)转换为 jsprit 中的时间窗口,因为算法从 0 时间开始。我只是将时间间隔减去,还是有我错过的最佳实践。
谢谢你的帮助。
jsprit - Jspirit timeunit 设置和速度以公里/小时为单位
我正在使用 Jsprit。我正在使用内置的greatciclecost计算以公里为单位的距离。我想确保计算的时间单位应该保持在小时。此外,我设定的大循环成本中的速度是50Km / hr。它应该有相应的行为。
在jsprit成为graphhopper之后。大部分文档都是从互联网上获取的。这对开源社区来说是非常令人沮丧的。Stefan Schröder 所做的大部分工作都变得更难使用。我将感谢 Stefan Schröder 在这方面的答复。
traveling-salesman - 如何使用约束确保服务发生在同一路径中?
我正在尝试使用 Jsprit 约束来确保解决方案路线具有一组特定的服务。给定服务[S1, S2, S3, ..., S10]
,我想确保服务[S2, S4, S6]
发生在同一路线中。
为此,我正在使用HardRouteConstraint
..
这部分工作正常.. 如果S2
和是解决方案的一部分S4
,S6
它们出现在单个路线中,并且不会在不同路线之间分割..
问题是,如果我的车辆容量有限(比如 3 辆),Jsprit 可能会返回如下解决方案:
这是可以理解的,但不是我想要的。我希望如果一条路线包括S2
,它也应该包括S4
and S6
,以任何顺序..
如何确保有效的解决方案不包含此类路由:[X, S2, Y]
或[S2, X, S4]
..
谢谢,阿西姆
jsprit - 如果 Jsprit 中有多个仓库,我们可以将作业与仓库关联吗?
如果 Jsprit 中有多个仓库,我们可以将作业与仓库关联吗?
假设我在同一个城市有多个站点,并且我想通过特定站点将服务限制在特定位置,我如何在 Jsprit 中实现这一点?
java - 从 jsprit 的仓库提货过早
我正在使用 jsprit 来路由在时间窗口内进行交付的司机,在这种情况下司机必须多次返回仓库。
我们遇到的问题是,假设车辆容量为 20 个包裹,需要交付 30 个包裹,算法通常让司机取 20 个包裹,放下 10 个,然后再回来取其余的,而不是只取第一次取件时需要 10 个包裹。这是一个问题,因为有时这些物品很容易腐烂,所以运输时间越短越好。
我正在考虑根据增加运输包裹的成本来添加软约束或活动成本,但我不确定如何执行此操作,因为它似乎需要繁重的状态管理和数量跟踪。另一种选择是将事物作为后处理步骤进行转移,但这也感觉不干净。
我错过了什么吗?谢谢!
jsprit - 对 VehicleRoutingTransportCosts 的不必要的运输距离/时间查询
我是使用 jsprit 和 VRP 的新手。我正在设置一个问题,其中车辆需要到多个装运点,然后将货物运送到多个装运点。在这种情况下,我使用了非对称成本矩阵。我不明白为什么 jsprit 仍然从成本矩阵中询问不必要的位置对。此类查询的示例是从货物交付点到车辆起点的运输时间/距离(我还设置了车辆不返回站点)。为什么会这样?我问这个是因为查询到 Google API 的距离矩阵很昂贵,并且每天限制为 2500 个条目(用于开发模式)