我想模拟一个场景,其中一个Job需要多个提货和多个交付。托运只允许一个提货和递送地点。服务类可以帮助对此进行建模,但我希望在属于同一作业的收件和交付之间建立亲和力。这将确保相同的车辆(一组车辆)对给定的任务(客户提出的任务请求)进行提货和交付。
向您致敬,阿米特
发布于 2016-05-24 11:42:15
我不太确定你所说的需要多次提货和多次交货的作业是什么意思,但如果你查看this stackoverflow post regarding related jobs in Jsprit,你会发现Stefan (job 13 and 21 in same route AND 21 before 13)给出的一个例子,其中两个作业应该在同一路线上,它们的顺序是确定的-就像一个提货,它的相关交付应该在相同的路线上,该提货应该在该交付之前。
基本上,您需要的是定义一个软工艺路线约束来奖励在同一工艺路线中插入两个相关任务时的奖励(或者定义一个硬工艺路线约束以禁止它们被插入到两个不同的工艺路线中)和相应的目标函数。此外,您还需要一个状态更新器来记录每个作业所在的路径。你可以再次参考这个例子。
此外,它还可以应用于多个相关的作业(请参阅this stackoverflow post)。
https://stackoverflow.com/questions/37374438
复制相似问题