问题标签 [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 投票
0 回答
209 浏览

jsprit - JSprit 防止共享货件

我有多个货物要交付。每批货物都有一个 AZ 类型。一辆车可以容纳多个物品,但它们必须都是相同的类型。一旦最后一批货物下车,车辆就可以提取不同类型的货物(它们不能同时在车内)。

我想我需要StateUpdater用当前的货件类型更新路线,并HardActivityConstraint尽早HardRouteConstraint拒绝工作,但不知道如何具体做到这一点。

我应该实现哪些接口StateUpdater

StateUpdater, JobInsertedListener, InsertionStartsListener, InsertionEndsListener?

在这种情况下,我想实施哪种类型的约束?

0 投票
1 回答
289 浏览

jsprit - 使用 Jsprit 拨打乘车算法实现

我有一个任务来实现 Dial-A-Ride 场景。到目前为止,我可用的选项是使用 Jsprit。我在Jsprit的github wiki上找到了以下链接

但我无法准确弄清楚“您可能希望货物的容量需求为 1”是什么意思。

谁能指出我正确的方向?

提前致谢。

0 投票
1 回答
1295 浏览

jsprit - 使用自定义距离/时间矩阵时的绘图解决方案

我正在开发一个以 示例代码为核心的项目;使用自定义距离/时间矩阵来解决路由问题。该算法似乎运行良好,但我找不到在图表中查看输出的方法。只运行示例代码而不进行任何修改会导致:

2015-07-07 11:56:33,354 [main] WARN jsprit.analysis.toolbox.Plotter - 无法绘制 vrp,因为缺少坐标

这个错误是有道理的。由于没有实际指定位置,因此无法绘制任何内容;我们只指定了位置之间的相对距离/时间。我必须使用自定义矩阵,因为我在纬度/经度中工作并且需要点之间的真实道路距离。但是,随着我的问题不断扩大,只需为每个位置分配其纬度/经度并生成将这些点视为笛卡尔坐标的图形,这对我来说将非常有用。集水区并不大,所以它仍然可以让我快速查看解决方案是否有意义,而无需进行更精细的绘图。所以我的问题是,是否有一种简单的方法可以让 jsprit 使用自定义距离/时间矩阵来解决问题,但为了绘图而将坐标分配给位置?好像想不通

编辑:即使 Stefan 提出了更改,我也花了很长时间来解决这个问题。如果不更改基本代码,我无法找到一种方法来做到这一点,我不希望这对我已经工作的内容造成连锁问题。

建立一个位置很好,尽管它与建议的代码略有不同:

然后问题来了,当我希望创建一个服务时,我被当前代码强制定义一个新位置(位置只接受一个新实例):

我找不到现有的方法来简单地说服务位于预定义的位置。

继续前进,我考虑将位置直接添加到 VehicleRoutingProblem.Builder 中。请注意,向构建器添加位置需要将其定义为“addLocation(String LocationID, Coordinate coordinate),因此它不会显式采用预定义的位置;它们必须在构建器中定义。如下所示:

运行良好。但是,它仍然不会绘制,因为它没有在位置索引和绘制它们的能力之间建立关联。但是,我可以确认(按照要求)求解器仅使用预定义的 costMatrix,因此打印的答案仍然正确。

0 投票
1 回答
179 浏览

java - 具有预定数量的具有不同工作时间表的驾驶员的车辆路线

我正在尝试购买服务,其中我将拥有一个固定仓库以及预定义数量的司机(每个司机有不同的 6 小时轮班)。我有一份客户订单清单,我必须在不同的 1 小时硬窗口交付。每个客户需要一个小时来试用这些物品,然后同一司机或不同的司机必须在一小时的硬窗口内从客户那里取货,并在司机的工作班次到期之前将其交付回仓库。

我想用jsprit来解决这个优化问题。

0 投票
1 回答
278 浏览

jsprit - Jspirit 航运业

我们在航运业拥有三种运输方式(即门到门、多式联运和海运干线)。我们正在评估不同的选项来优化我们的网络,以最大限度地提高我们的产量,在这方面,我们想检查是否有人使用 jspirit 进行集装箱运输,尤其是远洋运输?如果是,任何见解都会加快我们的评估速度(jspirit 是一种选择)。

非常感谢

0 投票
1 回答
965 浏览

jsprit - Do the jsprit TSP and VRP solvers allow provided time and distance constraints between points?

Does anyone know if the jsprit solvers use a 'as the crow flies' geometric distance between two points in a route by default? And if so, is it possible to constrain this by providing to jsprit as parameters pre-calculated times/distance between adjacent points, as provided by e.g. a Google Directions calculation?

This is to allow for classic problems such as the true distance between two points could be much further than the straight-line distance if the real world journey was from one side of an estuary without a bridge being available etc?

0 投票
1 回答
203 浏览

routing - 救护车救援作为车辆路线(有能力,有时限)

这是我要解决的问题:

  • 有一个城镇在位置 (x,y) 有病人,他们会死去。
  • 患者需要在死前到达医院才能获救。
  • (x,y) 的一堆医院,有一些救护车,一次最多可以接 4 名患者,并将他们送到任何医院。
  • 救护车从医院出发,经过多次旅行,最终可以到达任何医院。
  • 我们应该尽可能多地挽救患者。
  • 完整的问题描述在这里:http ://cs.nyu.edu/courses/fall15/CSCI-GA.2965-001/ambulance.html

我正在尝试使用jsprit来解决这个问题,但无法弄清楚如何执行以下操作:(我想知道我应该查看 API 的哪一部分)

1) 指定有有限的救护车,但它们可以进行多次旅行。

  • 设置 VehicleRoutingProblem.Builder.setFleetSize(FleetSize.INFINITE) 会这样做吗?该代码没有记录确切的功能。

