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.

Slides:



Advertisements
Similar presentations
1-1 Constraint-based Scheduling Claude Le Pape. 1-2 Outline Introduction Scheduling constraints Non-preemptive scheduling –Temporal constraints –Resource.
Advertisements

CPAIOR02 School on OptimizationC. Le Pape1 Integrating Operations Research Algorithms in Constraint Programming Claude Le Pape ILOG S.A.
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
Leena Suhl University of Paderborn, Germany
1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized.
© Imperial College London Eplex: Harnessing Mathematical Programming Solvers for Constraint Logic Programming Kish Shen and Joachim Schimpf IC-Parc.
Hybridisation Solver Cooperation in ECLiPSe. 2 Introduction  Motivation  Sending Constraints to Different Solvers  Probing  Column Generation  Motivation.
Multi-Objective Optimization NP-Hard Conflicting objectives – Flow shop with both minimum makespan and tardiness objective – TSP problem with minimum distance,
Optimal Rectangle Packing: A Meta-CSP Approach Chris Reeson Advanced Constraint Processing Fall 2009 By Michael D. Moffitt and Martha E. Pollack, AAAI.
Progress in Linear Programming Based Branch-and-Bound Algorithms
Crew Scheduling Housos Efthymios, Professor Computer Systems Laboratory (CSL) Electrical & Computer Engineering University of Patras.
2-1 Scheduling Constraints. 2-2 Outline Activities Temporal constraints Resources Resource constraints (mono-activity) Resource constraints (two activities)
1 Optimisation Although Constraint Logic Programming is somehow focussed in constraint satisfaction (closer to a “logical” view), constraint optimisation.
9-1 Applications. 9-2 Outline Moulding shop scheduling (MSS) Construction site scheduling (CSS)
 Resource Constraint Propagation (Preemptive Case)
1 Approximate Solution to an Exam Timetabling Problem Adam White Dept of Computing Science University of Alberta Adam White Dept of Computing Science University.
 Resource Constraint Propagation (Non-Preemptive Case)
Dynamic lot sizing and tool management in automated manufacturing systems M. Selim Aktürk, Siraceddin Önen presented by Zümbül Bulut.
Better Ants, Better Life? Hybridization of Constraint Programming and Ant Colony Optimization Supervisors: Dr. Bernd Meyer, Dr. Andreas Ernst Martin Held.
 Temporal Constraint Propagation (Non-Preemptive Case)
8-1 Problem-Solving Examples (Preemptive Case). 8-2 Outline Preemptive job-shop scheduling problem (P-JSSP) –Problem definition –Basic search procedure.
Planning operation start times for the manufacture of capital products with uncertain processing times and resource constraints D.P. Song, Dr. C.Hicks.
1 Planning and Scheduling to Minimize Tardiness John Hooker Carnegie Mellon University September 2005.
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
Using Simulated Annealing and Evolution Strategy scheduling capital products with complex product structure By: Dongping SONG Supervisors: Dr. Chris Hicks.
Job Shop Reformulation of Vehicle Routing Evgeny Selensky University of Glasgow
Metaheuristics The idea: search the solution space directly. No math models, only a set of algorithmic steps, iterative method. Find a feasible solution.
Elements of the Heuristic Approach
Constraint Satisfaction Problems
Finite Capacity Scheduling 6.834J, J. Overview of Presentation What is Finite Capacity Scheduling? Types of Scheduling Problems Background and History.
1 Outline:  Outline of the algorithm  MILP formulation  Experimental Results  Conclusions and Remarks Advances in solving scheduling problems with.
Building “ Problem Solving Engines ” for Combinatorial Optimization Toshi Ibaraki Kwansei Gakuin University (+ M. Yagiura, K. Nonobe and students, Kyoto.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
Jobshop scheduling. We have a set of resources a set of jobs a job is a sequence of operations/activities sequence the activities on the resources.
ANTs PI Meeting, Nov. 29, 2000W. Zhang, Washington University1 Flexible Methods for Multi-agent distributed resource Allocation by Exploiting Phase Transitions.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Decision Diagrams for Sequencing and Scheduling Andre Augusto Cire Joint work with David Bergman, Willem-Jan van Hoeve, and John Hooker Tepper School of.
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Exact and heuristics algorithms
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
I T & S A e r o s p a c eD e f e n c e Integration of a Multicriteria Decision Model in Constraint Programming F. Le Huédé M. Grabisch C. Labreuche P.
Constraints and Search Toby Walsh Cork Constraint Computation Centre (4C) Logic & AR Summer School, 2002.
CONSTRAINT-BASED SCHEDULING AND PLANNING Speaker: Olufikayo Adetunji CSCE 921 4/08/2013Olufikayo Adetunji 1 Authors: Philippe Baptiste, Philippe Laborie,
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
IT Applications for Decision Making. Operations Research Initiated in England during the world war II Make scientifically based decisions regarding the.
Constraint Programming in Operations Management
1. 2 Outline of Ch 4 Best-first search Greedy best-first search A * search Heuristics Functions Local search algorithms Hill-climbing search Simulated.
Chapter 5 Team Teaching AI (created by Dewi Liliana) PTIIK Constraint Satisfaction Problems.
Using Constructive Search in Resource Scheduling By Andrei Missine.
Tommy Messelis * Stefaan Haspeslagh Burak Bilgin Patrick De Causmaecker Greet Vanden Berghe *
Roman Barták (Charles University in Prague, Czech Republic) ACAT 2010.
Jobshop scheduling.
Scheduling with Constraint Programming
1.3 Modeling with exponentially many constr.
Chapter 6. Large Scale Optimization
Integer Programming (정수계획법)
Metaheuristic methods and their applications. Optimization Problems Strategies for Solving NP-hard Optimization Problems What is a Metaheuristic Method?
Multi-Objective Optimization
Introduction to Scheduling Chapter 1
Chapter 1. Formulations (BW)
1.3 Modeling with exponentially many constr.
Planning and Scheduling in Manufacturing and Services
Integer Programming (정수계획법)
Constraint satisfaction problems
Topic 15 Job Shop Scheduling.
Chapter 1. Formulations.
Constraint Satisfaction Problems
Constraint satisfaction problems
Chapter 6. Large Scale Optimization
Presentation transcript:

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!

C. Le Pape2 Outline Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving

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

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)

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]

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]

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)

