constraint programming in operations management
DESCRIPTION
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 DemoTRANSCRIPT
Constraint Programming in Operations Management
Filippo Focacci – ILOG S.A.
2
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
3
Constraint-Based Scheduling
• 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
Introduction
4
Constraint-Based Scheduling
• Non-Preemptive (Interval) Activities
Activity A
Start time: s(A) End time: e(A)
Processing time: p(A) e(A) s(A)
t
Activities
5
Constraint-Based Scheduling
• Breakable Activities • Preemption at fixed dates (break calendar)
Processing time: p(A) = pi = e(A)-s(A) - breaks(A)
Activity A
tp1 pi...
M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T
Activities
6
Constraint-Based Scheduling
• 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
Resources
7
Constraint-Based Scheduling
• 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
Constraints
8
• 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.
Constraints
Constraint-Based Scheduling
9
Constraint-Based Scheduling
• 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
Objective Functions
10
Constraint-Based Scheduling
• 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
Resource Constraint Propagation
11
Constraint-Based Scheduling
• 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, …)
Resource Constraint Propagation
12
• Identify activities A for which eet(A) > lst(A)
• Between lst(A) and eet(A) we know A will be executed
Constraint-Based Scheduling
lst let
est eet
Timetables
13
Q
t
Aggregated necessary demand
QMAX
Constraint-Based Scheduling
Timetables
q
lst let
eetest
lst let
est eet
14
Constraint-Based Scheduling
B
C
A
6 16
7 15
4 16
p=4
p=5
p=2
Edge-Finding
B
C
A
6 16
7 15
4 7
p=4
p=5
15
• Basic Concept• Prove that an activity A executes before (or after) a set of
other activities
• 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
Edge-Finding: Unary Resources
Constraint-Based Scheduling
16
Plant PowerOps
• 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
Problem Description
17
GUI
Engine
Metadata
Middleware
Plant PowerOps
Optimization AlgorithmsOptimization AlgorithmsOptimization AlgorithmsOptimization Algorithms
Architecture
ParametersParameters
Business ModelsBusiness Models
CSV ReaderCSV ReaderODF ReaderODF Reader CSV WriterCSV WriterODF WriterODF Writer
Graphical Planning BoardGraphical Planning Board Maintenance & ConfigurationMaintenance & Configuration
Plant FloorPlant Floor PlanningPlanning ITITPlanning/ITPlanning/IT
Data ModelData Model
• Optimization Development Framework (ODF) from ILOG and SAP• Optimization Extension Kit (OEK) from ILOG and Oracle
18
Plant PowerOps
GUI: Organization
ProblemView
RuleExplorer
Solution Area
ScenarioManagement
Data and Weights
Console
19
Plant PowerOps
• Integrate planning and scheduling• Hybrid CP / MIP
• Use business rules to configure and maintain the optimization• Modify the model parameters and data• Add constraints
Key features
20
ILOG Plant PowerOps
Integrate Planning and Scheduling
Planningsolution
Lot-sizingsolution
Schedulingsolution
Datamodel
Lot-sizingengine
SchedulingEngine
Planningengine
21
Prepare the Production Schedule
• Activate or deactivate rules and alerts for the current planning or rescheduling scenario
Define a rule-based scenario
22
Add/Modify Business Policies
• Modify the safety stock policy during machine breakdown
Define policy rules upon events