SlideShare une entreprise Scribd logo
1  sur  185
1
Mixed-integer Models for
Planning and Scheduling
Ignacio E. Grossmann
Center for Advanced Process Decision-making
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
University of Alicante
January 16-17, 2018
2
1. Introduction
2. Modeling
3. Solution strategies
General Plan
Short Course
Goals
1. Gain an appreciation for optimization-based
planning/scheduling
2. Learn general guidelines for modeling and
solving these problems
3
EWO involves optimizing the operations of R&D,
material supply, manufacturing, distribution of a
company to reduce costs and inventories, and to
maximize profits, asset utilization, responsiveness .
Enterprise-wide Optimization (EWO)
Key issue:
- Integration of information, modeling and solution methods
4
Source: Tayur, et al. [1999]
Enterprise Resource
Planning System
Materials Requirement
Planning Systems
Distributions Requirements
Planning System
Transactional IT
External Data
Management Systems
Strategic Optimization
Modeling System
Tactical Optimization
Modeling System
Production Planning Optimization
Modeling Systems
Logistics Optimization
Modeling System
Production Scheduling
Optimization Modeling Systems
Distributions Scheduling Optimization
Modeling Systems
Analytical
IT
Demand
Forecasting and Order
Management System
Strategic Analysis
Long-Term Tactical
Analysis
Short-Term Tactical
Analysis
Operational
Analysis
Scope
Methods/Tools for Enterprise-wide Optimization
5
Enterprise-wide Optimization
• The supply chain is large, complex, and highly dynamic
• Optimization can have very large financial payout
WellheadWellhead PumpPump
TradingTrading Transfer of
Crude
Transfer of
Crude
Refinery
Optimization
Refinery
Optimization
Schedule
Products
Schedule
Products
Transfer of
Products
Transfer of
Products
Terminal
Loading
Terminal
Loading
Petroleum industry Dennis Houston (2003)
6
• Pharmaceutical process (Shah, 2003)
 Primary production has five synthesis stages
 Two secondary manufacturing sites
 Global market
Lifecycle
Management
0.5 - 2 yrs 1 - 2 yrs 1.5 - 3.5 yrs 2.5 - 4 yrs 0.5-2 yrs
Discovery Market
2-5 yrs
Submission&
Approval
10-20 yrs
Phase 3Phase 2a/bPhase 1
Pre-
clinical
Development
Targets
Hits
Leads
Candidate
R&D Pharmaceutical industry
Pharmaceutical supply chain
(Gardner et al , 2003)
7
-The modeling challenge:
Planning, scheduling, control models for the various components of the supply
chain, including nonlinear process models?
Research Challenges
- The multi-scale optimization challenge:
Coordinated optimization of models over geographically distributed sites, and over
the long-term (years), medium-term (months) and short-term (days, min) decisions?
- The uncertainty challenge:
How to effectively anticipate effect of uncertainties ?
- Algorithmic and computational challenges:
How to effectively solve the various models including nonconvex problems in
terms of efficient algorithms, and in terms of modern computer
architectures?
8
Planning and scheduling
Given existing plant/supply chain and product demands over time,
Determine production & inventory targets, time activities
Objectives: Economics (Profit, Cost)
Feasibility (Just-in-time)
No clear cut distinction between Planning and Scheduling
Planning: Usually driven by economics, longer term
Scheduling: Usually driven by feasibility, short term
Long-term goal: Integration of both
9
Overview of Discrete-Continuous Optimization Models
a. Linear and mixed-integer linear programming
b. Nonlinear and mixed-integer nonlinear programming
c. Logic-based optimization:
Generalized disjunctive programming
Constraint programming
Lagrangean decomposition
Outline
Examples of Models
Single stage, parallel units wo/w due dates.
Multistage, parallel units, due dates.
Aggregated Multistage Zero-Wait
Discrete time MILP short-term batch scheduling (State Task Network)
Continuous time MILP short-term batch scheduling (State Task Network)
MINLP multistage cyclic scheduling model
Refinery scheduling and blending, Multiperiod refinery planning
MILP Supply Chain Optimization Model
NLP multiperiod production planning model with process models
Supply Chain with Stochastic Inventory Management
10
References
Mendez, C.A., J. Cerda, I.E. Grossmann, I. Harjunkoski, M. Fahl, “State-of-the-art Review
of Optimization Methods for Short-term Scheduling of Batch Processes,”
Comp. & Chemical Engineering 30, 913-946 (2006).
Floudas, C.A.; Lin, X. “Continuous-time versus discrete-time approaches for scheduling
of chemical processes: a review.” Comp. and Chem. Eng., 28, 2109 – 2129 (2004).
Kallrath, J. “Planning and scheduling in the process industry,” OR Spectrum, 24, 219-250 (2002).
Pinto, J.M. & Grossmann, I.E., “Assignments and sequencing models of the scheduling of
process systems,” Annals of Operations Research, 81, 433 – 466 (1998).
Shah, N., “Single- and multisite planning and scheduling: Current status and future challenges,”
Proceedings of FOCAPO-98 75 – 90 (1998).
Mauderli. A. M.: Rippin. D. W. T. Production Planning and Scheduling
for Mu1tip;;pose Batch Chemical Plants. Comp. Chem.Eng. 3, 199 (1979).
Reklaitis, G. V. Review of Scheduling of Process Operation.
AIChE Symp. Ser. 78, 119-133 (1978).
Harjunkoski, I., Maravelias, C.T., Bongers, P., Castro, P., Engell, S., Grossmann, I.E., Hooker,
J., Mendez, C., Sand, G. and Wassick, J., “Scope for Industrial Applications of Production
Scheduling Models and Solution Methods,” Computers and Chemical Engineering,
62, 161-193 (2014).
11
ROAD-MAP FOR BATCH SCHEDULING
(1) TASK TOPOLOGY:
- Single Stage (single unit or parallel units)
- Multiple Stage (multiproduct or multipurpose)
- Network
(2) EQUIPMENT ASSIGNMENT
- Fixed
- Variable
(3) EQUIPMENT CONNECTIVITY
- Partial
- Full
(4) INVENTORY STORAGE POLICIES
- Unlimited intermediate storage (UIS)
- Non-intermediate storage (NIS)
- Finite intermediate storage (FIS): Dedicated or shared storage units
- Zero wait (ZW)
(5) MATERIAL TRANSFER
- Instantaneous (neglected)
-Time consuming (no-resource, pipes, vessels)
A B C
1
2
3S1 S2Heat
Reaction1 Separation
Reaction 3
S3
S5
S4
S7
S6
Reaction2
1h
1h
3h
2h
2h
90%
10%
40%
60%70%
30%
12
ROAD-MAP BATCH SCHEDULING
(6) BATCH SIZE:
- Fixed
- Variable (mixing and splitting operations)
(7) BATCH PROCESSING TIME
- Fixed
- Variable (unit / batch size dependent)
(8) DEMAND PATTERNS
- Due dates (single or multiple product demands)
- Scheduling horizon (fixed, minimum/maximum requirements)
(9) CHANGEOVERS
- None
- Unit dependent
- Sequence dependent (product or product/unit dependent)
(10) RESOURCE CONSTRAINTS
- None (only equipment)
- Discrete (manpower)
- Continuous (utilities)
0 Due
date 1
Due
date 2
Due
date 3
Due
date NO
...
Production
Horizon
i i’changeoveri’
13
ROAD-MAP BATCH SCHEDULING
(11) TIME CONSTRAINTS
- None
- Non-working periods
- Maintenance
- Shifts
(12) COSTS
- Equipment
- Utilities (fixed or time dependent)
- Inventory
- Changeovers
(13) Degree of certainty
- Deterministic
- Stochastic
14
ROAD-MAP FOR OPTIMIZATION APPROACHES
(A) TIME DOMAIN REPRESENTATION
- Discrete time
- Continuous time
(B) EVENT REPRESENTATION
DISCRETE TIME
- Global time intervals
CONTINUOUS TIME
- Time slots
- Unit-specific direct precedence
- Global direct precedence
- Global general precedence
- Global time points
- Unit- specific time event
(C) MATERIAL BALANCES
- Lots (Order or batch oriented)
- Network flow equations (STN or RTN problem representation)
(D) OBJECTIVE FUNCTION
- Makespan
- Earliness/ Tardiness
- Profit
- Inventory
- Cost
7
6
5
4
3
2
1
9
8
19
18
11
10
2
2
21
20
25
24
23
TIME
TASK
TIME
EVENTS
TASK
TIME
TASK
15
Optimization approaches
Mixed-integer (non)linear programming (MILP/MINLP)
Disjunctive programming/logic optimization
Constraint logic programming
Combinatorial optimization (traveling salesman)
Local search methods (simulated annealing, genetic
algorithms)
Decomposition techniques: Lagrangean decomposition
16
Mathematical Programming
min f(x, y) Cost
s.t. h(x, y) = 0 Process equations
g(x, y)  0 Specifications
x X Continuous variables
y {0,1} Discrete variables
Continuous optimization
Linear programming: LP
Nonlinear programming: NLP
Discrete optimization
Mixed-integer linear programming: MILP
Mixed-integer nonlinear programming: MINLP
17
Generalized Disjunctive Programming (GDP)
 
 
Ω
,0)(
0)(
)(min
1
falsetrue,Y
Rc,Rx
trueY
Kk
γc
xg
Y
Jj
xs.t. r
xfcZ
jk
k
n
jkk
jk
jk
k
k
k


















 

• Raman and Grossmann (1994) (Extension Balas, 1979)
Objective Function
Common Constraints
Continuous Variables
Boolean Variables
Logic Propositions
OR operator
Disjunction
Fixed Charges
Constraints
Multiple Terms / Disjunctions
18
Constraint Programming
Key Features
 Variables: Integer, Boolean, Continuous
 Constraints
• Algebraic constraints: x1 + x2 ≤ 5
• Logical constraints: [a.end ≤ b.start]  [b.end ≤ a.start]
• Global constraints: alldifferent(x)
• Meta-constraints: iS (xi < 5) = 3
 State Objective Function (optional)
 Write an algorithmic search for finding values of the variables satisfying the constraints
• Implicit enumeration
• Constraint propagation – domain reduction
19
Problems
Multistage, parallel, due dates MILP
Multistage Aggregate Zero-Wait IP/LP
Multipurpose, resource constraints: State-Task-Network (Resource Task Network)
Discrete time MILP
Continuous time MILP
Single stage, parallel MILP
Single stage parallel, due dates MILP
Batch
Continuous
Multistage, single, cyclic schedule MINLP
Multiperiod production planning NLP
Refinery scheduling/blending Iterative MILP
Multiperiod Supply Chain MILP
Stochastic Inventory Magmt. MINLP
20
Given N tasks (i) and M units (m)
Tasks (Jobs/Orders) = batches fixed lot size, fixed processing times pim
Fi ={m | units m can perform task i}
N ={ (i1,i2) cannot share same unit}
Find how to assign tasks j to machine m to minimize completion time MS
Parallel units (single stage)
Unit m
Task 1
Task 2
.
Task N
Processing Time
Machine m TimeTime
21
xim assign task i unit m (0-1)
Min Makespan
Makespan is largest
time for every unit m
Every task i to one unit m
MILP Optimization Model
}1,0{,0
1
min





im
m
im
im
i
im
xMS
ix
mMSxpst
MS
22
Parallel Units (Single Stage) with Due Dates
(Jain and Grossmann, 2001)
Given: N jobs/orders (release dates, processing times, due dates)
M units (cost different for each unit)
Find schedule that minimizes cost and meets all due dates
Job 1
Job 2
Job n
Time
Unit 1
Unit m
Time
Release date Due date
Processing time
ri di
pim
23
MILP Optimization Model
itasktimestartts
otherwise
munittoitaskif
x iim 




0
1
Mmrdpx
Iix
Iixpdts
rtsts
xC
iiii
Ii
imim
Mm
im
Mm
imimii
ii
Ii Mm
imim







 



 
}{min}{max
1
..
min Cost processing
Earliest start
Latest start
Assign to only one unit
Redundant constraint
24
Sequencing tasks in each unit
trueareyORythentruexANDxIf
unitgivenonitaskbeforeitaskifyLet
iiiimiim
ii
'''
' '1
imiiii ptststhenyIf  '' 1
MmiiIiixxyy miimiiii
 ,',',1'''
',',)1( '' iiIiiyMxptsts iiim
Mm
imii  
Big-M Constraint
0},1,0{},1,0{ '  iiiim tsyx
MILP
CPLEX 6.5
3 tasks, 2 units 0.04 sec
12 tasks, 3 units 926 sec
20 tasks, 5 units 18,000 sec
25
Short Term Scheduling Multistage Plants
Stage I II III IV
¬ Individual customer orders
0 Due
date 1
Due
date 2
Due
date 3
Due
date NO
...
Production
Horizon
(ICI)
Pinto, Grossmann (1995)
26
Given:
¬ Product demands and deadlines
¬ Topology of the plant
¬ Processing times of orders in units
¬ Set-up times
Determine:
¬ Assignment of orders to units
¬ Timing of operations of units
Objective Minimize Earliness
Deliver as close as possible to deadline
Just-in-time
Short Term Scheduling Problem
27
¬ All data are deterministic and fixed over the time horizon of interest.
¬ Set-up times are only equipment dependent.
¬ Batch sizes are fixed parameters.
¬ Each order must be processed by exactly one unit per stage (No splitting).
¬ No resource constraints considered
¬ Unlimited intermediate storage between stages
Parameters
di due date of order i
SUj set-up time in unit j
Tij processing time of order i in unit j
Assumptions
28
Tsjk starting time in unit j during time slot k
Tejk finishing time in unit j during time slot k
Tsiiil starting time for order i in stage l
Teiiil finishing time for order i in stage l
Wijkl 0-1 variable that assigns order i stage l to unit j slot k
.
.
.
Order
1
2
NO
1 2 3
1 2
1 2
Unit 2
Unit NU
time
Time Slot
Set-up Processing time
Unit 1
.
.
.
Representation and Variables
29
MILP Model
Assignment
Wijkl
kSLj

j
  1 i,l Si
Wijkl
lSi

i
  1 j, k SLj
Every order i, stage l
Every unit j, slot k
Tejk  Tsjk 1 j, k SLj  K j 
 iiilil LSliTsiTei   ,1
TeiiLi
 di i Due date
Unit slots
Order stages
Timing
  j
i Sl
jijijkljkjk SLkjSUpWTsTe
i
 
,
  i
j SLk
jijijklilil SliSUpWTsiTei
j
  
,
End/Start Unit
End/Start Order
30
MILP Model
Time Matching
jkilijkl TsiTsiWIf 1
  ijjkilijkl SlSLkjiTsTsiWM  ,,,1
  ijjkilijkl SlSLkjiTsTsiWM  ,,,1
Big-M
Other
j
i Sl
lijk
i Sl
ijkl SLkjWW
ii
  
 ,,1
Objective: Minimize Earliness
iiL
i
iTeihMax  Maximize end times order last stage L
symmetry breaking
31
Reformulation Time matching constraints :
  ijjkilijkl SlSLkjiTsTsiWM  ,,,1
  ijjkilijkl SlSLkjiTsTsiWM  ,,,1
i
j k
ijkl
j k
jkijklil SliTsWTsi   ,
jjk
i l
ijkljk SLkjTs   ,
ijijklijkl SlSLkjiWU  ,,,.0 
jjkjk SLkjyU  ,.
¬ Fewer constraints
¬ Tighter LP relaxation
Alternative formulation:
• Multiply and perform exact linearization
• Disaggregated variables and apply assignment constraints
)( jkilijkl TsTsW 
ijkl
Reformulation
32
Heuristic
1. Determine optimal sequence for each unit independently
Apply single machine scheduling method
2. Enforce order in unit slots, but not requiring use of all slots
1 5 2
1 3 5 2 4 6
empty slots
Unit j Optimal sequence
for all 6 slots
If orders 1, 5, 2
assigned unit j
Actual sequence 1, 5, 2
Preordering has effect of fixing many Wiljk to zero
33
STEP 1. Minimize In-Process time (residence time)
Determine assignments
Overestimation of set-up times
MILP
- Zero gap
- Interior point method
Algorithm (with preordering)
A A B C
A A B C
LP
-Feasibility guaranteed from step 1
-Bound on optimum easily determined
-
STEP 2. Minimize Earliness
Fixed assignment
Eliminate unnecessary set-up times
34
STBS- CAPD Software
Visual Basic Interface (Valli, 1998)
Example: 25 units, 8 orders
Solves in few seconds!
35
Assignments of orders to units
36
Optimal Sequencing Multistage Plants ZW policy
M Stages
NB
Batches
Given NB Batches with processing times pij
and sequence dependent changeover times τimj
Find optimal sequence that minimizes Cycle Time
Key observation: can define sequences in terms of slacks
Birewar, Grossmann (1990)
37
5
2
3
1
5
3
A B
(a) Sequence A - B
5
2
3
1
5
3
A B
(b) Slack times with zero clean-up times
SL = 1
SL = 0
SL = 1
AB1
AB2
AB3
(c) Slack times with clean-up times
SL = 0
SL = 0
SL = 1
AB1
AB2
AB3
5
2
3
1
5
3
A B
Slack Determination
2
2
1
2
38
1 2
3
4
5
Asymmetric Traveling Salesman Problem
ATSP
1
0
il
if batchi followed by batchl
y
otherwise

 

39
Cycle time stage 1
1 1,...il
l
y i NB 
1 1,...il
i
y l NB 
Only one out
Only one in
il
NB
i
NB
l
il
NB
i
i ySLpCT   

1 1
1
1
1
40
Subtours may occur
1
2
3
4
,
1 ,il
i Q i Q
Let B set batches Q subset of batches
y Q B Q
 
     
Above Q = {1,2}, Q = {3,4}
41
1 1,...il
l
y i NB 
1 1,...il
i
y l NB 
1 ,il
i Q i Q
y Q B Q
 
     
0,1ily 
Integer Program ATSP
il
NB
i
NB
l
il
NB
i
i ySLpCT   

1 1
1
1
1min
42
Aggregation Model
Consider ni batches for product i, i=1, NP
Let NPRim number batches product i followed by product m
1 1
1 1 1
min
NP NP NP
i i im im
i i m
CT n p SL NPR
  
   
1,...im i
m
NPR n i NP 
1,...im m
i
NPR n m NP 
1 1,ii iNPR n i NP  
0,1,2,..iNPR 
Can be solved as LP treating NPRi  0 (as continuous)
CYCLE http://newton.cheme.cmu.edu/interfaces
43
A B
C D
4
3
3
3
2 5
Example
4 products, 20 batches
nA = 7
nB = 5
nC = 3
nD = 5
Solution from LP
Eg NPRBA = 3
NPRAA = 4
44
3
A B
C D
4
3
3
3
3
A B
C D
3
3
3
3
B
D
2 2
+
B -> D -> B -> D -> B
A
4
B -> D -> B -> D -> B
A -> A -> A-> A-> A
+
C -> D -> B -> A -> C -> D -> B -> A -> C -> D
B -> D -> B -> D -> B
A -> A -> A-> A-> A
Loop Breaking Procedure
45
Multipurpose Plants
Given:
• the time horizon
• the available units and storage tanks, and their capacities
• the available utilities (steam, cooling water)
• the production recipe (mass balance coefficients, utility requirements)
• the prices of raw materials and final products
Consider: Arbitrary topology
Flows (no fixed batch size)
Different transfer/Intermediate Storage Policies
Resource Constraints
Determine
• the sequence and the timing of tasks taking place in each unit
• the batch size of tasks (i.e. the processing time and the allocated resources)
• the amount of raw materials purchased and final products sold
46
State Task Network (STN) (Kondili, Pantelides, Sargent, 1993)
S1 S2Heat
Reaction1 Separation
Reaction 3
S3
S5
S4
S7
S6
Reaction2
1h
1h
3h
2h
2h
0 1 2 3 4 5 6 Time (h)
Reactor 1
Reactor 2
Reactor 3
Column
Reaction 2
Reaction 3
Separation
Reaction 1Heating
Note: Related
Resource
Task Network (RTN)
47
Discrete-time STN Model (1)
Variables:
Wijt = 1 if unit j starts processing task i at the beginning of time period t; 0 otherwise.
Bijt = Amount of material which starts undergoing task i in unit j at the beginning of period t.
Sst = Amount of material stored in state s, at the beginning of period t.
Uut = Demand of utility u over time interval t.
pij = 3
Task i starts at
t=2 in unit j
Wij2 = 1, Bij2  0
Wijt = 0, Bijt = 0, t2
2 3 4 5
T1
T2
T3
0 1 2 3 4 5 6 7 8 t (hr)
Allocation Constraints:
tjW
jIi
ijt ,1 
  tjIiWMW jijtij
Ii
pt
tt
jti
j
ij
,,11
'
1
'
''  


48
iijijtijtijijt KjtiVWBVW  ,,maxmin
tsCST sst ,0 
Capacity limitations:
Objective Function:
 



H
t
utut
us
HsHs
H
t
st
R
st
s
H
t
st
D
st
s
UCSCRCDCZ
1
1,1,
11
max
Batch Units
Storage capacity
tsDRBBSTST stst
Kj
ijt
Ti
is
Kj
ptij
Ti
isstst
isi
is
s
,,1   


 
Material balances:
Inventories Produced Consumed Purchased/Sold
tuBWU
i
i
p
ijtuiijtui
Kjt
ut ,)(
1
0
 



 
 
tuUU utut ,0 max

Availability of utilities:
Linear function batch size
Discrete-time STN Model (2)
49
Reformulation
Previous MILP is expensive to solve
tjW
jIi
ijt ,1 
  tjIiWMW jijtij
Ii
pt
tt
jti
j
ij
,,11
'
1
'
''  


Culprit: big-M allocation constraints
tjW
i
j
pt
tt
tij
Ii
,1
1
ˆ
ˆ 


Solution: Replace by constraint below (Shah, 1992)
Fewer and tighter !
2 hr
3 hr
Unit j
Tasks iIj
t
50
Reaction 2
Reaction 1
Heating
Reaction 3
Separation
Product 1
Feed A Hot A
Int BC
Feed B
Feed C
Impure C
Int AB
Product 2
Classical Kondili Example
MILP
72 0-1 variables
179 continuous variables
250 constraints
STN
2003 CPLEX 7.5: 0.45 sec, 22 nodes, IBM-T40
1 2 3 4 5 6 7 8 9 10
Heating
Reaction 1
Reaction 2
Reaction 3
Separation
Heater
Reactor 1
Reactor 2
Reactor 1
Reactor 2
Reactor 1
Reactor 2
Still
52 20 52
80
50
56
80
50 50
80
50
80
50
130
Optimal Schedule
1987 Kondili’s B&B: 908 sec, 1466 nodes, Vax-8600
1992 Shah’s B&B: 119 sec, 419 nodes, SUN Sparc
STN http://newton.cheme.cmu.edu/interfaces
51
• Main idea
 Treat the production recipe as a set of (tasks) that transform a set of
resources into another set
• Tasks, set I
 e.g. Fill, Heat, Mix, Store, React, etc.
 Represented as a rectangle
• Resources, set R
 e.g. equipment, material, utilities, equipment state, material location
 Represented as a circle
Compact Equations: Resource balances
Resource Task Network
Pantelides (1994)
Castro et al. (2001, 2004)
52
ReactionA
B
Reactor
C
1.0
0.7
0.3
Pack_D11
Rate=0-5.5714
Int1
Line3
PD11
S1
S2
T1_R1
Duration= 2 h
T1_R4
Duration= 2 h
R1
R4
T2_R4
Duration= 2 h
T2_R1
Duration= 2 h
S4
T3_R3
Duration= 4 h
T4_R2
Duration= 2 h
S5
S6S3
0.6
0.4
0.6
0.4
R2
T4_R3
Duration= 2 h
R3
T3_R2
Duration= 4 h
Legend:
Discrete interaction:
Continuous interaction:
Examples of RTNs
53
• Model entities
 Variables
 Ni,t- assigns the start of task i to time point t (binary variable)
 i,t- amount of material processed by task i at time point t (nonnegative
continuous variable)
 Rr,t- excess amount of resource r at time point t (nonnegative continuous
variable)
 Parameters (related to RTN structure)
 Amount of resource r consumed/produced by task i at a time  relative to
the start of the task
– i,r,- usually linked to equipment resources and N
– i,r,- usually linked to material resources and 
– + sign indicates production, - indicates consumption
Discrete-time RTN formulation
54
• Derive the RTN and model parameters for the following
production recipe
 Consider a reaction task i, that lasts 5 hours. It converts
material A to B. It is carried out in a reactor. It uses 0.25
kg/s of steam per t of material being processed during the
first hour. Then it used 2 kg/s of cooling water per t of
material being processed until the end of the operation
 Assume time intervals of one hour: =1 h
Example RTN Discrete Model
55
Resource balances
Resource limits
Capacity constraints
MILP Model
TtRrNRRR tr
Ii
tiirtiirttrtrtr
i
  

,)( ,
0
,,,,,,11,1
0
,


 
TtRrRR r,tr,t  ,0 max
TtIiVNVN r
Rr
rititir
Rr
riti
EQ
i
EQ
i
 

,max
,,,,
min
,,,  
56
• Nonzero parameters
 Reactor: i,R,0=-1; i,R,5=1
 Materials: i,A,0=-1; i,B,5=1
 Utilities: i,S,0=-0.25; i,S,1=0.25; i,CW,1=-2; i,CW,5=2
Reaction
Duration=5 h
A B
RS CW
0.25 2
RTN model and parameters
57
Time Representations
T1
T2
T3
1
2
32
0 1 2 3 4 5 6 7 8 t (hr)
3
2T1
T2
T3
Event-Based Representation
2 hr
1.5 hr
3 hr
Interval = 0.5 hr
Discrete Time Representation
T1
T2
T3
0 1 2 3 4 5 6 7 8 t (hr)
• Fixed time points
• Large size
• Constant processing times
Continuous Time Representation II
Continuous Time Representation I
0 1 2 3 4 5 6 7 8 t (hr)
T1
T2
T3
0 1 2 3 4 5 6 7 8 t (hr)
T1
T2
T3
• Small size
• Variable proc. Times
• Unknown time points
niWsHTTs innin  ,)1(
Postulate no of points
Iterative scheme for optimal
niWsHTTs innin  ,)1(
58
Continuous-time STN Model I (Maravelias, Grossmann, 2003)
1. Common mixed continuous-time representation  Fewer time points
0 1 2 3 4 5 6 7 8 t (hr)
T1
T2
T3
• If produce ZW-state finish at time point
• Else finish at or before time point
2. Unit-task decoupling and New Assignment Constraints  Fewer binaries
(Ierapetritou, Floudas, 1998)
4. Addition of New Valid Inequalities  Tighter LP Relaxation
3. Utility Constraints
RI1
RI2
RII
0 2 4 6 8 t (hr)
0 2 4 6 8 t (hr)
CWMAX
CW
R2-40
R2-46.4
R1-40 R1-49.6 R1-40
R4-72 R3-40 R3-60.8
(kg/min)
40
20
59
Continuous-time STN Model II
Zsjn = 1 if a task in I(j) starts in unit j at time point n
Zpjn = 1 if a task in I(j) is being processed in unit j at time point n
Zfjn = 1 if a task in I(j) finishes in unit j, at or before time point n
Wsin = 1 if task i starts at time point n
Wpin = 1 if task i is being processed at time point n
Wfin = 1 if task i finishes at or before time point n
Assignment Constraints
jnjn ZpZs 
If a task is assigned to start in unit j at time point n, then
equipment j at time point n is not processing any other task
Logic Condition:
njWsZs in
jIi
jn 

,
)(
njWfZf in
jIi
jn 

,
)(
njZfZsZp
nn
jn
nn
jnjn   
,
'
'
'
'
0 2 3 … n-1 n
0 2 3 … n-1 n
Reaction Reaction 1 Reaction 2Reaction Reaction 1 Reaction 2
Task-Unit Decoupling: Define new tasks
njWfWs
jIi nn
inin   
,1)(
)( '
''
iWfWs
n
in
n
in  
njWs
jIi
in 
,1
)(
njWf
jIi
in 
,1
)(
iWfi  00
iWsN  0||
Integer assignment
constraints
60
A
WsA2
WfA4
Tn=Ts 0 2 6 8 10
n 1 2 3 4 5
D 0 6 0 0 0
Tf 0 8 8 8 8
A
Tn Time that corresponds to time point n (i.e. start of period n; finish of period n-1)
Tsin Start time of task i that starts at time point n
Tfin Finish time of task i that starts at time point n
Din Duration of task i that starts at time point n
Timing Constraints
Continuous-time STN Model III
niTTs nin  ,
ni
TfTf
D
Ws
DTsTf
BsD
Ws
inin
in
in
ininin
iniiin
in




























,,0
1

ni
TfTf
Wf
ZWiTTf
ZWiTTf
Wf
inin
in
nin
nin
in






















,,
,
,
1
niBsWsD iniiniin  ,
niWsHDTsTf inininin  ,)1(
niWsHDTsTf inininin  ,)1(
niTTs nin  ,
niWfHTTf innin  ,)1(1
niZWiWfHTTf innin  ),()1(1
niWsHTfTf ininin   ,1
niDTfTf ininin   ,1
MIP Constraints (big-M)
61
S3
40%
60%
75%
S1
S2 S4
BO
A,S3,4=5
BO
A,S4,4=15
BsA2=BfA4=20
BI
A,S1,2=8
BI
A,S2,2=12
25%
Batch Size Constraints and Mass Balances
niWsBBsWsB in
MAX
iinin
MIN
i  ,
niWfBBfWfB in
MAX
iinin
MIN
i  ,
)(,, iSIsniBsB inis
I
isn   )(,, iSOsniBfB inis
O
isn  
1,
)()(
1,   
 nsBBSSSS
sIi
I
isn
sOi
O
isnnssnsn
nsCS ssn  ,
Utility Constraints
nriBsWsR inirsinir
I
irn  ,,
nriBfWfR inirsinir
O
irn  ,,
nrRRRR
i
I
irn
i
O
irnrnrn    ,11
nrRR MAX
rrn  ,
RI1
RI2
RII
0 2 4 6 8 t (hr)
0 2 4 6 8 t (hr)
CWMAX
CW
R2-40
R2-46.4
R1-40 R1-49.6 R1-40
R4-72 R3-40 R3-60.8
(kg/min)
40
20
WsA2, BsA,2 WfA4, BfA2
A
CW
Continuous-time STN Model IV
62
Continuous-time STN Model V
Addition of new valid inequalities  Tighter LP relaxation
DA1 DB1 DA2 DB2 DA3 DB3
1 2 3 H
 

)( jIi n
in jHD
DA1 DB1 DA2 DB2 DA3 DB3
1 2 3 H
DA1 DB1 DA2 DB2 DA3 DB3
1 2 3 H
  

)( '
' ,
jIi
n
nn
in njTHD
 
 

)(
'
'
' ,)(
jIi
nini
nn
ini njTBfWf 
Smaller Bs’
Lower Production
Lower Profit

STN http://newton.cheme.cmu.edu/interfaces
63
MILP Formulation
Novel Tightening Constraints
Utility Constraints
Novel Assignment Constraints
njWfWs
jIi nn
inin   
,1)(
)( '
''
iWfWs
n
in
n
in  
niBsWsD iniiniin  ,
niWsHDTsTf inininin  ,)1(
niWsHDTsTf inininin  ,)1(
niTTs nin  ,
niWfHTTf innin  ,)1(1
niZWiWfHTTf innin  ),()1(1
niWsBBsWsB in
MAX
iinin
MIN
i  ,
niWfBBfWfB in
MAX
iinin
MIN
i  ,
niBfBpBpBs inininin   ,11
)(,, iSIsniBsB inis
I
isn  
)(,, iSOsniBfB inis
O
isn  
1,
)()(
1,   
 nsSSSPBBSS snsn
sIi
I
isn
sOi
O
isnnssn
nriBsWsR inirsinir
I
irn  ,,
nriBfWfR inirsinir
O
irn  ,,
nrRRRR
i
I
irn
i
O
irnrnrn    ,11
 
 )( '
' ,
jIi
n
nn
in njTHD
 
 )(
'
'
' ,)(
jIi
niin
nn
iin njTvdBffdWf
Finish time of task i
Mass balances

s
ssnSSZ max
64
Example
T1 T2 T3 T4 T5
T7 T8
T6
T9 T10
F1 S1 S2 INT1 S3
P1
P2
WS
P3
F2 S5 INT2
S4
ADD
S6
0.95
0.05 0.1
0.9 0.5
0.5
0.98
0.02
U2
U1
U3
U4
U5 U6
Unlimited Storage
Finite Storage
No Intermediate Storage
Zero-Wait
Cooling Water
Low Pressure Steam
High Pressure Steam
65
Results
U1
U2
U3
U4
U5
U6
0 2 4 6 8 10 12 t (hr)
T1 T1 T1
T2T2 T2
T3 T3 T3
T4
T5
T4
T7
T8
T9
T10
T5
0
10
20
30
40
50
0 2 4 6 8 10 12
CW-MAX HPS-MAX CW LPS
Z = $13,000
3067 Constraints
180 Binary Variables
1587 Continuous Variables
LP Relaxation 19,500
CPU s (CPLEX 7.5) 62.8
Nodes 2,107
66
|T| Binary
variables
Total
variables
Constraints RMIP MIP CPUs Nodes
5 440 511 873 154.17 184 1748 328357
Multistage multiproduct plant: Total earliness minimization.
CPLEX 11.1 on Intel Core2 Duo T9300 @2.5 GHz, Windows Vista
|T| Binary
variables
Total
variables
Constraints RMIP MIP CPUs Nodes
29 710 2103 1433 Infeasible Infeasible 0.27 -
57 1535 4272 2777 207 207 0.47 0
142 3978 10795 6857 192 192 20.0 0
283 8034 21619 13625 184 184 54.7 0
Discrete-time
Continuous-time
Was 45,520 s with CPLEX 10.2 on Pentium 4, 3.4 GHz
Progress in Discrete time makes Continuous less Pressing
Castro (2008)
67
Continuous multistage plants
•••
Stage 1 Stage 2 Stage M
Product
1
2
NP
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Cyclic schedules (constant demand rates, infinite horizon)
Intermediate storage
Given :
N Products
Transition times (sequence dependent)
Demand rates
Determine :
PLANNING
Amount of products to be produced
Inventory levels
SCHEDULING
Cyclic production schedule
Sequencing
Lengths of production
Cycle time
Objective :
Maximize Profit = + Sales of products - inventory costs - transition costs
Pinto, Grossmann (1996)
68
Optimal length of cycle determined largely
by transition and inventory costs
2001000
0
100
200
300
400
500
Length cycle (hrs)
$/hr
sales of products
profit
transition costs
inventory costs
Critical to model properly inventory levels and transition times
Optimal Trade-offs
69
a) Assignments of products to slots and vice versa
iy
k
ik  1
ky
i
ik  1
Assumptions :
1. Each product is processed in the same sequence at each stage
2. Each stage consists of a single production line
3. The schedule is cyclic
time
Stage 1
Stage 2
Stage M
k = 1 k = 2 k = NP
k = 1 k = 2 k = NP
k = 1 k = 2 k = NP
•••
•••
•••
•••
Transition
Processing
Time Slot
Binary variables for assignments
yik =
1 product i assigned to slot k
0 otherwise
Basic ideas :
a. NP products
b. NP time slots at each stage
MINLP Model (1)
70
b) Definition of transition variables
kjiyyz jkikijk   ,11
c) Processing rates, mass balances and amounts produced
mkiTpppWp ikmimikm  
1...111   MmkiWpWp ikmimikm 
mkTpW kmkmkm  
treated as continuous
MILP model
MINLP Model (2)
d) Timing constraints
mkiyUTpp ik
T
imikm  0
mkTppTp
i
ikmkm  
mkTsTeTp kmkmkm 
mNPkzTeTs
i j
ijkijmkmmk    1...111 

