You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SCIP分支定价实现中主问题约束意外禁用问题求助

SCIP分支定价实现中主问题约束意外禁用的问题排查求助

背景

基于SCIP开发分支定价算法,代码改编自bin packing项目,仅做少量修改(主问题与定价问题结构与原项目基本一致)。

问题现象

经过几次迭代后,部分主问题约束被意外禁用,导致初始化定价问题时这些约束被排除,破坏了定价问题的正确性。

排查动作

在计算主问题对偶变量的initPricing方法中添加调试代码,用于检测约束状态:

for (c = 0; c < n_edges; ++c) {
  cons = conss[c];
  assert(!strncmp(SCIPconshdlrGetName(SCIPconsGetHdlr(cons)), "setppc", 6));

  if (!SCIPconsIsEnabled(cons)) {
    printf("cons: %s was disabled\n", SCIPconsGetName(cons));
    continue;
  }

  /* dual value in original SCIP */
  dual = isfarkas ? SCIPgetDualfarkasSetppc(scip, cons) : SCIPgetDualsolSetppc(scip, cons);
}

运行后确认:有两个主问题约束处于禁用状态,初始化定价时被跳过。

补充信息

因问题结构与bin packing高度相似,未修改cons_samediff或branchryanfoster的逻辑,默认这两个模块可正常工作。

求助需求

  1. 识别约束被意外禁用的根本原因
  2. 给出对应的解决方案
  3. 确认该问题是否由cons_samediff或branchryanfoster模块导致?

内容的提问来源于stack exchange,提问作者Mahdi.Mo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 07:47:06