47 Constraint Programming for Scheduling - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

47 Constraint Programming for Scheduling

Description:

CS 599 Scheduling Algorithms. Winter 2005. Constraint ... Domains reduced systematically using logic-based filtering algorithms ... CP algorithms perform better ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 16
Provided by: csupo
Category:

less

Transcript and Presenter's Notes

Title: 47 Constraint Programming for Scheduling


1
47 Constraint Programming for Scheduling
  • Cathleen Blackmon
  • CS 599 Scheduling Algorithms
  • Winter 2005

2
Constraint Programming
  • An approach for formulating and solving discrete
    variable constraint satisfaction or constrained
    optimization problems
  • Systematically employs deductive reasoning
  • Reduce Search Space
  • Allow for a Wide Variety of Constraints
  • Extends Logic Programming
  • More Powerful Search Strategies using
    Problem-Specific Knowledge

3
The Constraint Satisfaction Problem - CSP
  • Given
  • A Set of Discrete Variables
  • Associated Finite Domains
  • Set of Constraints (involving the variables)
  • Find
  • A Solution that Satisfies all the Constraints

4
General Algorithmfor CSP (Constraint
Satisfaction Problem)
5
Constraint Propagation and Domain Reduction
Start
  • Discrete Variables
  • Boolean
  • Integer
  • Symbolic
  • Set Elements
  • Subsets of Sets
  • Constraints
  • Mathematical
  • Disjunctive
  • Relational
  • Explicit
  • Special Purpose
  • If solution is found algorithm ends
  • If no solution found, check for inconsistency
  • Inconsistency The domain of at least one
    variable has become empty.
  • If inconsistency not proven,
  • Then, search
  • Using some strategy for branching
  • Branching
  • Divides the problem into subproblems
  • Mutually exclusive
  • Collectively exhaustive
  • Select a branch
  • Propagate all constraints again
  • If inconsistency is proven (a failure), then
    examine the search tree to see if all subproblems
    have been explored.
  • If all branches have been fathomed (explored)
  • Then problem inconsistency has been proven
  • If not, then backtrack to the previous stage and
    branch to a different subproblem

1
Define variables Initialize variable
domains Initialize constraint store
  • Domains reduced systematically using logic-based
    filtering algorithms
  • Then, the reduced domains are propagated to the
    constraints that use those variables

2
Propagate constraints
3
Solution found ?
Yes
End1
No
4
5
Inconsistency proven ?
All branches fathomed ?
Yes
Yes
End2
6
7
No
No
Branch
Backtrack
6
Constraint Propagation - Example
7
Constraint Propagation Logic
Step1
C1 0, 1, 2, 3, 4, 5, 6
S1 0, 1, 2, 3, 4, 5, 6
C2 0, 1, 2, 3, 4, 5, 6
S2 0, 1, 2, 3, 4, 5, 6
C1 s1 3
C2 s2 2
C1 0, 1, 2, 3, 4, 5, 6
S1 0, 1, 2, 3, 4, 5, 6
C2 0, 1, 2, 3, 4, 5, 6
S2 0, 1, 2, 3, 4
Step2
C1 lt 5
Step3
C1 3, 4
either (C1 lt s2) or (C2 lt s1)
S1 0, 1
C1 s1 3
Step4
C2 5, 6
s2 3, 4
C2 s2 2
8
Branching
  • Strategies
  • Depth-first strategy - typical
  • More sophisticated look-ahead strategies
  • What to branch?
  • First select variable whose domain is not yet
    bound (not yet reduced to a single value)
  • Selection of variable based on heuristics
  • Then instantiate variable again using
    heuristics
  • Choice points ? The points at which the search
    strategy chooses to advance along the search tree

9
Constraint Optimization Problem - COP
  • Given Objective Z to be minimized
  • When a first solution to the original CSP is
    found
  • Calculate its objective value (Z)
  • Add the constraint Z lt Z to the constraint store
    (to form a new CSP)
  • Repeat the CSP algorithm on this new problem
  • Repeat until inconsistency is found
  • The last found solution is the optimum

10
Selected CP Applications
  • Job Shop Scheduling
  • Single-Machine Sequencing
  • Parallel Machine Scheduling
  • Timetabling
  • Vehicle Dispatching

11
Research
  • Hybrid methods for CP and IP search methodologies
  • CPs strengths
  • Flexibility in modeling
  • Rich set of operators
  • Domain reduction (combinatorial problems)
  • IPs strengths
  • Specialized search techniques
  • I.E., Relaxation, cutting planes, duals

12
Modeling Scheduling Problems w/ CP
  • Variable Indexing
  • Constraints
  • Inequalities
  • Boolean variables
  • Integer variables
  • Logical constraints
  • Global constraints

13
CP vs. IP Approaches
  • IP
  • Relies on the mathematical structure of the
    problem
  • Objective-centric
  • Generate-and-test strategy
  • Constraints ? The fewer the better
  • CP
  • Constraints search strategy determined by the
    researcher
  • Relies less on math. struct of prob
  • - more on domain knowledge
  • Constraint-centric
  • Constant reevaluation of logical conclusions
    resulting from interactions of constraints
    reducing domain of feasible solns.
  • Constraints ? The more the better

14
Choosing the CP Methodology
  • CP is most appropriate for
  • Pure integer and Boolean decision variable
    problems
  • (Not effective for floating-point)
  • Combinatorial optimization problems with large
    number of logical, global and disjunctive
    constraints
  • Large num interrelated constraints with few
    variables in each constraint
  • Better constraint propagation and domain
    reduction
  • CP algorithms perform better
  • Optimal mapping of one ordered set to another
    relation btwn terms expressed in mathematical
    terms significant to the objective

15
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com