5

我正在使用Jsprit进行车辆路由,我对现有解决方案中新服务的自动分配感到震惊,是否有任何解决方法可以解决。

4

1 回答 1

0

赋予所有车辆自己的独特技能。任何预先解决的订单都必须在新问题中定义,以及它们最初分配到的车辆的技能要求(即在新订单之前的先前解决方案中)。只有新订单才会解决没有预先确定的驾驶员技能的问题(超出了它可能具备的“真实”技能要求)。

Jsprit 在选择用于插入订单的车辆时很聪明(它会为每个新插入物预先过滤您的车队,以便在计算插入成本之前减少其选项)。因此,即使您加载现有解决方案而是重新启动解决方案周期,就好像它完全是一个全新的问题一样,您之前解决的订单将很快(订单的一个插入周期)返回到他们的车辆应该打开;每个旧订单只能用于一辆车。

编辑:
Jsprit 在单个问题之外不是有状态的。你想做的事情需要额外的有状态的东西,所以你需要额外的东西来监控它并以适当的方式将数据传递给 jsprit。然后,您可以“劫持”jsprit 核心中现有的硬约束以传递新状态。

于 2017-08-02T17:21:04.137 回答