设置间隙公差和 运行 时间的限制

Set limitation on gap tolerance and run time

我有两个问题:

  1. 在IBM ILOG CPLEX中,我写了一个OPL项目。由于代码处理大规模数据,因此需要花费大量时间来解决。限制MIP Problem的gap tolerance和限制时间的代码是什么?

  2. 我想要一个包含我想要的结果的 CSV 文件。例如,我想在 CSV 文件中包含一个 objective 函数和运行时以及设施变量。我得到了所有这些结果,但我也希望将它们写入 CSV 文件中。

1) 在 .mod 文件中的 minimize 语句 之前添加以下代码。

execute
{
   cplex.tilim=30; // 20 s time limt
   cplex.epgap=0.01 // 1% gep
}

您可以通过检查引擎日志来确认它已被考虑在内。它的开头应该是这样的:

CPXPARAM_TimeLimit                               30
CPXPARAM_MIP_Tolerances_MIPGap                   0.01

2) 您可能依赖 IloOplOutputFile

参见 https://www.ibm.com/developerworks/community/forums/html/topic?id=3fd44d41-210b-4b81-a005-819530d6377b&ps=25

中的示例