澄清 SCIP 'display problem' 和 'write statistics' 命令中使用的术语

Clarification on terms used in SCIP 'display problem' and 'write statistics' commands

我使用 SCIP 阅读了一些 .cnf 文件,但我对使用的术语感到困惑。我也无法在任何 SCIP 文档中找到这些术语。

1) 在读取 .cnf 文件后键入 'display problem' 时,我看到以下内容:

Problem name:

Variables:

Constraints: x initial, y maximal

在这种情况下,initialmaximal 是什么意思?

2) 当键入optimize时,SCIP默认每100次迭代打印出一行。有一列叫做confs,代表冲突。在这种情况下,冲突意味着什么?

是否指冲突条款?还是指Conflict Driven Clause Learning (CDCL)中的同一种冲突,指的是冲突图中同一个变量同时取2个不同的值,因此是冲突?

3) 输入write statistics后,有这样一个B&B树段:

B&B Tree           :

  number of runs   :         11

  nodes            :      46620 (32430 internal, 14190 leaves)

  feasible leaves  :          0

  infeas. leaves   :      14189

  objective leaves :          0

  nodes (total)    :     264828 (185078 internal, 79750 leaves)

  nodes left       :         36

  max depth        :        187

  max depth (total):        970

  backtracks       :      14238 (30.5%)

  early backtracks :          0 (0.0%)

  nodes exc. ref.  :          0 (0.0%)

  delayed cutoffs  :      18206

  repropagations   :      43176 (2316736 domain reductions, 13733 cutoffs)

  avg switch length:       2.71

  switching time   :     100.16

节点和节点(总数)有什么区别?

我目前将节点理解为SCIP到目前为止已经设法与当前时间进行梳理的节点数,而节点(总数)指的是整个问题的节点总数。

4) 运行 的数量是什么意思?从上面的统计,是不是分支定界从头开始运行11次?

5) max depth 和 max depth(total) 有什么区别?

目前我理解的max depth是B&B树到目前为止达到的最大深度,而max depth(total)是整个问题能达到的B&B树的最大深度。

6) 重新传播是什么意思?

目前我对此没有任何了解。

7) 延迟截止是什么意思?

目前我对此没有任何了解。

8) 什么是开关长度和开关时间?

目前我对此没有任何了解。

这些问题很多。我会尽力回答:

1)initial是读题时的约束数。约束处理程序可以添加额外的约束,因此约束的最大数量可以更大。

2) SCIP 不是纯粹的 SAT 求解器,所以我想答案都不是。有关冲突分析在 MIP 求解器中如何工作的文章,我建议查看:https://opus4.kobv.de/opus4-zib/frontdoor/index/index/docId/6406

3) 节点总数是通过所有 运行 的节点数(在您的情况下重新启动 10 次),节点仅来自当前 运行

4) 是的,你重启了 10 次,所以 11 运行s。我假设您将重点放在 cpsolver 上,因为 SCIP 通常只会重新启动一次。

5) 不是,跟节点数是一样的。 maxdepth total 是所有重启过程中达到的最高深度

6) 重新传播是指已经解决的节点再次传播,例如了解更多冲突

7)据我所知,延迟截止是指节点(之前已创建但未求解)位于已被截止的子树中。

8) 选择新的焦点节点时,有一个从当前焦点节点到新焦点节点的切换路径。平均开关长度是该路径的平均长度(当时相同)