Gurobi does not support to apply your own branching rules or dynamically add new variables in some branch-and-bound node, as it is required in algorithms based on column generation, e.g., branch-and-price(-and-cut) algorithms. Instead, you have to build your own branch-and-bound algorithm, use Gurobi to solve the node relaxation, and modify the model in-between to implement column and cut generation, custom branching rules, etc.
In general, if you want to significantly intervene in Gurobi's branch-and-bound algorithm, you need to:
- terminate the optimization (in a callback or based on some termination criteria),
- modify the model and/or parameters, and
- restart optimization (that usually is able to warmstart from previous results).