Brenno C. MenezesPostDoc Research ScholarCarnegie Mellon UniversityPittsburgh, PA, US
Jeffrey D. KellyCTO and Co-FounderIndustrIALgorithmsToronto, ON, Canada
Industrial View of Crude-oil Scheduling Problems
EWO Meeting, CMU, Pittsburgh, Mar 9th, 2016.
Ignacio E. GrossmannR. R. Dean Professor of Chemical EngineeringCarnegie Mellon UniversityPittsburgh, PA, US
Faramroze EngineerSenior Consultant SK-InnovationSeoul, South Korea
1st: Crude to Tank Assignment (CTA) for Improved Scheduling: MILP2nd: 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: Replace Full Space MINLP by MILP + NLP decompositions for large problems
Crude Transferring
Refinery Units Fuel Deliveries
Fuel Blending
Crude Dieting
Crude Receiving
Hydrocarbon Flow
FCC
DHT
NHT
KHT
REF
DC
BLENSRFCC
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-time2004: Randy, Karimi and Srinivasan (MILP), continuous-time2009: Mouret, Grossmann and Pestiaux: MILP+NLP continuous-time2014: 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 the SK Ulsan refinery scheduling for a week (38 crude, 2 pipelines, 23 storage tanks, 11 feed tanks, 5 CDUs)
Improve the polyhedral space of optimization for CDU dietReduces optimization search space for further scheduling
2nd Crude Blend Scheduling Optimization (CSBO)
Yields Rates (crude diet, fuel recipes, conversion)
(Menezes, Kelly & Grossmann, 2015)
Charging or Feed Tanks
Clusters
Crude(feedstock)
cr crude (or time)cp yield or propertytk storage tank
yield or property (pr): naphtha-yield (NY)diesel-yield (DY)diesel-sulfur (DS) residue-yield (RY)
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.
Min= ∑𝐜𝐜𝐜𝐜∑𝐜𝐜𝐩𝐩∑𝐭𝐭𝐭𝐭𝐱𝐱𝐜𝐜𝐜𝐜,𝐜𝐜𝐩𝐩,𝐭𝐭𝐭𝐭
𝐦𝐦𝐦𝐦𝐱𝐱 𝐩𝐩𝐜𝐜𝐜𝐜𝐜𝐜,𝐜𝐜𝐩𝐩 −𝐦𝐦𝐦𝐦𝐦𝐦 𝐩𝐩𝐜𝐜𝐜𝐜𝐜𝐜,𝐜𝐜𝐩𝐩
Receiving or Storage Tanks
Transferring or Feedstock Tanks
−𝐦𝐦𝐦𝐦𝐱𝐱 𝐩𝐩𝐜𝐜𝐜𝐜𝐜𝐜,𝐜𝐜𝐩𝐩 ≤ 𝐱𝐱𝐜𝐜𝐜𝐜,𝐩𝐩𝐜𝐜,𝐭𝐭𝐭𝐭≤ 𝐦𝐦𝐦𝐦𝐱𝐱 𝐩𝐩𝐜𝐜𝐜𝐜𝐜𝐜,𝐜𝐜𝐩𝐩 ∀ 𝐜𝐜𝐜𝐜, 𝐜𝐜𝐩𝐩, 𝐭𝐭𝐭𝐭
−𝐦𝐦𝐦𝐦𝐱𝐱(𝐩𝐩𝐜𝐜𝐜𝐜𝐜𝐜,𝐜𝐜𝐩𝐩) 𝐲𝐲𝐭𝐭𝐭𝐭(𝐜𝐜𝐜𝐜𝐜𝐜𝐜𝐜𝐭𝐭𝐜𝐜𝐜𝐜),𝐜𝐜𝐩𝐩 ≤ 𝐱𝐱𝐭𝐭𝐭𝐭(𝐜𝐜𝐜𝐜𝐜𝐜𝐜𝐜𝐭𝐭𝐜𝐜𝐜𝐜),𝐜𝐜𝐩𝐩≤ 𝟎𝟎 ∀ 𝐜𝐜𝐩𝐩, 𝐭𝐭𝐭𝐭
𝐩𝐩𝐜𝐜𝐜𝐜𝐜𝐜𝐲𝐲𝐜𝐜𝐜𝐜,𝐜𝐜𝐩𝐩 ≤ 𝐱𝐱𝐜𝐜𝐜𝐜,𝐜𝐜𝐩𝐩≤ 𝐩𝐩𝐜𝐜𝐜𝐜𝐜𝐜𝐲𝐲𝐜𝐜𝐜𝐜,𝐜𝐜𝐩𝐩 ∀ 𝐜𝐜𝐜𝐜, 𝐜𝐜𝐩𝐩
𝐱𝐱𝐜𝐜𝐜𝐜,𝐩𝐩𝐜𝐜,𝐭𝐭𝐭𝐭 = 𝐱𝐱𝐜𝐜𝐜𝐜,𝐜𝐜𝐩𝐩𝐲𝐲𝐜𝐜𝐜𝐜,𝐜𝐜𝐩𝐩= −𝐱𝐱𝐭𝐭𝐭𝐭(𝐜𝐜𝐜𝐜𝐜𝐜𝐜𝐜𝐭𝐭𝐜𝐜𝐜𝐜),𝐜𝐜𝐩𝐩𝐲𝐲𝐭𝐭𝐭𝐭(𝐜𝐜𝐜𝐜𝐜𝐜𝐜𝐜𝐭𝐭𝐜𝐜𝐜𝐜),𝐜𝐜𝐩𝐩 ∀ 𝐜𝐜𝐜𝐜, 𝐜𝐜𝐩𝐩, 𝐭𝐭𝐭𝐭
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
Solver: CPLEX 12.6 in 8 threads
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
4EWO Meeting, Mar 9th, 2016.
Ultra heavy
Light
Heavy
1st Crude Tank Assignment (CTA) for Improved Scheduling
asasasa
2nd Crude Blend Scheduling Optimization (CBSO-QL)
5
MILP(QL) + NLP(QQ)• Key logistics details … (QL)
1st: 9-h fill-draw-delay for storage tanks.2nd: 3-h uptime (run-length) for blend header.
6th: 19-h uptime for tank-to-CDU flows.
3rd: flow-out at-a-time for the blend header.4th: 3-h fill-draw-delay for charge tanks.
5th: 1 or 2 flow-in at-a-time for the CDU.
7th: 0-h downtime (continuous) for the CDU.8th…: Charging tank transitions
Sequence-dependent (Kelly and Zyngier, 2007)
EWO Meeting, Mar 9th, 2016.
CBSOCTA
Mixing-time Uptime-Use Multi-Use Other types Quantity + Logic
CBSOCTA
asasasa
6
MILP(QL) + NLP(QQ)• Key quality details… (QQ)
1st: Feed Tank diet (primary).2nd: 2 or more Feed Tank diet (secondary).3rd: 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
7
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(s): 4.9s with SLPQPE_CPLEX 12.6
4,881 continuous and 2,998 binary variables
2,323 equality and 11,105 inequality (DoF=5,556)
CPU(s): 210s with CPLEX 12.6 in 8 threads
ZMILP=963 ZNLP=839
CBSO for 14 days with 2h-step= 168 periods
MILP(QL) + NLP(QQ)Yields Rates (crude diet, fuel recipes, conversion)
12.8% MILP-NLP Gap
T=[0,2h] QL QQ T=[2,4h] QL QQS1 12.75 5.00 S1 12.75 5.00S2 77.25 38.87 S2 77.25 5.00S3 5.00 5.80 S3 5.00 10.92S4 5.00 50.32 S4 5.00 79.07
F1 Tank diet (%)
2nd Crude-oil Blend Scheduling Optimization (CBSO-IMF-QL)
8Gantt 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
9Gantt 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
10EWO 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.
11EWO Meeting, Mar 9th, 2016.
ConclusionImpact 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 in Ulsan (38crude, 23 storage tanks, 11 feed tanks, 5 CDUs): for 6-7 days (72-80 time-periods)considering included after the pre-solving
14,753 continuous and 8,481 binary variables;
5,029 equality and 32,852 inequality constraints (DoF=18,205)
CPU: 10.8 min (Cplex 12.6) and 3.6 min (Gurobi 6.5.0) (both in 8 threads)8.4 min (Gurobi 6.5.0) (1 thread)
14,239 continuous and 9,937 binary variables
5,869 equality and 38,517 inequality constraints (DoF=21,307)
CPU: 50.8 min (Cplex 12.6) (in 8 threads)
6 days 7 days
No results (Gurobi 6.5.0)@ 0.0% GAP @ 0.2% GAP
12
13
14
Sets (.usp)
Configuration (.iml)
15
6 days
Included after pre-solving
Statistics (.sdt) Configuration (.iml), cont…..
16
7 days
Included after pre-solvingStatistics (.sdt)Configuration (.iml), cont…..
17
Constraints (.ndt)
Configuration (.iml), cont…..
18
V2r_xmf(m=39,t=1)=20.833 kbbl/2h
CDU1 throughput in mode ‘mod1’
CDU1,mod1 is identified as object 39
Results (.dtv) Configuration (.iml), cont…..
19
List of variables List of constraints