+ All Categories
Home > Documents > New approach for scheduling crude oil operations

New approach for scheduling crude oil operations

Date post: 31-Jan-2023
Category:
Upload: independent
View: 0 times
Download: 0 times
Share this document with a friend
19
Chemical Engineering Science 64 (2009) 965--983 Contents lists available at ScienceDirect Chemical Engineering Science journal homepage: www.elsevier.com/locate/ces New approach for scheduling crude oil operations Ming Pan, Xiuxi Li, Yu Qian School of Chemical Engineering, South China University of Technology, Guangzhou 510640, PR China ARTICLE INFO ABSTRACT Article history: Received 12 January 2008 Received in revised form 13 October 2008 Accepted 27 October 2008 Available online 8 November 2008 Keywords: Refinery Crude oil Schedule SBM pipeline Mixed integer linear programming (MILP) Heuristic rules Scheduling of crude oil operations is crucial to petroleum refining, which includes determining the times and sequences of crude oil unloading, blending, and CDU feeding. In the last decades, many approaches have been proposed for solving this problem, but they either suffered from composition discrepancy [Lee et al. 1996. Mixed-integer linear programming model for refinery short-term scheduling of crude oil unloading with inventory management. Industrial and Engineering Chemistry Research 35, 1630–1641; Jia et al., 2003. Refinery short-term scheduling using continuous time formulation: crude-oil opera- tions. Industrial and Engineering Chemistry Research 42, 3085–3097; Jia and Ierapetritou, 2004. Efficient short-term scheduling of refinery operations based on a continuous time formulation. Computer and Chemical Engineering 28, 1001–1019] or led to infeasible solutions for some cases [Reddy et al., 2004a. Novel solution approach for optimizing crude oil operations. A.I.Ch.E. Journal 50(6), 1177–1197; 2004b. A new continuous-time formulation for scheduling crude oil operations. Chemical Engineering Science 59, 1325–1341]. In this paper, coastal and marine-access refineries with simplified workflow are consid- ered. Unlike existing approaches, the new approach can avoid composition discrepancy without using iterative algorithm and find better solution effectively. In this approach, a new mixed integer non-linear programming (MINLP) formulation is set up for crude oil scheduling firstly, and then some heuristic rules collected from expert experience are proposed to linearize bilinear terms and prefix some binary variables in the MINLP model. Thus, crude oil scheduling can be expressed as a complete mixed integer linear programming (MILP) model with fewer binary variables. To illustrate the advantage of the new approach, four typical examples are solved with three models. The new model is compared with the most effective models (RKS(a) and RKS(b) models) presented by Reddy et al. [2004a. Novel solution approach for optimizing crude oil operations. A.I.Ch.E. Journal 50(6), 1177–1197; 2004b. A new continuous-time formulation for scheduling crude oil operations. Chemical Engineering Science 59, 1325–1341], which proves that the new approach is valid and feasible in most small-size and medium-size problems. © 2008 Elsevier Ltd. All rights reserved. 1. Introduction Nowadays, oil refining is an operationally complex, low-margin, and extremely competitive industry. There are four areas in the op- eration management of refinery: planning, tanker-lightering opera- tions, sales and scheduling. In practical operation process, scheduling is core of all operation managements, reconciling actual operations with unexpected situations. At the beginning of each production periods, planners devise monthly plans based on market demand forecasting, and then decide product amounts and material require- ments. Tanker-lightering operations involve determining tanker arrival times and crude amounts. Sales offer information about Corresponding author. Tel.: +86 20 87113046; fax: +86 20 87112053. E-mail address: [email protected] (Y. Qian). 0009-2509/$ - see front matter © 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.ces.2008.10.054 shipping time and product distribution. Based on above procedures, refinery personnel must watch crude oil movements and operations, and match them to varying market demands. Ordinarily, scheduling of refinery operations can be divided into three parts: crude oil scheduling, production unit scheduling and fin- ished product blending (Jia et al., 2003; Jia and Ierapetritou, 2004). These sub-problems are characteristic of different time horizon, op- eration procedures and bound constraints, which makes the whole problem complex. Crude oil scheduling includes crude oil unload- ing, blending and crude distillation unit (CDU) feeding. It is a crucial part in the overall operations and affects the second and the third sub-problems significantly. For this reason, many researchers have focused on the scheduling of crude oil operations. During the past couple of decades, scheduling of crude oil opera- tions has been investigated in many papers. Based on time represen- tation, all existing formulations can be classified into two categories: discrete-time representations and continuous-time representations.
Transcript

Chemical Engineering Science 64 (2009) 965 -- 983

Contents lists available at ScienceDirect

Chemical Engineering Science

journal homepage: www.e lsev ier .com/ locate /ces

Newapproach for scheduling crude oil operations

Ming Pan, Xiuxi Li, Yu Qian∗

School of Chemical Engineering, South China University of Technology, Guangzhou 510640, PR China

A R T I C L E I N F O A B S T R A C T

Article history:Received 12 January 2008Received in revised form 13 October 2008Accepted 27 October 2008Available online 8 November 2008

Keywords:RefineryCrude oilScheduleSBM pipelineMixed integer linear programming (MILP)Heuristic rules

Scheduling of crude oil operations is crucial to petroleum refining, which includes determining the timesand sequences of crude oil unloading, blending, and CDU feeding. In the last decades, many approacheshave been proposed for solving this problem, but they either suffered from composition discrepancy [Leeet al. 1996. Mixed-integer linear programming model for refinery short-term scheduling of crude oilunloading with inventory management. Industrial and Engineering Chemistry Research 35, 1630–1641;Jia et al., 2003. Refinery short-term scheduling using continuous time formulation: crude-oil opera-tions. Industrial and Engineering Chemistry Research 42, 3085–3097; Jia and Ierapetritou, 2004. Efficientshort-term scheduling of refinery operations based on a continuous time formulation. Computer andChemical Engineering 28, 1001–1019] or led to infeasible solutions for some cases [Reddy et al., 2004a.Novel solution approach for optimizing crude oil operations. A.I.Ch.E. Journal 50(6), 1177–1197; 2004b.A new continuous-time formulation for scheduling crude oil operations. Chemical Engineering Science59, 1325–1341]. In this paper, coastal and marine-access refineries with simplified workflow are consid-ered. Unlike existing approaches, the new approach can avoid composition discrepancy without usingiterative algorithm and find better solution effectively. In this approach, a new mixed integer non-linearprogramming (MINLP) formulation is set up for crude oil scheduling firstly, and then some heuristicrules collected from expert experience are proposed to linearize bilinear terms and prefix some binaryvariables in the MINLP model. Thus, crude oil scheduling can be expressed as a complete mixed integerlinear programming (MILP) model with fewer binary variables. To illustrate the advantage of the newapproach, four typical examples are solved with three models. The new model is compared with the mosteffective models (RKS(a) and RKS(b) models) presented by Reddy et al. [2004a. Novel solution approachfor optimizing crude oil operations. A.I.Ch.E. Journal 50(6), 1177–1197; 2004b. A new continuous-timeformulation for scheduling crude oil operations. Chemical Engineering Science 59, 1325–1341], whichproves that the new approach is valid and feasible in most small-size and medium-size problems.

© 2008 Elsevier Ltd. All rights reserved.

1. Introduction

Nowadays, oil refining is an operationally complex, low-margin,and extremely competitive industry. There are four areas in the op-eration management of refinery: planning, tanker-lightering opera-tions, sales and scheduling. In practical operation process, schedulingis core of all operation managements, reconciling actual operationswith unexpected situations. At the beginning of each productionperiods, planners devise monthly plans based on market demandforecasting, and then decide product amounts and material require-ments. Tanker-lightering operations involve determining tankerarrival times and crude amounts. Sales offer information about

∗ Corresponding author. Tel.: +862087113046; fax: +862087112053.E-mail address: [email protected] (Y. Qian).

0009-2509/$ - see front matter © 2008 Elsevier Ltd. All rights reserved.doi:10.1016/j.ces.2008.10.054

shipping time and product distribution. Based on above procedures,refinery personnel must watch crude oil movements and operations,and match them to varying market demands.

Ordinarily, scheduling of refinery operations can be divided intothree parts: crude oil scheduling, production unit scheduling and fin-ished product blending (Jia et al., 2003; Jia and Ierapetritou, 2004).These sub-problems are characteristic of different time horizon, op-eration procedures and bound constraints, which makes the wholeproblem complex. Crude oil scheduling includes crude oil unload-ing, blending and crude distillation unit (CDU) feeding. It is a crucialpart in the overall operations and affects the second and the thirdsub-problems significantly. For this reason, many researchers havefocused on the scheduling of crude oil operations.

During the past couple of decades, scheduling of crude oil opera-tions has been investigated in many papers. Based on time represen-tation, all existing formulations can be classified into two categories:discrete-time representations and continuous-time representations.

966 M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983

Most of works were on discrete-time approaches, where a great dealof uniform time intervals are obtained by decomposing the timehorizon and each refinery activity is executed during one or moreintervals (Coxhead, 1994; Shah, 1996). Lee et al. (1996) developeda mixed integer optimization model relying on time discretization.They replaced bilinear terms for blending operations with individualcomponent flows, applied an LP-based branch and bound methodto solve their model. But their linearizing approach would lead tocomposition discrepancy as identified by Li et al. (2002) and Reddyet al. (2004a). Pinto et al. (2000) formulated scheduling problemsof refinery operations based on both continuous and discrete timerepresentations. They claimed that although continuous time for-mulations provided substantial reductions on the combinatorial fea-ture of a model, the use of a discrete time representation might stillbe attractive. To eliminate composition discrepancy, Li et al. (2002)proposed a solution algorithm that iteratively solved two mixed in-teger linear programming (MILP) models and a non-linear program-ming (NLP) model. However, as noted by Reddy et al. (2004a), withthe limit of solving NLP model, this iterative MILP–NLP combina-tion algorithm could not find a solution in all cases. To solve aboveproblems, Reddy et al. (2004a) presented a new mixed integer non-linear programming (MINLP) formulation and a novel MILP-basedsolution approach for optimizing crude oil unloading, storing, andprocessing in multi-CDU. In their approach, time continuity was ap-proximated and an iterative algorithm was used to avoid compo-sition discrepancy and NLP infeasible solutions. Chryssolouris et al.(2005) proposed an integrated simulation-based approach to solvethe scheduling problems of refinery operations which involves theunloading of crude oil to storage tanks, the transfer and blend-ing from storage tanks to charging tanks and crude oil distillationunits, and the arrangement of the temperature cut-points for eachdistillation unit.

Continuous-time representation is another important approachfor optimizing crude oil scheduling, where refinery activities canstart and finish at any point in the continuous domain of time, andthe time intervals are not uniform (Jia et al., 2003; Jia and Ierapetri-tou, 2004). Jia et al. (2003) addressed the short-term scheduling ofrefinery operations based on a continuous-time formulation. Theysolved the problems without considering some operational features,such as the changeover costs arising from the component changesof CDU feeds, multiple tanks feeding one CDU, one tank feedingmultiple CDUs, and settling time for brine removal. Moreover, theylinearized the bilinear terms of crude oil blending the same as Leeet al. (1996) did, which still led to composition discrepancy. Moroand Pinto (2004) presented mixed-integer programming modelsrelying on a continuous-time formulation. To linearize non-linearterms originating from the product between property and volume,they utilized the discretization approach defined by Voudouris andGrossmann (1992). Finally, they found that their discretization ap-proach would increase the number of binary variable and cannotguarantee feasible results in all cases. Reddy et al. (2004b) presenteda new continuous-time formulation of MILP for the short-termscheduling of refinery operations. Two types of time events, namelyarrival times of tankers and their latest expected departure times,were used to divide the scheduling horizon into several periods withdifferent lengths. Similar to their predecessor work (Reddy et al.,2004a), the same iterative algorithmwas used to eliminate the crudecomposition discrepancy that proven to be the Achilles heel for exist-ing formulations. More recently, Adhitya et al. (2007) also used thisiterative algorithm to avoid composition discrepancy in reschedul-ing crude oil operations under abnormal supply chain events. Intheir approach, any schedule can be broken into operation blocks,and then rescheduling is performed by modifying these blocks in theoriginal schedule using simple heuristics to generate a new sched-ule that is feasible for the new problem data. Mendez et al. (2006)

presented a novel MILP-based method that addressed the simultane-ous optimization of the off-line blending and the short-term schedul-ing problem in oil-refinery applications. To preserve the model'slinearity, an iterative procedure was proposed to effectively dealwith non-linear gasoline properties and variable recipes for differentproduct grades.

As to the above discussion, bilinear term is the most difficultproblem for optimizing crude oil scheduling. With this feature, thescheduling problem has to be described as an MINLP model both indiscrete and continuous time representation, and thus making a hardprocedure for finding feasible solution. Some researchers (Lee et al.,1996; Jia et al., 2003; Jia and Ierapetritou, 2004) neglected the rulethat amounts of individual crude that a charging tank feeds mustbe in proportion to its composition. So, their linearizing approachessuffered from composition discrepancy. Some researchers (Li et al.,2002) divided the whole MINLP model into MILP and NLP model.But their NLP model cannot guarantee feasible solution in all cases.Other researchers (Reddy et al., 2004a,b) proposed an iterative algo-rithm, where the scheduling problem is expressed as a set of MILPmodels. However, when time horizon became longer, they needed tosolve more MILP models, increasing overall computational time andaffecting the final objective value. Unlike existing approaches, ournew approach can avoid composition discrepancywithout using iter-ative algorithm and find better solution effectively. In this approach,a new MINLP formulation is set up for crude oil scheduling firstly,and then some heuristic rules collected from expert experience areproposed to linearize the bilinear constraints and selectively prefixsome binary variables. Finally, crude oil scheduling problem can beexpressed as a complete MILP model with fewer binary variables. Inaddition, real-world coastal and marine-access refineries with sim-plified workflow are considered, such as single buoy mooring (SBM),multiple tanks feeding one CDU, one tank feeding multiple CDUs,settling time for brine removal, changeover cost, crude oil netbacks,safety stock penalties and demurrage cost.

The rest of this paper is structured as follows: a detailed problemdescription is introduced in Section 2. A new MINLP formulationand some heuristic rules for crude oil scheduling are proposed inSections 3 and 4, respectively. In Section 5, four typical examplesare solved by using three distinct models, and the performances ofthese models are compared.

2. Problem description

Crude oil scheduling is a decision making process to determinethe times and sequences of crude oil unloading, storing, blendingand CDU feeding to achieve certain objective. In this paper, we focuson coastal and marine-access refineries with simplified workflowthat were considered by Reddy et al. (2004b). Fig. 1 is the schematicof crude oil scheduling in this refinery, involving very large crudecarriers (VLCCs) carrying several large parcels of different crude oil,crude oil unloading facilities such as SBM station, storage facilitiessuch as storage tanks, and processing facilities such as CDUs. Crudeoil scheduling can be depicted as following procedure: at the be-ginning of production period, some information is known based ontanker-lightering operations, for instance, arrival times of VLCCs, thetypes and volumes of crude oil carried in each VLCC; when VLCCs ar-rive at dock, these VLCCs and the crude storage tanks are connectedvia one SBM pipeline, and then each crude oil parcel is unloaded tostorage tanks in a certain sequence. Usually, there is only one SBM,so VLCCs can dock only one at a time. Similarly, there is only onepipeline, so only one crude parcel can be unloaded at any time. Asa continuous process, CDUs must be fed continuously in the wholescheduling horizon, and the key components of blended oil have tomatch the limits of CDU operations. The objective is to satisfy allproduction demands and maximize total profit.

M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983 967

VLCCs (multi-parcel)

Unloading

Blending

CDU-1

CDU-3

Processing

T1

T2

T3

T4

T5

T6

SBMCDU-2

Storing

Tanks CDUs

Fig. 1. Schematic of crude oil scheduling.

With above depiction, the scheduling problem treated in this pa-per is shown as follows.

Given:

(1) arrival times of VLCCs, volumes and types of crude parcels car-ried in VLCCs;

(2) configuration details of refinery, such as number of CDUs andstorage tanks, and their interconnections;

(3) holdup in the SBM pipeline and initial type of crude oil;(4) minimum and maximum flow rates of crude oil unloading and

feeding;(5) limits of CDU processing rate;(6) capacity limits of storage tanks, their initial inventory levels

and initial volume fractions of crude oil;(7) information about crude oil segregating mode in storing and

processing;(8) key component concentration ranges for CDU processing;(9) economic data such as netbacks of crude oil processing in CDUs,

sea waiting costs, changeover costs, penalties for under-runningthe crude oil safety stock;

(10) production demands during the scheduling horizon.

For maximization of profit, the crude oil scheduling is todetermine:

(1) a detailed unloading schedule for VLCCs;(2) inventory and composition profiles of storage tanks;(3) detailed crude oil charging profiles for CDUs.

Similar to the works of Reddy et al. (2004a,b), the following as-sumptions are made based on practical refinery operational rules:

(1) A storage tank cannot receive crude oil and feed a CDU at thesame time.

(2) If a storage tank receives crude oil, it needs settling time forbrine removal before it feeds CDUs.

(3) To decreasing the complexity of refinery operations, most refin-ers allow at most two storage tanks to feed a CDU at the sametime.

(4) Similarly, a storage tank normally does not feed more than twoCDUs simultaneously.

In order to compare the models proposed by Reddy et al.(2004a,b) fairly, additional assumptions are regarded.

(1) Only one SBM is located at dock, so only one VLCC can dock atthe same time.

(2) The sequence of unloading crude oil parcels from each VLCC isknown before scheduling.

(3) A parcel can be unloaded to only one storage tank at any mo-ment.

(4) Because parcel volumes in a VLCC are much larger than the SBMpipeline holdup, this pipeline holds only one type of crude oilat any time and crude flow is plug flow.

(5) Crude oil mixing is perfect in each storage tank.(6) The times for CDU changeovers are negligible.(7) Only one key component is considered for the quality of crude

oil feeding to CDUs.

Although one SBM, multi-parcel VLCCs and one key componentof crude oil are considered as the operational features in this paper,our model can efficiently handle the problems under other featuressuch as multiple jetties, more key components of crude oil and tank-to-tank transfers, which will be addressed in a subsequent paper.

3. MINLP formulation

Usually, crude oil operations include four distinct processes,namely crude oil unloading, storing, blending and feeding to CDUs.The new formulation can also be divided into four parts with opera-tional features. Different from event-based or slot-based models, ournew model is formulated based on refinery activities, and its binaryvariables express the sequences of these activities. The new modelmainly includes sequence constraints, time constraints, materialbalance constraints, allocation constraints and demand constraints.The first set of constraints determines the beginning and endingtimes of each activity. And the second set limits the duration timesof activities. Material balance and allocation constraints describeevery activity consuming or producing crude oil in suitable units.The last set ensures that all production demands have to be satisfiedduring the scheduling horizon.

3.1. Crude oil unloading

This operational process includes unloading crude oil parcels or-derly from VLCCS, and transferring them to assigned storage tanks.So, two subsystems are considered: VLCC-to-SBM connections andSBM-to-tank connections. Since the sequence of unloading parcelsis known, binary variables are only used for expressing activity as-signment.

968 M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983

3.1.1. VLCC-to-SBM connectionsFor one SBM in dock, only one unloading activity could occur

at one time, and the latter activity has to begin after the formeractivity finishes. As presented in constraint (1), VTBp and VTEp are thebeginning and ending time of the pth unloading activity, respectively.P is the set of all unloading activities:

VTBp+1�VTEp, p ∈ P (1)

In constraint (2), duration time of unloading activity is restrictedwith the limits of its rate. VRmin is the minimum rate of crude oilunloading, while VRmax is its maximum value. PVp is the volume ofcrude oil transferred in the pth unloading activity:

(VTEp − VTBp) × VRmax�PVp� (VTEp − VTBp)

× VRmin, p ∈ P (2)

Constraint (3) presents that all crude oil has to be fully unloaded,where Pv,c is the set of all activities unloading crude oil c from VLCCv, CVv,c is the volume of crude oil c carried in VLCC v, additionally, Vand C are the set of all VLCCs and crude oil, respectively:∑

p∈Pv,cPVp = CVv,c, v ∈ V , c ∈ C (3)

3.1.2. SBM-to-tank connectionsTo unload each crude oil parcel to suitable storage tank, binary

variables PIi,in,p are defined:

PIi,in,p =

⎧⎪⎨⎪⎩

1 if the pth unloading activity is the

inth input activity of tank i

0 otherwise

One unloading activity can be only assigned to at most one inputactivity in all tanks. Similarly, one input activity can include at mostone unloading activity. As noted in constraints (4) and (5), Ic, INc andPc are the sets of all tanks, input activities and unloading activitiesbelonging to crude oil c, respectively:∑

i∈Ic

in∈INc

PIi,in,p�1, p ∈ Pc (4)

∑p∈P

PIi,in,p�1, i ∈ I, in ∈ IN (5)

If an unloading activity is assigned to certain input activity ofa tank, the processing times and crude oil volumes of these twoactivities are identical. In constraints (6a)–(8c), beginning times andending times of the inth input activity in tank i (IITBi,in, IITEi,in) areconsidered, and then the volumes of crude oil carried in the inthinput activity of tank i (IIVi,in) are regarded. M is a sufficiently largepositive number:

IITBi,in�VTBp + M × (1 − PIi,in,p), i ∈ I, in ∈ IN, p ∈ P (6a)

IITBi,in�VTBp − M × (1 − PIi,in,p), i ∈ I, in ∈ IN, p ∈ P (6b)

IITEi,in�VTEp + M × (1 − PIi,in,p), i ∈ I, in ∈ IN, p ∈ P (7a)

IITEi,in�VTEp − M × (1 − PIi,in,p), i ∈ I, in ∈ IN, p ∈ P (7b)

IIVi,in�PVp + M × (1 − PIi,in,p), i ∈ I, in ∈ IN, p ∈ P (8a)

IIVi,in�PVp − M × (1 − PIi,in,p), i ∈ I, in ∈ IN, p ∈ P (8b)

IIVi,in�M ×∑p∈P

PIi,in,p, i ∈ I, in ∈ IN (8c)

3.2. Crude oil storing

There are two kinds of operational activity for crude oil storing:input activities and output activities. In this part, the proposed con-straints describe the sequences between input and output activities,limits of storage capacity, and the operating policies of output activ-ities. For timing different kind of storing activities, binary variablesIOIi,in,on are presented as follows:

IOIi,in,on =

⎧⎪⎨⎪⎩

1 if the inth input activity is performed

before the onth output activity in tank i

0 otherwise.

3.2.1. Sequences of storing activitiesSince a tank can only receive crude oil or feed CDU at a time,

its input and output activities have to be performed in sequence, asrestricted in constraints (9a) and (9b):

OITBi,on� IITEi,in + M × (IOIi,in,on − 1) + ST × IOIi,in,on,

i ∈ I, in ∈ IN, on ∈ ON (9a)

IITBi,in�OITEi,on − M × IOIi,in,on, i ∈ I, in ∈ IN, on ∈ ON (9b)

where ST is the settling time for brine removal, ON is the set of alloutput activities, OITBi,on and OITEi,on are the beginning and endingtime of the onth output activity in tank i, respectively.

With operational sequences, storing activities belonging to thesame kind are performed orderly in a tank, as pressed in constraints(10) and (11). The first constraint forbids two input activities occur-ring synchronously in a tank, while the second constraint allows thattwo output activities in a tank may happen at the same moment:

IITBi,in+1� IITEi,in, i ∈ I, in ∈ IN (10)

OITBi,on+1�OITBi,on, i ∈ I, on ∈ ON (11)

3.2.2. Operating policies of output activitiesAs stated in Section 2, a storage tank normally does not feed more

than two CDUs simultaneously. Unlike CDU feeding, if a tank chargestwo CDUs simultaneously, the beginning and ending times of thesetwo output activities do not need to be same unless their durationtimes are identical. Constraints (12a)–(15) describe this situation,where SNi,on,on′ are binary variables, and SIi,on,on′ are 0–1 continuousvariables:

SNi,on,on′ =

⎧⎪⎨⎪⎩

1 if the onth output activity begins before the

on′th output activity finishes in tank i

0 otherwise

SIi,on,on′ =

⎧⎪⎨⎪⎩

1 if the onth and the on′th output activities occur

simultaneously or overlap partially in tank i

0 otherwise

OITEi,on′ �OITBi,on + M × SNi,on,on′ ,

i ∈ I; on, on′ ∈ ON; ord(on)� ord(on′) (12a)

OITEi,on′ �OITBi,on − M × (1 − SNi,on,on′ ),

i ∈ I; on, on′ ∈ ON; ord(on)� ord(on′) (12b)

SNi,on,on′ + SNi,on′ ,on�1,

i ∈ I; on, on′ ∈ ON; ord(on)� ord(on′) (13)

SIi,on,on′ = SNi,on,on′ + SNi,on′ ,on − 1,

i ∈ I; on, on′ ∈ ON; ord(on)� ord(on′) (14)∑

on′∈ONord(on′)� ord(on)

SIi,on,on′ �1, i ∈ I on ∈ ON (15)

M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983 969

The same as unloading activity, duration time of output activityis also determined with the limits of its rate. In constraint (16), IRmin

is the minimum rate of transferring crude oil from tanks to CDUs,while IRmax is its maximum value. OIVi,on is crude oil volume for theonth output activity in tank i.

(OITEi,on − OITBi,on) × IRmax�OIVi,on� (OITEi,on − OITBi,on)

× IRmin, i ∈ I, on ∈ ON (16)

3.2.3. Inventory limits of tankAs every tank has certain storing capacity and heel, the inven-

tory level of each tank has to be checked before one activity begins,which has to ensure that the tank inventory does not excess the stor-age limits. Constraints (17a)–(18b) are presented for checking totalinventory before input activities occur, where CIVi,in,on is the relatedvolume of crude oil carried by the onth output activity when theinth input activity begins in tank i; it equals the crude oil volume ofthe onth output activity (OIVi,on) if this output activity is executedbefore the inth input activity; otherwise, it is 0. IVi is the initial in-ventory in tank i. IVimin and IVimax are the minimum and maximuminventory levels of tank i, respectively:

CIVi,in,on�OIVi,on − M × IOIi,in,on, i ∈ I, in ∈ IN, on ∈ ON (17a)

CIVi,in,on�OIVi,on + M × IOIi,in,on, i ∈ I, in ∈ IN, on ∈ ON (17b)

CIVi,in,on�M × (1 − IOIi,in,on), i ∈ I, in ∈ IN, on ∈ ON (17c)

IVi +∑

ord(in′)�ord(in)

IIVi,in′ −∑

on∈ONCIVi,in,on� IVmin

i ,

i ∈ I; in, in′ ∈ IN; on ∈ ON (18a)

IVi +∑

ord(in′)�ord(in)

IIVi,in′ −∑

on∈ONCIVi,in,on� IVmax

i ,

i ∈ I; in, in′ ∈ IN; on ∈ ON (18b)

Inventory status based on output activities is described in con-straints (19a)–(20b). Similar to the situation of considering input ac-tivities, COVi,in,on is the related volume of crude oil carried in theinth input activity when the onth output activity begins in tank i, itequals the volume of crude oil carried the inth input activity (IIVi,in)if this input activity is executed before the onth output activity intank i; otherwise, it is 0.

COVi,in,on� IIVi,in − M × (1 − IOIi,in,on),

i ∈ I, in ∈ IN, on ∈ ON (19a)

COVi,in,on� IIVi,in + M × (1 − IOIi,in,on),

i ∈ I, in ∈ IN, on ∈ ON (19b)

COVi,in,on�M × IOIi,in,on, i ∈ I, in ∈ IN, on ∈ ON (19c)

IVi −∑

ord(on′)�ord(on)

OIVi,on′ +∑

in∈INCOVi,in,on� IVmin

i ,

i ∈ I; on, on′ ∈ ON; in ∈ IN (20a)

IVi −∑

ord(on′)�ord(on)

OIVi,on′ +∑

in∈INCOVi,in,on� IVmax

i ,

i ∈ I; on, on′ ∈ ON; in ∈ IN (20b)

3.3. Feeding to CDUs

This part includes assigning output activity of tank to feedingactivity in CDU, determining the sequences of feeding activities ineach CDU, and restricting operational policies of crude oil processing.

3.3.1. Tank-to-CDU connectionsTo assign each output activity to suitable CDU, binary variables

IUi,u,on,fn are defined:

IUi,u,on,fn =

⎧⎪⎨⎪⎩

1 if the onth output activity in tank i is

the fnth feeding activity of CDU u

0 otherwise

One output activity can be only assigned to at most one feedingactivity. Similarly, one feeding activity can include at most one out-put activity. As noted in constraints (21) and (22), U and FN are thesets of all CDUs and feeding activities, respectively:∑u∈U

fn∈FNIUi,u,on,fn�1, i ∈ I, on ∈ ON (21)

i∈I

∑on∈ON

IUi,u,on,fn�1, u ∈ U, fn ∈ FN (22)

In order to find the global optimal solutions, sufficient outputactivities must be considered. However, the procedure of findingoptimal solutions may lead to redundant output activities. Althoughthese output activities are considered in storage tanks, they actuallydo not transfer any crude to CDU and cannot be assigned to anyfeeding activity. Constraints (23a) and (23b) present that if no crudeis carried in an output activity, this output activity would not beassigned to any feeding activity.∑u∈U

fn∈FNIUi,u,on,fn�M × OIVi,on, i ∈ I, on ∈ ON (23a)

M ×∑u∈U

fn∈FNIUi,u,on,fn�OIVi,on, i ∈ I, on ∈ ON (23b)

If an output activity is assigned to one feeding activity in a CDU,the processing times and crude oil volumes of these two activities aresame. In constraints (24a)–(26c), beginning times and ending timesof the fnth feeding activity in CDU u (UTBu,fn, UTEu,fn) are consideredfirstly, and then the volumes of crude oil carried in the fnth feedingactivity in CDU u (UVu,fn) are regarded.

UTBu,fn�OITBi,on + M × (1 − IUi,u,on,fn),

i ∈ I, on ∈ ON, u ∈ U, fn ∈ FN (24a)

UTBu,fn�OITBi,on − M × (1 − IUi,u,on,fn),

i ∈ I, on ∈ ON, u ∈ U, fn ∈ FN (24b)

UTEu,fn�OITEi,on + M × (1 − IUi,u,on,fn),

i ∈ I, on ∈ ON, u ∈ U, fn ∈ FN (25a)

UTEu,fn�OITEi,on − M × (1 − IUi,u,on,fn),

i ∈ I, on ∈ ON, u ∈ U, fn ∈ FN (25b)

UVu,fn�OIVi,on + M × (1 − IUi,u,on,fn),

i ∈ I, on ∈ ON, u ∈ U, fn ∈ FN (26a)

UVu,fn�OIVi,on − M × (1 − IUi,u,on,fn),

i ∈ I, on ∈ ON, u ∈ U, fn ∈ FN (26b)

UVu,fn�M ×∑

i∈I

∑on∈ON

IUi,u,on,fn, u ∈ U, fn ∈ FN (26c)

3.3.2. Operational policies of crude oil processingNormally, at most two feeding activities are executed si-

multaneously in a CDU. Constraint (27) describes this situation,

970 M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983

where UUu,fn,fn′ are binary variables:

UUu,fn,fn′ =

⎧⎪⎨⎪⎩

1 if the fnth and the fn′th feeding activities

are performed simultaneously in CDU u

0 otherwise∑

ord(fn′)>ord(fn)UUu,fn,fn′ �1, u ∈ U; fn, fn′ ∈ FN (27)

Constraint (28) presents that unless two output activities are as-signed in the same CDU, these two activities cannot occur simulta-neously in a CDU:

UUu,fn,fn′ �

⎛⎝∑

i∈I

∑on∈ON

IUi,u,on,fn +∑

i∈I

∑on∈ON

IUi,u,on,fn′

⎞⎠ × 0.5

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (28)

If two feeding activities are performed simultaneously in a CDU,the beginning and ending times of these two activities are identical,as shown in constraints (29a)–(30b):

UTBu,fn�UTBu,fn′ + M × (1 − UUu,fn,fn′ ),

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (29a)

UTBu,fn�UTBu,fn′ − M × (1 − UUu,fn,fn′ ),

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (29b)

UTEu,fn�UTEu,fn′ + M × (1 − UUu,fn,fn′ ),

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (30a)

UTEu,fn�UTEu,fn′ − M × (1 − UUu,fn,fn′ ),

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (30b)

3.3.3. Sequences of feeding activitiesTo determine the sequences of feeding activities in each CDU,

binary variables SUu,fn,fn′ are defined:

SUu,fn,fn′ =

⎧⎪⎨⎪⎩

1 if the f nth feeding activity is performed

before the fn′th feeding activity of CDU u

0 otherwise

Constraints (31a) and (31b) restrict the activity sequences inCDUs:

UTBu,fn′ �UTEu,fn + M × (SUu,fn,fn′ − 1) − M × UUu,fn,fn′

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (31a)

UTBu,fn�UTEu,fn′ + M × SUu,fn,fn′ − M × UUu,fn,fn′

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (31b)

Since two feeding activities may occur simultaneously in a CDU,continuous variable UVVu,fn,fn′ is introduced in the following con-straints. It equals the crude oil volume of the fn′th feeding activity(UVu,fn′ ), if this activity and the fnth feeding activity in CDU u areexecuted at the same time; otherwise, it is 0:

UVVu,fn,fn′ �UVu,fn′ + M × (1 − UUu,fn,fn′ ),

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (32a)

UVVu,fn,fn′ �UVu,fn′ − M × (1 − UUu,fn,fn′ ),

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (32b)

UVVu,fn,fn′ �M × UUu,fn,fn′ ,

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (32c)

UVVu,fn′ ,fn�UVu,fn′ + M × (1 − UUu,fn,fn′ ),

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (32d)

UVVu,fn′ ,fn�UVu,fn′ − M × (1 − UUu,fn,fn′ ),

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (32e)

UVVu,fn′ ,fn�M × UUu,fn,fn′ ,

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (32f)

With the limits of CDU processing rates, duration time of feed-ing activity is determined in constraint (33). URumin is the mini-mum processing rate of CDU u, while URumax is its maximum value.UVu,fn + ∑

ord(fn′)� ord(fn)UVVu,fn,fn′ is the total volume of crude oilfed to CDU u, when the fnth feeding activity occurs in CDU u:

(UTEu,fn − UTBu,fn) × URmaxu �UVu,fn +

ord(fn′)� ord(fn)

UVVu,fn,fn′

� (UTEu,fn − UTBu,fn) × URminu , u ∈ U; fn, fn′ ∈ FN (33)

3.4. Crude oil blending

To avoid processing problems in CDUs, the key components ofblended oil such as sulfur ormetal have to be kept between lower andupper limits. The crude oil volume of tank i fed to CDU u in the fnthfeeding activity (IUVi,u,fn) is presented in constraints (34a)–(34c):

IUVi,u,fn�OIVi,on + M × (1 − IUi,u,on,fn),

i ∈ I, on ∈ ON, u ∈ U, fn ∈ FN (34a)

IUVi,u,fn�OIVi,on − M × (1 − IUi,u,on,fn),

i ∈ I, on ∈ ON, u ∈ U, fn ∈ FN (34b)

IUVi,u,fn�M ×∑

on∈ONIUi,u,on,fn,

i ∈ I, u ∈ U, fn ∈ FN (34c)

Constraints (35a)–(35f) show the related crude oil volume of tanki fed to CDU u in the fn′th feeding activity when the fnth feeding ac-tivity occurs (IUVVi,u,fn,fn′ ). It equals IUVi,u,fn′ if the fn′th and the fnthfeeding activity are executed at the same time in CDU u; otherwise,it is 0:

IUVVi,u,fn,fn′ � IUVi,u,fn′ + M × (1 − UUu,fn,fn′ ),

i ∈ I; u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (35a)

IUVVi,u,fn,fn′ � IUVi,u,fn′ − M × (1 − UUu,fn,fn′ ),

i ∈ I; u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (35b)

IUVVi,u,fn,fn′ �M × UUu,fn,fn′ ,

i ∈ I; u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (35c)

IUVVi,u,fn′ ,fn� IUVi,u,fn + M × (1 − UUu,fn,fn′ ),

i ∈ I; u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (35d)

IUVVi,u,fn′ ,fn� IUVi,u,fn − M × (1 − UUu,fn,fn′ ),

i ∈ I; u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (35e)

IUVVi,u,fn′ ,fn�M × UUu,fn,fn′ ,

i ∈ I; u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (35f)

M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983 971

With the definition of IUVVi,u,fn′ ,fn, the key component of blendedoil can be considered. IKFi is the key component concentrations ofcrude oil in tank i. UKFumin and UKFumax are the minimum andmaximum key component concentrations of blended oil in CDU u,respectively:∑

i∈I(IUVi,u,fn × IKFi) +

i∈I

ord(fn′)� ord(fn)

(IUVVi,u,fn,fn′ × IKFi)

�UKFminu ×

⎛⎝∑

i∈IIUVi,u,fn +

i∈I

ord(fn′)� ord(fn)

IUVVi,u,fn,fn′

⎞⎠

u ∈ U; fn, fn′ ∈ FN (36a)∑

i∈I(IUVi,u,fn × IKFi) +

i∈I

ord(fn′)� ord(fn)

(IUVVi,u,fn,fn′ × IKFi)

�UKFmaxu ×

⎛⎝∑

i∈IIUVi,u,fn +

i∈I

ord(fn′)� ord(fn)

IUVVi,u,fn,fn′

⎞⎠

u ∈ U; fn, fn′ ∈ FN (36b)

As continuous variable IKFi is determined by unloading activity,constraints (36a)–(36b) are bilinear terms which lead to an MINLPmodel. To linearize these bilinear terms, some heuristic rules will beproposed to prefix the value of IKFi, as presented in Section 4.

3.5. Operational constraints

For crude oil scheduling, all operational activities have to fin-ish within a certain time horizon (H), as shown in constraints(37a)–(37d).

VTEp�H, p ∈ P (37a)

IITEi,in�H, i ∈ I, in ∈ IN (37b)

OITEi,in�H, i ∈ I, in ∈ IN (37c)

UTEu,fn�H, u ∈ U, fn ∈ FN (37d)

Since CDU operation is a continuous process, all CDUs cannot beidle during the whole scheduling horizon. To consider this opera-tional feature, related times of the fn′th feeding activity when thefnth feeding activity is performed in CDU u (UUTBu,fn,fn′ , UUTEu,fn,fn′ )are introduced. They equal the times of the fn′th feeding activity inCDU u (UTBu,fn′ , UTEu,fn′ ) if the fn′th and the fnth feeding activityoccur simultaneously in CDU u; otherwise, they are 0:

UUTBu,fn,fn′ �UTBu,fn′ + M × (1 − UUu,fn,fn′ ),

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (38a)

UUTBu,fn,fn′ �UTBu,fn′ − M × (1 − UUu,fn,fn′ ),

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (38b)

UUTBu,fn,fn′ �M × UUu,fn,fn′ ,

u ∈ U; fn, fn′ ∈ FN; ord(fn′) > ord(fn) (38c)

Constraint (39) restricts the continuous process of CDU process-ing:∑

fn∈FN(UTEu,fn − UTBu,fn)

−∑

fn∈FN

fn′∈FNord(fn′)>ord(fn)

(UUTEu,fn,fn′ − UUTBu,fn,fn′ ) = H, u ∈ U (39)

Moreover, each CDU must satisfy its production demand (CDu),as shown in constraint (40).

fn∈FNUVu,fn = CDu, u ∈ U (40)

3.6. Objective

To fairly compare the works presented by Reddy et al. (2004a,b),the same objective function issues are considered. The objective ofcrude oil scheduling is to maximize the total gross profit, which isdefined as the total netback from crude oil minus the operating costs.These operating costs include VLCC demurrage cost, CDU changeovercost and penalty for under-running the crude safety stock. In thefollowing sections, total netback from crude oil and the operatingcosts are regarded, respectively.

3.6.1. Netback from crude oilBased on the definition of netback for crude oil c processed in

CDUs (CPc), the total netback (NB) is calculated in constraint (41),where ICFi,c is the concentrations of crude oil c in tank i.

NB =∑u∈U

fn∈FN

i∈I

∑c∈C

(IUVi,u,fn × ICFi,c × CPc), (41)

Similar to the key component concentrations of crude oil in tanki (IKFi), continuous variable ICFi,c is also determined by unloadingactivity. So, constraint (41) is bilinear term, and the value of IKFi willbe prefixed in Section 4.

3.6.2. CDU changeover costIn practical operation, changeovers would occur, if CDU feed was

changed. The number of changeover times can be expressed as thetotal number of input activities feeding to CDUsminus the number ofperforming feeding activities simultaneously and the total numberof CDUs. In constraint (42), COC is the cost per changeover, NU is thetotal number of CDUs, and CC is the total cost for CDU changeovers.

CC = COC ×

⎛⎜⎜⎜⎝

∑u∈U

fn∈FN

i∈I

∑on∈ON

IUi,u,on,fn

−∑u∈U

fn∈FN

fn′∈FNord(fn′)>ord(fn)

UUu,fn,fn′ − NU

⎞⎟⎟⎟⎠ , (42)

3.6.3. DemurrageIn logistics contract, each VLCC has its stipulated departure time

(DVv). If a VLCC remains unloading crude oil to storage tanks be-yond DVv, the demurrage will occur. Constraint (43) describes thedemurrage (DC), where VTEpl is the ending time of the last unload-ing activity, Pv is the set of all unloading activity belonging to VLCCv, and SWCv is demurrage of VLCC v.

DC�∑v∈V

SWCv × (VTEpl − DVv), pl ∈ Pv (43)

3.6.4. Penalty for under-running the safety stockDuring the whole scheduling horizon, refinery may wish to keep

a minimum inventory of crude oil, namely the safety stock, to avoidthe adverse effect caused by unexpected events such as VLCC delay.Thus, before each output activity is performed, the total inventory ofcrude oil has to be checked. Firstly, the sequences of input and output

972 M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983

activities for all tanks are addressed. Binary variables TIOi,i′ ,in,on arepresented as follows:

TIOi,i′ ,in,on =

⎧⎪⎨⎪⎩

1 if the inth input activity in tank i finishes

before the onth output activity begins in tank i′

0 otherwise

OITBi′ ,on� IITEi,in + M × (TIOi,i′ ,in,on − 1),

i, i′ ∈ I; in ∈ IN; on ∈ ON (44a)

OITBi′ ,on� IITEi,in + M × TIOi,i′ ,in,on,

i, i′ ∈ I; in ∈ IN; on ∈ ON (44b)

Secondly, CIOVi,i′ ,in,on is introduced as the related volume of crudeoil carried in the inth input activity of tank i when the onth outputactivity is performed in tank i′. It equals the crude oil volume ofthe inth input activity in tank i (IIVi,in) if this input activity finishesbefore the onth output activity begins in tank i′; otherwise, it is 0:

CIOVi,i′ ,in,on� IIVi,in − M × (1 − TIOi,i′ ,in,on),

i, i′ ∈ I; in ∈ IN; on ∈ ON (45a)

CIOVi,i′ ,in,on� IIVi,in + M × (1 − TIOi,i′ ,in,on),

i, i′ ∈ I; in ∈ IN; on ∈ ON (45b)

CIOVi,i′ ,in,on� IM × TIOi,i′ ,in,on, i, i′ ∈ I; in ∈ IN; on ∈ ON (45c)

Similarly, the sequences of output activities in all tanks and therelated volume of crude oil in output activity (COOVi,i′ ,on′ ,on) areformulated in following constraints:

TOOi,i′ ,on′ ,on =

⎧⎪⎨⎪⎩

1 if the onth output activity in tank i begins

before the onth output activity begins in tank i′

0 otherwise

Sequences:

OITBi′ ,on�OITBi,on′ + M × (TOOi,i′ ,on′ ,on − 1)

i, i′ ∈ I; on, on′ ∈ ON; ord(i′) > ord(i) (46a)

OITBi′ ,on�OITBi,on′ + M × TOOi,i′ ,on′ ,on,

i, i′ ∈ I; on, on′ ∈ ON; ord(i′) > ord(i) (46b)

OITBi′ ,on�OITBi,on′ − M × TOOi′ ,i,on,on′ ,

i, i′ ∈ I; on, on′ ∈ ON; ord(i′) < ord(i) (46c)

OITBi′ ,on�OITBi,on′ + M × (1 − TOOi′ ,i,on,on′ ),

i, i′ ∈ I; on, on′ ∈ ON; ord(i′) < ord(i) (46d)

Related volume:

COOVi,i′ ,on′ ,on�OIVi,on′ − M × (1 − TOOi,i′ ,on′ ,on),

i, i′ ∈ I; on, on′ ∈ ON; ord(i′) > ord(i) (47a)

COOVi,i′ ,on′ ,on�OIVi,on′ + M × (1 − TOOi,i′ ,on′ ,on),

i, i′ ∈ I; on, on′ ∈ ON; ord(i′) > ord(i) (47b)

COOVi,i′ ,on′ ,on�M × TOOi,i′ ,on′ ,on,

i, i′ ∈ I; on, on′ ∈ ON; ord(i′) > ord(i) (47c)

COOVi,i′ ,on′ ,on�OIVi,on′ − M × TOOi′ ,i,on,on′ ,

i, i′ ∈ I; on, on′ ∈ ON; ord(i′) < ord(i) (47d)

COOVi,i′ ,on′ ,on�OIVi,on′ + M × TOOi′ ,i,on,on′ ,

i, i′ ∈ I; on, on′ ∈ ON; ord(i′) < ord(i) (47e)

COOVi,i′ ,on′ ,on�M × (1 − TOOi′ ,i,on,on′ ),

i, i′ ∈ I; on, on′ ∈ ON; ord(i′) < ord(i) (47f)

Finally, the total inventory before the onth output activity beginsin tank i′ (TOVi′ ,on) is obtained in constraint (48). TV is the initialtotal inventory:

TOVi′ ,on = TV +∑

i∈I

in∈INCIOVi,i′ ,in,on

−∑

i∈Iord(i)� ord(i′)

on′ONCOOVi,i′ ,on′ ,on

−∑

on′∈ONord(on′)<ord(on)

OIVi′ ,on′ , i ∈ I, on ∈ ON (48)

Constraints (49) and (50) are presented to prevent the crude oilinventory from dropping below the safety stock (SS), where SSP is apenalty per unit volume for under-running the safety stock, SICi,onis the penalty of safety stock when the onth output activity beginsin tank i, and SC is the total penalty:

SICi,on�SSP × (SSP − TOVi,on), i ∈ I, on ∈ ON (49)

SC =∑

i∈I

∑on∈ON

SICi,on, i ∈ I, on ∈ ON (50)

3.6.5. Objective functionBased on the constraints (41)–(50), the total gross profit can be

calculated:

profit = NB − CC − DC − SC (51)

And then the objective function of crude oil scheduling is given:

Max profit

This completes our new formulation (constraints (1)–(51)) forcrude oil scheduling. In contrast to event-based or slot-basedmodels,our new model uses binary variables to express the assignment andsequence of refinery activities. The considered operational featuresinclude one SBM, VLCCs carrying several large parcels of crude oil,one key component for crude oil blending, multiple tanks feedingone CDU, and a tank feeding multiple CDUs. Sometimes, a single jettyis used to receive small ships carrying parcels of single crude. So, arefinery dock may combine SBM and multiple jetties. This extensionwork will be considered in future.

3.7. Numbers of activities

The numbers of activities are very important in our model. Theglobal optimal solutions can be only determined with a sufficientnumbers of different activities. But when activities increase, CDUsmay require more changeover times, so a compromise has to beconcerned. To solve scheduling problems with our model, processingactivities are presupposed to a small number, and then they graduallyincreases until no better solution is found. It is assumed that oneoutput activity occurs in each tank for every CDU at the first time.Then, one more activity is added to each tank iteratively until theobjective value does not change better.

In the new model, constraints (36a), (36b) and (41) are bilinearterms with continuous variables IKFi and ICFi,c. To eliminate the in-feasible solution for MINLP model, these non-linear terms have tobe linearized. Actually, the operational experience of refinery per-sonnel can help to determine the sequence of crude oil unloading

M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983 973

at the beginning of production period. When the sequence of crudeoil unloading is fixed, the crude oil concentrations in storage tanksare known, thus prefixing the values of IKFi and ICFi,c. Then crude oilscheduling can be described as a complete MILP model. In the nextsection, expert experience is utilized in several heuristic rules. It isnoted that the heuristic rules not only linearize the bilinear terms,but also reduce the number of binary variables.

4. Heuristic rules

Bilinear terms arising from crude blending lead to an MINLPmodel for scheduling crude oil operations. As noted in the newmodel, crude oil unloading determines the variables in bilinearterms. If some of these variables are prefixed, the bilinear termscan be linearized. To optimize crude oil unloading, Guo and Yang(2006), the senior engineers in China Research Institute of PetroleumProcessing, had collected lots of expert experience from China re-fineries, and set up an inference scheduling system. They describedthe procedure of crude oil unloading as follows:

At the beginning of scheduling horizon, arrival time of each VLCCis known, and the sequence of unloading parcels from a VLCC is alsoprefixed. Since there is only one SBM pipeline in dock, each parcelhas to be unloaded one by one. Thus, the sequence of unloading allparcels can be determined. Before assigning suitable storage tanks tostore new crude oil, refinery personnel will check the inventory levelof all tanks, and choose lower-inventory tanks to receive parcels.Until all lower-inventory tanks have received crude oil, other tankswill begin to receive the rest parcels.

Based on the unloading rules presented by Guo and Yang (2006),we propose several heuristic rules for our new model. These rulesare introduced individually in detail.

4.1. Rule 1: choosing suitable tanks for receiving crude-oil parcels

In this paper, the definition of lower-inventory tank is basedon initial ratio of tank available inventory, where the ratio oftank available inventory is equal to (tank inventory−heel)/(tankcapacity−heel). Before each period, initial available inventory ratiosof all tanks are calculated, and the maximum value is known. Thetank can be regarded as lower-inventory one when it includes eitherof the following situations:

(1) Its initial available inventory ratio is less than one third of themaximum value.

(2) The value of its initial available inventory ratio is below 0.3.

Crude unloading sequence usually relies on the values of theseratios. The lowest-value tank is the first one to receive parcels, andthen the second lowest-value tank is chosen. Likewise, other tankscan be selected in the same analogy. In real situation, several lower-inventory tanks may have the close initial inventories. For this case,an arbitrary lower-inventory tank can receive parcels firstly. Basedon the definition of lower-inventory tank that tank has very lowinventory, even though the netbacks of crudes in lower-inventorytanks may be very high, these tanks are still used to receive crudes. Ifthey are forced to feed CDUs, CDU changeover will occur frequentlybefore VLCC arrives and crude unloading finishes, which increaseschangeover cost. In practical refinery, crude unloading rate is muchhigher than CDU feeding rate. If the crude netback in one lower-inventory tank becomes very high and the inventory of this tank isbelow upper limits after receiving crudes from vessels, this tank cancontinue to receive crudes but not charges CDUs immediately. Withthe high unloading rate, receiving more crudes only reduces a littletime of using this tank to feed CDUs, so final solution will not beaffected obviously.

4.2. Rule 2: calculating crude oil volume of each input activity

There are four factors affecting crude oil volume for each inputactivity, namely tank storage capacity, parcel amounts, number oftanks and key component concentration. If the number of tanks ismore than three, crude oil volume for each input activity is onlyrestricted with tank storage capacity and parcel amounts. Lower-inventory tank can receive crudes until it is full. Even though thekey component concentration in a lower-inventory tank may be notbetween the lower and upper limits after input activity, this tankcan still be used to charge CDUs with a blend of other suitable tankthat does not receive new crudes. While the number of tanks is lessthan three, key component concentration in lower-inventory tankhas to be considered. In this condition, lower-inventory tank can onlyreceive crudes within the limits of key component concentration.However, in real world, one CDU is usually fed by more than threetanks, and thus crude unloading procedure can be simplified withheuristic rule 2.

4.3. Rule 3: no input activity occur between two output activities in atank

The goal of this rule is to fix the values of key component con-centrations in tank i (IKFi) and the concentrations of crude oil c intank i (ICFi,c). In practical large-scale refinery, many tanks are usedto receive crudes and the initial inventories of some tanks are rel-ative high, so this heuristic rule can be utilized effectively. But, if asmall-scale problem is addressed, such as less than three tanks andlower initial inventory in each tank, some tanks may receive crudesfrom vessels firstly, then charge CDUs, and receive crudes again. Inthis situation, a decomposition approach is proposed to suit rule 3.

The decomposition approach divides the whole horizon into sev-eral small periods. And the number of small periods relies on thenumber of arrival VLCCs. The first period begins at time zero, andends at the time after the first VLCC arrives while at least one parcelbelonging to every class is unloaded to tanks and relevant settling forbrine removal finishes. The second period follows immediately afterthe first, and ends at the time after the second VLCC arrives while atleast one parcel belonging to every class is unloaded to tanks and rel-evant settling for brine removal finishes, and the remaining periodsfollow likewise. The last period begins at the time after the last VLCCarrives while at least one parcel belonging to every class is unloadedto tanks and relevant settling for brine removal finishes, and runs tothe end of the scheduling horizon. In order to minimize demurragecost, it would be desirable to use the maximum possible unloadingrate, so the duration of each period can be calculated as follows:

PTEp = ATv + UTp + ST, ord(p) = ord(v),

ord(p) < card(p), p ∈ P (52)

PTBp = PTEp−1, p ∈ P (53)

where PTBp and PTEp are the beginning and ending times of the pthperiod; VTv is the arrival time of the vth VLCC; UTp is the durationtime of unloading at least one parcel belonging to every class in thepth period, it is determined by maximum unloading rate and parcelamounts. Moreover, ord( ) is the function that returns the relativeposition of a member in a set, and card( ) returns the number ofelements in a set. Based on the definition of period, periods 1 and2 can be regarded as the first group, and the rest periods belong tosingle group individually. The production demand of each group islinear with its horizon. Except the first group, all groups have thesame objective, namelymaximizing the profit in production demand.For the first group, the objective of the first period is to maximize theprofit in minimal demand, while the objective of the second periodis to maximize the profit in the rest demand. This minimal demand

974 M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983

Period 1 .........................

0 (PTB1)

Group 1

VLCC 1

Period 2 Period 3 Period (v+1)

VLCC 2 VLCC 3 VLCC v .........

PTB2 (PTE1) PTB3 (PTE2) PTB4 (PTE3) PTBv+1 (PTEv) h (PTEv+1)

Group 2 Group v

.....

................

Fig. 2. Schematic of decomposition approach.

T1

T2

T3

T4

Lower-inventory

Lower-inventory

Slot 1

OA1,1 (FA1,1) IA1,1

+IIV1,1

OA2,1 (FA1,2)

IA3,1 OA3,1 (FA1,3)

IA4,1 OA4,1 (FA1,4)

+IIV3,1

+IIV4,1

IIVi,in : volumes of crude oil carried in the inth input activity of tank i

Slot 2 Slot 3 Slot 4

Fig. 3. Preordering for input and output activities.

is obtained with multiplying the duration time of relative periodby minimum CDU feeding rate. Moreover, the initial information ofone period is determined with the scheduling results of the formerperiod. For example, initial tank inventories in the second period arethe tank inventories at the end of the first period, and the rest canbe determined in the same manner. The schematic of decompositionapproach is shown in Fig. 2. With above decomposition approach,heuristic rule 3 can be used in each small period, and the values IKFiof ICFi,c and are known.

4.4. Rule 4: assigning output activity to feeding activity

In the proposed model, binary variables SUu,fn,fn′ are used to de-termine the sequence of feeding activities in each CDU. In orderto reduce the number of binary variables IUi,u,on,fn that assigningoutput activity to feeding activity, every output activity may be as-signed to certain feeding activity based on the ordinal number oftank. For example, two tanks include two output activities, respec-tively, and four feeding activities are performed in CDU. In this ex-ample, the first output activity in tank 1 may be assigned to the firstfeeding activity, and cannot be assigned to other feeding activities;

the second output activity in tank 1 cannot be assigned to otherfeeding activities except the second one; the first output activityin tank 2 cannot be assigned to other feeding activities except thethird one; and the second output activity in tank 2 may be assignedto the last feeding activity, and cannot be assigned to other feedingactivities. This situation is described as follows:

(1) IUi , u ,on , fn may equal 1, when ord(i)+ord(on)−1+[ord(i)−1]×[card(on)−1] = ord(fn);

(2) IUi ,u ,on ,fn equal 0, when ord(i)+ord(on)−1+[ord(i)−1]×[card(on)−1] � ord(fn).

Based on rules 1–3, the values of IKFi and ICFi,c are known, andwill not change during each period. So, the bilinear terms (36a), (36b)and (41) are linearized, and an MILP model is obtained.

4.5. Preordering figure

The above heuristic rules can be described in a figure. Fig. 3 showsthe preordering for input and output activities in all storage tanks.In this figure, tanks 3 and 4 have lower inventory, and all tanks feed

M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983 975

CDU 1. To express each activity clearly, FAu ,fn is the fnth feedingactivity in CDU u, while IAi ,in and OAi ,on are the inth input activityand the onth output activity in tank i, respectively. Firstly, the wholehorizon is divided into several slots, and a storing activity may beperformed across one or more slots. Secondly, heuristic rules canhelp to determine crude oil storing, which includes calculating crudeoil volume for every input activity, and determining the sequence ofstoring activities. As noted in Fig. 3, the location of each activity isgiven: (1) OA1,1 (FA1,1) has to begin in slot 1 and may be performedacross slots 2 and 3; (2) IA1,1 is in slot 4; (3) OA2,1 (FA1,2) may beexecuted across all slots; (4) IA3,1 is in slot 2; (5) OA3,1 (FA1,3) maybe across the last two slots; (6) IA4,1 locates in slot 3; (7) OA4,1(FA1,4) may be performed in the last slot. Obviously, the locationsof IA1,1, IA3,1 and IA4,1 rely on heuristic rules 1–3, the locations ofall output activities (OAi ,on) are based on heuristic rules 1 and 3,and the assignment of feeding activities (FAu ,fn) are restricted withrule 4. With these locations, some sequences of storing activitiesare fixed: (a) OA1,1 (FA1,1) is in front of IA1,1, IA3,1, OA3,1 (FA1,3),IA4,1 and OA4,1 (FA1,4); (b) as OA2,1 (FA1,2) may occur in any slot,the sequences with this activity are uncertain; (c) IA3,1 is in frontof OA3,1, IA4,1, OA4,1 and IA1,1; (d) IA4,1 is in front of OA4,1 andIA1,1. Consequently, some binary variables can be prefixed in thenew model, such as IOIi,in,on, IUi,u,on,fn, UUu,fn,fn′ , SUu,fn,fn′ , TIOi,i′ ,in,onand TOOi,i′ ,on′ ,on.

