I am trying to implement node selection and for that I need to understand the getOpenNodes function in pyscipopt. It is supposed to give the leaves, siblings and children of the focus node.
Thank you! Please let me know if any clarification is needed.
The total number of open nodes is computed as children + siblings + leaves (see SCIPtreeGetNNodes). So, yes these sets are disjoint.
The focus node is the node that is currently being processed, that is, SCIP solves the corresponding LP relaxation and then decides where to go next, depending on the node selection strategy.
And yes, the leaves are all currently open leaves except for the siblings and children of the focus node.
In general, it is often very helpful to check the SCIP documentation of the respective functions being called by PySCIPOpt.