Я пытаюсь поймать изменение двойной привязки с помощью обработчика событий. В type_event.h
нет события для обнаружения этого, поэтому я хочу использовать событие SCIP_EVENTTYPE_NODEFEASIBLE
.
Меня немного смущает взаимосвязь между событиями, из которых состоит SCIP_EVENTTYPE_NODESOLVED
(SCIP_EVENTTYPE_NODEFEASIBLE
, SCIP_EVENTTYPE_NODEINFEASIBLE
и SCIP_EVENTTYPE_NODEBRANCHED
). Эти события не пересекаются? Что они конкретно означают? ИМХО, в документации по этому поводу не очень ясно.
Я предполагаю следующее (при условии, что три события не пересекаются):
SCIP_EVENTTYPE_NODEFEASIBLE
: LP в этом узле является цельным.SCIP_EVENTTYPE_NODEINFEASIBLE
: узел недопустим или был обрезан путем привязки.SCIP_EVENTTYPE_NODEBRANCHED
: решение LP на этом узле является дробным, и было выполнено ветвление.
Заранее спасибо!