Minimum remaining values (source code)

= Minimum remaining values

= MRV
{c}
{synonym}

The <minimum remaining values> heuristic chooses an unassigned variable with the smallest current legal domain during constraint search. It <tries> the most constrained choice first: a domain of size zero proves failure, and size one <forces> a value. If one variable has two remaining digits and another has seven, the first is selected, with a separate rule for ties. This can expose contradictions earlier but does not guarantee a minimum search tree. The heuristic depends on domains after the chosen propagation method, not simply on each variable's original domain size.