Constraint Programming, Planning and Scheduling with Time and Resource Constraints - PowerPoint PPT Presentation

1 / 126
About This Presentation
Title:

Constraint Programming, Planning and Scheduling with Time and Resource Constraints

Description:

... 'Plumber' = 'Roofer' User: 'Moving' must end before 20. Temporal constraint: 'Plumbing' ... Disjunctive resource constraint: 'Plumbing' must precede 'Roofing' ... – PowerPoint PPT presentation

Number of Views:609
Avg rating:3.0/5.0
Slides: 127
Provided by: clep2
Category:

less

Transcript and Presenter's Notes

Title: Constraint Programming, Planning and Scheduling with Time and Resource Constraints


1
Constraint 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!

2
Outline
  • Constraint Programming
  • Constraint-Based Scheduling
  • Cooperative Problem-Solving

3
Constraint 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

4
Constraint Programming
New constraints (decisions)
Problem definition
Decision-making (and retracting)
Initial constraints Dynamic changes
Constraint propagation
Deduced constraints Contradictions
5
Example Propagation
Constraints x - y 1y lt z x ! z
Variables x in 1..3y in 1..3z in 1..3
6
Example Decision-Making
Constraints x - y 1 y lt z x ! z
Variables x in 2..3y in 1..2z in 2..3
7
Incrementality Principle (1)
8
Incrementality Principle (2)
0
5
10
15
20
Masonry
Plumbing
Carpentry
R.
W.
Ceilings
Facade
Paint.
9
Incrementality Principle (3)
  • "Plumber" "Roofer"
  • Solution Order "Plumbing" and "Roofing"
  • Heuristic choice
  • For example, "Plumbing" before "Roofing"

10
Incrementality Principle (4)
11
Incrementality Principle (5)
0
5
10
15
20
Masonry
Plumbing
Carpentry
R.
W.
Ceilings
Facade
Paint.
12
Incrementality Principle (6)
0
5
10
15
20
Masonry
Plumbing
Carpentry
R.
Ceilings
Facade
Paint.
M.
13
Incrementality Principle (7)
0
5
10
15
20
Masonry
Plumbing
Carpentry
R.
Ceilings
Facade
Paint.
14
Incrementality 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)

15
Incrementality 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

16
Locality 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

17
Locality 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

18
Locality Principle (3)
Temporal sub-problem
19
Outline
  • Constraint Programming
  • Constraint-Based Scheduling
  • Cooperative Problem-Solving

20
Outline
  • Constraint Programming
  • Constraint-Based Scheduling
  • Scheduling Problems
  • Propagation of Temporal Constraints
  • Propagation of Resource Constraints
  • Examples of Applications
  • Cooperative Problem-Solving

21
Scheduling 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

22
Scheduling 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, ...

23
Variety of Scheduling Problems
  • Activities
  • Resources
  • Constraints
  • Optimization criteria
  • Problem size
  • Time available to make a decision

24
Activities
  • Interval (block) activities
  • Splittable activities (with interruption cost?)

A
A
A
A
time
25
Resources
  • 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

26
Constraints
  • 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

27
Capacity 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

28
Optional/Variable Requirements
  • Optional activities
  • Resource alternatives
  • Sub-contracts

29
Optional/Variable Requirements
  • Time versus capacity tradeoffs
  • 2 people during 3 days
  • or 3 people during 2 days

30
Optional/Variable Requirements
  • Variable requirement over time
  • Example 8 person-days with either 2 or 3 people
    at any time

31
Transition Times
  • Tool setup between two tasks on the same machine
  • State change (oven temperature, color used in a
    painting shop)
  • Cleaning

32
Percentage 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

33
Synchronization 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

34
Optimization 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

35
Problem Size
unary resources discrete resources several types
of resources
36
Suitable 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

37
Outline
  • Constraint Programming
  • Constraint-Based Scheduling
  • Scheduling Problems
  • Propagation of Temporal Constraints
  • Propagation of Resource Constraints
  • Examples of Applications
  • Cooperative Problem-Solving

38
Variables (Definition)
  • From now on, we focus on interval activities
  • ? Three variables
  • start(A)
  • end(A)
  • duration(A)
  • for each activity A

39
Variables (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)

40
Basic 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))

41
Temporal Constraints
  • Simple precedence constraints
  • start(A) start(B)
  • start(A) end(B)
  • end(A) start(B)
  • end(A) end(B)

42
Temporal 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)

43
Temporal 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)

44
Temporal Constraints
  • Maximal delays
  • start(A) start(B) delay
  • start(A) end(B) delay
  • end(A) start(B) delay
  • end(A) end(B) delay

45
Propagation 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)

46
Propagation 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)

47
Minimal 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

48
Minimal 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

