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

CPLEX OPL中如何查看最优性间隙及设置时间限制与间隙参数

CPLEX OPL中最优性间隙的查看与双终止条件设置

一、如何确定所得解与全局最优解的最优性间隙

最优性间隙(通常指相对间隙)是衡量当前可行解与全局最优解接近程度的核心指标,计算公式为:
相对间隙 = |当前可行解目标值 - 最优目标值下界| / max(|当前可行解目标值|, |最优目标值下界|) × 100%

在CPLEX OPL中,有两种便捷方式获取该间隙:

  1. 查看求解日志
    求解过程中,CPLEX会实时输出间隙动态,当达到时间限制停止时,日志末尾会显示类似内容:

    Gap is 0.50%

  2. 通过OPL脚本API获取
    在OPL的main块中调用CPLEX内置API,直接提取间隙数值,示例代码:

    main {
      var model = thisOplModel;
      var cplex = new IloCplex();
      cplex.extract(model);
      cplex.setParam(IloCplex.Param.TimeLimit, 1800); // 已设置的时间限制
      
      if (cplex.solve()) {
        writeln("当前可行解目标值: ", cplex.getObjValue());
        writeln("全局最优目标值下界: ", cplex.getBestObjValue());
        writeln("相对最优性间隙: ", cplex.getMIPRelativeGap() * 100, "%");
      } else {
        writeln("求解未找到可行解或被中断");
      }
      cplex.end();
    }
    

    关键API说明:

    • cplex.getObjValue():返回当前找到的最优可行解目标值
    • cplex.getBestObjValue():返回CPLEX计算出的全局最优目标值下界(最小化问题)或上界(最大化问题)
    • cplex.getMIPRelativeGap():直接返回计算完成的相对间隙(小数形式,乘以100转为百分比)

二、能否同时指定最优性间隙与时间限制?

可以,CPLEX支持同时设置时间限制和最优性间隙阈值两个终止条件,求解过程中只要满足其中一个条件,就会自动停止计算。

设置方式分为两种:

  1. 通过OPL配置文件(settings.set)设置
    在项目的settings.set文件中添加以下参数:

    TimeLimit=1800          // 时间限制1800秒
    MIPRelativeGap=0.01     // 相对间隙阈值1%(间隙≤1%时停止)
    
  2. 通过OPL脚本代码设置
    在main块中调用setParam方法分别配置两个参数,示例代码:

    main {
      var model = thisOplModel;
      var cplex = new IloCplex();
      cplex.extract(model);
      
      // 设置时间限制1800秒
      cplex.setParam(IloCplex.Param.TimeLimit, 1800);
      // 设置相对间隙阈值为0.5%(小数形式0.005)
      cplex.setParam(IloCplex.Param.MIPRelativeGap, 0.005);
      
      if (cplex.solve()) {
        writeln("求解终止,目标值: ", cplex.getObjValue());
        writeln("最终间隙: ", cplex.getMIPRelativeGap() * 100, "%");
        writeln("实际求解时间: ", cplex.getCplexTime(), "秒");
      }
      cplex.end();
    }
    

注意:MIPRelativeGap的取值范围为0到1,0代表要求找到全局最优解(间隙为0),设置为0.01即允许1%的间隙。求解时,CPLEX会优先触发先达到的终止条件。


内容的提问来源于stack exchange,提问作者SUBHADARSHINI PANDA

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 06:52:34