Using machine learning to make constraint solver implementation decisions