49
Outline
  • Constraint Programming
  • Constraint-Based Scheduling
  • Scheduling Problems
  • Propagation of Temporal Constraints
  • Propagation of Resource Constraints
  • Examples of Applications
  • Cooperative Problem-Solving

50
Unary Resources
  • Main resources in 4/10 problems
  • Example one individual machine or person

51
Discrete Resources
  • Main resources in 5/10 problems
  • Example group of identical machines

52
State Resources
  • Main resources in 1/20 problems
  • Example oven with different temperatures

53
Energetic Resources
  • Main resources in 1/20 problems
  • Example number of man-days per week

A
B
time
54
Constraint Propagation Models
  • Explicit time-tables
  • Disjunctive constraints
  • Energetic reasoning
  • Edge finding (task intervals)

55
Explicit Time-Tables (UD)
  • WA(t) start(A) t lt end(A)
  • "t, SA WA(t) capacity(A) capacity(t)

A
B
C
time
C
56
Explicit Time-Tables (S)
  • WA(t) start(A) t lt end(A)
  • "t, WA(t) implies state(A) state(t)

D
A
C
time
D
57
Explicit 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)

58
Explicit Time-Tables (E)

A
B
time
C
59
Explicit Time-Tables 2 Models
  • Discrete array
  • Sequential table or binary tree

B
D
A
C
time
60
Explicit Time-Tables Extensions
  • Minimal capacity constraints (UDE)
  • Default state (S)
  • Constraints between time-tables or between
    time-tables and other variables (UDES)

61
Disjunctive 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)

62
Disjunctive Constraints (U)
  • Optional activities
  • Resource alternatives
  • Sub-contracts
  • Transition times
  • Tool setups
  • Color changes
  • Cleaning

63
Disjunctive 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

64
Energetic 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)

65
Energetic 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)

66
Energetic 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)

67
Edge 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)

68
Edge 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)

69
Edge 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

70
Edge 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

71
Edge 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

72
Comparison
  • Theoretical results
  • Unique fix point semantics
  • Modeling power
  • Time and space complexity
  • Pruning power
  • Experimental results

73
Outline
  • Constraint Programming
  • Constraint-Based Scheduling
  • Scheduling Problems
  • Propagation of Temporal Constraints
  • Propagation of Resource Constraints
  • Examples of Applications
  • Cooperative Problem-Solving

74
MSS 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

75
MSS 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

76
MSS 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

77
MSS 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

78
MSS 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

79
MSS 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

80
MSS 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

81
MSS 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

82
CSS 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)

83
CSS 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

84
CSS 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

85
Outline
  • Constraint Programming
  • Constraint-Based Scheduling
  • Cooperative Problem-Solving

86
Outline
  • Constraint Programming
  • Constraint-Based Scheduling
  • Cooperative Problem-Solving
  • Introduction
  • Problem Decomposition
  • Constraint Propagation
  • Search

87
Problem Solving
  • Two main other classes of techniques
  • Linear Programming and Mixed Integer Programming
  • Local Search

88
Mixed 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, )

89
Mixed Integer Programming (2)
90
Mixed Integer Programming (3)
91
Mixed Integer Programming (4)
92
Mixed Integer Programming (5)
93
Mixed Integer Programming (6)
94
Mixed Integer Programming (7)
95
Mixed Integer Programming (8)
96
Mixed Integer Programming (9)
97
MIP/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

98
MIP/CP Most Important Points
Temporal sub-problem
99
Local 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,

100
Main 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?

101
Main 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?

102
Main 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?

103
Outline
  • Constraint Programming
  • Constraint-Based Scheduling
  • Cooperative Problem-Solving
  • Introduction
  • Problem Decomposition
  • Constraint Propagation
  • Search

104
Problem Decomposition
Complete model
105
Sequential 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

106
Column Generation
  • Generate candidate solution components
  • Find the optimal combination of these components
  • Infer characteristics of  good  solution
    components to add
  • Iterate

107
Example Inventory Management
108
Example
  • 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

109
Maintenance 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

110
Mixed 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
111
Mixed 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
112
Hybrid 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
113
Hybrid 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

114
Hybrid 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

115
Outline
  • Constraint Programming
  • Constraint-Based Scheduling
  • Cooperative Problem-Solving
  • Introduction
  • Problem Decomposition
  • Constraint Propagation
  • Search

116
LP 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)

117
Objective 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 

118
Outline
  • Constraint Programming
  • Constraint-Based Scheduling
  • Cooperative Problem-Solving
  • Introduction
  • Problem Decomposition
  • Constraint Propagation
  • Search

119
Example 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

120
Examples 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

121
Conclusion (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

122
Conclusion (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

123
References (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.

124
References (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.

125
References (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.

126
References (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.
Write a Comment
User Comments (0)
About PowerShow.com