在 ORTools 中为每辆卡车设置不同的约束

Posted

技术标签:

【中文标题】在 ORTools 中为每辆卡车设置不同的约束【英文标题】:Setting different constrains per truck in ORTools 【发布时间】:2020-04-09 16:06:35 【问题描述】:

我们正在开发使用 HERE 地图的路线优化软件,我们需要做以下工作:

有些卡车可以通过所有国家(他们拥有通过所需的所有许可证) 有些人需要绕过特定的国家/地区,这意味着,要找到到达目的地的二级路径,也许是三级路径

我有两个问题:

    是否可以指定哪辆卡车有什么权限,以便将它们传递给求解器 合并? 如果不是,实现此结果的最佳方法是什么?还有其他方法吗?

到目前为止,我们已尝试通过在 HERE Maps API 密钥中将某个国家/地区列入黑名单来限制该国家/地区,但求解程序不会考虑这一点。

谢谢。

【问题讨论】:

【参考方案1】:

在 OR-Tools 中,您可以为每辆车提供一个交通回调索引,因此如果一堆车辆无法到达少数几个位置,只需在与这些车辆关联的回调中返回 MAX_INT64...

【讨论】:

【参考方案2】:

如果我没有误解问题,我不知道问题是VRP还是路由。

如果问题是VRP,Mizux的指示是正确的, 您只需在回调中返回该取货和交付的有效车辆列表。 如果问题与路由有关,即从您经过的地方,您可以在 Nokia Here 中解决路由限制。

【讨论】:

以上是关于在 ORTools 中为每辆卡车设置不同的约束的主要内容,如果未能解决你的问题,请参考以下文章

如何在ortools python中设置约束

如何在 ortools 中更改约束参数的类型

ortools如何添加非线性约束

使用ortools时如何获取cpsolver的变量和约束

在 google ortools 中添加析取约束

如何使用自动布局在 Swift 中为可重用的 UIView 设置约束?