澄清 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
在这种情况下,initial
和 maximal
是什么意思?
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) 选择新的焦点节点时,有一个从当前焦点节点到新焦点节点的切换路径。平均开关长度是该路径的平均长度(当时相同)
我使用 SCIP
阅读了一些 .cnf
文件,但我对使用的术语感到困惑。我也无法在任何 SCIP
文档中找到这些术语。
1) 在读取 .cnf
文件后键入 'display problem' 时,我看到以下内容:
Problem name:
Variables:
Constraints: x initial, y maximal
在这种情况下,initial
和 maximal
是什么意思?
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) 选择新的焦点节点时,有一个从当前焦点节点到新焦点节点的切换路径。平均开关长度是该路径的平均长度(当时相同)