C. Le Pape8 Incrementality Principle (2) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint. M

C. Le Pape9 Incrementality Principle (3) "Plumber"  "Roofer" Solution: Order "Plumbing" and "Roofing" Heuristic choice For example, "Plumbing" before "Roofing"

C. Le Pape10 Incrementality Principle (4) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint M.

C. Le Pape11 Incrementality Principle (5) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint M.

C. Le Pape12 Incrementality Principle (6) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint. M

C. Le Pape13 Incrementality Principle (7) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint M.

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)

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

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

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)

C. Le Pape18 Locality Principle (3) Resource sub-problem Temporal sub-problem Cost function sub-problem Resource allocation sub-problem

C. Le Pape19 Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving Outline

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

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

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

C. Le Pape23 Variety of Scheduling Problems Activities Resources Constraints Optimization criteria Problem size Time available to make a decision

C. Le Pape24 Activities Interval (block) activities Splittable activities (with interruption cost?) A time A AAA

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

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

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

C. Le Pape28 Optional/Variable Requirements Optional activities –Resource alternatives –Sub-contracts

C. Le Pape29 Optional/Variable Requirements Time versus capacity tradeoffs 2 people during 3 days or 3 people during 2 days

C. Le Pape30 Optional/Variable Requirements Variable requirement over time Example: 8 person-days with either 2 or 3 people at any time

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

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

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

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

C. Le Pape35 Problem Size number of resources number of activities unary resources discrete resources several types of resources

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

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

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

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)

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

C. Le Pape41 Temporal Constraints Simple precedence constraints start(A)  start(B) start(A)  end(B) end(A)  start(B) end(A)  end(B)

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)

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)

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

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)

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)

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]

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

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

C. Le Pape50 Unary Resources AB C time Main resources in 4/10 problems Example: one individual machine or person

C. Le Pape51 Discrete Resources Main resources in 5/10 problems Example: group of identical machines A B D time C

C. Le Pape52 State Resources Main resources in 1/20 problems Example: oven with different temperatures D tim e A B C

C. Le Pape53 Energetic Resources Main resources in 1/20 problems Example: number of man-days per week AB tim e C

C. Le Pape54 Constraint Propagation Models Explicit time-tables Disjunctive constraints Energetic reasoning Edge finding (task intervals)

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

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

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)

C. Le Pape58 Explicit Time-Tables (E) AB tim e C

C. Le Pape59 Explicit Time-Tables: 2 Models Discrete array Sequential table or binary tree time A B C D

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)

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)]

C. Le Pape62 Disjunctive Constraints (U) Optional activities –Resource alternatives –Sub-contracts Transition times –Tool setups –Color changes –Cleaning

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]

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)

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)

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)]

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)

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)]

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

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

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]

