【问题标题】:How to Resolve ERROR: invalid SCIP stage <10> in SCIP C++如何解决错误:SCIP C++ 中的无效 SCIP 阶段 <10>
【发布时间】:2020-02-21 10:01:03
【问题描述】:

我觉得我错过了一些非常简单和直接的东西。我试图在解决 LP 后添加一个约束(使用最佳 LP 解决方案作为设计此约束的机制)。我正在通过这段代码添加它

432 SCIP_CONS * cons = nullptr;
433 namebuf.str("");
434 namebuf<<"cut_3_OR1";
435  SCIP_CALL(SCIPcreateConsLinear(scip, &cons, namebuf.str().c_str(), 0, nullptr, nullptr, -SCIPinfinity(scip), 1.0,   /* <= 1.0 constraint */
436                                    true,  /* initial  <= 0 */
437                                    false, /* separate */
438                                    true,  /* enforce */
439                                    true,  /* check */
440                                    true,  /* propagate */
441                                    false, /* local */
442                                    true,  /* modifiable */
443                                    false, /* dynamic */
444                                    false, /* removable */
445                                    false  /* stickingatnode */));

代码编译正常,但在运行代码时,我收到此错误消息

[src/scip/scip_cons.c:991] ERROR: invalid SCIP stage <10>
[src/scip/cons_linear.c:17695] ERROR: Error <-8> in function call
[src/Solver.h:445] ERROR: Error <-8> in function call
make: *** [run] Error 1

当我删除此约束添加时,代码编译并运行。

谁能告诉我怎么了?

【问题讨论】:

    标签: c++ linear-programming scip


    【解决方案1】:

    第 10 阶段是SCIP_STAGE_SOLVED。在您的问题解决到最优后,您尝试添加一个约束。 您要添加的约束是否必要?然后您可能必须实现一个约束处理程序并将您的约束添加到您的处理程序的 sepalp-callback 中。例如,您可以查看 SCIP 文档中的 TSP 示例(它有一个 subtour-elimination 约束处理程序)

    【讨论】:

    • 是的。这是必要的,因为它会增加下限的值。所以我想我必须按照你的建议添加它。有没有关于如何做的教程?感谢您的帮助。
    • 文档中也有一节关于此:scip.zib.de/doc/html/CONS.php(我用示例编辑了我的原始帖子)
    • 我不确定我是否应该提出一个单独的问题,但我想我有一个稍微相关的问题。我想在我的根节点添加上述剪切,但是在添加某些列后我到达了根节点。我不想在此列生成过程中添加任何削减。我应该做出重大改变吗?
    • 我假设您在定价插件中添加列?你绝对不应该在那里添加削减。正如我所写,您应该在约束处理程序中添加切割(如果它们不是模型约束,则应添加分离例程)
    • 是的!我使用定价器添加列,并且确实实现了约束处理程序(目前它什么都不做,因为我没有实现它来添加剪切,但它确实做了一些检查)。我会把它作为一个问题来问,这样会更容易。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多