17
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 9 th , 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 1 st : Crude to Tank Assignment (CTA) for Improved Scheduling: MILP 2 nd : 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

Industrial View of Crude-oil Scheduling Problems

Embed Size (px)

Citation preview

Page 1: Industrial View of Crude-oil Scheduling Problems

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

Page 2: Industrial View of Crude-oil Scheduling Problems

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)

Page 3: Industrial View of Crude-oil Scheduling Problems

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

Page 4: Industrial View of Crude-oil Scheduling Problems

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

Page 5: Industrial View of Crude-oil Scheduling Problems

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

Page 6: Industrial View of Crude-oil Scheduling Problems

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

Page 7: Industrial View of Crude-oil Scheduling Problems

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

Page 8: Industrial View of Crude-oil Scheduling Problems

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

Page 9: Industrial View of Crude-oil Scheduling Problems

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

Page 10: Industrial View of Crude-oil Scheduling Problems

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

Page 11: Industrial View of Crude-oil Scheduling Problems

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

Page 12: Industrial View of Crude-oil Scheduling Problems

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

Page 13: Industrial View of Crude-oil Scheduling Problems

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

Page 14: Industrial View of Crude-oil Scheduling Problems

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)

Page 15: Industrial View of Crude-oil Scheduling Problems

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.

Page 16: Industrial View of Crude-oil Scheduling Problems

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

Page 17: Industrial View of Crude-oil Scheduling Problems

Thank You

17EWO Meeting, Mar 9th, 2016.