Написание пользовательского метода выбора переменной с использованием CPLEX Python API

#python #cplex

#python #cplex

Вопрос:

Я хочу реализовать пользовательскую эвристику выбора переменной для решения MLP с использованием CPLEX Python API.

К сожалению, я не могу найти никаких примеров или документации для этого.

Действительно ли это возможно с использованием CPLEX Python API, или мне нужно использовать C ?

Могу ли я достичь этого с помощью BranchCallback [1]?

[1] https://www.ibm.com/support/knowledgecenter/SSSA5P_12.5.0/ilog.odms.cplex.help/refpythoncplex/html/cplex.callbacks.BranchCallback-class.html

Комментарии:

1. какой Python API вы используете?

2. CPLEX, я отредактировал вопрос.

Ответ №1:

Функциональность BranchCallback в CPLEX Python API должна быть почти идентична функциональности BranchCallbackI, предоставляемой в C API. Однако параллельным обратным вызовам препятствует глобальная блокировка интерпретатора (она же GIL) в Python.

admipex1.py , и admipex3.py примеры Python демонстрируют, как использовать BranchCallback класс, и включены в CPLEX. Соответствующие примеры C см. iloadmipex1.cpp и iloadmipex3.cpp .