Branching callback
Hello,
In the current version of Coluna, is it possible to take control of the branching decisons in the B&P tree through a callback? If not, where are encoded the branching rules (or are they detailed somewhere in the documentation)? Thank you very much in advance.
Regards,
GD
Hi Guilhem,
Ok I put the branching callback in the TODO list for the next minor release.
You can define a customized divide algorithm. The divide algorithm is a parameter of TreeSearchAlgorithm. It is called at src/Algorithm/treesearch.jl:249.
The default one is the StrongBranching which returns a DivideOutput (see src/Algorithm/branching/branchingalgo.jl).
The interface of algorithms will evolve in next minor releases so you may sometimes have to update your code if you choose to implement a new divide algorithm.
Best
Hi Guillaume, Thank you for the clarification. I'll have a look at it and if need be I come back to you. Best
An interface for the branching algorithm is now merged into master. Dev documentation is available here: https://atoptima.github.io/Coluna.jl/latest/api/branching/ (method names and location may change before the next release).
It is very likely that there will be no branching callback and that we'll advise users to implement the interface if they want to customize the branching algorithm.