i j
ijij zTs 1111 
1...11   MmkTsTs kmkm
1...11   MmkTeTe kmkm
mzTpTc
k i j
ijkijmkm 







  


Cycle time
Processing time
Transitions
ijkz
71
e) Inventory levels for intermediates
  1...1,min 1   MmkI0TsTsTpI1 kmkmkmkmkmkm 
I2km  km  km1km1 max 0,Tekm  Tskm1  I1km k m  1... M 1
I3km  km1km1 min Tekm1  Tekm,Tpkm1  I 2km k m  1... M 1
0  I1km  Imaxkm k m  1... M 1
0  I2km  Imaxkm k m  1... M 1
0  I3km  Imaxkm k m  1... M 1
Imaxkm  Ipikm
i
 k m
Ipikm  Uim
I
yik  0 i k m  1... M
Tskm Tekm
Tpkm
Tskm+1 Tekm+1
Tpkm+1
Tskm Tekm
Tpkm
Tskm+1 Tekm+1
Tpkm+1
Tpkm Tpkm+1
Tskm+1 - Tskm Tekm+1 - Tekm
time time
Inventory
level
Inventory
level
stage m
stage m+1
I0km
I1km I2km
I3kmI0km
I1km
I3km
I2km
MINLP Model (3)
Inventories: Case 1 Case 2
72
f) Demand constraints
iTcdWp i
k
ikM 
MINLP Model (4)
Note: Linear
g) Objective function : Maximize Profit
Profit  pi
WpikM
Tck

i
 INCOME
 Ctrij
zijk
Tck

j

i
 TRANSITION COST
 Cinvim
Ipikm
Tcm

k

i

INTERMEDIATE
INVENTORY COST

1
2
Cinvfi piM 
WpikM
Tc




k

i
 TppikM
FINAL
INVENTORY COST
Note: Nonlinear
Non-differentiable MINLP
73
min {f1(x), f2(x)} = - max {-f1(x), -f2(x)} = f1(x) - max {0, f1(x)-f2(x)}
Handling Non-differentiabilities
Option 1: Smooth Approximation
 
f (x)2  2
2

f(x)
2
  max 0, f(x) Replace by Balakrishna, Biegler (1992)
0    f (x)  U1 1 y 
0    U2y
Option 2: Mixed-integer approach Raman, Grossmann (1991)
  max 0, f(x) Replace by
   f(x) for f(x) > 0, and   0 for f(x) < 0
 y = 1,  = f(x) for f(x) > 0, and y=0,  = 0 for f(x) < 0
Option 2 is superior due to errors introduced with option 1
74
time (h)
time (h)
Intermediate
storage (ton)
Stages 1-2
Intermediate
storage (ton)
Stages 2-3
10
20
10
20
A C B E HF D G
stage 1
stage 2
stage 3
cycle time = 675 hrs
Optimal solution Profit = $6609/h - 47% improvement
MINLP model 448 binary 0-1 variables, 2050 continuous variables, 3010 constraints
Example 3 stages, 8 products, 3
DICOPT (CONOPT/CPLEX): 38.2 secs
MULTISTAGE http://newton.cheme.cmu.edu/interfaces
75
Refinery Scheduling and Blending
crude-oil
marine vessels
storage tanks
charging
tanks crude dist.
units
other prod.
units
comp. stock
tanks blend
headers
finished
product
tanks
shipping points
crude-oil blending
gasoline blending
product delivery
fractionation and
reaction processes
crude-oil unloading
STANDARD REFINERY SYSTEM
CRUDE OIL UNLOADING AND
BLENDING PRODUCTION UNIT SCHEDULING
PRODUCT SCHEDULING AND
BLENDING
gasoline can yield 60-70%
of refinery’s profit !!
•Production logistics •Production quality
(scheduling) (blending)
Multiple product demands
Inventory and pumping constraints
Resource allocation
Timing of operations
Logistic and operating rules
Variable product recipes
Product specifications
Complex correlations for
product properties
• Motivation
• Modeling issues
• Problem statement
• Proposed optimization approach
• Product property prediction
• Integrated model
Discrete MILP formulation
Continuous MILP formulation
• Treatment of infeasible solutions
• Numerical results
76
Problem statement
i’
i’’
B2
blenders product
tanks
component
tanks
min/max product specifications
- prmin
p,k1 ≤ prp,k1,t ≤ prmax
p,k1
- prmin
p,k2 ≤ prp,k2,t ≤ prmax
p,k2
…
- prmin
p,kn ≤ prp,kn,t ≤ prmax
p,kn
component
properties
- pri’’,k1
- pri’’,k2
…
-- pri’’,kn
- pri,kn
p
i
i’
i’’
B3
B1
p’ p’
p’’
GIVEN:
•Scheduling horizon
•Components, Products
•Storage tanks, Blend headers
•Component properties, stocks and supplies
•Product specifications, stocks and demands
•Min/Max flowrates and concentrations
•Correlations for predicting product properties
•Operating rules
THE GOAL IS TO DETERMINE:
•Allocation of resources
•Inventory levels in tanks
•Component concentrations in each product
•Volume of each product
•Pumping rates
•Production and storage tasks timing
MAXIMIZE PRODUCTION PROFIT
REQUIRES SIMULTANEOUS SCHEDULING AND BLENDING
• Motivation
• Modeling issues
• Problem statement
• Proposed optimization approach
• Product property prediction
• Integrated model
Discrete MILP formulation
Continuous MILP formulation
• Treatment of infeasible solutions
• Numerical results
77
Proposed optimization approach
fi’’,t
fi’,t
fi,t
FI
i’’,p,t
FI
i’,p,t
FI
i,p,t
FP
p,t
i’
i’’
B2
blenders product
tanks
component
tanks
p
i
i’
i’’
B3
B1
p’
p’
p’’
• Linear approximations for product properties
0 Due
date 1
Due
date 2
Due
date 3
Due
date NO
...
Production
Horizon
Product
Due Dates
D1 D2 D3
D4
time
DISCRETE TIME FORMULATION
CONTINUOUS TIME FORMULATION
• MILP multiperiod optimization method
• Discrete or continuous time domain representation
• Discrete decisions for resource allocation and operating rules
• Iterative procedure for improving predictions
• Integrated production logistics and quality specifications
• Variable recipes and min/max component concentrations
• Motivation
• Modeling issues
• Problem statement
• Proposed optimization approach
• Product property prediction
• Integrated model
Discrete MILP formulation
Continuous MILP formulation
• Treatment of infeasible solutions
• Numerical results
Product
Due Dates
D1 D2 D3
D4
time
T1 T2 T3 T4 T5 T6 T7 T8 T9
SLOTS
Sub-interval
78
Product property prediction
86
87
88
89
90
91
92
0 0.2 0.4 0.6 0.8 1
Component 'A' volume fraction
property
Non-linear correlation linear volum. average linear volum. average + bias
Property value
Comp A: 92.1
Comp. B: 86.1
Correction factor ‘bias’ = 0.24
BLEND
40% COMPONENT ‘A’
60% COMPONENT ‘B’
tkpvprpr I
tpi
i
kitkp ,,,,,,,  
tkpFprFprFpr P
tpkp
I
tpi
i
ki
P
tpp,k ,,,
max
,,,,,
min
 
