  We propose a combinatorial algorithm to compute the Hoffman constant of a
system of linear equations and inequalities. The algorithm is based on a
characterization of the Hoffman constant as the largest of a finite canonical
collection of easy-to-compute Hoffman constants. Our algorithm and
characterization extend to the more general context where some of the
constraints are easy to satisfy as in the case of box constraints. We highlight
some natural connections between our characterizations of the Hoffman constant
and Renegar's distance to ill-posedness for systems of linear constraints.
