Понимание функции getOpenNodes в pyscipopt

Я пытаюсь реализовать выбор узла, и для этого мне нужно понять функцию получитьOpenNodes в pyscipopt. Предполагается давать листья, братья, сестры и дочерние узлы фокусного узла.

  1. Являются ли эти непересекающиеся подмножества и дает ли их объединение все открытые узлы дерева?
  2. Как определяется узел фокуса? Является ли это узлом, на котором только что было выполнено ветвление (в случае, когда глубина дерева больше 1)?
  3. Если это так, то я понимаю значение детей и братьев и сестер по отношению к узлу фокуса. Включает ли набор листьев все остальные открытые узлы дерева?

Благодарю вас! Пожалуйста, дайте мне знать, если необходимы какие-либо разъяснения.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
17
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Общее количество открытых узлов вычисляется как дочерние элементы + братья и сестры + листья (см. SCIPtreeGetNNodes). Итак, да, эти множества не пересекаются.

Узел фокуса — это узел, который обрабатывается в данный момент, то есть SCIP решает соответствующую релаксацию LP, а затем решает, куда идти дальше, в зависимости от стратегии выбора узла.

И да, все листья в настоящее время открыты, за исключением братьев, сестер и детей фокусного узла.

В общем, часто бывает очень полезно проверить документацию SCIP о соответствующих функциях, вызываемых PySCIPOpt.

Другие вопросы по теме