首页 > 解决方案 > MiniZinc 中的灰色方块代表什么?

问题描述

在 Minizinc 中可视化执行树(通过配置文件搜索创建)时,我获得了一个包含灰色方块的树。

它们代表什么?

标签: visualizationminizinc

解决方案


灰色方块是后跳。它们是求解器能够证明不存在解决方案的树的一部分。

在一般约束规划求解器中,求解器执行树搜索。每当您发现一个分支不包含任何解决方案时,您就会转到另一个分支。传统上,每个搜索决策都有两个分支。例如,赋值及其否定。但也可以为变量可以采用的每个可能值创建一个分支。

在惰性子句生成求解器中,搜索的工作方式略有不同。每当您发现搜索失败时,您就让 SAT 后端生成一个原因,通常称为“不合格”。这个不好解释了为什么这个分支不包含任何解决方案,并且可以从那时起作为一个新的约束来强制执行。如果你只是重新审视你的上一个决定,那么这个新的约束可能仍然会被违反。取而代之的是,这些 LCG 求解器使用后跳机制跳到最后一个尚未违反不合格的决策。


推荐阅读