-1

我对路由相当陌生。我想建立一个像这样工作的模型。

我有两辆卡车 A 和 B。卡车 A 会从仓库提货。它还需要从第二个仓库取货。由于时间窗口,它很可能在第 2 个取件地点时间窗口之前的初始取件之后进行两次交付。

从第一个仓库取货的卡车 B 应该只是运送物品。

显然,我需要在 2 号仓库的提货和最终交付之间建立关系,这样 jsprit 就不会尝试将一些 2 号仓库的物品分配给卡车 B。我还需要确保交付是在捡起。

结果看起来像:

TruckA P1 D1a D1b P2 D1c D2a D2b D1d etc
TruckB P1 D1a D1b D1c D1d...

我花了几个小时和我的朋友谷歌一起拖网,但还没有找到解决方案。

似乎它适合Stackoverflow_RelatedJobs_13_and_21_inSameRoute_21_first 模型。

给出的示例非常基本,涉及两个工作和一个路线。我需要处理多条路线和多条送货的取货。

我知道这将涉及软约束等,但我不知道它们应该是什么或如何创建它们。

有没有人已经这样做并且可以提供一些帮助?

4

1 回答 1

0

如果我理解正确,您想要实现的是,要在 2 号仓库提取的物品不应该送到卡车 B。

如果是这样,您可以使用路由约束来实现它。您可以参考演练约束文档中提供的示例。

在路径约束中,如果新车是卡车 B,并且如果要插入的作业是要在 2 号仓库取货的作业,或者如果当前路线包含这样的作业,则返回 false(如果是硬路线cosntraint)或返回一个惩罚(如果它是一个软路由约束)。

于 2016-12-05T09:35:07.950 回答