Industrial Applications of Constraint Based Scheduling Helmut Simonis Parc Technologies Ltd IC-Parc, Imperial College London Based on joint work with Y. Cloner, A. Aggoun (COSYTEC) Overview • • • • Global constraints Scheduling with global constraints Brief history Operational examples © 2003 Parc Technologies Limited 21-Oct-2003, #2 Constraint Programming - in a nutshell • Declarative description of problems with – Variables which range over (finite) sets of values – Constraints over subsets of variables which restrict possible value combinations – A solution is a value assignment which satisfies all constraints • Constraint propagation/reasoning – – – – Removing inconsistent values for variables Detect failure if constraint can not be satisfied Interaction of constraints via shared variables Incomplete • Search – User controlled assignment of values to variables – Each step triggers constraint propagation © 2003 Parc Technologies Limited 21-Oct-2003, #3 Need for global constraints X 1 Y 2 Z 3 U 4 X in {2,3} Y in {2,3} U in {1,2,3,4} Z in {1,3} local reasoning, no action © 2003 Parc Technologies Limited global reasoning, detect implications by bi-partite matching 21-Oct-2003, #4 Global constraints • Work on sets of variables – Global conditions, not local constraints • Semantic methods – – – – Operations Research Spatial algorithms Graph theory Network flows • Building blocks (high-level constraint primitives) – – – – – Multi-purpose As general as possible Usable with other constraints Very strong propagation Acceptable algorithmic complexity © 2003 Parc Technologies Limited 21-Oct-2003, #5 Temporal Relations • Some task must start after others have finished • Easy to model with inequality constraints • Much better reasoning possible when considered together with resource constraints precedence constraint © 2003 Parc Technologies Limited 21-Oct-2003, #6 Cumulative (Disjunctive) Resources Cumulative constraint Limit resource resource duration time start End © 2003 Parc Technologies Limited 21-Oct-2003, #7 Machine Choice (Speed) Diffn (2D) machine M6 M5 M4 duration 1 machine M3 M2 M1 start © 2003 Parc Technologies Limited time 21-Oct-2003, #8 Machine Calendars Diffn (2D) with calendar rules machine Interruptions M6 M5 M4 duration 1 machine M3 non-interruptible task M2 M1 start © 2003 Parc Technologies Limited time 21-Oct-2003, #9 Consumable Resources Storage Max capacity Min capacity © 2003 Parc Technologies Limited 21-Oct-2003, #10 Storage Assignment produce Diffn (2D) store consume © 2003 Parc Technologies Limited 21-Oct-2003, #11 Storage Assignment with Capacity produce Diffn (3D) store consume © 2003 Parc Technologies Limited 21-Oct-2003, #12 Sequence Dependent Setup cycle with distance matrix variable time forbidden sequence © 2003 Parc Technologies Limited 21-Oct-2003, #13 Brief history of CP-based scheduling • • • • • • • • • • Alice (Lauriere), 1978 CHIP (Dincbas, Van Hentenryck, Simonis), 1987 First commercial CP scheduling application (HIT, ICL), 1989 Cumulative resources (Aggoun, Beldiceanu), 1993 Disjunctive resources (Nuijten, Caseau, LePape), 1994 Machine choices (Beldiceanu, Contejean), 1994 Sequence dependent setup (Beldiceanu, Contejean), 1994 Alldifferent (Regin), 1994 Pre-emptive scheduling constraint (Baptiste, LePape), 1998 LP/CP hybrids (Wallace, Rodosek, El Sakkout), 1998 © 2003 Parc Technologies Limited 21-Oct-2003, #14 PLANE (Dassault) • Assembly line scheduling – developed by Dassault Aviation for Mirage 2000 Jet/ Falcon business jet • Two user system – production planning 3-5 years – commercial what-if sales aid • Optimization – requirement to balance schedule – minimize changes in production rate – minimize storage costs • Benefits and status – replaces 2 week manual planning – operational since Apr 94 – now used in US for business jets © 2003 Parc Technologies Limited 21-Oct-2003, #15 FORWARD (TECHNIP, COSYTEC) • Oil refinery production scheduling – Incorporates ELF FORWARD LP tool • Schedules daily production – Crude arrival -> processing -> delivery – Design, optimize and simulate • Crude mix optimization – Ship unloading, storage – Pipeline transport • Product blending – Explanation facilities – Handling of over-constrained problems • Status – Operational at FINA, ISAB, BP,… © 2003 Parc Technologies Limited 21-Oct-2003, #16 ORDO-VAP (VCA, COSYTEC) • Production scheduling for glass factory – integrated with Ingres Information system – manual and automatic scheduling • Constraints – – – – – multi-stage manufacturing consumer/producer varying production rates, setup balance manpower utilization minimize downtime • Status – 2 phases – operational since March 96 – replaced manual operation © 2003 Parc Technologies Limited 21-Oct-2003, #17 MOSES (Dalgety, COSYTEC) • Production scheduling for animal feed production – Feed in different sizes/ for different species – Contamination human health risk – Strict regulations imposed by customers • Constraints – – – – – – Avoid contamination risks Machine setup times Machine choice (quality/speed) Limited storage of finished products Very short lead times (8-48 hours) Factory structure given as data • Status – operational since Nov 96 – installed in 5 mills © 2003 Parc Technologies Limited 21-Oct-2003, #18 Bandwidth on demand (Schlumberger, IC-Parc, PTL) • Provide on-demand, high QoS bandwidth for limited time period • Use cases – Well logging – Video conference • Runs on MPLS-TE, diffserv • Temporal extension of general routing problem – Hard QoS limits – Overall bandwidth limits – Uses hybrid (CP/MIP/local search) algorithm • Delivered on Schlumberger’s Dexa.net – Self-provisioned by customer © 2003 Parc Technologies Limited 21-Oct-2003, #19 Conclusion • Constraints are a mature technology for scheduling • Easy to combine different constraints in one system, flexible for modeling complex systems • Most useful for hard problems, medium size (hundreds of tasks, dozens of resources) • Large variety of solutions in different application fields using commercial, off-the-shelf tools © 2003 Parc Technologies Limited 21-Oct-2003, #20