C. Le Pape72 Comparison Theoretical results –Unique fix point semantics –Modeling power –Time and space complexity –Pruning power Experimental results

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

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

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

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

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

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]

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

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

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

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)

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

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

C. Le Pape85 Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving Outline

C. Le Pape86 Outline Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving –Introduction –Problem Decomposition –Constraint Propagation –Search

C. Le Pape87 Problem Solving Two main other classes of techniques –Linear Programming and Mixed Integer Programming –Local Search

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, …)

C. Le Pape89 Mixed Integer Programming (2)

C. Le Pape90 Mixed Integer Programming (3)

C. Le Pape91 Mixed Integer Programming (4)

C. Le Pape92 Mixed Integer Programming (5)

C. Le Pape93 Mixed Integer Programming (6)

C. Le Pape94 Mixed Integer Programming (7)

C. Le Pape95 Mixed Integer Programming (8)

C. Le Pape96 Mixed Integer Programming (9)

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

C. Le Pape98 MIP/CP: Most Important Points Resource sub-problem Temporal sub-problem Cost function sub-problem

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, …

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?

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?

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?

C. Le Pape103 Outline Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving –Introduction –Problem Decomposition –Constraint Propagation –Search

C. Le Pape104 Problem Decomposition Complete model Solver 1 Solver 2Solver 3 Sub-model 1 Sub-model 2 Sub-model 3

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

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

C. Le Pape107 Example: Inventory Management How to satisfy orders with a MINIMAL COST ? Warehouse Buy Rent order 1 order 2 order 3

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)=

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

C. Le Pape110 Mixed Integer Programming (1) 99% cost 80 vars 40 constrs 1000 vars 630 constrs 6000 vars 4000 constrs vars constrs maintenance problem crane allocation problem core problem maintenance schedule select cranes select maintenance intervals PolynomialNP-hard 1% cost

C. Le Pape111 Mixed Integer Programming (2) 80 vars 40 constrs 1000 vars 630 constrs 6000 vars 4000 constrs vars constrs crane allocation maintenance scheduling 1 node 30 nodes 1200 nodes > nodes

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

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 dur(o) dur(o)  1  dur(m) dur(o)  2  dur(m) dur(o)  3  dur(m) dur(o)  4  dur(m) Tightness: Resource allocation cost:Maint. scheduling cost:

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]

C. Le Pape115 Outline Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving –Introduction –Problem Decomposition –Constraint Propagation –Search

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)

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 »

C. Le Pape118 Outline Constraint Programming Constraint-Based Scheduling Cooperative Problem-Solving –Introduction –Problem Decomposition –Constraint Propagation –Search

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]

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]

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

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

C. Le Pape123 References (1) Disclaimer: not (at all) a complete bibliography! K. R. Baker. Introduction to Sequencing and Scheduling. John Wiley and Sons, Ph. Baptiste, C. Le Pape and W. Nuijten. Constraint-Based Optimization and Approximation for Job Shop Scheduling. IJCAI'95 Workshop on Intelligent Manufacturing Systems, 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, 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, H. Beck. Constraint Monitoring in TOSCA. AAAI Spring Symposium on Practical Approaches to Planning and Scheduling, 1992.

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: , J. Carlier and E. Pinson. Adjustment of Heads and Tails for the Job-Shop Problem. European Journal of Operational Research, 78(2): , Y Caseau and F. Laburthe. Improved CLP Scheduling with Task Intervals. 11 th International Conference on Logic Programming, Y. Caseau and F. Laburthe. Disjunctive Scheduling with Task Intervals. Technical Report, Ecole Normale Supérieure, Y. Caseau and T. Kökény. An Inventory Management Problem. Constraints, 3(4): , Y. Caseau and F. Laburthe. Heuristics for Large Constrained Vehicle Routing Problems. Journal of Heuristics, 5: , 1999.

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): , 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): , 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, 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.

C. Le Pape126 References (4) W. Nuijten. Time and Resource Constrained Scheduling: A Constraint Satisfaction Approach. PhD Thesis, Eindhoven University of Technology, W. Nuijten and C. Le Pape. Constraint-Based Job Shop Scheduling with ILOG Scheduler. Journal of Heuristics, 3: , G. Pesant and M. Gendreau. A View of Local Search in Constraint Programming. 2 nd International Conference on Principles and Practice of Constraint Programming, E. Pinson. Le problème de job-shop. Thèse de l'Université Paris VI, 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.