A New Continuous-time Formulation for Scheduling Crude Oil Operations

17
Chemical Engineering Science 59 (2004) 1325 – 1341 www.elsevier.com/locate/ces A new continuous-time formulation for scheduling crude oil operations P. Chandra Prakash Reddy, I.A. Karimi , R. Srinivasan Department of Chemical and Biomolecular Engineering, National University of Singapore, 4 Engineering Drive 4, Singapore 117576, Singapore Received 21 May 2003; received in revised form 6 November 2003; accepted 28 January 2004 Abstract In today’s competitive business climate characterized by uncertain oil markets, responding eectively and speedily to market forces, while maintaining reliable operations, is crucial to a renery’s bottom line. Optimal crude oil scheduling enables cost reduction by using cheaper crudes intelligently, minimizing crude changeovers, and avoiding ship demurrage. So far, only discrete-time formulations have stood up to the challenge of this important, nonlinear problem. A continuous-time formulation would portend numerous advantages, however, existing work in this area has just begun to scratch the surface. In this paper, we present the rst complete continuous-time mixed integer linear programming (MILP) formulation for the short-term scheduling of operations in a renery that receives crude from very large crude carriers via a high-volume single buoy mooring pipeline. This novel formulation accounts for real-world operational practices. We use an iterative algorithm to eliminate the crude composition discrepancy that has proven to be the Achilles heel for existing formulations. While it does not guarantee global optimality, the algorithm needs only MILP solutions and obtains excellent maximum-prot schedules for industrial problems with up to 7 days of scheduling horizon. We also report the rst comparison of discrete- vs. continuous-time formulations for this complex problem. ? 2004 Elsevier Ltd. All rights reserved. Keywords: Renery; Crude scheduling; SBM pipeline; Continuous-time representation; Mixed-integer linear programming (MILP) 1. Introduction Today, petroleum rening is an asset-intensive, opera- tionally complex, low-margin, and extremely competitive industry. The challenge to remain protable is compounded by ever-changing raw material prices and uctuating de- mands for products. Reners have therefore resorted to ad- vanced decision-making technologies to respond quickly to problems and opportunities and make decisions with a high level of condence. Optimization, specically linear programs (LPs), is one such decision-making technology that has historically played a key role in the planning and scheduling of process operations. Planning determines the volumes of dierent feedstock to be processed and the mix and amounts of products to be produced over several months. Scheduling deals with the timing of the plant operations to realize the plan in response to product requirements and containment problems. Crude oil costs account for about 80% of a renery’s turnover; so a switch to a cheaper crude oil can have a Corresponding author. Tel.: +65-68746359; fax: +65-67791936. E-mail address: [email protected] (I.A. Karimi). signicant impact on margins. However, some feedstock can lead to processing problems and must be blended with other crudes to maintain plant reliability. Furthermore, most reneries have unsteady supply of crude oil. Scheduling of crude oil operations is thus a critical component of overall renery scheduling. Crude schedulers continuously watch crude oil move- ments and the operational status of the plant and match them to uctuating demands. In most cases, under intense time pressure and low inventory exibility, the schedulers rely largely on their experience, and select the rst feasible solution obtained from a spreadsheet model or other tool. However, tremendous opportunity for economic and oper- ability improvement exists, because an advanced scheduling tool can enable the scheduler to (1) optimize crude stor- age, (2) evaluate the best way to implement the monthly plan, (3) provide guidelines to operations, (4) maintain opti- mal renery operation despite unexpected changes, and (5) compare actual operating results to schedules and planning targets. Other benets from better analysis of scheduling op- tions include superior capacity utilization, increased plant yields, and overall improved visibility and control across the supply chain. The anticipated benets from these run into millions of dollars per year. Thus, there is a need for 0009-2509/$ - see front matter ? 2004 Elsevier Ltd. All rights reserved. doi:10.1016/j.ces.2004.01.009

Transcript of A New Continuous-time Formulation for Scheduling Crude Oil Operations

Page 1: A New Continuous-time Formulation for Scheduling Crude Oil Operations

Chemical Engineering Science 59 (2004) 1325–1341www.elsevier.com/locate/ces

A new continuous-time formulation for scheduling crude oil operations

P. Chandra Prakash Reddy, I.A. Karimi∗, R. SrinivasanDepartment of Chemical and Biomolecular Engineering, National University of Singapore, 4 Engineering Drive 4, Singapore 117576, Singapore

Received 21 May 2003; received in revised form 6 November 2003; accepted 28 January 2004

Abstract

In today’s competitive business climate characterized by uncertain oil markets, responding e5ectively and speedily to market forces,while maintaining reliable operations, is crucial to a re6nery’s bottom line. Optimal crude oil scheduling enables cost reduction by usingcheaper crudes intelligently, minimizing crude changeovers, and avoiding ship demurrage. So far, only discrete-time formulations havestood up to the challenge of this important, nonlinear problem. A continuous-time formulation would portend numerous advantages,however, existing work in this area has just begun to scratch the surface. In this paper, we present the 6rst complete continuous-time mixedinteger linear programming (MILP) formulation for the short-term scheduling of operations in a re6nery that receives crude from very largecrude carriers via a high-volume single buoy mooring pipeline. This novel formulation accounts for real-world operational practices. Weuse an iterative algorithm to eliminate the crude composition discrepancy that has proven to be the Achilles heel for existing formulations.While it does not guarantee global optimality, the algorithm needs only MILP solutions and obtains excellent maximum-pro6t schedulesfor industrial problems with up to 7 days of scheduling horizon. We also report the 6rst comparison of discrete- vs. continuous-timeformulations for this complex problem.? 2004 Elsevier Ltd. All rights reserved.

Keywords: Re6nery; Crude scheduling; SBM pipeline; Continuous-time representation; Mixed-integer linear programming (MILP)

1. Introduction

Today, petroleum re6ning is an asset-intensive, opera-tionally complex, low-margin, and extremely competitiveindustry. The challenge to remain pro6table is compoundedby ever-changing raw material prices and ?uctuating de-mands for products. Re6ners have therefore resorted to ad-vanced decision-making technologies to respond quickly toproblems and opportunities and make decisions with a highlevel of con6dence.Optimization, speci6cally linear programs (LPs), is

one such decision-making technology that has historicallyplayed a key role in the planning and scheduling of processoperations. Planning determines the volumes of di5erentfeedstock to be processed and the mix and amounts ofproducts to be produced over several months. Schedulingdeals with the timing of the plant operations to realize theplan in response to product requirements and containmentproblems.Crude oil costs account for about 80% of a re6nery’s

turnover; so a switch to a cheaper crude oil can have a

∗ Corresponding author. Tel.: +65-68746359; fax: +65-67791936.E-mail address: [email protected] (I.A. Karimi).

signi6cant impact on margins. However, some feedstockcan lead to processing problems and must be blended withother crudes to maintain plant reliability. Furthermore, mostre6neries have unsteady supply of crude oil. Scheduling ofcrude oil operations is thus a critical component of overallre6nery scheduling.Crude schedulers continuously watch crude oil move-

ments and the operational status of the plant and matchthem to ?uctuating demands. In most cases, under intensetime pressure and low inventory ?exibility, the schedulersrely largely on their experience, and select the 6rst feasiblesolution obtained from a spreadsheet model or other tool.However, tremendous opportunity for economic and oper-ability improvement exists, because an advanced schedulingtool can enable the scheduler to (1) optimize crude stor-age, (2) evaluate the best way to implement the monthlyplan, (3) provide guidelines to operations, (4) maintain opti-mal re6nery operation despite unexpected changes, and (5)compare actual operating results to schedules and planningtargets. Other bene6ts from better analysis of scheduling op-tions include superior capacity utilization, increased plantyields, and overall improved visibility and control acrossthe supply chain. The anticipated bene6ts from these runinto millions of dollars per year. Thus, there is a need for

0009-2509/$ - see front matter ? 2004 Elsevier Ltd. All rights reserved.doi:10.1016/j.ces.2004.01.009

Page 2: A New Continuous-time Formulation for Scheduling Crude Oil Operations

1326 P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341

systematic, computer-aided methodologies to optimize re-6nery operations.Re6nery planning problems have been studied since the

introduction of linear programming in 1950s. Symonds(1955) and Manne (1956) applied linear programming tech-niques for long-term supply and production plans for crudeoil processing and product pooling problems. The availabil-ity of LP-based commercial software for re6nery productionplanning such as re6nery and petrochemical modeling sys-tem (Bonner and Moore, 1979), process industry modelingsystem has allowed the development of general productionplans for the whole re6nery. In contrast to this state wherere6nery “planning technology can be considered as welldeveloped, fairly standard, and widely understood, the samecouldn’t be said for short-term scheduling” (Pelham andPharris, 1996).Re6nery scheduling is a complex problem requiring

simultaneous solution to crude ?ows, allocations of ves-sels to tanks, tanks to CDUs, and calculation of crudecompositions. It is characterized by discrete decisionsand various nonlinear blending relationships (Bodington,1992; Ramage, 1998; Pinto et al., 2000). Several authorshave attempted to develop models and techniques forshort-term re6nery scheduling. Shah (1996) reported adiscrete-time mixed integer linear programming (MILP)model for crude oil scheduling. In this formulation, theproblem was decomposed into an upstream subproblemconsidering oLoading and storage in portside tanks, and adownstream subproblem involving charging tanks and CDUoperation. The objective was to minimize the tank heel.Lee et al. (1996) also reported a MILP model to minimizethe operating cost arising in crude oil unloading, storageand charging. They linearized the bilinear terms resultingfrom crude blending operations. However, as identi6edby Li et al. (2002) and Reddy et al. (2004), this leads tocomposition discrepancy in crude charge to CDU. Li etal. (2002) proposed an iterative MILP–NLP combinationalgorithm to solve the composition discrepancy. They alsoattempted to reduce the number of binary decisions by dis-aggregating the tri-indexed binary variables into bi-indexedones, and incorporated new features such as multiple jettiesand two tanks feeding a CDU. However, their algorithmrequires solving an NLP at each iteration, and may failto obtain a solution, even when one exists. Furthermore,their changeover de6nition leads to double counting andtheir allocation variables impose undesirable restrictions oncharging and unloading options.Reddy et al. (2004) identi6ed and addressed the above

problems and proposed an iterative, hybrid, discrete-timeMILP model to overcome them. Additional real-world re6n-ing operational features such as single buoy mooring (SBM)pipeline, jetties, and tank-to-tank transfers were also con-sidered. The number of binary allocation variables was re-duced and 0–1 continuous variables introduced to facilitateimproved solutions to bigger problems. One attractive fea-ture of their model is that time continuity is approximated

by allowing more than one unloading allocation in any timeperiod; thus the entire time period is utilized to the maxi-mum extent, when possible and the need for smaller timeintervals is eliminated.While the above approximation provides an attractive

solution to handling time continuity in a discrete formu-lation, another family of scheduling models uses an in-herent continuous-time representation so that the need forprede6ned, identical slots is obviated. In these models, eachactivity’s start- and end-time are variables that the model so-lution determines. The continuous-time modeling is partic-ularly suited to crude oil scheduling since re6nery activitiescan range from a few minutes to several hours (Joly et al.,2002). A discrete-timemodel would necessitate a large num-ber of slots and increase the computational complexity of theproblem. Thus, the main advantages of a continuous-timerepresentation are the full utilization of time continuity andthe possibly reduced computational complexity due to fewerbinary variables.Joly et al. (2002) proposed a continuous-time formula-

tion for the re6nery scheduling problem, but their commu-nication did not provide the details of their model or ob-jective function. Jia and Ierapetritou (2003) also addressedthe short-term scheduling of re6nery operations based on acontinuous-time formulation. They divided re6nery opera-tions into three subproblems, the 6rst involving crude oiloperations, the second dealing with other re6nery processesand intermediate tanks, and the third related to 6nishedproducts and blending operations. They addressed only the6rst subproblem in which they used the component balanceof Lee et al. (1996), which su5ers from the compositiondiscrepancy mentioned earlier. They did not consider thechangeover costs arising from crude class or tank changes.Change of crudes and/or tanks is an important operationalactivity in the re6nery, which results in production lossesand slop creation. Their proposed model does not allowmany operational features such as multiple tanks feeding onecrude distillation unit (CDU), single tank feeding multipleCDUs, settling time for brine removal after crude receipt,etc. Besides, their demurrage accounting may be inaccurate,as they seem to compute demurrage for the total time that avessel spends for unloading crude.Magalhaes and Shah (2003) also proposed a conti-

nuous-time model for crude oil scheduling. While the detailsof algorithm and model were not reported, they espousedreal-world operational rules such as crude segregation, non-simultaneous receipt and delivery of crude by a tank, andsettling time for brine removal. They scheduled to achievethe target crude throughput over the scheduling horizon, butdid not consider crucial practical aspects such as demur-rage and changeover. However, they did acknowledge theimportance of these aspects in making the problem realistic.As the above discussion suggests, none of the reported

continuous-time formulations satisfactorily addresses thecomposition discrepancy in crude charge to CDU, trans-fer lines with nonnegligible volumes, and other important

Page 3: A New Continuous-time Formulation for Scheduling Crude Oil Operations

P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341 1327

features such as demurrage, changeovers, settling time, etc.In this paper, we propose a novel, continuous-time formu-lation that accommodates all these industrially importantstructural and operational features of a re6nery. We alsoemploy a realistic pro6t-based objective function that in-cludes crude netbacks, safety stock penalties, and accuratedemurrage accounting.

2. Problem description

Fig. 1 gives a schematic of the crude oil unloading, stor-ing and processing in a typical re6nery. The con6gurationinvolves crude oLoading facilities such as an SBM or sin-gle point mooring (SPM) station, storage facilities such asstorage tanks and/or charging tanks and processing facili-ties such as crude distillation units (CDUs). The operationinvolves unloading crudes into multiple storage tanks fromthe ships/tankers arriving at various times and feeding theCDUs from these tanks at various rates over time. Thus,the problem involves both scheduling as well as allocationissues.Most re6neries receive and process several crudes.

Crudes arrive in either large multi-parcel tankers or smallsingle-parcel vessels. A very large crude carrier (VLCC)has multiple compartments to carry several large parcels ofdi5erent crudes. However, due to its size, it must dock o5-shore at a station called SBM or SPM. The SBM connectsto the crude tanks in the re6nery via one SBM pipeline.This line has a signi6cant holdup capacity that cannot beignored, as the crude type present in the line may not matchthe crude type of the parcel being unloaded currently froma multi-parcel VLCC. SBMs have become quite important,because transporting large crude parcels reduces unit trans-portation costs. Usually, there is only one SBM, so VLCCscan dock only one at a time. Similarly, there is only onepipeline, so only one crude parcel can unload at any time.

SBM

T1

T2

T4

T3

T5

T6

CDU3

CDU2

CDU1

V Multi-Parcel VLCCs

I Tanks U CDUsU

Fig. 1. Schematic of oil unloading and processing.

In addition, each parcel must 6rst eject the crude alreadypresent in the SBM line.Many types of crude exist in the market, varying widely

in properties, processability and product yields. Years ofexperience have helped the re6ners classify crudes basedon some key characteristics such as processability, yieldsof some premium products, impurities or concentrationsof some key components that in?uence the downstreamprocessing. This has led to the common practice of segre-gating crudes in both storage and processing. Thus, tanksand CDUs usually store or process only speci6c classes ofcrudes.With the above brief introduction, we now state the crude

scheduling problem as addressed in this paper.

Given:

(1) arrival times of ships/VLCCs, volumes and crude typesof their parcels,

(2) con6guration details (numbers of CDUs, storage tanksand their interconnections) of the re6nery,

(3) holdup in the SBM pipeline and initial crude type,(4) limits on ?ow rates from the SBM station to tanks and

from tanks to CDUs,(5) limits on CDU processing rates,(6) storage tank capacities, their initial inventory levels

and initial volume fractions of crudes in tanks,(7) information about modes of crude segregation in stor-

age and processing,(8) information about key component concentration limits

during storage and processing,(9) economic data such as sea waiting costs, pumping

costs, crude changeover costs, etc.,(10) production demands during the scheduling horizon.

These are normally available from the monthly pro-duction plan of the re6nery.

Determine:

(i) a detailed unloading schedule for each VLCC/vessel,(ii) inventory and composition pro6les of storage tanks,(iii) detailed crude charge pro6les for CDUs.

Most re6ners use some operating rules. In this work, weassume the following:

(a) A tank receiving crude form a ship cannot feed a CDUat the same time.

(b) Each tank needs some time for brine settling and re-moval after receiving crude.

(c) Multiple tanks can feed a single CDU. Most re6nersallow at most two tanks to feed a CDU, the operat-ing complexity increases and controllability becomesa problem for more than two tanks.

(d) A tank may feed multiple CDUs. Again, a tank nor-mally does not feed more than two CDUs.

Page 4: A New Continuous-time Formulation for Scheduling Crude Oil Operations

1328 P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341

Finally, we make the following assumptions regarding there6nery operation:

(1) The re6nery uses only one SBM, so only one VLCCcan unload at any moment.

(2) The sequence in which a VLCC unloads its parcels isknown a priori.

(3) A parcel can unload to only one storage tank at anymoment. Parcel can be disconnected from SBM pipelineonly after it has fully unloaded.

(4) The SBM pipeline holds only one type of crude at anytime and crude ?ow is plug ?ow. This is valid, as parcelvolumes in a VLCC are much larger than the SBMpipeline holdup.

(5) Crude mixing is perfect in each tank and time tochangeover tanks between processing units is negligible.

(6) For simplicity, only one key component decides thequality of a crude feed to CDU.

3. MILP formulation

Time representation is a key to continuous-time formula-tion. We employ a mix of the strategies used by Karimi andMcDonald (1997) and Lamba and Karimi (2002) in thatwe use synchronized (across tanks) but variable-length timeslots within periods de6ned by known, 6xed time events.To this end, we 6rst use the 6xed time events to dividethe scheduling horizon into several periods with di5erentlengths. In this paper, we use two types of time events, butone could easily use more. These are the scheduled arrivaltimes of VLCCs and their latest expected departure times.The latest expected departure time is taken to be some hourslater than the latest time by which a VLCC must leave toavoid demurrage as stipulated in the VLCC’s logistics con-tract. It is just an estimated time by which the VLCC willsurely depart. Then, the 6rst period in our scheduling hori-zon begins at time zero and ends at the expected arrival timeof the 6rst VLCC. The second period follows immediatelyafter the 6rst, and ends at the latest expected departure timeof the 6rst VLCC. The third period follows immediately af-ter the second, and ends at the arrival time of the secondVLCC, and the remaining periods follow likewise. The lastperiod begins at the latest expected departure time of the lastVLCC and runs to the end of the scheduling horizon. We useDt (t = 1; 2; : : : ;NT; D0 = 0) to denote the start of period t.

