Title: Constraint Programming, Planning and Scheduling with Time and Resource Constraints
1Constraint Programming, Planning and Scheduling
with Time and Resource Constraints
- Claude Le Pape - ILOG S.A.
- Disclaimer not (at all) a complete overview of
the field!
2Outline
- Constraint Programming
- Constraint-Based Scheduling
- Cooperative Problem-Solving
3Constraint Programming
- Explicit problem definition
- Separation between problem definition and problem
solving - Systematic deduction of the consequences of made
decisions (constraint propagation) - Partial constraint propagation è development of
heuristic search algorithms to generate and
optimize solutions - Incremental constraint propagation (with global
fix point semantics) - Localized definition of the constraint
propagation process (each constraint propagates
independently of other constraints) è many
different types of constraints viewed as as many
sub-problems
4Constraint Programming
New constraints (decisions)
Problem definition
Decision-making (and retracting)
Initial constraints Dynamic changes
Constraint propagation
Deduced constraints Contradictions
5Example Propagation
Constraints x - y 1y lt z x ! z
Variables x in 1..3y in 1..3z in 1..3
6Example Decision-Making
Constraints x - y 1 y lt z x ! z
Variables x in 2..3y in 1..2z in 2..3
7Incrementality Principle (1)
8Incrementality Principle (2)
0
5
10
15
20
Masonry
Plumbing
Carpentry
R.
W.
Ceilings
Facade
Paint.
9Incrementality Principle (3)
- "Plumber" "Roofer"
- Solution Order "Plumbing" and "Roofing"
- Heuristic choice
- For example, "Plumbing" before "Roofing"
10Incrementality Principle (4)
11Incrementality Principle (5)
0
5
10
15
20
Masonry
Plumbing
Carpentry
R.
W.
Ceilings
Facade
Paint.
12Incrementality Principle (6)
0
5
10
15
20
Masonry
Plumbing
Carpentry
R.
Ceilings
Facade
Paint.
M.
13Incrementality Principle (7)
0
5
10
15
20
Masonry
Plumbing
Carpentry
R.
Ceilings
Facade
Paint.
14Incrementality Principle (8)
- Constraint propagation consists in
- incrementally
- updating characteristics of a partial problem
solution - when an additional constraint is added
- These characteristics may be
- indicators of contradictions
- domains of variables (relational propagation)
- the overall set of constraints (logic/algebraic
propagation)
15Incrementality Principle (9)
- Particular case arc-consistency
- A constraint propagation technique enforces
arc-consistency if and only if when propagation
stops the following statement holds - for every constraint c(v1 ... vn)
- for every variable vi
- for every value vali in the domain of vi
- there are values val1 ... vali-1 vali1 ... valn
- in the domains of v1 ... vi-1 vi1 ... vn
- such that val1 ... vali-1 vali vali1 ... valn
satisfy c - Considering a constraint as a sub-problem,
arc-consistency consists of removing all the
values that do not belong to any solution of the
sub-problem
16Locality Principle (1)
- Each constraint (or constraint type) "includes"
all the information necessary to enable its
propagation and, in particular, to determine
whether it is satisfied or not as soon as all its
variables are instantiated - The constraint propagation methods associated
with a constraint (or constraint type) are a
priori independent of the methods
associated with other constraints
17Locality Principle (2)
- Example temporal constraints and resource
constraints - User "Plumber" "Roofer"
- User "Moving" must end before 20
- Temporal constraint "Plumbing" must end before
17 - Disjunctive resource constraint "Plumbing" must
precede "Roofing" - Temporal constraint "Moving" cannot end before 19
18Locality Principle (3)
Temporal sub-problem
19Outline
- Constraint Programming
- Constraint-Based Scheduling
- Cooperative Problem-Solving
20Outline
- Constraint Programming
- Constraint-Based Scheduling
- Scheduling Problems
- Propagation of Temporal Constraints
- Propagation of Resource Constraints
- Examples of Applications
- Cooperative Problem-Solving
21Scheduling Problems
- "Scheduling is the allocation of resources over
time to perform a collection of tasks" Baker 74 - Pure scheduling problems assignment of start and
end times to activities (each activity requires
given resources with given capacities) - Pure resource allocation problems assignment of
resources to activities (the start and end times
of each activity are given) - Joint scheduling and resource allocation
problems assignment of resources and start and
end times to activities
22Scheduling Problems
- Transportation
- Traffic scheduling and control (aircrafts, buses,
trains, trucks) - Loading and unloading (aircrafts, ships, trucks)
- Crew rostering
- Production and maintenance
- Manpower planning and timetabling (shifts,
courses, exams) - Project or mission scheduling
- Network planning and routing
- Computer or printer job scheduling
- Mixture planning, rack configuration, textile
cutting, ...
23Variety of Scheduling Problems
- Activities
- Resources
- Constraints
- Optimization criteria
- Problem size
- Time available to make a decision
24Activities
- Interval (block) activities
- Splittable activities (with interruption cost?)
A
A
A
A
time
25Resources
- Unary resources
- one person
- one machine
- Discrete resources
- a group of people with the same capabilities
- State resources
- an oven with different possible temperatures
- Energetic resources
- a limited number of human-days each week
- Required, provided, consumed or produced by
activities
26Constraints
- Temporal constraints
- Fixed or variable durations
- Precedence constraints
- Minimal and maximal delays
- Resource constraints
- Fixed capacity
- Variable capacity (time versus capacity
tradeoffs) - Variable capacity over time
- Specific constraints
27Capacity Constraints
- Periods during which a resource is not fully
available - Maintenance periods
- Vacations
- Forbidden states (at night)
- Periods during which some minimal amount must be
required or provided
28Optional/Variable Requirements
- Optional activities
- Resource alternatives
- Sub-contracts
29Optional/Variable Requirements
- Time versus capacity tradeoffs
- 2 people during 3 days
-
- or 3 people during 2 days
30Optional/Variable Requirements
- Variable requirement over time
- Example 8 person-days with either 2 or 3 people
at any time
31Transition Times
- Tool setup between two tasks on the same machine
- State change (oven temperature, color used in a
painting shop) - Cleaning
32Percentage Constraints
- a of activity A on resource RA must be done
before (or after) - B starts
- B ends
- b of activity B on resource RB are done
- Often complements variable requirements over time
33Synchronization Constraints
- When A executes, B requires (at least, at most)
c1 units of resource R - When A does not execute, B requires (at least, at
most) c2 units of resource R
34Optimization Criteria
- No optimization criterion
- A well-defined criterion
- Project makespan
- Number of activities performed within given
delays - Maximal or average tardiness or earliness
- Peak or average resource utilization
- A combination of well-defined criteria
- Preferences (soft constraints)
- Optimization versus robustness
35Problem Size
unary resources discrete resources several types
of resources
36Suitable Response Time
- Reactive train traffic control two seconds
- Predictive production and maintenance scheduling
minutes to hours - Reactive production and maintenance scheduling
seconds - Predictive timetabling minutes to hours
- Reactive computer or printer job scheduling
small fraction of the average job duration
37Outline
- Constraint Programming
- Constraint-Based Scheduling
- Scheduling Problems
- Propagation of Temporal Constraints
- Propagation of Resource Constraints
- Examples of Applications
- Cooperative Problem-Solving
38Variables (Definition)
- From now on, we focus on interval activities
- ? Three variables
- start(A)
- end(A)
- duration(A)
- for each activity A
39Variables (Implementation)
- Finite domain (bit vector)
- The domain of each variable is a finite set
- Interval domain (pair of numbers)
- The domain of each variable is an interval
- startmin(A), startmax(A),
- endmin(A), endmax(A)
- durationmin(A), durationmax(A)
40Basic Relation
- end(A) start(A) duration(A)
- endmin(A) max(endmin(A), startmin(A)
durationmin(A)) - endmax(A) min(endmax(A), startmax(A)
durationmax(A)) - startmin(A) max(startmin(A), endmin(A) -
durationmax(A)) - startmax(A) min(startmax(A), endmax(A) -
durationmin(A)) - durationmin(A) max(durationmin(A), endmin(A) -
startmax(A)) - durationmax(A) min(durationmax(A), endmax(A) -
startmin(A))
41Temporal Constraints
- Simple precedence constraints
- start(A) start(B)
- start(A) end(B)
- end(A) start(B)
- end(A) end(B)
42Temporal Constraints
- Precedence constraints with minimal delays
- start(A) delay start(B)
- start(A) delay end(B)
- end(A) delay start(B)
- end(A) delay end(B)
43Temporal Constraints
- Precedence constraints with fixed delays
- start(A) delay start(B)
- start(A) delay end(B)
- end(A) delay start(B)
- end(A) delay end(B)
44Temporal Constraints
- Maximal delays
- start(A) start(B) delay
- start(A) end(B) delay
- end(A) start(B) delay
- end(A) end(B) delay
45Propagation of Time Bounds
- var(A) delay var(B)
- varmin(B) max(varmin(B), varmin(A) delay)
- varmax(A) min(varmax(A), varmax(B) - delay)
- Complete propagation for bounded domains
- Contradiction found when the constraints conflict
- Best possible varmin(A) and varmax(A) found
otherwise - Incremental variant of an operations research
algorithm for project scheduling (PERT networks)
46Propagation of Time Bounds
- Complexity
- For a consistent network O(nm) where n is the
number of activities and m the number of
constraints if constraints are propagated in the
first-in first-out order - For an inconsistent network O(hn2) where h is
the time horizon (can be reduced to O(nm) but
not always worth it in practice)
47Minimal and Maximal Distances
- x dxy y and y dyz z
- implies x (dxy dyz) z
- Useful to solve disjunctions of temporal
constraints - x - 5 y
- y 2 z
- z 4 x OR v 3 w
48Minimal and Maximal Distances
- Matrix-based method
- Whenever dxy is modified, update dwz to max(dwz,
dwx dxy dyz) - Complexity
- O(n2) after each modification of the constraint
network - O(n3) to initialize the matrix
49Outline
- Constraint Programming
- Constraint-Based Scheduling
- Scheduling Problems
- Propagation of Temporal Constraints
- Propagation of Resource Constraints
- Examples of Applications
- Cooperative Problem-Solving
50Unary Resources
- Main resources in 4/10 problems
- Example one individual machine or person
51Discrete Resources
- Main resources in 5/10 problems
- Example group of identical machines
52State Resources
- Main resources in 1/20 problems
- Example oven with different temperatures
53Energetic Resources
- Main resources in 1/20 problems
- Example number of man-days per week
A
B
time
54Constraint Propagation Models
- Explicit time-tables
- Disjunctive constraints
- Energetic reasoning
- Edge finding (task intervals)
55Explicit Time-Tables (UD)
- WA(t) start(A) t lt end(A)
- "t, SA WA(t) capacity(A) capacity(t)
A
B
C
time
C
56Explicit Time-Tables (S)
- WA(t) start(A) t lt end(A)
- "t, WA(t) implies state(A) state(t)
D
A
C
time
D
57Explicit Time-Tables (E)
- aA(I) max(0, endmin(A) - start(I))
- bA(I) max(0, end(I) - startmax(A))
- d(I) end(I) - start(I)
- d(A) durationmin(A)
- WA(I) min(aA(I), bA(I), d(I), d(A))
- SA WA(I) capacity(A) capacity(I)
58Explicit Time-Tables (E)
A
B
time
C
59Explicit Time-Tables 2 Models
- Discrete array
- Sequential table or binary tree
B
D
A
C
time
60Explicit Time-Tables Extensions
- Minimal capacity constraints (UDE)
- Default state (S)
- Constraints between time-tables or between
time-tables and other variables (UDES)
61Disjunctive Constraints (U)
- end(A) start(B)
- OR end(B) start(A)
- endmin(A) gt startmax(B)
- implies end(B) start(A)
- endmin(B) gt startmax(A)
- implies end(A) start(B)
62Disjunctive Constraints (U)
- Optional activities
- Resource alternatives
- Sub-contracts
- Transition times
- Tool setups
- Color changes
- Cleaning
63Disjunctive Constraints (U)
- end(A) ttime(A, B) start(B)
- OR end(B) ttime(B, A) start(A)
- OR duration(A) 0
- OR duration(B) 0
- OR capacity(A) 0
- OR capacity(B) 0
64Energetic Reasoning (UD)
- aA(I) max(0, endmin(A) - start(I))
- bA(I) max(0, end(I) - startmax(A))
- d(I) end(I) - start(I)
- d(A) durationmin(A)
- WA(I) min(aA(I), bA(I), d(I), d(A))
- SA WA(I) capacity(A) capacity(I)
65Energetic Reasoning (UD)
- Habographs Beck 92
- Intervals id .. jd) or b id .. b jd)
- Energetic resources Le Pape 94
- Intervals id .. (i1)d) or b id .. b
(i1)d) - Energetic reasoning rules Lopez 91
- Intervals startmin(A) .. endmax(B)) or
startmin(A) .. x)
66Energetic Reasoning (U)
- I startmin(A) .. endmax(B))
- d(I) lt SCltgtA,BWC(I) d(A) d(B)
- implies end(B) start(A)
- A1..8 - 2 - 3..10
- B0..3 - 2 - 2..5
- C2..4 - 1 - 3..5
- I 1 .. 5)
- 4 lt 1 2 2 implies 2 start(A)
67Edge Finding (U)
- Basic idea
- Prove that an activity A executes before (or
after) a set of other activities W - Notations
- smin(W) minBÃŽW startmin(B)
- emax(W) maxBÃŽW endmax(B)
- dmin(W) SBÃŽW durationmin(B)
68Edge Finding (U)
- emax(W) lt smin(W A) dmin(W A)
- implies smin(W') dmin(W') start(A)
- for every W' included in W
- A0..11 - 6 - 6..17
- B1..7 - 4 - 5..11
- C1..8 - 3 - 4..11
- W B C
- 11 lt 0 13 implies 1 7 start(A)
69Edge Finding (U)
- Jackson's Preemptive Schedule Pinson 88
Carlier Pinson 90/94 - O(n2) O(nlog(n))
- Iterative algorithm Nuijten 94
- O(n2) with no specific data structure
- Task intervals Caseau Laburthe 94
- O(n3)
- Incremental
- More deductions è more precise time-bounds
70Edge Finding (U)
- "Not-first" deduction rule
- emax(W) lt smin(A) dmin(W A)
- implies minBÃŽW(smin(B) dmin(B)) start(A)
- Nuijten 94 Caseau Laburthe 94
- Baptiste Le Pape 96 Complete application in
O(n2) time and O(n) space
71Edge Finding (U)
- "Not-first" deduction rule with knapsack
- D smin(A) dmin(W A) - emax(W) gt 0
- implies minW' f(W')(smin(W') dmin(W'))
start(A) - with f(W') defined as W W' OR D dmin(W')
- Complete application in exponential time
(includes the NP-complete knapsack problem) - Partial application Caseau Laburthe 95
72Comparison
- Theoretical results
- Unique fix point semantics
- Modeling power
- Time and space complexity
- Pruning power
- Experimental results
73Outline
- Constraint Programming
- Constraint-Based Scheduling
- Scheduling Problems
- Propagation of Temporal Constraints
- Propagation of Resource Constraints
- Examples of Applications
- Cooperative Problem-Solving
74MSS Problem Definition (1)
- Molding Shop Scheduling
- 2 types of cast-iron (standard and special)
- For each cast-iron type
- available quantity every hour
- 3 molding machines
- For each machine
- shifts
- breaks (lunch, maintenance)
- periods during which the machine can manufacture
only some types of parts
75MSS Problem Definition (2)
- 30 types of parts
- For each part type
- cast-iron type
- one or more possible machines
- For each (part, machine) pair
- production speed
- cast-iron consumption
- minimal and maximal batch size
- maximal break duration (one break per batch
allowed) - minimal production time before and after the break
76MSS Problem Definition (3)
- 200 orders for parts
- For each order
- part type
- number of parts
- due-date
- Optimization criterion
- relaxation of due-dates
- closer due-dates are more important than further
due-dates
77MSS Problem Representation (1)
- Part type Discrete resource
- Produced by activities
- Due-dates è minimal production constraints
- Machine State resource
- Part type produced at time t state at time t
- Default state 0 out of shifts and during breaks
- Cast-iron type Energetic resource
-
-
78MSS Problem Representation (2)
- Minimal and maximal number of (ordered) batches
for each (part, machine) pair - Batch 3 Interval activities
- BB before the break, B for the break, AB after
the break - end(BB) start(B) and end(B) start(AB)
- duration(BB) not in 1, minimal-duration-before-br
eak - 1 - duration(AB) not in 1, minimal-duration-after-bre
ak - 1 - duration(B) maximal-break-duration
- batch-duration duration(BB) duration(AB)
- batch-duration maximal-batch-size /
production-rate - batch-duration not in 1, (minimal-batch-size -
1) / production-rate
79MSS Problem Representation (3)
- Resource constraints
- BB and AB require the machine in the "part type"
state - BB and AB require the cast-iron at the given
consumption rate - B requires the machine in the state 0
- AB produces the batch of parts (batch-duration
production-rate units of the part type) - Redundant constraints
- From start(BB) to end(AB), the state of the
machine is either 0 or "part-type" - Counter of the minimal and maximal production of
each part type each day
80MSS Search Procedure
- Select a batch with unbound start time or unbound
duration - If the batch is optional
- either confirm or cancel the batch
- Else if the start time is unbound
- either schedule (ASAP) or postpone the batch
- Else (the duration is unbound)
- instantiate the duration
- Iterate
81MSS Results
- 2200 lines of ILOG SCHEDULER source code
- 1400 lines for representing the problem
- 600 lines for reading the data
- 200 lines for solving the problem
- Executable
- 880K on an IBM RS600
- 420K on a SUN-4
- CPU time (for 300 non-zero activities and 40
resources) - In most cases 10 seconds
- When more search is stopped and restarted with
relaxed due-dates
82CSS Problem Definition
- Construction Site Scheduling
- Resource-constrained project scheduling problem
with - 1 unary resource and 3 discrete resources
- 15 interval activities and 15 interruptible
activities - 15 activities with time-versus-capacity tradeoffs
- 10 activities with variable requirements over
time - temporal constraints
- periods during which a resource is not or not
fully available - percentage constraints
- synchronization constraints
- 40 preference constraints (10 levels of
preferences)
83CSS Search Procedure
- Select preferences
- Impose the selected preferences as constraints
- Search for a solution within a limited number of
backtracks (blend of preemptive job-shop
scheduling and resource-constrained project
scheduling) - Save the solution if one is found
- Iterate with a different set of preferences
84CSS Results
- 2200 lines of CLAIRE source code ( 2200 lines
library) - 1100 lines for representing the problem
- 300 lines for reading the data
- 800 lines for solving the problem
- 3000 lines for the graphical interface
- Executable
- 1130K on a PC under OS2 (with graphical
interface) - CPU time (for 30 activities and 4 resources)
- "Good" schedules obtained in 5 to 10 iterations
- 15 seconds per iteration
85Outline
- Constraint Programming
- Constraint-Based Scheduling
- Cooperative Problem-Solving
86Outline
- Constraint Programming
- Constraint-Based Scheduling
- Cooperative Problem-Solving
- Introduction
- Problem Decomposition
- Constraint Propagation
- Search
87Problem Solving
- Two main other classes of techniques
- Linear Programming and Mixed Integer Programming
- Local Search
88Mixed Integer Programming (1)
- Explicit problem definition
- Linear constraints
- Real (floating point) and integer variables
- One optimization criterion
- Separation between problem definition and problem
solving - The continuous relaxation (when fractional values
are allowed for integer variables) is solvable in
polynomial time - Bound on optimization criterion
- Guidance for solving the MIP problem by
branch-and-bound (rounding, cuts, )
89Mixed Integer Programming (2)
90Mixed Integer Programming (3)
91Mixed Integer Programming (4)
92Mixed Integer Programming (5)
93Mixed Integer Programming (6)
94Mixed Integer Programming (7)
95Mixed Integer Programming (8)
96Mixed Integer Programming (9)
97MIP/CP Most Important Points
- MIP
- Linear constraints
- One relaxation of the global problem
- Guidance from the optimal solution of the relaxed
problem - Cuts
- Scheduling example hard to deal with resource
constraints
- CP
- Any constraints
- Linked relaxations of multiple sub-problems
- Guidance from the possible solutions of the
relaxed sub-problems - Redundant constraints
- Scheduling example hard to deal with  sumÂ
cost functions
98MIP/CP Most Important Points
Temporal sub-problem
99Local Search
- Operators to move from solutions to other
(neighbor) solutions (or from populations of
solutions to populations of solutions) - Search control strategy (meta-heuristic)
- Many different types simulated annealing, tabu
search, genetic algorithms,
100Main Issues (1)
- Mixed Integer Programming
- Is the continuous relaxation a good approximation
of the convex envelope of the solutions? - Can the formulation of the problem be iteratively
modified to make the optimal solution of the
continuous relaxation converge toward the optimal
solution of the initial problem?
101Main Issues (2)
- Constraint Programming
- Are the critical constraints propagating well?
- Is a tight bound on the optimization criterion
efficiently translated (by propagation) into
constraints that effectively guide the search
toward a solution?
102Main Issues (3)
- Local Search
- Is the neighborhood topology consistent with the
optimization criterion? - Are the operators connecting (in a few steps)
good solutions with better solutions, without
downgrading the solution too much in intermediate
steps?
103Outline
- Constraint Programming
- Constraint-Based Scheduling
- Cooperative Problem-Solving
- Introduction
- Problem Decomposition
- Constraint Propagation
- Search
104Problem Decomposition
Complete model
105Sequential Decomposition
- Solve sub-problem 1
- Impose the solution of sub-problem 1 and solve
sub-problem 2 - Infer characteristics of  good solutions of
sub-problem 1 - Iterate
106Column Generation
- Generate candidate solution components
- Find the optimal combination of these components
- Infer characteristics of  good solution
components to add - Iterate
107Example Inventory Management
108Example
- Stock 4
- st(o1) 0, et(o1) 35, rq(o1) 2
- st(o2) 5, et(o2) 30, rq(o2) 3
- st(o3) 32, et(o3) 87, rq(o3) 5
109Maintenance Constraints
- No resource is used more than Utime time units
without maintenance - No more than Mnumber resources are in maintenance
at the same time - Cost of each maintenance Cmaint
110Mixed Integer Programming (1)
crane allocation problem
select maintenance intervals
core problem
maintenance schedule
select cranes
maintenance problem
99 cost
1 cost
Polynomial
NP-hard
80 vars 40 constrs
1000 vars 630 constrs
6000 vars 4000 constrs
45000 vars 32000 constrs
111Mixed Integer Programming (2)
crane allocation
maintenance scheduling
80 vars 40 constrs
1000 vars 630 constrs
6000 vars 4000 constrs
45000 vars 32000 constrs
1 node
30 nodes
1200 nodes
gt 20 000 nodes
gt 20 000 nodes
112Hybrid Algorithms (1)
LINEAR PROGRAMMING Solve the (core) resource
allocation problem
HEURISTIC ALGORITHM Select resource items for
each order
CONSTRAINT PROGRAMMING Solve the resulting
maintenance scheduling problem
On failure, tighten the resource allocation
problem and iterate
113Hybrid Algorithms (2)
- Tightness of the crane allocation problem
- Extend the duration of all tasks (add the
maintenance duration) - Extend the duration of the conflict task
- Final result 4.5 above the lower bound 87 927
919
114Hybrid Algorithms (3)
- Other hybrid algorithms, including column
generation, provided  good solutions - Some instances remain  hardÂ
- Details available in Caseau Kökény 98,
Baptiste et al. 98
115Outline
- Constraint Programming
- Constraint-Based Scheduling
- Cooperative Problem-Solving
- Introduction
- Problem Decomposition
- Constraint Propagation
- Search
116LP as a Global Constraint
- Collection of linear constraints (general or of a
particular form) treated as a global constraint - Detect conflicts
- Find variables with fixed values
- Find bounds of variables
- Infer additional constraints (cuts)
117Objective Functions
- Minimize COST F(V1, V2, , Vn)
- Apply linear programming (or an operations
research algorithm) to a relaxation of the
problem - Global lower bound at the root of the search tree
- Lower bound LB at each node of the search tree
- Characteristics of solutions with COST lt LB D
inferred from the optimal solution of the relaxed
problem and  reduced costsÂ
118Outline
- Constraint Programming
- Constraint-Based Scheduling
- Cooperative Problem-Solving
- Introduction
- Problem Decomposition
- Constraint Propagation
- Search
119Example Vehicle Routing
- Efficient local search algorithms
- No specific constraint
- Incremental computation of tour length and cost
from a solution to its neighbors - Constraint programming for specific constraints
- Use constraints to test and reject  badÂ
neighbors - Enlarge the neighborhood if there is no valid
neighbor - Find the valid neighbor with the smallest cost
- References
- Pesant Gendreau 96, Shaw 98, Kilby, Prosser
Shaw 00 - Caseau Laburthe 99, Caseau et al. 01
120Examples Scheduling
- Forget and extend
- Random fragments Baptiste, Le Pape Nuijten 95,
Nuijten Le Pape 98 - Chosen fragments Caseau et al. 01
- Minimal perturbation
- El Sakkout Wallace 00
121Conclusion (1)
- Already a significant number of applications
- Credo hybrid problem-solving techniques will
enable the resolution of problems that are still
open today - More efficient exact resolution
- Better lower and upper bounds in given CPU time
- More robust algorithms
122Conclusion (2)
- Main difficulties
- Identification of promising combinations of
techniques - Implementation and test of several of these
combinations - Guidelines and tools are needed
- Modeling
- Combination of sub-models
- Testing and interpretation of test results
123References (1)
- Disclaimer not (at all) a complete bibliography!
- K. R. Baker.
- Introduction to Sequencing and Scheduling.
- John Wiley and Sons, 1974.
- Ph. Baptiste, C. Le Pape and W. Nuijten.
- Constraint-Based Optimization and Approximation
for Job Shop Scheduling. - IJCAI'95 Workshop on Intelligent Manufacturing
Systems, 1995. - Ph. Baptiste and C. Le Pape.
- Edge-Finding Constraint Propagation Algorithms
for Disjunctive and Cumulative Scheduling. - 15th Workshop of the U.K. Planning Special
Interest Group, 1996. - Ph. Baptiste, Y. Caseau, T. Kökény, C. Le Pape
and R. Rodosek. - Creating and Evaluating Hybrid Algorithms for
Inventory Management Problems. - 4th National Meeting on Practical Approaches to
NP-Complete Problems, 1998. - H. Beck.
- Constraint Monitoring in TOSCA.
- AAAI Spring Symposium on Practical Approaches to
Planning and Scheduling, 1992.
124References (2)
- J. Carlier and E. Pinson.
- A Practical Use of Jackson's Preemptive Schedule
for Solving the Job-Shop Problem. - Annals of Operations Research, 26269-287, 1990.
- J. Carlier and E. Pinson.
- Adjustment of Heads and Tails for the Job-Shop
Problem. - European Journal of Operational Research,
78(2)146-161, 1994. - Y Caseau and F. Laburthe.
- Improved CLP Scheduling with Task Intervals.
- 11th International Conference on Logic
Programming, 1994. - Y. Caseau and F. Laburthe.
- Disjunctive Scheduling with Task Intervals.
- Technical Report, Ecole Normale Supérieure,
1995. - Y. Caseau and T. Kökény.
- An Inventory Management Problem.
- Constraints, 3(4)363-373, 1998.
- Y. Caseau and F. Laburthe.
- Heuristics for Large Constrained Vehicle Routing
Problems. - Journal of Heuristics, 5281-303, 1999.
125References (3)
- Y. Caseau, F. Laburthe, C. Le Pape and B.
Rottembourg. - Combining Local and Global Search in a
Constraint Programming Environment. - Knowledge Engineering Review, to appear.
- H. El Sakkout and M. Wallace.
- Probe Backtrack Search for Minimal Perturbation
in Dynamic Scheduling. - Constraints, 5(4)359-388, 2000.
- P. Kilby, P. Prosser and P. Shaw.
- A Comparison of Traditional and Constraint-based
Heuristic Methods on Vehicle Routing Problems
with Side Constraints. - Constraints, 5(4)389-414, 2000.
- C. Le Pape.
- Implementation of Resource Constraints in ILOG
SCHEDULE A Library for the Development of
Constraint-Based Scheduling Systems. - Intelligent Systems Engineering, 3(2)55-66,
1994. - P. Lopez.
- Approche énergétique pour l'ordonnancement de
tâches sous contraintes de temps et de
ressources. - Thèse de l'Université Paul Sabatier, 1991.
126References (4)
- W. Nuijten.
- Time and Resource Constrained Scheduling A
Constraint Satisfaction Approach. - PhD Thesis, Eindhoven University of Technology,
1994. - W. Nuijten and C. Le Pape.
- Constraint-Based Job Shop Scheduling with ILOG
Scheduler. - Journal of Heuristics, 3271-286, 1998.
- G. Pesant and M. Gendreau.
- A View of Local Search in Constraint
Programming. - 2nd International Conference on Principles and
Practice of Constraint Programming, 1996. - E. Pinson.
- Le problème de job-shop.
- Thèse de l'Université Paris VI, 1988.
- P. Shaw.
- Using Constraint Programming and Local Search
Methods to Solve Vehicle Routing Problems. - 4th International Conference on Principles and
Practice of Constraint Programming, 1998.