Learning to improve constraint-based scheduling