Я настраиваю алгоритм ветвления и обрезки с использованием универсальной структуры обратного вызова c через C API CPLEX 12.10.
На каждом узле проблема разделения основана на текущем узле LP и обнаруживает локально действительные срезы, которые в случае нарушения добавляются для каждого дочернего узла текущего узла.
Насколько я понимаю, информация о текущем узле LP недоступна в общих обратных вызовах c. Тем не менее, я хотел бы использовать срезы, сгенерированные для родительского узла, чтобы генерировать лучшие срезы в дочерних узлах.
Нужно ли вести бухгалтерский учет о том, какие срезы генерируются на всех узлах, или может эта информация как-то передать с использованием функциональности CPLEX? Если единственная возможность состоит в том, чтобы отслеживать все сгенерированные сокращения, как можно сделать этот учет потокобезопасным, если CPLEX вызывает обратный вызов из разных потоков и из разных узлов?