问题标签 [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.

0 投票
1 回答
348 浏览

optaplanner - 不同项目容量未指定的车辆路线优化

我有一些不同的车辆路线优化问题变体。有不同的物品要在不同的商店被丢弃。每个商店需要 N 项金额 [a1, a2, ...., aN]。因为我们事先不知道一条路线上会有多少家商店。那么我们如何决定将多少特定物品放入车辆中呢?或者我应该先将随机数量的不同物品放入车辆中,然后使用容量限制。请提供任何指向解决此类问题的研究论文或博客的链接。

0 投票
1 回答
807 浏览

optimization - 解决车辆路线以优化成本

我必须解决生产级应用程序的车辆路线问题。

问题陈述 :-

车辆有:-

  • 类型
  • 容量
  • 舰队时间
  • 成本=固定成本+可变成本
  • 如果我们在舰队时间之后使用车辆,则会增加可变成本。

取货点 :-

  • 负载被拾取。我们必须承担所有的负载
  • 我们可以取货的时间段。
  • 挑选负载所花费的时间。

目的地点:-

  • 车辆必须只在那个时间段内到达。
  • 卸载所花费的时间。

车辆可以重新回到起点,也可以直接到达目的地。

目的地点将与上车点相距一定距离。因此,多辆小型车辆可以在一个点相遇(可以是起点,或者我们将始终定义该点),然后将其运送到大型车辆。

较大的车辆可以直接到达目的地。

我们也可以只运行较大的车辆。它将从所有点拾取负载。然后前往目的地点。

如果我得到否决就好了。车辆也作为路线输出的一部分。

我是这个地区的新手。jsprit 或 optaplanner 可以为此提供解决方案吗?

0 投票
1 回答
1080 浏览

jsprit - 如何在时间窗口中使用 jsprit?

我不明白如何在 jsprit 中使用时间窗口。

我知道您使用以下方法赋予车辆的价值:

对于以下服务:

但是如何将小时数转换为这个值?我如何为 2 项服务编写时间窗口:

1- 10 小时开始,12 小时结束

2- 16 点开始,15 点结束

谢谢帮助。

0 投票
1 回答
984 浏览

java - 使用 GraphHopper 和 jsprit 构建矩阵

我正在用 Java 构建一个路由服务,其中包含用于生成点之间路线的 graphhopper 之类的路由工具,以及用于通过 Maven 嵌入到应用程序中的车辆路由问题的 jsprit。

在jsprit中,可以添加一个成本矩阵来标记矩阵中2个点之间的时间和距离。但这意味着对于图中的每条边,我必须向 graphhopper 发出请求以获取信息。

我的问题是,如果这是处理这个问题的正确方法吗?我搜索了 API,找不到生成矩阵的选项。这种情况的最佳实践是什么。

提前致谢

0 投票
1 回答
461 浏览

java - 在 jsprit 中使用带日期的时间窗口

我正在用 VRP 做一个学校项目。我要解决的问题是生成具有多个点的路线,每个点必须在一个时间窗口中执行。

我的问题是如何将日期(unix 时间戳)转换为 jsprit 中的时间窗口,因为算法从 0 时间开始。我只是将时间间隔减去,还是有我错过的最佳实践。

谢谢你的帮助。

0 投票
1 回答
314 浏览

jsprit - Jspirit timeunit 设置和速度以公里/小时为单位

我正在使用 Jsprit。我正在使用内置的greatciclecost计算以公里为单位的距离。我想确保计算的时间单位应该保持在小时。此外,我设定的大循环成本中的速度是50Km / hr。它应该有相应的行为。

在jsprit成为graphhopper之后。大部分文档都是从互联网上获取的。这对开源社区来说是非常令人沮丧的。Stefan Schröder 所做的大部分工作都变得更难使用。我将感谢 Stefan Schröder 在这方面的答复。

0 投票
0 回答
108 浏览

traveling-salesman - 如何使用约束确保服务发生在同一路径中?

我正在尝试使用 Jsprit 约束来确保解决方案路线具有一组特定的服务。给定服务[S1, S2, S3, ..., S10],我想确保服务[S2, S4, S6]发生在同一路线中。

为此,我正在使用HardRouteConstraint..

这部分工作正常.. 如果S2和是解决方案的一部分S4S6它们出现在单个路线中,并且不会在不同路线之间分割..

问题是,如果我的车辆容量有限(比如 3 辆),Jsprit 可能会返回如下解决方案:

这是可以理解的,但不是我想要的。我希望如果一条路线包括S2,它也应该包括S4and S6,以任何顺序..

如何确保有效的解决方案不包含此类路由:[X, S2, Y][S2, X, S4]..

谢谢,阿西姆

0 投票
0 回答
66 浏览

jsprit - 如果 Jsprit 中有多个仓库,我们可以将作业与仓库关联吗?

如果 Jsprit 中有多个仓库,我们可以将作业与仓库关联吗?

假设我在同一个城市有多个站点,并且我想通过特定站点将服务限制在特定位置,我如何在 Jsprit 中实现这一点?

0 投票
0 回答
357 浏览

java - 从 jsprit 的仓库提货过早

我正在使用 jsprit 来路由在时间窗口内进行交付的司机,在这种情况下司机必须多次返回仓库。

我们遇到的问题是,假设车辆容量为 20 个包裹,需要交付 30 个包裹,算法通常让司机取 20 个包裹,放下 10 个,然后再回来取其余的,而不是只取第一次取件时需要 10 个包裹。这是一个问题,因为有时这些物品很容易腐烂,所以运输时间越短越好。

我正在考虑根据增加运输包裹的成本来添加软约束或活动成本,但我不确定如何执行此操作,因为它似乎需要繁重的状态管理和数量跟踪。另一种选择是将事物作为后处理步骤进行转移,但这也感觉不干净。

我错过了什么吗?谢谢!

0 投票
1 回答
318 浏览

jsprit - 对 VehicleRoutingTransportCosts 的不必要的运输距离/时间查询

我是使用 jsprit 和 VRP 的新手。我正在设置一个问题,其中车辆需要到多个装运点,然后将货物运送到多个装运点。在这种情况下,我使用了非对称成本矩阵。我不明白为什么 jsprit 仍然从成本矩阵中询问不必要的位置对。此类查询的示例是从货物交付点到车辆起点的运输时间/距离(我还设置了车辆不返回站点)。为什么会这样?我问这个是因为查询到 Google API 的距离矩阵很昂贵,并且每天限制为 2500 个条目(用于开发模式)