Download presentation
Presentation is loading. Please wait.
Published byAusten Powers Modified over 9 years ago
1
C. Le Pape1 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
C. Le Pape2 Outline Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving
3
C. Le Pape3 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
C. Le Pape4 Constraint Programming Problem definition Decision-making (and retracting) Constraint propagation Problem specification or partial solution in terms of constraints Initial constraints Dynamic changes Deduced constraints Contradictions New constraints (decisions)
5
C. Le Pape5 Example: Propagation x y 1 x in [2..3] y in [1..2] z in [1..3] y < z x in [2..3] y in [1..2] z in [2..3] x != z x in [2..3] y in [1..2] z in [2..3] Constraints: x y 1 y < z x != z Variables: x in [1..3] y in [1..3] z in [1..3]
6
C. Le Pape6 Example: Decision-Making y = 1 x = 2 y = 1 z = 3 y = 2 x = 3 y = 2 z = 3 FAILURE Backtrack Constraints: x y 1 y < z x != z Variables: x in [2..3] y in [1..2] z in [2..3]
7
C. Le Pape7 Incrementality Principle (1) Masonry (7) Carpentry (3) Roofing (1) Windows (1)Facade (2)Garden (1)Painting (2) Moving (1) Plumbing (8)Ceilings (3)
8
C. Le Pape8 Incrementality Principle (2) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint. M. 05101520
9
C. Le Pape9 Incrementality Principle (3) "Plumber" "Roofer" Solution: Order "Plumbing" and "Roofing" Heuristic choice For example, "Plumbing" before "Roofing"
10
C. Le Pape10 Incrementality Principle (4) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint. 05101520 M.
11
C. Le Pape11 Incrementality Principle (5) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint. 05101520 M.
12
C. Le Pape12 Incrementality Principle (6) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint. M. 05101520
13
C. Le Pape13 Incrementality Principle (7) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint. 05101520 M.
14
C. Le Pape14 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
C. Le Pape15 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(v 1... v n ) for every variable v i for every value val i in the domain of v i there are values val 1... val i 1 val i 1... val n in the domains of v 1... v i 1 v i 1... v n such that val 1... val i 1 val i val i 1... val n 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
C. Le Pape16 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
C. Le Pape17 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 Masonry (7) Carpentry (3) Roofing (1) Windows (1)Facade (2)Garden (1)Painting (2) Moving (1) Plumbing (8)Ceilings (3)
18
C. Le Pape18 Locality Principle (3) Resource sub-problem Temporal sub-problem Cost function sub-problem Resource allocation sub-problem
19
C. Le Pape19 Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving Outline
20
C. Le Pape20 Outline Constraint Programming Constraint-Based Scheduling –Scheduling Problems –Propagation of Temporal Constraints –Propagation of Resource Constraints –Examples of Applications Cooperative Problem-Solving
21
C. Le Pape21 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
C. Le Pape22 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
C. Le Pape23 Variety of Scheduling Problems Activities Resources Constraints Optimization criteria Problem size Time available to make a decision
24
C. Le Pape24 Activities Interval (block) activities Splittable activities (with interruption cost?) A time A AAA
25
C. Le Pape25 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
C. Le Pape26 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
C. Le Pape27 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
C. Le Pape28 Optional/Variable Requirements Optional activities –Resource alternatives –Sub-contracts
29
C. Le Pape29 Optional/Variable Requirements Time versus capacity tradeoffs 2 people during 3 days or 3 people during 2 days
30
C. Le Pape30 Optional/Variable Requirements Variable requirement over time Example: 8 person-days with either 2 or 3 people at any time
31
C. Le Pape31 Transition Times Tool setup between two tasks on the same machine State change (oven temperature, color used in a painting shop) Cleaning
32
C. Le Pape32 Percentage Constraints % of activity A on resource R A must be done before (or after): – B starts – B ends – % of activity B on resource R B are done Often complements variable requirements over time
33
C. Le Pape33 Synchronization Constraints When A executes, B requires (at least, at most) c 1 units of resource R When A does not execute, B requires (at least, at most) c 2 units of resource R
34
C. Le Pape34 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
C. Le Pape35 Problem Size number of resources number of activities 1000 100 10 1 1 100100010000 unary resources discrete resources several types of resources
36
C. Le Pape36 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
C. Le Pape37 Outline Constraint Programming Constraint-Based Scheduling –Scheduling Problems –Propagation of Temporal Constraints –Propagation of Resource Constraints –Examples of Applications Cooperative Problem-Solving
38
C. Le Pape38 Variables (Definition) From now on, we focus on interval activities … Three variables start(A) end(A) duration(A) for each activity A
39
C. Le Pape39 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 start min (A), start max (A), end min (A), end max (A) duration min (A), duration max (A)
40
C. Le Pape40 Basic Relation end(A) start(A) duration(A) end min (A) max(end min (A), start min (A) duration min (A)) end max (A) min(end max (A), start max (A) duration max (A)) start min (A) max(start min (A), end min (A) duration max (A)) start max (A) min(start max (A), end max (A) duration min (A)) duration min (A) max(duration min (A), end min (A) start max (A)) duration max (A) min(duration max (A), end max (A) start min (A))
41
C. Le Pape41 Temporal Constraints Simple precedence constraints start(A) start(B) start(A) end(B) end(A) start(B) end(A) end(B)
42
C. Le Pape42 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
C. Le Pape43 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
C. Le Pape44 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
C. Le Pape45 Propagation of Time Bounds var(A) delay var(B) var min (B) max(var min (B), var min (A) delay) var max (A) min(var max (A), var max (B) delay) Complete propagation for bounded domains –Contradiction found when the constraints conflict –Best possible var min (A) and var max (A) found otherwise –Incremental variant of an operations research algorithm for project scheduling (PERT networks)
46
C. Le Pape46 Propagation of Time Bounds Complexity –For a consistent network: O(n m) 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(h n ) where h is the time horizon (can be reduced to O(n m) but not always worth it in practice)
47
C. Le Pape47 Minimal and Maximal Distances [x d xy y] and [y d yz z] implies [x (d xy d yz ) z] Useful to solve disjunctions of temporal constraints [x 5 y] [y 2 z] [z 4 x] OR [v 3 w]
48
C. Le Pape48 Minimal and Maximal Distances Matrix-based method Whenever d xy is modified, update d wz to max(d wz, d wx d xy d yz ) Complexity –O(n ) after each modification of the constraint network –O(n 3 ) to initialize the matrix
49
C. Le Pape49 Outline Constraint Programming Constraint-Based Scheduling –Scheduling Problems –Propagation of Temporal Constraints –Propagation of Resource Constraints –Examples of Applications Cooperative Problem-Solving
50
C. Le Pape50 Unary Resources AB C time Main resources in 4/10 problems Example: one individual machine or person
51
C. Le Pape51 Discrete Resources Main resources in 5/10 problems Example: group of identical machines A B D time C
52
C. Le Pape52 State Resources Main resources in 1/20 problems Example: oven with different temperatures D tim e A B C
53
C. Le Pape53 Energetic Resources Main resources in 1/20 problems Example: number of man-days per week AB tim e C
54
C. Le Pape54 Constraint Propagation Models Explicit time-tables Disjunctive constraints Energetic reasoning Edge finding (task intervals)
55
C. Le Pape55 Explicit Time-Tables (UD) W A (t) [start(A) t end(A)] t, A W A (t) * capacity(A)] capacity(t) AB C time C
56
C. Le Pape56 Explicit Time-Tables (S) W A (t) [start(A) t end(A)] t, W A (t) implies [state(A) state(t)] D tim e A B C D
57
C. Le Pape57 Explicit Time-Tables (E) A (I) max(0, end min (A) start(I)) A (I) max(0, end(I) start max (A)) (I) end(I) start(I) (A) duration min (A) W A (I) min( A (I), A (I), (I), (A)) A W A (I) * capacity(A)] capacity(I)
58
C. Le Pape58 Explicit Time-Tables (E) AB tim e C
59
C. Le Pape59 Explicit Time-Tables: 2 Models Discrete array Sequential table or binary tree time A B C D
60
C. Le Pape60 Explicit Time-Tables: Extensions Minimal capacity constraints (UDE) Default state (S) Constraints between time-tables or between time-tables and other variables (UDES)
61
C. Le Pape61 Disjunctive Constraints (U) [end(A) start(B)] OR [end(B) start(A)] [end min (A) start max (B)] implies [end(B) start(A)] [end min (B) start max (A)] implies [end(A) start(B)]
62
C. Le Pape62 Disjunctive Constraints (U) Optional activities –Resource alternatives –Sub-contracts Transition times –Tool setups –Color changes –Cleaning
63
C. Le Pape63 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
C. Le Pape64 Energetic Reasoning (UD) A (I) max(0, end min (A) start(I)) A (I) max(0, end(I) start max (A)) (I) end(I) start(I) (A) duration min (A) W A (I) min( A (I), A (I), (I), (A)) A W A (I) * capacity(A)] capacity(I)
65
C. Le Pape65 Energetic Reasoning (UD) Habographs [Beck 92] –Intervals: [i .. j ) or [ i .. j ) Energetic resources [Le Pape 94] –Intervals: [i .. (i 1) ) or [ i .. (i 1) ) Energetic reasoning rules [Lopez 91] –Intervals: [start min (A).. end max (B)) or [start min (A).. x)
66
C. Le Pape66 Energetic Reasoning (U) I [start min (A).. end max (B)) (I) C A,B W C (I) (A) (B) implies [end(B) start(A)] A[1..8 2 3..10] B[0..3 2 2..5] C[2..4 1 3..5] I [1.. 5) [4 1 2 2] implies [2 start(A)]
67
C. Le Pape67 Edge Finding (U) Basic idea Prove that an activity A executes before (or after) a set of other activities Notations s min ( ) min B start min (B) e max ( ) max B end max (B) d min ( ) B duration min (B)
68
C. Le Pape68 Edge Finding (U) e max ( ) s min ( {A}) d min ( {A}) implies [s min ( ') d min ( ') start(A)] for every ' included in A[0..11 6 6..17] B[1..7 4 5..11] C[1..8 3 4..11] {B C} [11 0 13] implies [1 7 start(A)]
69
C. Le Pape69 Edge Finding (U) Jackson's Preemptive Schedule [Pinson 88] [Carlier & Pinson 90/94] –O(n 2 ) O(n*log(n)) Iterative algorithm [Nuijten 94] –O(n 2 ) with no specific data structure Task intervals [Caseau & Laburthe 94] –O(n 3 ) –Incremental –More deductions more precise time-bounds
70
C. Le Pape70 Edge Finding (U) "Not-first" deduction rule e max ( ) s min (A) d min ( {A}) implies [min B (s min ( ) d min ( )) start(A)] [Nuijten 94] [Caseau & Laburthe 94] [Baptiste & Le Pape 96]: Complete application in O(n 2 ) time and O(n) space
71
C. Le Pape71 Edge Finding (U) "Not-first" deduction rule with knapsack s min (A) d min ( {A}) e max ( ) implies [min ' | ' (s min ( ') d min ( ')) start(A)] with ( ') defined as [ ' OR d min ( ')] Complete application in exponential time (includes the NP-complete knapsack problem) Partial application [Caseau & Laburthe 95]
72
C. Le Pape72 Comparison Theoretical results –Unique fix point semantics –Modeling power –Time and space complexity –Pruning power Experimental results
73
C. Le Pape73 Outline Constraint Programming Constraint-Based Scheduling –Scheduling Problems –Propagation of Temporal Constraints –Propagation of Resource Constraints –Examples of Applications Cooperative Problem-Solving
74
C. Le Pape74 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
C. Le Pape75 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
C. Le Pape76 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
C. Le Pape77 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
C. Le Pape78 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-break 1] –duration(AB) not in [1, minimal-duration-after-break 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
C. Le Pape79 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
C. Le Pape80 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
C. Le Pape81 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
C. Le Pape82 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
C. Le Pape83 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
C. Le Pape84 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
C. Le Pape85 Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving Outline
86
C. Le Pape86 Outline Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving –Introduction –Problem Decomposition –Constraint Propagation –Search
87
C. Le Pape87 Problem Solving Two main other classes of techniques –Linear Programming and Mixed Integer Programming –Local Search
88
C. Le Pape88 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
C. Le Pape89 Mixed Integer Programming (2)
90
C. Le Pape90 Mixed Integer Programming (3)
91
C. Le Pape91 Mixed Integer Programming (4)
92
C. Le Pape92 Mixed Integer Programming (5)
93
C. Le Pape93 Mixed Integer Programming (6)
94
C. Le Pape94 Mixed Integer Programming (7)
95
C. Le Pape95 Mixed Integer Programming (8)
96
C. Le Pape96 Mixed Integer Programming (9)
97
C. Le Pape97 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
C. Le Pape98 MIP/CP: Most Important Points Resource sub-problem Temporal sub-problem Cost function sub-problem
99
C. Le Pape99 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
C. Le Pape100 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
C. Le Pape101 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
C. Le Pape102 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
C. Le Pape103 Outline Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving –Introduction –Problem Decomposition –Constraint Propagation –Search
104
C. Le Pape104 Problem Decomposition Complete model Solver 1 Solver 2Solver 3 Sub-model 1 Sub-model 2 Sub-model 3
105
C. Le Pape105 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
C. Le Pape106 Column Generation Generate candidate solution components Find the optimal combination of these components Infer characteristics of « good » solution components to add Iterate
107
C. Le Pape107 Example: Inventory Management How to satisfy orders with a MINIMAL COST ? Warehouse Buy Rent order 1 order 2 order 3
108
C. Le Pape108 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 rq(o1)=2 rq(o2)=3 rq(o3)=5 0 5 3287100
109
C. Le Pape109 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
C. Le Pape110 Mixed Integer Programming (1) 99% cost 80 vars 40 constrs 1000 vars 630 constrs 6000 vars 4000 constrs 45000 vars 32000 constrs maintenance problem crane allocation problem core problem maintenance schedule select cranes select maintenance intervals PolynomialNP-hard 1% cost
111
C. Le Pape111 Mixed Integer Programming (2) 80 vars 40 constrs 1000 vars 630 constrs 6000 vars 4000 constrs 45000 vars 32000 constrs crane allocation maintenance scheduling 1 node 30 nodes 1200 nodes > 20 000 nodes
112
C. Le Pape112 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
C. Le Pape113 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 dur(o) 87 927 919- dur(o) 1 dur(m) 88 022 342- dur(o) 2 dur(m) 89 123 491- dur(o) 3 dur(m) 90 211 387- dur(o) 4 dur(m) 91 910 1522501 Tightness: Resource allocation cost:Maint. scheduling cost:
114
C. Le Pape114 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
C. Le Pape115 Outline Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving –Introduction –Problem Decomposition –Constraint Propagation –Search
116
C. Le Pape116 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
C. Le Pape117 Objective Functions Minimize COST F(V 1, V 2, …, V n ) 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 LB + inferred from the optimal solution of the relaxed problem and « reduced costs »
118
C. Le Pape118 Outline Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving –Introduction –Problem Decomposition –Constraint Propagation –Search
119
C. Le Pape119 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
C. Le Pape120 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
C. Le Pape121 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
C. Le Pape122 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
C. Le Pape123 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. 15 th 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. 4 th 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
C. Le Pape124 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, 26:269-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. 11 th 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, 5:281-303, 1999.
125
C. Le Pape125 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
C. Le Pape126 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, 3:271-286, 1998. G. Pesant and M. Gendreau. A View of Local Search in Constraint Programming. 2 nd 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. 4 th International Conference on Principles and Practice of Constraint Programming, 1998.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.