A general framework based on machine learning for algorithm selection in constraint satisfaction problems Academic Article in Scopus uri icon