0

我想模拟一个工作需要多次取货和多次交付的场景。装运只允许一个取件和交货地点。服务类可以帮助对此进行建模,但我想在属于同一工作的取货和交付之间建立亲和力。这将确保相同的车辆(一组车辆)为给定的工作(工作请求由客户提出)进行取货和交付。

问候, 阿米特

4

1 回答 1

1

我不太清楚你所说的一个需要多次取货和多次交付的工作是什么意思,但是如果你查看这篇关于 Jsprit 中相关工作的 stackoverflow 帖子,你会发现 Stefan 给出的一个例子(工作 13 和 21 在同一条路线和 21 before 13 ) 其中两个作业应该在同一条路线上,并且它们的顺序是确定的——就像取货及其相关的交付应该在同一条路线上,并且取货应该在该交付之前。

基本上,您需要定义一个软路由约束以在将两个相关作业插入同一路由时进行奖励(或定义一个硬路由约束以禁止它们插入两个不同的路由)和相应的目标函数。此外,您需要一个状态更新器来记录每个作业所在的路由。您可以再次参考示例。

此外,它可以应用于多个相关作业(请参阅此 stackoverflow 帖子)。

于 2016-05-24T03:42:15.287 回答