如何使用 C++ 中的 conshdlr 获取已添加到 SCIP 的切割数和实际切割数

How to get the number of cuts and the actual cuts that have been added to SCIP using a conshdlr in C++

我的 scip 解决方案日志显示已添加的剪切数为 10,但是当我尝试使用 SCIPgetNCuts(scip) 我总是得到 0。

除此之外,有没有办法把所有已经添加到一个vector中的切割都获取到?

所以,我能够弄清楚这一点。

只需创建一个额外的数据结构(如 std::vector)来保存剪辑(基本上是 LProws,您可能必须创建一些补充数据结构来保存实际的剪辑信息(比如图表信息等))。在定价器和约束处理程序之间传递此数据结构,并将新变量添加到现有约束和削减中。