簡體   English   中英

我們如何以編程方式檢索OPL中CP Optimizer的軟件版本號?

[英]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:從executemain塊中,您可以實例化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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM