Reactive Scheduling of Short-Term Crude Oil Operations under

Jul 10, 2014 - Thus, the operating window of time event n for a unit will be formed ..... should each be incremented by 40 MbbL to live up to the incr...
2 downloads 0 Views 2MB Size
Article pubs.acs.org/IECR

Reactive Scheduling of Short-Term Crude Oil Operations under Uncertainties Shujing Zhang and Qiang Xu* Dan F. Smith Department of Chemical Engineering, Lamar University, Beaumont, Texas 77710, United States ABSTRACT: In this paper, an effective reactive scheduling methodology for short-term crude oil operations has been developed to manage crude movements from ship unloading to distillation processing under various uncertainties. It contains a two-stage solving procedure for handling uncertainties such as shipping delay, crude mixture demand change, and tank unavailability. On the first stage, a deterministic schedule is initially obtained based on a continuous-time global event model using nominal data provided/projected at the beginning of each scheduling time horizon. On the second stage, indicator binary variables are implemented respectively under any occurrence of different uncertainties to collect information from the current deterministic schedule through defining “executed” tasks. On the basis of the information, rescheduling models are configured correspondingly under diverse uncertainty scenarios by combining the first-stage scheduling model and amendment constraints associated with those “executed” tasks. The raised case studies have demonstrated that the developed reactive scheduling methodology can generate optimal rescheduling solutions seamlessly connected to the current completed scheduling operations and thus ensure the optimal operational continuity under impacts from various uncertainties. In addition, the methodology can systematically explore possible rescheduling actions for continuous crude operations without any presumed heuristics. tions usually result in smaller size problems with more flexible utilization of the studied time domain. Unfortunately, its inherent shortcoming is that material balance and time constraints are difficult to synchronize, and thus, more complicated modeling equations are usually involved compared to their discrete time counterparts.12 Due to the presence of blending constraints, bilinear terms often exist in the MINLP models for crude scheduling. As explained by Grossmann,13 some commercial solvers may fail to converge to an optimal solution or even cannot find a feasible solution for such nonconvex problems. In order to solve the problem more efficiently, great efforts have been made on effective solution approaches such as an iterative decomposition algorithm,3 a discretization approach,14 a rolling horizon,4,6 and improved rolling horizon algorithms.15 All of the above models are built as deterministic ones, which assume that the problem data will not change throughout the scheduling time horizon. In reality, however, the crude scheduling activities are highly vulnerable to disturbances from various uncertainties, such as crude shipping delay, CDU (crude distillation unit) demand fluctuation, and tank failure, which can easily cause the originally well set schedule operations to be infeasible. In general, there are two categories of methods to address this type of problem: reactive scheduling and proactive scheduling. Since reactive scheduling focuses on handling uncertainties in a responsive way and makes amendments when an uncertainty is actually realized, it weighs solution quality over flexibility and requires timely generation of a new schedule from the deterministic schedule in the face of

1. INTRODUCTION Crude planning and scheduling is an important element in the supply chain management for crude refineries. It has been studied and practiced for a long time, especially in the past two decades, driven by increasingly intensive global competition, more volatile feedstock and product markets, and stricter environmental regulations. Since the 1950s, mathematical programming has been implemented in long-term decision making for crude planning to optimize both production and crude purchasing plans. It is the consensus that one big challenge for crude scheduling is to optimize the blends of “premium” and “low cost” crudes to achieve minimum operational costs. Historically, linear programming and MILP (mixed-integer linear programming) techniques were employed to solve such kinds of problems. However, they generally have difficulties in precisely capturing the semicontinuous characteristics of crude scheduling activities which consist of both batch and continuous operations. To model the discrete decisions and rigorous blending process, much more complicated scheduling models in the form of MINLP (mixed-integer nonlinear programming) have to be constructed. In order to capture more realistic sides of continuous crude scheduling problems, many research activities were conducted to explore different models based on both discrete1−4 and continuous time representations.5−11 The former type of formulations divide the scheduling horizon into a number of finite time intervals and associates starting and ending operational times with boundaries of relevant time intervals. This type of model usually requires a large quantity of time intervals in order to obtain accurate or optimal solutions in the studied scheduling time domain, which inevitably results in large-size problems and computational difficulties. However, it is beneficial in the sense that the material balances are inherently synchronized with time since the time intervals are prespecified. As a comparison, the continuous time formula© 2014 American Chemical Society

Received: Revised: Accepted: Published: 12502

April 17, 2014 July 1, 2014 July 10, 2014 July 10, 2014 dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

Figure 1. A schematic diagram of the studied process.

uncertainties.16 Existing literature mainly concentrates on applying heuristic techniques to develop reactive scheduling methodologies.17,18 However, it should be noted that heuristic methods depend heavily on the definition of search space and sometimes may fail to find a feasible solution even when one exists, assuming it lies outside the heuristic search tree. In addition, a heuristic-based procedure usually develops complicated flowcharts corresponding to their respective corrective actions (e.g., reconfiguring CDU-charging operations), which is difficult to automate in computer language. In this light, heuristic methods are often criticized by their incompleteness and lack of automation in dealing with uncertainties. Vin and Ierapetritou19 proposed a two-stage reactive scheduling methodology for multiproduct batch plants based on a continuous time formulation. This method systematically incorporates all rescheduling alternatives by excluding usage of any heuristics and fully utilizes information available from the deterministic schedule. In contrast, proactive scheduling seeks to generate an inherently flexible schedule which can cope with different uncertainties in the future. Various uncertainties can be incorporated into the scheduling model using different techniques such as two-stage stochastic programming, parametric programming, fuzzy programming, chance constraint programming, and robust optimization techniques as well as risk mitigation techniques.20 Li and Ierapetritou developed a predictive scheduling model for a multiproduct batch plant using a parametric programming approach.21 Cao et al.22 proposed a robust optimization model to cope with demand uncertainty for crude scheduling operations, but their approaches are found to have composition discrepancies. Wang and Rong23 developed a two-stage robust optimization model for crude oil scheduling problems to manage demand and shipping delay uncertainties. In their model, demand uncertainty was represented with chance-constrained and fuzzy programming, and shipping delay was dealt with using scenariobased approach. Still, there are composition discrepancies found in the generated schedule from their developed model. To overcome the above difficulty that the generated robust schedules are not feasible for the nominal data from deterministic problems, Ben and Nemirovski24−26 developed the robust optimization framework to address uncertain parameters in linear an quadratic programming problems. Li

et al.27 extended the robust optimization framework brought forth by Lin et al.28 and Janak et al.29 for general MILP problems to crude scheduling operations and solved the robust optimization model to global optimality using a branch-andbound algorithm from Li et al.11 Zhang et al.30 proactively embedded inventory flexibilities into their multiobjective crudeoil blending and purchase planning model to handle the uncertainty of crude shipping delays. In this paper, an effective reactive rescheduling methodology for short-term crude oil operations to handle various uncertainties has been developed. Inspired by the work of Vin and Ierapetritou,19 a two-stage solution approach is developed for individual uncertainty scenarios including shipping delay, crude mixture demand change, and tank unavailability. In the first stage, a deterministic schedule is initially obtained based on a continuous-time global event model using nominal data provided/projected at the beginning of each scheduling time horizon. On the second stage, indicator binary variables are implemented respectively under any occurrence of different uncertainties to collect information from the current deterministic schedule through defining “executed” tasks. On basis of the information, rescheduling models are configured correspondingly under diverse uncertainty scenarios by combining the first-stage scheduling model and amendment constraints associated with those “executed” tasks. Specifically, to handle the uncertainty of tank unavailability, a rescheduling model is developed for the first time to address the possibility that a tank may experience malfunction during the execution of some operations. To demonstrate the capability of the proposed reactive scheduling methodology, three case studies covering uncertainty scenarios such as shipping delay, crude mixture demand increase, and storage tank unavailability are conducted. In addition, a case study for handling two sequential uncertainties including storage tank failure and crude mixture demand increase is also examined. The results show that the proposed methodology can generate optimal rescheduling solutions seamlessly connected to the current completed scheduling operations and thus ensure the optimal operational continuity under impacts from various uncertainties. Meanwhile, this methodology can systematically explore possible rescheduling actions for a continuous crude process without any presumed heuristics. 12503

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

2. PROBLEM STATEMENT Figure 1 presents a schematic of the studied process, including operations of crude oil unloading, transferring, mixing, and processing in a typical inland refinery. Generally, crude oils from vessels are unloaded to storage tanks (portside tanks) at onshore berths and then transferred to charging tanks (refinery tanks) in an inland refinery to prepare blends satisfying property specifications imposed by CDUs. The relevant facilities consist of berths for vessels to dock and unload crude parcels, a tank farm with storage and charging tanks, and CDUs for processing crude blends into various products such as naphtha, kerosene, and diesel. To help better understand the studied scheduling problem, the definition of a time event is clarified as follows. Time Event. In this work, the unit-to-unit time event is defined for point-to-point operations including crude unloading, transferring, and charging. To align time events on a continuous time base, any input or output operations associated with a unit at time event n will be arranged earlier than those operations occurring at time event n + 1. Thus, the operating window of time event n for a unit will be formed according to its scheduled input or output operations at time event n. In other words, the time event can be regarded as an “identifier” that facilitates the alignment of different activities along the scheduling time horizon. The graphical representation of time event used in this work is shown in Figure 2. As seen, a time event is composed of input or output operations (the upper plot) for each unit.

