Constraint solvers: An empirical evaluation of design decisions