industrial view of crude-oil scheduling problems
TRANSCRIPT
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.