我们如何以编程方式检索OPL中CP Optimizer的软件版本号?

时间:2019-05-05 19:59:32

标签: cplex opl cp-optimizer

我想在输出中包含求解时使用的CP Optimizer版本(例如12.9)。我正在处理在该软件的多个版本下解决的问题,因此在查看解决方案时查看使用哪个版本会有所帮助。我不能只检查About菜单,因为我将结果写入外部文件并在很长一段时间后对其进行了审核。

是否可以通过编程方式在OPL中检索版本号?

我正在提供的Oplide内部使用OPL。我找到了.NET接口(https://www.ibm.com/support/knowledgecenter/en/SSSA5P_12.9.0/ilog.odms.cpo.help/refdotnetcpoptimizer/html/P_ILOG_CP_CP_Version.htm)的CP.Version属性,但是我无法找出OPL代码中的等效属性。

1 个答案:

答案 0 :(得分:2)

似乎IloCP scripting class没有导出版本号。但是,我可以看到另外两种获取版本的方法:

选项1:在executemain块中,您可以实例化IloCP Java class并使用该类的getVersion()函数:

execute {
   var cpo = IloOplCallJava("ilog.cp.IloCP", "<init>", "()Lilog/cp/IloCP");
   writeln(cpo.getVersion());
   cpo.end();
}

选项2:IloCplex scripting class确实提供了getVersion()函数。因此,您可以在main块中完成

main {
   writeln(cplex.getVersion());
   // or
   var cpx = new IloCplex();
   writeln(cpx.getVersion());
   cpx.end();
}

CP Optimizer和CPLEX的版本号相同。