OR-Tools:向最小成本流类添加约束?
Posted
技术标签:
【中文标题】OR-Tools:向最小成本流类添加约束?【英文标题】:OR-Tools: Adding a constraint to min cost flow class? 【发布时间】:2020-09-15 23:59:18 【问题描述】:我正在尝试使用 or-tools 解决供应链网络流量问题。我有对弧的容量和需求的需求和供应节点。我已经设法使用 SolveMaxFlowWithMinCost() 获得了最佳结果。
但我正在尝试找到一个解决方案,其中每个需求节点只能由 1 个供应节点提供服务。无论如何我可以将此约束添加到模型中吗?
【问题讨论】:
【参考方案1】:直觉反应是,您不能对最小成本流添加任何约束,也不能期望任何属性,如公平。一旦您这样做,您就可以将复杂性从多项式(最小成本流)更改为 NP 完全。
您可以尝试整数求解器(MPSOlver、CP-SAT),但性能会差很多。
您还可以尝试对最小成本流的输出进行后处理以修复分配。
最后一个想法,您可以使用最小成本流分配来限制 NP 求解器的模型(例如,仅保留出现在最小成本流中的弧)。
【讨论】:
谢谢 Laurent,我猜是这样。我在想是否有一些解决方法可以启用这种情况。但我认为后处理是目前的前进方向。以上是关于OR-Tools:向最小成本流类添加约束?的主要内容,如果未能解决你的问题,请参考以下文章
Or-Tools CpSolver 获取最小和最大总和或绝对值