或者工具 cp_model 知道哪个约束失败

问题描述

用于解决 cp_model 调度问题的工具。 我已经向模型添加了 8 个约束,如果返回的解决方案状态为不可行,我的问题是是否有办法知道无法满足哪个约束以及将不可行作为状态返回的原因。

感谢任何帮助并提前致谢。

解决方法

有多种方法:

  • 将它们一一删除?
  • 尝试注入已知的解决方案。
  • 最小化问题的大小以帮助调试。

如果你能重写模型,你可以看看assumptions sample。 使用相同的模型,您可以尝试最大化强制约束的数量(而不是使用假设)。