Title: Constraint Programming in Operations Management
1- Constraint Programming in Operations Management
Filippo Focacci ILOG S.A.
2Agenda
- 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
3Constraint-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
4Constraint-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)
5Constraint-Based Scheduling
Activities
- Breakable Activities
- Preemption at fixed dates (break calendar)
Processing time p(A) ? pi e(A)-s(A) -
breaks(A)
6Constraint-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
7Constraint-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
8Constraint-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.
9Constraint-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
10Constraint-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
11Constraint-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, )
12Constraint-Based Scheduling
Timetables
- Identify activities A for which eet(A) gt lst(A)
- Between lst(A) and eet(A) we know A will be
executed
13Constraint-Based Scheduling
Timetables
14Constraint-Based Scheduling
Edge-Finding
15Constraint-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(nlog(n))
- Iterative algorithm Nuijten 94 Martin 96
- O(n2) with no specific data structure
- Task intervals Caseau Laburthe 94
- O(n3)
- Incremental
16Plant 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
17Plant PowerOps
Architecture
Graphical Planning Board
Maintenance Configuration
GUI
Planning
IT
Planning/IT
Plant Floor
Engine
Optimization Algorithms
Parameters
Optimization Algorithms
Data Model
Metadata
Business Models
Middleware
CSV Reader
ODF Reader
CSV Writer
ODF Writer
- Optimization Development Framework (ODF) from
ILOG and SAP - Optimization Extension Kit (OEK) from ILOG and
Oracle
18Plant PowerOps
GUI Organization
Solution Area
Scenario Management
Problem View
Data and Weights
Rule Explorer
Console
19Plant PowerOps
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
20ILOG Plant PowerOps
Integrate Planning and Scheduling
Planning solution
Data model
Planning engine
Lot-sizing solution
Lot-sizing engine
Scheduling Engine
Scheduling solution
21Prepare the Production Schedule
Define a rule-based scenario
- Activate or deactivate rules and alerts for the
current planning or rescheduling scenario
22Add/Modify Business Policies
Define policy rules upon events
- Modify the safety stock policy during machine
breakdown