问题标签 [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 回答
278 浏览

jsprit - jsprit 入门:概念性建议

对不起,这不是一个具体的问题。由于我是 Jsprit 的新手,我需要一些关于如何开始解决问题的概念性帮助。

我的例子:

我一开始只有一辆车的起点和终点位置。有几个具有优先级的取货位置,只有一个用于交付的仓库位置。车辆应行驶 1 天,然后休息 2 天,然后再休息 2 天,每天给定开始/结束时间。开始/结束位置是每天定义的(1 和 4)。车辆可以在第 1 天返回其终点位置,包括装载,但在第 4 天,最后一个位置应该是卸货(并返回空车)的仓库。

我想根据优先级和车辆 2d 负载约束尽可能多地拾取物品,如果拾取过多,它们将被忽略。车辆每天可多次返回仓库卸货。我还想在第 4 天开始之前更改接送优先级。

  • 有任何想法吗?
  • 分别定义取件和交付而不是使用发货之间是否有好处/区别?
  • 我想定义 2 辆车而不是定义休息时间,但我不想在第一天卸货。我读到这可以使用 2 个驱动程序来完成,查看 API 和我不知道的驱动程序设置。 https://discuss.graphhopper.com/t/3-questions-endlocation-and-multiple-vehicles/414/8 Driver 类有一个 home 属性,但这是一个字符串,只能在车辆上定义中断。
  • 在第 4 天运行求解器之前,我是否应该运行两次求解器并删除第一条路线中已经存在的皮卡?+ 之后合并结果?
  • 如果负载达到 85%,如何实现仅 onload 的约束?
  • 如何实施约束,即第 4 天的最后一个位置应该是返回终点位置之前的仓库(如果所有提货都完成,甚至 <85%)?
0 投票
0 回答
359 浏览

or-tools - VRPTW 的基准测试结果 - 比较 jsprit 和 ortools-vrp 求解器?

我一直在尝试查找一些已知 VRPTW 基准测试的结果(例如http://neo.lcc.uma.es/vrp/known-best-results/),以比较jspritortools-vrp,使用最佳搜索 -启发式方法都必须提供。有一些已知的资源吗?

0 投票
0 回答
53 浏览

java - 使用 VrpXMLReader 从文件中读取 jsprit 解决方案

我正在用jsprit解决VRP。我使用 VrpXmlReader 从文件中读取解决方案

但是当解决方案包含车辆中断时,我得到一个错误

我怎样才能解决这个问题?

0 投票
1 回答
105 浏览

java - jsprit中的pick up、job、shipping和service有什么区别

我不明白 jsprit 中的取货、工作、发货和服务之间的区别

0 投票
0 回答
40 浏览

java - 减少在同一地点连续取货/送货的服务时间

在解决方案搜索过程中,是否可以减少在同一坐标上连续取件/交付的服务时间?

例如:有四批货物 = 4 次取件和 4 次交货。所有货物均从同一地点挑选,并从同一地点交付。

默认取件/送货服务时间 = 60 秒。

默认结果:

连续活动减少服务时间的结果:

如何根据上述结果生成具有服务时间的解决方案?也许有一种方法可以以缩短服务时间的方式影响算法?

0 投票
0 回答
89 浏览

java - 允许车辆在装运时间窗口结束后到达

据我所知,使用 .setPickupTimeWindow() 和 .setDeliveryTimeWindow() 将时间窗口应用于 Shipment 将对解决方案搜索过程施加硬约束。如果我理解正确,这意味着这些窗户不应该被打破。

另一方面,我想允许车辆在时间窗口之外取件/交付货物(假设他们可以在时间窗口结束后的 5 分钟内到达并交付货物)。在寻找可能的解决方案时,我查看了 SoftActivityConstraint 类,并考虑对路线中的每个插入作业应用软约束,如果车辆迟到不到 5 分钟,则成本为 0。

我可以影响车辆的到达和完成时间吗?可以使用 SoftActivityConstraint 来实现吗?提前致谢。

0 投票
1 回答
109 浏览

jsprit - JSprit 初始车辆路线不允许在使用容量时插入新的 Shipment

我有一个简单的初始车辆路线,包括取货和送货。我想在路线中添加“LastMinute”交付作业。活动和车辆的容量为 1。

JSprit 拒绝安排新作业。在源代码中翻了一下,我认为是因为“交付”能力为负,但这并没有反映在状态管理器中。不过,不是正面的。

如果我不使用任何容量,则可以安排作业。如果初始路线使用“服务”而不是“取货”和“交付”,则可以安排作业,但这也会妨碍准确的容量实施。我抽出时间窗以使示例尽可能简单,但结果与时间窗相同。

想法?

0 投票
0 回答
112 浏览

java - 如何在 JSprit 中为灵活的时间窗口实现 SoftActivityConstraint?

如何为 Job 或所有 Job 的灵活时间窗口实施 SoftActivityConstraint?我的意思是实现 SoftActivityConstraint 为未分配的作业或所有作业添加灵活的时间窗口。那些。如果启用了灵活模式(添加了约束),那么可以建议用户更改工作时间以适应解决方案吗?

我找到了这个解决方案,但它太旧了 -链接

这是我的问题(Link)的副本,但不幸的是没有人回答。

提前致谢!

0 投票
1 回答
39 浏览

vehicle-routing - jsprit 能解决需求负的 VRPC 还是 VRPB 更好?

我需要使用 VRP 并考虑到客户想要取货或送货。我知道 VRPB 满足这些要求,但要等到卡车空了再从客户那里取货。

VRPC 是否能够处理负面需求?这将使它成为一个交付。

0 投票
0 回答
30 浏览

vehicle-routing - Jsprit - 选择在路线早期完成大部分交付的路线

如果两条路线的总成本相同,是否可以在路线的早期选择能够完成大部分交付的路线?

例如,以下路线每条路线都有 4 次送货,每条路线的总成本(时间和距离)完全相同:

路线 1:A > B > C > D

路线 2:D > C > B > A

但是,如果从 A 到 B 的旅程是旅程中最长的一段,我们可以影响 JSPRIT 选择第二条路线来解决问题吗?这样,司机可以在路线的早期完成大部分交付。