tkpFbiasFpr
FprFbiasFpr
P
tptkp
P
tpkp
I
tpi
i
ki
P
tptkp
P
tpp,k
,,,,,,
max
,
,,,,,,,
min

 
•Volumetric average
tpiFFv I
tpi
P
tp
I
tpi ,,,,,,, 
•Non-linear flowrate-composition matching
Linear approximation for
non-linear product properties
Volumetric product property correlation (Linear)
• Motivation
• Modeling issues
• Problem statement
• Proposed optimization approach
• Product property prediction
• Integrated model
Discrete MILP formulation
Continuous MILP formulation
• Treatment of infeasible solutions
• Numerical results
79
Iterative procedure
Generate initial guess recipes
Compute non-linear properties for all products and time slots
Compute correction factors 'bias'
Solve MILP model using correction factors
Compute non-linear properties for all products and time slots
Fix product recipes for products on-spec
All products
on-spec or
iteration limit
reached
Solution for the Scheduling
and Blending problem
component volume fractions in blends
component volume fractions in blends
NO
YES
• Motivation
• Modeling issues
• Problem statement
• Proposed optimization approach
• Product property prediction
• Integrated model
Discrete MILP formulation
Continuous MILP formulation
• Treatment of infeasible solutions
• Numerical results
80
Integrated scheduling and blending model
Discrete time domain representation Product
Due Dates
D1 D2 D3
D4
time
tnA B
t
p
tp  ,
tpFF P
tp
i
I
tpi ,,,, 
tpiFrcpFFrcp P
tppi
I
tpi
P
tppi ,,,
max
,,,,
min
, 
tpAserateFAserate tpttp
P
tptpttp ,)()( ,
max
,,
min

tiFefinvV
ttp
I
tpitii
I
ti ,
',
',,,  
tiVVV i
I
tii ,max
,
min

tpddFinvV
td
pd
tt
p
tpp
P
tp ,
'
',,   
tpVVV p
P
tpp ,max
,
min

tkpFprFprFpr P
tpkp
I
tpi
i
ki
P
tpp,k ,,,
max
,,,,,
min
 
tkpFprFbiasFprFpr P
tpkp
I
tpipk
I
tpi
i
ki
P
tpp,k ,,,
max
,,,,,,,,
min
 
dpddF
dd
dp
dt
P
tp ,'
'
,,   
  






t p
I
tpi
i
i
P
tpp FcFpMax ,,,   






i t
I
tii
p t
P
tpp
t p
I
tpi
i
i
P
tpp VspVspFcFpMax ,,,,,
ALLOCATION
COMPOSITION
CONCENTRATION,
MATERIAL BALANCE AND
STORAGE CAPACITY
VOLUMETRIC FLOW-RATE,
MATERIAL BALANCE AND
STORAGE CAPACITY
SPECIFICATION
PRODUCT DEMANDS OBJECTIVE FUNCTION
MAXIMIZE PROFIT
• Motivation
• Modeling issues
• Problem statement
• Proposed optimization approach
• Product property prediction
• Integrated model
Discrete MILP formulation
Continuous MILP formulation
• Treatment of infeasible solutions
• Numerical results
C
O
M
P
O
N
E
N
T
S
P
R
O
D
U
C
T
S
81
Integrated scheduling and blending model
Continuous time domain representation Product
Due DatesD1 D2 D3
D4
time
T1 T2 T3 T4 T5 T6 T7 T8 T9
tpSErateFAhrateSErate ttp
P
tptppttp ,)()1()( max
,,
minmin

tpAhrateF tpp
P
tp ,,
max
, 
tiFEfiniV
ttp
I
tpitii
I
ti ,
',
',,,  
tiFSfinvV
ttp
I
tpitii
I
ti ,'
',
',,,  
tiVVV i
I
tii ,' max
,
min

p
dd
pd
dt
p
tpp
P
tp dpddFinvV ,'
'
',,   
tpVV P
tpp ,' ,
min

tpAlSE tpptt ,,
min

tAhSE
p
tptt   ,
tSE tt   1
dt TtdS  1
dt TtdE 
d
p
tp
B
t
p
tp TttdAnA    )1,(,,1,
FLOWRATES
STORAGE CAPACITY
MATERIAL
BALANCE
DURATION
SEQUENCING
SUB-INTERVALS
BOUNDS
ALLOCATION
tnA B
t
p
tp  ,
tpFF P
tp
i
I
tpi ,,,, 
tpiFrcpFFrcp P
tppi
I
tpi
P
tppi ,,,
max
,,,,
min
, 
ALLOCATION
COMPOSITION
CONCENTRATION
tiVVV i
I
tii ,max
,
min

tpddFinvV
td
pd
tt
p
tpp
P
tp ,
'
',,   
tpVVV p
P
tpp ,max
,
min

tkpFprFprFpr P
tpkp
I
tpi
i
ki
P
tpp,k ,,,
max
,,,,,
min
 
tkpFprFbiasFprFpr P
tpkp
I
tpipk
I
tpi
i
ki
P
tpp,k ,,,
max
,,,,,,,,
min
 
STORAGE CAPACITY
SPECIFICATION
MATERIAL BALANCE
OBJECTIVE FUNCTION
MAXIMIZE PROFIT
• Motivation
• Modeling issues
• Problem statement
• Proposed optimization approach
• Product property prediction
• Integrated model
Discrete MILP formulation
Continuous MILP formulation
• Treatment of infeasible solutions
• Numerical results
C
O
M
P
O
N
E
N
T
S
P
R
O
D
U
C
T
S
S
L
O
T
S
SLOTS
82
Treatment of infeasible solutions
Penalty for preferred recipe deviations
Penalty for min/max specification deviations
Penalty for component shortages
tpiFDFrcp tpi
R
tpi
P
tpip ,,,,,,, 

tpiFDFrcp tpi
R
tpi
P
tpip ,,,,,,, 

 


t p i
R
tpi
R
ip
R
tpi
R
ip DpltyDpltyPenalty ,,,,
tkpFprDFprop I
tpi
i
ki
S
tpk
P
tpkp ,,,,,,,,
min
,  

tkpFprDFprop I
tpi
i
ki
S
tpk
P
tpkp ,,,,,,,,
max
,  

 


t p k
S
tpk
S
pk
S
tpk
S
pk DpltyDpltyPenalty ,,,,,,
tiSFeprodiniV ti
ttp
I
tpitii
I
ti ,,
',
',,,  
 
t i
ti
SH
i SpltyPenalty ,
Relax some hard constraints that can generate an infeasible solution
• Motivation
• Modeling issues
• Problem statement
• Proposed optimization approach
• Product property prediction
• Integrated model
Discrete MILP formulation
Continuous MILP formulation
• Treatment of infeasible solutions
• Numerical results
83
Examples and numerical results
12 STORAGE TANKS
3 BLEND HEADERS
8-DAY TIME HORIZON
6 DUE DATES
• Motivation
• Modeling issues
• Problem statement
• Proposed optimization approach
• Product property prediction
• Integrated model
Discrete MILP formulation
Continuous MILP formulation
• Treatment of infeasible solutions
• Numerical results
i’
i’’
B2
blenders product
tanks
component
tanks
G2
C3
C4
C5
B3
B1
G1
G3
C2
C7
C6
C1
C8
C9
0 Day 1
8 days
Day 3 Day 4 Day 5 Day 7 Day 8
0
Discrete time formulation
0
Continuous time formulation
SLOTS
84
Examples and numerical results
COMPONENT
C1 C2 C3 C4 C5 C6 C7 C8 C9
COST($/BBL) 24.00 20.00 26.00 23.00 24.00 50.00 50.00 50.00 50.00
PROD.RATE
(MBBL/DAY)
15.00 33.00 20.00 14.00 18.00 10.00 0.00 0.00 0.00
INITIALSTOCK
(MBBL)
48.00 20.00 75.00 22.00 30.00 54.00 12.00 20.00 15.00
MIN.STOCK
(MBBL)
5.0 5.0 5.0 5.0 5.0 5.0 0.0 0.0 0.0
MAX.STOCK
(MBBL)
100.00 250.00 250.00 100.00 100.00 100.00 100.00 100.00 100.00
PROPERTY
P1 93.00 104.00 104.90 94.80 87.40 118.00 87.30 95.20 93.30
P2 92.10 91.90 91.90 81.50 86.10 100.00 79.50 85.80 81.90
P3 0.7069 0.8692 0.6167 0.6731 0.6540 0.7460 0.7460 0.8187 0.7339
P4 3.60 1.00 100.00 94.90 91.50 15.00 0.00 1.30 34.30
P5 16.30 4.50 100.00 97.10 95.50 100.00 0.00 6.00 57.10
P6 94.30 93.50 100.00 100.00 100.00 100.00 0.00 93.90 95.90
P7 35.00 22.70 351.10 117.10 93.00 31.30 63.30 16.00 52.40
P8 0.007 0.00 0.00 0.009 0.0002 0.05 0.0063 0.1805 0.057
P9 0.00 88.60 0.00 2.30 0.20 0.00 43.98 65.30 21.30
P10 0.00 0.1 61.30 48.90 36.00 0.00 1.04 0.60 33.30
P11 0.00 3.30 0.00 1.10 0.10 0.00 3.33 0.90 0.80
P12 0.00 0.00 0.00 0.00 0.00 15.40 0.00 0.00 0.00
9 Components
12 properties
Min/Max stock
Initial stock
Flowrates
Cost
• Motivation
• Modeling issues
• Problem statement
• Proposed optimization approach
• Product property prediction
• Integrated model
Discrete MILP formulation
Continuous MILP formulation
• Treatment of infeasible solutions
• Numerical results
85
Examples and numerical results
8 Linear and 4 non-
linear properties
Min/Max component
concentrations
Min/Max storage
capacities
Multiple product
demands
PRODUCT
G1 G2 G3
PRICE ($/BBL) 31.00 31.00 31.00
REQUIREMENT
(MBBL)
MIN MAX LIFT MIN MAX LIFT MIN MAX LIFT
DAY 1 (MBBL) 5.00 45.00 10.00 5.00 50.00 12.00 5.00 50.00 10.00
DAY 3 (MBBL) 5.00 50.00 25.00
DAY 4 (MBBL) 5.00 45.00 25.00 5.00 50.00 23.00
DAY 5 (MBBL)
DAY 7 (MBBL) 5.00 45.00 30.00
DAY 8 (MBBL) 5.00 45.00 10.00 5.00 50.00 22.00
INVENTORY
(MBBL)
5.00 150.00 5.00 150.00 5.00 150.00
RATE
(MBBL/DAY)
5.00 45.00 5.00 50.00 5.00 50.00
RECIPE (%) MIN MAX MIN MAX MIN MAX
C1 0.00 22.00 0.00 25.00 0.00 25.00
C2 0.00 20.00 0.00 24.00 0.00 24.00
C3 2.00 10.00 0.00 10.00 0.00 10.00
C4 0.00 6.00 0.00 23.00 0.00 23.00
C5C 0.00 25.00 0.00 25.00 0.00 25.00
C6 0.00 10.00 0.00 10.00 0.00 10.00
C7 0.00 100.00 0.00 0.00 0.00 0.00
C8 0.00 100.00 0.00 0.00 0.00 0.00
C9 0.00 100.00 0.00 0.00 0.00 0.00
SPECIFICATIONS MIN MAX MIN MAX MIN MAX
P1 95.00 98.00 98.00
P2 85.00 88.00 88.00
P3 0.72 0.775 0.72 0.775 0.72 0.775
P4 20.00 50.00 20.00 48.00 22.00 50.00
P5 46.00 71.00 46.00 71.00 46.00 71.00
P6 85.00 85.00 85.00
P7 45.00 60.00 45.00 60.00 60.00 90.00
P8 0.015 0.015 0.008
P9 42.00 42.00 42.00
P10 18.00 18.00 18.00
P11 1.00 1.00 1.00
P12 2.70 2.70 2.70
3 Products
Price
• Motivation
• Modeling issues
• Problem statement
• Proposed optimization approach
• Product property prediction
• Integrated model
Discrete MILP formulation
Continuous MILP formulation
• Treatment of infeasible solutions
• Numerical results
86
Ex. 1: Blending problem (fixed scheduling)
INITIAL RECIPE
C2
20
C3
3.598
C4
6
C6
7.246
C7
C8
16.156 C1
22
C5
25
ITERATION 1
C1
22
C2
20
C3
2
C4
4.938
C5
25
C6
10
C7
5.181
C8
1.114
C9
9.767
ITERATION 2
C1
22
C2
20
C3
2
C4
4.847
C5
25
C6
10
C7
5.198
C8
0.958
C9
9.997
C1
C2
C3
C4
C5
C6
C7
C8
C9
Convergence to the preferred recipe for product G1
MIN.
SPEC.
INITIAL
RECIPE
ITERATION 1 ITERATION 2 MAX
SPEC.
BLEND COST
($/BBL)
29.30 29.97 29.99
QUALITY Value Value approx. Value Approx.
P1 95.00 97.891 97.898 97.7737 97.893 97.8928
P2 85.00 88.417 88.470 88.0493 88.438 88.4335
P3 0.72 0.7418 0.7325 0.7324 0.775
P4 20.00 34.455 35.418 35.409 50.00
P5 46.00 46.00 50.80 50.833 71.00
P6 85.00 96.460 91.797 91.780
P7 45.00 60.00 60.00 60.00 60.00
P8 0.0378 0.0152 0.0150 0.0150 0.0150 0.015
P9 28.458 22.974 22.923 42.00
P10 14.256 15.974 16.005 18.00
P11 0.8964 1.00 1.00 1.00
P12 1.1223 1.5684 1.5488 1.5687 1.5684 2.70
Objective: Find product recipes that satisfy all specifications at minimum cost
• Motivation
• Modeling issues
• Problem statement
• Proposed optimization approach
• Product property prediction
• Integrated model
Discrete MILP formulation
Continuous MILP formulation
• Treatment of infeasible solutions
• Numerical results
87
Ex. 2: Blending and scheduling (limited production)
G1
0
40
80
120
160
200
240
0 1 2 3 4 5 6 7 8T ime
Objective: Make scheduling and blending decisions that maximize profit
Min/max production for each time interval
Product specifications
Operating conditions
Demands at specific due dates
Discrete time formulation Continuous time formulation
Profit: $1,611.21
Operates blenders at full capacity for
2.67 days less than discrete time
G2
G3
G1
G2
G3
Mbbl Mbbl
EVOLUTION OF COMPONENT STOCKS
0
40
80
120
160
200
240
0 1 2 3 4 5 6 7 8T ime
88
Ex. 3: Blending and scheduling (flexible production)
0
40
80
120
160
200
240
0 1 2 3 4 5 6 7 8T ime
0
40
80
120
160
200
240
0 1 2 3 4 5 6 7 8T ime
Objective: Maximize profit of the refinery
Product specifications
Operating conditions
Demands at specific due dates
Profit: $2,448.05 (increased by 52%)
Operates blenders at full capacity for
2.6 days less than discrete time
Increase production by 36%
Discrete time formulation Continuous time formulation
G1
G2
G3
G1
G2
G3
Mbbl Mbbl
EVOLUTION OF COMPONENT STOCKS
89
Computational results
Modest number of 0-1 variables
Very low CPU time requirements
EXAMPLE DISCRETIME CONTINUOUSTIME
Binary, Continuous,
Constraints
Objective CPU Binary, Continuous,
Constraints
Objective CPU
2 9,757,679 1,611.21 0.26 9,841,832 1,611.21 0.26
3 18,757,679 2,448.05 0.23 18,841,832 2,448.05 0.26
4 9,757,679 1,234.49 0.23 9,841,832 1,234.49 0.26
• Motivation
• Modeling issues
• Problem statement
• Proposed optimization approach
• Product property prediction
• Integrated model
Discrete MILP formulation
Continuous MILP formulation
• Treatment of infeasible solutions
• Numerical results
Seconds on Pentium IV (2.4 GHz) with GAMS 21.2 / CPLEX 8.1
Multiperiod Refinery Planning Model
• LP planning models (PIMS)
– Fixed yield model
– Swing cuts model
• NLP planning models
– Aggregate distillation model
– Fractionation index (FI) model
90
Alattas, Palou-Rivera, Grossmann (2012)
Goal: Develop nonlinear multiperiod planning
FI Model (Fractionating Index)
– FI Model is crude independent
• FI values are characteristic of the column
• FI values are readily calculated and updated from refinery data
– Avoids more complex, nonlinear modeling equations
– Generates cut point temperature settings for the CDU
– Adds few additional equations to the planning model
91
92
Multiperiod Refinery Planning Problem
• Time horizon with N time periods
• Inventories and changeovers of M crudes
• Given: refinery configuration
Determine
• What crude oil to process and in which time period?
• The quantities of these crude oils to process?
• The sequence of processing the crudes?
93
MINLP Model
Max Profit= Product sales minus the costs of product inventory, crude oil,
unit operation and net transition times.
s.t. Performance CDU (FI Model) each crude, each time period
Mass balances, inventories each crude, each time period
Sequencing constraints (Traveling Salesman, Erdirik, Grossmann (2008)
0-1 variables to assign crude in period t
0-1 variables to indicate position of crude in sequence
0-1 variables to indicate where cycle is broken
Continuous variables flows, inventories, cut temperatures
94
Example: 5 crudes, 4 weeks
Produce fuel gas, regular gasoline, premium gasoline, distillate, fuel oil and treated residue
Optimal solution ($1000’s)
Profit 2369.0
Sales 22327.9
Crude oil cost 16267.5
Other feedstock 44.6
Inventory cost 126.3
Operating cost 3246.5
Transition cost 274.0
MINLP model: 13,680 variables (900 0-1), 15,047 constraints
Nonlinear variables: 28%
GAMS/DICOPT 23.3.3 (CONOPT/CPLEX): 37 seconds (94% NLP, 6% MIP)
95
Simultaneous Cyclic Scheduling and Control
of a Multiproduct CSTR Reactor
Given is a CSTR reactor
N products
Lower bounds demand rates
Dynamic model for reactions
Determine cyclic schedule
Cycle time
Sequence
Amounts to produce
Lenghts transitions and their dynamic profile
Objective: Maximize total profit
Terrazas, Flores , Grossmann (2008)
MIDO Optimization model
96
Scheduling and Control Formulation
97
Scheduling Formulation
(Pinto’s cyclic scheduling model)
98
Simultaneous Approach for solving
Dynamic Optimization Problems Problem
• Few discrete decisions
• Can exhibit instability due to:
• Open loop models
• Choice of control laws
• Can add stability
constraints
• Requires simultaneous approach
• Large, nonlinear NLP
sub-problem
• NLP expense >> MILP
expense
99


K
1k
iki0 z(t)zz(t) k
x x
x
x
element i
k = 1
k = 2
Differential variables
Continuous
´
´ xxxx


K
1k
ik(t)uu(t) k
Algebraic and
Manipulated
variables
Discontinuous
´ ´
Simultaneous Formulation
Collocation on Finite Elements
to
tfCollocation pts
· ·
·· ·
·
· ·
·
·
·
·
Polynomials ·
Mesh points
hi
´ ´ ´ ´´ ´´ ´´ ´ ´ ´
100
Control Formulation
101
Optimal sequence
ADECB
Cycle time = 124.8 h
Profit = $7889/h
Results
102
Technology 1
Technology I
Technology 1
Technology I
DMK
lpt
PUjpt
Q
PL
jkpt
Q
WH klpt
Suppliers
Plants
j=1,…,J
Warehouses
k=1,…,K
Markets
l=1,…,L
Wijpt
INVkpt
CPL
ijt
CWH
kt
Model = Plant location problem (Current et al.,1990) plus
Long range planning of chemical processes (Sahinidis et al., 1989)
• Three-echelon supply chain
• Different technologies available at plants
• Multi-period model
Multiperiod MILP formulation supply chain
Guillen, Grossmann (2008)
103
Notation
104
1. Mass balances
Plants
Warehouses
Markets
2. Capacity Expansion Plants
Plants
Binary variable (1 if technology i is expanded in plant j in period t)
Multiperiod MILP formulation (I)
105
Transport
links
Multiperiod MILP formulation (II)
Binary variable (1 if warehouse k is expanded in period t)
Warehouses
3. Capacity Expansion Warehouses
Binary variable (1 if there is a transport link between
plant j and warehouse k in period t)
Binary variable (1 if there is a transport link between
warehouse k and market l in period t)
4. Transportation links
106
5. Objective function
Summation of discounted cash
flows
Net Earnings
Fixed cost
Multiperiod MILP formulation (III)
107
Case study (I)
Problem :
• Redesign a petrochemical SC to fulfill future forecasted demand
Case study
Existing plant
Potential plant
108
One step oxidation of
ethylene
Cyanation / oxidation
of ehtylene
Acetaldehyde
Acrylonitrile
Ethylene
Ammoxidation of
propylene
Propylene
Phenol
HCN
HCl
H2SO4
O2
NH4
Hydration of
propylene
Reaction of benzene
and propylene
Isopropanol
Oxidation of cumene
Benzene
Cumene
Acetone
0.67
0.38 1.35
1
0.61
By-product
0.05
0.83
1.20
0.76
H2SO4 NaOH Others
0.010.010.01
1
Active carbon 0.01
1
0.43 0.15
1
1
0.900.17
0.83
0.83
0.40
1
O2
Technologies in each Plant Site
109
Multiperiod MILP Models:
• Number of 0-1 variables: 450
• Number of continuous variables: 4801
• Number of equations: 4682
• CPU* time: 0.33 seconds
*Solved with GAMS 21.4 / CPLEX 9.0 (Pentium 1.66GHz)
Potential Supply Chain
Horizon: 3 yrs
110
NPV = $132 million
Optimal Solution
111
Multiperiod Production Planning LP Model
i
jt jt jt jt
j J t T j J t T
it ijt jt jt jt jt
i I j JM t T j J t T j J t T
Max PROFIT S P
W V SF
 
  
   
      
 
  
 
    
TtJMjJjIiWW iitijijijt  ,',,'
TtJMjIiQW iitijt  ,,
TtJj
dSd
aPa
U
jtjt
L
jt
U
jtjt
L
jt







,
, 1 ,
j j
j t ijt jt jt ijt jt
i O i I
V W P V W S j J t T
 
       
TtJjSdSF jt
U
jt jt
 ,
TtJjSFSF U
jtjt  ,0
TtJjVV U
jtjt  ,
, , , 0jt jt it jtS P W V 
Mass balance process
Capacity
Mass balance chemicals
Shortfalls
Purchases
Sales
Limit inventory
Fixed price purchases
What if prices not fixed
but given by contracts?
112
. Discount after d
jt amount.
TtJRjPPCOST d
jt
d
jt
d
jt
d
jt
d
jt  ,2211

TtJRj
P
P
y
P
P
y
d
jt
d
jt
d
jt
d
jt
d
jt
d
jt
d
jt
d
jt




























 ,
00
0
2
1
2
2
1
1

TtJRjPPP d
jt
d
jt
d
jt  ,21
Disjunctive model
TtJRjPPCOST d
jt
d
jt
d
jt
d
jt
d
jt  ,2211

TtJRjPPP d
jt
d
jt
d
jt  ,21
TtJRjPPP d
jt
d
jt
d
jt  ,12111
TtJRjyP d
jt
d
jt
d
jt  ,0 111

TtJRjyP d
jt
d
jt
d
jt  ,212

TtJRjUyP d
jt
d
jt
d
jt  ,0 22
TtJRjyyy d
jt
d
jt
d
jt  ,21
}1,0{, 21
d
jt
d
jt yy
MILP model (Convex hull)
Price drops after amount 
113
Bulk discount
TtJRj
P
PCOST
y
P
PCOST
y
b
jt
b
jt
b
jt
b
jt
b
jt
b
jt
b
jt
b
jt
b
jt
b
jt
b
jt
b
jt




























 ,
0
2
2
1
1




Disjunctive Model
TtJRjPPCOST b
jt
b
jt
b
jt
b
jt
b
jt  ,2211

TtJRjPPP b
jt
b
jt
b
jt  ,21
TtJRjyP b
jt
b
jt
b
jt  ,0 11

TtJRjyUPy b
jt
b
jt
b
jt
b
jt
b
jt  ,222

TtJRjyyy b
jt
b
jt
b
jt  ,21
}1,0{, 21
b
jt
b
jt yy
MILP Model (Convex Hull)
Price for total amount
drops after amount 
114
Fixed-duration contracts
TtJRj
P
P
P
PCOST
PCOST
PCOST
y
P
P
PCOST
PCOST
y
P
PCOST
y
l
jt
l
tj
l
jt
l
tj
l
jt
l
jt
l
tj
l
jt
l
tj
l
tj
l
jt
l
tj
l
jt
l
jt
l
jt
l
jt
l
jt
l
tj
l
jt
l
jt
l
tj
l
jt
l
tj
l
jt
l
jt
l
jt
l
jt
l
jt
l
jt
l
jt
l
jt
l
jt
l
jt












































































 ,
3
2,
3
1,
3
2,
3
2,
1,
3
1,
3
3
2
1,
2
1,
2
1,
2
2
1
1
1












Disjunctive Model
TtJRjPCOST
LCp T
lp
tj
lp
j
l
jt
p
t
   
,


TtJRjPP
LCp T
lp
tj
l
jt
p
t
   
,


LCpTTTTtJRjyUPy p
t
plp
j
l
j
lp
tj
lp
j
lp
j  ,,,  
TJRjyy l
j
LCp
lp
j 
 ,
}1,0{lp
jy  , }3,2,1{LC
MILP Model
Price gradually drops if
amount  purchased fixed
number of months
115
Case
0-1
variables
Cont.
variables
Constraints
CPU
time [s]
Time
periods
Solution
[105 $]
1 0 12,606 13,416 0.18 10 18,085.95
2 6,160 40,606 46,002 0.95 10 22,073.06
Computational Results
0
100
200
300
400
500
600
700
800
900
1000
1 2 3 4 5 6 7 8 9 10
Time periods
Qauntities[kton]
fixed Ethy
fixed Acet
fixed Naph
discount Ethy
discount Acet
discount Naph
bulk Ethy
bulk Acet
bulk Naph
length Ethy
length Acet
length Naph
Purchases raw materials
0
10000
20000
30000
40000
50000
60000
70000
80000
90000
PROFIT REVENUES PURCHASES OPERATION STORAGE*100 SHORTFALLS
1E5$
Without Contracts
With Contracts
Comparison without/with contracts
116
Computational Results
ILOG CPLEX Dec 1, 2008 22.9.2 LNX 7311.8080 LX3 x86/Linux
Cplex 11.2.0, GAMS Link 34
MIP Presolve eliminated 44425 rows and 38571 columns.
Reduced MIP has 909 rows, 1367 columns, and 3267 nonzeros.
Reduced MIP has 270 binaries, 0 generals, 0 SOSs, and 0 indicators.
Implied bound cuts applied: 3
Flow cuts applied: 40
Gomory fractional cuts applied: 15
MIP Solution: 22073.060039 (959 iterations, 21 nodes)
MODEL STATISTICS
BLOCKS OF EQUATIONS 47 SINGLE EQUATIONS 46,002
BLOCKS OF VARIABLES 30 SINGLE VARIABLES 40,606
NON ZERO ELEMENTS 85,033 DISCRETE VARIABLES 6,160
S O L V E S U M M A R Y
MODEL MULT OBJECTIVE NPV
TYPE MIP DIRECTION MAXIMIZE
SOLVER CPLEX FROM LINE 878
**** SOLVER STATUS 1 NORMAL COMPLETION
**** MODEL STATUS 1 OPTIMAL
**** OBJECTIVE VALUE 22073.0600
RESOURCE USAGE, LIMIT 0.470 10000.000
ITERATION COUNT, LIMIT 1437 1000000
117
Decomposable MILP Problems
A
D1
D3
D2
Complicating Constraints
max
1,..
{ , 1,.. , 0}
T
i i i
i i
c x
st Ax b
D x d i n
x X x x i n x

 
   
x1 x2 x3
Lagrangean decomposition
complicating
constraints
D1
D3
D2
Complicating Variables
A
x1 x2 x3y
1,..
max
1,..
0, 0, 1,..
T T
i i
i n
i i i
i
a y c x
st Ay D x d i n
y x i n


  
  

Benders decomposition
complicating
variables
Note: can reformulate by defining
1i iy y 
and apply Lagrangean decomposition
Complicating constraints
118
 MILP optimization problems can often be modeled as problems with
complicating constraints.
 The complicating constraints are added to the objective function (i.e.
dualized) with a penalty term (Lagrangean multiplier) proportional to the
amount of violation of the dualized constraints.
 The Lagrangean problem is easier to solve (eg. can be decomposed) than the
original problem and provides an upper bound to a maximization problem.
Lagrangean Relaxation (Fisher, 1985)
119
n
Zx
eDx
bAx
cxZ



 max
bAx Assume that is complicating constraint
n
LR
Zx
eDx
AxbucxuZ


 )(max)(
0where u Lagrange multipliers
(IP)
Assume integers only
Easily extended cont. vars.
Lagrangean Relaxation (Fisher, 1985)
120
0uwhere
( )LRZ u Z
n
Zx
eDx
bAx
cxZ



 max
n
LR
Zx
eDx
AxbucxuZ


 )(max)(
bAx 
ZuZLR )( 0)(  Axb
0u
This is a relaxation of original problem because:
i) removing the constraint relaxes the original feasible space,
ii) always holds as in the original space since
and Lagrange multiplier is always .
Lagrangean Relaxation Yields Upper Bound
Complicating Constraint

Lagrangean Relaxation
121
n
LR
Zx
eDx
AxbucxuZ


 )(max)(Relaxed problem:
min ( )
0
D LRZ Z u
u


Lagrangean dual:
)( 1uZLR
)( 2uZLR
)( 3uZLR
Z
n
Zx
eDx
bAx
cxZ



 maxOriginal problem:
DZdual
gap
Lagrangean Relaxation
122
 
n
xu
D
Zx
eDx
AxbucxZ




 )(maxmin
00
min ( )
0
D LRZ Z u
u


n
LR
Zx
eDx
AxbucxuZ


 )(max)(Relaxed problem:
Lagrangean dual:
Combined Relaxed and
Lagrangean Dual Problems:
Graphical Interpretation
123
 
n
xu
D
Zx
eDx
AxbucxZ




 )(maxmin
00
 n
ZxeDxx  ,
 n
ZxbxAx  ,
Optimization of Lagrange multipliers (dual) can be interpreted as optimizing
the primal objective function on the intersection of the convex hull of non-
complicating constraints set and the LP relaxation of the
relaxed constraints set .
0
),(
max






x
ZxeDxConvx
bAx
cxZ
n
D
Nice Proof
Frangioni (2005)
Graphical Interpretation
124
 eDxx 
Conv n
ZxeDxx  ,
 bAxx 
cx
ZLP
ZD
Z
0
),(
max






x
ZxeDxConvx
bAx
cxZ
n
D
dual
gap
Graphical Interpretation
125
Lagrangean relaxation yields a bound at least as tight as LP relaxation
 eDxx 
Conv  n
ZxeDxx  ,
 bAxx 
cx
ZLP
ZD
Z
( ) ( )D LR LPZ P Z Z u Z  
Theorem
126
 Lagrangean Decomposition is a special case of Lagrangean Relaxation.
 Define variables for each set of constraints, add constraints equating different variables
(new complicating constraints) to the objective function with some penalty terms.
n
Zx
eDx
bAx
cxZ



 max
n
n
Zy
Zx
yx
eDy
bAx
cxZ







 max
New complicating
constraints n
n
LD
Zy
Zx
eDy
bAx
xyvcxvZ






 )(max)(
Dualize x = y
Lagrangean Decomposition (Guignard & Kim, 1987)
127
n
n
LD
Zy
Zx
eDy
bAx
xyvcxvZ






 )(max)(
n
LD
Zx
bAx
xvcvZ


 )(max)(1
n
LD
Zy
eDy
vyvZ


 max)(2
Subproblem 1 Subproblem 2
 )()(min 21
0
vZvZZ LDLD
v
LD 

Lagrangean
dual
Lagrangean Decomposition (Guignard & Kim, 1987)
128
 Lagrangean decomposition is different from other possible relaxations
because every constraint in the original problem appears in one of the
subproblems.
Subproblem 1
Subproblem 2
Graphically: The optimization of Lagrangean multipliers can be interpreted as
optimizing the primal objective function on the intersection of the convex hulls of
constraint sets.
Notes
129
Z
Graphical Interpretation
Subproblem 1
 eDxx 
 bAxx 
cx
ZLP
ZLR
Conv n
ZxeDxx  ,
Conv n
ZxbxAx  ,
ZLD
Subproblem 2
Note: ZLR, ZLD refer to dual solutions
130
 The bound predicted by “Lagrangean decomposition” is at least as tight as
the one provided by “Lagrangean relaxation” (Guignard and Kim, 1987)
 For a maximization problem
LPLRLD ZZZPZ )(
Solution of Dual Problem
ZLR
or ZLD
u or 
minimum
Piecewise linear
=>
Non-differentiable
Theorem
131
1,...
max{ ( ) , } max { ( )}k k
x k K
cx u b Ax Dx d x X cx u b Ax

      
Assuming Dx  d is a bounded polyhedron (polytope) with extreme points
1,2...k
x k K , then
How to iterate on multipliers u?
0 01,..
min max{ ( )} min{ ( ), 1,.. }k k k k
u uk K
cx u b Ax cx u b Ax k K 
 
      
=>
Dual problem
Cutting plane approach
1
min
. . ( ), 1,..
0,
k k
ns t cx u b Ax k K
u R



   
 
Kn = no. extreme points
iteration n
subgradient
Note: xk generated from max{cx + uk(b-Ax) subproblems
132
Update formula for multipliers (Fisher, 1985)
21
( )( ) /
[0,2]
k k LB k k k
k LD
k
u u Z Z b Ax b Ax
where



    

Subgradient ( )k k
s b Ax 
Steepest descent search 1k k k
u u s
 
Subgradient Optimization Approach
Note: Can also use bundle methods for nondifferentiable optimization
Lemarechal, Nemirovski, Nesterov (1995)
133
Solution of Langrangean Decomposition
Select MaxI, ε, ak
Set UB = +, LB= - 
Solve (RP’) to find v0
| ZLD - ZLB |<ε?
or k=MaxI?
Solve (P) with fixed binaries
or use heuristics: Obtain ZLB
Solve (P1) and (P2):
Obtain ZLD
k = k+1
Update uk
For k = 1..K
Return ZLB &
Current Solution
YES
NO
Iterative search in multilpliers of dual
Notes: Heuristic due to dual gap
Obtaining Lower Bound might be tricky
Remarks
1. Methods can be extended to NLP, MINLP
2. Size of dual gap depends greatly on
how problems are decomposed
3. From experience gap often decreases with
problem size.
Upper Bound
Lower Bound
134
Multisite planning with sequence dependent changeovers is
an integrated problem
Month 1 Month 2 Month n -1 Month n
Multi-site Network
Market 3
Market 2
Market 1
A
D B
C
Continuous
Processes
Production Cycle
Given:
• Network of production sites and markets
• Capacities in each plant for producing
different products (e.g. polymers)
• Forecasted demands
• All costs and product prices
Determine:
• Product assignment to sites
• Production and shipment volumes
• Inventory levels
• Sequence of production in each site
Objective: Maximize profit
Profit = Sales
- Operating costs - Inventory costs
- Distribution costs- Changeover costs
Production
Site 1
Production
Site 2
Production
Site n-1
Production
Site n
135
The solution coordinates sites and markets across time periods
A
B A BSite 1
Site 2 A
20 20
100 100
50
Site 1
Site 2
Market 1
Market 2
Site 1
Site 2
Market 1
Market 2
10
10
20
100
20
60
40
40
Month 1 Month 2
Changeover
time
Production
time
Inventory
Distribution
Sales
Month 1 Month 2
Changeovers
Inventories
Decrease Capacity
Increase Cost
136
Mathematical Model
 Objective: Maximize Profit
subject to
 Market constraints
• Balance of sales vs. shipments to markets
 Production constraints
• Capacity constraints: Limited capacity at each production sites
• Inventory constraints: Penalties for inventory over or under target
 Links across periods: a) Carry over inventories from last month
b) Changeover to first product in next month
• Time Balances: Task should not take longer than available time
• Sequencing Constraints: Traveling Salesman Problem Constraints
Source of complexity of the model: TSP constraints
137
Mathematical Model (MILP)
sk
t
i
ski
t
m
smi
t
si
t
si
t
si
t
xfzzz
finvinvp
,
1
,,
,,,,
1
,






  
m s t
tsmtsmtmtmtsts
fgxcxcprofit ,,,,,
2
,
2
,
1
,
1
m,tfx
s
tsmtm
  0,,,
2
Links across time periods
Objective Function
 



  



