Constraint Satisfaction And Optimization