- Dependency-directed Backtracking can help prevent
*thrashing*due to repeated choice of incompatible variable values. - Linear Programming (LP) can solve optimization problems where
the constraints are linear inequalities.
- Hill climbing: Generate a complete assignment of variables
(which probably violates some constraints), improve it by modifying
variables one at a time using a heuristic. The
*min-conflicts*heuristic changes a variable to the value that minimizes the number of constraint violations that involve that variable.