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

关于SCIP求解大型LP:指定初始解限时寻优的技术咨询

大型LP求解:指定初始解并优化SCIP效率

问题背景

使用SCIP求解大型LP问题耗时30秒,推测预求解步骤是主要耗时原因。需求为:向求解器提供一个优于随机初始化的初始可行解,使其在限定时间内找到更优的可行解。

SOPLEX邮件列表官方回复(中文翻译)

针对该需求,可通过以下配置调整SCIP的行为:

  • 关闭或弱化预求解:若预求解是耗时核心,可直接关闭预求解来减少启动耗时。在SCIP中执行参数设置:SCIPsetIntParam(scip, "presolving/maxrounds", 0);若不想完全关闭,也可降低预求解轮数(例如设为5),平衡预求解的优化效果与耗时。
  • 导入自定义初始可行解:SCIP支持导入用户提供的可行解,具体操作步骤如下:
    1. 创建解对象:SCIPcreateSol(scip, &sol, NULL)
    2. 为每个变量设置初始值:SCIPsetSolVal(scip, sol, var, your_initial_value)
    3. 验证解的可行性:SCIPisSolFeasible(scip, sol, TRUE, &is_feasible)
    4. 确认可行后,将解添加至求解器:SCIPaddSol(scip, sol, FALSE)
  • 调整参数以优先寻找更优解:为让求解器在限定时间内优先改进可行解,可配置以下参数:
    • 设置时间限制:SCIPsetRealParam(scip, "limits/time", 你的限时秒数)
    • 提高启发式算法调用频率,例如随机舍入启发式:SCIPsetIntParam(scip, "heuristics/randround/freq", 5),快速生成更优的可行解
    • 降低分支定界的优先级,让求解器将更多资源投入到启发式找解中:SCIPsetIntParam(scip, "branching/pscost/priority", -1)

内容的提问来源于stack exchange,提问作者Zohar Levi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:12:29