[英]How do we programmatically retrieve the software version number of CP Optimizer in OPL?
我想在輸出中包括求解時使用的CP Optimizer版本(例如12.9)。 我正在處理在該軟件的多個版本下解決的問題,因此在查看解決方案時查看使用哪個版本會有所幫助。 我不能僅檢查About菜單,因為我將結果寫入外部文件並在很長一段時間后對其進行了檢查。
有沒有辦法以編程方式檢索OPL中的版本號?
我在提供的Oplide中使用OPL。 我找到了.NET界面的CP.Version屬性( https://www.ibm.com/support/knowledgecenter/zh/SSSA5P_12.9.0/ilog.odms.cpo.help/refdotnetcpoptimizer/html/P_ILOG_CP_CP_CP_Version.htm ),但我無法找出OPL代碼中的等效項。
看來IloCP腳本類沒有導出版本號。 但是,我可以看到另外兩種獲取版本的方法:
選項1:從execute
或main
塊中,您可以實例化IloCP Java類並使用該類的getVersion()
函數:
execute {
var cpo = IloOplCallJava("ilog.cp.IloCP", "<init>", "()Lilog/cp/IloCP");
writeln(cpo.getVersion());
cpo.end();
}
選項2: IloCplex腳本類確實提供了getVersion()函數。 因此,您可以在一個main
塊中
main {
writeln(cplex.getVersion());
// or
var cpx = new IloCplex();
writeln(cpx.getVersion());
cpx.end();
}
CP Optimizer和CPLEX的版本號相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.