Как программно получить номер версии программного обеспечения CP Optimizer в OPL? - PullRequest
0 голосов
/ 05 мая 2019

Я хотел бы включить в свой вывод версию CP Optimizer (например, 12.9), используемую при решении. Я работаю с проблемами, решаемыми в нескольких версиях программного обеспечения, поэтому было бы полезно узнать, какая версия была использована, глядя на решение. Я не могу просто проверить меню about, потому что я записываю результаты во внешние файлы и просматриваю их долгое время после этого.

Есть ли способ программно получить номер версии в OPL?

Я использую OPL внутри предоставленного Oplide. Я нашел свойство CP.Version для интерфейса .NET (https://www.ibm.com/support/knowledgecenter/en/SSSA5P_12.9.0/ilog.odms.cpo.help/refdotnetcpoptimizer/html/P_ILOG_CP_CP_Version.htm),, но не могу найти эквивалент в коде OPL.

1 Ответ

2 голосов
/ 05 мая 2019

Кажется, класс сценариев IloCP не экспортирует номер версии. Тем не менее, я вижу два других способа получить версию:

Вариант 1: Из блока execute или main можно создать экземпляр Java-класса *1007* IloCP и использовать функцию getVersion() этого класса:

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

Вариант 2: Класс сценариев *1013* IloCplex предоставляет функцию getVersion (). Так что в main блоке вы можете сделать

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

Номера версий оптимизатора CP и CPLEX совпадают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...