An overview of machine learning techniques in constraint solving