Как получить переменную ветку после использования makeBranch - PullRequest
0 голосов
/ 27 октября 2019

Я использовал makeBranch, чтобы создать ветку для определенных переменных в каждом узле. Перед использованием makeBranch я использовал NodeCallback, чтобы узнать, какая переменная выбрана для ветвления. Теперь, когда я использую makeBranch, NodeCallback не показывает никакой информации о переменной ветке. Как я могу контролировать и показывать, что указанная переменная выбрана для ветвления? Как и он не показывал ни одной записи в консольном журнале Cplex (Concert C ++).

1 Ответ

0 голосов
/ 29 октября 2019

Если вы укажете пользовательскую ветвь с помощью ответвления ответвления, тогда CPLEX выполнит именно ту ветвь, которую вы указали. Нет необходимости перепроверять это.

Чтобы найти решения о ветвлении на конкретном узле, лучше хранить их как пользовательские данные узла на узле. Функция makeBranch имеет перегрузки, которые позволяют устанавливать пользовательский объект для каждой вновь создаваемой ветви. Сохраните решение о ветвлении в этом объекте пользовательских данных. Затем на любом узле используйте функцию обратного вызова getNodeData() для извлечения пользовательских данных на текущем узле.

...