Я работаю над некоторой расширенной эвристикой ветвления для смешанного целочисленного программирования с использованием CPLEX (12.9) и его API-интерфейса Python (3.6).
Часть решений о ветвлении должна основываться на сильной оценке переменных (SB).
Несмотря на то, что я могу запросить оценку псевдостановок переменных непосредственно через API [1], кажется, что нет простого способа получить вычисленные оценки SB.
Поэтому я хочу осуществить расчет самостоятельно. Я нашел старый пост на форуме, описывающий, как реализовать эффективные вычисления ветвления как можно эффективнее [2] с помощью C-API. К сожалению, описанный метод использует библиотечные вызовы (например, CPXgetcallbacknodelp ()), для которых я не могу найти соответствующие методы python.
Это оставляет мне три вопроса:
- Есть ли вызов API для получения баллов SB, которые я пропустил?
- Я пропустил питона
оболочка для CPXgetcallbacknodelp () и т. д .?
- Есть ли простой способ добавить
оболочки для неподдерживаемых вызовов C-API к оболочке cplex python
(может быть, путем расширения генерируемых SWIG файлов Python)?
[1] https://www.ibm.com/support/knowledgecenter/SSSA5P_12.9.0/ilog.odms.cplex.help/refpythoncplex/html/cplex.callbacks.ControlCallback-class.html
[2] https://www.ibm.com/developerworks/community/forums/html/threadTopic?id=77777777-0000-0000-0000-000014479565&ps=25