LogisticsInstructor.
Office: DC 3354 Email: Office hours: Drop by or make an appointment by email Meeting time.
Web site. Course work. Course description. Constraint programming is an active area of research within AI. The course is intended to provide students with enough background to enable them to understand the current research being done in the field. Constraint programming is a methodology for solving difficult combinatorial problems. In the methodology, one models a problem by stating constraints on acceptable solutions. Once a model has been formulated, various algorithms are available for solving it, including backtracking and local search algorithms. There are many interesting tasks for which this approach is particularly suited. These tasks range from ones that are simple for humans, such as vision and language comprehension, to ones that are difficult for humans, such as scheduling and planning. What these tasks all have in common is that constraints are a natural part of the problem. The course will cover such topics as: the constraint satisfaction problem framework; local consistency and constraint propagation; global constraints; alternative models and improving model efficiency; symmetry breaking; optimal versus satisficing solutions; backtracking algorithms such as forward checking, maintaining arc consistency, and backjumping; stochastic or local search algorithms such as simulated annealing and genetic algorithms. Interesting applications of constraint programming will also be discussed. |