(5) Economic data, including demurrage cost (sea waiting cost), unloading cost, CDU changeover cost, tank setup, and inventory costs (6) Lower/upper bounds on flow rates in crude transfer network Operating Rules to Be Obeyed (1) A parcel can be unloaded to at most one storage tank at a time event; however, it can be unloaded to multiple tanks across consecutive time events (2) A charging or storage tank cannot simultaneously receive and send out crudes at a time event (3) Brine settling time is required for a storage or charging tank after each receipt of new crudes (4) A charging tank can feed at most one CDU, and a CDU can receive at most one feed from the charging tank at a time Uncertainties (1) Crude shipping time, i.e., tanker arrival time (2) Crude processing demand by CDUs (3) Unavailability of any charging or storage tanks Assumptions (1) Crude holdups of pipelines are negligible (2) Perfect mixing is assumed in storage and charging tanks (3) The time expense for CDUs’ operational changeover is negligible (4) Once an uncertainty is realized, its specifications such as detection time, affected unit, and disrupted time period will be known

3. MATHEMATICAL FORMULATION 3.1. Deterministic Scheduling Model. For the deterministic scheduling under given/projected process data, a continuous-time formulation in line with the models used in refs 6, 8, and 11 is adapted for our purposes. The mathematical model has the following form. a. Objective Function. The objective of the crude scheduling problem is to minimize the total operational costs as shown in eq 1, where the first item represents vessel demurrage cost, and the second term refers to the vessel unloading cost. The third and fourth term denote CDU changeover and tank setup costs, respectively; and the last term is an approximation of average inventory costs for various tanks. min cos t = C sea

∑ (TV s(v) − T arr(v)) v∈V

+C

uld

+C

cho

∑ (TV e(v) − TV s(v)) v∈V







Z(unt′, unt, n)

unt ′∈ IUunt unt ∈ DU n ∈ N , n ≥ 1



+ C set

Figure 2. Graphical description of time events.





X(unt′, unt, n)

unt ′∈ IUunt unt ∈ SCT n ∈ N , n ≥ 1

+

On the basis of above descriptions, the studied scheduling problem for crude oil operations can be stated as below. Given Information (1) Shipping information including number of vessels, projected arrival time, and carried crude oil types/volumes (2) Key component fractions for crudes (3) Storage and charging tank information including tank number, initial inventory/crude compositions, tank capacities, and segregation policies such as property index range (4) Projected CDUs’ demands for different crude mixtures from charging tanks

(

H |N | + 1

∑ n∈N ,n≥1



(C inv(unt)

unt ∈ SCT

Inv sct(unt, n) + Inv 0(unt))) (1)

b. Integrality Constraints for Operating Practices. The binary variable of X(unt′,unt,n) is used to denote whether or not a unit (unt′) transfers crudes to another unit (unt) during time event n. As shown in eq 2, no simultaneous input and output are allowed for a tank at a single time event n. Equation 3 restricts that a parcel p can be unloaded to no more than one 12504

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

storage tank at the same time event n, and eq 4 enforces that at time event n, a storage tank can receive at most B parcels depending on the number of available berths. Equations 5 and 6 impose that a storage tank can send out crudes to at most one charging tank and a charging tank can receive feed from at most one storage tank at the same time event, respectively. Equations 7 and 8 express that at one time, one charging tank can send out crudes to at most one CDU, and a CDU can accept at most one charging tank feed.

V t(unt′ , unt, n) ≤ F up(unt′ , unt)(T e(unt′, unt, n) − T s(unt′, unt, n)) + F up(unt′ , unt)H (1 − X(unt′, unt, n)), ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; n ∈ N , n ≥ 1

d. Time Constraints for Vessel Unloading. Equations 12 and 13 respectively calculate the starting and ending times of parcel unloading. Equation 14 defines the unloading sequence of parcels under the circumstance that only one berth is available; i.e., a parcel which arrives later should start unloading after all the parcels arriving earlier have been completely unloaded. Equations 15 and 16 identify the starting/ending times of vessel unloading, respectively.

X(unt′, unt, n) + X(unt, unt″ , n) ≤ 1 ∀ unt″ ∈ IUunt; unt ∈ SCT; unt″ ∈ OUunt; n ∈ N , n ≥ 1 (2)



X(unt, unt′, n) ≤ 1, ∀ unt ∈ P ; n ∈ N , n ≥ 1

TPs(unt) ≤ T s(unt, unt′ , n) + H(1 − X (unt, unt′ , n)) ∀

unt ′∈ OUunt

(3)



unt ∈ P ; unt′ ∈ OUunt; n ∈ N , n ≥ 1

X(unt′ , unt, n) ≤ B , ∀ unt ∈ ST; n ∈ N , n ≥ 1 (4)

, ∀ unt ∈ P ; unt′ ∈ OUunt; n ∈ N , n ≥ 1

X(unt, unt′, n) ≤ 1, ∀ unt ∈ ST; n ∈ N , n ≥ 1 (5)

; n ∈ N, n ≥ 1

X(unt′, unt, n) ≤ 1, ∀ unt ∈ CT; n ∈ N , n ≥ 1

unt ′∈ IUunt

(6)



X(unt, unt′, n) ≤ 1, ∀ unt ∈ CT; n ∈ N , n ≥ 1 (7)

X(unt′, unt, n) ≤ 1, ∀ unt ∈ DU; n ∈ N , n ≥ 1

unt ′∈ IUunt

(8)

c. Transportation Capacity Constraints. The total volume transferred during an operation should be constrained within the lower and upper bounds as shown in eq 9, where “S” is usually a nominal number to enforce nonzero volume once an operation is selected, and “M” is chosen as an upper bound of the total transferred crude volume.

(15)

TV e(v) ≥ TPe(unt), ∀ v ∈ V ; unt ∈ Pv

(16)



X (unt, unt′, n)

unt ′∈ OUunt

·X(unt′, unt, n) ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; n





X(unt, unt″ , n + 1) ∀ unt ∈ P ; n ∈ N , 1

unt ″∈ OUunt

(9)

≤ n < |N |

As shown in eqs 10 and 11, if a storage or charging tank is selected for a transportation, the total volume transferred will be constrained by the product of flow rate lower/upper bounds and the transfer time duration; otherwise, the constraints should be relaxed.

(17)

Bpe(unt, n) ≤ 2 − (



X (unt, unt′, n)

unt ′∈ OUunt



+

F lo(unt′ , unt)(T e(unt′, unt, n) − T s(unt′, unt, n))

X(unt, unt″ , n + 1)) ∀ unt ∈ P ; n ∈ N , 1

unt ″∈ OUunt

≤ n < |N |

− F lo(unt′, unt)H(1 − X(unt′ , unt, n)) ≤ V t(unt′, unt, n), ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; n ∈ N , n ≥ 1

TV s(v) ≤ TPs(unt), ∀ v ∈ V ; unt ∈ Pv

Bpe(unt, n) ≥

S ·X(unt′, unt, n) ≤ V t(unt′, unt, n) ≤ M

∈ N, n ≥ 1

(14)

e. Time Constraints for Parcels Unloaded Across Multiple Time Events. Equation 17 enforces that if a parcel p is unloaded during time event n but not n + 1, then it must have been emptied at the end of time event n. Equation 18 constrains that if a parcel p is unloaded at two consecutive time events (e.g., n and n + 1), then it must have some leftover volume at the end of time event n. Equation 19 shows that each parcel will be finished during the entire scheduling horizon. Equation 20 is used to denote the situation that parcel p has to be completely unloaded no later than the last time event “N.” Equation 21 ensures that the starting times of unloading parcels at time event n + 1 should follow right after the ending times of their scheduled unloading operations at preceding time event n.

unt ′∈ OUunt



(13)

TPs(unt) ≥ TPe(unt′), ∀ unt, unt′ ∈ P , unt > unt′

unt ′∈ OUunt



(12)

TPe(unt) ≥ T e(unt, unt′ , n) − H(1 − X (unt, unt′ , n))

unt ′∈ IUunt



(11)

∑ (10)

n ∈ N ,1 ≤ n

12505

(18)

Bpe(unt, n) = 1, ∀ unt ∈ P (19) dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research Bpe(unt, n) ≥



Article



X (unt, unt′, n), ∀

(T e(unt′ , unt, n) − T s(unt′ , unt, n))

unt ′∈ I Uunt n ∈ N , n ≥ 1

unt ′∈ OUunt

unt ∈ P ; n = “N ”

= H , ∀ unt ∈ DU

(20)

− H(1 − X(unt″ , unt, n)) ∀ unt′, unt″

− H(1 − X(unt, unt″ , n)) ∀ unt ∈ P ; unt′, unt″ ∈ OUunt; n ∈ N , 1 ≤ n < |N |

∈ IUunt ; unt ∈ DU; n′, n ∈ N , 1 ≤ n < n′

(21)

T e(unt′, unt, n) ≥ T s(unt′, unt, n), ∀ unt′

T s(unt′, unt, n + 1) ≥ T e(unt, unt″ , n)

∈ IUunt; unt ∈ SCT ∪ DU; n ∈ N , n ≥ 1

− H(1 − X(unt, unt″ , n)) ∀ unt′ ∈ IUunt; unt

unt′ ∈ IUunt; unt ∈ SCT ∪ DU; n ∈ N , n ≥ 1

unt ∈ SCT; unt′ ∈ OUunt; unt″ ∈ IUunt; n ∈ N , 1 (23)

Z(unt′, unt, n) ≥ X(unt′, unt, n) − X(unt′

T s(unt′, unt, n + 1) ≥ T e(unt″ , unt, n)

, unt, n + 1) ∀ unt′ ∈ IUunt; unt ∈ DU; n ∈ N , 1

− H(1 − X(unt″ , unt, n)) ∀ unt′, unt″

≤ n < |N |

(24)

∀ unt′ ∈ IUunt; unt ∈ DU; n ∈ N , 1 ≤ n < |N |

− H(1 − X(unt, unt″ , n)) ∀ unt ∈ SCT; unt′, unt″





V t(unt, unt′, n) = Inv 0(unt), ∀ unt ∈ P

unt ′∈ OUunt n ∈ N , n ≥ 1

(34)

Inv p(unt, n) ≤ Inv 0(unt)(1 − Bpe(unt, n)), ∀ unt ∈ P ; n ∈ N , n ≥ 1

(35)

Equation 36 calculates the leftover parcel volume at the end of time event n by subtracting the out-flowing volume of crudes during time event n. Equation 37 established the initial inventory levels of parcels, and eq 38 sets the summation of individual crude inventories equal to the total parcel inventory.

T s(unt′, unt, n + 1) ≥ T e(unt″ , unt, n) − H(1 − X(unt″ , unt, n)) ∀ unt′, unt″ (26)

Inv p , c(unt, c , n) = Inv p , c(unt, c , n − 1)

e

T (unt′, unt, n + 1) ≤ T (unt″ , unt, n)



+ H(1 − X(unt″ , unt, n)) ∀ unt′, unt″ ∈ IUunt ; unt ∈ DU; n ∈ N , 1 ≤ n < |N |

(33)

j. Material Balance Constraints for Parcels. Equation 34 imposes a constraint that each parcel will be completely unloaded during the scheduling time horizon. Equation 35 indicates that if a parcel is emptied at the end of time event n, then its leftover volume at the end of time event n should be zero.

(25)

g. Time Constraints for CDUs. As shown in eqs 26 and 27, for a particular CDU, the starting times of potential charging operations at time event n + 1 follow immediately after the ending times of scheduled charging operations at time event n. Also, as shown in eq 28, a CDU must be continuously operated during the entire scheduling time horizon (H). It is possible that a CDU may skip certain time events, but it still can ensure its physical continuous operations at nonsuccessive time events. Thus, eq 29 expresses that the starting times of any charging operations to a CDU at a later time event (n′) should be arranged after the ending times of scheduled charging operations at an earlier time event n (n < n′).

∈ IUunt ; unt ∈ DU; n ∈ N , 1 ≤ n < |N |

(32)

Z(unt′, unt, n) ≥ X(unt′, unt, n + 1) − X(unt′, unt, n)

T s(unt, unt′, n + 1) ≥ T e(unt, unt″ , n) ∈ OUunt, unt′ ≠ unt″ ; n ∈ N , 1 ≤ n < |N |

(31)

i. CDU Changeover Constraints. A new 0−1 continuous variable Z(unt′,unt,n) is defined to denote whether or not a CDU switches feeds between charging tanks from time event n to n + 1. As shown, it is incorporated in eqs 32 and 33 to record CDU changeovers, which is implemented in objective function to calculate the column changeover cost.

− H(1 − X(unt″ , unt, n)) + BSTX(unt″ , unt, n) ∀

∈ IUunt; unt ∈ SCT; n ∈ N , 1 ≤ n < |N |

(30)

T e(unt′, unt, n) − T s(unt′, unt, n) ≤ H ·X(unt′, unt, n) ∀ (22)

T s(unt, unt′, n + 1) ≥ T e(unt″ , unt, n)

≤ n < |N |

(29)

h. Auxiliary Time Constraints. A straightforward constraint is that the ending time of a transfer should be larger than its corresponding starting time as shown in eq 30. Equation 31 imposes that empty time intervals will be enforced for operations that are not selected.

f. Time Constraints for Storage and Charging Tanks. As shown in eqs 22−25, tank operations should follow the way that any input or output operations of a tank at time event n + 1 should start after those operations of the same tank at time event n. Specifically, each output operation from a tank should wait until brine is settled as revealed in eq 23.

∈ SCT; unt″ ∈ OUunt; n ∈ N , 1 ≤ n < |N |

(28)

T s(unt′, unt, n′) ≥ T e(unt″ , unt, n)

T s(unt, unt′, n + 1) ≥ T e(unt, unt″ , n)

s





V t(unt, unt′, n)f vol, p (unt, c) ∀

unt ′∈ OUunt

unt ∈ P ; c ∈ C ; n ∈ N , n ≥ 1

(27) 12506

(36)

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

time event n. Equation 47 ensures that the output volume of an individual crude (Vc(unt,unt′,c,n)) is proportional to the total output volume (Vt(unt,unt′,n)) according to the individual crude volume fraction inside the source tank (f vol,n(unt,c,n − 1)). Note that in these two equations, two continuous variables are multiplied together, which leads to bilinear terms.

Inv p , c(unt, c , n) = Inv 0(unt)f vol, p (unt, c), ∀ unt ∈ P ; c ∈ C ; n = “0”

Inv p(unt, n) =

(37)

∑ Inv p,c(unt, c , n), ∀ unt ∈ P ; n ∈ N c∈C

(38)

Inv sct, c(unt, c , n) = f vol, n (unt, c , n)Inv sct(unt, n), ∀

k. Material Balance Constraints for Tanks. Equation 39 expresses that the inventory of crude c inside a storage/charging tank at the end of time event n is equal to the inventory at time event n − 1 adjusted by inflow/outflow volumes of crude c during time event n. Equation 40 establishes the initial inventories for each storage/charging tank.

unt ∈ SCT; c ∈ C ; n ∈ N

V c(unt, unt′, c , n) = V t(unt, unt′ , n)f vol, n (unt, c , n − 1) ∀ unt ∈ SCT; unt′ ∈ OUunt; c ∈ C ; n ∈ N, n ≥ 1

Inv sct, c(unt, c , n) = Inv sct, c(unt, c , n − 1) unt ′∈ IUunt

V c(unt, unt″ , c , n) ∀ unt ∈ SCT; c ∈ C ; n





unt ″∈ OUunt

∈ N, n ≥ 1

(39)

Inv sct, c(unt, c , n) = Inv 0(unt)f vol,0 (unt, c), ∀ unt ∈ SCT; c ∈ C ; n = “0”

(40)

Equation 41 gives the total inventory of a storage or charging tank at the end of time event n, which is equal to the summation over individual crude inventories inside the tank. Similarly, as shown in eq 42, the total crude volume transferred by an output operation from a storage or charging tank is equal to the summation over transferred volumes of individual crudes.

∑ Inv

sct

Inv (unt, n) =

sct, c

(unt, c , n), ∀ unt ∈ SCT; n

c∈C

(41)

∈N t

V (unt, unt′, n) =

(47)

l. Variable Bounds. All continuous variables are assigned their respective lower and upper bounds as shown in eqs 48 through 61.

V c(unt′, unt, c , n)



+

(46)

c

∑ V (unt, unt′, c , n), ∀

0 ≤ Inv p(unt, n) ≤ Inv 0(unt)

(48)

0 ≤ Inv sct(unt, n) ≤ Inv up(unt)

(49)

0 ≤ Inv p , c(unt, c , n) ≤ Inv 0(unt)

(50)

0 ≤ Inv sct, c(unt, c , n) ≤ Inv up(unt)

(51)

0 ≤ V t(unt′, unt, n) ≤ V t,up

(52)

0 ≤ V c(unt′, unt, c , n) ≤ V t,up

(53)

0 ≤ f vol, n (unt, c , n) ≤ 1

(54)

T arr(v) ≤ TV s(v) ≤ H

(55)

T arr(v) ≤ TV e(v) ≤ H

(56)

0 ≤ TPs(unt) ≤ H

(57)

0 ≤ TPe(unt) ≤ H

(58)

0 ≤ T s(unt′, unt, n) ≤ H

(59)

0 ≤ T e(unt′, unt, n) ≤ H

(60)

0 ≤ Z(unt′, unt, n) ≤ 1

(61)

c∈C

unt ∈ SCT; unt′ ∈ OUunt; n ∈ N , n ≥ 1

(42)

Equation 43 specifies the demands of crude mixes from different charging tanks. Equation 44 calculates the inventories of key components for charging tanks at the end of time event n, and eq 45 enforces the allowable ranges for key components inside charging tanks.





In summary, eqs 1−61 comprise the deterministic scheduling model based on continuous time formulation using global time events. The bilinear terms in eqs 46 and 47 render the MINLP scheduling model to be nonconvex in nature. 3.2. Reactive Scheduling Models. To swiftly generate feasible new schedules in the face of different uncertainties, three indicator binaries, u(unt′, unt, n), v(unt′, unt, n), and w(unt′, unt, n), are employed to establish connections between the new schedule and current schedule. These three indicator variables are implemented to realize “executed” tasks under three uncertainty scenarios, i.e., shipping delay, crude mixture demand change, and tank unavailability. They help to determine which operations have been implemented according to the current schedule before the occurrence of an uncertainty, and thus those operations have to be exactly adopted in the new schedule; naturally, they also identify those unimplemented operations in the current schedule, which should be reoptimized via rescheduling models.

V t(unt, unt′, n) = FD(unt), ∀

unt ′∈ OUunt n ∈ N , n ≥ 1

(43)

unt ∈ CT

Inv ct, k(unt, k , n) =

∑ f com (c , k)Inv sct, c(unt, c , n), ∀ c∈C

unt ∈ CT ; k ∈ K ; n ∈ N

(44)

f com,lo (unt, k)Inv sct(unt, n) ≤ Inv ct, k(unt, k , n) ≤ f com,up (unt, k)Inv sct(unt, n) ∀ unt ∈ CT; k ∈ K ; n ∈N

(45)

Equation 46 calculates volume fractions of individual crudes inside a storage or charging tank (f vol,n(unt,c,n)) at the end of 12507

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

The first indicator variable u(unt′, unt, n) is applicable for all three scenarios. As shown in eqs 62 and 63, the suffix “l” represents the level values (i.e., optimal solution values) for variables based on the current schedule, and ε denotes a small number, e.g., 1e−5. Tdetect designates the detection time point for uncertainty of shipping delay and crude mixture demand change (used for scenarios 1 and 2); Tbreak designates the breakin time point for uncertainty of tank malfunction (used for scenario 3). For modeling simplicity, Tincident is used to represent Tdetect or Tbreak. It is obvious from eq 62 that when u(unt′, unt, n) is equal to 1, due to the existence of ε, Tincident will necessarily be larger than the original starting time (Ts.l(unt′,unt, n)) in the current schedule. On the contrary, according to eq 63, if u(unt′, unt, n) is equal to 0, Ts.l(unt′, unt, n) will not be ahead of Tincident. u(unt′, unt, n) ⎧1, if a crude transfer from unt′ ⎪ = ⎨ to unt starts before T incident(T detect or T break ) ⎪ ⎩ 0, otherwise T s. l(unt′ , unt, n) + ε − H(1 − u(unt′ , unt, n)) ≤ T incident ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; n ∈ N , n ≥ 1; T incident = T detect orT break

(62) Figure 3. Illustration of w(unt′,unt,n): (a) w(unt′,unt,n) = 1; (b) w(unt′,unt,n) = 0 because Tbreak is behind the operation end; (c) w(unt′,unt,n) = 0 because Tbreak is before the operation start.

T incident ≤ T s. l(unt′, unt, n) + Hu(unt′ , unt, n) ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; n ∈ N , n ≥ 1; T incident = T detect or T break

(63)

The second indicator variable v(unt′,unt,n) is designed for the uncertainty of tank unavailability. Note that SCT* indicates the set of malfunctioning tanks. As shown in eqs 64 and 65, when v(unt′, unt, n) is equal to 1, Te.l(unt′, unt, n) will be less than or equal to Tbreak; otherwise, Te.l(unt′,unt,n) will be larger than Tbreak with v(unt′,unt,n) equal to 0. ⎧1, if a crude transfer from unt′ ⎪ v(unt′, unt, n) = ⎨ to unt is finished at/before T break ⎪ ⎩ 0, otherwise

Figure 4. Logical relations among three indicator binary variables.

w(unt′, unt, n) ⎧1, if T break occurs during the crude transfer ⎪ = ⎨ from unt′ to unt ⎪ ⎩ 0, otherwise

T e. l(unt′ , unt, n) − H(1 − v(unt′ , unt, n)) ≤ T break ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N , n ≥ 1

(64)

w(unt′, unt, n) ≥ u(unt′, unt, n) − v(unt′, unt, n) ∀ unt′ ∈ IUunt ; unt ∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n

T break ≤ T e. l(unt′, unt, n) + Hv(unt′ , unt, n) − ε ∀ unt′

∈ N, n ≥ 1

∈ IUunt ; unt ∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N, n ≥ 1

(66)

w(unt′, unt, n) ≤ u(unt′, unt, n) ∀ unt′

(65)

∈ IUunt; unt ∈ SCT ∪ DUunt′ or unt ∈ SCT*; n

The third indicator variable w(unt′, unt, n) is tailored for situations that tanks may have malfunctions during the execution of an input or output operation. Its physical meaning is sketched in Figure 3. As a matter of fact, w(unt′, unt, n) is deduced from the former two indicator variables. As presented in Figure 4, only under the circumstance that u(unt′, unt, n) = 1 and v(unt′, unt, n) = 0, will w(unt′, unt, n) be equal to 1. Therefore, eqs 66−68 are configured to define w(unt′, unt, n).

∈ N, n ≥ 1

(67)

w(unt′, unt, n) ≤ 1 − v(unt′, unt, n) ∀ unt′ ∈ IUunt ; unt ∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N, n ≥ 1 12508

(68)

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

After the clarification of three indicator binary variables, the concept of “executed” task under various uncertainty scenarios as well as how to derive new schedules on the basis of current deterministic schedules will be addressed. It should be noted that the rescheduling under each category of uncertainties needs to be further equipped with a series of constraints to help accomplish their respective “executed” tasks. Scenario 1: Rescheduling under the Occurrence of Shipping Delay. If an uncertainty of shipping delay is detected, and the detected time, Tdetect, is right behind the starting time of a crude transfer from unt′ to unt (i.e., u(unt′, unt, n) = 1), then the same operation will be triggered and “executed” in the rescheduling, which means the values of variables of this operation will be directly copied from the current deterministic schedule. Given this understanding, eqs 69 and 70 are employed to fix binary variables to their original values in the current deterministic schedule if u(unt′, unt, n) is equal to 1. Equations 71 and 72 then fix the total volumes transferred to their original values in the current deterministic schedule if u(unt′, unt, n) is equal to 1. Similarly, eqs 73 and 74 are formulated for individual crude volumes, eqs 75 and 76 are used for starting time variables, and eqs 77 and 78 are applied for ending time variables. As shown in eq 79, for operations that start at/later than Tdetect (u(unt′, unt, n) = 0) in the current deterministic schedule, if they become activated in the rescheduling (X(unt′, unt, n) = 1), then their starting times in the new schedule should be arranged at/later than Tdetect. Since the shipping is delayed, eq 80 adds the delayed time (Tdly(v)) to the original projected arrival time, and thus, the unloading starting time is reinitialized in the rescheduling.

T s. l(unt′ , unt, n) − H(1 − u(unt′ , unt, n)) ≤ T s(unt′, unt, n) ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; n ∈ N , n ≥ 1 T s(unt′, unt, n) ≤ T s. l(unt′, unt, n) + H(1 − u(unt′, unt, n)) ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; n ∈ N , n ≥ 1

≤ T e(unt′, unt, n) ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; n ∈ N , n ≥ 1

+ H(1 − u(unt′, unt, n)) ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; n ∈ N , n ≥ 1

+ H(1 − X(unt′, unt, n)) ∀ unt′ ∈ IUunt ; unt ∈ SCT ∪ DU; n ∈ N , n ≥ 1

T arr(v) + T dly(v) ≤ TV s(v), ∀ v ∈ V

(69)

(70)





V t(unt, unt′, n) = FD(unt)

+ Q rush(unt), ∀ unt ∈ CT

t

≤ V (unt′, unt, n) ∀ unt′ ∈ IUunt; unt

(81)

In summary, the rescheduling model under scenario 2 includes eqs 1−63, 69−79, and 81. Note that Tincident = Tdetect in eqs 62 and 63. Scenario 3: Rescheduling under Tank Unavailability. For the tank unavailability scenario, more considerations should be given because Tbreak may occur before, after, or during an input/ output operation of a tank. For tanks that are working well (unt′, unt ∉ SCT*), an “executed” task has the same meaning as explained in the former two scenarios. In this sense, if an input or output operation associated with a good working tank starts before Tbreak, then its associated variables (binary, volumes, and starting and ending times) in the new schedule should be fixed as the solution values from the current schedule. Thus, eqs 69−79 can be borrowed for scenario 3 with simple modifications of limiting tanks to good working ones (unt′, unt ∉ SCT*) and replacing Tdetect by Tbreak in eq 79. However, for tanks that experience malfunctions (unt′, unt ∈ SCT*), since they will be unavailable for some time, their “executed” tasks become more complicated. It is possible that a

(71)

V t(unt′, unt, n) ≤ V t. l(unt′, unt, n) + V t,up(1 − u(unt′, unt, n)) ∀ unt′ ∈ IUunt; unt (72)

V c. l(unt′ , unt, c , n) − V t,up(1 − u(unt′ , unt, n)) ≤ V c(unt′, unt, c , n) ∀ unt′ ∈ IUunt; unt (73)

V c(unt′, unt, c , n) ≤ V c. l(unt′, unt, c , n) + V t,up(1 − u(unt′, unt, n)) ∀ unt′ ∈ IUunt; unt ∈ CT ∪ DU; c ∈ C ; n ∈ N , n ≥ 1

(80)

unt ′∈ OUunt n ∈ N , n ≥ 1

V t. l(unt′ , unt, n) − V t,up(1 − u(unt′ , unt, n))

∈ CT ∪ DU; c ∈ C ; n ∈ N , n ≥ 1

(79)

In summary, the rescheduling model under scenario 1 includes eqs 1−63 and 69−80. Note that Tincident = Tdetect in eqs 62 and 63. Scenario 2: Rescheduling under the Occurrence of Crude Mixture Demand Change. For CDUs’ demand uncertainty of crude mixture, an operation is regarded as “executed” if it starts before Tdetect, so the same set of constraints as shown in eqs 69−79 are borrowed from the shipping delay uncertainty. In addition, a new constraint shown in eq 81 is configured, which adds a rush order deviation (Qrush(unt)) to the original demand (FD(unt)), in order to update the CDUs’ demands of different crude mixes from charging tanks.

+ (1 − u(unt′, unt, n)) ∀ unt′ ∈ IUunt; unt

∈ SCT ∪ DU; n ∈ N , n ≥ 1

(78)

T detect ≤ T s(unt′, unt, n) + Hu(unt′, unt, n)

X(unt′, unt, n) ≤ X . l(unt′, unt, n)

∈ SCT ∪ DU; n ∈ N , n ≥ 1

(77)

T e(unt′, unt, n) ≤ T e. l(unt′, unt, n)

≤ X(unt′, unt, n) ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; n

