The concept of dominance among nodes of a branch-decision tree, although known since a long time, is not exploited by general-purpose Mixed-Integer Linear Programming (MILP) enumeration codes, due to the intrinsic difficulties arising when using the classical dominance definition in a completely general context. The starting point of our work was the general-purpose dominance procedure proposed in the 80’s by Fischetti and Toth, where the dominance test at a given branching node consists in the (possibly heuristic) solution of a restricted MILP only involving the fixed variables. Both theoretical and practical issues concerning this procedure are analyzed, and important improvements are proposed. In particular, we use the dominance test not only to fathom the current branching node, but also to derive variable configurations called “nogoods” (a concept borrowed from Constraint Programming) and, more generally, “improving moves” (a basic concept in the theory of test sets)...