问题标签 [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.
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%)?
or-tools - VRPTW 的基准测试结果 - 比较 jsprit 和 ortools-vrp 求解器?
我一直在尝试查找一些已知 VRPTW 基准测试的结果(例如http://neo.lcc.uma.es/vrp/known-best-results/),以比较jsprit与ortools-vrp,使用最佳搜索 -启发式方法都必须提供。有一些已知的资源吗?
java - 使用 VrpXMLReader 从文件中读取 jsprit 解决方案
我正在用jsprit解决VRP。我使用 VrpXmlReader 从文件中读取解决方案
但是当解决方案包含车辆中断时,我得到一个错误
我怎样才能解决这个问题?
java - jsprit中的pick up、job、shipping和service有什么区别
我不明白 jsprit 中的取货、工作、发货和服务之间的区别
java - 减少在同一地点连续取货/送货的服务时间
在解决方案搜索过程中,是否可以减少在同一坐标上连续取件/交付的服务时间?
例如:有四批货物 = 4 次取件和 4 次交货。所有货物均从同一地点挑选,并从同一地点交付。
默认取件/送货服务时间 = 60 秒。
默认结果:
连续活动减少服务时间的结果:
如何根据上述结果生成具有服务时间的解决方案?也许有一种方法可以以缩短服务时间的方式影响算法?
java - 允许车辆在装运时间窗口结束后到达
据我所知,使用 .setPickupTimeWindow() 和 .setDeliveryTimeWindow() 将时间窗口应用于 Shipment 将对解决方案搜索过程施加硬约束。如果我理解正确,这意味着这些窗户不应该被打破。
另一方面,我想允许车辆在时间窗口之外取件/交付货物(假设他们可以在时间窗口结束后的 5 分钟内到达并交付货物)。在寻找可能的解决方案时,我查看了 SoftActivityConstraint 类,并考虑对路线中的每个插入作业应用软约束,如果车辆迟到不到 5 分钟,则成本为 0。
我可以影响车辆的到达和完成时间吗?可以使用 SoftActivityConstraint 来实现吗?提前致谢。
jsprit - JSprit 初始车辆路线不允许在使用容量时插入新的 Shipment
我有一个简单的初始车辆路线,包括取货和送货。我想在路线中添加“LastMinute”交付作业。活动和车辆的容量为 1。
JSprit 拒绝安排新作业。在源代码中翻了一下,我认为是因为“交付”能力为负,但这并没有反映在状态管理器中。不过,不是正面的。
如果我不使用任何容量,则可以安排作业。如果初始路线使用“服务”而不是“取货”和“交付”,则可以安排作业,但这也会妨碍准确的容量实施。我抽出时间窗以使示例尽可能简单,但结果与时间窗相同。
想法?
vehicle-routing - jsprit 能解决需求负的 VRPC 还是 VRPB 更好?
我需要使用 VRP 并考虑到客户想要取货或送货。我知道 VRPB 满足这些要求,但要等到卡车空了再从客户那里取货。
VRPC 是否能够处理负面需求?这将使它成为一个交付。
vehicle-routing - Jsprit - 选择在路线早期完成大部分交付的路线
如果两条路线的总成本相同,是否可以在路线的早期选择能够完成大部分交付的路线?
例如,以下路线每条路线都有 4 次送货,每条路线的总成本(时间和距离)完全相同:
路线 1:A > B > C > D
路线 2:D > C > B > A
但是,如果从 A 到 B 的旅程是旅程中最长的一段,我们可以影响 JSPRIT 选择第二条路线来解决问题吗?这样,司机可以在路线的早期完成大部分交付。