Based on these heuristic rules collected from refinery personnelexperience, the unloading procedure is determined, and the crudecomposition and key component concentration in each tank can becalculated indirectly. Thus, the scheduling problem is left to howto arrange charging activities of tanks to CDUs. However, in realrefinery, one CDU is usually charged by many tanks, and the pro-posed heuristic rules may lead the key component concentration incertain tank not being between the lower and upper limits. To ad-dress charging CDUs in large-scale problem, following issues haveto be regarded: (1) CDU feeding rate is various; (2) some tanks canonly charge CDUs after a blend, and the proportions of two blendedcrudes are unknown; (3) each tank has limited inventory; (4) if atank charges two CDUs simultaneously, the beginning and endingtimes of these two output activities do not need to be same; (5)all CDUs cannot be idle during the whole scheduling horizon; (6)changeover times is minimal; (7) total profit should be high. Withthese issues, charging CDUs is a very difficult problem for manualoperations, so the model presented in Section 3 has to be utilizedeffectively.

5. Examples

In this section, a typical refinery studied by Reddy et al. (2004b)is considered at first, and then the motivation example proposed byLi et al. (2007) is used to test model feasibility. The typical refineryincludes eight tanks (T1–T8), three CDUs (CDU1–CDU3), and two

Table 1Tanker arrival details, crude demands and key component concentration limits on CDUs for Examples 1–3

Ex. Horizon (h) Tanker Arrival times (h) Parcel no. (parcel size (kbbl) crude) Key comp. limits (vol%) Demand (kbbl)

CDU Lower Upper

1 72 VLCC-1 15 1: [10 C2], 2: [250 C3], 3: [300 C4], 4: [190 C5] CDU1 0.10 1.40 300CDU2 0.10 1.30 300CDU3 0.10 0.40 300

2 80 VLCC-1 8 1: [10 C2], 2: [500 C4], 3: [500 C3], 4: [440 C5] CDU1 0.10 1.35 375CDU2 0.10 1.20 375CDU3 0.10 0.35 400

3 160 VLCC-1 15 1: [10 C2], 2: [250 C3], 3: [300 C4], 4: [190 C5] CDU1 0.10 1.30 700VLCC-2 100 5: [10 C5], 6: [250 C6], 7: [250 C8], 8: [240 C3] CDU2 0.10 1.25 700

CDU3 0.10 0.35 700

classes (class1 and class2) of crude oil. Tanks T1, T6–T8 and CDU3handle class1 crude oil (C1–C4), while the rest handle class2 crudeoil (C5–C8). Most related data are available from the paper pub-lished by Reddy et al. (2004b). Firstly, three examples belonging tothis refinery are solved. Table 1 gives the arrival details of tankers,crude demands and key component concentration limits of CDUs.Table 2 gives the initial crude levels and capacity details for eachtank. Table 3a gives the economic data and rate limits for crude oiltransferring. Table 3b gives the marginal profits and key componentconcentrations of crude oil.

Our model with heuristic rules are compared with two most ef-ficient models (RKS(a) and RKS(b) models) in these three examples.Our model is solved on the computer (2.16GHz, Core 2 CPU with1GB RAM) with running CPLEX 7.5.0 in GAMS, while Reddy et al.(2004b) solved the RKS(a) and RKS(b) models with running CPLEX7.0 in GAMS on a SUN enterprise 250 server using SUN OS 5.7, SingleUltra SPARC II 400MHz Processor and 2GB RAM. Table 4 gives themodel statistics and performances for Examples 1–4. In our model,the values of all big-Ms are 1000, and the integrality gap for eachexample is 0. As computer hardware and software are different, thegoal of this evaluation is not to compare model computational timesbut to prove that the new approach is valid and feasible in mostsmall-size and medium-size problems.

5.1. Example 1

In this example, one VLCC with three parcels will arrive at 15h inthe 72h of scheduling horizon (H = 72h). For logistics contract, thestipulated time is 35h. Based on heuristic rule 1, lower-inventorytanks T5, T6 and T7 are selected to receive unloaded parcels, in-volving unloading parcels 1–3 to T6 and T7 (class1) and parcel 4 toT5 (class2). According to heuristic rule 2, the volumes of parcels 1and 2 are 10 and 250kbbl, respectively, even if these two parcelsare unloaded to T6 completely, the total inventory of T6 is 340kbblwhich will not exceed its maximum storage capacity. And T6 canalso receive 230kbbl parcel 3 below its storage capacity. Analogi-cally, 70kbbl parcel 3 is transferred into T7, and T5 receives par-cel 4. Now, the key component concentrations of crude oil in tank i(IKFi) and the concentrations of crude oil c in tank i (ICFi,c) can becalculated with heuristic rule 3. After using heuristic rules 1–4 andassuming that one output activity is executed in each tank for everyCDU, we can present the preordering for storing activities in Fig. 4.With this figure, a large number of binary variables are prefixed.

The optimal schedule based on our new approach is shown inFig. 5, which is similar to the solution obtained from RKS(b) model.These two solutions have the same features for some operations,e.g., two tanks (T1 and T8) feeding a CDU (CDU3) at the same time,one tank (T7) feeding two CDUs (CDUs 1 and 2) simultaneously, thetrade-off between netback and changeover, and the minimizationof changeovers. Although the definitions of inventory penalty are

976 M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983

Table 2Storage tank capacities and initial inventory of crude stock for Examples 1–3

Tank Capacity (kbbl) Heel (kbbl) Initial inventory (kbbl) Initial crude composition (kbbl)

Examples 1 and 3 Example 2

Exs. 1–3 Exs. 1–3 Exs. 1 and 3 Ex. 2 C1 or C5 C2 or C6 C3 or C7 C4 or C8 C1 or C5 C2 or C6 C3 or C7 C4 or C8

T1 570 60 350 350 50 100 100 100 50 100 150 50T2 570 60 400 400 100 100 100 100 200 0 50 150T3 570 60 350 350 100 100 50 100 100 100 50 100T4 980 110 950 950 200 250 200 300 200 250 200 300T5 980 110 300 300 100 100 50 50 100 100 50 50T6 570 60 80 240 20 20 20 20 30 30 150 30T7 570 60 80 120 20 20 20 20 30 30 50 10T8 570 60 450 550 100 100 100 150 150 100 210 90

Tanks 1, 6–8 store crudes 1–4 and 2–5 store crudes 5–8 for Examples 1–3.

Table 3Economic data, rate limits for crude oil transferring, marginal profits and key component concentrations of crude for Examples 1–3

Ex. Flow rate limits (kbbl/8h) Demurragecost (k$/h)

Change overcost (k$)

Safe inventory penalty ($/bbl) for model Settlingtime (h)

Safe inventory(kbbl)

Parcel-to-tank,Min–Max

Tank-to-CDU, CDUprocessing, Min–Max

RKS(b) model (per period1, 2, 3, 4, 5)

Our model(RKS(a) model)

(a) Economic data, rate limits for crude oil, settling time and safe inventory1 10–400 16–48 3.125 5 0.375, 0.5, 0.925, –, – 1.6(0.2) 8 15002 10–400 16–48 6.25 25 0.2, 1.0, 0.8, –, – 1.6(0.2) 8 15003 10–400 16–48 3.125 5 0.375, 0.625, 1.5, 0.625, 0.875 1.6(0.2) 8 1500

(b) Crude types, key component concentrations and marginal profits

Crude type Key component concentrations (vol%) Netback ($/bbl)Exs. 1 and 3 Ex. 2 Exs. 1–3

C1 0.20 0.25 1.50C2 0.25 0.25 1.70C3 0.15 0.40 1.50C4 0.60 0.20 1.60C5 1.20 1.00 1.45C6 1.30 1.50 1.60C7 0.90 1.40 1.55C8 1.50 1.10 1.60

Table 4Model statistics and computational results for Examples 1–4

Model Iteration time CPU time (s) Profit (k$) Binary variables Single variables Constraints

Example 1Our model – 4.1 1409.3 135 1103 3438RKS(b) model 5 68.4 1409.3 115 1358 2668RKS(a) model 3 49.2 1409.3 136 1235 2323

Example 2Our model – 10.4 1771.7 154 1135 3593RKS(b) model 7 815 1766.4 160 1778 3471RKS(a) model 5 556 1771.7 162 1395 2601

Example 3Our model – 5.5 3272.5 160 1780 5422RKS(b) model 9 3242 3256.8 242 2893 5510RKS(a) model 5 3389 3255.3 301 2759 5041

Example 4Our model

Period 1 – 0.15 1149.71 23 217 566Period 2 – 0.10 3919.49 22 140 3778The whole profit: 5069.2 k$

RKS(b) model: infeasibleRKS(a) model: infeasible

Big-M value: 1000; integrality gap = 0%.

M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983 977

T1

T2

T3

T4

OA1,1 (FA3,1)

OA2,1 (FA1,1)

+190(4)

IA5,1

OA2,2 (FA2,1)

OA3,1 (FA1,2)

OA3,2 (FA2,2)

OA4,1 (FA1,3)

OA4,2 (FA2,3)

T5Lower-inventory

T6Lower-inventory

T7Lower-inventory

T8

+10(1)

IA6,1

+250(2)

IA6,2 OA6,1 (FA3,2)

+70(3)

IA7,1 OA7,1 (FA3,3)

OA8,1 (FA3,4)

‘+’ sign represents receipt form (parcel).

OA5,1 (FA1,4)

OA5,2 (FA2,4)

+230(3)

IA6,3

Fig. 4. Preordering for storing activities in Example 1.

Tank Amounts [to CDU no.] (from vessel no) in kbbl for activity with end-times our model

15h T1 -156[3]T4 -300[1]

-300[2]

T8 -144[3]

Tank RKS(b) model

T1 -30[3] -0.4[3] -10[3] -12[3] -15.2[3] -10[3] -78.4[3] T3 T4 -30[1] -0.4[1] -10[1] -12[1] -7.6[1] -30[1] -210[1]

-30[2] -0.4[2] -10[2] -12[2] -7.6[2] -30[2] -210[2]

T8 -30[3] -0.4[3] -10[3] -12[3] -7.6[3] -10[3] -74[3] ‘-’ Sign represents delivery to [CDU], ‘+’ sign represents receipt form (parcel).

15.2h 20.2h 24.8h 26.2h 30h 35h 72h

15h 15.2h 20.2h 26.2h 30h 35h 72h

+190(4)

+250(2)+10(1)T6+300(3)T7

+190(4)T5+230(3)+250(2)+10(1)T6

T7 +70(3)

Fig. 5. The schedules for Example 1 based on our model and RKS(b) model.

978 M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983

T1

T2

T3

T4

OA1,1 (FA3,1)

OA2,2 (FA2,1)

OA3,1 (FA1,2)

OA3,2 (FA2,2)

OA4,1 (FA1,3)

OA4,2 (FA2,3)

T5Lower-inventory

T6Lower-inventory

T7Lower-inventory

T8

+60(2)

IA6,1

+270(3)

IA6,2 OA6,1 (FA3,2)

+10(1)IA7,1 OA7,1 (FA3,3)

OA8,1 (FA3,4)

‘+’ sign represents receipt form (parcel).

+440(4)

IA5,1

OA5,1 (FA1,4)