∈ SCT ∪ DU; n ∈ N , n ≥ 1

(76)

T e. l(unt′ , unt, n) − H(1 − u(unt′ , unt, n))

X . l(unt′ , unt, n) − (1 − u(unt′ , unt, n))

∈ N, n ≥ 1

(75)

(74) 12509

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

tank may fail during an input or output operation, which will make a part of the operation (the operation occurring before Tbreak) regarded as an “executed” task. Thus, any input or output operations for a malfunctioning tank in the current schedule should be checked to see whether Tbreak is within the operational time duration or not. If it is so (w(unt′, unt, n) = 1), the values of independent variables for the completed part of an operation before Tbreak will be fixed in the rescheduling; otherwise (w(unt′, unt, n) = 0), a second check will be conducted to see whether this operation has been fully finished at/before Tbreak. If it is true (v(unt′,unt,n) = 1), its independent variables will be fixed according to the values in the current schedule; otherwise, its independent variables should be reoptimized in the rescheduling model. On the basis of the above discussions, as long as an operation for a malfunctioning tank starts before Tbreak (i.e., u(unt′, unt, n) = 1), the associated binary (eqs 82 and 83) and starting time (eqs 84 and 85) variables should be copied from current scheduling results.

β(unt′, unt, n)V t. l(unt′, unt, n)w(unt′, unt, n) − V t,up(1 − w(unt′, unt, n)) ≤ V t(unt′, unt, n) ∀ unt′ ∈ IUunt ; unt ∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N, n ≥ 1

(87)

V t(unt′, unt, n) ≤ β(unt′, unt, n)V t. l(unt′, unt, n)w(unt′ , unt, n) + V t,up(1 − w(unt′, unt, n)) ∀ unt′ ∈ IUunt ; unt ∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N, n ≥ 1

(88)

β(unt′, unt, n)V c . l(unt′, unt, c , n)w(unt′ , unt, n) − V t,up(1 − w(unt′, unt, n)) ≤ V c(unt′, unt, c , n) ∀ unt′ ∈ IUunt; unt ∈ CT ∪ DU; nt ′ or unt ∈ SCT*; c ∈ C; n ∈ N , n ≥ 1

X . l(unt′ , unt, n) − (1 − u(unt′ , unt, n))

(89)

V c(unt′, unt, c , n) ≤ β(unt′, unt, n)V c

≤ X(unt′, unt, n) ∀ unt′ ∈ IUunt; unt

. l(unt′ , unt, c , n)w(unt′ , unt, n) + V t,up

∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N , n ≥ 1

(1 − w(unt′, unt, n)) ∀ unt′ ∈ IUunt; unt

(82)

∈ CT ∪ DU; unt′ or unt ∈ SCT*; c ∈ C ; n ∈ N , n X(unt′, unt, n) ≤ X . l(unt′, unt, n)

≥1

+ (1 − u(unt′, unt, n)) ∀ unt′ ∈ IUunt; unt

(90)

When an input/output operation of a malfunctioning tank is finished at/before Tbreak (v(unt′, unt, n) = 1), the total volume (as shown in eqs 91 and 92) and each individual crude volume transferred (as shown in eqs 93 and 94) in the new schedule should be fixed as the original values in current schedule.

∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N , n ≥ 1 (83)

T s. l(unt′ , unt, n) − H(1 − u(unt′ , unt, n))

V t. l(unt′ , unt, n) − V t,up(1 − v(unt′ , unt, n))

≤ T s(unt′, unt, n) ∀ unt′ ∈ IUunt; unt

≤ V t(unt′, unt, n) ∀ unt′ ∈ IUunt; unt

∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N , n ≥ 1 (84)

∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N , n ≥ 1 (91)

T s(unt′, unt, n) ≤ T s. l(unt′, unt, n)

V t(unt′, unt, n) ≤ V t. l(unt′, unt, n)

+ H(1 − u(unt′, unt, n)) ∀ unt′ ∈ IUunt ; unt

+ V t,up(1 − v(unt′, unt, n)) ∀ unt′ ∈ IUunt; unt

∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N , n ≥ 1

∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N , n ≥ 1

(85)

(92)

A ratio β(unt′,unt,n) is defined to help account for the total crude volume and each individual crude volume if a tank fails in the middle of an operation. As shown in eq 86, since the flow rate of an operation will not change in the current schedule, the ratio is calculated by dividing the executed operational time interval over the total projected time interval. Equations 87 and 88 provide the crude volume already transferred before Tbreak, given that the tank failure occurs in the middle of an input or output operation (w(unt′, unt, n) = 1). Similarly, individual crude volumes already transferred before Tbreak will be calculated by eqs 89 and 90.

V c . l(unt′ , unt, c , n) − V t,up(1 − v(unt′ , unt, n)) ≤ V c(unt′, unt, c , n) ∀ unt′ ∈ IUunt; unt ∈ CT ∪ DU; unt′ or unt ∈ SCT*; c ∈ C ; n ∈ N , n ≥1

(93)

V c(unt′, unt, c , n) ≤ V c . l(unt′, unt, c , n) + V t,up(1 − v(unt′, unt, n)) ∀ unt′ ∈ IUunt ; unt ∈ CT ∪ DU; unt′ or unt ∈ SCT*; c ∈ C ; n ∈ N , n

β(unt′, unt, n) = (T break − T s. l(unt′, unt, n))

≥1

/(T e. l(unt′ , unt, n) − T s. l(unt′ , unt, n)) ∀ unt′

When a tank fails in the middle of an operation (w(unt′, unt, n) = 1), the ending time of this operation should be equal to Tbreak in the rescheduling as shown in eqs 95 and 96; however, if the operation is finished at/before Tbreak (v(unt′, unt, n) = 1),

∈ IUunt ; unt ∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N, n ≥ 1

(94)

(86) 12510

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

Figure 5. General methodology framework.

its ending time should be fixed as the original value in the current schedule, which is described by eqs 97 and 98.

represents the maintenance time required for fixing the malfunctioning tank.

T break − H(1 − w(unt′, unt, n)) ≤ T e(unt′, unt, n) ∀

T break + T maint ≤ T s(unt′, unt, n) + Hu(unt′, unt, n)

unt′ ∈ IUunt; unt ∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N , n ≥ 1

+ H(1 − X(unt′, unt, n)) ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N , n ≥ 1

(95)

(99)

T e(unt′ , unt, n) ≤ T break + H(1 − w(unt′, unt, n)) ∀

In summary, the rescheduling model under scenario 3 contains eqs 1−79 and 82−99. Note that the associated modifications include Tincident = Tbreak in eqs 62 and 63, enforcing unt′,unt ∉ SCT* for eqs 69−79, and replacing Tdetect by Tbreak in eq 79.

unt′ ∈ IUunt; unt ∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N , n ≥ 1

(96)

T e. l(unt′ , unt, n) − H(1 − v(unt′ , unt, n))

4. REACTIVE SCHEDULING METHODOLOGY Figure 5 gives the general framework of the developed reactive scheduling methodology. At the outset, initial process data and projected uncertainty information should be collected. Next, a deterministic scheduling model is constructed based on eqs 1−61. It will be solved to obtain the current schedule. During the execution of current schedule, if an uncertainty is realized, an appropriate rescheduling model will be generated according to the scenarios encountered. As elaborated, each uncertainty scenario will introduce its characteristic model constraints. For scenario 1, a rescheduling model based on eqs 1−63 (Tincident = Tdetect in eqs 62 and 63) and eqs 69−80 will be implemented; for scenario 2, the same rescheduling model equations as scenario 1 will be employed except that eq 80 needs to be replaced by eq 81. For scenario 3, the rescheduling model includes eqs 1−79 and 82−99; meanwhile, Tincident = Tbreak in

≤ T e(unt′, unt, n) ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N , n ≥ 1 (97)

T e(unt′, unt, n) ≤ T e. l(unt′, unt, n) + H(1 − v(unt′, unt, n)) ∀ unt′ ∈ IUunt; unt ∈ SCT ∪ DU; unt′ or unt ∈ SCT*; n ∈ N , n ≥ 1 (98)

For operations in the current schedule associated with the malfunctioning tank, if they start at/later than Tbreak (i.e., u(unt′, unt, n) = 0) and will be conducted (X(unt′, unt, n) = 1) in the rescheduling, then their starting times should be late enough to wait until the malfunctioning tank has been repaired (after Tbreak + Tmaint), which is shown in eq 99. Note that Tmaint 12511

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

Figure 6. Crude transfer network for case studies.

eqs 62 and 63, Tbreak should replace Tdetect, and tanks are restricted to be good working ones (unt′,unt ∉ SCT*) in eqs 69−79. After an appropriate rescheduling model is constructed, it will be solved by GAMS to obtain a new schedule for real implementation, and in the meantime the mechanism will wait for the occurrence of the next uncertainty. Iteratively, this mechanism performs rescheduling each time whenever a new uncertainty comes to be realized, and the preceding new schedule will be seamlessly replaced. This iterative rescheduling work will be terminated until the current entire scheduling time horizon is completed, which supposedly will trigger a new scheduling from the very beginning. In this light, rescheduling operations are accomplished in a dynamic and reactive way. Note that each time a scheduling solution is obtained, its feasibility should be examined. In case any discrepancies occur, troubleshooting will be performed mainly for three sections: the initial process data/projected uncertainty information, solving methods, and current scheduling/rescheduling models.

