Constraint Programming in Operations Management
-
Upload
coral-alice-lawrence -
Category
Documents
-
view
235 -
download
1
description
Transcript of Constraint Programming in Operations Management
![Page 1: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/1.jpg)
Constraint Programming in Operations Management
Filippo Focacci – ILOG S.A.
![Page 2: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/2.jpg)
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
![Page 3: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/3.jpg)
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
![Page 4: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/4.jpg)
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
![Page 5: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/5.jpg)
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
![Page 6: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/6.jpg)
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
![Page 7: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/7.jpg)
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
![Page 8: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/8.jpg)
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
![Page 9: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/9.jpg)
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
![Page 10: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/10.jpg)
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
![Page 11: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/11.jpg)
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
![Page 12: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/12.jpg)
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
![Page 13: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/13.jpg)
13
Q
t
Aggregated necessary demand
QMAX
Constraint-Based Scheduling
Timetables
q
lst let
eetest
lst let
est eet
![Page 14: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/14.jpg)
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
![Page 15: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/15.jpg)
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
![Page 16: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/16.jpg)
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
![Page 17: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/17.jpg)
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
![Page 18: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/18.jpg)
18
Plant PowerOps
GUI: Organization
ProblemView
RuleExplorer
Solution Area
ScenarioManagement
Data and Weights
Console
![Page 19: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/19.jpg)
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
![Page 20: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/20.jpg)
20
ILOG Plant PowerOps
Integrate Planning and Scheduling
Planningsolution
Lot-sizingsolution
Schedulingsolution
Datamodel
Lot-sizingengine
SchedulingEngine
Planningengine
![Page 21: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/21.jpg)
21
Prepare the Production Schedule
• Activate or deactivate rules and alerts for the current planning or rescheduling scenario
Define a rule-based scenario
![Page 22: Constraint Programming in Operations Management](https://reader036.fdocuments.us/reader036/viewer/2022081513/5a4d1ae37f8b9ab0599780f7/html5/thumbnails/22.jpg)
22
Add/Modify Business Policies
• Modify the safety stock policy during machine breakdown
Define policy rules upon events