OA5,2 (FA2,4)

+440(2)IA7,2

+220(3)

IA1,1

OA2,1 (FA1,1)

IA8,1

+10(3)

Fig. 6. Preordering for storing activities in Example 2.

different in the three models, their solutions can be still comparedunder zero inventory penalty. As noted in Table 4, three modelsperform equally well in such simple example, but ourmodel does notneed iterative computations. In the following sections, more difficultexamples are considered, and fortunately, all solutions from differentmodels can be also compared without inventory penalty.

5.2. Example 2

In this more complex problem, one VLCC with three parcels willarrive at 8h in a horizon of 80h, where parcel sizes are bigger andthe limits of key component concentration for CDUs are tighter. Thestipulated time is 40h for the logistics contract. Heuristic rules 1 and2 are utilized in this example: to unload the class 1 of crude, lower-inventory tank T7 can receive 10kbbl parcel 1 and 440kbbl parcel2 under its storage capacity. Similarly, 60kbbl parcel 2 and 270kbblparcel 3 are unloaded to T6. Since all lower-inventory tanks are fullof crude, 220kbbl parcel 3 and 10kbbl parcel 3 have to be unloadedto T1 and T8, respectively. For class 2 of crude, lower-inventory tankT5 has sufficient space for all parcel 4 (440kbbl). With heuristic rules1–4 and the same assumption for output activities, the values of allIKFi and ICFi,c are obtained, and the preordering for storing activitiescan be determined in Fig. 6.

Fig. 7 shows the operation schedule generated by our new ap-proach. This solution has some features that are similar to Example

1, namely two tanks (T5 and T7) feeding a CDU (CDU2) at the sametime, one tank (T7) feeding two CDUs (CDUs 1 and 2) simultane-ously. As one output activity is performed after input activities inT7, a settling/removal time (8h) is required before this output ac-tivity begins. Specially, the netback for crude in T7 is 1.593k$/kbblin our schedule. It is higher than 1.583 for T1 and 1.574 for T6 inRKS(b) solution, so our model can gives a greater profit than RKS(b)model (1771.7 vs. 1766.4 in Table 4) by selecting higher-netbackcrude to feed CDU3. As presented in Table 4, the number of binaryvariables is almost the same for all the models, but our model needsfewest single variables (1135 vs. 1395 vs. 1778). It is difficult toadjust the trade-off between netback and changeover for crude oilscheduling. For the simple scheduling problems (short horizon andonly one VLCC), the three models are all effective. However, whenthe scheduling horizon prolongs to double and more VLCCs arrive,the old models may suffer from changeover overuse. This problemis demonstrated in the next example.

5.3. Example 3

The third example is the most difficult problem, where thetime horizon is 160h and two VLCCs (VLCC-1 and VLCC-2) carryingthree parcels arrive at 15 and 100h, respectively. The stipulatedtime of both VLCCs is 25h. Firstly, unloading activities are de-termined relying on heuristic rules 1 and 2: for class 1 of crude,

M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983 979

Tank Amounts [to CDU no.] (from vessel no) in kbbl for activity with end-times our model

8h

T2T1

-160[2] T4

T5T6

-375[1] -215[2]

-330[3] T8 +10(3)

Tank RKS(b) model

-4[3] -31.9[3] -39.9[3] -116[3] T2 -16[2] -0.4[2] -6.8[2] -13.2[2] -16[2] -4[2] -17.6[2] -22[2] -64[2] T4 -20[1] -0.5[1] -8.5[1] -26.5[1] -20[1] -8.1[1] -49.5[1] -61.9[1] -180[1]

-16[2] -0.4[2] -6.8[2] -13.2[2] -16[2] -4[2] -17.6[2] -39.9[2] -101.1[2] T5T6 T7

-7.25[3] -17.6[3] -22[3] -64[3]

T8 -20[3] -0.5[3] -8.5[3] -23.3[3]

‘-’ Sign represents delivery to [CDU], ‘+’ sign represents receipt form (parcel).

8.2h 17h 18.2h 23.6h 25h 28h 28.2h 37h 80h

8h 8.2h 11.6h 18.2h 26.2h 28.2h 37h 48h 80h+170(2)+10(1)T1

+440(4)+330(2)

+400(3)

-70[3]

+440(4)

+10(1) +440(2)T7+60(2) +270(3)

+220(3)

+100(3)-45[3]

Fig. 7. The schedules for Example 2 based on our model and RKS(b) model.

OA1,1 (FA3,1)

OA2,2 (FA2,1)

+250(2)

IA6,2

+230(3)

IA6,3

+10(1)

IA7,1

OA8,1 (FA3,4)

+190(4)

IA5,1

+70(3)

IA7,2

OA2,1 (FA1,1)

T1

T2

T3

T4

T5Lower-inventory

T6Lower-inventory

T7Lower-inventory

T8

‘+’ sign represents receipt form (parcel).

IA3,1

OA5,1 (FA1,4)

OA5,2 (FA2,4)

OA3,1 (FA1,2)

OA3,2 (FA2,2)

+20(7)

OA4,1 (FA1,3)

OA4,2 (FA2,3)

+10(5)

IA5,2

+250(6)

IA5,3

+230(7)

IA5,4

IA6,1 OA6,1 (FA3,2)

OA7,1 (FA3,3)

+240(8)

Fig. 8. Preordering for storing activities in Example 3.

980 M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983

Tank Amounts [to CDU no.] (from vessel no) in kbbl for activity with end-times our model

T1 -290[3]T2 -320[2] T3 -240[1] T4 -460[1]

-380[2] T5 +250(6)T6T7 -30[3] T8 -380[3]

Tank RKS(b) model

T1 -241[3] T2 -30[2] -0.4[2] -10[2] -12[2] -7.6[2] -140[2] -0.4[2] -10[2] -10[2] -9.6[2] -2[2] -88[2] T3 -105.6[1] T4 -62.6[1] -1.2[1] -10[1] -12[1] -7.6[1] -247.4[1] -0.4[1] -30[1] -30[1] -28.8[1] -6[1] -140.4[2] -0.4[2] -20[2] -20[2] -19.2[2] -4[2] -176[2] T5 -158.4[1] T6 -0.4[3] -10[3] -10[3] -9.6[3] -2[3] T7 -0.46[3] -11.6[3] -11.6[3] -11.1[3] -2.3[3] T8 -30[3] -0.4[3] -10[3] -12[3] -22.8[3] -314.8[3]

‘-’ Sign represents delivery to [CDU], ‘+’ sign represents receipt form (parcel).

15h 15.2h 20.2h 26.2h 30h 100h 100.2h 105.2h 110.2h 115h 116h 160h

15h 15.2h 20.2h 24.8h 26.2h 30h 100h 100.2h 105.2h 109.8h 110.2h 115h 118.2h 145h 160h

+20(7)

+190(4) +10(5) +230(7)

+240(8)+250(2)+10(1)

+300(3)+250(7)+250(6) +10(5)

+190(4)

+230(3)+250(2)+10(1)+240(8)+70(3)

Fig. 9. The schedules for Example 3 based on our model and RKS(b) model.

Table 5Data for Example 4

Tank andCDU

Capacity(kbbl)

Heel(kbbl)

Initialinventory(kbbl)

Allowablecrude(Class)

Initial crudeamount (kbbl)

Crude concentrationrange (Min–Max)

Totaldemand(kbbl)

Processinglimits(kbbl/8h)Min–Max

Propertyspecificationrange(Min–Max)

C1 or C3 C2 or C4 C1 or C3 C2 or C4

T1 700 50 300 C1, C2 (1) 200 100 0.2–0.8 0.2–0.8 – – –T2 700 50 300 C3, C4 (2) 100 200 0.2–0.8 0.2–0.8 – – –T3 900 50 250 C3, C4 (2) 50 200 0.0–1.0 0.0–1.0 – – –T4 700 50 300 C1, C2 (1) 130 170 0.2–0.8 0.2–0.8 – – –CDU1 – – – C1, C2 (1) – – 0.3–0.7 0.3–0.7 550 50–100 0.0045–0.0060CDU2 – – – C3, C4 (2) – – 0.0–1.0 0.0–1.0 550 50–100 0.0140–0.0153

Crude Property specification Margin ($/bbl)C1 0.0050 3.0 Unloading rate: 10–400kbbl/8h Tank-CDU flow rate: 0–100kbbl/8hC2 0.0060 4.5 Demurrage: 100 k$/8h Changeover cost: $5000/instanceC3 0.0165 5.0 Safety stock penalty: 0.2 $/bbl/8h Desired safety stock: 1200kbblC4 0.0145 6.0 One VLCC (300kbbl C1, 300kbbl C4 and 350kbbl C3) arrives at time zero

the lower-inventory tank T6 receives 10kbbl parcel 1, 250kbbl parcel2 and 230kbbl parcel 3 below its storage capacity, and another lower-inventory tank T7 can receive 70kbbl parcel 3 and 240kbbl parcel8; then for class 2 of crude, T5 receives 190kbbl parcel 4, 10kbblparcel 5, 250kbbl parcel 6 and 230kbbl parcel 7 within its largestorage capacity, and the rest 20kbbl parcel 7 is transferred to T3.Finally, the values of IKFi and ICFi,c are known, and the preorderingfor storing activities is shown in Fig. 8.

Fig. 9 presents the schedules given from our model and RKS(b)model. In this example, the detail solution of RKS(b) model is dif-ferent from that Reddy et al. (2004b) had reported, because theirpublished schedule violated some operational constraints. As notedin Fig. 9, our solution includes two changeovers, while RKS(b) modelneeds four changeovers. This is the main reason why our model canobtain the better objective value (3272.5 k$ vs. 3256.8 k$). As pre-sented in Table 4, our model needs fewest binary variables (160 vs.301 vs. 242) and single variables (1780 vs. 2759 vs. 2893).

5.4. Example 4

This example is the motivation example proposed by Li et al.(2007). It includes one SBM pipeline, four storage tanks (T1–T4),two CDUs (CDU1 and CDU2), four crudes (C1–C4) that are classifiedinto two classes (class1 and class2). C1 and C2 belong to class1,can be stored in T1 and T4, and can be processed in CDU1. Whileclass2, C3 and C4, are stored in the rest tanks and processed inCDU2. One VLCC with three parcels (300kbbl C1, 300kbbl C4 and350kbbl C3, unloaded in this sequence) arrives at time zero in the72h of scheduling horizon (H = 72h). At time zero, the SBM pipelineis holding 10kbbl C2 from the last parcel. Other data are shown inTable 5.

In this example, only two tanks charge a CDU, and each tank hasclose initial inventory, so the decomposition approach proposed inheuristic rule 3 is used at first. As one VLCC arrives in the schedulinghorizon, the whole problem is divided into two periods. The first

M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983 981

T1

T2

T3

T4

OA1,1 (FA1,1)

OA2,1 (FA2,1)

+300(3)

IA4,1

OA3,1 (FA2,2)

OA4,1 (FA1,2)

+10(1)

IA’2,1

+300(2)

IA3,1

IA4,2

‘+’ sign represents receipt form (parcel).

OA’1,2 (FA’1,1)

+340(4)

OA’2,1 (FA’2,1)

OA’3,1 (FA’2,2)

OA’4,1 (FA’1,2)

Period 1 Period 2

Fig. 10. Preordering for storing activities in Example 4.

Tank Amounts [to CDU no.] (from vessel no) in kbbl for activity with end-times 0.2h

T1 -126.25[1] -55.76[1] T2 -87.5[2] T3 -423.75[2]

-367.99[1] ‘-’ Sign represents delivery to [CDU], ‘+’ sign represents receipt form (parcel)

+340(4)

6.2h 12.2h 20.2h 27h 72h

+300(3)-38.75[2]+300(2)+10(1)T4

Fig. 11. The schedule for Example 4 based on our model.

