在CPLEX C#版本中,主运行时可以停用输出吗?

时间:2019-09-29 18:31:06

标签: cplex

我使用C#,并调用CPLEX主函数。代码:

if (opl.ModelDefinition.hasMain())
{                            
     status = opl.Main();
}

程序运行时,我得到有关运行模型的输出。示例:

 ! ----------------------------------------------------------------------------
 ! Satisfiability problem - 21 variables, 221 constraints
 ! Presolve      : 5 extractables eliminated, 1 constraint generated
 ! Workers              = 1
 ! Initial process time : 0.06s (0.02s extraction + 0.03s propagation)
 !  . Log search space  : 112.9 (before), 112.9 (after)
 !  . Memory usage      : 1.7 MB (before), 1.7 MB (after)
 ! Using sequential search.
 ! ----------------------------------------------------------------------------
 !               Branches  Non-fixed            Branch decision
 *                      4 0.11s                 132  = _int12
 *                      6 0.12s                  21  = _int9
 *                      7 0.13s                  22  = _int9
 *                     11 0.13s                  38  = _int13
 *                     15 0.14s                 132  = _int10
 *                     16 0.15s                 133  = _int10
 *                     17 0.16s                  22  = _int9
 *                     20 0.16s                 132  = _int10
 *                     22 0.17s                 133  = _int10

... ...

由于输出,这会使程序变慢。我可以停用写入输出吗?

1 个答案:

答案 0 :(得分:2)

禁用输出的一种简单方法是更改​​CP引擎的“ Log Verbosity”和“ Log Period”参数。可以在.mod文件中或通过为.ops文件提供适当的设置来完成此操作。

更新:为了在.mod文件中进行设置,请将此行放入文件中

execute { cp.param.LogVerbosity = "quiet"; }