studies. The reason is that the same number of time events are assigned to deterministic and reactive schedules, and due to the different number of time events allocated to case studies, deterministic schedules also turn out to be different. 5.1. Case 1: Rescheduling by Shipping Delay. The optimal Gantt chart for scheduling and rescheduling results of case 1 is shown in Figure 7. As shown, it uses “receiving units” as the vertical category axis and scheduling time as the horizontal axis. The numbers adjacent to the schedule bars represent the actual crude volumes transferred, and different colors refer to the specific time events when particular operations occur. Note that various filling patterns in the Gantt chart denote source units of crude transfers. In this case, the current scheduling results are shown in Figure 7a. During the implementation of the current schedule, the refinery is informed at day 5 that vessel 2 carrying parcel 2 will arrive 2 days later than expected, which will disturb the relevant parcel unloading activities. Along with this shipping delay disturbance, the rescheduling work based on scenario 1 from Figure 5 has been performed. Examining the rescheduling results shown in Figure 7b, all crude operations that already occurred before Tdetect (day 5) in the current schedule are kept exactly the same in the new schedule. In addition, the only modification made in the new schedule comparing to the current schedule is changing the starting time from day 5 to day 7 for unloading operation of the delayed parcel 2 to storage tank 3 at time event 4, which is highlighted by the red dotted line. Since no extra operational costs are incurred, the minimum operational costs ($2 376 200) derived from the new schedule is the same as the previous. Note that the proposed rescheduling methodology is capable of generating consistent new schedules in accordance with the current deterministic schedule. Furthermore, the reactive new schedule is generated in 0.28 s, which is regarded as suitable for online decision support. 5.2. Case 2: Rescheduling by Crude Mixture Demand Increase. In case 2, along with the implementation of the same deterministic schedule as case 1, an emergent order is suddenly

5. CASE STUDIES The developed reactive scheduling methodology has been examined through an industrial-size crude oil scheduling problem. All case studies are developed and solved in GAMS v23.9.131 on an Intel 3.4 GHz Windows PC with 16.0 GB of memory. The optimization solver DICOPT32 is adopted to solve the resultant nonconvex MINLP problems, with CPLEX33 and CONOPT334 respectively employed as the subsolvers for MILP and NLP problems. The studied crude oil scheduling problem consists of three single-parcel vessels carrying their respective crudes, a single docking berth, six storage tanks, four charging tanks, and three CDUs. The structure of the entire crude transfer network is presented in Figure 6. The specified scheduling horizon is 15 days. Eight different crudes and one blending quality index are considered. The detailed problem data are given in Table 1,10 and the uncertainty data of four case studies are listed in Table 2. Note that deterministic schedules might differ among case 12512

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

Table 1. Deterministic Problem Data for Case Studies no. of berths: 1 BST: 0.1 day scheduling horizon (H): 15 days arrival time (day) crude composition

vessels vessel 1 vessel 2 vessel 3 storage tanks

0 5 10 capacity (Mbbl)

tank 1 tank 2 tank 3 tank 4 tank 5 tank 6 charging tanks tank tank tank tank

1 2 3 3

[100,900] [100,1100] [100,1100] [100,1100] [100,900] [100,900] capacity (Mbbl)

(mix X) (mix Y) (mix Z) (mix W) crude mixtures

volume (Mbbl)

100% C1 100% C2 100% C3 initial composition

600 600 600 initial inventory (Mbbl)

100% C4 100% C1 100% C2 100% C3 100% C5 100% C5 initial composition

[0,800] [0, 800] [0, 800] [0, 800]

100% 100% 100% 100%

600 100 500 400 300 600 initial inventory (Mbbl)

C6 C7 C8 C5

50 300 300 300 demand (Mbbl)

key component 1

X Y Z W crude types

[0.03, 0.035] [0.035, 0.05] [0.05, 0.065] [0.06,0.08] key component 1

C1 C2 C3 C4 C5 C6 C7 C8 unloading flow rate (Mbbl/day) charging flow rate (Mbbl/day)

600 600 600 600

0.03 0.05 0.065 0.031 0.075 0.0317 0.0483 0.0633 intertank transfer flow rate (Mbbl/day)

[0,500] [20,500]

[0,500]

economic data unloading cost ($/day) storage tank inventory cost [$/day·Mbbl] CDU changeover cost ($)

10 000 40 50 000

demurrage cost ($/day) charging tank inventory cost [$/day·Mbbl] intertank transfer setup cost ($)

5000 80 30 000

Table 2. Uncertainty Data for Case Studies case 1 detect

a

case 2 dly

detect

case 4αa

case 3 rush

break

maint

break

case 4βa maint

detect

T (day)

delayed vessel

T (v) (day)

T (day)

affected unt (Mix)

Q (unt) (MbbL)

T (day)

failed tank

T (day)

T (day)

failed tank

T (day)

T (day)

affected unt (Mix)

Qrush(unt) (MbbL)

5.0

v2

2.0

1.0

ch1(X)

40

0.3

st3

1.0

1.5

st3

1.0

3.0

ch1(X)

30

Case 4α refers to the first uncertainty of case 4, while case 4β denotes the second uncertainty of case 4.

MbbL to live up to the increased demand of crude mixture X. As seen, the other operations of rescheduling remain the same as those in the current deterministic schedule, which demonstrates that the generated reactive schedule only makes necessary amendments and thus enables the continuity of refinery operations from the current deterministic schedule to the new schedule. The minimum operational costs obtained for the deterministic schedule and the new schedule are both equal to $2 376 200, indicating that no additional costs are actually brought by rescheduling. Moreover, the solution time to generate a new schedule is as fast as 0.4 s.

placed at day 1 to increase the demand of crude mixture X by 40 MbbL, which needs an immediate rescheduling of all leftover operations. As shown in Figure 8, Tdetect is labeled by the red dotted line, representing the time that rescheduling is triggered. As highlighted by the red dotted rectangles, it is observed in Figure 8a that storage tank 2 transfers 550 MbbL of crude to charging tank 1 at time event 3, and subsequently charging tank 1 sends out 550 MbbL of crude mixtures (crude mixture X) to CDU 1 at time event 4. On the contrary, the rescheduling results based on rescheduling scenario 2 shown in Figure 8b reveal that crude volumes transferred during the two operations mentioned above should each be incremented by 40 12513

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

5.3. Case 3: Rescheduling by Storage Tank Malfunction. In case 3, the uncertainty is that storage tank 3 suddenly has a malfunction at day 0.3 and needs 1 day for maintenance. As a result, storage tank 3 has to stop any ongoing operations and will resume its functionality when its maintenance is completed. As noted in Figure 9a, storage tank 3 fails in the

Figure 7. Current schedule and new schedule caused by shipping delay.

Figure 9. Current schedule and new schedule caused by storage tank malfunction.

middle of the execution of crude transfer from it to charging tank 2 at time event 1, which may disrupt the downstream charging operations. Obviously, the rescheduling activities on scenario 3 are performed and the rescheduling results are shown in Figure 9b, where the parcel-to-tank transfers remain the same in the new schedule comparing to the current deterministic schedule. With regard to intertank transfers, the rescheduling activates the same crude transfers as in Figure 9a from storage tank 2 to charging tank 1 at time event 4 and from storage tank 6 to charging tank 4 at time event 2. Whereas, due to the failure of storage tank 3 during its output transfer to charging tank 2 at time event 1, the originally transferred amount of 300 MbbL with the duration from day 0 to day 0.6 has been split into two separate operations. The already executed part of the transfer from storage tank 3 to charging tank 2 is regarded as a single operation with truncated duration (day 0−day 0.3) and volume (150 MbbL) at time event 1. Another operation is rescheduled with a volume of 150 MbbL and the duration from day 3.3 to day 3.6 at time event 4 after storage tank 3 has been fixed. Meanwhile, the crude transfer from storage tank 4 to charging tank 3 is allocated to time event 3 instead of time event 4, but with the same transfer volume and duration. For charging operations, CDUs 1 and 3 in the new schedule follow the same operations as shown in Figure 9a. For CDU 2,

Figure 8. Current schedule and new schedule caused by crude mixture demand increase.

12514

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

the new schedule keeps the first charging operation at time event 1 exactly the same as the deterministic schedule since it starts before Tbreak. However, the crude volume transferred from charging tank 2 at time event 2 is 150 MbbL less compared with that in Figure 9a because the failure of storage tank 3 temporarily causes insufficient crude inventory in charging tank 2, which results in a short supply to CDU 2. After storage tank 3 is recovered, a second transfer is scheduled from it to charging tank 2 at time event 4, which provides extra supply of crudes to charging tank 2 (150 MbbL) and enables another crude transfer from charging tank 2 to CDU 2 to compensate for the demand of crude mixture Y. In this light, as noted in Figure 9b, the transfer duration from charging tank 3 to CDU 2 has been cut down by 7.5 days but having the same volume as the deterministic schedule, and the designated time event number is changed to 4 instead of 5. As previously mentioned, this is to spare some room for insertion of another transfer from charging tank 2 to CDU 2 later. This new operation is scheduled from day 7.5 to day 15 at time event 5, which makes up the volume of 150 MbbL for crude mixture Y. It is substantiated from this case study that the proposed methodology can accommodate the uncertainty of tank failure correctly and effectively. As identified, this case study generates the new schedule within 4.7 s, which is appropriate for real-time applications in refineries. Furthermore, the minimum operational costs achieved from the new schedule ($2 624 457) is 5.8% higher than that from the current deterministic schedule ($2 481 600). 5.4. Case 4: Rescheduling by Multiple Uncertainties. Case 4 simultaneously handles two uncertainties. The first one is about storage tank 3 suddenly failing at day 1.5 and requiring 1 day for maintenance, and the second one is about an urgent new order at day 3.0 for an increased demand of crude mixture X by 30 MbbL. Figure 10a is the current deterministic schedule. As shown in Figure 10b, after the first uncertainty of tank failure occurred, the starting time of unloading operation from parcel 2 to storage tank 3 at time event 6 has been postponed from day 5.0 to day 11.9, resulting in a higher demurrage cost. Since storage tank 3 fails during its output transfer to charging tank 2, the original transfer volume of 300 MbbL and duration from day 1.1 to day 1.7 at time event 2 is broken into two individual parts. The executed part is treated as a single operation from day 1.1 to day 1.5 and with a volume of 200 MbbL at time event 2, while the second part is rescheduled from day 11.7 to day 11.9 with a volume of 100 MbbL at time event 4. In addition, the transfer from storage tank 4 to charging tank 3 has been rescheduled to time event 4 rather than time event 2 with the same transfer volume and duration. Meanwhile, the transfer duration from storage tank 6 to charging tank 4 is rescheduled to 0.6 days instead of 1.1 days in the current deterministic schedule. Note that its occupied time event has also been modified from 3 to 5. Correspondingly, there are also some other modifications on charging operations. For CDU 1, the charging operation at time event 3 transfers 50 MbbL fewer crudes within a shorter duration. As a result, the subsequent charging operation at time event 5 has a different starting time than the current deterministic schedule. In addition, a new transfer from charging tank 2 to CDU 1 at time event 6 is attached to occupy the remaining scheduling time. Respecting CDU 2, the original two charging operations at time events 4 and 5 in the current deterministic schedule are replaced by two new operations at time events 5 and 6, respectively, with

