我们如何以编程方式检索 OPL 中 CP Optimizer 的软件版本号?
How do we programmatically retrieve the software version number of CP Optimizer in OPL?
我想在输出中包含求解时使用的 CP Optimizer 版本(例如 12.9)。我正在处理在软件的多个版本下解决的问题,因此在查看解决方案时了解使用的是哪个版本会很有帮助。我不能只检查关于菜单,因为我将结果写入外部文件并在很长一段时间后查看它们。
有没有办法以编程方式检索 OPL 中的版本号?
我在提供的 Oplide 中使用 OPL。我找到了 .NET 接口的 CP.Version 属性 (https://www.ibm.com/support/knowledgecenter/en/SSSA5P_12.9.0/ilog.odms.cpo.help/refdotnetcpoptimizer/html/P_ILOG_CP_CP_Version.htm),但我无法找出 OPL 代码中的等效项。
好像IloCP scripting class没有导出版本号。但是,我可以看到其他两种获取版本的方法:
选项 1:从 execute
或 main
块中,您可以实例化 IloCP Java class 并使用 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的版本号相同
我想在输出中包含求解时使用的 CP Optimizer 版本(例如 12.9)。我正在处理在软件的多个版本下解决的问题,因此在查看解决方案时了解使用的是哪个版本会很有帮助。我不能只检查关于菜单,因为我将结果写入外部文件并在很长一段时间后查看它们。
有没有办法以编程方式检索 OPL 中的版本号?
我在提供的 Oplide 中使用 OPL。我找到了 .NET 接口的 CP.Version 属性 (https://www.ibm.com/support/knowledgecenter/en/SSSA5P_12.9.0/ilog.odms.cpo.help/refdotnetcpoptimizer/html/P_ILOG_CP_CP_Version.htm),但我无法找出 OPL 代码中的等效项。
好像IloCP scripting class没有导出版本号。但是,我可以看到其他两种获取版本的方法:
选项 1:从 execute
或 main
块中,您可以实例化 IloCP Java class 并使用 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的版本号相同