Professional Documents
Culture Documents
Sylvain Mouret
Ignacio E. Grossmann
Pierre Pestiaux
Outline
Problem statement
Proposed approach
Conclusion
Introduction
Goal
Optimize the schedule of operations for the crude-oil problem using a MINLP scheduling model
Tools
MINLP: Mixed Integer NonLinear Programming
MILP: Mixed Integer Linear Programming
NLP: NonLinear Programming
Outline
Problem statement
Proposed approach
Problem statement
Oil refinery
Crude-oil blending scheduling
Scheduling formulations
Proposed approach
Basic idea
MINLP model
Search procedure
Conclusion
Conclusion
Outline
Problem statement
Proposed approach
Conclusion
Oil refinery
Outline
Problem statement
Proposed approach
3 types of operations:
Unloading: Vessel unloading to storage tanks
Transfer: Transfer from storage tanks to charging tanks
Distillation: Distillation of charging tanks
Crude vessels
Storage Tanks
Charging Tanks
CDU
Conclusion
Outline
Problem statement
Proposed approach
Problem definition
Given
Refinery configuration
Logistics constraints
Initial tank inventory and composition
Vessel arrival time, inventory level and composition
Distillation specifications and demands (planning decisions)
Determine
Required operations
Timing decisions
Transfer volumes
Minimize
Costs of distilled crude-oil mixtures
5
Conclusion
Outline
Problem statement
Proposed approach
Refinery operations
Gantt chart
Conclusion
Outline
Problem statement
Proposed approach
Conclusion
Scheduling formulations
Scheduling formulations
Multi-Operation Time-Slots
Outline
Problem statement
Proposed approach
Conclusion
Basic idea
Basic Idea
Basic steps
1
MINLP model
Binary variables: assignment variables
Continuous variables: time, volume and level variables
Outline
Problem statement
Proposed approach
Conclusion
Basic idea
Storage Tanks
CDU
1
25
Tank 3
Vessel 1
Charging Tanks
50
Tank 5
5
8
100
Vessel 2
Task
Operation
Distillation 7
Transfer 6
50
Distillation 8
100
Transfer 3
25
Transfer 5
19.5
Unloading 1
100
Transfer 3
5.5
Distillation 7
95
Transfer 6
5.5
10
Unloading 2
100
CDU
50
Tank 4
Tank 6
Volume
0
9
75
Outline
Problem statement
Proposed approach
Conclusion
MINLP model
10
Outline
Problem statement
Proposed approach
Conclusion
MINLP model
Non-overlapping constraints
slot i
NOij = 1 TE i TS j
NOij
TE i
slot i
slot j
Zvi + Zwj 1
TS j + M (1 NOij )
For example,
Vessel unoadings 1 and 2:
NOij Z1i + Z2j 1
Distillation transfers 7 and 8 (use same CDU):
NOij Z7i + Z8j 1
11
slot j
Outline
Problem statement
Proposed approach
Conclusion
MINLP model
Level
Lit
Vvi
v IN(t)
P
100
Vvi
P
v OUT (t)
Lt Lit Lt
0
1 2 3 4 5 6 7 8 9 10
Zvi = 1 Vvci
P v
Lit = Litc
c
P
i
Vvi = Vvc
c
12
Litc
Lit
(nonlinear)
linear relaxation
Time
slots
Outline
Problem statement
Proposed approach
Conclusion
MINLP model
Other constraints
Continuous distillation
Flowrate limitations: FR v (TE i TS i ) Vvi FR v (TE i TS i )
Scheduling constraints:
Vessels availability time window
Precedence constraints
X X
tCDUs
13
COSTc Lntc
Outline
Problem statement
Proposed approach
Conclusion
Search procedure
MILP-NLP decomposition
Decomposition steps
1
14
MILP
minimize
objective
s.t.
all constraints
except composition constraints
i
NLP
minimize
objective
s.t.
all constraints
Outline
Problem statement
Proposed approach
Conclusion
Computational results
LP
Infeas
117.5
83.7
82.5
82.5
82.5
82.5
82.5
82.5
MILP
CPU
Nb of Nodes
NLP
Gap
Infeas
Infeas
Infeas
120.28
120.25
120.25
120.25
120.25
0s
1s
2s
3s
4s
7s
6s
2s
1
29
115
147
116
97
75
17
121.25
120.25
120.25
120.25
120.25
0.8%
0%
0%
0%
0%
Outline
Problem statement
Proposed approach
Computational results
Algorithm
MINLP-NLP
DICOPT
SBB
AlphaECP
BARON
Solution
120.25
120.25
120.25
120.25
120.25
CPU time
2s
18s
81s
468s
219s
Conclusion
Outline
Problem statement
Proposed approach
Conclusion
Computational results
Larger instances
17
Vessels/Storage/Charging/CDUs
2/2/2/1
3/3/3/2
3/3/3/2
3/6/4/3
Slots
13
21
21
26
MILP
120.25
198.83
59.60
107.47
NLP
120.25
198.83
62.50
107.47
Gap
0%
0%
4.9%
0%
CPU
2s
104s
73s
506s
Outline
Problem statement
Proposed approach
Conclusion
18
Scheduling formulation
Discrete formulation
19
LP
107.87
107.49
107.47
107.45
107.45
MILP
Infeas
107.80
107.77
107.68
107.63
CPU
0s
385s
29s
*3600s
*3600s
Nb of nodes
1
74627
1853
*199800
*41300
NLP
Gap
107.80
Local Infeas
107.68
107.63
0%
0%
0%
Model
Symmetry breaking
Multiple operation assignment may lead to the same schedule
For instance, exchanging operations assigned to slots 1 and 2 in the
following gantt chart leads to the same solution
Task
Operation
Distillation 7
Volume
5
Transfer 6
50
Distillation 8
100
Transfer 3
25
Transfer 5
19.5
Unloading 1
100
Transfer 3
5.5
Distillation 7
95
Transfer 6
5.5
10
Unloading 2
100
20
Model
Storage Tanks
CDU
1
25
Tank 3
Vessel 1
Charging Tanks
50
Tank 5
5
8
100
Vessel 2
21
75
Tank 4
CDU
6
50
Tank 6
Model
Automaton representation
The regular language L7 = 7( + 4)( + 6)( + 1 + 14)( + 2 + 26)
can be recognized by the following Deterministic Finite Automaton
(DFA)
Each node is equivalent to a state
Each arc corresponds to an operation assigned to a task
1
1
1
2
2
2
4
22