Having de6ned the periods, we now divide each periodinto a 6xed number of variable-length slots that are synchro-nized or identical across all storage tanks. The numbers ofslots may vary from period to period, but they are the samefor all tanks. As in most slot formulations, we must guess thenumber of slots for each period. During a given slot, there isno activity change in any tank, i.e. the re6nery state remainsunchanged during the entire slot. However, an activity maycontinue over two consecutive slots on a given tank.We consider a re6nery with I tanks and U CDUs and

one SBM line. If NV VLCCs arrive during the scheduling

horizon, then we have at most 2NV+ 1 periods. We assignSt slots to period t to get NS=S1+S2+ · · ·+SNT slots in theentire scheduling horizon. We now derive constraints thatgovern di5erent aspects of the re6nery crude operations.

3.1. Parcel creation

A VLCC may carry parcels of di5erent crudes. To unloadparcels, the VLCCmust connect to the SBM line and can un-load only one parcel at a time. From the parcels on board thearriving VLCCs, we now prepare an ordered list of parcelsto unload. Before a VLCC can unload its 6rst parcel, it must6rst eject the crude in the SBM pipeline. This ejected crudewill normally not match the crude in the 6rst parcel, hencewe treat it as a distinct single-crude parcel and transfer it toa tank before the 6rst parcel of the VLCC. We call this anSBM parcel. Similarly, we cannot transfer the last parcel ofa VLCC fully, because a fraction must remain in the SBMline. We can transfer this, only when the next VLCC startsunloading. As explained above, we treat this fraction alsoas a distinct single-crude parcel; this is another SBM par-cel. In brief, unloading each VLCC results in an extra par-cel (called SBM parcel) from the VLCC’s last parcel. Thise5ectively reduces the size of the VLCC’s last parcel. Com-bining the actual parcels in the VLCCs and their resultingSBM parcels gives us an ordered list of single-crude parcelsto unload during the scheduling horizon. The 6rst parcel inthis list is an SBM parcel left from the last VLCC that visitedthe re6nery before time zero. All parcels of the 6rst VLCCto visit the re6nery in the current scheduling horizon follownext, in the order of their unloading. The 6rst VLCC’s lastparcel reduces in size and creates instead an SBM parcelthat follows next. This continues for all VLCCs. At the endof the current scheduling horizon, the SBM pipeline holdsthe SBM parcel created by the last parcel of the last VLCCto visit the re6nery in the current scheduling horizon. Ourlist of parcels for the current scheduling task excludes thisparcel. We consider an example (Fig. 2) with two VLCCsto illustrate the above parcel creation procedure.

Example. VLCC-1 has parcels of 250 kbbl Oman, 300 kbblMurban and 110 kbbl Ratawi, while VLCC-2 has 250 kbblEscravos, 250 kbbl Forcados, and 250 kbbl Arabmix. Theparcels are to unload in the stated sequences. Currently, theSBM line holds 10 kbbl Kuwait. This is di5erent fromOmanin the 6rst parcel of VLCC-1, so we treat 10 kbbl Kuwait inthe SBM line as an SBM parcel that must unload 6rst. Thus,we unload 10 kbbl Kuwait, 250 kbbl Oman and 300 kbblMurban 6rst. The Ratawi parcel of VLCC-1 follows with areduced size of 100 kbbl, creating a successor SBM parcelof 10 kbbl of Ratawi. The latter unloads, when VLCC-2ejects it. Then, the remaining parcels in the list are 250 kbblEscravos, 250 kbbl Forcados, and 240 kbbl Arabmix. Notethat the last parcel (Arabmix of VLCC-2) has a reducedsize. The remainder of the Arabmix parcel will be the 6rstparcel (SBM) for the next scheduling horizon. In summary,

Page 5: A New Continuous-time Formulation for Scheduling Crude Oil Operations

P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341 1329

)

awi kbbl)

SBMKuwait (10 kbbl)

#1

#2Murban (300 kbbl)

#3

#1

#2

#3Arabmix (250 kbbl)

V

)

Rat l

#8Arabmix ( 40 kbbl)

*

#1 (SBM)Kuwait (10 kbbl)

#2Oman (250 kbbl)

#3Murban (300 kbbl)

#4Ratawi (100 kbbl)

#5 (SBM)awi (10 kbb )

#6Escravos (250 kbbl)

#7Forcados (250 kbbl)

Arabmi (240 kbbl)

SBMArabmix (10 kbbl)

( )

r an (300 kbbl)

#3

#1

#2

#3Arabmix (250 kbbl)

V

Oman (250 kbbl)

r an (300 kbbl)

#3

r an (300 kbbl)

#3

r an (300 kbbl)

Ratawi (110 kbbl)

#1

#2

#3Arabmix (250 kbbl)

VLCC-2

VLCC-1

#1

#2

#3i b

#1Escravos (250 kbbl)

#2Forcados (250 kbbl)

#3Arabm x (250 k bl)

Fig. 2. Schematic illustration of parcel creation.

we need to use two extra SBM parcels in this example toaccount for the nonzero holdup of the SBM line.At the end of the parcel creation step, let there be NP

parcels (p=1; 2; : : : ;NP) in the ordered list. We now assignan arrival time ETAp to each parcel p as follows. ETAp fora VLCC parcel is the arrival time of its VLCC, while thatfor an SBM parcel is the arrival time of the next VLCC.Having de6ned the periods, slots and parcels, we now de-velop the constraints in our continuous-time MILP formu-lation. Unless stated otherwise, we write each constraint forall valid values of its de6ning indices. We begin with theparcel unloading operations.

3.2. Parcel-to-SBM connections

The SBM operation demands that each parcel connect tothe SBM line to unload and then disconnect after unload-ing. To model this process of connection/disconnection, wede6ne three binary variables:

XPps =

1 if parcel p is connected to the SBM line

for unloading during slot s;

0 otherwise;

XFps =

1 if parcel p 6rst connects to the SBM line

at the start of slot s;

0 otherwise;

XLps =

1 if parcel p disconnects from the SBM line

at the end of slot s;

0 otherwise:

Because each VLCC arrival coincides with the start of aperiod, we can identify the slots in which each parcel pmay connect to the SBM line. We de6ne XPps; XFps andXLps only for such slots, which we de6ne by (p; s)∈PS ={(p; s) | parcel p may connect to the SBM line in slot s}.The following constraints relate these variables:

XPps =XPp(s−1) + XFps − XLp(s−1); (p; s)∈PS ; (1a)

XPps¿XLps; (p; s)∈PS : (1b)

Assuming that each parcel connects to and disconnects fromthe SBM line once and only once, we get,∑s

XFps =∑s

XLps = 1; (p; s)∈PS : (2a,b)

Eqs. (1(a,b)) and (2(a,b)) together ensure that XFps andXLps are binary, when XPps are so. Therefore, we treat XFpsand XLps as 0–1 continuous variables. In order to unloadparcels one at a time in the given sequence, we make a parcelstart unloading only after the previous one has unloadedcompletely and has disconnected. The following constraintsensure this.∑p

XPps6 1; (p; s)∈PS ; (3)

XFps6∑s′¡s

XL(p−1)s′ ; (p; s)∈PS : (4)

3.3. SBM-to-tank connections

For a tank to receive crude from a parcel, it must connectto the SBM line, while the parcel is connected. To modelthis SBM-to-tank connection, we de6ne

XTis =

1 if tank i is connected to the SBM line

during slot s;

0 otherwise:

We allow only one tank to receive crude from an unloadingparcel at a time, so only one tank can connect to the SBMline at a time. In addition, the tank cannot connect, if theparcel is not connected. We enforce both these restrictionsby using,∑i

XTis6∑p

XPps; (p; s)∈PS ; (p; i)∈PI ; (5)

where PI = {(p; i) | tank i may receive crude from parcelp}.

3.4. Tank-to-CDU connections

To supply its crude for processing, a tank must connectto one or more CDUs. We model this connection by thefollowing binary variable:

Yius =