2) 限制病人在死前送到医院,或离开他们。

  • Shipment.Builder.newInstance("...").setDeliveryTimeWindow(time_of_patient_dying) 能做到这一点吗?

3) 为任何到达医院分娩的救护车增加 1 分钟的卸载时间。

  • 不知道要查看 API 的哪个部分。

4)让救护车选择更好的路线,让他们把病人送到任何医院。

  • 不知道要查看 API 的哪个部分。

到目前为止,这是我的代码:

0 投票
1 回答
42 浏览

jsprit - JobInsertionContent iFacts.getRoute.getStart().getLocation() 为空

我正在尝试实现一个 HardActivityConstraint,它选择距离车辆仓库一定径向距离的服务/货物。

在 constraintStatus 方法中,我试图从 JobInsertionContext 获取路线的起始位置,但它始终具有 null 值。

请帮忙。

0 投票
1 回答
182 浏览

logistics - 如何在 JSprit 中为每个工作/车辆设置不同的服务时间?

有些员工提供服务的速度比其他员工快,因此每个员工的服务时间都不同。有什么方法可以为每辆车的服务时间应用乘数?

其他更准确的方法是提供一个服务时间/车辆矩阵,其中包含为每辆车计算的持续时间,我可以使用 SVM 预先计算这个矩阵。是否可以将此数据提供给 JSprit?

编辑:我知道可以为每个工作指定持续时间。我要求的是根据车辆为每项工作分配不同服务时间的矩阵。

0 投票
1 回答
429 浏览

java - 将 jsprit maven 项目导出到可执行 jar

我正在尝试使用 eclipse mars 从 maven 项目创建一个可执行的 .jar。该项目本身可以在https://github.com/jsprit/jsprit上找到

到目前为止,我已经成功地将 jsprit 作为 maven 项目导入到 eclipse 中,并且我能够将示例作为 Java 应用程序运行。

我还没有很成功地将它导出为可执行 jar。假设我要导出 SimpleExample.java。我已经创建了 .jar,但是如果我尝试运行 jsprit-examples-1.6.2-SNAPSHOT-jar-with-dependencies.jar,我会收到以下错误消息:

错误:无法找到或加载主类 jsprit.examples.SimpleExample

位于 jsprit-examples 下的 pom.xml 如下:

其他一切都与 github 存储库中的相同。我在 jsprit-examples 上运行了“Maven Build ...”。在“编辑配置->目标”下,我做了“清理包组件:单个”。

这是我第一次使用 maven 构建,所以对于有一些 maven 经验的人来说,这可能是一个非常简单的问题。

谢谢!