i s t
si
t
si
t
i k s t
ski
t
ski
t
ski
t
ski
t
m s
smi
t
smi
t
t i m s
si
t
si
t
si
t
mi
t
mi
t
tpCOP
zzzzzzCTR
f
penpsl
profit
,,
,,,,,,,,
,,,,
,,,,,
]
)([


Market Constraints

s
smi
t
mi
t fsl ,,,
tsfxJxJxJ
m
tsmtstststststs
,0,,1,
1
,
3
,
1
,
2
1,
1
,
1  
Sites
Variables
Market
Variables
Shipments
Shipments
Market
Variables
Site
Variables
Site
Variables
Site
Variables
Shipments
138
Mathematical Model (MILP)
si
t
si
t
si
t
si
t
si
t
si
t
yCAPp
tpCAPp
,,,
,,,


sisi
t
si
t
si
t
sisi
t
QUOTAinvpen
invQUOTApen
,,,
,,,


 
t
s
t
i
si
t
i
ski
t
ski
t
ski
t
k
kis
t
HTRTtp
zzzzzztrt




,
,,,,,,,

Capacity Constraints
Inventory
Time Balance
Sequencing












ik
k
sk
t
si
t
sii
t
sk
t
sii
t
sii
t
si
t
ski
t
ski
t
i k
ski
t
i
ski
t
sk
t
k
ski
t
si
t
yyz
yz
zy
zzz
zz
zy
zy
,,,,
,,,
,,,
,,,,
,,
,,,
,,,
1
1
si
t
k
ski
t
i
si
t
i
si
t
k
ski
t
si
t
i
ski
t
sk
t
xlzzz
xl
xf
zzxl
zzxf
,,,
,
,
,,,
,,,
1
1










tsyBxA tstststs
,e ts,,,,
1
,

Market
Variables
Product assignment
Variables
139
Decomposition strategies are required
Multisite production planning with sequence dependent changeovers integrates
functions but involves large-scale optimization problem
Computational
expense
Performance
(Economic Profit)
Problem size
More sites, markets, products and time periods
Decomposition strategies are required
Options: Benders, Lagrangean, Two - Level.
Problem can
become intractable
3 markets
3 sites
3 time periods
3 products
6 markets
3 sites
6 products
6 markets
6 sites
6 products
6 time periods
6 time periods
Solved in 1 s
Solved in 780 s
Not solved to
optimality in
10,000 s
982 cont. vars.
36 discrete vars.
1,042 constraints
5,437 cont. vars.
126 discrete vars.
4,984 constraints
10,621 cont. vars.
252 discrete vars.
9463 constraints
140
• Temporal and Spatial Lagrangean decompositions for multi-scale problem
Two types of Lagrangean decomposition
Simultaneous solution
of sites, markets across
time periods
Production
Sites
Markets
Time period 1 Time period 2
Production
Sites
Markets
Time period 1 Time period 2
Time periods
Solved
Indepen-
dently
Time periods
Solved
Indepen-
dently
Sites solved independentlyProduction
Sites
Markets
Time period 1 Time period 2
Markets solved independently
Spatial Decomposition
Temporal Decomposition
Full space solution
Which is better ?
141
Example 1: 3 sites, 3 markets, 3 months & 3 products
Price
[$/ton]
Operating
Cost
[$/ton]
Inventory
Cost
[$/ton]
Distrib.
Cost
[$/ton]
Product A 1.20 0.010 0.010x10-2 0.2
Product B 1.00 0.008 0.008x10-2 0.2
Product C 1.00 0.015 0.015x10-2 0.2
A B C
A - 100 | 0.2 200 | 0.4
B 100 | 0.2 - 100 | 0.2
C 200 | 0.4 100 | 0.4 -
Changeover Costs | Time
[$] | month fractionsPrices and Costs
Month 1 Month 3
Market 3
Market 2
Market 1
Production
Site 1
Production
Site 2
Production
Site 3
Month 2
Forecast for Market 3
0
50
100
150
200
250
300
350
400
450
500
Month 1 Month 2 Month 3
Tons
Product A
Product B
Product C
142
B
Example 1 - Output
B C BSite 1
Site 2
0.2
Site 1
Site 2
Market 1
Market 2
Month 1
Month 2
Month 2
Site 3
Market3
Site 3
Month 3
0.780.02 0.59 0.390.02
A
0.51 0.470.02
A
A
0.182 0.7980.02 0.133
A
0.8470.02
Profit: $ 2.576 million
143
10 20 30 40 50 60 70 80 90 100
2
2.5
3
3.5
x 10
4
Iteration
ObjectiveFunction[$]
Temporal vs. Spatial Decomposition
Temporal Lagrangean Subproblem
Feasible Solution (Temporal Decomposition)
Spatial Lagrangean Subproblem
Feasible Solution (Spatial Decomposition)
Example 2
Full
space
Temporal Spatial
Upper
Bound
28,820 27,970 31,026
Best
Feasible
Solution
27,373 26,838 27,322
Gap [%] 5 4 13
CPU time
[seconds]
10,000 + 804 5489
Temporal Spatial
Sum of LP multipliers 171 1176
Size: 6 Sites, 6 Market, 6 Months, 6 Products (10,621 cont. vars., 252 discrete vars., 9463 constraints)
Objectives: Compare computational performances of full space model, temporal and spatial decomposition
Upper Bounds
Lower Bounds
Temporal is superior
Selection criterion predicts better performance of the temporal decomposition
Numerical results confirm expected results
Temporal decomposition obtains better result than full space solution
Observations:
STvTw
 
144
Time
Safety Stock
Reorder Point
Order
placed
Lead
Time
InventoryLevel Replenishment
• Inventory System under Demand Uncertainty
 Total Inventory = Working Inventory (WI) + Safety Stock (SS)
 Estimate WI with Economic Order Quantity (EOQ) model
Stochastic Inventory System
145
Time
InventoryLevel
Average
Inventory
(Q/2)
Order quantity
(Q)
 F = Fixed ordering cost for each replenishment
 h = Unit inventory holding cost
Replenishment
Constant Demand
Rate = D
Economic Order Quantity Model
146
Total Cost
2
*
2
   
Q
h Q
D
F
Q
FD
h
Order Cost Curve
Order quantity Q
Annual Cost
Optimal
Order Quantity (Q*)
Minimum
Total Cost
Economic Order Quantity
(EOQ)
Economic Order Quantity Model
147
Time
Inventory Level
Lead Time
Order Quantity
(Q)
Reorder
Point
(r)
 When inventory level falls to r, order a quantity of Q
 Reorder Point (r) = Demand over Lead Time
Order
placed
Replenishment
(Q,r) Inventory Policy
148
Reorder
Point (r)
Time
InventoryLevel
Lead Time
Place
order
Receive
order
Safety Stock
Reorder Point = Expected Demand over Lead Time + Safety Stock
Stochastic Inventory = Working Inventory (EOQ) + Safety Stock
Stochastic Inventory Model
149
Safety Stock
(Service Level)
Lead time = L
Safety Stock Level
150* GD Eppen, “Effect of centralization in a multi-location newsboy problem”, Management Science, 1979, 25(5), 498
• Single retailer:
Retailer
Retailer
Retailer
Retailer
Retailer
• Centralized system:
 All retailers share common inventory
 Integrated demand
• Decentralized system:
 Each retailer maintains its own inventory
 Demand at each retailer is
Risk-Pooling Effect*
151
• Given: A potential supply chain
 Including fixed suppliers, retailers and potential DC locations
 Each retailer has uncertain demand, using (Q, r) policy
 Assume all DCs have identical lead time L (lumped to one supplier)
Suppliers RetailersDistribution
Centers
Problem Statement
152
• Objective: (Minimize Cost)
 Total cost = DC installation cost + transportation cost + fixed order cost
+ working inventory cost + safety stock cost
• Major Decisions (Network + Inventory)
 Network: number of DCs and their locations, assignments between
retailers and DCs (single sourcing), shipping amounts
 Inventory: number of replenishment, reorder point, order quantity,
neglect inventories in retailers
retailer
supplier
DC
Supplier RetailersDistribution Centers
Problem Statement
153
Annual EOQ cost at a DC:
ordering cost transportation cost Working inventory cost
v(x)= g + ax
EOQ cost
154
The optimal number of orders is:
The optimal annual EOQ cost:
Annual working inventory cost at a DC:
ordering cost transportation cost inventory cost
Convex Function of n
Working Inventory cost
155
• Demand at retailer i ~ N(i, 
i)
• Centralized system (risk-pooling)
• Expected annual cost of safety stock at a DC is:
where za is the standard normal deviate for which
Reorder
Point
(ROP)
Time
InventoryLevel
Lead Time
Safety Stock Cost for DCs
156
retailer
supplier
DC
Other Parameters and Variables
157
retailer
supplier
DC
DC – retailer transportation
Safety Stock
EOQ
DC installation cost
Supplier RetailersDistribution Centers
Assignments
Nonconvex INLP
INLP Model Formulation
158
• Small Scale Example
 A supply chain includes 3 potential DCs and 6 retailers
(pervious slide)
 Different weights for transportation (β) and inventory (θ)
β = 0.01, θ = 0.01 β = 0.1, θ = 0.01 β = 0.01, θ = 0.1
• Model Size for Large Scale Problem
 INLP model for 150 potential DCs and 150 retailers has 22,650 binary
variables and 22,650 constraints – need effective algorithm to solve it …
Illustrative Example
159
Non-convex MINLP
Avoid unbounded gradient
• Variables Yij can be relaxed as continuous variables (MINLP)
 Local or global optimal solution always have all Yij at integer
 If h=0, it reduces to an “uncapacitated facility location” problem
 NLP relaxation is very effective (usually return integer solutions)
Z1j Z2j
Model Properties
160
• MINLP Heuristic Method
 Solve the convex relaxation (MILP), using secant for convex envelope
 Use optimal value of X and Y variables as initial point, solve the reformulated
problem with an MINLP solver (BARON, Dicopt, etc.)
Convex
Relaxation
Algorithm 1 – MINLP Heuristic
161
Supplier RetailersDistribution Centers
• Lagrangean Relaxation (LR) and Decomposition
 LR: dualizing the single sourcing constraint:
 Spatial Decomposition: decompose the problem for each potential DC j
 Implicit constraint: at least one DC should be installed,
 Use a special case of LR subproblem that Xj=1
decompose by DC j
Algorithm 2 - Lagrangean Relaxation
162
Solve the reduced NLP to get UB
No
Initialization
Convergence or
iteration limit
Yes
Stop
Solve the | j | LR subproblem for Xj=1,
set Vj as the optimal obj. fun. value
Update
subgradient
Update LB, adjust step length
parameter, fix all the X variables
NoYes
LR Algorithm Flowchart
163
• Case 1: 33 retailers and DCs
 Each instance has the same number of potential DCs as the retailers
300
600
900
1200
1500
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
θ
ObjectiveFunctionValue
DICOPT, SBB, BARON, Lagrangean
0.01
0.1
1
10
100
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
θ
CPUTime(s)
BARON (global)
DICOPT (Algorithm 1)
SBB (Algorithm 1)
Lagrangean (Algorithm 2)
300
600
900
1200
1500
0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01
β
ObjectiveFunctionValue
DICOPT, SBB
BARON, Lagrangean
0.1
1
10
100
0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01
β
CPUTime(s)
BARON (global)
DICOPT (Algorithm 1)
SBB (Algorithm 1)
Lagrangean (Algorithm 2)
Computational Results
164
• Case 2: 88 ~150 retailers
 Each instance has the same number of potential DCs as the retailers
No.
Retailers
β θ
Algorithm 1 Algorithm 2
DICOPT
(CONOPT)
SBB
(CONOPT)
BARON
(global optimum)
BARON+CONOPT
Lagrangean
Obj. fun. Time (s) Obj. fun. Time (s) Obj. fun. Time (s) Obj. fun. Time (s)
33 0.001 0.1 398.64 0.22 398.64 0.20 398.64 53.31 398.64 15.8
33 0.001 0.5 580.46 0.23 580.46 0.22 580.46 74.27 580.46 17.9
33 0.001 1.0 728.21 0.17 728.21 0.17 728.21 39.14 728.21 15.85
33 0.001 5.0 1460.40 0.18 1460.40 0.20 1460.40 93.22 1460.40 37.28
33 0.003 0.1 770.26 0.23 770.26 0.27 734.60 75.67 734.60 42.79
88 0.001 0.1 935.02 20.89 935.02 20.94 867.55* > 10 hr 867.55 356.1
88 0.001 0.5 1386.28 42.16 1386.28 38.50 1295.02* > 10 hr 1230.99 322.54
88 0.005 0.1 2297.74 42.11 2297.74 42.16 2297.80* > 10 hr 2284.06 840.28
88 0.005 0.5 3082.19 42.35 3082.19 42.38 3022.67* > 10 hr 2918.3 934.85
150 0.001 0.5 2205.37 229.57 2205.37 228.31 1847.93* > 10 hr 1847.93 659.1
150 0.005 0.1 3689.71 397.88 3689.71 398.34 3689.71* > 10 hr 3689.71 3061.2
* Suboptimal solution obtained with BARON for 10 hour limit.
Computational Results
165
No.
Retailers
β θ
Lagrangean Relaxation (Algorithm 2) BARON (global optimum)
Upper
Bound
Lower
Bound
Gap Iter. Time (s)
Upper
Bound
Lower
Bound
Gap
88 0.001 0.1 867.55 867.54 0.001 % 21 356.1 867.55* 837.68 3.566 %
88 0.001 0.5 1230.99 1223.46 0.615 % 24 322.54 1295.02* 1165.15 11.146 %
88 0.005 0.1 2284.06 2280.74 0.146 % 55 840.28 2297.80* 2075.51 10.710 %
88 0.005 0.5 2918.3 2903.38 0.514 % 51 934.85 3022.67* 2417.06 25.056 %
150 0.001 0.5 1847.93 1847.25 0.037 % 13 659.1 1847.93* 1674.08 10.385 %
150 0.005 0.1 3689.71 3648.4 1.132 % 53 3061.2 3689.71* 3290.18 12.143 %
• Case 2: 88 ~150 retailers
 Each instance has the same number of potential DCs as
the retailers
* Suboptimal solution obtained with BARON for 10 hour limit.
Computational Results
Carnegie Mellon
166
Van Hentenryck (1988), Puget (1994), Hooker (2000)
Variables: Continuous, integer, boolean
Constraints:
Algebraic h(x) ≤ 0
Disjunctions [ A1x ≤ b1 ]  A2x ≤ b2 ]
Conditional If g(x) ≤ 0 then r(x) ≤ 0
Unusual Operators:
All different all different(x1, x2, ...xn)
Constraint (Logic) Programming

Carnegie Mellon
167
Constraint Programming
1. Declarative language with high level operators (OPL-ILOG)
2. Tree search: implicit enumeration
Depth first search
Lower bound: partial solution
Upper bound: feasible solution
3.Constraint propagation:
Domain Reduction
Reduction of bounds/discrete values:
a) Tighten bounds linear/monotonic functions
b)"edge-finding" for jobshop scheduling
Job i
Job j
Earliest Latest
Earliest Latest
Earliest Latest
Earliest Latest
{Job i before Job j} OR {Job j before Job i}
{Job j before Job i}
Carnegie Mellon
168
Constraint Programming Example
Problem
Find the order at which jobs A, B and C are sequenced on machine M
Job Processing Time Release Due
A 2 0 5
B 4 1 9
C 3 2 7
Carnegie Mellon
169
A1
A{1,2,3}
B{1,2,3}
C{1,2,3}
Job Processing Time Release Due
A 2 0 5
B 4 1 9
C 3 2 7
A2 A3
B1 B2 B3 B1 B2 B3 B1 B2 B3
C1
C2
C3
C 3
ABC
C2
ACB
Carnegie Mellon
170
A{1,2,3}
B{1,2,3}
C{1,2,3}
Job Processing Time Release Due
A 2 0 5
B 4 1 9
C 3 2 7
A1 A2 A3
B1 B2 B3 B1 B2 B3 B1 B2 B3
C1C2C3 C3 C2 C1
ABC ACB BAC CAB BCA CBA
Carnegie Mellon
171
A{1,2,3}
B{1,2,3}
C{1,2,3}
Job Processing Time Release Due
A 2 0 5
B 4 1 9
C 3 2 7
A must be 1st
A1 A2 A3
B2 B3 B1 B3 B1 B2
C1C2C3 C3 C2 C1
ABC ACB BAC CAB BCA CBA
Carnegie Mellon
172
A{1,2,3}
B{1,2,3}
C{1,2,3}
Job Processing Time Release Due
A 2 0 5
B 4 1 9
C 3 2 7
A must be 1st
C must be 2nd
B2 B3
C2C3
A1
ABC ACB
Carnegie Mellon
173
Job Processing Time Release Due
A 2 0 5
B 4 1 9
C 3 2 7
A must be 1st
C must be 2nd
A{1,2,3}
B{1,2,3}
C{1,2,3}
B3
C2
A1
ACB
Carnegie Mellon
174
Constraint vs. Mathematical Programming
Constraint Programming
 Fast algorithms for special problems
Computationally effective for highly constrained, feasibility and machine sequencing
problems
Not effective for optimization problems with complex structure and many feasible solutions
Mathematical Programming
 Intelligent search strategy but computationally expensive for large problems
 Does not exploit special structure
Computationally effective for optimization problems with many feasible solutions
Not effective for feasibility problems and machine sequencing problems
MAIN IDEA
Decompose problem into two parts
 Use MP for high-level optimization decisions
 Use CP for low-level sequencing decisions
Carnegie Mellon
175
Hybrid MILP/CP Models
Two classes of scheduling problems:
Multistage batch plants
Continuous time State Task Network
•Combine Constraint Programming (CP) with Mixed Integer
Linear Programming (MILP) to overcome combinatorial
explosion
•Two subproblems: assignment (MILP) and sequencing (CP)
Carnegie Mellon
176
Dvyx
vyxGts
xfM