{1 if tank i feeds CDU u during slot s;

0 otherwise:

Page 6: A New Continuous-time Formulation for Scheduling Crude Oil Operations

1330 P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341

Operating policies may dictate that a tank may not chargemore than some (say two) CDUs simultaneously and viceversa. Thus,∑u

Yius6 2; (i; u)∈ IU ; (6a)

∑i

Yiut6 2; (i; u)∈ IU ; (6b)

where, IU = {(i; u) | tank i can feed CDU u}.

3.5. Tank activity

A tank may do one of three activities at any given time.First, it may receive crude from a parcel. Second, it mayfeed crude to one or more CDUs. Third, it may idle or settlebrine. XTis modeled the 6rst activity. For the remaining two,we de6ne

YTis =

{1 if tank i is delivering crude during slot s;

0 otherwise;

ZTis =

{1 if tank i is idle or brine-settling during slot s;

0 otherwise:

Because a tank must do exactly one of the above three ac-tivities in a given slot, we get,

XTis +YTis + ZTis = 1: (7)

A tank must be in the state of delivery in a slot s, if it isfeeding a CDU i and vice versa. In other words,

YTis¿Yius; (i; u)∈ IU ; (8a)

YTis6∑u

Yius; (i; u)∈ IU : (8b)

The above constraints make YTis binary, when Yius are so.Thus, we treat YTis as 0–1 continuous variables. As we treatXTis as binary and YTis are automatically binary, Eq. (7)forces ZTis to be binary. Thus, we treat ZTis also as 0–1continuous variables.

3.6. Activity durations

As stated earlier, we synchronize slots across all tanks,so we assign a unique slot length SLs to each slot s. Thus,if TLs denotes the time at which a slot s ends, then

TLs = TL(s−1) + SLs; TL0 = 0: (9)

Because each period consists of slots, we have∑s

SLs =DDt ; D0 = 0; (t; s)∈TS ; (10)

whereTS={(t; s) | slot s is in period t} and DDt=Dt−D(t−1)

is the length of period t.Recall that we trigger new slots, only when there is a

change in activity somewhere in the re6nery. Therefore, if

an activity occurs during a slot s, then it must span theentire slot duration. To ensure this, we de6ne the followingcontinuous variables for the durations of various activitiesduring slot s:

RLPps =XPpsSLs = time for which parcel p connects

to the SBM line; (11a)

RLTis =XTisSLs = time for which tank i connects

to the SBM line; (11b)

RLUis =YTisSLs

= time for which tank i feeds crude; (11c)

RLZis =ZTisSLs

= time for which tank i idles or settles brine; (11d)

RUius =YiusSLs

= time for which tank i feeds CDU u; (11e)

RPpis =XTisXPpsSLs

= time for which parcel p unloads into tank i: (11f)

Because Eqs. (11(a–f)) are nonlinear, we develop linearapproximations for them.First, we multiply Eq. (8) by SLs and use Eqs. (11(b–d))

to get

SLs = RLTis + RLUis + RLZis: (12)

Now, we know that RLPps; RLTis; RLUis; RLZis, RUiusand RPpis must be zero, if their respective binary variablesXPps, XTis, YTis; ZTis and Yius are zero, so we use

RLPps6DDtXPps; (t; s)∈TS ; (p; s)∈PS ; (13a)

RLTis6DDtXTis; (t; s)∈TS ; (13b)

RLUis6DDtYTis; (t; s)∈TS ; (13c)

RLZis6DDtZTis; (t; s)∈TS ; (13d)

RUius6DDtYius; (i; u)∈ IU ; (t; s)∈TS ; (13e)

∑p

RPpis6RLTis; (p; s)∈PS ; (p; i)∈PI ; (14a)

∑i

RPpis6RLPps; (p; s)∈PS ; (p; i)∈PI : (14b)

Then, we multiply Eqs. (4), (5) and (8(a,b)) by SLs to get∑p

RLPps6SLs; (p; s)∈PS ; (15)

vspace*6pt∑i

RLTis6∑p

RLPps; (p; s)∈PS ; (p; i)∈PI ; (16)

Page 7: A New Continuous-time Formulation for Scheduling Crude Oil Operations

P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341 1331

RLUis¿RUius; (i; u)∈ IU ; (17a)∑u

RUius¿RLUis; (i; u)∈ IU : (17b)

Lastly, to make RPpis and RUius equal slot length, whentheir respective activities take place, we use

RUius¿RLUis − DDt(1− Yius);

(i; u)∈ IU ; (t; s)∈TS ; (18)

RPpis¿RLTis + RLPps − SLs;

(p; s)∈PS ; (p; i)∈PI : (19)

Appendix A gives a derivation of Eqs. (14(a,b)) and (19).

3.7. Crude unloading

Having de6ned the parcel-to-SBM and SBM-to-tank con-nections, we now compute the amount of crude unloaded inslot s. Let FPTpis be the crude volume that parcel p unloadsto tank i during slot s. If we take the pumping rate FPIUpsfrom parcel p to tank i as constant, then

FPTpis = FPIUpRPpis; (p; s)∈PS ; (p; i)∈PI : (20)

To make each parcel p unload fully during the schedulinghorizon, we use∑i

∑s

FPTpis =VPp; (p; s)∈PS ; (p; i)∈PI ; (21)

where VPp denotes the size of parcel p.

3.8. Crude processing

Let FTUius denote the crude volume that tank i feeds CDUu during slot s. If FTULiu and FTUUiu are the minimum andmaximum feed rates from tank i to CDU u, then we have

FTULiuRUius6FTUius6FTUUiuRUius; (i; u)∈ IU : (22)

For individual crudes fed to CDUs, we de6ne FCTUiucs asthe amount of crude c fed by tank i to CDU u during slot s.Then, the total crude amount FTUius that tank i feeds CDUu during s is

FTUius =∑c

FCTUiucs; (i; u)∈ IU ; (i; c)∈ IC ; (23)

where IC = {(i; c) | tank i may hold crude c}. Because mul-tiple tanks may feed a CDU, the total feed FUus to CDU uduring slot s is

FUus =∑i

FTUius; (i; u)∈ IU : (24)

This must be within the processing limits of CDU u

FULuSLs6FUus6FUUu SLs; (25)

where FULu and FUUu are the lower and upper limits on theprocessing rate of CDU u.

In practice, the plant operation may know that a CDUcannot process a feed with some extreme fractions of crudes.To impose such limitations, we use

FUusxcLcu6∑i

FCTUiucs6FUusxcUcu;

(i; u)∈ IU ; (i; c)∈ IC : (26)

Similarly, the concentration of a key component may also becritical to the operation of a CDU and must be within certainallowable limits. If xkkc is the fraction of a key componentk in crude c, then we respect these limits by using

xkLkuFUus6∑i

∑c

FCTUiucsxkkc6 xkUkuFUus;

(i; u)∈ IU ; (i; c)∈ IC : (27)

3.9. Crude balance

First, to identify the crude in parcel p, we de6ne a setPC = {(p; c) | parcelp carries crude c}. Using VCTics todenote the amount of crude c in tank i at the end of slot s,we write a crude balance on tank i as

VCTics =VCTic(s−1) +∑

(p;c)∈PC ;(p; i)∈PIFPTpis

−∑

(i;u)∈IUFCTUiucs (i; c)∈ IC : (28)

With this, the total crude level in tank i at the end of slot s:

Vis =∑c

VCTics; (i; c)∈ IC : (29)

Now, this must satisfy some upper and lower limits as

VLi 6Vis6VUi ; (30)

where VLi and VUi are the lower and upper limits on thecrude volume that tank i may hold.Because of processing and operational constraints, the

re6nery may also keep crude fractions in tanks within somelimits as follows:

xtLicVis6VCTics6 xtUic Vis; (31)

where xtLic and xtUic are the allowable lower and upper limits

on the fraction of crude c in tank i.

3.10. Brine settling

A tank after it receives crude must idle for some time tosettle and remove brine. Thus, if it receives crude in slot s,then cannot deliver in slot (s+ 1), i.e.,

XTis +YTi(s+1)6 1: (32)

It is possible that the length of slot (s + 1) is insuUcientfor the required settling time ST. In that case, the tank mustcontinue to settle in slot (s + 2) as well. In general, weneed to allocate certain slots after slot s for possible settling.

Page 8: A New Continuous-time Formulation for Scheduling Crude Oil Operations

1332 P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341

Let set SSs={s′ | slot s′¿s such that a tank receiving crudein slot s may require time up to beginning of slot s′ forsettling}. Then, to ensure minimum settling time, we need

ST(YTis′ +XTis − 1)6TL(s′−1) − TLs; s′ ∈SSs: (33)

3.11. Changeovers

In real operation, it is desirable to minimize the upsetscaused by changeovers of tanks feeding to a CDU. To detectsuch changes, we de6ne a 0–1 continuous variable COus as

COus =

1 if there is a tank switch on CDU u

at the end of slot s;

0 otherwise;

COus¿Yius − Yiu(s+1); (i; u)∈ IU ; (34a)

COus¿Yiu(s+1) − Yius; (i; u)∈ IU : (34b)

3.12. Crude demand

We can specify the desired throughput of crude in severalways. One simple way is to specify it for each CDU in eachperiod as follows:∑i

∑u

∑s

FTUius = CDt; (i; u)∈ IU ; (t; s)∈TS :

(35a)

This obviously requires detailed data that may be diUcult toobtain readily. A better way is to specify a throughput overthe entire horizon for each CDU or groups of CDUs

Crude demand per CDU :∑i

∑s

FTUius =DMu;

(i; u)∈ IU : (35b)

Total crude demand in the horizon :∑i

∑u

∑s

FTUius = TCD; (i; u)∈ IU : (35c)

3.13. Demurrage

A key operating cost in crude scheduling is the demurrageor sea-waiting cost. The logistics contract with each VLCCstipulates an acceptable sea-waiting period. If the VLCCharbors beyond this stipulated period, then the demurrage (orsea-waiting cost) incurs. Let STDv be the stipulated time ofdeparture in the logistics contract of VLCC v. The demurrageincurs, if the last parcel of VLCC v remains connected tothe SBM line beyond STDv. If VLCC v arrives at the startof period t and its demurrage or sea-waiting cost is SWCvper unit time, then the demurrage incurred is

DCv¿SWCv[TLs − STDvXPps − Dt(1− XPs)];

(t; s)∈TS ; (p; v)∈PV ; (36)

where PV ={(p; v) | parcelp is the last parcel in VLCC v}.

3.14. Objective

We use total gross pro6t as the scheduling objective. Wede6ne this as the total netback from crudes minus the oper-ating cost. The former is simply the value of products minusthe purchase cost of crude. Since the product yields varywith crudes and CDUs, we de6ne CPcu as the netback ($per unit volume) for crude c processed in CDU u. Note thatthe netback does not include any operating costs.The operating costs include the changeover costs, the de-

murrage and the penalty for under-running the crude safetystock. As noted earlier, a change in the feed composition(tanks) to a CDU is called a changeover. A changeover lastsa few hours and leads to o5-spec products or slops duringthe transition. In other words, every changeover incurs somecost to the re6nery and is undesirable. Let COC be the costper changeover. The re6nery may wish to keep a minimumcrude inventory SSt at the end of period t. We call this thedesired safety stock of crude. To prevent the crude inven-tory from dropping below this level, we assign a penaltySSPt ($ per unit volume) for period t for under-runningthe crude safety stock. Based on the above discussion,we compute the operating costs and obtain the total grosspro6t as

Pro6t =∑i

∑u

∑c

∑s

FCTUiucsCPcu −∑v

DCv

−COC∑u

∑s

COus −∑t

SCt ; (37a)

SCt¿SSPt

(SSt −

∑i

Vis

); (t; s)∈LAST; (37b)

where LAST= {(t; s) | slot s is the last slot in period t}.This completes our continuous-time formulation (Eqs.

(1–37b)) for a re6nery with one SBM line. A coastal re-6nery may use a single jetty to receive small ships carryingsingle crude parcels. Since the pipeline connecting the jettyto the re6nery tank farm usually has negligible volume, wecan ignore its crude holdup. This makes the SBM parcelsdisappear from our formulation and we can use the proposedformulation as is to handle a single jetty by treating the in-dividual marine vessels as single-parcel VLCCs. An exten-sion to more complex con6gurations (e.g., combination ofSBM and multiple jetties) is in principle possible as doneby Reddy et al. (2004) for a discrete-time model and wehope to report that in future.The blending of crudes in tanks makes this crude schedul-

ing problem inherently nonlinear. The proposed linear for-mulation is thus an approximation. The linear crude balanceconstraints (Eqs. (22–27)) allow the optimizer to push ar-bitrary amounts of individual crudes to a CDU rather thanin the proportions dictated by the tank composition. Thisresults in a disproportionate delivery of crudes to CDUsas explained by Li et al. (2002) and Reddy et al. (2004).

Page 9: A New Continuous-time Formulation for Scheduling Crude Oil Operations

P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341 1333

For a discrete-time formulation, Reddy et al. (2004) pro-posed a novel iterative strategy to eliminate this problem.In the next section, we modify their strategy to suit the pro-posed continuous-time approach without solving any non-linear problem.

4. Solution algorithm

To avoid disproportionate delivery, we must use the cor-rect nonlinear constraint FCTUiucs = ficsFTUius, where ficsis the fraction of crude c in tank i at the end of slot s. We nowdevise an iterative strategy that solves a series of MILPs ofreducing size and complexity to obtain a near-optimal solu-tion with no discrepancy in the crude composition deliveredto a CDU.Observe that every tank has blocks of contiguous slots

during which its composition does not change, because it re-ceives no crude. For such a block, if we knew that constantcomposition (fic), then the nonlinear equation (FCTUiucs=ficFTUius) becomes linear. Solving an MILP with theseconstraints would yield a solution with no composition dis-crepancy. Thus, for each tank, we divide all slots into twodistinct blocks. One for which we know the tank composi-tions, and the other for which we do not. For the former,we use the exact linear constraints (FCTUiucs = ficFTUius)and for the latter, we use the linear approximations as inour formulation. Furthermore, note that a tank’s composi-tion changes, only when it receives crude from a parcelor another tank, otherwise not. During most slots, the tankwill receive nothing; hence its composition will be constant.However, we must know that composition to make the non-linear ?ow constraints linear. To this end, our knowledge ofthe initial compositions of tanks proves useful. Because weknow the initial composition in each tank, we can identifyone initial block of slots for which the composition is con-stant and known. The length of this block will vary fromtank to tank and it could be as short as just one slot forsome tanks. However, this at least provides a start for ouralgorithm. As a 6rst try, we use the exact linear constraintsfor these 6rst blocks of slots and linear approximations forthe remaining slots and solve the MILP. This gives us a so-lution that has no composition discrepancy at least for the6rst block of slots on each tank. It also gives us the com-positions in all tanks at the end of each slot in each block.We now identify the 6rst common block of slots for whichwe know the compositions in all tanks. We freeze the sched-ule until the end of that block, and repeat the entire pro-cedure for scheduling the remaining slots. In other words,we now solve another scheduling problem with a reducedhorizon. In this manner, we get progressively longer andlonger partial schedules, free of composition discrepancies,by solving a series of MILPs, until we have the completeschedule. We now describe the algorithm in full detail.At each iteration of our algorithm, we divide the NS

slots into two sets. Set 1 includes all slots with s6 s∗ for

some s∗, and set 2 the rest. The schedule (or all variablesYius; XPps; XTis; FTUius; FCTUiucs, etc. in the MILP) forslots in set 1 is (are) 6xed based on previous iterations. How-ever, the MILP variables for slots in set 2 are free. From theschedule for set 1, we know the tank compositions at theend of slot s∗. Let fic denote the fraction of crude c in tank iat s= s∗. Then, our iterative algorithm proceeds as follows:

1. Set s∗ = 0.2. From the 6xed schedule for s6 s∗, compute fic for each

tank i as fic=VCTics∗ =Vis∗ using the known information(VCTics∗ and Vis∗).

3. For each tank i, identify the latest period s∗i ¿ s∗ such thatits composition is fic for all slots s∗¡s6 s∗i . We do thisas follows. Letp′ denote the last parcel that was unloaded(to any tank) before s∗ and p′′ denote the earliest parcel(p′′¿p′) that tank i can possibly receive after s∗. Twopossibilities exist, namely that p′ has 6nished unloadingor p′ has partially unloaded.First, consider that p′ has fully unloaded, i.e. XLp′s∗ =1.If parcelp′′ does not exist, then s∗i =NS. If bothp′ andp′′

belong to the same VLCC, then s∗i =s∗+(p′′−p′). This

is because we need at least one slot to unload a parcel. Ifp′′ belongs to a di5erent vessel, then s∗i =ETUp′′ , whichis the slot in which p′′ can possibly start unloading. Next,consider that p′ has partially unloaded. Then, s∗i = s

∗ +(p′′ −p′) + 1 for an i that cannot receive crude from p′

and s∗i = s∗ + 1 for an i that can do so.

4. Add the constraint, FCTUiucs=ficFTUius, for s∗¡s6 s∗iin the MILP and solve.

5. Fix the MILP variables for s∗¡s6mini[s∗i ]. Set s∗ =

mini[s∗i ]. If s∗ = NS, then terminate, otherwise go to

Step 2.

Note that the size and complexity of the MILP in ouralgorithm reduce progressively by at least one slot at eachiteration. However, for periods in which no VLCC arrives,the size and complexity reduce by one full period. Becauseour approach 6xes MILP variables based on a solution fromlinear approximation, it cannot guarantee an optimal solu-tion. However, considering the fact that even solving the ap-proximate MILP is a challenging problem, our approach isquite attractive because it does not require solving MINLPsor NLPs and gives near-optimal schedules in reasonabletime. When the scheduling objective does not involve crudecompositions, then our algorithm guarantees an optimal ob-jective value right in the 6rst MILP, although further iter-ations are required to correct the composition discrepancy.For large and complex problems, solving even the MILP toa zero gap is compute-intensive, hence we may have to tar-get a small optimality gap for the 6rst few iterations. As it-erations proceed in our algorithm, the problem size reduces.This reduces the computation time drastically and allows usto target even smaller relative gaps in progressive iterations.For example, if a problem has NS = 30, then we can use arelative gap of 5% for the 6rst few iterations and 0% for the

Page 10: A New Continuous-time Formulation for Scheduling Crude Oil Operations

1334 P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341

rest, when the MILP becomes easier to solve. We now il-lustrate our methodology on several examples derived froma local re6nery.

5. Examples

We take a re6nery with 8 tanks (T1–T8), 3 CDUs (CDU1–CDU3) and two classes (class1 and class2) of crudes.Tanks T1, T6–T8 and CDU3 handle class1 crudes, while therest handle class2 crudes. For Examples 1–3, Table 1 givesthe tanker arrival details, crude demands and key componentconcentration limits on CDUs. Table 2 gives the initial crudelevels in tanks and tank capacity details. Table 3a gives theeconomic data and limits on crude transfer amounts. Table3b provides information about crudes, their marginal pro6tsand key component concentrations. As mentioned earlier,detailed model information and problem data for the litera-ture (Joly et al., 2002; Jia and Ierapetritou, 2003; Magalhaesand Shah, 2003) on continuous formulations are not avail-able, so we compare our approach with the discrete-timeapproach of Reddy et al. (2004). It is important to do this,because the issue of which approach (continuous-time ordiscrete-time) is better for this problem is yet to be resolvedconclusively. However, there is some diUculty in compar-ing the schedules and pro6ts from the two approaches onthe same footing because of the following reasons.

(1) In a discrete-time model, demurrage counts for mul-tiples of the uniform slot, while in a continuous-timemodel, its counting is on a per unit time basis and thusaccurate.

(2) Violation of minimum safety stock is checked and pe-nalized at every slot in a discrete-time model, while it isdone at event points (periods) only in a continuous-timemodel. This is because an inventory penalty depends ontime as well and variable-length slots would result in anonlinear formulation.

(3) A discrete-time model allows amount transferred toa tank in a period to vary between some lower andupper limits. This makes us the transfer rate ?exible.

Table 1Tanker arrival details, crude demands and key component concentration limits on CDUs

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

CDU Lower Upper

1 72 VLCC-1 15/8 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/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/8 1: [10 C2], 2: [250 C3], 3: [300 C4], 4: [190 C5] CDU1 0.10 1.30 700VLCC-2 100/104 5: [10 C5], 6: [250 C6], 7: [250 C3], 8: [240 C8] CDU2 0.10 1.25 700

CDU3 0.10 0.35 700

In a continuous-time model, however, the transfer rateis 6xed and the amount depends on the slot length. Itwould be desirable to use the maximum possible trans-fer rate to minimize demurrage, so a 6xed transfer rateis closer to real practice, but a variable one may proveprudent in some situations.

(4) Reddy et al. (2004) considered even a change in thetank-to-CDU ?ow as a changeover, when two tanks arefeeding to one CDU, as such a change alters feed com-position. A discrete model has the advantage of avoid-ing such changeovers by forcing the ?ows from respec-tive tanks to be constant in contiguous periods. In theproposed continuous model, a comparison of ?ow ratesin consecutive slots introduces a nonlinearity that forcesthe algorithm to adjust the ?ow by generating MILP atevery slot and making the problem compute intense. Infact, it is easier to adjust the ?ow rates to avoid suchchangeovers, after we get the 6nal schedule. Therefore,we avoid the ?ow matching constraints in both mod-els and use the changeover de6nition mentioned in thispaper for a fair comparison of both models.

For the three examples, we used CPLEX 7.0 solver withinGAMS on a SUN enterprise 250 server using SUN OS 5.7,Single Ultra SPARC II 400 MHz Processor and 2 GB RAM.Tables 4 and 5 give the model statistics and performancesrespectively for all examples. We see (Table 4) that thecontinuous-time formulation uses more variables and con-straints, but fewer binary variables.

5.1. Example 1

This example illustrates a case with 72 h of schedul-ing horizon (nine 8-h slots in the discrete-time model)and one VLCC with three parcels. The VLCC ar-rives at 15 h into the horizon and the stipulated timefor unloading without demurrage is 16 h in the logis-tics contract. For the continuous-time model, we allow4 h extra for unloading and hence de6ne three periodsof lengths 15, 35 and 32 h. We assign seven slots to

Page 11: A New Continuous-time Formulation for Scheduling Crude Oil Operations

P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341 1335

Table 2Storage tank capacities and initial inventory of crude stock

Tank Capacity Heel Initial inventory Initial crude composition (kbbl)(kbbl) (kbbl) (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 150 50 50 100 150 50T2 570 60 400 400 200 0 50 150 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 5–8 for all examples.

Table 3

Ex Flow rate limits (kbbl/8-h) Demurrage Change- Safe inventory penalty ($=bbl) for modelcost over loss

Parcel-to-tank Tank-to-CDU (k$=h) (k$) Discrete ContinuousMin–Max Min–Max (per slot) (per period 1, 2, 3, 4, 5)

(a) Economic data and limits on crude transfer amounts1 10–400 16–48 3.125 5 0.2 0.375, 0.5, 0.925, -,-2 10–400 20–45 6.25 25 0.2 0.2, 1.0, 0.8, -,-3 10–400 16–48 3.125 5 0.2 0.375, 0.625, 1.5, 0.625, 0.875

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

(b) Crude types, key component concentrations and marginal pro9tsC1 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 4Statistics of the continuous and discrete models for the examples

Ex Discrete model Continuous model

Single Binary Constraints Single Binary Constraintsvariables variables variables variables

1 1235 136 2323 1358 115 26682 1395 162 2601 1778 160 34713 2759 301 5041 2893 242 5510

period 1, 6ve slots to period 2 and one slot to period3. We use a target relative gap of 0% for all MILPs.Table 6 shows the operation schedule obtained from theproposed continuous-time model. The schedule has thefollowing noteworthy features.

(1) Two tanks feed a CDU in several slots, e.g. T1 and T8feed CDU3 in slots 1–9. Similarly, one tank feeds two

CDUs in several slots, as T4 feeds CDUs 1 and 2 inslots 1–9.

(2) Though the key component concentrations of feedsfrom T1 (0.00314) and T8 (0.0033) independentlymeet the feed quality requirement (max 0.004) forCDU3, the optimizer feeds a blend from T1 and T8in slots 1–9 to achieve a pro6t higher than what T1or T8 alone can achieve. Note that the netback for the

Page 12: A New Continuous-time Formulation for Scheduling Crude Oil Operations

1336 P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341

Table 5Performances of the continuous and discrete models on the examples

Iteration Discrete model (case1) Discrete model (case2) Continuous model

CPU Pro6t %Relative gap CPU Pro6t %Relative gap CPU Pro6t %Relative gaptime (s) (k$) (actual/target) time (s) (k$) (actual/target) time (s) (k$) (actual/target)

Example 1 (total CPU times 105, 49.2 and 68.4/s, respectively)1 102 1450.6 0/0 45.9 1450.0 0/0 60.9 1449.9 0/02 1.9 1449.2 0/0 3.0 1449.2 0/0 4.2 1449.1 0/03 0.4 1426.9 0/0 0.3 1409.3 0/0 2.4 1448.0 0/04 0.2 1409.3 0/0 0.8 1427.2 0/05 0.2 1409.3 0/0

Example 2 (total CPU times 17591, 556 and 815/s, respectively)1 17093 1773.5 0.5/0.5 531 1809.1 0.5/0.5 665 1828.1 0.5/0.52 491.4 1767.0 0/0 16.4 1802.5 0/0 63.6 1826.4 0/03 3.5 1758.4 0/0 7.6 1799.1 0/0 55.8 1821.6 0/04 2.5 1755.3 0/0 0.4 1786.9 0/0 25.7 1814.8 0/05 0.8 1736.7 0/0 0.2 1771.7 0/0 3.6 1813.5 0/06 0.2 1723.4 0/0 0.4 1789.5 0/07 0.3 1766.4 0/0

Example 3 (total CPU times 37909 (4663), 3389 and 3242/s, respectively)1 33469 (223) 3306.8 1.0 (1.1)/1.0 (2.0) 1663 3315.4 0.8/1.0 754 3316.2 0.68/1.02 948 3319.0 0.2/0.5 905 3323.4 0.38/0.5 789 3326.7 0.15/0.53 3164 3312.6 0.35/0.5 815 3299.3 0.21/0.5 373 3316.0 0.48/0.54 319 3294.0 0.25/0.5 4.2 3283.3 0.48/0.5 735 3324.7 0.05/0.55 4.8 3285.1 0.14/0.5 1.0 3255.3 0.25/0.5 577 3304.4 0.18/0.56 2.8 3265.6 0.48/0.5 4.6 3290.7 0.3/0.57 1.1 3229.3 0.39/0.5 5.2 3292.1 0.01/0.58 3.8 3257.0 0.28/0.59 0.8 3252.9 0.15/0.5

Case1 allows two parcel transfers per slot, while case2 allows three. Statistics in () indicate the performance, if the 1st MILP is solved with a relativegap of 2%.

crude in T1 is 1.586, that for T8 is 1.566 and that forthe blend feed is 1:581 k$ per kbbl. Thus, T1 has ahigher netback than the blend, but it has only 290 kbblof crude supply. Exclusive use of T1 would require achangeover costing 5 k$ during the horizon, becausethe asking rate for crude throughput is 300 kbbl. Theoptimizer makes up the shortfall of 10 kbbl by us-ing some crude from T8 and avoids the changeover toachieve an increase in pro6t of 3:85 k$. This aptly illus-trates (a) the trade-o5 between netback and changeoverand (b) the judicious use of available resources to min-imize changeovers.

In this example, suUcient ullage for crude receipt and ad-equate supply for crude are available. Thus, no changeovertakes place and other features of our model such as thebrine-settling time, though inherently taken care of, are ab-sent in the schedule, as tanks that receive crude never de-liver.To compare our continuous model with the discrete

model of Reddy et al. (2004), we obtain two solutions usingthe latter. In case1, we allow two parcel-to-tank transfersin one slot, while three in case2. Table 6 also gives theschedule from the discrete model for case2. Apart from the

timing di5erences that arise due to the di5erent arrival times(Table 1) in the two models, the schedules from thecontinuous and discrete models are essentially the same.As expected, case1 assigns 24 h for crude unloading,while case2 assigns 16 h. Thus, in terms of time uti-lization, case2 produces a schedule closer to the onefrom the continuous model. All schedules have thesame pro6t, because the receiving tanks are not re-quired to feed CDUs. However, the discrete modelfor case2 seems 28% faster than the continuous model(Table 7). Note (Table 5) that case1 solves signi6cantlyslower than case2. In addition, the continuous model needs6ve iterations as compared to three for case2. However,this does not a5ect the pro6t, because the tanks whosecompositions change do not feed CDUs.

5.2. Example 2

In this example, we use a horizon of 80 h (10 8-h slotsin the discrete model) and one VLCC with three parcels.In this example, we consider a situation where the ullage issparsely distributed among the tanks, parcel sizes are biggerand key component concentration limits on feeds to CDUs

Page 13: A New Continuous-time Formulation for Scheduling Crude Oil Operations

P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341 1337

Table 6Operation schedules for example 1 obtained from the continuous and discrete (case2) models

Tank Amounts [to CDU no.] (from vessel no) in kbbl for slots with end-timescontinuous model

15 h 15:2 h 20:2 h 26:2 h 30 h 35 h 72 h —

T1 −30[3] −0.4[3] −10[3] −12[3] −15.2[3] −10[3] −78.4[3] —T3 +190(4) —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]T6 +10(1) +250(2) —T7 +300(3) —T8 −30[3] −0.4[3] −10[3] −12[3] −7.6[3] −10[3] −74[3] —

Discrete model (case2)8 h 16 h 24 h 32; 40 h 48 h 56 h 64 h 72 h

T1 −16[3] −16[3] −16[3] −16[3] −16[3] −16[3] −16[3] −28[3]T3 +190(4)T4 −16[1] −16[1] −16[1] −48[1] −44[1] −16[1] −48[1] −48[1]

−16[2] −16[2] −16[2] −48[2] −44[2] −16[2] −48[2] −48[2]T6 +10(1)

+250(2)+140(3)

T7 +160(3)T8 −16[3] −16[3] −16[3] −16[3] −16[3] −16[3] −16[3] −16[3]

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

Table 7Operation schedules for example 2 obtained from the continuous and discrete (case2) models

Tank Amounts [to CDU no.] (from vessel no) in kbbl for slots with end-timescontinuous model

8 h 8:2 h 11:6 h 18:2 h 26:2 h 28:2 h 37 h 48 h 80 h

T1 +10(1) +170(2) −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.0[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.0[2] −17.6[2] −39.9[2] −101.1[2]T5 +440(4)T6 +330(2) −7.25[3] −17.6[3] −22[3] −64[3]T7 +400(3)T8 −20[3] −0.5[3] −8.5[3] −23.3[3] −45[3] +100(3)

Discrete model (case2)8 h 16 h 24 h 32 h 40 h 48 h 56 h 64 h 72; 80 h

T1 +220(3)T2 +10(4)T4 −20[1] −20[1] −20[1] −45[1] −45[1] −45[1] −45[1] −45[1] −45[1]

−20[2] −20[2] −20[2] −45[2] −45[2] −45[2] −45[2] −45[2] −45[2]T5 +50(4) +380(4)T6 +10(1) −45[3] −45[3] −45[3] −45[3] −45[3] −45[3]

+320(2)T7 +180(2)

+220(3)T8 −20[3] −20[3] −45[3] +60[3]

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

are tighter. The VLCC arrives at 8 h and the plant has 32 hto unload its parcels without incurring demurrage. We allow8 h more for unloading in our continuous model and use

three periods of lengths 8, 40 and 32 h. We assign one slotto period 1, seven to period 2 and one to period 3. We targeta relative gap of 0.5% for the 6rst MILP and 0% for all

Page 14: A New Continuous-time Formulation for Scheduling Crude Oil Operations

1338 P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341

others. Table 7 shows the operation schedule generated bythe continuous model with the following salient features:

(1) The model ensures the required time for brine set-tling/removal between crude receipt and delivery. Forinstance, T1 receives crude from the SBM parcel andthe 6rst parcel of the VLCC during slots 2 and 3 andthen idles for brine removal during slots 4 and 5. Slots4 and 5 have a combined length of 14:6 h, which ex-ceeds the required settling time of 8 h. Similarly, T6,after receiving crude from parcel 2 in slot 4, allows 8 hof settling in slot 5 before feeding CDU3.

(2) Although T2 with a key component concentration of0.0108 can alone feed CDU2 (max 0.012), the optimizerfeeds a blend of T2 and T4. This is because T4 has ahigher margin, but T4 with a key component concen-tration of 0.01257 alone cannot meet the feed qualityrequirement of 0.012. By using a blend, the optimizeralso avoids a changeover.

(3) The schedule also exhibits other features mentionedearlier in Example 1 such as single tank (T4) feedingmultiple CDUs (1 and 2), and two tanks (T1 and T6)feeding one CDU (CDU3).

We again compare the continuous-time solution with twosolutions from the discrete model. As before, case1 allowstwo parcel-to-tank transfers in one slot, while case2 allowsthree. Table 7 describes the schedule for case2. Again, case2schedule is closer to the continuous-time schedule, but itgives a greater pro6t (1771.7 vs. 1766.4 in Table 5). Case1uses 6ve slots for unloading, while case2 uses only four.Case2 also solves 31.8% faster than the continuous model.Reasons for the latter’s faster performance are multiple par-cel transfers in a single slot. They help reduce the MILPiterations. By allowing three transfers per slot, the case2model has longer constant composition zones that allow theoptimizer to select better blends and minimize changeovers.On the other hand, the continuous model uses shorter blocksof constant composition, which limits the blend adjustmentsand can increase changeovers. However, longer horizonsmean more binary variables in the discrete model, mak-ing the problems more diUcult, while the continuous modelshould require fewer slots. That should make the continuousmodel faster for the bigger problems, as the slots are of vari-able lengths. To demonstrate this, we use the next example.

5.3. Example 3

We use 160 h of horizon (20 8-h slots in the discretemodel) and two VLCCs with three parcels each. VLCC-1 ar-rives at 15 h and VLCC-2 at 100 h. The stipulated berthingtime for both VLCCs is 20 h. Allowing 5 h extra for un-loading, we de6ne 6ve periods with lengths 15, 25, 60, 25and 35 h. We assign one, 6ve, two, 6ve and two slots to pe-riods 1–5, respectively. We use a target relative gap of 1%for the 6rst MILP and 0.5% for the rest. Table 8 shows the

operation schedule from the continuous model. Note that:

(1) Though we used 15 slots, the optimizer needed only 14.Slot 8 in period 3 proved extra and its length is zero.Slots 7 and 8 have identical activities on tanks.

(2) A tank may receive over several slots. For instance, T2receives crude from parcels 5–7 during slots 9–11. Itthen settles and removes brine during slots 12 and 13,before feeding CDU2 in slot 14.

(3) The schedule also supports other features illustrated inthe previous examples.

We use the same two cases for the discrete model as inthe previous examples. Table 8 also presents the schedulefor case2. Case2 gives a slightly higher pro6t than the con-tinuous model, but as expected, the latter is slightly fasterthan the former.From Table 5, we see that the solution times decrease

drastically for the discrete models after the 6rst iteration forall three examples. However, the same is not true for thecontinuous model. In addition, the solution time decreases,as we allow more parcels to transfer in a slot in the discretemodel. Another point to note is the huge di5erence in thesolution times for the 6rst iterations between the discreteand continuous models.

6. Conclusion

Despite being the Holy Grail, continuous-time formula-tions are far behind their discrete counterparts in solvingthe complex problem of scheduling short-term crude op-erations in an oil re6nery. In fact, none of the reportedcontinuous-time formulations has succeeded in addressingthe problem satisfactorily. This paper presents the 6rst com-plete, continuous-time MILP model for a re6nery with anSBM pipeline. Our novel model uses fewer binary vari-ables than the existing ones and our solution algorithmeliminates composition discrepancy. In addition to account-ing for real practices such as multiple tanks feeding oneCDU, one tank feeding multiple CDUs, unloading via SBMpipeline, brine settling, etc., the proposed algorithm givesnear-optimal schedules without solving a single NLP orMINLP as illustrated through three industrial problems. Adirect head-to-head comparison between the two compet-ing formulations reveals that the proposed continuous-timeapproach should outdo the discrete-time one for problemswith longer horizons. Although the latter currently appearsto be better for smaller and more complex problems, we ex-pect that, with future improvements, the superiority of theformer would be clearly established. Further work is alsoneeded to solve the challenges of composition discrepancy,longer scheduling horizons, and more complex operationalaspects, all with full optimality in reasonable time. To thisend, we believe that this work is a signi6cant step in theright direction.

Page 15: A New Continuous-time Formulation for Scheduling Crude Oil Operations

P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341 1339

Table 8Operation schedules for example 3 obtained from the continuous and discrete (case2) models

Tank 15 h 15:2 h 20:2 h 26:2 h 30 h 40 h 100 h 100:2 h 105:2 h 110:2 h 115 h 125 h 154:8 h 160 h

Amounts [to CDU no.] (from vessel no) in kbbl for slots with end-times for the continuous modelT1 −30[3] −0.4[3] −10[3] −12[3] −7.6[3] −20[3] +240(8)T2 −30[2] −0.4[2] −10[2] −12[2] −7.6[2] −20[2] −200.4[2] +10(5) +250(6) +250(7) −59.6[2]T3 +190(4) −0.4[2] −10[2] −20[2] −9.6[2] −20[2]T4 −30[1] −0.4[1] −10[1] −12[1] −7.6[1] −20[1] −260.8[1] −0.4[1] −30[1] −30[1] −28.8[1] −60[1] −178.8[1] −31.2[1]

−119.2[2] −20.8[2]T5 −30[2] −0.4[2] −10[2] −12[2] −7.6[2] −0.4[2] −20[2] −10[2] −19.2[2] −40[2] −10.4[2]T6 +10(1) +300(3) −162.5[3] −0.57[3]T7 +250(2) −178.3[3] −0.62[3]T8 −10[3] −10[3] −9.6[3] −60[3] −178[3] −10.4[3]

Amounts [to CDU no.] (from vessel no) in kbbl for slots with end-times for the discrete (case2) model8 h 16 h 24 h 32; 40 h 48 h 56 h 64; 72 h 80; 88 h 96 h 104 h 112 h 120 h 128 h 136 h 144–160 h

T1 −16[3] −16[3] −16[3] −16[3] −16[3] −29.7[3] −32[3] −32[3]T2 −16[2] −16[2] −16[2] −16[2] −16[2] −16[2] −16[2] −16[2] −16[2] −16[2] −16[2] −16[2] −16[2] −32[2] −16[2]T3 −16[2] −16[2] −16[2] −16[2] −16[2] −16[2] −16[2] −16[2] −16[2] −16[2] +160(7)T4 −16[1] −16[1] −16[1] −48[1] −48[1] −44[1] −16[1] −16[1] −48[1] −48[1] −16[1] −48[1] −48[1] −48[1] −48[1]

−16[2] −16[2] −16[2] −28[2]T5 +190(4) +10(5) −16[2]

+250(6)+90(7)

T6 +10(1) +140(3) −32[3] −16[3] −16[3] −16[3]+250(2)+90(3)

T7 +70(3) +240(8)T8 −16[3] −16[3] −16[3] −48[3] −46.3[3] −16[3] −16[3] −16[3] −32[3] −16[3] −16[3]

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

Notation

Subscripts

c crude typesi storage tanksp;p′; p′′ parcelss; s′ slotst time periodsu crude distillation units (CDUs)v vessels

Superscripts

L lower limitU upper limit

Sets

IC set of pairs (tank i, crude type c) such that ican hold c

IU set of pairs (tank i, CDU u) such that i canfeed CDU u

PC set of pairs (parcel p, crude type c) such thatp has crude c

PI set of pairs (parcel p, tank i) such that i mayreceive crude from p

PS set of pairs (parcel p, slot s) such that p canconnect to SBM line during s

PV set of pairs (parcel p, vessel v) such that pis the last parcel of v

SS set of pairs (slots s and s′ with s′¿s) suchthat a tank receiving crude in s may settlebrine up to the beginning of s′

TS set of pairs (period t, slot s) such that slot sis in period t

Parameters

CDut crude demand for CDU u in period tCOC cost (k$) per changeoverCPcu marginal pro6t ($/unit volume) from crude c

in CDU uDt start time of period tDDt =Dt − D(t−1) or length of period tDMu total crude demand for CDU u in the schedul-

ing horizonETAp expected time of arrival of parcel pETUp earliest possible unloading period for

parcel p

Page 16: A New Continuous-time Formulation for Scheduling Crude Oil Operations

1340 P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341

FPTUpi limit on the rate of crude transfer from parcelp to tank i

FTUL=Uiu limits on the rate of crude charge from tanki to CDU u

FUL=Uu limits on the crude processing rate of CDU uNP total number of parcels to unload during the

horizonNS total number of slots in the scheduling hori-

zonSSt desired safety stock (kbbl) of crude inventory

for period tSSPt safety stock penalty ($/unit volume below de-

sired safety stock) for period tST minimum time for crude settling and brine

removalSTDv stipulated time of departure as mentioned in

the logistics contract of VLCC vSWCv demurrage or sea waiting cost ($/unit time)TCD total crude demand in the scheduling horizonVL=Ui allowable limits on crude inventory in tank iVPp size (m3 or bbl) of parcel pxcL=Ucu limits on the composition of crude type c in

feed to CDU uxkL=Uku limits on the concentration of key component

k in feed to CDU uxtL=Uic limits on the composition of crude type c in

tank i

Binary variables

XPps 1 if parcel p is connected to the SBM duringslot s

XTis 1 if tank i is connected to the SBM duringslot s

Yius 1 if tank i feeds CDU u during slot s

0–1 continuous variables

COus 1 if CDU u has a changeover at the end ofslot s

XFps 1 if parcel p 6rst connects to the SBM duringslot s

XLps 1 if parcel p disconnects from the SBM atthe end of slot s

YTis 1 if tank i is delivering crude during slot sZTis 1 if tank i is idle or settling during slot s

Continuous variables

DCv demurrage for vessel vfics concentration (volume fraction) of c in i at

the end of sFCTUiucs amount of c delivered by i to u during sFPTpis amount of crude transferred from p to i

during s

FTUius amount of crude that i feeds to u during sFUus total amount of crude feed to u during sRLPps time for which p connects to the SBM during

sRLTis time for which i connects to the SBM during

sRLUis time for which i feeds crude during sRLZis time for which i is idle or settles brine during

sRPpis time for which p unloads crude into i during

sRUius time for which i feeds u during sSCt safety stock penalty for period tSLs length of slot sTLs end-time of slot sVis crude level in i at the end of sVCTics amount of c in i at the end of s

Acknowledgements

The authors are grateful for the 6nancial support fromA*STAR under the SRP grant 0221050030.

Appendix A

De6ne a 0–1 continuous variable Xpis as

Xpis =

1 if tank i is receiving crude from parcel

p during slots s;

0 otherwise:

Since a tank i can receive crude from parcel p, only if boththe tank and the parcel are connected to the SBM line (i.e.,XTis = 1 and XPps = 1). In other words, Xpis =XPpsXTis.A linear approximation for this is given by∑p

Xpis6XTis; (p; s)∈PS ; (p; i)∈PI ;

∑i

Xpis6XPps; (p; s)∈PS ; (p; i)∈PI ;

Xpis¿XPps +XTis − 1; (p; s)∈PS ; (p; i)∈PI :The 6rst equation states that a tank cannot receive crude fromany parcel, if it is not connected to the SBM line. Similarly,the second equation states that no tank can receive crudefrom a parcel, if that parcel is not connected to the SBMline. The third equation states that crude can transfer if bothparcel and tank are connected to the SBM line. Multiplyingthe above three equations by SLs, we get Eqs. (14(a,b)) and(19). By using Eqs. (14(a,b)) and (19), we have avoided thevariable Xpis and associated constraints. Note that most ofthe available literature (Lee et al., 1996; Jia and Ierapetritou,2003) uses even this variable as a tri-index binary.

Page 17: A New Continuous-time Formulation for Scheduling Crude Oil Operations

P.C.P. Reddy et al. / Chemical Engineering Science 59 (2004) 1325–1341 1341

References

Bodington, C.E., 1992. Inventory management in blending optimization:use of nonlinear optimization for gasoline blends planning andscheduling. ORSA/TIMS National Meeting, San Francisco, CA.

Bonner and Moore, 1979. RPMS (Re6nery and Petrochemical ModelingSystems): a System Description. Bonner & Moore ManagementScience, Houston, NY.

Jia, Z., Ierapetritou, M.G., 2003. EUcient short-term scheduling ofre6nery operation based on continuous time formulation. FOCAPO, pp.327–330.

Joly, M., Moro, L.F.L., Pinto, J.M., 2002. Planning and schedulingfor petroleum re6neries using mathematical programming. BrazilianJournal of Chemical Engineering 19 (2), 207–228.

Karimi, I.A., McDonald, C.M., 1997. Planning and scheduling of parallelsemicontinuous processes—2: Short-term scheduling. Industrial andEngineering Chemistry Research 36 (7), 2701–2714.

Lamba, N., Karimi, I.A., 2002. Scheduling parallel production lines withresource constraints—1: model formulation. Industrial and EngineeringChemistry Research 41 (4), 779–789.

Lee, H., Pinto, J.M., Grossmann, I.E., Park, S., 1996. Mixed-Integerprogramming model for re6nery short term scheduling of crude oilunloading with inventory management. Industrial and EngineeringChemistry Research 35, 1630–1641.

Li, W., Hui, C.W., Hua, B., Zhongxuan, T., 2002. Scheduling crudeoil unloading, storage, and processing. Industrial and EngineeringChemistry Research 41, 6723–6734.

Magalhaes, M.V., Shah, N., 2003. Crude oil scheduling. FOCAPO, pp.323–326.

Manne, A.S., 1956. Scheduling of Petroleum Operations. HarvardUniversity Press, Cambridge, MA.

Pelham, R., Pharris, C., 1996. Re6nery operations and control: a futurevision. Hydrocarbon Processing 75 (7), 89–94.

Pinto, J., Joly, M., Moro, L., 2000. Planning and scheduling modelsfor re6nery operations. Computers & Chemical Engineering 24,2259–2276.

Ramage, M.P., 1998. The petroleum industry of the 21st century.FOCAPO, Snowmass, CO.

Reddy, P.C.P., Karimi, I.A., Srinivasan, R., 2004. A novel solutionapproach for optimizing crude oil operations. A.I.Ch.E. Journal, inpress.

Shah, N., 1996. Mathematical programming techniques for crudeoil scheduling. Computers & Chemical Engineering 20 (S),S1227–1232.

Symonds, G.H., 1955. Linear Programming: The Solution of Re6neryProblems. Esso Standard Oil Company, New York.