jsprit如何将取件添加到车辆

Posted

技术标签:

【中文标题】jsprit如何将取件添加到车辆【英文标题】:jsprit how to add picked-up shipment to a vehicle 【发布时间】:2016-04-09 13:34:48 【问题描述】:

我想从上下文中恢复 VRP 问题。 在这种情况下,某些车辆可能已经装载了一些货物并在运送途中。或者它可能会去取货地点取货。

我不想将这些任务重新分配给其他车辆。在这种情况下,我如何将它们分配给车辆?

我目前的解决方法是将拾取车辆设置在非常靠近该车辆的上下文位置和一个紧凑的拾取窗口以及强制车辆拾取它所需的技能。 (这可能并不总是有效,所以我需要一种艰苦的写作方式来进行设置)

非常感谢!

【问题讨论】:

【参考方案1】:

你可以试试jsprit的初始路由功能。可以参考jsprit旧邮件列表中的this post和the example here。

编辑:

答案的基本部分:

VehicleRoute initialRoute_withShipmentsAndServices = VehicleRoute.Builder.newInstance(vehicle3)
    .addPickup(shipment1).addPickup(shipment2)
    .addService(service3).addService(service4)
    .addDelivery(shipment2).addDelivery(shipment1)
    .build();

vrpBuilder.addInitialVehicleRoute(initialRoute_withShipmentsAndServices);

【讨论】:

这正是我想要的,谢谢! @何黄

以上是关于jsprit如何将取件添加到车辆的主要内容,如果未能解决你的问题,请参考以下文章

JSprit:如何最大化可用车辆数量以减少时间

jsprit 多次取货和送货

如何在 JSprit 中使用具有自身成本矩阵的车辆类型

限制车辆数量 JSPRIT

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

最小化jsprit中的总时间