Upload
brenno-menezes
View
265
Download
1
Embed Size (px)
Citation preview
Brenno C. Menezes
PostDoc Research Scholar
Carnegie Mellon University
Pittsburgh, PA, US
Jeffrey D. Kelly
CTO and Co-Founder
IndustrIALgorithms
Toronto, ON, Canada
Industrial View of Crude-oil Scheduling Problems
EWO Meeting, CMU, Pittsburgh, Mar 9th, 2016.
Ignacio E. Grossmann
R. R. Dean Professor of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA, US
Faramroze Engineer
Senior Consultant
SK-Innovation
Seoul, South Korea
1st: Crude to Tank Assignment (CTA) for Improved Scheduling: MILP
2nd: Crude Blend Scheduling Optimization (CBSO): MILP+NLP
1
Remark: Continuous-time model cannot be easily implemented by plant operators
Objective: Explore to the limit discrete-time model - 8h-step (shift) for 2-4 weeks (42-84 periods) - 2h-step for 7 days (84 periods)- 1h-step for 4 days (48 periods)
Motivation 1: Replace Full Space MINLP by MILP + NLP decompositions for large problems
Motivation 2: Partition of crude scheduling in crude assignment and crude blend scheduling
Crude Transferring
Refinery Units Fuel Deliveries
Fuel Blending
Crude Dieting
Crude Receiving
Hydrocarbon Flow
FCC
DHT
NHT
KHT
REF
DC
B
L
E
N
SRFCC
Fuel gas
LPG
Naphtha
Gasoline
Kerosene
Diesel
Diluent
Fuel oil
Asphalt
Crude-Oil Management Crude-to-Fuel Transformation Blend-Shop
Charging or
Feed Tanks
Whole Scheduling: from Crude to Fuels Crude-Oil Scheduling Problem
Receiving or
Storage Tanks
Transferring or
Feedstock Tanks
CTA CBSO
VDU
(MILP+NLP)
PDH Decomposition (logistics + quality problems)
Includes logistics details
1996: Lee, Pinto, Grossmann and Park (MILP), discrete-time
2004: Randy, Karimi and Srinivasan (MILP), continuous-time
2009: Mouret, Grossmann and Pestiaux: MILP+NLP continuous-time
2014: Castro and Grossmann: MINLP ; MILP+NLP, continuous-time2015: Cerda, Pautasso and Cafaro: MILP+NLP, continuous-time(336h: 14 days; binary ≈ 4,000; continuous ≈ 6,000; constraints ≈ 100K; CPU(s) ≈ 500)
2
(MILP)
EWO Meeting, Mar 9th, 2016.
1st Crude to Tank Assignment (CTA)
2016 Goal: solve a SK refinery scheduling for a week (38 crude, 2 pipelines, 23 storage tanks, 11 feed tanks, 5 CDUs)
Improves the polyhedral space of optimization for CDU feed dietReduces optimization search space for further scheduling
2nd Crude Blend Scheduling Optimization (CSBO)
Yields Rates (crude diet, fuel recipes, conversion)
(Menezes, Kelly & Grossmann, 2015)
Transferring or
Feedstock Tanks
Receiving or
Storage Tanks
Charging or
Feed Tanks
Clusters
1st Crude Tank Assignment (CTA) for Improved Scheduling
Charging
Tanks
Tanks(storage)
y = binary variables (setup su)
3
CTA CBSO
EWO Meeting, Mar 9th, 2016.
x = continuous variables (flow f)MILP
𝐲𝐜𝐫,𝐜𝐩
𝐲𝐭𝐤(𝐜𝐥𝐮𝐬𝐭𝐞𝐫),𝐜𝐩
“k-means” clustering (KM) and “fuzzy c-means” clustering (FCM) algorithms found in Bezdek et. al. (1984).
perimeter
Arrow
Ports
f and su
f and su
f
- Uses crude assay data- Multi-period NT=NCrude- Neglects logistics details:
initial volume, holdup, ssspipeline flow, etc.
Determines Crude-oil Segregation Rules
𝐱𝐜𝐫,𝐜𝐩
𝐱𝐭𝐤(𝐜𝐥𝐮𝐬𝐭𝐞𝐫),𝐜𝐩
𝐱𝐜𝐫,𝐜𝐩,𝐭𝐤
Crude(feedstock)
cr crude (or time)cp yield or propertytk storage tank
in-port
out-port
Transfer Min Variance
Transferring or
Feedstock Tanks
Receiving or
Storage Tanks
Charging or
Feed Tanks
Clusters
1st Crude Tank Assignment (CTA) for Improved Scheduling
Charging
Tanks
Tanks(storage)
y = binary variables (setup su)
4
CTA CBSO
EWO Meeting, Mar 9th, 2016.
Min 𝐙 = 𝐜𝐫 𝐜𝐩 𝐭𝐤𝐱𝐜𝐫,𝐜𝐩,𝐭𝐤
𝐦𝐚𝐱𝐜𝐫,𝐜𝐩 𝐩𝐫𝐜𝐫,𝐜𝐩 −𝐦𝐢𝐧𝐜𝐫,𝐜𝐩 𝐩𝐫𝐜𝐫,𝐜𝐩
−𝐦𝐚𝐱𝐜𝐫,𝐜𝐩 𝐩𝐫𝐜𝐫,𝐜𝐩 ≤ 𝐱𝐜𝐫,𝐩𝐫,𝐭𝐤≤ 𝐦𝐚𝐱𝐜𝐫,𝐜𝐩 𝐩𝐫𝐜𝐫,𝐜𝐩 ∀ 𝐜𝐫, 𝐜𝐩, 𝐭𝐤
−𝐦𝐚𝐱𝐜𝐫,𝐜𝐩(𝐩𝐫𝐜𝐫,𝐜𝐩) 𝐲𝐭𝐤(𝐜𝐥𝐮𝐬𝐭𝐞𝐫),𝐜𝐩 ≤ 𝐱𝐭𝐤(𝐜𝐥𝐮𝐬𝐭𝐞𝐫),𝐜𝐩≤ 𝟎 ∀ 𝐜𝐩, 𝐭𝐤
𝐩𝐫𝐜𝐫𝐲𝐜𝐫,𝐜𝐩 ≤ 𝐱𝐜𝐫,𝐜𝐩≤ 𝐩𝐫𝐜𝐫𝐲𝐜𝐫,𝐜𝐩 ∀ 𝐜𝐫, 𝐜𝐩
𝐱𝐜𝐫,𝐩𝐫,𝐭𝐤 = 𝐱𝐜𝐫,𝐜𝐩𝐲𝐜𝐫,𝐜𝐩=−𝐱𝐭𝐤(𝐜𝐥𝐮𝐬𝐭𝐞𝐫),𝐜𝐩𝐲𝐭𝐤(𝐜𝐥𝐮𝐬𝐭𝐞𝐫),𝐜𝐩 ∀ 𝐜𝐫, 𝐜𝐩, 𝐭𝐤
x = continuous variables (flow f)
𝐭𝐤 𝐲𝐜𝐫,𝐜𝐩𝐭𝐤 =1 ∀ 𝐜𝐫, 𝐜𝐩
MILP
𝐲𝐜𝐫,𝐜𝐩
𝐲𝐭𝐤(𝐜𝐥𝐮𝐬𝐭𝐞𝐫),𝐜𝐩
“k-means” clustering (KM) and “fuzzy c-means” clustering (FCM) algorithms found in Bezdek et. al. (1984).
perimeter
Arrow
Ports
f and su
f and su
f
- Uses crude assay data- Multi-period NT=NCrude- Neglects logistics details:
initial volume, holdup, ssspipeline flow, etc.
Determines Crude-oil Segregation Rules
𝐱𝐜𝐫,𝐜𝐩
𝐱𝐭𝐤(𝐜𝐥𝐮𝐬𝐭𝐞𝐫),𝐜𝐩
𝐱𝐜𝐫,𝐜𝐩,𝐭𝐤
Assign crude to only one cluster
Define one crude per time(1)
(2)
(3)
(4)
(5)
flow-in=flow-out in the in-port
yield or property “flows”naphtha-yield (NY)diesel-yield (DY) prcr
diesel-sulfur (DS) residue-yield (RY)
Crude(feedstock)
cr crude (or time)cp yield or propertytk storage tank
in-port
out-port
Transfer Min Variance
naphtha-yield (NY)diesel-yield (DY)diesel-sulfur (DS) residue-yield (RY)
Solver: CPLEX 12.6 in 8 threads; Modeler: IMPL
Cluster 1 Membership (16): 1, 4, 6, 8, 12, 13, 15,
21, 28, 30, 34, 36, 40, 41, 43, 45
Cluster 2 Membership (9): 3, 9, 14, 24, 25, 27,
32, 33, 37
Cluster 3 Membership (18): 2, 5, 10, 11, 16, 17,
18, 19, 20, 22, 26, 29, 31, 35, 38, 39, 42, 44
Cluster 4 Membership (2): 7, 23
Cluster 1 Means: 18.75, 20.84, 0.1594, 8.58
Cluster 2 Means: 32.88, 13.61, 0.0900, 1.53
Cluster 3 Means: 14.08, 17.06, 0.2300, 18.64
Cluster 4 Means: 7.72, 10.31, 1.83, 35.39
NY DY DS RY
5EWO Meeting, Mar 9th, 2016.
Ultra heavy
Light
Heavy
1st Crude Tank Assignment (CTA) for Improved Scheduling45 Crude from http://www.exxonmobil.com/crudeoil/, accessed April, 2015. 45 Crude
45
to close the
MILP optimality
Gap to 0.0%
Global optimal within
4 min for 30 crude
asasasa
2nd Crude Blend Scheduling Optimization (CBSO-QL)
6
MILP(QL) + NLP(QQ)
• Key logistics details … (QL)
1st: fill-draw-delay for storage tanks (e.g. 9h)
2nd: uptime (run-length) for blend header (3h)
6th: uptime for tank-to-CDU flows (e.g. 19h)
3rd: 1 flow-out at-a-time for the blend header
4th: fill-draw-delay for feed tanks (e.g. 3h)
5th: 1 or 2 flow-in at-a-time for the CDU
7th: 0-h downtime (continuous) for the CDU
8th…: Feed tank transitionsSequence-dependent (Kelly and Zyngier, 2007)
EWO Meeting, Mar 9th, 2016.
CBSOCTA
Mixing-time Uptime-Use Multi-Use Other types Quantity + Logic
asasasa
2nd Crude Blend Scheduling Optimization (CBSO-QL)
7
MILP(QL) + NLP(QQ)
• Key logistics details … (QL)
1st: fill-draw-delay for storage tanks (e.g. 9h)
2nd: uptime (run-length) for blend header (3h)
6th: uptime for tank-to-CDU flows (e.g. 19h)
3rd: 1 flow-out at-a-time for the blend header
4th: fill-draw-delay for feed tanks (e.g. 3h)
5th: 1 or 2 flow-in at-a-time for the CDU
7th: 0-h downtime (continuous) for the CDU
8th…: Feed tank transitionsSequence-dependent (Kelly and Zyngier, 2007)
EWO Meeting, Mar 9th, 2016.
CBSOCTA
Mixing-time Uptime-Use Multi-Use Other types Quantity + Logic
CBSOCTA
asasasa
8
MILP(QL) + NLP(QQ)
• Key quality details… (QQ)
1st: Feed Tank diet
2nd: CDU models (modes of operations). Fractionation Index (Alattas et al., 2012, 2013); Improved Swing-Cut (Menezes et al., 2013), Distillation Blending (Kelly et al., 2014)
2nd Crude Blend Scheduling Optimization (CBSO-QQ)
EWO Meeting, Mar 9th, 2016.
Drawback: ↑ binary variables, Option: NLP models
Yields Rates (crude diet, fuel recipes, conversion)
Quantity + Quality
9
2nd Crude-oil Blend Scheduling Optimization-PDH
(Menezes, Kelly & Grossmann, 2015)
EWO Meeting, Mar 9th, 2016.
6,736 continuous variables
6,057 equality and 1,640 inequality (DoF=679)
CPU: SLPQPE _CPLEX : 13.4s
4,881 continuous and 2,998 binary variables
2,323 equality and 11,105 inequality (DoF=5,556)
CPU: 91s (8 threads); 455s (1 thread) in CPLEX 12.6
ZMILP=972 ZNLP=899
for 14 days (2h-step)= 168 periods
MILP(QL) + NLP(QQ)
Yields Rates
@ 0.0% MILP Optimality GAP (3600s in Gurobi 6.5.0 @ 1.73% GAP )
IPOPT: 50.1s
CTA CBSOMax Z= CDU feed
_COINMP: 13.4s_GLPK: 188.2s
CDU feed= 75[u3]/day
_GUROBI: 11.1s
Modeler: IMPL
10
2nd Crude-oil Blend Scheduling Optimization-PDH
(Menezes, Kelly & Grossmann, 2015)
EWO Meeting, Mar 9th, 2016.
6,736 continuous variables
6,057 equality and 1,640 inequality (DoF=679)
CPU: SLPQPE _CPLEX : 13.4s
4,881 continuous and 2,998 binary variables
2,323 equality and 11,105 inequality (DoF=5,556)
CPU: 91s (8 threads); 455s (1 thread) in CPLEX 12.6
ZMILP=972 ZNLP=899
for 14 days (2h-step)= 168 periods
MILP(QL) + NLP(QQ)
Yields Rates
7.5% MILP-NLP Gap
T=[0,2h] QL QQ T=[2,4h] QL QQ
S1 12.75 5.00 S1 12.75 5.00
S2 77.25 38.87 S2 77.25 5.00
S3 5.00 5.80 S3 5.00 10.92
S4 5.00 50.32 S4 5.00 79.07
F1 Tank diet (%)
@ 0.0% MILP Optimality GAP (3600s in Gurobi 6.5.0 @ 1.73% GAP )
IPOPT: 50.1s
CTA CBSOMax Z= CDU feed
_COINMP: 13.4s_GLPK: 188.2s
CDU feed= 75[u3]/day
_GUROBI: 11.1s
y = binary variables (setup su)
x = continuous variables (flow f)
2nd Crude-oil Blend Scheduling Optimization (CBSO-IMF-QL)
11Gantt Chart: Crude blender, CDU and Feed Tanks Holdup.EWO Meeting, Mar 9th, 2016.
Blender
Feed Tanks
CDU
Time (step 2h)
To tank F1 To tank F2
Boxes in black means binary setup => y=1
Sequence of feed tanks to CDU: F3->F1->F2->F1->F3
y = binary variables (setup su)
x = continuous variables (flow f)
2nd Crude-oil Blend Scheduling Optimization (CBSO-IMF-QL)
12Gantt Chart: Crude blender, CDU and Feed Tanks Holdup.EWO Meeting, Mar 9th, 2016.
Blender
Feed Tanks
CDU
Time (step 2h)
To tank F1 To tank F2
Boxes in black means binary setup => y=1
Sequence of feed tanks to CDU: F3->F1->F2->F1->F3
2nd Crude-oil Blend Scheduling Optimization (CBSO-IMF-QL)
13Gantt Chart: Crude blender, CDU and Feed Tanks Holdup.EWO Meeting, Mar 9th, 2016.
Blender
Feed Tanks
CDU
Time (step 2h)
To tank F1 To tank F2
Boxes in black means binary setup => y=1
To tank F1 To tank F3 To tank F1 Sequence of feed tanks to CDU: F3->F1->F2->F1->F3
14Gantt Chart: Feed Tank F1 Holdup and its crude composition.
EWO Meeting, Mar 9th, 2016.
2nd Crude-oil Blend Scheduling Optimization (CBSO-IMF-QQ)
Feed Tank 1
Crude composition (C1-C6)
Time (step 2h)
Conclusion
15EWO Meeting, Mar 9th, 2016.
Novelty:
• Segregates crude management in storage assignment and crude blendscheduling.
• Phenomenological decomposition in logistics (MILP) and quality (NLP)problems applied in a scheduling problem.
• Details all logistics relationships from practiced industrial operations.
16EWO Meeting, Mar 9th, 2016.
Conclusion
Impact for industrial applications:
• Quickly reproduced (2weeks) using the structural programming language IMPL
• UOPSS modeling, pre-solving, and parallel processing permitted to solve an 2htime-step discrete-time formulation for a highly complex refinery (38 crude, 23storage tanks, 11 feed tanks, 5 CDUs): for 6-7 days (72-80 time-periods) consideringincluded after the pre-solving
14,753 continuous and 8,481 binary variables;
5,029 equality and 32,852 inequality constraints (DoF=18,205)
CPU: 7.2 min (Cplex) and 3.6 min (Gurobi) (both in 8 threads)7.4 min (Cplex) and 8.4 min (Gurobi) (both in 1 thread)
14,239 continuous and 9,937 binary variables
5,869 equality and 38,517 inequality constraints (DoF=21,307)
CPU: 36.4 min (Cplex) in 8 threads
6 days 7 days
No results (Gurobi 6.5.0)
@ 0.0% MILP Optimality GAP @ 0.0% MILP Optimality GAP
65.4 min (Cplex) in 1 thread
Thank You
17EWO Meeting, Mar 9th, 2016.