Figure 10. Current schedule and new schedule caused by multiple uncertainties.

reoptimized transfer durations and volumes. Specifically in this new schedule, the source unit performing the last charging operation is charging tank 3 at time event 6 rather than charging tank 2 at time event 5 in the current deterministic schedule. For CDU 3, the charging operations at time events 3 and 4 are replaced by two new operations at time events 5 and 6 with transfer durations and volumes shown in Figure 10b. In short, the solution time to generate the first new schedule is 11.4 s. Its objective function is $2 664 550, which is 13.45% higher than that from the current deterministic schedule ($2 348 650). When the second uncertainty (mixture demand increase) is realized, the scheduling results shown in Figure 10b is comprehended as the current deterministic schedule, and a new schedule is obtained as shown in Figure 10c. As observed, the parcel-to-tank transfers in the new schedule are kept the same as the current schedule. The intertank transfers almost remain unchanged except that a new transfer of 30 MbbL is rescheduled from storage tank 2 to charging tank 1 at time event 5 within a short period of 0.06 days in order to prepare more crude mix X. As for CDUs, the transfer from charging tank 1 to CDU 1 at time event 5 is rescheduled to time event 6 with an expanded duration to the end of scheduling time horizon and an increased transfer volume of 80 MbbL. Accordingly, the original 16 MbbL transfer from charging tank 2 to CDU 1 at time event 6 is totally relocated and grouped with the transfer from charging tank 2 to CDU 2 at time event 5. Thus, the rescheduled transfer volume from charging tank 2 to CDU 2 at time event 5 is 100 MbbL, and its transfer duration is elongated until the end of the scheduling 12515

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

Table 3. Computational Results for Case Studies cases case case case case case a

1 2 3 4αa 4βa

no. time event

no. of binary variables

no. of continuous variables

no. of constraints

nonzeros

obj ($)

solution time (s)

4 4 5 6 6

91 91 117 139 134

1794 1794 2189 2584 2584

3632 3633 4759 5954 5894

11 044 11 065 14 534 18 247 18 131

2 376 200 2 376 200 2 624 457 2 664 550 2 497 400

0.28 0.4 4.7 11.4 0.6

Case 4α refers to the first uncertainty of case 4, while case 4β denotes the second uncertainty of case 4.

6. CONCLUDING REMARKS In this paper, an effective reactive scheduling methodology for short-term crude oil operations has been developed to handle various uncertainty scenarios. Two stage solution procedures are proposed for different uncertainty scenarios including shipping delay, crude mixture demand change, and tank unavailability. The raised case studies have demonstrated that the proposed reactive scheduling methodology can generate optimal rescheduling solutions seamlessly connected to the current completed scheduling operations and thus ensure the optimal operational continuity under impacts from various uncertainties. In addition, the methodology can systematically explore possible rescheduling actions for continuous crude process without any presumed heuristics. Therefore, the proposed reactive scheduling methodology is believed to be more effective than heuristic based methods for a wide variety of uncertainty scenarios.

time horizon. Consequently, the original transfer from charging tank 3 to CDU 2 at time event 6 is eliminated. Comparatively, CDU 3 has the fewest changes. The only modification made is increasing the transfer volume from charging tank 3 to CDU 3 at time event 5 by absorbing the eliminated 16 MbbL originally scheduled from charging tank 3 to CDU 2 at time event 6 as shown in Figure 10b. As identified, the solution time to obtain the second new schedule is 0.6 s, and its minimum operational cost is $2 497 400, which represents 6.3% saving comparing to that from the first new schedule. The reasons are obvious from Figure 10. For the second uncertainty, due to more demand of crude mixture from charging tank 1, a new transfer of 30 MbbL is scheduled from storage tank 2 to charging tank 1. Subsequently, this newly received amount of crudes is charged to CDU1, which leads to lower column changeover and tank setup costs compared to the first new schedule. 5.5. Further Discussions. For deterministic short-term crude scheduling problems, the minimum number of time events is affected by multiple interacting factors, such as scheduling time horizon, number of parcels, initial crude inventories, blending specifications, and crude demands imposed by CDUs. At the time that an uncertainty is detected, rescheduling is triggered to either modify the original operations or add totally new operations. In this sense, the predefined number of time events for the deterministic schedule may be inadequate to accommodate new operations into rescheduling. Especially for the rescheduling scenario of tank unavailability, a time delay is necessitated until the maintenance on the malfunctioning tank has been finished. Thus, it is highly possible that the predefined number of time events for the deterministic schedule might not be enough to insert new operations in the new schedule. Moreover, under the circumstances that multiple uncertainties take place during the scheduling time horizon, it is necessary to further increase the number of time events to account for more potential new operations. As long as the minimum required number of time events is identified for a particular uncertainty scenario, it is not indispensable to continue increasing the time event number since extra time events may not be fully utilized and pose a risk of high computational cost. Therefore, in this paper, the number of time events is selected case by case according to the uncertainty scenario encountered, where the basic strategy followed is to generate an optimal new schedule with minimum amount of computational efforts. As shown from our preliminary studies, four time events are selected for the uncertainties of shipping delay and mixture demand increase, while five time events are assigned to the uncertainty of storage tank unavailability, and six time events are designated to the scenario of multiple uncertainties. In summary, the computational results of four case studies are summarized in Table 3.



AUTHOR INFORMATION

Corresponding Author

*Phone: 409-880-7818. Fax: 409-880-2197. E-mail: Qiang.xu@ lamar.edu. Notes

The authors declare no competing financial interest.



ACKNOWLEDGMENTS This work was supported in part by Texas Air Research Center (TARC) and Graduate Student Scholarship from Lamar University.



NOMENCLATURE

Indices

c ∈ C = crude types k ∈ K = key components n ∈ N = global time events unt ∈ UNT = all the units including parcels, tanks, and CDUs v ∈ V = vessels

Sets

C = set of crude oil types CT ⊂ UNT = set of charging tanks DU ⊂ UNT = set of distillation CDUs IU ⊂ UNT = set of units as input unit sources: IU = P ∪ ST ∪ CT IUct ⊂ IU = set of input sources for charging tank IUdu ⊂ IU = set of input sources for CDU IUst ⊂ IU = set of input sources for storage tank K = set of key components (e.g., sulfur concentration) N = set of global time events OU ⊂ UNT = set of output units: OU = ST ∪ CT ∪ DU OUct ⊂ OU = set of output units for crudes from charging tanks 12516

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

OUp ⊂ OU = set of output units for crudes from parcels OUst ⊂ OU = set of output units for crudes from storage tanks P ⊂ UNT = set of crude parcels Pv = set of crude parcels carried by vessel v SCT = ST ∪ CT = union of storage and charging tank sets SCT* = set of malfunctioning tanks ST ⊂ UNT = set of storage tanks UNT = P ∪ ST ∪ CT ∪ DU = set of all the units including parcels, tanks, and CDUs V = set of vessels

Invct,k(unt,k,n) = inventory of key component k in a charging tank unt ∈ CT at the end of time event n Invp(unt,n) = total inventory of a parcel unt ∈ P at the end of time event n Invp,c(unt,c,n) = inventory of crude c in a parcel unt ∈ P at the end of time event n Invsct(unt,n) = total inventory of a tank unt ∈ SCT at the end of time event n Invsct,c(unt,c,n) = inventory of crude c inside a tank unt ∈ SCT at the end of time event n Ts(unt′,unt,n) = starting time of a crude transfer from units unt′ to unt at time event n Te(unt′,unt,n) = ending time of a crude transfer from units unt′ to unt at time event n TPs(unt) = starting time of unloading a parcel unt ∈ P during the scheduling horizon TPe(unt) = ending time of unloading a parcel unt ∈ P during the scheduling horizon TVs(v) = starting time of unloading a vessel v during the scheduling horizon TVe(v) = ending time of unloading a vessel v during the scheduling horizon Vc(unt′,unt,c,n) = volume of crude c transferred from units unt′ to unt at time event n Vt(unt′,unt,n) = total volume transferred from units unt′ to unt at time event n f vol,n(unt,c,n) = volume fraction of crude c in a tank unt ∈ SCT at the end of time event n

