使用 OR-Tools

问题描述

我仍然是约束编程的初学者,我目前正在尝试使用 Google OR-Tools 在 Python 中实现护士调度问题。

特别是在调试期间,我经常遇到 cpsolver 无法找到解决方案并且我无法弄清楚原因的情况。所以我想知道,有没有办法追溯哪些约束(可能有)导致没有可行的解决方案?

我已经搜索了文档,但找不到这样的函数或任何关于它的文档。但是,我确信这是一个常见问题,应该有解决方案。谁能告诉我这个功能是什么,或者我可以在哪里找到关于这个问题的文档?

非常感谢任何帮助 - 谢谢!

解决方法

https://github.com/google/or-tools/issues/973#issuecomment-817635488%3E 中的讨论宣布了 8.2 版中的一些新功能

cp_model.AddAssumptions({a,b,c});

response.sufficient_assumptions_for_infeasibility()

看起来他们发现(一个?)最小的冲突。这可能就是您要找的。​​p>

Laurent Perron 在讨论中解释说“每个约束都有一个强制文字。 然后最大化执行文字的总和。”