Pruning by Infeasibility
In branch and bound, prune a node whenever its subproblem has no feasible solution. The justification: branching only adds constraints, so an infeasible parent cannot have a feasible descendant. Combined with pruning by bound and by integrality, this completes the standard pruning toolkit.
Tutorial
Pruning by Infeasibility
In branch and bound, we explore subproblems by adding constraints to narrow the search. After solving the LP relaxation at a node, we may discover that the constraint set has no solutions at all -- the LP relaxation is infeasible.
When this happens, we prune by infeasibility: discard the node and do not branch from it.
The justification is direct. Branching only ever adds constraints. So every descendant of an infeasible node would inherit the same conflicting constraints (plus more). If the parent has no feasible point, none of its descendants can have one either.
For example, suppose a node inherits the branching constraints
No value of satisfies both, so the constraint set is empty. We prune this node by infeasibility, mark it with , and remove it from the list of active nodes.