Constraint Programming in Operations Management Filippo Focacci – ILOG S.A.
Agenda Constraint-Based Scheduling Concepts Constraints Plant PowerOps: an industrial application of CP Introduction Architecture Hybrid approach for Integrating planning and scheduling Integrate business rules in optimization Demo
Constraint-Based Scheduling Introduction Constraint-Based Scheduling = Scheduling + Constraint Programming Scheduling problems arise in situations where A set of activities has to be processed By a limited number of resources In a limited amount of time
Constraint-Based Scheduling Activities Non-Preemptive (Interval) Activities Activity A t Start time: s(A) End time: e(A) Processing time: p(A) = e(A) - s(A)
Constraint-Based Scheduling Activities Breakable Activities Preemption at fixed dates (break calendar) Activity A t p1 pi ... M T W F S Processing time: p(A) = pi = e(A)-s(A) - breaks(A)
Constraint-Based Scheduling Resources Unary One person, machine, etc. Discrete A group of people with the same capabilities Energy A limited number of human-days each week Reservoir A stock of raw materials or intermediate products State An oven with different possible temperatures
Constraint-Based Scheduling 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
Constraint-Based Scheduling Constraints Calendar Constraints Time intervals during which a resource is not fully available e.g., maintenance periods, vacations, forbidden states (at night) Transition Times Minimal time required between two activities when in a certain order e.g., tool setup between two tasks on the same machine, state change (oven temperature or color used in a painting shop), cleaning, etc.
Constraint-Based Scheduling Objective Functions Examples: Makespan (max end time) Sum/max tardiness or earliness Weighted # of activities Peak resource usage Transition times/costs Weighted # of resources All possible combinations of the above
Constraint-Based Scheduling Resource Constraint Propagation Several types of global constraints All make sure the capacity of the resource is not exceeded at any point Differ in the strength of the propagation they induce: Explicit timetables Disjunctive constraint Edge-finding Energetic reasoning Balance constraint
Constraint-Based Scheduling Resource Constraint Propagation In general, more propagation = more effort The best propagation algorithm depends On the application On the resources within a given application (number of activities, resource criticality, …)
Constraint-Based Scheduling Timetables Identify activities A for which eet(A) > lst(A) Between lst(A) and eet(A) we know A will be executed
Constraint-Based Scheduling Timetables q Q t Aggregated necessary demand QMAX
Constraint-Based Scheduling Edge-Finding B C A 6 16 7 15 4 p=4 p=5 p=2 B C A 6 16 7 15 4 p=4 p=5
Constraint-Based Scheduling Edge-Finding: Unary Resources Basic Concept Prove that an activity A executes before (or after) a set of other activities W. Jackson's Preemptive Schedule [Pinson 88] [Carlier & Pinson 90/94] O(n2) O(n*log(n)) Iterative algorithm [Nuijten 94] [Martin 96] O(n2) with no specific data structure Task intervals [Caseau & Laburthe 94] O(n3) Incremental
Plant PowerOps Problem Description Manufacturing planning and scheduling requirements Continuous production Determine how to adjust to demand by varying output Production with co-products and by-products Determine how to adapt to demand by adjusting the product mix Campaign and batch production Determine how to meet demand by determining the length of campaigns, while avoiding costly setups Industry specific complex constraints Complex setups, trimming, business policies Planning and scheduling horizons Short term – hours to days – re-scheduling and connection with MES Medium term – days to weeks – integrated planning and scheduling Long term – weeks to months – planning, what-if analysis
Optimization Algorithms Plant PowerOps Architecture Graphical Planning Board Maintenance & Configuration GUI Plant Floor Planning Planning/IT IT Engine Parameters Optimization Algorithms Optimization Algorithms Data Model Metadata Business Models Middleware ODF Reader CSV Reader ODF Writer CSV Writer Optimization Development Framework (ODF) from ILOG and SAP Optimization Extension Kit (OEK) from ILOG and Oracle
Plant PowerOps GUI: Organization Solution Area Problem View Rule Scenario Management Problem View Data and Weights Rule Explorer Console
Plant PowerOps Integrate planning and scheduling Key features Integrate planning and scheduling Hybrid CP / MIP Use business rules to configure and maintain the optimization Modify the model parameters and data Add constraints
ILOG Plant PowerOps Integrate Planning and Scheduling Planning solution Data model Planning engine Lot-sizing solution Lot-sizing engine Scheduling Engine Scheduling solution
Prepare the Production Schedule Define a rule-based scenario Activate or deactivate rules and alerts for the current planning or rescheduling scenario
Add/Modify Business Policies Define policy rules upon events Modify the safety stock policy during machine breakdown