Cplex Java API и код ошибки 127

Я использую CPLEX через Java API (который опирается на JNI). У меня есть одно запущенное приложение, которое последовательно решает миллионы задач. Сама проблема проста и решается за миллисекунды.

У меня есть этот параметр, чтобы избежать чрезмерного использования памяти

cplex = new IloCplex();
//...model definition
cplex.setParam(IloCplex.IntParam.WorkMem, 512);
cplex.setParam(IloCplex.DoubleParam.TreLim, 1024);
cplex.setParam(IloCplex.IntParam.NodeFileInd, 3);

Но поверьте мне, он настолько мал, что я никогда не превышаю этот объем памяти. Проблема возникает после нескольких часов работы. Приложение закрывается с ошибкой 127. Я почти уверен, что библиотека CPLEX хранит в памяти экземпляры cplex, которые после миллиона запусков исчерпывают мою оперативную память.

Что мне делать, создать один объект cplex и принудительно удалить память созданной модели? Достаточно ли cplex.clearModel();?


person mat_boy    schedule 18.11.2015    source источник


Ответы (1)


Мне пришлось вызвать cplex.end(), чтобы освободить все переменные, созданные после каждого решения формулы.

person mat_boy    schedule 19.11.2015