Parameters

BST = brine settling and removal time Ccho = changeover cost for a CDU switching different feeds Cinv(unt) = inventory management cost for storage and charging tanks Csea = sea waiting cost Cset = setup costs for crude transfers from vessels to storage tanks or from storage to charging tanks Culd = parcel unloading cost FD(unt) = total demand for crude mixture from unt ∈ CT throughout the scheduling horizon Flo(unt′,unt)/Fup(unt′,unt) = lower/upper bounds of flow rate from units unt′ to unt H = scheduling time horizon Inv0(unt) = initial inventory of a parcel or tank unt ∈ P ∪ SCT Invlo(unt)/Invup(unt) = minimum/maximum allowable inventories of tank unt ∈ SCT Qrush(unt) = a rush order deviation for the crude mixture inside unt ∈ CT Tarr(v) = arrival time of vessel v Tbreak = break-in time of a malfunctioning tank Tdly(v) = the delayed time of vessel v Tdetect = detection time of shipping delay or crude mixture demand change Tincident = Tdetect or Tbreak = occurrence time of an unexpected incident Tmaint = maintenance time required for fixing a malfunctioning tank Vt,up = upper bound of the total transferred crude volume for an operation fcom(c,k) = fraction of key component k in crude c fcom,lo(unt,k)/fcom,up(unt,k) = minimum/maximum allowable fractions of key component k in charging tank unt ∈ CT f vol,p(unt,c) = volume fraction of crude c in a parcel unt ∈ P f vol,0(unt,c) initial volume fraction of crude c in a tank unt ∈ SCT ε = a small number (e.g., 1e−5) β(unt′,unt,n) = ratio of individual crude to total crude volumes already transferred before Tbreak, when a tank fails during its crude transfer operation from unt′ to unt at time event n

Binary Variables



X(unt′,unt,n) = it is 1 if a unit unt′ transfers crudes to another unit unt during time event n; otherwise, it is zero u(unt′,unt,n) = it is 1 if the crude transfer from unt′ to unt at time event n in current deterministic schedule starts before Tincident; otherwise, it is zero v(unt′,unt,n) = it is 1 if the crude transfer from unt′ to unt (unt′ or unt ∈ SCT*) at time event n in current deterministic schedule is finished at/before Tbreak; otherwise, it is zero w(unt′,unt,n) = it is 1 if Tbreak occurs during the crude transfer from unt′ to unt (unt′ or unt ∈ SCT*) at time event n in current deterministic schedule; otherwise, it is zero

REFERENCES

(1) Shah, N. Mathematical programming techniques for crude oil scheduling. Comput. Chem. Eng. 1996, 20 (Supplement 2(0)), S1227− S1232. (2) Lee, H.; Pinto, J. M.; Grossmann, I. E.; Park, S. Mixed-integer linear programming model for refinery short-term scheduling of crude oil unloading with inventory management. Ind. Eng. Chem. Res. 1996, 35 (5), 1630−1641. (3) Wenkai, L.; Hui, C.-W.; Hua, B.; Tong, Z. Scheduling crude oil unloading, storage, and processing. Ind. Eng. Chem. Res. 2002, 41 (26), 6723−6734. (4) Reddy, P.; Karimi, I.; Srinivasan, R. Novel solution approach for optimizing crude oil operations. AIChE J. 2004, 50 (6), 1177−1197. (5) Jia, Z.; Ierapetritou, M.; Kelly, J. D. Refinery short-term scheduling using continuous time formulation: Crude-oil operations. Ind. Eng. Chem. Res. 2003, 42 (13), 3085−3097. (6) Reddy, P.; Karimi, I.; Srinivasan, R. A new continuous-time formulation for scheduling crude oil operations. Chem. Eng. Sci. 2004, 59 (6), 1325−1341. (7) Furman, K. C.; Jia, Z.; Ierapetritou, M. G. A robust event-based continuous time formulation for tank transfer scheduling. Ind. Eng. Chem. Res. 2007, 46 (26), 9126−9136.

0−1 Continuous Variables

Bpe(unt,n) = it is 1 if a parcel unt ∈ P is completely unloaded at the end of time event n; otherwise, it is zero Z(unt′,unt,n) = it is 1 if a switchover of charging tanks unt′ ∈ CT occurs on a CDU unt ∈ DU from time event n to n + 1; otherwise, it is zero Continuous Variables

cost = total operating costs during the scheduling time horizon 12517

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518

Industrial & Engineering Chemistry Research

Article

(32) Grossmann, I.; Viswanathan, J.; Vecchiette, A. DICOPT User’s Manual; GAMS Development Corporation: Washington, DC, 2008. (33) CPLEX 11.0 User’s Manual; ILOG SA: Gentilly, France, 2007. (34) Drud, A. CONOPT Solver Manual; ARKI Consulting and Development, Bagsvaerd, Denmark, 1996.

(8) Karuppiah, R.; Furman, K. C.; Grossmann, I. E. Global optimization for scheduling refinery crude oil operations. Comput. Chem. Eng. 2008, 32 (11), 2745−2766. (9) Pan, M.; Li, X.; Qian, Y. New approach for scheduling crude oil operations. Chem. Eng. Sci. 2009, 64 (5), 965−983. (10) Mouret, S.; Grossmann, I. E.; Pestiaux, P. A novel priority-slot based continuous-time formulation for crude-oil scheduling problems. Ind. Eng. Chem. Res. 2009, 48 (18), 8515−8528. (11) Li, J.; Misener, R.; Floudas, C. A. Continuous-time modeling and global optimization approach for scheduling of crude oil operations. AIChE J. 2012, 58 (1), 205−226. (12) Floudas, C. A.; Lin, X. Continuous-time versus discrete-time approaches for scheduling of chemical processes: a review. Comput. Chem. Eng. 2004, 28 (11), 2109−2129. (13) Grossmann, I. E. Review of nonlinear mixed-integer and disjunctive programming techniques. Optim. Eng. 2002, 3 (3), 227− 252. (14) Moro, L. F.; Pinto, J. M. Mixed-integer programming approach for short-term crude oil scheduling. Ind. Eng. Chem. Res. 2004, 43 (1), 85−94. (15) Li, J.; Li, W.; Karimi, I.; Srinivasan, R. Improving the robustness and efficiency of crude scheduling algorithms. AIChE J. 2007, 53 (10), 2659−2680. (16) Zhao, C.; Fu, J.; Xu, Q. Real-time dynamic hoist scheduling for multistage material handling process under uncertainties. AIChE J. 2013, 59 (2), 465−482. (17) Janak, S. L.; Floudas, C. A.; Kallrath, J.; Vormbrock, N. Production scheduling of a large-scale industrial batch plant. II. Reactive scheduling. Ind. Eng. Chem. Res. 2006, 45 (25), 8253−8269. (18) Adhitya, A.; Srinivasan, R.; Karimi, I. Heuristic rescheduling of crude oil operations to manage abnormal supply chain events. AIChE J. 2007, 53 (2), 397−422. (19) Vin, J. P.; Ierapetritou, M. G. A new approach for efficient rescheduling of multiproduct batch plants. Ind. Eng. Chem. Res. 2000, 39 (11), 4228−4238. (20) Verderame, P. M.; Elia, J. A.; Li, J.; Floudas, C. A. Planning and scheduling under uncertainty: a review across multiple sectors. Ind. Eng. Chem. Res. 2010, 49 (9), 3993−4017. (21) Li, Z.; Ierapetritou, M. G. Reactive scheduling using parametric programming. AIChE J. 2008, 54 (10), 2610−2623. (22) Cao, C.; Gu, X.; Xin, Z. Stochastic chance constrained mixedinteger nonlinear programming models and the solution approaches for refinery short-term crude oil scheduling problem. Appl. Math. Modell. 2010, 34 (11), 3231−3243. (23) Wang, J.; Rong, G. Robust optimization model for crude oil scheduling under uncertainty. Ind. Eng. Chem. Res. 2009, 49 (4), 1737−1748. (24) Ben-Tal, A.; Nemirovski, A. Robust convex optimization. Math. Oper. Res. 1998, 23 (4), 769−805. (25) Ben-Tal, A.; Nemirovski, A. Robust solutions of uncertain linear programs. Oper. Res. Lett. 1999, 25 (1), 1−13. (26) Ben-Tal, A.; Nemirovski, A. Robust solutions of linear programming problems contaminated with uncertain data. Math. Program. 2000, 88 (3), 411−424. (27) Li, J.; Misener, R.; Floudas, C. A. Scheduling of crude oil operations under demand uncertainty: A robust optimization framework coupled with global optimization. AIChE J. 2012, 58 (8), 2373− 2396. (28) Lin, X.; Janak, S. L.; Floudas, C. A. A new robust optimization approach for scheduling under uncertainty: I. Bounded uncertainty. Comput. Chem. Eng. 2004, 28 (6), 1069−1085. (29) Janak, S. L.; Lin, X.; Floudas, C. A. A new robust optimization approach for scheduling under uncertainty: II. Uncertainty with known probability distribution. Comput. Chem. Eng. 2007, 31 (3), 171−195. (30) Zhang, J.; Wen, Y.; Xu, Q. Simultaneous optimization of crude oil blending and purchase planning with delivery uncertainty consideration. Ind. Eng. Chem. Res. 2012, 51 (25), 8453−8464. (31) Rosenthal, R. E. GAMSA User’s Guide; ALS-NSCORT: West Lafayette, IN, 2004. 12518

dx.doi.org/10.1021/ie501588r | Ind. Eng. Chem. Res. 2014, 53, 12502−12518