I'm trying to find or understand rigorous a criterion about choosing the variable to generate a new Node in the Branch and Bound method. Usually the methods I've seen just choose the variable nearly to a integer or the first one must to be an integer. For example, Given $$\mbox{MILP}:\hspace{0,2cm} \mbox{min}\left\lbrace c^Tx + h^Ty \mid (x,y) \in S \right\rbrace $$ Where $S=\left\lbrace (x,y) \in \mathbb{Z}^n_+ \times \mathbb{Q}^p_+ \mid Ax+Gy =b\right\rbrace $.
Let be LP$_0$ its relaxation and $(x_0,y_0)$ the optimal solution with value $z_0$.
$x_0=(x_{01},\cdots,x_{0n})$. Consider $J$ such that $j \in J$ if $x_{0j}$ $ \notin \mathbb{Z}$. Then usually they choose min$\{j \in J\}$ or min $\{|x_{0j}-\lfloor x_{0j}\rfloor|\}\cup\{|x_{0j}-\lceil x_{0j}\rceil|\}$ for $j\in J$. And then generates the nodes $N_{{0}_1}$ and $N_{{0}_2}$.
My two questions are:
1.There is not any criterion for choosing the better variable? For example, I've tried and think to choose the $x_{0j}$ such that $c_jx_{0j}$ is minimum. All times I've tried this the algorimth do less steps in the examples I've tried.
2.The same with the Node, wich I should to solve first? In many books choose the one which makes the relaxation problem optimum (I guess is better, but I would like justify it with rigor).
If you know any book or something to understand it better I would really apreciate it. Thank you very much.
For the first question, search for variable selection strategies, including pseudocost branching, strong branching, and reliability branching.
For the second question, search for node selection strategies, including depth-first, breadth-first, best-bound, and best-estimate.