,,
0),,(..
)(min:)2(
pmn
T
Rvyx
avCyBxA
aCvByAxts
xcM



,}1,0{,}1,0{
..
min:)1(
MILP/CP Hybrid Models
MILP:
CP:
Complicating rows
Complicating variables
(not in objective function)
Hybrid:
MILP (optimality)
CP (feasibility)
Jain, Grossmann (2001)
The picture can't be displayed.
Dvyx
Rvyx
vyxG
xx
aCvByAxts
xcM
pmn
T





,,
,}1,0{,}1,0{
0),,(
..
min:)3(
Carnegie Mellon
177
Theorem: If the MILP/CP decomposition method is applied to solve
problem (M3) with the above cuts, the method converges to the optimal
solution or proves infeasibility in a finite number of iterations.
Decomposition Hybrid Model
MILP
CP
No-good Cuts (weak)
Balas & Jeroslow (1972)
Carnegie Mellon
178
Job 1
Job 2
Job n
Time
Unit 1
Unit m
Time
Release date Due date
Processing time
Scheduling of parallel units (Single Stage)
(Jain and Grossmann, 2001)
Given: n jobs/orders (release dates, processing times, due dates)
m units (cost different for each unit)
Find schedule that minimizes cost and meets all due dates
Carnegie Mellon
179
Decomposition Strategy
Job 1
Job 2
Job 3
Machine 1
Machine 2
Machine 3
MILP
CP
Job 4
Job 5
Job 6
Assignment Sequencing
Carnegie Mellon
180
Hybrid Optimization Model
Mmrdpx
Iix
Iixpdts
rtsts
xC
iiii
Ii
imim
Mm
im
Mm
imimii
ii
Ii Mm
imim

 


 



 
}{min}{max
1
..
min
Assignment tasks to units: Mixed-integer linear programming




otherwise
munittoitaskif
xim
0
1
Carnegie Mellon
181
MmIimzthenxif iim  ,)()1(
IiDdurationiDstartiIiMz
MmIitsx
Iitrequiresi
pdurationi
Iipdstarti
Iirstarti
i
iim
z
z
zi
i
i
i
i






.,.;
,0},1,0{
.
.
.
Sequencing of tasks in each unit
Global constraint (implicit)
Constraint Programming
Carnegie Mellon
182
Decomposition Strategy
Separate problem into assignment and sequencing
problems
Assign
jobs
Sequence
jobs
Feasible?
Add cuts
Stop
YesNo
Fix assignments
Analyze solution
Find the minimum assignment
(production) cost MILP
Find a feasible sequence for
the chosen assignment CP
Carnegie Mellon
183
Cuts
No sequence can be found in machine 2 in the assignment
of is infeasible and can be cut out
The cuts also exclude large number of supersets
CP-1
CP-2
CP-3
due date
Cut out this assignment
OK
OK
Inf.
A B C
ED
F
3
2
1
(yD2 + yE2 ≤ 1)
  k
m
m
k
k
im
k
m
m
k
Ii
im
IBxiI
MmBx
k
m



,1
1Cuts for infeasible
assignments:
Carnegie Mellon
184
Results Test Problems
MILP: CPLEX 6.5
CP: ILOG Scheduler 4.4
SUN Ultra 60
Tasks Units MILP(s) CP(s) Hybrid (s)
3 2 0.04 0.01
7 3 0.31 0.04
12 3 926.3 3.84
15 5 1784.7 553.5
20 5 18,142.7
*
68,853.5
*
0.02
0.6
4.5
2.6
14.6
* Suboptimal Order magnitude reductions!
Carnegie Mellon
185
Effect of new data
Release dates, due dates and durations with arbitrary rational
numbers (Harjunkoski et al., 2002)
2 machines 3 machines 3 machines 5 machines 5 machines
3 jobs 7 jobs 12 jobs 15 jobs 20 jobs
Problem Set 1 Set 2 Set 1 Set 2 Set 1 Set 2 Set 1 Set 2 Set 1 Set 2
MILP 0.04 0.04 0.31 0.27 926.3 199.9 1784.7 73.3 18142.7 102672.3
2M, 3J 3M, 7J 3M, 12J 5M, 15J 5M, 20J
Problem Set 1 Set 2 Set 1 Set 2 Set 1 Set 2 Set 1 Set 2 Set 1 Set 2
Hybrid 0.00 0.01 0.51 0.02 5.36 0.03 0.64 0.92 36.63 4.79
CPU times from Jain and Grossmann (2001) (integer numbers)
CLP 0 0.02 0.04 0.14 3.84 0.38 553.5 9.28 68853.5 2673.9
Hybrid 0.02 0.01 0.52 0.02 4.18 0.02 2.25 0.04 14.13 0.41

Contenu connexe

Tendances

M.c.a.(sem iii) operation research
M.c.a.(sem   iii) operation researchM.c.a.(sem   iii) operation research
M.c.a.(sem iii) operation researchTushar Rajput
 
multi criteria decision making
multi criteria decision makingmulti criteria decision making
multi criteria decision makingShankha Goswami
 
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptxUNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptxMinilikDerseh1
 
Simulated Annealing
Simulated AnnealingSimulated Annealing
Simulated AnnealingJoy Dutta
 
Manufacturing Execution System
Manufacturing Execution SystemManufacturing Execution System
Manufacturing Execution SystemAnand Subramaniam
 
Genetic algorithms for shortest path routing
Genetic algorithms for shortest path routingGenetic algorithms for shortest path routing
Genetic algorithms for shortest path routingBala Narayanan
 
Genetic algorithm ppt
Genetic algorithm pptGenetic algorithm ppt
Genetic algorithm pptMayank Jain
 
Production module in erp
Production module in erpProduction module in erp
Production module in erpiymani
 
Computer Aided Process Planning (CAPP)
Computer Aided Process Planning (CAPP)Computer Aided Process Planning (CAPP)
Computer Aided Process Planning (CAPP)Bhushan Tawade
 
Cim lab manual (10 mel77) by mohammed imran
Cim lab manual (10 mel77)  by mohammed imranCim lab manual (10 mel77)  by mohammed imran
Cim lab manual (10 mel77) by mohammed imranMohammed Imran
 
Data-driven modeling: Lecture 01
Data-driven modeling: Lecture 01Data-driven modeling: Lecture 01
Data-driven modeling: Lecture 01jakehofman
 
Process planning approaches
Process planning approaches Process planning approaches
Process planning approaches chethan kumar
 
COMPUTER AIDED PROCESS PLANNING (CAPP)
COMPUTER AIDED PROCESS PLANNING (CAPP)COMPUTER AIDED PROCESS PLANNING (CAPP)
COMPUTER AIDED PROCESS PLANNING (CAPP)KRUNAL RAVAL
 
Linear programming graphical method (feasibility)
Linear programming   graphical method (feasibility)Linear programming   graphical method (feasibility)
Linear programming graphical method (feasibility)Rajesh Timane, PhD
 
Material Resource Planning
Material Resource PlanningMaterial Resource Planning
Material Resource PlanningBiswajit Ghosh
 

Tendances (20)

M.c.a.(sem iii) operation research
M.c.a.(sem   iii) operation researchM.c.a.(sem   iii) operation research
M.c.a.(sem iii) operation research
 
multi criteria decision making
multi criteria decision makingmulti criteria decision making
multi criteria decision making
 
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptxUNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
 
Simulated Annealing
Simulated AnnealingSimulated Annealing
Simulated Annealing
 
Manufacturing Execution System
Manufacturing Execution SystemManufacturing Execution System
Manufacturing Execution System
 
Optmization techniques
Optmization techniquesOptmization techniques
Optmization techniques
 
CAPP
CAPPCAPP
CAPP
 
Industrial Engineering
Industrial EngineeringIndustrial Engineering
Industrial Engineering
 
Genetic algorithms for shortest path routing
Genetic algorithms for shortest path routingGenetic algorithms for shortest path routing
Genetic algorithms for shortest path routing
 
Genetic algorithm ppt
Genetic algorithm pptGenetic algorithm ppt
Genetic algorithm ppt
 
Theory of constraints
Theory of constraintsTheory of constraints
Theory of constraints
 
JIT
JITJIT
JIT
 
Production module in erp
Production module in erpProduction module in erp
Production module in erp
 
Computer Aided Process Planning (CAPP)
Computer Aided Process Planning (CAPP)Computer Aided Process Planning (CAPP)
Computer Aided Process Planning (CAPP)
 
Cim lab manual (10 mel77) by mohammed imran
Cim lab manual (10 mel77)  by mohammed imranCim lab manual (10 mel77)  by mohammed imran
Cim lab manual (10 mel77) by mohammed imran
 
Data-driven modeling: Lecture 01
Data-driven modeling: Lecture 01Data-driven modeling: Lecture 01
Data-driven modeling: Lecture 01
 
Process planning approaches
Process planning approaches Process planning approaches
Process planning approaches
 
COMPUTER AIDED PROCESS PLANNING (CAPP)
COMPUTER AIDED PROCESS PLANNING (CAPP)COMPUTER AIDED PROCESS PLANNING (CAPP)
COMPUTER AIDED PROCESS PLANNING (CAPP)
 
Linear programming graphical method (feasibility)
Linear programming   graphical method (feasibility)Linear programming   graphical method (feasibility)
Linear programming graphical method (feasibility)
 
Material Resource Planning
Material Resource PlanningMaterial Resource Planning
Material Resource Planning
 

Similaire à Mixed-integer Models for Planning and Scheduling - Ignacio E. Grossmann

Supply Chain Management
Supply Chain ManagementSupply Chain Management
Supply Chain ManagementKori Bori
 
Synthesis of analytical methods data driven decision-making
Synthesis of analytical methods data driven decision-makingSynthesis of analytical methods data driven decision-making
Synthesis of analytical methods data driven decision-makingAdam Doyle
 
Mech vii-operation research [06 me74]-notes
Mech vii-operation research [06 me74]-notesMech vii-operation research [06 me74]-notes
Mech vii-operation research [06 me74]-notesMallikarjunaswamy Swamy
 
Generalized capital investment planning of oil-refineries using MILP and sequ...
Generalized capital investment planning of oil-refineries using MILP and sequ...Generalized capital investment planning of oil-refineries using MILP and sequ...
Generalized capital investment planning of oil-refineries using MILP and sequ...optimizatiodirectdirect
 
A review on non traditional algorithms for job shop scheduling
A review on non traditional algorithms for job shop schedulingA review on non traditional algorithms for job shop scheduling
A review on non traditional algorithms for job shop schedulingiaemedu
 
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...Academia de Ingeniería de México
 
Crude-Oil Scheduling Technology: moving from simulation to optimization
Crude-Oil Scheduling Technology: moving from simulation to optimizationCrude-Oil Scheduling Technology: moving from simulation to optimization
Crude-Oil Scheduling Technology: moving from simulation to optimizationBrenno Menezes
 
Assignment And Sequencing Models For Thescheduling Of Process Systems
Assignment And Sequencing Models For Thescheduling Of Process SystemsAssignment And Sequencing Models For Thescheduling Of Process Systems
Assignment And Sequencing Models For Thescheduling Of Process SystemsDustin Pytko
 
Presentation
PresentationPresentation
Presentationbutest
 

Similaire à Mixed-integer Models for Planning and Scheduling - Ignacio E. Grossmann (20)

Supply Chain Management
Supply Chain ManagementSupply Chain Management
Supply Chain Management
 
Production Scheduling in a Job Shop Environment with consideration of Transpo...
Production Scheduling in a Job Shop Environment with consideration of Transpo...Production Scheduling in a Job Shop Environment with consideration of Transpo...
Production Scheduling in a Job Shop Environment with consideration of Transpo...
 
Synthesis of analytical methods data driven decision-making
Synthesis of analytical methods data driven decision-makingSynthesis of analytical methods data driven decision-making
Synthesis of analytical methods data driven decision-making
 
Dst
DstDst
Dst
 
Mech vii-operation research [06 me74]-notes
Mech vii-operation research [06 me74]-notesMech vii-operation research [06 me74]-notes
Mech vii-operation research [06 me74]-notes
 
Decision Support System
Decision Support SystemDecision Support System
Decision Support System
 
Generalized capital investment planning of oil-refineries using MILP and sequ...
Generalized capital investment planning of oil-refineries using MILP and sequ...Generalized capital investment planning of oil-refineries using MILP and sequ...
Generalized capital investment planning of oil-refineries using MILP and sequ...
 
A review on non traditional algorithms for job shop scheduling
A review on non traditional algorithms for job shop schedulingA review on non traditional algorithms for job shop scheduling
A review on non traditional algorithms for job shop scheduling
 
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
Derivación y aplicación de un Modelo de Estimación de Costos para la Ingenier...
 
Ce25481484
Ce25481484Ce25481484
Ce25481484
 
Crude-Oil Scheduling Technology: moving from simulation to optimization
Crude-Oil Scheduling Technology: moving from simulation to optimizationCrude-Oil Scheduling Technology: moving from simulation to optimization
Crude-Oil Scheduling Technology: moving from simulation to optimization
 
Assignment And Sequencing Models For Thescheduling Of Process Systems
Assignment And Sequencing Models For Thescheduling Of Process SystemsAssignment And Sequencing Models For Thescheduling Of Process Systems
Assignment And Sequencing Models For Thescheduling Of Process Systems
 
Srikanta Mishra
Srikanta MishraSrikanta Mishra
Srikanta Mishra
 
Presentation
PresentationPresentation
Presentation
 
IMPROVEMENT OF SUPPLY CHAIN MANAGEMENT BY MATHEMATICAL PROGRAMMING APPROACH
IMPROVEMENT OF SUPPLY CHAIN MANAGEMENT BY MATHEMATICAL PROGRAMMING APPROACHIMPROVEMENT OF SUPPLY CHAIN MANAGEMENT BY MATHEMATICAL PROGRAMMING APPROACH
IMPROVEMENT OF SUPPLY CHAIN MANAGEMENT BY MATHEMATICAL PROGRAMMING APPROACH
 
IMPROVEMENT OF SUPPLY CHAIN MANAGEMENT BY MATHEMATICAL PROGRAMMING APPROACH
IMPROVEMENT OF SUPPLY CHAIN MANAGEMENT BY MATHEMATICAL PROGRAMMING APPROACHIMPROVEMENT OF SUPPLY CHAIN MANAGEMENT BY MATHEMATICAL PROGRAMMING APPROACH
IMPROVEMENT OF SUPPLY CHAIN MANAGEMENT BY MATHEMATICAL PROGRAMMING APPROACH
 
Ramp-up Challenges
Ramp-up ChallengesRamp-up Challenges
Ramp-up Challenges
 
Ch1
Ch1Ch1
Ch1
 
Ch1
Ch1Ch1
Ch1
 
Bo24437446
Bo24437446Bo24437446
Bo24437446
 

Plus de CAChemE

Mixed-integer and Disjunctive Programming - Ignacio E. Grossmann
Mixed-integer and Disjunctive Programming - Ignacio E. GrossmannMixed-integer and Disjunctive Programming - Ignacio E. Grossmann
Mixed-integer and Disjunctive Programming - Ignacio E. GrossmannCAChemE
 
Simulation of Chemical Rectors - Introduction to chemical process simulators ...
Simulation of Chemical Rectors - Introduction to chemical process simulators ...Simulation of Chemical Rectors - Introduction to chemical process simulators ...
Simulation of Chemical Rectors - Introduction to chemical process simulators ...CAChemE
 
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...Introduction to free and open source Chemical Process Simulators - (DWSIM & C...
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...CAChemE
 
Optimizacion con Python (Pyomo vs GAMS vs AMPL)
Optimizacion con Python (Pyomo vs GAMS vs AMPL)Optimizacion con Python (Pyomo vs GAMS vs AMPL)
Optimizacion con Python (Pyomo vs GAMS vs AMPL)CAChemE
 
Simulador de reactores químicos - COCO Simulator - Free
Simulador de reactores químicos - COCO Simulator - FreeSimulador de reactores químicos - COCO Simulator - Free
Simulador de reactores químicos - COCO Simulator - FreeCAChemE
 
S4 - Process/product optimization using design of experiments and response su...
S4 - Process/product optimization using design of experiments and response su...S4 - Process/product optimization using design of experiments and response su...
S4 - Process/product optimization using design of experiments and response su...CAChemE
 
S3 - Process product optimization design experiments response surface methodo...
S3 - Process product optimization design experiments response surface methodo...S3 - Process product optimization design experiments response surface methodo...
S3 - Process product optimization design experiments response surface methodo...CAChemE
 
S2 - Process product optimization using design experiments and response surfa...
S2 - Process product optimization using design experiments and response surfa...S2 - Process product optimization using design experiments and response surfa...
S2 - Process product optimization using design experiments and response surfa...CAChemE
 
S1 - Process product optimization using design experiments and response surfa...
S1 - Process product optimization using design experiments and response surfa...S1 - Process product optimization using design experiments and response surfa...
S1 - Process product optimization using design experiments and response surfa...CAChemE
 
Python en ciencia e ingenieria: lecciones aprendidas
Python en ciencia e ingenieria: lecciones aprendidasPython en ciencia e ingenieria: lecciones aprendidas
Python en ciencia e ingenieria: lecciones aprendidasCAChemE
 
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...CAChemE
 
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...CAChemE
 
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...CAChemE
 
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...CAChemE
 
Instalar Python 2.7 y 3 en Windows (Anaconda)
Instalar Python 2.7 y 3 en Windows (Anaconda)Instalar Python 2.7 y 3 en Windows (Anaconda)
Instalar Python 2.7 y 3 en Windows (Anaconda)CAChemE
 
El uso de Python en la Ingenieria Química - Charla Completa
El uso de Python en la Ingenieria Química - Charla CompletaEl uso de Python en la Ingenieria Química - Charla Completa
El uso de Python en la Ingenieria Química - Charla CompletaCAChemE
 
Reactor de flujo piston con MATLAB Octave
Reactor de flujo piston con MATLAB OctaveReactor de flujo piston con MATLAB Octave
Reactor de flujo piston con MATLAB OctaveCAChemE
 
Reactor flujo piston en MATLAB - Octave - Craqueo termico
Reactor flujo piston en MATLAB - Octave - Craqueo termicoReactor flujo piston en MATLAB - Octave - Craqueo termico
Reactor flujo piston en MATLAB - Octave - Craqueo termicoCAChemE
 
Simulación de reactores químicos con octave
Simulación de reactores químicos con octaveSimulación de reactores químicos con octave
Simulación de reactores químicos con octaveCAChemE
 
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)CAChemE
 

Plus de CAChemE (20)

Mixed-integer and Disjunctive Programming - Ignacio E. Grossmann
Mixed-integer and Disjunctive Programming - Ignacio E. GrossmannMixed-integer and Disjunctive Programming - Ignacio E. Grossmann
Mixed-integer and Disjunctive Programming - Ignacio E. Grossmann
 
Simulation of Chemical Rectors - Introduction to chemical process simulators ...
Simulation of Chemical Rectors - Introduction to chemical process simulators ...Simulation of Chemical Rectors - Introduction to chemical process simulators ...
Simulation of Chemical Rectors - Introduction to chemical process simulators ...
 
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...Introduction to free and open source Chemical Process Simulators - (DWSIM & C...
Introduction to free and open source Chemical Process Simulators - (DWSIM & C...
 
Optimizacion con Python (Pyomo vs GAMS vs AMPL)
Optimizacion con Python (Pyomo vs GAMS vs AMPL)Optimizacion con Python (Pyomo vs GAMS vs AMPL)
Optimizacion con Python (Pyomo vs GAMS vs AMPL)
 
Simulador de reactores químicos - COCO Simulator - Free
Simulador de reactores químicos - COCO Simulator - FreeSimulador de reactores químicos - COCO Simulator - Free
Simulador de reactores químicos - COCO Simulator - Free
 
S4 - Process/product optimization using design of experiments and response su...
S4 - Process/product optimization using design of experiments and response su...S4 - Process/product optimization using design of experiments and response su...
S4 - Process/product optimization using design of experiments and response su...
 
S3 - Process product optimization design experiments response surface methodo...
S3 - Process product optimization design experiments response surface methodo...S3 - Process product optimization design experiments response surface methodo...
S3 - Process product optimization design experiments response surface methodo...
 
S2 - Process product optimization using design experiments and response surfa...
S2 - Process product optimization using design experiments and response surfa...S2 - Process product optimization using design experiments and response surfa...
S2 - Process product optimization using design experiments and response surfa...
 
S1 - Process product optimization using design experiments and response surfa...
S1 - Process product optimization using design experiments and response surfa...S1 - Process product optimization using design experiments and response surfa...
S1 - Process product optimization using design experiments and response surfa...
 
Python en ciencia e ingenieria: lecciones aprendidas
Python en ciencia e ingenieria: lecciones aprendidasPython en ciencia e ingenieria: lecciones aprendidas
Python en ciencia e ingenieria: lecciones aprendidas
 
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...
Simulación de columnas de destilación multicomponente con COCO+ChemSep (alter...
 
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...
Método McCabe-Thiele colmuna destilación - Curso gratutito de simulación de p...
 
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...
Curso inciación a COCO Simulator y ChemSep - Simulación de procesos químicos ...
 
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...
Cómo hacer una búsqueda bibliográfica en bases de datos científicas (Scopus y...
 
Instalar Python 2.7 y 3 en Windows (Anaconda)
Instalar Python 2.7 y 3 en Windows (Anaconda)Instalar Python 2.7 y 3 en Windows (Anaconda)
Instalar Python 2.7 y 3 en Windows (Anaconda)
 
El uso de Python en la Ingenieria Química - Charla Completa
El uso de Python en la Ingenieria Química - Charla CompletaEl uso de Python en la Ingenieria Química - Charla Completa
El uso de Python en la Ingenieria Química - Charla Completa
 
Reactor de flujo piston con MATLAB Octave
Reactor de flujo piston con MATLAB OctaveReactor de flujo piston con MATLAB Octave
Reactor de flujo piston con MATLAB Octave
 
Reactor flujo piston en MATLAB - Octave - Craqueo termico
Reactor flujo piston en MATLAB - Octave - Craqueo termicoReactor flujo piston en MATLAB - Octave - Craqueo termico
Reactor flujo piston en MATLAB - Octave - Craqueo termico
 
Simulación de reactores químicos con octave
Simulación de reactores químicos con octaveSimulación de reactores químicos con octave
Simulación de reactores químicos con octave
 
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
Iniciación al modelado de reactores químicos com MATLAB - Octave (intro)
 

Dernier

Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 

Dernier (20)

Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 

Mixed-integer Models for Planning and Scheduling - Ignacio E. Grossmann

  • 1. 1 Mixed-integer Models for Planning and Scheduling Ignacio E. Grossmann Center for Advanced Process Decision-making Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 University of Alicante January 16-17, 2018
  • 2. 2 1. Introduction 2. Modeling 3. Solution strategies General Plan Short Course Goals 1. Gain an appreciation for optimization-based planning/scheduling 2. Learn general guidelines for modeling and solving these problems
  • 3. 3 EWO involves optimizing the operations of R&D, material supply, manufacturing, distribution of a company to reduce costs and inventories, and to maximize profits, asset utilization, responsiveness . Enterprise-wide Optimization (EWO) Key issue: - Integration of information, modeling and solution methods
  • 4. 4 Source: Tayur, et al. [1999] Enterprise Resource Planning System Materials Requirement Planning Systems Distributions Requirements Planning System Transactional IT External Data Management Systems Strategic Optimization Modeling System Tactical Optimization Modeling System Production Planning Optimization Modeling Systems Logistics Optimization Modeling System Production Scheduling Optimization Modeling Systems Distributions Scheduling Optimization Modeling Systems Analytical IT Demand Forecasting and Order Management System Strategic Analysis Long-Term Tactical Analysis Short-Term Tactical Analysis Operational Analysis Scope Methods/Tools for Enterprise-wide Optimization
  • 5. 5 Enterprise-wide Optimization • The supply chain is large, complex, and highly dynamic • Optimization can have very large financial payout WellheadWellhead PumpPump TradingTrading Transfer of Crude Transfer of Crude Refinery Optimization Refinery Optimization Schedule Products Schedule Products Transfer of Products Transfer of Products Terminal Loading Terminal Loading Petroleum industry Dennis Houston (2003)
  • 6. 6 • Pharmaceutical process (Shah, 2003)  Primary production has five synthesis stages  Two secondary manufacturing sites  Global market Lifecycle Management 0.5 - 2 yrs 1 - 2 yrs 1.5 - 3.5 yrs 2.5 - 4 yrs 0.5-2 yrs Discovery Market 2-5 yrs Submission& Approval 10-20 yrs Phase 3Phase 2a/bPhase 1 Pre- clinical Development Targets Hits Leads Candidate R&D Pharmaceutical industry Pharmaceutical supply chain (Gardner et al , 2003)
  • 7. 7 -The modeling challenge: Planning, scheduling, control models for the various components of the supply chain, including nonlinear process models? Research Challenges - The multi-scale optimization challenge: Coordinated optimization of models over geographically distributed sites, and over the long-term (years), medium-term (months) and short-term (days, min) decisions? - The uncertainty challenge: How to effectively anticipate effect of uncertainties ? - Algorithmic and computational challenges: How to effectively solve the various models including nonconvex problems in terms of efficient algorithms, and in terms of modern computer architectures?
  • 8. 8 Planning and scheduling Given existing plant/supply chain and product demands over time, Determine production & inventory targets, time activities Objectives: Economics (Profit, Cost) Feasibility (Just-in-time) No clear cut distinction between Planning and Scheduling Planning: Usually driven by economics, longer term Scheduling: Usually driven by feasibility, short term Long-term goal: Integration of both
  • 9. 9 Overview of Discrete-Continuous Optimization Models a. Linear and mixed-integer linear programming b. Nonlinear and mixed-integer nonlinear programming c. Logic-based optimization: Generalized disjunctive programming Constraint programming Lagrangean decomposition Outline Examples of Models Single stage, parallel units wo/w due dates. Multistage, parallel units, due dates. Aggregated Multistage Zero-Wait Discrete time MILP short-term batch scheduling (State Task Network) Continuous time MILP short-term batch scheduling (State Task Network) MINLP multistage cyclic scheduling model Refinery scheduling and blending, Multiperiod refinery planning MILP Supply Chain Optimization Model NLP multiperiod production planning model with process models Supply Chain with Stochastic Inventory Management
  • 10. 10 References Mendez, C.A., J. Cerda, I.E. Grossmann, I. Harjunkoski, M. Fahl, “State-of-the-art Review of Optimization Methods for Short-term Scheduling of Batch Processes,” Comp. & Chemical Engineering 30, 913-946 (2006). Floudas, C.A.; Lin, X. “Continuous-time versus discrete-time approaches for scheduling of chemical processes: a review.” Comp. and Chem. Eng., 28, 2109 – 2129 (2004). Kallrath, J. “Planning and scheduling in the process industry,” OR Spectrum, 24, 219-250 (2002). Pinto, J.M. & Grossmann, I.E., “Assignments and sequencing models of the scheduling of process systems,” Annals of Operations Research, 81, 433 – 466 (1998). Shah, N., “Single- and multisite planning and scheduling: Current status and future challenges,” Proceedings of FOCAPO-98 75 – 90 (1998). Mauderli. A. M.: Rippin. D. W. T. Production Planning and Scheduling for Mu1tip;;pose Batch Chemical Plants. Comp. Chem.Eng. 3, 199 (1979). Reklaitis, G. V. Review of Scheduling of Process Operation. AIChE Symp. Ser. 78, 119-133 (1978). Harjunkoski, I., Maravelias, C.T., Bongers, P., Castro, P., Engell, S., Grossmann, I.E., Hooker, J., Mendez, C., Sand, G. and Wassick, J., “Scope for Industrial Applications of Production Scheduling Models and Solution Methods,” Computers and Chemical Engineering, 62, 161-193 (2014).
  • 11. 11 ROAD-MAP FOR BATCH SCHEDULING (1) TASK TOPOLOGY: - Single Stage (single unit or parallel units) - Multiple Stage (multiproduct or multipurpose) - Network (2) EQUIPMENT ASSIGNMENT - Fixed - Variable (3) EQUIPMENT CONNECTIVITY - Partial - Full (4) INVENTORY STORAGE POLICIES - Unlimited intermediate storage (UIS) - Non-intermediate storage (NIS) - Finite intermediate storage (FIS): Dedicated or shared storage units - Zero wait (ZW) (5) MATERIAL TRANSFER - Instantaneous (neglected) -Time consuming (no-resource, pipes, vessels) A B C 1 2 3S1 S2Heat Reaction1 Separation Reaction 3 S3 S5 S4 S7 S6 Reaction2 1h 1h 3h 2h 2h 90% 10% 40% 60%70% 30%
  • 12. 12 ROAD-MAP BATCH SCHEDULING (6) BATCH SIZE: - Fixed - Variable (mixing and splitting operations) (7) BATCH PROCESSING TIME - Fixed - Variable (unit / batch size dependent) (8) DEMAND PATTERNS - Due dates (single or multiple product demands) - Scheduling horizon (fixed, minimum/maximum requirements) (9) CHANGEOVERS - None - Unit dependent - Sequence dependent (product or product/unit dependent) (10) RESOURCE CONSTRAINTS - None (only equipment) - Discrete (manpower) - Continuous (utilities) 0 Due date 1 Due date 2 Due date 3 Due date NO ... Production Horizon i i’changeoveri’
  • 13. 13 ROAD-MAP BATCH SCHEDULING (11) TIME CONSTRAINTS - None - Non-working periods - Maintenance - Shifts (12) COSTS - Equipment - Utilities (fixed or time dependent) - Inventory - Changeovers (13) Degree of certainty - Deterministic - Stochastic
  • 14. 14 ROAD-MAP FOR OPTIMIZATION APPROACHES (A) TIME DOMAIN REPRESENTATION - Discrete time - Continuous time (B) EVENT REPRESENTATION DISCRETE TIME - Global time intervals CONTINUOUS TIME - Time slots - Unit-specific direct precedence - Global direct precedence - Global general precedence - Global time points - Unit- specific time event (C) MATERIAL BALANCES - Lots (Order or batch oriented) - Network flow equations (STN or RTN problem representation) (D) OBJECTIVE FUNCTION - Makespan - Earliness/ Tardiness - Profit - Inventory - Cost 7 6 5 4 3 2 1 9 8 19 18 11 10 2 2 21 20 25 24 23 TIME TASK TIME EVENTS TASK TIME TASK
  • 15. 15 Optimization approaches Mixed-integer (non)linear programming (MILP/MINLP) Disjunctive programming/logic optimization Constraint logic programming Combinatorial optimization (traveling salesman) Local search methods (simulated annealing, genetic algorithms) Decomposition techniques: Lagrangean decomposition
  • 16. 16 Mathematical Programming min f(x, y) Cost s.t. h(x, y) = 0 Process equations g(x, y)  0 Specifications x X Continuous variables y {0,1} Discrete variables Continuous optimization Linear programming: LP Nonlinear programming: NLP Discrete optimization Mixed-integer linear programming: MILP Mixed-integer nonlinear programming: MINLP
  • 17. 17 Generalized Disjunctive Programming (GDP)     Ω ,0)( 0)( )(min 1 falsetrue,Y Rc,Rx trueY Kk γc xg Y Jj xs.t. r xfcZ jk k n jkk jk jk k k k                      • Raman and Grossmann (1994) (Extension Balas, 1979) Objective Function Common Constraints Continuous Variables Boolean Variables Logic Propositions OR operator Disjunction Fixed Charges Constraints Multiple Terms / Disjunctions
  • 18. 18 Constraint Programming Key Features  Variables: Integer, Boolean, Continuous  Constraints • Algebraic constraints: x1 + x2 ≤ 5 • Logical constraints: [a.end ≤ b.start]  [b.end ≤ a.start] • Global constraints: alldifferent(x) • Meta-constraints: iS (xi < 5) = 3  State Objective Function (optional)  Write an algorithmic search for finding values of the variables satisfying the constraints • Implicit enumeration • Constraint propagation – domain reduction
  • 19. 19 Problems Multistage, parallel, due dates MILP Multistage Aggregate Zero-Wait IP/LP Multipurpose, resource constraints: State-Task-Network (Resource Task Network) Discrete time MILP Continuous time MILP Single stage, parallel MILP Single stage parallel, due dates MILP Batch Continuous Multistage, single, cyclic schedule MINLP Multiperiod production planning NLP Refinery scheduling/blending Iterative MILP Multiperiod Supply Chain MILP Stochastic Inventory Magmt. MINLP
  • 20. 20 Given N tasks (i) and M units (m) Tasks (Jobs/Orders) = batches fixed lot size, fixed processing times pim Fi ={m | units m can perform task i} N ={ (i1,i2) cannot share same unit} Find how to assign tasks j to machine m to minimize completion time MS Parallel units (single stage) Unit m Task 1 Task 2 . Task N Processing Time Machine m TimeTime
  • 21. 21 xim assign task i unit m (0-1) Min Makespan Makespan is largest time for every unit m Every task i to one unit m MILP Optimization Model }1,0{,0 1 min      im m im im i im xMS ix mMSxpst MS
  • 22. 22 Parallel Units (Single Stage) with Due Dates (Jain and Grossmann, 2001) Given: N jobs/orders (release dates, processing times, due dates) M units (cost different for each unit) Find schedule that minimizes cost and meets all due dates Job 1 Job 2 Job n Time Unit 1 Unit m Time Release date Due date Processing time ri di pim
  • 23. 23 MILP Optimization Model itasktimestartts otherwise munittoitaskif x iim      0 1 Mmrdpx Iix Iixpdts rtsts xC iiii Ii imim Mm im Mm imimii ii Ii Mm imim               }{min}{max 1 .. min Cost processing Earliest start Latest start Assign to only one unit Redundant constraint
  • 24. 24 Sequencing tasks in each unit trueareyORythentruexANDxIf unitgivenonitaskbeforeitaskifyLet iiiimiim ii ''' ' '1 imiiii ptststhenyIf  '' 1 MmiiIiixxyy miimiiii  ,',',1''' ',',)1( '' iiIiiyMxptsts iiim Mm imii   Big-M Constraint 0},1,0{},1,0{ '  iiiim tsyx MILP CPLEX 6.5 3 tasks, 2 units 0.04 sec 12 tasks, 3 units 926 sec 20 tasks, 5 units 18,000 sec
  • 25. 25 Short Term Scheduling Multistage Plants Stage I II III IV ¬ Individual customer orders 0 Due date 1 Due date 2 Due date 3 Due date NO ... Production Horizon (ICI) Pinto, Grossmann (1995)
  • 26. 26 Given: ¬ Product demands and deadlines ¬ Topology of the plant ¬ Processing times of orders in units ¬ Set-up times Determine: ¬ Assignment of orders to units ¬ Timing of operations of units Objective Minimize Earliness Deliver as close as possible to deadline Just-in-time Short Term Scheduling Problem
  • 27. 27 ¬ All data are deterministic and fixed over the time horizon of interest. ¬ Set-up times are only equipment dependent. ¬ Batch sizes are fixed parameters. ¬ Each order must be processed by exactly one unit per stage (No splitting). ¬ No resource constraints considered ¬ Unlimited intermediate storage between stages Parameters di due date of order i SUj set-up time in unit j Tij processing time of order i in unit j Assumptions
  • 28. 28 Tsjk starting time in unit j during time slot k Tejk finishing time in unit j during time slot k Tsiiil starting time for order i in stage l Teiiil finishing time for order i in stage l Wijkl 0-1 variable that assigns order i stage l to unit j slot k . . . Order 1 2 NO 1 2 3 1 2 1 2 Unit 2 Unit NU time Time Slot Set-up Processing time Unit 1 . . . Representation and Variables
  • 29. 29 MILP Model Assignment Wijkl kSLj  j   1 i,l Si Wijkl lSi  i   1 j, k SLj Every order i, stage l Every unit j, slot k Tejk  Tsjk 1 j, k SLj  K j   iiilil LSliTsiTei   ,1 TeiiLi  di i Due date Unit slots Order stages Timing   j i Sl jijijkljkjk SLkjSUpWTsTe i   ,   i j SLk jijijklilil SliSUpWTsiTei j    , End/Start Unit End/Start Order
  • 30. 30 MILP Model Time Matching jkilijkl TsiTsiWIf 1   ijjkilijkl SlSLkjiTsTsiWM  ,,,1   ijjkilijkl SlSLkjiTsTsiWM  ,,,1 Big-M Other j i Sl lijk i Sl ijkl SLkjWW ii     ,,1 Objective: Minimize Earliness iiL i iTeihMax  Maximize end times order last stage L symmetry breaking
  • 31. 31 Reformulation Time matching constraints :   ijjkilijkl SlSLkjiTsTsiWM  ,,,1   ijjkilijkl SlSLkjiTsTsiWM  ,,,1 i j k ijkl j k jkijklil SliTsWTsi   , jjk i l ijkljk SLkjTs   , ijijklijkl SlSLkjiWU  ,,,.0  jjkjk SLkjyU  ,. ¬ Fewer constraints ¬ Tighter LP relaxation Alternative formulation: • Multiply and perform exact linearization • Disaggregated variables and apply assignment constraints )( jkilijkl TsTsW  ijkl Reformulation
  • 32. 32 Heuristic 1. Determine optimal sequence for each unit independently Apply single machine scheduling method 2. Enforce order in unit slots, but not requiring use of all slots 1 5 2 1 3 5 2 4 6 empty slots Unit j Optimal sequence for all 6 slots If orders 1, 5, 2 assigned unit j Actual sequence 1, 5, 2 Preordering has effect of fixing many Wiljk to zero
  • 33. 33 STEP 1. Minimize In-Process time (residence time) Determine assignments Overestimation of set-up times MILP - Zero gap - Interior point method Algorithm (with preordering) A A B C A A B C LP -Feasibility guaranteed from step 1 -Bound on optimum easily determined - STEP 2. Minimize Earliness Fixed assignment Eliminate unnecessary set-up times
  • 34. 34 STBS- CAPD Software Visual Basic Interface (Valli, 1998) Example: 25 units, 8 orders Solves in few seconds!
  • 36. 36 Optimal Sequencing Multistage Plants ZW policy M Stages NB Batches Given NB Batches with processing times pij and sequence dependent changeover times τimj Find optimal sequence that minimizes Cycle Time Key observation: can define sequences in terms of slacks Birewar, Grossmann (1990)
  • 37. 37 5 2 3 1 5 3 A B (a) Sequence A - B 5 2 3 1 5 3 A B (b) Slack times with zero clean-up times SL = 1 SL = 0 SL = 1 AB1 AB2 AB3 (c) Slack times with clean-up times SL = 0 SL = 0 SL = 1 AB1 AB2 AB3 5 2 3 1 5 3 A B Slack Determination 2 2 1 2
  • 38. 38 1 2 3 4 5 Asymmetric Traveling Salesman Problem ATSP 1 0 il if batchi followed by batchl y otherwise    
  • 39. 39 Cycle time stage 1 1 1,...il l y i NB  1 1,...il i y l NB  Only one out Only one in il NB i NB l il NB i i ySLpCT     1 1 1 1 1
  • 40. 40 Subtours may occur 1 2 3 4 , 1 ,il i Q i Q Let B set batches Q subset of batches y Q B Q         Above Q = {1,2}, Q = {3,4}
  • 41. 41 1 1,...il l y i NB  1 1,...il i y l NB  1 ,il i Q i Q y Q B Q         0,1ily  Integer Program ATSP il NB i NB l il NB i i ySLpCT     1 1 1 1 1min
  • 42. 42 Aggregation Model Consider ni batches for product i, i=1, NP Let NPRim number batches product i followed by product m 1 1 1 1 1 min NP NP NP i i im im i i m CT n p SL NPR        1,...im i m NPR n i NP  1,...im m i NPR n m NP  1 1,ii iNPR n i NP   0,1,2,..iNPR  Can be solved as LP treating NPRi  0 (as continuous) CYCLE http://newton.cheme.cmu.edu/interfaces
  • 43. 43 A B C D 4 3 3 3 2 5 Example 4 products, 20 batches nA = 7 nB = 5 nC = 3 nD = 5 Solution from LP Eg NPRBA = 3 NPRAA = 4
  • 44. 44 3 A B C D 4 3 3 3 3 A B C D 3 3 3 3 B D 2 2 + B -> D -> B -> D -> B A 4 B -> D -> B -> D -> B A -> A -> A-> A-> A + C -> D -> B -> A -> C -> D -> B -> A -> C -> D B -> D -> B -> D -> B A -> A -> A-> A-> A Loop Breaking Procedure
  • 45. 45 Multipurpose Plants Given: • the time horizon • the available units and storage tanks, and their capacities • the available utilities (steam, cooling water) • the production recipe (mass balance coefficients, utility requirements) • the prices of raw materials and final products Consider: Arbitrary topology Flows (no fixed batch size) Different transfer/Intermediate Storage Policies Resource Constraints Determine • the sequence and the timing of tasks taking place in each unit • the batch size of tasks (i.e. the processing time and the allocated resources) • the amount of raw materials purchased and final products sold
  • 46. 46 State Task Network (STN) (Kondili, Pantelides, Sargent, 1993) S1 S2Heat Reaction1 Separation Reaction 3 S3 S5 S4 S7 S6 Reaction2 1h 1h 3h 2h 2h 0 1 2 3 4 5 6 Time (h) Reactor 1 Reactor 2 Reactor 3 Column Reaction 2 Reaction 3 Separation Reaction 1Heating Note: Related Resource Task Network (RTN)
  • 47. 47 Discrete-time STN Model (1) Variables: Wijt = 1 if unit j starts processing task i at the beginning of time period t; 0 otherwise. Bijt = Amount of material which starts undergoing task i in unit j at the beginning of period t. Sst = Amount of material stored in state s, at the beginning of period t. Uut = Demand of utility u over time interval t. pij = 3 Task i starts at t=2 in unit j Wij2 = 1, Bij2  0 Wijt = 0, Bijt = 0, t2 2 3 4 5 T1 T2 T3 0 1 2 3 4 5 6 7 8 t (hr) Allocation Constraints: tjW jIi ijt ,1    tjIiWMW jijtij Ii pt tt jti j ij ,,11 ' 1 ' ''    
  • 48. 48 iijijtijtijijt KjtiVWBVW  ,,maxmin tsCST sst ,0  Capacity limitations: Objective Function:      H t utut us HsHs H t st R st s H t st D st s UCSCRCDCZ 1 1,1, 11 max Batch Units Storage capacity tsDRBBSTST stst Kj ijt Ti is Kj ptij Ti isstst isi is s ,,1        Material balances: Inventories Produced Consumed Purchased/Sold tuBWU i i p ijtuiijtui Kjt ut ,)( 1 0          tuUU utut ,0 max  Availability of utilities: Linear function batch size Discrete-time STN Model (2)
  • 49. 49 Reformulation Previous MILP is expensive to solve tjW jIi ijt ,1    tjIiWMW jijtij Ii pt tt jti j ij ,,11 ' 1 ' ''     Culprit: big-M allocation constraints tjW i j pt tt tij Ii ,1 1 ˆ ˆ    Solution: Replace by constraint below (Shah, 1992) Fewer and tighter ! 2 hr 3 hr Unit j Tasks iIj t
  • 50. 50 Reaction 2 Reaction 1 Heating Reaction 3 Separation Product 1 Feed A Hot A Int BC Feed B Feed C Impure C Int AB Product 2 Classical Kondili Example MILP 72 0-1 variables 179 continuous variables 250 constraints STN 2003 CPLEX 7.5: 0.45 sec, 22 nodes, IBM-T40 1 2 3 4 5 6 7 8 9 10 Heating Reaction 1 Reaction 2 Reaction 3 Separation Heater Reactor 1 Reactor 2 Reactor 1 Reactor 2 Reactor 1 Reactor 2 Still 52 20 52 80 50 56 80 50 50 80 50 80 50 130 Optimal Schedule 1987 Kondili’s B&B: 908 sec, 1466 nodes, Vax-8600 1992 Shah’s B&B: 119 sec, 419 nodes, SUN Sparc STN http://newton.cheme.cmu.edu/interfaces
  • 51. 51 • Main idea  Treat the production recipe as a set of (tasks) that transform a set of resources into another set • Tasks, set I  e.g. Fill, Heat, Mix, Store, React, etc.  Represented as a rectangle • Resources, set R  e.g. equipment, material, utilities, equipment state, material location  Represented as a circle Compact Equations: Resource balances Resource Task Network Pantelides (1994) Castro et al. (2001, 2004)
  • 52. 52 ReactionA B Reactor C 1.0 0.7 0.3 Pack_D11 Rate=0-5.5714 Int1 Line3 PD11 S1 S2 T1_R1 Duration= 2 h T1_R4 Duration= 2 h R1 R4 T2_R4 Duration= 2 h T2_R1 Duration= 2 h S4 T3_R3 Duration= 4 h T4_R2 Duration= 2 h S5 S6S3 0.6 0.4 0.6 0.4 R2 T4_R3 Duration= 2 h R3 T3_R2 Duration= 4 h Legend: Discrete interaction: Continuous interaction: Examples of RTNs
  • 53. 53 • Model entities  Variables  Ni,t- assigns the start of task i to time point t (binary variable)  i,t- amount of material processed by task i at time point t (nonnegative continuous variable)  Rr,t- excess amount of resource r at time point t (nonnegative continuous variable)  Parameters (related to RTN structure)  Amount of resource r consumed/produced by task i at a time  relative to the start of the task – i,r,- usually linked to equipment resources and N – i,r,- usually linked to material resources and  – + sign indicates production, - indicates consumption Discrete-time RTN formulation
  • 54. 54 • Derive the RTN and model parameters for the following production recipe  Consider a reaction task i, that lasts 5 hours. It converts material A to B. It is carried out in a reactor. It uses 0.25 kg/s of steam per t of material being processed during the first hour. Then it used 2 kg/s of cooling water per t of material being processed until the end of the operation  Assume time intervals of one hour: =1 h Example RTN Discrete Model
  • 55. 55 Resource balances Resource limits Capacity constraints MILP Model TtRrNRRR tr Ii tiirtiirttrtrtr i     ,)( , 0 ,,,,,,11,1 0 ,     TtRrRR r,tr,t  ,0 max TtIiVNVN r Rr rititir Rr riti EQ i EQ i    ,max ,,,, min ,,,  
  • 56. 56 • Nonzero parameters  Reactor: i,R,0=-1; i,R,5=1  Materials: i,A,0=-1; i,B,5=1  Utilities: i,S,0=-0.25; i,S,1=0.25; i,CW,1=-2; i,CW,5=2 Reaction Duration=5 h A B RS CW 0.25 2 RTN model and parameters
  • 57. 57 Time Representations T1 T2 T3 1 2 32 0 1 2 3 4 5 6 7 8 t (hr) 3 2T1 T2 T3 Event-Based Representation 2 hr 1.5 hr 3 hr Interval = 0.5 hr Discrete Time Representation T1 T2 T3 0 1 2 3 4 5 6 7 8 t (hr) • Fixed time points • Large size • Constant processing times Continuous Time Representation II Continuous Time Representation I 0 1 2 3 4 5 6 7 8 t (hr) T1 T2 T3 0 1 2 3 4 5 6 7 8 t (hr) T1 T2 T3 • Small size • Variable proc. Times • Unknown time points niWsHTTs innin  ,)1( Postulate no of points Iterative scheme for optimal niWsHTTs innin  ,)1(
  • 58. 58 Continuous-time STN Model I (Maravelias, Grossmann, 2003) 1. Common mixed continuous-time representation  Fewer time points 0 1 2 3 4 5 6 7 8 t (hr) T1 T2 T3 • If produce ZW-state finish at time point • Else finish at or before time point 2. Unit-task decoupling and New Assignment Constraints  Fewer binaries (Ierapetritou, Floudas, 1998) 4. Addition of New Valid Inequalities  Tighter LP Relaxation 3. Utility Constraints RI1 RI2 RII 0 2 4 6 8 t (hr) 0 2 4 6 8 t (hr) CWMAX CW R2-40 R2-46.4 R1-40 R1-49.6 R1-40 R4-72 R3-40 R3-60.8 (kg/min) 40 20
  • 59. 59 Continuous-time STN Model II Zsjn = 1 if a task in I(j) starts in unit j at time point n Zpjn = 1 if a task in I(j) is being processed in unit j at time point n Zfjn = 1 if a task in I(j) finishes in unit j, at or before time point n Wsin = 1 if task i starts at time point n Wpin = 1 if task i is being processed at time point n Wfin = 1 if task i finishes at or before time point n Assignment Constraints jnjn ZpZs  If a task is assigned to start in unit j at time point n, then equipment j at time point n is not processing any other task Logic Condition: njWsZs in jIi jn   , )( njWfZf in jIi jn   , )( njZfZsZp nn jn nn jnjn    , ' ' ' ' 0 2 3 … n-1 n 0 2 3 … n-1 n Reaction Reaction 1 Reaction 2Reaction Reaction 1 Reaction 2 Task-Unit Decoupling: Define new tasks njWfWs jIi nn inin    ,1)( )( ' '' iWfWs n in n in   njWs jIi in  ,1 )( njWf jIi in  ,1 )( iWfi  00 iWsN  0|| Integer assignment constraints
  • 60. 60 A WsA2 WfA4 Tn=Ts 0 2 6 8 10 n 1 2 3 4 5 D 0 6 0 0 0 Tf 0 8 8 8 8 A Tn Time that corresponds to time point n (i.e. start of period n; finish of period n-1) Tsin Start time of task i that starts at time point n Tfin Finish time of task i that starts at time point n Din Duration of task i that starts at time point n Timing Constraints Continuous-time STN Model III niTTs nin  , ni TfTf D Ws DTsTf BsD Ws inin in in ininin iniiin in                             ,,0 1  ni TfTf Wf ZWiTTf ZWiTTf Wf inin in nin nin in                       ,, , , 1 niBsWsD iniiniin  , niWsHDTsTf inininin  ,)1( niWsHDTsTf inininin  ,)1( niTTs nin  , niWfHTTf innin  ,)1(1 niZWiWfHTTf innin  ),()1(1 niWsHTfTf ininin   ,1 niDTfTf ininin   ,1 MIP Constraints (big-M)
  • 61. 61 S3 40% 60% 75% S1 S2 S4 BO A,S3,4=5 BO A,S4,4=15 BsA2=BfA4=20 BI A,S1,2=8 BI A,S2,2=12 25% Batch Size Constraints and Mass Balances niWsBBsWsB in MAX iinin MIN i  , niWfBBfWfB in MAX iinin MIN i  , )(,, iSIsniBsB inis I isn   )(,, iSOsniBfB inis O isn   1, )()( 1,     nsBBSSSS sIi I isn sOi O isnnssnsn nsCS ssn  , Utility Constraints nriBsWsR inirsinir I irn  ,, nriBfWfR inirsinir O irn  ,, nrRRRR i I irn i O irnrnrn    ,11 nrRR MAX rrn  , RI1 RI2 RII 0 2 4 6 8 t (hr) 0 2 4 6 8 t (hr) CWMAX CW R2-40 R2-46.4 R1-40 R1-49.6 R1-40 R4-72 R3-40 R3-60.8 (kg/min) 40 20 WsA2, BsA,2 WfA4, BfA2 A CW Continuous-time STN Model IV
  • 62. 62 Continuous-time STN Model V Addition of new valid inequalities  Tighter LP relaxation DA1 DB1 DA2 DB2 DA3 DB3 1 2 3 H    )( jIi n in jHD DA1 DB1 DA2 DB2 DA3 DB3 1 2 3 H DA1 DB1 DA2 DB2 DA3 DB3 1 2 3 H     )( ' ' , jIi n nn in njTHD      )( ' ' ' ,)( jIi nini nn ini njTBfWf  Smaller Bs’ Lower Production Lower Profit  STN http://newton.cheme.cmu.edu/interfaces
  • 63. 63 MILP Formulation Novel Tightening Constraints Utility Constraints Novel Assignment Constraints njWfWs jIi nn inin    ,1)( )( ' '' iWfWs n in n in   niBsWsD iniiniin  , niWsHDTsTf inininin  ,)1( niWsHDTsTf inininin  ,)1( niTTs nin  , niWfHTTf innin  ,)1(1 niZWiWfHTTf innin  ),()1(1 niWsBBsWsB in MAX iinin MIN i  , niWfBBfWfB in MAX iinin MIN i  , niBfBpBpBs inininin   ,11 )(,, iSIsniBsB inis I isn   )(,, iSOsniBfB inis O isn   1, )()( 1,     nsSSSPBBSS snsn sIi I isn sOi O isnnssn nriBsWsR inirsinir I irn  ,, nriBfWfR inirsinir O irn  ,, nrRRRR i I irn i O irnrnrn    ,11    )( ' ' , jIi n nn in njTHD    )( ' ' ' ,)( jIi niin nn iin njTvdBffdWf Finish time of task i Mass balances  s ssnSSZ max
  • 64. 64 Example T1 T2 T3 T4 T5 T7 T8 T6 T9 T10 F1 S1 S2 INT1 S3 P1 P2 WS P3 F2 S5 INT2 S4 ADD S6 0.95 0.05 0.1 0.9 0.5 0.5 0.98 0.02 U2 U1 U3 U4 U5 U6 Unlimited Storage Finite Storage No Intermediate Storage Zero-Wait Cooling Water Low Pressure Steam High Pressure Steam
  • 65. 65 Results U1 U2 U3 U4 U5 U6 0 2 4 6 8 10 12 t (hr) T1 T1 T1 T2T2 T2 T3 T3 T3 T4 T5 T4 T7 T8 T9 T10 T5 0 10 20 30 40 50 0 2 4 6 8 10 12 CW-MAX HPS-MAX CW LPS Z = $13,000 3067 Constraints 180 Binary Variables 1587 Continuous Variables LP Relaxation 19,500 CPU s (CPLEX 7.5) 62.8 Nodes 2,107
  • 66. 66 |T| Binary variables Total variables Constraints RMIP MIP CPUs Nodes 5 440 511 873 154.17 184 1748 328357 Multistage multiproduct plant: Total earliness minimization. CPLEX 11.1 on Intel Core2 Duo T9300 @2.5 GHz, Windows Vista |T| Binary variables Total variables Constraints RMIP MIP CPUs Nodes 29 710 2103 1433 Infeasible Infeasible 0.27 - 57 1535 4272 2777 207 207 0.47 0 142 3978 10795 6857 192 192 20.0 0 283 8034 21619 13625 184 184 54.7 0 Discrete-time Continuous-time Was 45,520 s with CPLEX 10.2 on Pentium 4, 3.4 GHz Progress in Discrete time makes Continuous less Pressing Castro (2008)
  • 67. 67 Continuous multistage plants ••• Stage 1 Stage 2 Stage M Product 1 2 NP • • • • • • • • • • • • • • • Cyclic schedules (constant demand rates, infinite horizon) Intermediate storage Given : N Products Transition times (sequence dependent) Demand rates Determine : PLANNING Amount of products to be produced Inventory levels SCHEDULING Cyclic production schedule Sequencing Lengths of production Cycle time Objective : Maximize Profit = + Sales of products - inventory costs - transition costs Pinto, Grossmann (1996)
  • 68. 68 Optimal length of cycle determined largely by transition and inventory costs 2001000 0 100 200 300 400 500 Length cycle (hrs) $/hr sales of products profit transition costs inventory costs Critical to model properly inventory levels and transition times Optimal Trade-offs
  • 69. 69 a) Assignments of products to slots and vice versa iy k ik  1 ky i ik  1 Assumptions : 1. Each product is processed in the same sequence at each stage 2. Each stage consists of a single production line 3. The schedule is cyclic time Stage 1 Stage 2 Stage M k = 1 k = 2 k = NP k = 1 k = 2 k = NP k = 1 k = 2 k = NP ••• ••• ••• ••• Transition Processing Time Slot Binary variables for assignments yik = 1 product i assigned to slot k 0 otherwise Basic ideas : a. NP products b. NP time slots at each stage MINLP Model (1)
  • 70. 70 b) Definition of transition variables kjiyyz jkikijk   ,11 c) Processing rates, mass balances and amounts produced mkiTpppWp ikmimikm   1...111   MmkiWpWp ikmimikm  mkTpW kmkmkm   treated as continuous MILP model MINLP Model (2) d) Timing constraints mkiyUTpp ik T imikm  0 mkTppTp i ikmkm   mkTsTeTp kmkmkm  mNPkzTeTs i j ijkijmkmmk    1...111   i j ijij zTs 1111  1...11   MmkTsTs kmkm 1...11   MmkTeTe kmkm mzTpTc k i j ijkijmkm              Cycle time Processing time Transitions ijkz
  • 71. 71 e) Inventory levels for intermediates   1...1,min 1   MmkI0TsTsTpI1 kmkmkmkmkmkm  I2km  km  km1km1 max 0,Tekm  Tskm1  I1km k m  1... M 1 I3km  km1km1 min Tekm1  Tekm,Tpkm1  I 2km k m  1... M 1 0  I1km  Imaxkm k m  1... M 1 0  I2km  Imaxkm k m  1... M 1 0  I3km  Imaxkm k m  1... M 1 Imaxkm  Ipikm i  k m Ipikm  Uim I yik  0 i k m  1... M Tskm Tekm Tpkm Tskm+1 Tekm+1 Tpkm+1 Tskm Tekm Tpkm Tskm+1 Tekm+1 Tpkm+1 Tpkm Tpkm+1 Tskm+1 - Tskm Tekm+1 - Tekm time time Inventory level Inventory level stage m stage m+1 I0km I1km I2km I3kmI0km I1km I3km I2km MINLP Model (3) Inventories: Case 1 Case 2
  • 72. 72 f) Demand constraints iTcdWp i k ikM  MINLP Model (4) Note: Linear g) Objective function : Maximize Profit Profit  pi WpikM Tck  i  INCOME  Ctrij zijk Tck  j  i  TRANSITION COST  Cinvim Ipikm Tcm  k  i  INTERMEDIATE INVENTORY COST  1 2 Cinvfi piM  WpikM Tc     k  i  TppikM FINAL INVENTORY COST Note: Nonlinear Non-differentiable MINLP
  • 73. 73 min {f1(x), f2(x)} = - max {-f1(x), -f2(x)} = f1(x) - max {0, f1(x)-f2(x)} Handling Non-differentiabilities Option 1: Smooth Approximation   f (x)2  2 2  f(x) 2   max 0, f(x) Replace by Balakrishna, Biegler (1992) 0    f (x)  U1 1 y  0    U2y Option 2: Mixed-integer approach Raman, Grossmann (1991)   max 0, f(x) Replace by    f(x) for f(x) > 0, and   0 for f(x) < 0  y = 1,  = f(x) for f(x) > 0, and y=0,  = 0 for f(x) < 0 Option 2 is superior due to errors introduced with option 1
  • 74. 74 time (h) time (h) Intermediate storage (ton) Stages 1-2 Intermediate storage (ton) Stages 2-3 10 20 10 20 A C B E HF D G stage 1 stage 2 stage 3 cycle time = 675 hrs Optimal solution Profit = $6609/h - 47% improvement MINLP model 448 binary 0-1 variables, 2050 continuous variables, 3010 constraints Example 3 stages, 8 products, 3 DICOPT (CONOPT/CPLEX): 38.2 secs MULTISTAGE http://newton.cheme.cmu.edu/interfaces
  • 75. 75 Refinery Scheduling and Blending crude-oil marine vessels storage tanks charging tanks crude dist. units other prod. units comp. stock tanks blend headers finished product tanks shipping points crude-oil blending gasoline blending product delivery fractionation and reaction processes crude-oil unloading STANDARD REFINERY SYSTEM CRUDE OIL UNLOADING AND BLENDING PRODUCTION UNIT SCHEDULING PRODUCT SCHEDULING AND BLENDING gasoline can yield 60-70% of refinery’s profit !! •Production logistics •Production quality (scheduling) (blending) Multiple product demands Inventory and pumping constraints Resource allocation Timing of operations Logistic and operating rules Variable product recipes Product specifications Complex correlations for product properties • Motivation • Modeling issues • Problem statement • Proposed optimization approach • Product property prediction • Integrated model Discrete MILP formulation Continuous MILP formulation • Treatment of infeasible solutions • Numerical results
  • 76. 76 Problem statement i’ i’’ B2 blenders product tanks component tanks min/max product specifications - prmin p,k1 ≤ prp,k1,t ≤ prmax p,k1 - prmin p,k2 ≤ prp,k2,t ≤ prmax p,k2 … - prmin p,kn ≤ prp,kn,t ≤ prmax p,kn component properties - pri’’,k1 - pri’’,k2 … -- pri’’,kn - pri,kn p i i’ i’’ B3 B1 p’ p’ p’’ GIVEN: •Scheduling horizon •Components, Products •Storage tanks, Blend headers •Component properties, stocks and supplies •Product specifications, stocks and demands •Min/Max flowrates and concentrations •Correlations for predicting product properties •Operating rules THE GOAL IS TO DETERMINE: •Allocation of resources •Inventory levels in tanks •Component concentrations in each product •Volume of each product •Pumping rates •Production and storage tasks timing MAXIMIZE PRODUCTION PROFIT REQUIRES SIMULTANEOUS SCHEDULING AND BLENDING • Motivation • Modeling issues • Problem statement • Proposed optimization approach • Product property prediction • Integrated model Discrete MILP formulation Continuous MILP formulation • Treatment of infeasible solutions • Numerical results
  • 77. 77 Proposed optimization approach fi’’,t fi’,t fi,t FI i’’,p,t FI i’,p,t FI i,p,t FP p,t i’ i’’ B2 blenders product tanks component tanks p i i’ i’’ B3 B1 p’ p’ p’’ • Linear approximations for product properties 0 Due date 1 Due date 2 Due date 3 Due date NO ... Production Horizon Product Due Dates D1 D2 D3 D4 time DISCRETE TIME FORMULATION CONTINUOUS TIME FORMULATION • MILP multiperiod optimization method • Discrete or continuous time domain representation • Discrete decisions for resource allocation and operating rules • Iterative procedure for improving predictions • Integrated production logistics and quality specifications • Variable recipes and min/max component concentrations • Motivation • Modeling issues • Problem statement • Proposed optimization approach • Product property prediction • Integrated model Discrete MILP formulation Continuous MILP formulation • Treatment of infeasible solutions • Numerical results Product Due Dates D1 D2 D3 D4 time T1 T2 T3 T4 T5 T6 T7 T8 T9 SLOTS Sub-interval
  • 78. 78 Product property prediction 86 87 88 89 90 91 92 0 0.2 0.4 0.6 0.8 1 Component 'A' volume fraction property Non-linear correlation linear volum. average linear volum. average + bias Property value Comp A: 92.1 Comp. B: 86.1 Correction factor ‘bias’ = 0.24 BLEND 40% COMPONENT ‘A’ 60% COMPONENT ‘B’ tkpvprpr I tpi i kitkp ,,,,,,,   tkpFprFprFpr P tpkp I tpi i ki P tpp,k ,,, max ,,,,, min   tkpFbiasFpr FprFbiasFpr P tptkp P tpkp I tpi i ki P tptkp P tpp,k ,,,,,, max , ,,,,,,, min    •Volumetric average tpiFFv I tpi P tp I tpi ,,,,,,,  •Non-linear flowrate-composition matching Linear approximation for non-linear product properties Volumetric product property correlation (Linear) • Motivation • Modeling issues • Problem statement • Proposed optimization approach • Product property prediction • Integrated model Discrete MILP formulation Continuous MILP formulation • Treatment of infeasible solutions • Numerical results
  • 79. 79 Iterative procedure Generate initial guess recipes Compute non-linear properties for all products and time slots Compute correction factors 'bias' Solve MILP model using correction factors Compute non-linear properties for all products and time slots Fix product recipes for products on-spec All products on-spec or iteration limit reached Solution for the Scheduling and Blending problem component volume fractions in blends component volume fractions in blends NO YES • Motivation • Modeling issues • Problem statement • Proposed optimization approach • Product property prediction • Integrated model Discrete MILP formulation Continuous MILP formulation • Treatment of infeasible solutions • Numerical results
  • 80. 80 Integrated scheduling and blending model Discrete time domain representation Product Due Dates D1 D2 D3 D4 time tnA B t p tp  , tpFF P tp i I tpi ,,,,  tpiFrcpFFrcp P tppi I tpi P tppi ,,, max ,,,, min ,  tpAserateFAserate tpttp P tptpttp ,)()( , max ,, min  tiFefinvV ttp I tpitii I ti , ', ',,,   tiVVV i I tii ,max , min  tpddFinvV td pd tt p tpp P tp , ' ',,    tpVVV p P tpp ,max , min  tkpFprFprFpr P tpkp I tpi i ki P tpp,k ,,, max ,,,,, min   tkpFprFbiasFprFpr P tpkp I tpipk I tpi i ki P tpp,k ,,, max ,,,,,,,, min   dpddF dd dp dt P tp ,' ' ,,             t p I tpi i i P tpp FcFpMax ,,,          i t I tii p t P tpp t p I tpi i i P tpp VspVspFcFpMax ,,,,, ALLOCATION COMPOSITION CONCENTRATION, MATERIAL BALANCE AND STORAGE CAPACITY VOLUMETRIC FLOW-RATE, MATERIAL BALANCE AND STORAGE CAPACITY SPECIFICATION PRODUCT DEMANDS OBJECTIVE FUNCTION MAXIMIZE PROFIT • Motivation • Modeling issues • Problem statement • Proposed optimization approach • Product property prediction • Integrated model Discrete MILP formulation Continuous MILP formulation • Treatment of infeasible solutions • Numerical results C O M P O N E N T S P R O D U C T S
  • 81. 81 Integrated scheduling and blending model Continuous time domain representation Product Due DatesD1 D2 D3 D4 time T1 T2 T3 T4 T5 T6 T7 T8 T9 tpSErateFAhrateSErate ttp P tptppttp ,)()1()( max ,, minmin  tpAhrateF tpp P tp ,, max ,  tiFEfiniV ttp I tpitii I ti , ', ',,,   tiFSfinvV ttp I tpitii I ti ,' ', ',,,   tiVVV i I tii ,' max , min  p dd pd dt p tpp P tp dpddFinvV ,' ' ',,    tpVV P tpp ,' , min  tpAlSE tpptt ,, min  tAhSE p tptt   , tSE tt   1 dt TtdS  1 dt TtdE  d p tp B t p tp TttdAnA    )1,(,,1, FLOWRATES STORAGE CAPACITY MATERIAL BALANCE DURATION SEQUENCING SUB-INTERVALS BOUNDS ALLOCATION tnA B t p tp  , tpFF P tp i I tpi ,,,,  tpiFrcpFFrcp P tppi I tpi P tppi ,,, max ,,,, min ,  ALLOCATION COMPOSITION CONCENTRATION tiVVV i I tii ,max , min  tpddFinvV td pd tt p tpp P tp , ' ',,    tpVVV p P tpp ,max , min  tkpFprFprFpr P tpkp I tpi i ki P tpp,k ,,, max ,,,,, min   tkpFprFbiasFprFpr P tpkp I tpipk I tpi i ki P tpp,k ,,, max ,,,,,,,, min   STORAGE CAPACITY SPECIFICATION MATERIAL BALANCE OBJECTIVE FUNCTION MAXIMIZE PROFIT • Motivation • Modeling issues • Problem statement • Proposed optimization approach • Product property prediction • Integrated model Discrete MILP formulation Continuous MILP formulation • Treatment of infeasible solutions • Numerical results C O M P O N E N T S P R O D U C T S S L O T S SLOTS
  • 82. 82 Treatment of infeasible solutions Penalty for preferred recipe deviations Penalty for min/max specification deviations Penalty for component shortages tpiFDFrcp tpi R tpi P tpip ,,,,,,,   tpiFDFrcp tpi R tpi P tpip ,,,,,,,       t p i R tpi R ip R tpi R ip DpltyDpltyPenalty ,,,, tkpFprDFprop I tpi i ki S tpk P tpkp ,,,,,,,, min ,    tkpFprDFprop I tpi i ki S tpk P tpkp ,,,,,,,, max ,        t p k S tpk S pk S tpk S pk DpltyDpltyPenalty ,,,,,, tiSFeprodiniV ti ttp I tpitii I ti ,, ', ',,,     t i ti SH i SpltyPenalty , Relax some hard constraints that can generate an infeasible solution • Motivation • Modeling issues • Problem statement • Proposed optimization approach • Product property prediction • Integrated model Discrete MILP formulation Continuous MILP formulation • Treatment of infeasible solutions • Numerical results
  • 83. 83 Examples and numerical results 12 STORAGE TANKS 3 BLEND HEADERS 8-DAY TIME HORIZON 6 DUE DATES • Motivation • Modeling issues • Problem statement • Proposed optimization approach • Product property prediction • Integrated model Discrete MILP formulation Continuous MILP formulation • Treatment of infeasible solutions • Numerical results i’ i’’ B2 blenders product tanks component tanks G2 C3 C4 C5 B3 B1 G1 G3 C2 C7 C6 C1 C8 C9 0 Day 1 8 days Day 3 Day 4 Day 5 Day 7 Day 8 0 Discrete time formulation 0 Continuous time formulation SLOTS
  • 84. 84 Examples and numerical results COMPONENT C1 C2 C3 C4 C5 C6 C7 C8 C9 COST($/BBL) 24.00 20.00 26.00 23.00 24.00 50.00 50.00 50.00 50.00 PROD.RATE (MBBL/DAY) 15.00 33.00 20.00 14.00 18.00 10.00 0.00 0.00 0.00 INITIALSTOCK (MBBL) 48.00 20.00 75.00 22.00 30.00 54.00 12.00 20.00 15.00 MIN.STOCK (MBBL) 5.0 5.0 5.0 5.0 5.0 5.0 0.0 0.0 0.0 MAX.STOCK (MBBL) 100.00 250.00 250.00 100.00 100.00 100.00 100.00 100.00 100.00 PROPERTY P1 93.00 104.00 104.90 94.80 87.40 118.00 87.30 95.20 93.30 P2 92.10 91.90 91.90 81.50 86.10 100.00 79.50 85.80 81.90 P3 0.7069 0.8692 0.6167 0.6731 0.6540 0.7460 0.7460 0.8187 0.7339 P4 3.60 1.00 100.00 94.90 91.50 15.00 0.00 1.30 34.30 P5 16.30 4.50 100.00 97.10 95.50 100.00 0.00 6.00 57.10 P6 94.30 93.50 100.00 100.00 100.00 100.00 0.00 93.90 95.90 P7 35.00 22.70 351.10 117.10 93.00 31.30 63.30 16.00 52.40 P8 0.007 0.00 0.00 0.009 0.0002 0.05 0.0063 0.1805 0.057 P9 0.00 88.60 0.00 2.30 0.20 0.00 43.98 65.30 21.30 P10 0.00 0.1 61.30 48.90 36.00 0.00 1.04 0.60 33.30 P11 0.00 3.30 0.00 1.10 0.10 0.00 3.33 0.90 0.80 P12 0.00 0.00 0.00 0.00 0.00 15.40 0.00 0.00 0.00 9 Components 12 properties Min/Max stock Initial stock Flowrates Cost • Motivation • Modeling issues • Problem statement • Proposed optimization approach • Product property prediction • Integrated model Discrete MILP formulation Continuous MILP formulation • Treatment of infeasible solutions • Numerical results
  • 85. 85 Examples and numerical results 8 Linear and 4 non- linear properties Min/Max component concentrations Min/Max storage capacities Multiple product demands PRODUCT G1 G2 G3 PRICE ($/BBL) 31.00 31.00 31.00 REQUIREMENT (MBBL) MIN MAX LIFT MIN MAX LIFT MIN MAX LIFT DAY 1 (MBBL) 5.00 45.00 10.00 5.00 50.00 12.00 5.00 50.00 10.00 DAY 3 (MBBL) 5.00 50.00 25.00 DAY 4 (MBBL) 5.00 45.00 25.00 5.00 50.00 23.00 DAY 5 (MBBL) DAY 7 (MBBL) 5.00 45.00 30.00 DAY 8 (MBBL) 5.00 45.00 10.00 5.00 50.00 22.00 INVENTORY (MBBL) 5.00 150.00 5.00 150.00 5.00 150.00 RATE (MBBL/DAY) 5.00 45.00 5.00 50.00 5.00 50.00 RECIPE (%) MIN MAX MIN MAX MIN MAX C1 0.00 22.00 0.00 25.00 0.00 25.00 C2 0.00 20.00 0.00 24.00 0.00 24.00 C3 2.00 10.00 0.00 10.00 0.00 10.00 C4 0.00 6.00 0.00 23.00 0.00 23.00 C5C 0.00 25.00 0.00 25.00 0.00 25.00 C6 0.00 10.00 0.00 10.00 0.00 10.00 C7 0.00 100.00 0.00 0.00 0.00 0.00 C8 0.00 100.00 0.00 0.00 0.00 0.00 C9 0.00 100.00 0.00 0.00 0.00 0.00 SPECIFICATIONS MIN MAX MIN MAX MIN MAX P1 95.00 98.00 98.00 P2 85.00 88.00 88.00 P3 0.72 0.775 0.72 0.775 0.72 0.775 P4 20.00 50.00 20.00 48.00 22.00 50.00 P5 46.00 71.00 46.00 71.00 46.00 71.00 P6 85.00 85.00 85.00 P7 45.00 60.00 45.00 60.00 60.00 90.00 P8 0.015 0.015 0.008 P9 42.00 42.00 42.00 P10 18.00 18.00 18.00 P11 1.00 1.00 1.00 P12 2.70 2.70 2.70 3 Products Price • Motivation • Modeling issues • Problem statement • Proposed optimization approach • Product property prediction • Integrated model Discrete MILP formulation Continuous MILP formulation • Treatment of infeasible solutions • Numerical results
  • 86. 86 Ex. 1: Blending problem (fixed scheduling) INITIAL RECIPE C2 20 C3 3.598 C4 6 C6 7.246 C7 C8 16.156 C1 22 C5 25 ITERATION 1 C1 22 C2 20 C3 2 C4 4.938 C5 25 C6 10 C7 5.181 C8 1.114 C9 9.767 ITERATION 2 C1 22 C2 20 C3 2 C4 4.847 C5 25 C6 10 C7 5.198 C8 0.958 C9 9.997 C1 C2 C3 C4 C5 C6 C7 C8 C9 Convergence to the preferred recipe for product G1 MIN. SPEC. INITIAL RECIPE ITERATION 1 ITERATION 2 MAX SPEC. BLEND COST ($/BBL) 29.30 29.97 29.99 QUALITY Value Value approx. Value Approx. P1 95.00 97.891 97.898 97.7737 97.893 97.8928 P2 85.00 88.417 88.470 88.0493 88.438 88.4335 P3 0.72 0.7418 0.7325 0.7324 0.775 P4 20.00 34.455 35.418 35.409 50.00 P5 46.00 46.00 50.80 50.833 71.00 P6 85.00 96.460 91.797 91.780 P7 45.00 60.00 60.00 60.00 60.00 P8 0.0378 0.0152 0.0150 0.0150 0.0150 0.015 P9 28.458 22.974 22.923 42.00 P10 14.256 15.974 16.005 18.00 P11 0.8964 1.00 1.00 1.00 P12 1.1223 1.5684 1.5488 1.5687 1.5684 2.70 Objective: Find product recipes that satisfy all specifications at minimum cost • Motivation • Modeling issues • Problem statement • Proposed optimization approach • Product property prediction • Integrated model Discrete MILP formulation Continuous MILP formulation • Treatment of infeasible solutions • Numerical results
  • 87. 87 Ex. 2: Blending and scheduling (limited production) G1 0 40 80 120 160 200 240 0 1 2 3 4 5 6 7 8T ime Objective: Make scheduling and blending decisions that maximize profit Min/max production for each time interval Product specifications Operating conditions Demands at specific due dates Discrete time formulation Continuous time formulation Profit: $1,611.21 Operates blenders at full capacity for 2.67 days less than discrete time G2 G3 G1 G2 G3 Mbbl Mbbl EVOLUTION OF COMPONENT STOCKS 0 40 80 120 160 200 240 0 1 2 3 4 5 6 7 8T ime
  • 88. 88 Ex. 3: Blending and scheduling (flexible production) 0 40 80 120 160 200 240 0 1 2 3 4 5 6 7 8T ime 0 40 80 120 160 200 240 0 1 2 3 4 5 6 7 8T ime Objective: Maximize profit of the refinery Product specifications Operating conditions Demands at specific due dates Profit: $2,448.05 (increased by 52%) Operates blenders at full capacity for 2.6 days less than discrete time Increase production by 36% Discrete time formulation Continuous time formulation G1 G2 G3 G1 G2 G3 Mbbl Mbbl EVOLUTION OF COMPONENT STOCKS
  • 89. 89 Computational results Modest number of 0-1 variables Very low CPU time requirements EXAMPLE DISCRETIME CONTINUOUSTIME Binary, Continuous, Constraints Objective CPU Binary, Continuous, Constraints Objective CPU 2 9,757,679 1,611.21 0.26 9,841,832 1,611.21 0.26 3 18,757,679 2,448.05 0.23 18,841,832 2,448.05 0.26 4 9,757,679 1,234.49 0.23 9,841,832 1,234.49 0.26 • Motivation • Modeling issues • Problem statement • Proposed optimization approach • Product property prediction • Integrated model Discrete MILP formulation Continuous MILP formulation • Treatment of infeasible solutions • Numerical results Seconds on Pentium IV (2.4 GHz) with GAMS 21.2 / CPLEX 8.1
  • 90. Multiperiod Refinery Planning Model • LP planning models (PIMS) – Fixed yield model – Swing cuts model • NLP planning models – Aggregate distillation model – Fractionation index (FI) model 90 Alattas, Palou-Rivera, Grossmann (2012) Goal: Develop nonlinear multiperiod planning
  • 91. FI Model (Fractionating Index) – FI Model is crude independent • FI values are characteristic of the column • FI values are readily calculated and updated from refinery data – Avoids more complex, nonlinear modeling equations – Generates cut point temperature settings for the CDU – Adds few additional equations to the planning model 91
  • 92. 92 Multiperiod Refinery Planning Problem • Time horizon with N time periods • Inventories and changeovers of M crudes • Given: refinery configuration Determine • What crude oil to process and in which time period? • The quantities of these crude oils to process? • The sequence of processing the crudes?
  • 93. 93 MINLP Model Max Profit= Product sales minus the costs of product inventory, crude oil, unit operation and net transition times. s.t. Performance CDU (FI Model) each crude, each time period Mass balances, inventories each crude, each time period Sequencing constraints (Traveling Salesman, Erdirik, Grossmann (2008) 0-1 variables to assign crude in period t 0-1 variables to indicate position of crude in sequence 0-1 variables to indicate where cycle is broken Continuous variables flows, inventories, cut temperatures
  • 94. 94 Example: 5 crudes, 4 weeks Produce fuel gas, regular gasoline, premium gasoline, distillate, fuel oil and treated residue Optimal solution ($1000’s) Profit 2369.0 Sales 22327.9 Crude oil cost 16267.5 Other feedstock 44.6 Inventory cost 126.3 Operating cost 3246.5 Transition cost 274.0 MINLP model: 13,680 variables (900 0-1), 15,047 constraints Nonlinear variables: 28% GAMS/DICOPT 23.3.3 (CONOPT/CPLEX): 37 seconds (94% NLP, 6% MIP)
  • 95. 95 Simultaneous Cyclic Scheduling and Control of a Multiproduct CSTR Reactor Given is a CSTR reactor N products Lower bounds demand rates Dynamic model for reactions Determine cyclic schedule Cycle time Sequence Amounts to produce Lenghts transitions and their dynamic profile Objective: Maximize total profit Terrazas, Flores , Grossmann (2008) MIDO Optimization model
  • 98. 98 Simultaneous Approach for solving Dynamic Optimization Problems Problem • Few discrete decisions • Can exhibit instability due to: • Open loop models • Choice of control laws • Can add stability constraints • Requires simultaneous approach • Large, nonlinear NLP sub-problem • NLP expense >> MILP expense
  • 99. 99   K 1k iki0 z(t)zz(t) k x x x x element i k = 1 k = 2 Differential variables Continuous ´ ´ xxxx   K 1k ik(t)uu(t) k Algebraic and Manipulated variables Discontinuous ´ ´ Simultaneous Formulation Collocation on Finite Elements to tfCollocation pts · · ·· · · · · · · · · Polynomials · Mesh points hi ´ ´ ´ ´´ ´´ ´´ ´ ´ ´
  • 101. 101 Optimal sequence ADECB Cycle time = 124.8 h Profit = $7889/h Results
  • 102. 102 Technology 1 Technology I Technology 1 Technology I DMK lpt PUjpt Q PL jkpt Q WH klpt Suppliers Plants j=1,…,J Warehouses k=1,…,K Markets l=1,…,L Wijpt INVkpt CPL ijt CWH kt Model = Plant location problem (Current et al.,1990) plus Long range planning of chemical processes (Sahinidis et al., 1989) • Three-echelon supply chain • Different technologies available at plants • Multi-period model Multiperiod MILP formulation supply chain Guillen, Grossmann (2008)
  • 104. 104 1. Mass balances Plants Warehouses Markets 2. Capacity Expansion Plants Plants Binary variable (1 if technology i is expanded in plant j in period t) Multiperiod MILP formulation (I)
  • 105. 105 Transport links Multiperiod MILP formulation (II) Binary variable (1 if warehouse k is expanded in period t) Warehouses 3. Capacity Expansion Warehouses Binary variable (1 if there is a transport link between plant j and warehouse k in period t) Binary variable (1 if there is a transport link between warehouse k and market l in period t) 4. Transportation links
  • 106. 106 5. Objective function Summation of discounted cash flows Net Earnings Fixed cost Multiperiod MILP formulation (III)
  • 107. 107 Case study (I) Problem : • Redesign a petrochemical SC to fulfill future forecasted demand Case study Existing plant Potential plant
  • 108. 108 One step oxidation of ethylene Cyanation / oxidation of ehtylene Acetaldehyde Acrylonitrile Ethylene Ammoxidation of propylene Propylene Phenol HCN HCl H2SO4 O2 NH4 Hydration of propylene Reaction of benzene and propylene Isopropanol Oxidation of cumene Benzene Cumene Acetone 0.67 0.38 1.35 1 0.61 By-product 0.05 0.83 1.20 0.76 H2SO4 NaOH Others 0.010.010.01 1 Active carbon 0.01 1 0.43 0.15 1 1 0.900.17 0.83 0.83 0.40 1 O2 Technologies in each Plant Site
  • 109. 109 Multiperiod MILP Models: • Number of 0-1 variables: 450 • Number of continuous variables: 4801 • Number of equations: 4682 • CPU* time: 0.33 seconds *Solved with GAMS 21.4 / CPLEX 9.0 (Pentium 1.66GHz) Potential Supply Chain Horizon: 3 yrs
  • 110. 110 NPV = $132 million Optimal Solution
  • 111. 111 Multiperiod Production Planning LP Model i jt jt jt jt j J t T j J t T it ijt jt jt jt jt i I j JM t T j J t T j J t T Max PROFIT S P W V SF                             TtJMjJjIiWW iitijijijt  ,',,' TtJMjIiQW iitijt  ,, TtJj dSd aPa U jtjt L jt U jtjt L jt        , , 1 , j j j t ijt jt jt ijt jt i O i I V W P V W S j J t T           TtJjSdSF jt U jt jt  , TtJjSFSF U jtjt  ,0 TtJjVV U jtjt  , , , , 0jt jt it jtS P W V  Mass balance process Capacity Mass balance chemicals Shortfalls Purchases Sales Limit inventory Fixed price purchases What if prices not fixed but given by contracts?
  • 112. 112 . Discount after d jt amount. TtJRjPPCOST d jt d jt d jt d jt d jt  ,2211  TtJRj P P y P P y d jt d jt d jt d jt d jt d jt d jt d jt                              , 00 0 2 1 2 2 1 1  TtJRjPPP d jt d jt d jt  ,21 Disjunctive model TtJRjPPCOST d jt d jt d jt d jt d jt  ,2211  TtJRjPPP d jt d jt d jt  ,21 TtJRjPPP d jt d jt d jt  ,12111 TtJRjyP d jt d jt d jt  ,0 111  TtJRjyP d jt d jt d jt  ,212  TtJRjUyP d jt d jt d jt  ,0 22 TtJRjyyy d jt d jt d jt  ,21 }1,0{, 21 d jt d jt yy MILP model (Convex hull) Price drops after amount 
  • 113. 113 Bulk discount TtJRj P PCOST y P PCOST y b jt b jt b jt b jt b jt b jt b jt b jt b jt b jt b jt b jt                              , 0 2 2 1 1     Disjunctive Model TtJRjPPCOST b jt b jt b jt b jt b jt  ,2211  TtJRjPPP b jt b jt b jt  ,21 TtJRjyP b jt b jt b jt  ,0 11  TtJRjyUPy b jt b jt b jt b jt b jt  ,222  TtJRjyyy b jt b jt b jt  ,21 }1,0{, 21 b jt b jt yy MILP Model (Convex Hull) Price for total amount drops after amount 
  • 114. 114 Fixed-duration contracts TtJRj P P P PCOST PCOST PCOST y P P PCOST PCOST y P PCOST y l jt l tj l jt l tj l jt l jt l tj l jt l tj l tj l jt l tj l jt l jt l jt l jt l jt l tj l jt l jt l tj l jt l tj l jt l jt l jt l jt l jt l jt l jt l jt l jt l jt                                                                              , 3 2, 3 1, 3 2, 3 2, 1, 3 1, 3 3 2 1, 2 1, 2 1, 2 2 1 1 1             Disjunctive Model TtJRjPCOST LCp T lp tj lp j l jt p t     ,   TtJRjPP LCp T lp tj l jt p t     ,   LCpTTTTtJRjyUPy p t plp j l j lp tj lp j lp j  ,,,   TJRjyy l j LCp lp j   , }1,0{lp jy  , }3,2,1{LC MILP Model Price gradually drops if amount  purchased fixed number of months
  • 115. 115 Case 0-1 variables Cont. variables Constraints CPU time [s] Time periods Solution [105 $] 1 0 12,606 13,416 0.18 10 18,085.95 2 6,160 40,606 46,002 0.95 10 22,073.06 Computational Results 0 100 200 300 400 500 600 700 800 900 1000 1 2 3 4 5 6 7 8 9 10 Time periods Qauntities[kton] fixed Ethy fixed Acet fixed Naph discount Ethy discount Acet discount Naph bulk Ethy bulk Acet bulk Naph length Ethy length Acet length Naph Purchases raw materials 0 10000 20000 30000 40000 50000 60000 70000 80000 90000 PROFIT REVENUES PURCHASES OPERATION STORAGE*100 SHORTFALLS 1E5$ Without Contracts With Contracts Comparison without/with contracts
  • 116. 116 Computational Results ILOG CPLEX Dec 1, 2008 22.9.2 LNX 7311.8080 LX3 x86/Linux Cplex 11.2.0, GAMS Link 34 MIP Presolve eliminated 44425 rows and 38571 columns. Reduced MIP has 909 rows, 1367 columns, and 3267 nonzeros. Reduced MIP has 270 binaries, 0 generals, 0 SOSs, and 0 indicators. Implied bound cuts applied: 3 Flow cuts applied: 40 Gomory fractional cuts applied: 15 MIP Solution: 22073.060039 (959 iterations, 21 nodes) MODEL STATISTICS BLOCKS OF EQUATIONS 47 SINGLE EQUATIONS 46,002 BLOCKS OF VARIABLES 30 SINGLE VARIABLES 40,606 NON ZERO ELEMENTS 85,033 DISCRETE VARIABLES 6,160 S O L V E S U M M A R Y MODEL MULT OBJECTIVE NPV TYPE MIP DIRECTION MAXIMIZE SOLVER CPLEX FROM LINE 878 **** SOLVER STATUS 1 NORMAL COMPLETION **** MODEL STATUS 1 OPTIMAL **** OBJECTIVE VALUE 22073.0600 RESOURCE USAGE, LIMIT 0.470 10000.000 ITERATION COUNT, LIMIT 1437 1000000
  • 117. 117 Decomposable MILP Problems A D1 D3 D2 Complicating Constraints max 1,.. { , 1,.. , 0} T i i i i i c x st Ax b D x d i n x X x x i n x        x1 x2 x3 Lagrangean decomposition complicating constraints D1 D3 D2 Complicating Variables A x1 x2 x3y 1,.. max 1,.. 0, 0, 1,.. T T i i i n i i i i a y c x st Ay D x d i n y x i n          Benders decomposition complicating variables Note: can reformulate by defining 1i iy y  and apply Lagrangean decomposition Complicating constraints
  • 118. 118  MILP optimization problems can often be modeled as problems with complicating constraints.  The complicating constraints are added to the objective function (i.e. dualized) with a penalty term (Lagrangean multiplier) proportional to the amount of violation of the dualized constraints.  The Lagrangean problem is easier to solve (eg. can be decomposed) than the original problem and provides an upper bound to a maximization problem. Lagrangean Relaxation (Fisher, 1985)
  • 119. 119 n Zx eDx bAx cxZ     max bAx Assume that is complicating constraint n LR Zx eDx AxbucxuZ    )(max)( 0where u Lagrange multipliers (IP) Assume integers only Easily extended cont. vars. Lagrangean Relaxation (Fisher, 1985)
  • 120. 120 0uwhere ( )LRZ u Z n Zx eDx bAx cxZ     max n LR Zx eDx AxbucxuZ    )(max)( bAx  ZuZLR )( 0)(  Axb 0u This is a relaxation of original problem because: i) removing the constraint relaxes the original feasible space, ii) always holds as in the original space since and Lagrange multiplier is always . Lagrangean Relaxation Yields Upper Bound Complicating Constraint  Lagrangean Relaxation
  • 121. 121 n LR Zx eDx AxbucxuZ    )(max)(Relaxed problem: min ( ) 0 D LRZ Z u u   Lagrangean dual: )( 1uZLR )( 2uZLR )( 3uZLR Z n Zx eDx bAx cxZ     maxOriginal problem: DZdual gap Lagrangean Relaxation
  • 122. 122   n xu D Zx eDx AxbucxZ      )(maxmin 00 min ( ) 0 D LRZ Z u u   n LR Zx eDx AxbucxuZ    )(max)(Relaxed problem: Lagrangean dual: Combined Relaxed and Lagrangean Dual Problems: Graphical Interpretation
  • 123. 123   n xu D Zx eDx AxbucxZ      )(maxmin 00  n ZxeDxx  ,  n ZxbxAx  , Optimization of Lagrange multipliers (dual) can be interpreted as optimizing the primal objective function on the intersection of the convex hull of non- complicating constraints set and the LP relaxation of the relaxed constraints set . 0 ),( max       x ZxeDxConvx bAx cxZ n D Nice Proof Frangioni (2005) Graphical Interpretation
  • 124. 124  eDxx  Conv n ZxeDxx  ,  bAxx  cx ZLP ZD Z 0 ),( max       x ZxeDxConvx bAx cxZ n D dual gap Graphical Interpretation
  • 125. 125 Lagrangean relaxation yields a bound at least as tight as LP relaxation  eDxx  Conv  n ZxeDxx  ,  bAxx  cx ZLP ZD Z ( ) ( )D LR LPZ P Z Z u Z   Theorem
  • 126. 126  Lagrangean Decomposition is a special case of Lagrangean Relaxation.  Define variables for each set of constraints, add constraints equating different variables (new complicating constraints) to the objective function with some penalty terms. n Zx eDx bAx cxZ     max n n Zy Zx yx eDy bAx cxZ         max New complicating constraints n n LD Zy Zx eDy bAx xyvcxvZ        )(max)( Dualize x = y Lagrangean Decomposition (Guignard & Kim, 1987)
  • 127. 127 n n LD Zy Zx eDy bAx xyvcxvZ        )(max)( n LD Zx bAx xvcvZ    )(max)(1 n LD Zy eDy vyvZ    max)(2 Subproblem 1 Subproblem 2  )()(min 21 0 vZvZZ LDLD v LD   Lagrangean dual Lagrangean Decomposition (Guignard & Kim, 1987)
  • 128. 128  Lagrangean decomposition is different from other possible relaxations because every constraint in the original problem appears in one of the subproblems. Subproblem 1 Subproblem 2 Graphically: The optimization of Lagrangean multipliers can be interpreted as optimizing the primal objective function on the intersection of the convex hulls of constraint sets. Notes
  • 129. 129 Z Graphical Interpretation Subproblem 1  eDxx   bAxx  cx ZLP ZLR Conv n ZxeDxx  , Conv n ZxbxAx  , ZLD Subproblem 2 Note: ZLR, ZLD refer to dual solutions
  • 130. 130  The bound predicted by “Lagrangean decomposition” is at least as tight as the one provided by “Lagrangean relaxation” (Guignard and Kim, 1987)  For a maximization problem LPLRLD ZZZPZ )( Solution of Dual Problem ZLR or ZLD u or  minimum Piecewise linear => Non-differentiable Theorem
  • 131. 131 1,... max{ ( ) , } max { ( )}k k x k K cx u b Ax Dx d x X cx u b Ax         Assuming Dx  d is a bounded polyhedron (polytope) with extreme points 1,2...k x k K , then How to iterate on multipliers u? 0 01,.. min max{ ( )} min{ ( ), 1,.. }k k k k u uk K cx u b Ax cx u b Ax k K           => Dual problem Cutting plane approach 1 min . . ( ), 1,.. 0, k k ns t cx u b Ax k K u R          Kn = no. extreme points iteration n subgradient Note: xk generated from max{cx + uk(b-Ax) subproblems
  • 132. 132 Update formula for multipliers (Fisher, 1985) 21 ( )( ) / [0,2] k k LB k k k k LD k u u Z Z b Ax b Ax where          Subgradient ( )k k s b Ax  Steepest descent search 1k k k u u s   Subgradient Optimization Approach Note: Can also use bundle methods for nondifferentiable optimization Lemarechal, Nemirovski, Nesterov (1995)
  • 133. 133 Solution of Langrangean Decomposition Select MaxI, ε, ak Set UB = +, LB= -  Solve (RP’) to find v0 | ZLD - ZLB |<ε? or k=MaxI? Solve (P) with fixed binaries or use heuristics: Obtain ZLB Solve (P1) and (P2): Obtain ZLD k = k+1 Update uk For k = 1..K Return ZLB & Current Solution YES NO Iterative search in multilpliers of dual Notes: Heuristic due to dual gap Obtaining Lower Bound might be tricky Remarks 1. Methods can be extended to NLP, MINLP 2. Size of dual gap depends greatly on how problems are decomposed 3. From experience gap often decreases with problem size. Upper Bound Lower Bound
  • 134. 134 Multisite planning with sequence dependent changeovers is an integrated problem Month 1 Month 2 Month n -1 Month n Multi-site Network Market 3 Market 2 Market 1 A D B C Continuous Processes Production Cycle Given: • Network of production sites and markets • Capacities in each plant for producing different products (e.g. polymers) • Forecasted demands • All costs and product prices Determine: • Product assignment to sites • Production and shipment volumes • Inventory levels • Sequence of production in each site Objective: Maximize profit Profit = Sales - Operating costs - Inventory costs - Distribution costs- Changeover costs Production Site 1 Production Site 2 Production Site n-1 Production Site n
  • 135. 135 The solution coordinates sites and markets across time periods A B A BSite 1 Site 2 A 20 20 100 100 50 Site 1 Site 2 Market 1 Market 2 Site 1 Site 2 Market 1 Market 2 10 10 20 100 20 60 40 40 Month 1 Month 2 Changeover time Production time Inventory Distribution Sales Month 1 Month 2 Changeovers Inventories Decrease Capacity Increase Cost
  • 136. 136 Mathematical Model  Objective: Maximize Profit subject to  Market constraints • Balance of sales vs. shipments to markets  Production constraints • Capacity constraints: Limited capacity at each production sites • Inventory constraints: Penalties for inventory over or under target  Links across periods: a) Carry over inventories from last month b) Changeover to first product in next month • Time Balances: Task should not take longer than available time • Sequencing Constraints: Traveling Salesman Problem Constraints Source of complexity of the model: TSP constraints
  • 137. 137 Mathematical Model (MILP) sk t i ski t m smi t si t si t si t xfzzz finvinvp , 1 ,, ,,,, 1 ,          m s t tsmtsmtmtmtsts fgxcxcprofit ,,,,, 2 , 2 , 1 , 1 m,tfx s tsmtm   0,,, 2 Links across time periods Objective Function            i s t si t si t i k s t ski t ski t ski t ski t m s smi t smi t t i m s si t si t si t mi t mi t tpCOP zzzzzzCTR f penpsl profit ,, ,,,,,,,, ,,,, ,,,,, ] )([   Market Constraints  s smi t mi t fsl ,,, tsfxJxJxJ m tsmtstststststs ,0,,1, 1 , 3 , 1 , 2 1, 1 , 1   Sites Variables Market Variables Shipments Shipments Market Variables Site Variables Site Variables Site Variables Shipments
  • 138. 138 Mathematical Model (MILP) si t si t si t si t si t si t yCAPp tpCAPp ,,, ,,,   sisi t si t si t sisi t QUOTAinvpen invQUOTApen ,,, ,,,     t s t i si t i ski t ski t ski t k kis t HTRTtp zzzzzztrt     , ,,,,,,,  Capacity Constraints Inventory Time Balance Sequencing             ik k sk t si t sii t sk t sii t sii t si t ski t ski t i k ski t i ski t sk t k ski t si t yyz yz zy zzz zz zy zy ,,,, ,,, ,,, ,,,, ,, ,,, ,,, 1 1 si t k ski t i si t i si t k ski t si t i ski t sk t xlzzz xl xf zzxl zzxf ,,, , , ,,, ,,, 1 1           tsyBxA tstststs ,e ts,,,, 1 ,  Market Variables Product assignment Variables
  • 139. 139 Decomposition strategies are required Multisite production planning with sequence dependent changeovers integrates functions but involves large-scale optimization problem Computational expense Performance (Economic Profit) Problem size More sites, markets, products and time periods Decomposition strategies are required Options: Benders, Lagrangean, Two - Level. Problem can become intractable 3 markets 3 sites 3 time periods 3 products 6 markets 3 sites 6 products 6 markets 6 sites 6 products 6 time periods 6 time periods Solved in 1 s Solved in 780 s Not solved to optimality in 10,000 s 982 cont. vars. 36 discrete vars. 1,042 constraints 5,437 cont. vars. 126 discrete vars. 4,984 constraints 10,621 cont. vars. 252 discrete vars. 9463 constraints
  • 140. 140 • Temporal and Spatial Lagrangean decompositions for multi-scale problem Two types of Lagrangean decomposition Simultaneous solution of sites, markets across time periods Production Sites Markets Time period 1 Time period 2 Production Sites Markets Time period 1 Time period 2 Time periods Solved Indepen- dently Time periods Solved Indepen- dently Sites solved independentlyProduction Sites Markets Time period 1 Time period 2 Markets solved independently Spatial Decomposition Temporal Decomposition Full space solution Which is better ?
  • 141. 141 Example 1: 3 sites, 3 markets, 3 months & 3 products Price [$/ton] Operating Cost [$/ton] Inventory Cost [$/ton] Distrib. Cost [$/ton] Product A 1.20 0.010 0.010x10-2 0.2 Product B 1.00 0.008 0.008x10-2 0.2 Product C 1.00 0.015 0.015x10-2 0.2 A B C A - 100 | 0.2 200 | 0.4 B 100 | 0.2 - 100 | 0.2 C 200 | 0.4 100 | 0.4 - Changeover Costs | Time [$] | month fractionsPrices and Costs Month 1 Month 3 Market 3 Market 2 Market 1 Production Site 1 Production Site 2 Production Site 3 Month 2 Forecast for Market 3 0 50 100 150 200 250 300 350 400 450 500 Month 1 Month 2 Month 3 Tons Product A Product B Product C
  • 142. 142 B Example 1 - Output B C BSite 1 Site 2 0.2 Site 1 Site 2 Market 1 Market 2 Month 1 Month 2 Month 2 Site 3 Market3 Site 3 Month 3 0.780.02 0.59 0.390.02 A 0.51 0.470.02 A A 0.182 0.7980.02 0.133 A 0.8470.02 Profit: $ 2.576 million
  • 143. 143 10 20 30 40 50 60 70 80 90 100 2 2.5 3 3.5 x 10 4 Iteration ObjectiveFunction[$] Temporal vs. Spatial Decomposition Temporal Lagrangean Subproblem Feasible Solution (Temporal Decomposition) Spatial Lagrangean Subproblem Feasible Solution (Spatial Decomposition) Example 2 Full space Temporal Spatial Upper Bound 28,820 27,970 31,026 Best Feasible Solution 27,373 26,838 27,322 Gap [%] 5 4 13 CPU time [seconds] 10,000 + 804 5489 Temporal Spatial Sum of LP multipliers 171 1176 Size: 6 Sites, 6 Market, 6 Months, 6 Products (10,621 cont. vars., 252 discrete vars., 9463 constraints) Objectives: Compare computational performances of full space model, temporal and spatial decomposition Upper Bounds Lower Bounds Temporal is superior Selection criterion predicts better performance of the temporal decomposition Numerical results confirm expected results Temporal decomposition obtains better result than full space solution Observations: STvTw  
  • 144. 144 Time Safety Stock Reorder Point Order placed Lead Time InventoryLevel Replenishment • Inventory System under Demand Uncertainty  Total Inventory = Working Inventory (WI) + Safety Stock (SS)  Estimate WI with Economic Order Quantity (EOQ) model Stochastic Inventory System
  • 145. 145 Time InventoryLevel Average Inventory (Q/2) Order quantity (Q)  F = Fixed ordering cost for each replenishment  h = Unit inventory holding cost Replenishment Constant Demand Rate = D Economic Order Quantity Model
  • 146. 146 Total Cost 2 * 2     Q h Q D F Q FD h Order Cost Curve Order quantity Q Annual Cost Optimal Order Quantity (Q*) Minimum Total Cost Economic Order Quantity (EOQ) Economic Order Quantity Model
  • 147. 147 Time Inventory Level Lead Time Order Quantity (Q) Reorder Point (r)  When inventory level falls to r, order a quantity of Q  Reorder Point (r) = Demand over Lead Time Order placed Replenishment (Q,r) Inventory Policy
  • 148. 148 Reorder Point (r) Time InventoryLevel Lead Time Place order Receive order Safety Stock Reorder Point = Expected Demand over Lead Time + Safety Stock Stochastic Inventory = Working Inventory (EOQ) + Safety Stock Stochastic Inventory Model
  • 149. 149 Safety Stock (Service Level) Lead time = L Safety Stock Level
  • 150. 150* GD Eppen, “Effect of centralization in a multi-location newsboy problem”, Management Science, 1979, 25(5), 498 • Single retailer: Retailer Retailer Retailer Retailer Retailer • Centralized system:  All retailers share common inventory  Integrated demand • Decentralized system:  Each retailer maintains its own inventory  Demand at each retailer is Risk-Pooling Effect*
  • 151. 151 • Given: A potential supply chain  Including fixed suppliers, retailers and potential DC locations  Each retailer has uncertain demand, using (Q, r) policy  Assume all DCs have identical lead time L (lumped to one supplier) Suppliers RetailersDistribution Centers Problem Statement
  • 152. 152 • Objective: (Minimize Cost)  Total cost = DC installation cost + transportation cost + fixed order cost + working inventory cost + safety stock cost • Major Decisions (Network + Inventory)  Network: number of DCs and their locations, assignments between retailers and DCs (single sourcing), shipping amounts  Inventory: number of replenishment, reorder point, order quantity, neglect inventories in retailers retailer supplier DC Supplier RetailersDistribution Centers Problem Statement
  • 153. 153 Annual EOQ cost at a DC: ordering cost transportation cost Working inventory cost v(x)= g + ax EOQ cost
  • 154. 154 The optimal number of orders is: The optimal annual EOQ cost: Annual working inventory cost at a DC: ordering cost transportation cost inventory cost Convex Function of n Working Inventory cost
  • 155. 155 • Demand at retailer i ~ N(i,  i) • Centralized system (risk-pooling) • Expected annual cost of safety stock at a DC is: where za is the standard normal deviate for which Reorder Point (ROP) Time InventoryLevel Lead Time Safety Stock Cost for DCs
  • 157. 157 retailer supplier DC DC – retailer transportation Safety Stock EOQ DC installation cost Supplier RetailersDistribution Centers Assignments Nonconvex INLP INLP Model Formulation
  • 158. 158 • Small Scale Example  A supply chain includes 3 potential DCs and 6 retailers (pervious slide)  Different weights for transportation (β) and inventory (θ) β = 0.01, θ = 0.01 β = 0.1, θ = 0.01 β = 0.01, θ = 0.1 • Model Size for Large Scale Problem  INLP model for 150 potential DCs and 150 retailers has 22,650 binary variables and 22,650 constraints – need effective algorithm to solve it … Illustrative Example
  • 159. 159 Non-convex MINLP Avoid unbounded gradient • Variables Yij can be relaxed as continuous variables (MINLP)  Local or global optimal solution always have all Yij at integer  If h=0, it reduces to an “uncapacitated facility location” problem  NLP relaxation is very effective (usually return integer solutions) Z1j Z2j Model Properties
  • 160. 160 • MINLP Heuristic Method  Solve the convex relaxation (MILP), using secant for convex envelope  Use optimal value of X and Y variables as initial point, solve the reformulated problem with an MINLP solver (BARON, Dicopt, etc.) Convex Relaxation Algorithm 1 – MINLP Heuristic
  • 161. 161 Supplier RetailersDistribution Centers • Lagrangean Relaxation (LR) and Decomposition  LR: dualizing the single sourcing constraint:  Spatial Decomposition: decompose the problem for each potential DC j  Implicit constraint: at least one DC should be installed,  Use a special case of LR subproblem that Xj=1 decompose by DC j Algorithm 2 - Lagrangean Relaxation
  • 162. 162 Solve the reduced NLP to get UB No Initialization Convergence or iteration limit Yes Stop Solve the | j | LR subproblem for Xj=1, set Vj as the optimal obj. fun. value Update subgradient Update LB, adjust step length parameter, fix all the X variables NoYes LR Algorithm Flowchart
  • 163. 163 • Case 1: 33 retailers and DCs  Each instance has the same number of potential DCs as the retailers 300 600 900 1200 1500 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 θ ObjectiveFunctionValue DICOPT, SBB, BARON, Lagrangean 0.01 0.1 1 10 100 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 θ CPUTime(s) BARON (global) DICOPT (Algorithm 1) SBB (Algorithm 1) Lagrangean (Algorithm 2) 300 600 900 1200 1500 0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01 β ObjectiveFunctionValue DICOPT, SBB BARON, Lagrangean 0.1 1 10 100 0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01 β CPUTime(s) BARON (global) DICOPT (Algorithm 1) SBB (Algorithm 1) Lagrangean (Algorithm 2) Computational Results
  • 164. 164 • Case 2: 88 ~150 retailers  Each instance has the same number of potential DCs as the retailers No. Retailers β θ Algorithm 1 Algorithm 2 DICOPT (CONOPT) SBB (CONOPT) BARON (global optimum) BARON+CONOPT Lagrangean Obj. fun. Time (s) Obj. fun. Time (s) Obj. fun. Time (s) Obj. fun. Time (s) 33 0.001 0.1 398.64 0.22 398.64 0.20 398.64 53.31 398.64 15.8 33 0.001 0.5 580.46 0.23 580.46 0.22 580.46 74.27 580.46 17.9 33 0.001 1.0 728.21 0.17 728.21 0.17 728.21 39.14 728.21 15.85 33 0.001 5.0 1460.40 0.18 1460.40 0.20 1460.40 93.22 1460.40 37.28 33 0.003 0.1 770.26 0.23 770.26 0.27 734.60 75.67 734.60 42.79 88 0.001 0.1 935.02 20.89 935.02 20.94 867.55* > 10 hr 867.55 356.1 88 0.001 0.5 1386.28 42.16 1386.28 38.50 1295.02* > 10 hr 1230.99 322.54 88 0.005 0.1 2297.74 42.11 2297.74 42.16 2297.80* > 10 hr 2284.06 840.28 88 0.005 0.5 3082.19 42.35 3082.19 42.38 3022.67* > 10 hr 2918.3 934.85 150 0.001 0.5 2205.37 229.57 2205.37 228.31 1847.93* > 10 hr 1847.93 659.1 150 0.005 0.1 3689.71 397.88 3689.71 398.34 3689.71* > 10 hr 3689.71 3061.2 * Suboptimal solution obtained with BARON for 10 hour limit. Computational Results
  • 165. 165 No. Retailers β θ Lagrangean Relaxation (Algorithm 2) BARON (global optimum) Upper Bound Lower Bound Gap Iter. Time (s) Upper Bound Lower Bound Gap 88 0.001 0.1 867.55 867.54 0.001 % 21 356.1 867.55* 837.68 3.566 % 88 0.001 0.5 1230.99 1223.46 0.615 % 24 322.54 1295.02* 1165.15 11.146 % 88 0.005 0.1 2284.06 2280.74 0.146 % 55 840.28 2297.80* 2075.51 10.710 % 88 0.005 0.5 2918.3 2903.38 0.514 % 51 934.85 3022.67* 2417.06 25.056 % 150 0.001 0.5 1847.93 1847.25 0.037 % 13 659.1 1847.93* 1674.08 10.385 % 150 0.005 0.1 3689.71 3648.4 1.132 % 53 3061.2 3689.71* 3290.18 12.143 % • Case 2: 88 ~150 retailers  Each instance has the same number of potential DCs as the retailers * Suboptimal solution obtained with BARON for 10 hour limit. Computational Results
  • 166. Carnegie Mellon 166 Van Hentenryck (1988), Puget (1994), Hooker (2000) Variables: Continuous, integer, boolean Constraints: Algebraic h(x) ≤ 0 Disjunctions [ A1x ≤ b1 ]  A2x ≤ b2 ] Conditional If g(x) ≤ 0 then r(x) ≤ 0 Unusual Operators: All different all different(x1, x2, ...xn) Constraint (Logic) Programming 
  • 167. Carnegie Mellon 167 Constraint Programming 1. Declarative language with high level operators (OPL-ILOG) 2. Tree search: implicit enumeration Depth first search Lower bound: partial solution Upper bound: feasible solution 3.Constraint propagation: Domain Reduction Reduction of bounds/discrete values: a) Tighten bounds linear/monotonic functions b)"edge-finding" for jobshop scheduling Job i Job j Earliest Latest Earliest Latest Earliest Latest Earliest Latest {Job i before Job j} OR {Job j before Job i} {Job j before Job i}
  • 168. Carnegie Mellon 168 Constraint Programming Example Problem Find the order at which jobs A, B and C are sequenced on machine M Job Processing Time Release Due A 2 0 5 B 4 1 9 C 3 2 7
  • 169. Carnegie Mellon 169 A1 A{1,2,3} B{1,2,3} C{1,2,3} Job Processing Time Release Due A 2 0 5 B 4 1 9 C 3 2 7 A2 A3 B1 B2 B3 B1 B2 B3 B1 B2 B3 C1 C2 C3 C 3 ABC C2 ACB
  • 170. Carnegie Mellon 170 A{1,2,3} B{1,2,3} C{1,2,3} Job Processing Time Release Due A 2 0 5 B 4 1 9 C 3 2 7 A1 A2 A3 B1 B2 B3 B1 B2 B3 B1 B2 B3 C1C2C3 C3 C2 C1 ABC ACB BAC CAB BCA CBA
  • 171. Carnegie Mellon 171 A{1,2,3} B{1,2,3} C{1,2,3} Job Processing Time Release Due A 2 0 5 B 4 1 9 C 3 2 7 A must be 1st A1 A2 A3 B2 B3 B1 B3 B1 B2 C1C2C3 C3 C2 C1 ABC ACB BAC CAB BCA CBA
  • 172. Carnegie Mellon 172 A{1,2,3} B{1,2,3} C{1,2,3} Job Processing Time Release Due A 2 0 5 B 4 1 9 C 3 2 7 A must be 1st C must be 2nd B2 B3 C2C3 A1 ABC ACB
  • 173. Carnegie Mellon 173 Job Processing Time Release Due A 2 0 5 B 4 1 9 C 3 2 7 A must be 1st C must be 2nd A{1,2,3} B{1,2,3} C{1,2,3} B3 C2 A1 ACB
  • 174. Carnegie Mellon 174 Constraint vs. Mathematical Programming Constraint Programming  Fast algorithms for special problems Computationally effective for highly constrained, feasibility and machine sequencing problems Not effective for optimization problems with complex structure and many feasible solutions Mathematical Programming  Intelligent search strategy but computationally expensive for large problems  Does not exploit special structure Computationally effective for optimization problems with many feasible solutions Not effective for feasibility problems and machine sequencing problems MAIN IDEA Decompose problem into two parts  Use MP for high-level optimization decisions  Use CP for low-level sequencing decisions
  • 175. Carnegie Mellon 175 Hybrid MILP/CP Models Two classes of scheduling problems: Multistage batch plants Continuous time State Task Network •Combine Constraint Programming (CP) with Mixed Integer Linear Programming (MILP) to overcome combinatorial explosion •Two subproblems: assignment (MILP) and sequencing (CP)
  • 176. Carnegie Mellon 176 Dvyx vyxGts xfM   ,, 0),,(.. )(min:)2( pmn T Rvyx avCyBxA aCvByAxts xcM    ,}1,0{,}1,0{ .. min:)1( MILP/CP Hybrid Models MILP: CP: Complicating rows Complicating variables (not in objective function) Hybrid: MILP (optimality) CP (feasibility) Jain, Grossmann (2001) The picture can't be displayed. Dvyx Rvyx vyxG xx aCvByAxts xcM pmn T      ,, ,}1,0{,}1,0{ 0),,( .. min:)3(
  • 177. Carnegie Mellon 177 Theorem: If the MILP/CP decomposition method is applied to solve problem (M3) with the above cuts, the method converges to the optimal solution or proves infeasibility in a finite number of iterations. Decomposition Hybrid Model MILP CP No-good Cuts (weak) Balas & Jeroslow (1972)
  • 178. Carnegie Mellon 178 Job 1 Job 2 Job n Time Unit 1 Unit m Time Release date Due date Processing time Scheduling of parallel units (Single Stage) (Jain and Grossmann, 2001) Given: n jobs/orders (release dates, processing times, due dates) m units (cost different for each unit) Find schedule that minimizes cost and meets all due dates
  • 179. Carnegie Mellon 179 Decomposition Strategy Job 1 Job 2 Job 3 Machine 1 Machine 2 Machine 3 MILP CP Job 4 Job 5 Job 6 Assignment Sequencing
  • 180. Carnegie Mellon 180 Hybrid Optimization Model Mmrdpx Iix Iixpdts rtsts xC iiii Ii imim Mm im Mm imimii ii Ii Mm imim             }{min}{max 1 .. min Assignment tasks to units: Mixed-integer linear programming     otherwise munittoitaskif xim 0 1
  • 181. Carnegie Mellon 181 MmIimzthenxif iim  ,)()1( IiDdurationiDstartiIiMz MmIitsx Iitrequiresi pdurationi Iipdstarti Iirstarti i iim z z zi i i i i       .,.; ,0},1,0{ . . . Sequencing of tasks in each unit Global constraint (implicit) Constraint Programming
  • 182. Carnegie Mellon 182 Decomposition Strategy Separate problem into assignment and sequencing problems Assign jobs Sequence jobs Feasible? Add cuts Stop YesNo Fix assignments Analyze solution Find the minimum assignment (production) cost MILP Find a feasible sequence for the chosen assignment CP
  • 183. Carnegie Mellon 183 Cuts No sequence can be found in machine 2 in the assignment of is infeasible and can be cut out The cuts also exclude large number of supersets CP-1 CP-2 CP-3 due date Cut out this assignment OK OK Inf. A B C ED F 3 2 1 (yD2 + yE2 ≤ 1)   k m m k k im k m m k Ii im IBxiI MmBx k m    ,1 1Cuts for infeasible assignments:
  • 184. Carnegie Mellon 184 Results Test Problems MILP: CPLEX 6.5 CP: ILOG Scheduler 4.4 SUN Ultra 60 Tasks Units MILP(s) CP(s) Hybrid (s) 3 2 0.04 0.01 7 3 0.31 0.04 12 3 926.3 3.84 15 5 1784.7 553.5 20 5 18,142.7 * 68,853.5 * 0.02 0.6 4.5 2.6 14.6 * Suboptimal Order magnitude reductions!
  • 185. Carnegie Mellon 185 Effect of new data Release dates, due dates and durations with arbitrary rational numbers (Harjunkoski et al., 2002) 2 machines 3 machines 3 machines 5 machines 5 machines 3 jobs 7 jobs 12 jobs 15 jobs 20 jobs Problem Set 1 Set 2 Set 1 Set 2 Set 1 Set 2 Set 1 Set 2 Set 1 Set 2 MILP 0.04 0.04 0.31 0.27 926.3 199.9 1784.7 73.3 18142.7 102672.3 2M, 3J 3M, 7J 3M, 12J 5M, 15J 5M, 20J Problem Set 1 Set 2 Set 1 Set 2 Set 1 Set 2 Set 1 Set 2 Set 1 Set 2 Hybrid 0.00 0.01 0.51 0.02 5.36 0.03 0.64 0.92 36.63 4.79 CPU times from Jain and Grossmann (2001) (integer numbers) CLP 0 0.02 0.04 0.14 3.84 0.38 553.5 9.28 68853.5 2673.9 Hybrid 0.02 0.01 0.52 0.02 4.18 0.02 2.25 0.04 14.13 0.41