period begins at time zero, and ends at 20.2h which is based onmax-imum unloading rate, the parcel amounts of C2, C1 and C4, and thesettling time for brine removal. The second period begins at 20.2h,and runs to the end of the scheduling horizon. With the durationtime of the first period and minimum CDU feeding rate, the objec-tive of the first period is to maximize the profit in minimal demand(126.25kbbl for each CDU), and the objective of the second periodis to maximize the profit in the rest demand (423.75kbbl for eachCDU).

In the first period, class1 crudes (10kbbl C2 and 300kbbl C1) canonly be unloaded to T4 with crude concentration limits, and class2crude (300kbbl C4) is unloaded to lower-inventory tank T3 (basedon heuristic rules 1 and 2). According to heuristic rule 3, namely noinput activity occurs between two output activities in a tank, thepreordering of storing activities for the first period can be shown inFig. 10. And then, the schedule of the first period is obtained withthe new model. Based on this schedule, the second period problemis considered. At the beginning time of the second period (20.2h),T2 is lower-inventory tank compared with T3 in class2, so 340kbblC3 is unloaded to T2 based on heuristic rules 1 and 2. The preorder-ing of storing activities in the second period is also presented inFig. 10. With this preordering figure, the schedule of the wholeproblem is solved and described in Fig. 11. As noted in Table 4,the objective values of the two periods are 1149.71 and 3919.49k$,respectively, thus the whole profit is 5069.2 k$ which is close tothe value (5069.9 k$) obtained by Li et al. (2007). Unfortunately, themodels of RKS(a, b) cannot find a feasible solution for this example.

For longer horizon problems, RKS(a, b) models usually use shorterblocks of constant composition, which limits the blend adjustmentsand may increase changeovers. Moreover, their linearizing algorithmmay fail to obtain a feasible solution in some difficult problems.However, with effective heuristic rules, our model always gives thebetter objectives and finds the optimal solutions in a short time

by reducing binary variables significantly. Based on the above fourexamples, the advantage of ourmodel can be summarized as follows:requiring a few binary variables, linearizing bilinear terms withoutcomposition discrepancies, adjusting the trade-off between netbackand changeover effectively and giving a feasible solution in mostcases.

6. Conclusion

Bilinear terms lead to an MINLP model for crude oil scheduling.Many approaches have been proposed to linearize these terms. Butthey either suffered from composition discrepancy or failed to findthe optimal solutions. When the time horizon becomes longer, thescheduling problems are more difficult to solve. Unlike existingliterature, this paper presents a new approach for crude oilscheduling, which can avoid composition discrepancy without usingiterative algorithm and find better solution effectively. In the newapproach, a new MINLP formulation is set up firstly, and then someheuristic rules are proposed to linearize the bilinear terms and pre-fix some binary variables. Consequently, crude oil scheduling canbe described as a complete MILP model, and fewer binary variablesneed to be included. In addition, real-world refinery operationalfeatures are considered, such as single buoy mooring (SBM), multi-ple tanks feeding one CDU, one tank feeding multiple CDUs, settlingtime for brine removal, changeover cost, crude oil netbacks, safetystock penalties and demurrage cost. In model evaluation, the newmodel and the RKS(a, b) models are used to solve four typical exam-ples. Compared to the other two models, the new model requiresfewest binary variables and finds the best solutions in a short timewithout iteration, proving that the new model is valid and feasiblein most small-size and medium-size problems. To extend our newapproach, more complex operational aspects, longer schedulinghorizon and more activities will be addressed for model feasibility.

Notation

Indicesc crude oilfn feeding activityi tankin input activityon output activityp unloading activityu CDUv VLCC

Superscripts

max maximum valuemin minimum value

Sets

C set of all crude oilFN sets of all feeding activitiesIc set of all tanks that can hold crude oil cINc set of all input activities that can hold crude oil cON set of all output activitiesONi ,u set of all output activities in tank i which feed

CDU uP set of all unloading activitiesPc set of all unloading activities that can unload

crude oil c

982 M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983

Pv set of all unloading activity belonging to VLCC vPv ,c set of all activities unloading crude oil c from

VLCC vU sets of all CDUsV set of all VLCCs

Activity symbol

FAu ,fn the fnth feeding activity in CDU uIAi ,in the inth input activity in tank iOAi ,on the onth output activity in tank i

Parameters

CDu production demand of CDU uCOC the cost per changeoverCPc netback for crude oil cCVv,c volume of crude oil c carried in VLCC vDVv stipulated departure time of VLCC vH time horizonIRmax maximum rate of transferring crude oil from

tanks to CDUsIRmin minimum rate of transferring crude oil from

tanks to CDUsIVi initial inventory in tank iIVimax maximum inventory levels of tank iIVimin minimum inventory levels of tank iNU total number of CDUsSS safety stockSSP penalty per unit volume for under-running the

safety stockST settling time for brine removalSWCv demurrage of VLCC vTV initial inventory of all tanksUKFumax maximum key component concentrations of

blended oil in CDU uUKFumin minimum key component concentrations of

blended oil in CDU uURumax maximum processing rate of CDU uURumin minimum processing rate of CDU uVRmax maximum rate of crude oil unloadingVRmin minimum rate of crude oil unloading

Variables

Continuous

CC total cost for CDU changeoversCIOVi,i′ ,in,on related volume of crude oil carried in the inth

input activity of tank i when the onth output ac-tivity is performed in tank i′

CIVi,in,on related volume of crude oil carried by the onthoutput activity when the inth input activity be-gins in tank i

COOVi,i′ ,on′ ,on related volume of crude oil carried in the on'thoutput activity of tank i when the onth outputactivity is performed in tank i′

COVi,in,on related volume of crude oil carried by the inthinput activity when the onth output activity be-gins in tank i

DC demurrageICFi,c concentrations of crude oil c in tank i

IITBi,in beginning times of the inth input activity intank i

IITEi,in ending times of the inth input activity in tank iIIVi,in volumes of crude oil carried in the inth input

activity of tank iIKFi key component concentrations of crude oil in

tank iIUVi,u,fn crude oil volume of tank i feed to CDU u in the

fnth feeding activityIUVVi,u,fn,fn′ related crude oil volume of tank i feed to CDU u in

the fn′th feeding activity when the fnth feedingactivity occurs

NB total netback of productionOITBi,on beginning time of the onth output activity in

tank iOITEi,on ending time of the onth output activity in tank iOIVi,on crude oil volume for the onth output activity in

tank iPVp crude oil volume transferred in the pth unloading

activitySC total penalty of safety stockSICi,on penalty of safety stock when the onth output ac-

tivity begins in tank iTOVi′ ,on total inventory before the onth output activity

begins in tank i′UTBu,fn beginning times of the fnth feeding activity in

CDU uUTEu,fn ending times of the fnth feeding activity in CDU uUUTBu,fn,fn′ related beginning time of the fn′th feeding activ-

ity when the fnth feeding activity is performedin CDU u

UUTEu,fn,fn′ related ending time of the fn′th feeding activitywhen the fnth feeding activity is performed inCDU u

UVu,fn volumes of crude oil carried in the fnth feedingactivity in CDU u

UVVu,fn,fn′ related volume of crude oil carried in the fn′thfeeding activity when the fnth feeding activity isexecuted in CDU u

VTBp beginning time of the pth unloading activityVTEp ending time of the pth unloading activityVTEpl ending time of the last unloading activity

Binary

IOIi,in,on 1 if the inth input activity is performed beforethe onth output activity in tank i

IUi,u,on,fn 1 if the onth output activity in tank i is the fnthfeeding activity of CDU u

PIi,in,p 1 if the pth unloading activity is the inth inputactivity of tank i

SNi,on,on′ 1 if the onth output activity begins before theon'th output activity finishes in tank i

SUu,fn,fn′ 1 if the fnth feeding activity is performed beforethe fn′th feeding activity in CDU u

TIOi,i′ ,in,on 1 if the inth input activity in tank i finishes beforethe onth output activity begins in tank i′

TOOi,i′ ,on′ ,on 1 if the on'th output activity in tank i begins be-fore the onth output activity begins in tank i′

UUu,fn,fn′ 1 if the fnth and the fn′th feeding activities areperformed simultaneously in CDU u

0–1 continuous

SIi,on,on′ 1 if the onth and on′th activities occur simulta-neously or overlap partially in tank i

M. Pan et al. / Chemical Engineering Science 64 (2009) 965 -- 983 983

Acknowledgement

Financial supports from the National Natural Science Foundationof China (Nos. 20536020 and 20876056) and Guangdong ProvinceScience and Technology Foundation (2004B5010-1002) are gratefullyacknowledged. In addition, with the kindness help of Karimi, I.A.and Li Jie from the National University of Singapore, we can get thecorrect data for the four examples.

References

Adhitya, A., Srinivasan, R., Karimi, I.A., 2007. Heuristic rescheduling of crude oiloperations to manage abnormal supply chain events. A.I.Ch.E. Journal 53 (2),397–422.

Chryssolouris, G., Papakostas, N., Mourtzis, D., 2005. Refinery short-term schedulingwith tank farm, inventory and distillation management: an integratedsimulation-based approach. European Journal of Operations Research 166,812–827.

Coxhead, R.E., 1994. Integrated planning and scheduling systems for the refiningindustry. In: Ciriani, T.A., Leachman, R.C. (Eds.), Optimization in Industry, vol. 2.Wiley, New York, pp. 185–199.

Guo, J., Yang, M., 2006. Planning and Scheduling of Chemical Production. ChemicalIndustry Press, Beijing, China. pp. 153–156.

Jia, Z., Ierapetritou, M.G., 2004. Efficient short-term scheduling of refinery operationsbased on a continuous time formulation. Computer and Chemical Engineering28, 1001–1019.

Jia, Z., Ierapetritou, M., Kelly, J.D., 2003. Refinery short-term scheduling usingcontinuous time formulation: crude-oil operations. Industrial and EngineeringChemistry Research 42, 3085–3097.

Lee, H., Pinto, J.M., Grossmann, I.E., Park, S., 1996. Mixed-integer linear programmingmodel for refinery short-term scheduling of crude oil unloading with inventorymanagement. Industrial and Engineering Chemistry Research 35, 1630–1641.

Li, J., Li, W., Karimi, I.A., Srinivasan, R., 2007. Improving the robustness and efficiencyof crude scheduling algorithms. A.I.Ch.E. Journal 53 (10), 2659–2680.

Li, W., Hui, C.W., Hua, B., Zhongxuan, T., 2002. Scheduling crude oil unloading,storage, and processing. Industrial and Engineering Chemistry Research 41,6723–6734.

Mendez, C.A., Grossmann, I.E., Harjunkoski, I., Kabore, P., 2006. A simultaneousoptimization approach for off-line blending and scheduling of oil-refineryoperations. Computers & Chemical Engineering 30 (4), 614–634.

Moro, L.F.L., Pinto, J.M., 2004. Mixed-integer programming approach for short-termcrude oil scheduling. Industrial and Engineering Chemistry Research 43, 85–94.

Pinto, J., Joly, M., Moro, L., 2000. Planning and scheduling models for refineryoperations. Computers & Chemical Engineering 24, 2259–2276.

Reddy, P.C.P., Karimi, I.A., Srinivasan, R., 2004a. Novel solution approach foroptimizing crude oil operations. A.I.Ch.E. Journal 50 (6), 1177–1197.

Reddy, P.C.P., Karimi, I.A., Srinivasan, R., 2004b. A new continuous-time formulationfor scheduling crude oil operations. Chemical Engineering Science 59,1325–1341.

Shah, N., 1996. Mathematical programming techniques for crude oil scheduling.Computer and Chemical Engineering 20 (Suppl. B), S1227–S1232.

Voudouris, V.T., Grossmann, I.E., 1992. Mixed integer linear programmingreformulations for batch process design with discrete equipment sizes. Industrialand Engineering Chemistry Research 31, 1315.


Recommended