A Generic Framework for Constraint-Directed Search and Scheduling