13
Hierarchical Approach for Short-Term Scheduling in Refineries Chunpeng Luo and Gang Rong* National Laboratory of Industrial Control Technology, Institute of AdVanced Process Control, Zhejiang UniVersity, Hangzhou 310027, China This paper focuses on a hierarchical approach with two decision levels for short-term scheduling problems in refineries. The optimization model at the upper level and the heuristics and rules adopted in simulation system at the lower level are presented. The iteration procedure between the upper and the lower levels is also introduced. The optimization model is used to decide sequencing and timing of the operation modes of processing units and pipelines and to determine the quantities of materials consumed/produced by each operation mode of a unit. Only aggregate tanks are used at the upper level, and the simulation system at the lower level uses a heuristic to adjust the operation modes of some multipurpose tanks within aggregate tanks. The iteration procedure between the upper level and the lower level can be used, if needed, to find optimal solution under updated aggregate storage capacities. The simulation system also uses some heuristics and rules to arrange actual tanks to receive/send materials with logic operation constraints (operation rules) on tanks respected. The main purpose of our approach is to reduce the binary variables and the size of the optimization model caused by the representation of multipurpose tanks and operation rules and, at the same time, to determine the detailed material movements with operation constraints respected. Case studies illustrated the efficiency of the proposed approach. 1. Introduction In order to compete successfully in international markets and with global competition, oil refineries are increasingly concerned with improving the planning and scheduling of their operations to achieve better economic performance. Decisions are normally made with the help of mathematic programming technologies such as linear programming (LP), mixed integer linear program- ming (MILP), and nonlinear programming (NLP). In general, mathematical programming is suited and currently used for long- term production planning, and the availability of LP-based commercial software for refinery production planning, such as RPMS (Refinery and Petrochemical Modeling System) and PIMS (Process Industry Modeling System), has allowed the development of general production plans of the whole refinery. 1 However, the short-term scheduling problem is still one of the most challenging problems in operational research due to the complexity of the scheduling operations and the corresponding process models. Many scheduling models for refineries have been proposed from different viewpoints in the literature. Jia and Ierapetritou 2 developed a comprehensive mathematical programming model based on a continuous time formulation for the scheduling of oil-refinery operations and decomposed the overall problems into three domains: the crude-oil unloading and blending, the production unit operations, and the product blending and delivery. Reddy and Karimi 3 presented the first complete continuous-time (MILP) formulation for the short- term scheduling of crude-oil unloading operations. Go ¨the- Lundgren and Lundgren 4 formulated a mixed integer linear programming model for the scheduling problem with inventory capacities and modes of operation considered and discuss a number of modifications and extensions of the model. Glismann and Gruhn 5 also developed an integrated approach to coordinate short-term scheduling of multiproduct blending facilities with nonlinear recipe optimization. Up to now, little literature has dealt with the scheduling problems of the whole refinery. The model will be very complicated and difficult to build and solve if all decisions in different levels of the scheduling of an entire refinery are simultaneously considered. The large number of continuous and binary variables, as well as nonlinear constraints involved in the scheduling model, may make MILP/MINLP fail to come up with a feasible production schedule at the right time. Especially the operation rules, such as specifying a minimum amount of time to allow the separation of the brine of crude oils, that just one tank receives the same kind of material at the same time, and that a tank cannot receive and send material at the same time, will lead to a large number of 0-1 variables that would make the model solution unattainable within a reasonable time. Moreover when a model is described with discrete time, the time slot duration must be short enough to honor all the operation rules and the binary variables during the whole scheduling horizon will increase dramatically. Pinto and Joly 1 had to define a time slot duration of 15 min for crude- oil scheduling problems, which generated a discrete time mixed integer optimization model with 21 504 binary variables in a 3-4 days horizon. They pointed out that the solution of such a problem is far beyond the capabilities of the current optimization technology. The continuous-time modeling is particularly suit- able for scheduling problems with activities ranging from a few minutes to several hours. Because of the possibility of eliminat- ing a major fraction of the inactive event-time interval, the resulting mathematical programming problems are usually of much smaller sizes and require less computational efforts for their solution. 6-8 However, due to the variable nature of the timings of the events, it becomes more challenging to model the scheduling processes and the continuous-time approach may lead to mathematical models with more complicated structures compared with their discrete-time counterparts. 9 Some other authors have resorted to intelligent simulation systems to deal with scheduling problems. Paolucci 10 used a simulation-based DSS to improve the effectiveness of the decisions on allocating crude-oil supply to port and refinery tanks. Chryssolouris and Papakostas 11 used an integrated simulation-based approach to evaluate the performance of short- * To whom correspondence should be addressed. Tel.: +86-571- 87952248. E-mail: [email protected]. 3656 Ind. Eng. Chem. Res. 2007, 46, 3656-3668 10.1021/ie061354n CCC: $37.00 © 2007 American Chemical Society Published on Web 04/07/2007

Hierarchical Approach for Short-Term Scheduling in Refineries

  • Upload
    gang

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hierarchical Approach for Short-Term Scheduling in Refineries

Hierarchical Approach for Short-Term Scheduling in Refineries

Chunpeng Luo and Gang Rong*

National Laboratory of Industrial Control Technology, Institute of AdVanced Process Control,Zhejiang UniVersity, Hangzhou 310027, China

This paper focuses on a hierarchical approach with two decision levels for short-term scheduling problemsin refineries. The optimization model at the upper level and the heuristics and rules adopted in simulationsystem at the lower level are presented. The iteration procedure between the upper and the lower levels isalso introduced. The optimization model is used to decide sequencing and timing of the operation modes ofprocessing units and pipelines and to determine the quantities of materials consumed/produced by each operationmode of a unit. Only aggregate tanks are used at the upper level, and the simulation system at the lower leveluses a heuristic to adjust the operation modes of some multipurpose tanks within aggregate tanks. The iterationprocedure between the upper level and the lower level can be used, if needed, to find optimal solution underupdated aggregate storage capacities. The simulation system also uses some heuristics and rules to arrangeactual tanks to receive/send materials with logic operation constraints (operation rules) on tanks respected.The main purpose of our approach is to reduce the binary variables and the size of the optimization modelcaused by the representation of multipurpose tanks and operation rules and, at the same time, to determinethe detailed material movements with operation constraints respected. Case studies illustrated the efficiencyof the proposed approach.

1. Introduction

In order to compete successfully in international markets andwith global competition, oil refineries are increasingly concernedwith improving the planning and scheduling of their operationsto achieve better economic performance. Decisions are normallymade with the help of mathematic programming technologiessuch as linear programming (LP), mixed integer linear program-ming (MILP), and nonlinear programming (NLP). In general,mathematical programming is suited and currently used for long-term production planning, and the availability of LP-basedcommercial software for refinery production planning, such asRPMS (Refinery and Petrochemical Modeling System) andPIMS (Process Industry Modeling System), has allowed thedevelopment of general production plans of the whole refinery.1

However, the short-term scheduling problem is still one of themost challenging problems in operational research due to thecomplexity of the scheduling operations and the correspondingprocess models. Many scheduling models for refineries havebeen proposed from different viewpoints in the literature. Jiaand Ierapetritou2 developed a comprehensive mathematicalprogramming model based on a continuous time formulationfor the scheduling of oil-refinery operations and decomposedthe overall problems into three domains: the crude-oil unloadingand blending, the production unit operations, and the productblending and delivery. Reddy and Karimi3 presented the firstcomplete continuous-time (MILP) formulation for the short-term scheduling of crude-oil unloading operations. Go¨the-Lundgren and Lundgren4 formulated a mixed integer linearprogramming model for the scheduling problem with inventorycapacities and modes of operation considered and discuss anumber of modifications and extensions of the model. Glismannand Gruhn5 also developed an integrated approach to coordinateshort-term scheduling of multiproduct blending facilities withnonlinear recipe optimization. Up to now, little literature hasdealt with the scheduling problems of the whole refinery. The

model will be very complicated and difficult to build and solveif all decisions in different levels of the scheduling of an entirerefinery are simultaneously considered. The large number ofcontinuous and binary variables, as well as nonlinear constraintsinvolved in the scheduling model, may make MILP/MINLP failto come up with a feasible production schedule at the right time.Especially the operation rules, such as specifying a minimumamount of time to allow the separation of the brine of crudeoils, that just one tank receives the same kind of material at thesame time, and that a tank cannot receive and send material atthe same time, will lead to a large number of 0-1 variablesthat would make the model solution unattainable within areasonable time. Moreover when a model is described withdiscrete time, the time slot duration must be short enough tohonor all the operation rules and the binary variables duringthe whole scheduling horizon will increase dramatically. Pintoand Joly1 had to define a time slot duration of 15 min for crude-oil scheduling problems, which generated a discrete time mixedinteger optimization model with 21 504 binary variables in a3-4 days horizon. They pointed out that the solution of such aproblem is far beyond the capabilities of the current optimizationtechnology. The continuous-time modeling is particularly suit-able for scheduling problems with activities ranging from a fewminutes to several hours. Because of the possibility of eliminat-ing a major fraction of the inactive event-time interval, theresulting mathematical programming problems are usually ofmuch smaller sizes and require less computational efforts fortheir solution.6-8 However, due to the variable nature of thetimings of the events, it becomes more challenging to modelthe scheduling processes and the continuous-time approach maylead to mathematical models with more complicated structurescompared with their discrete-time counterparts.9

Some other authors have resorted to intelligent simulationsystems to deal with scheduling problems. Paolucci10 used asimulation-based DSS to improve the effectiveness of thedecisions on allocating crude-oil supply to port and refinerytanks. Chryssolouris and Papakostas11 used an integratedsimulation-based approach to evaluate the performance of short-

* To whom correspondence should be addressed. Tel.:+86-571-87952248. E-mail: [email protected].

3656 Ind. Eng. Chem. Res.2007,46, 3656-3668

10.1021/ie061354n CCC: $37.00 © 2007 American Chemical SocietyPublished on Web 04/07/2007

Page 2: Hierarchical Approach for Short-Term Scheduling in Refineries

term scheduling with tank farm, inventory, and distillationmanagement. The use of a simulation model to provide decisionsupport can allow the application of the public domain ofheuristic knowledge, support what-if analysis, and be able toevaluate the performance of alternative solutions. Simulationsystems can also have the ability to quickly react to stochasticdisturbances in production by discrete event simulation. Butsimulation systems rely on the independent variables specifiedby users, e.g., flows into and out of a unit over time. Thesimulator can then calculate the dependent variables such as atank’s holdup and quality at each time interval. The values ofthose independent variables are mainly depended on scheduler’sexperience and cannot ensure optimal schedules.

Mathematical programming approaches and simulation ap-proaches all have their own advantages to deal with schedulingproblems. In this study, we propose a scheduling system thatuses a hierarchical approach with two decision levels. The upperlevel is a mathematical programming model based on discretetime and the lower level is an intelligent simulation system.The upper level considers the operations related to processingunits and pipelines and decides sequencing and timing of theoperation modes of these units. The upper level also determinesquantities of materials consumed and produced by each opera-tion mode of a unit. The mathematical model does not take thedetailed material movements from/to individual tanks intoaccount and only considers aggregate storage capacity for eachmaterial. The time slot is 24 h, and many detailed operationrules are ignored in this model. These all will reduce binaryvariables and the size of the mathematical model. The simulationsystem automatically controls the detailed material movementsaccording to heuristics and operation rules. Although the upperlevel is based on discrete-time formulation, we adopt somemethods to extend the model and allow an activity of a unit tooccur at any time point of a period. In refineries, there aremultipurpose tanks that can store several materials but can onlystore one at a time. This will undoubtedly increase the numberof binary variables to represent the different material storagemodes of these tanks in the optimization model. We adopt someslack variables to soften the constraints on the limitation of themaximum storage capacities of aggregate tanks in the math-ematical model, and aggregate storage capacities are adjustedby changing the operation modes of multipurpose tanks withinaggregate tanks according to a heuristic in the simulation system.A multipurpose tank can be adjusted to store another type ofmaterial when it is changed to another operation mode, and thestorage capacities of the corresponding aggregate tanks will bechanged. When the storage capacities of aggregate tanks arechanged, it is necessary to recalculate the optimization modelto find a new optimal solution. So, there is an iterative linkbetween the upper lever and the lower lever in our approach.

Scheduling includes both creating a predictive schedule andadapting an existing schedule when unforeseen events occur.12

The optimization model at the upper level can generate anoptimal predictive schedule. And, the “what-if?” analysis of thesimulation system at the lower level can enable schedulers tomanipulate the schedule and see quickly the impact of changesand to provide anticipation of events by modeling the entireproduction processes. Plant managers may use it to review dailyplant schedules.

In this paper, the architecture of the scheduling approach andthe termination conditions of our overall algorithm are firstdescribed in section 2. In section 3, the optimization model atthe upper level of the proposed algorithm is introduced. Theheuristics and rules that are used in the simulation system at

the lower level are introduced in section 4. Finally, two casestudies are presented in section 5.

2. Architecture of the Scheduling Approach

The upper level is a mathematical programming model basedon discrete time formulation. The purpose of this mathematicalprogramming model is to determine when, how long, and howmuch an operation (operation mode) is active and, also, todetermine how many materials (raw materials, intermediatematerials, and final products) are produced and consumed bythe operations. In this model, only the operation modes ofprocessing units, blenders, and pipelines are considered. Thedetails of material movements between all units (including tanks)will be determined at the lower level with operation constraintsrespected.

The optimization model at the upper level can be regardedas a capacitated lot-sizing problem involving material balanceconstraints, material supply and demand constraints, sequenceconstraints, capacity constraints, and quality specifications. Onlyan aggregate tank for each material is considered in this model;but, the maximum storage capacities of aggregate tanks can beviolated, and the extra capacity requirements are punished bypenalties. In our approach, the lower level is an intelligentsimulation system. The variables that are calculated at the upperlevel are taken as inputs in the simulation system. Thesevariables include the start time and the end time of the operationmodes of each unit, the quantity of each material consumed/produced by every operation mode of a unit, and the extrastorage capacity requirements. An important role that the lowerlevel plays is trying to eliminate the extra capacity requirementsby adjusting the operation modes of the multipurpose tankswithin some aggregate tanks that have redundant capacities. Aheuristic is used to adjust the operation modes of these tanks inorder to avoid a large number of 0-1 variables in mathematicmodel.

When the simulation system adjusts the operation modes ofsome multipurpose tanks, the storage capacities of the corre-sponding aggregate tanks will be changed. The optimizationmodel will be recalculated to find the optimal solution accordingto the updated storage capacities. So, there may be, if necessary,an iterative link between the upper lever and the lower level.After the termination of the iteration procedure, if an optimalsolution is found, the simulation system will use heuristics andknowledge to determine the detailed material movementsbetween all actual units with operation constraints respected.

The upper bounds of the storage capacities of aggregate tanksare enlarged in the optimization model, because the storagecapacities can be violated in this model. If the enlarged storagecapacities cannot ensure a feasible solution in the optimizationmodel, the scheduling problem will not find a feasible solutionand the iteration procedure will terminate.

If an optimal solution, without extra capacity requirements,is found in the optimization model, the solution will be a feasiblesolution to the scheduling problem, but it may not be the optimalsolution to the scheduling problem. When there is no storagecapacity reaching its upper bound in this solution, this indicatesthat all the current storage capacities are enough to ensureoptimal solution and the current solution will be considered asthe optimal solution to the scheduling problem; the iterationprocedure will then terminate. When there are some storagecapacities reaching their upper bound, this indicates that thesestorage capacities may be bottlenecks to the production pro-cesses. Although current storage capacities are not violated inthe optimization model, this may be achieved by violating other

Ind. Eng. Chem. Res., Vol. 46, No. 11, 20073657

Page 3: Hierarchical Approach for Short-Term Scheduling in Refineries

constraints, which are punished with smaller penalties in theobjective function. So, it is possible to find better solutions byadjusting storage capacities. If the simulation system at the lowerlevel cannot find redundant storage capacities to eliminate thesebottlenecks or the value of the objective function is not betterwhen storage capacities are changed, the iteration procedurewill terminate and the current solution is considered as theoptimal solution to the scheduling problem.

If a solution, with maximum storage capacities of someaggregate tanks violated, is found in the optimization model,the extra capacity requirements must be eliminated by adjustingstorage capacities to ensure that the solution is feasible to thescheduling problem. However if the simulation system at thelower level cannot find redundant storage capacities, themaximum storage capacity constraints at the upper level mustbe changed to hard constraints that cannot be violated. Theoptimal solution, found by the optimization model with hardconstraints, will also be optimal to the scheduling problem, andthe iteration procedure terminates. If the optimization modelwith hard constraints cannot find a feasible solution, thescheduling problem will have no feasible solution and theiteration procedure terminates. When the simulation system findsredundant storage capacities that can be utilized, the upper levelwill be recalculated according to the updated storage capacitiesand the iteration procedure continues.

It is believed that the number of iterations will be acceptablebecause of the limit of the number of multipurpose tanks.

The iteration procedure of our scheduling approach is showedin Figure 1.

3. Optimization Model at the Upper Level

The optimization model is a MILP model based on discretetime. The scheduling horizon is 5-10 days with each periodbeing 24 h. The decision variableyu,m,t represents whether unitu operates in modem during periodt. The operation modes ofblenders determine final products, and the operation modes ofpipelines determine materials being transferred from/to a plant.The operations modes of other processing units determine the

materials consumed and produced. The purpose of this modelis to determine the start time and end time of each operationand the quantity of materials consumed/produced by eachoperation of a unit. The objective is to minimize productioncosts and some kind of penalties with capacity constraints ofunits and material storages respected and, at the same time, toensure that material supply, products demands, and productquality specifications are satisfied. The simplified flow sheetof a refinery is illustrated in Figure 2. The figure consists of aset of rectangles/triangles that represent the units/tanks in theplant and “connections” which represent the flow paths betweenthe equipment. The small squares connected to the equipmentby short lines are the “ports” where flow enters or leaves theequipment. The pentagons represent the “perimeter” units(equivalent to pipelines) through which materials enter/leavethe plant. The ports of perimeters are not shown in the figurefor simplification. Supply orders or demand orders can bedefined on the perimeters.

The optimization model is described as follows.Mass balance at each port:

Equality 1 relates the volumetric flow of inflow ports withevery flow that enters that port. Equality 2 relates the volumetricflow of each outflow ports with every flow that leaves thatport. Qs′,u′,m′,s,u,m,t represents the flow leaving ports′ of unit u′in operation modem′ and entering ports of unit u in operationmodem during periodt. Qs,u,m,trepresents the flow of ports ofunit u in operation modem during periodt.

Capacity constraint for each unit (tanks excluded):

The charge size of each unit in operation modemduring periodt is the sum of the volumetric flow of each inflow port of thatunit, as showed in equality 3. Constraint 4 specifies that theminimum and maximum volumetric capacity must be satisfiedif unit u operates in modem during periodt. If unit u does notoperate in modem during periodt (yu,m,t ) 0), the charge sizeof the unit in modem during periodt will be zero. Constraint5 specifies that these units can at most be in one operation modeduring periodt and may be idle during periodt.

Variety of the charge size of each unit (tanks excluded):

In refineries, schedulers are concerned about the fluctuation of

Figure 1. Iteration procedure of our scheduling approach.

Qs,u,m,t ) ∑(s′,u′,m′)∈CONMs,u,m

Qs′,u′,m′,s,u,m,t

∀ u ∈ U, ∀ t ∈ TP,∀ s∈ ISu, ∀ m∈ Mu (1)

Qs,u,m,t ) ∑(s′,u′,m′)∈CONMs,u,m

Qs,u,m,s′,u′,m′,t

∀ u ∈ U, ∀ t ∈ TP,∀ s∈ OSu, ∀ m∈ Mu (2)

QFu,m,t ) ∑s∈ISu

Qs,u,m,t ∀ u ∈ NTU, ∀ t ∈ TP,∀ m∈ Mu (3)

yu,m,tQFulow e QFu,m,t e yu,m,tQFu

up

∀ u ∈ NTU, ∀ m∈ Mu, ∀ t ∈ TP (4)

∑m∈Mu

yu,m,t e 1 ∀ u ∈ NTU, ∀ t ∈ TP (5)

TQFu,t ) ∑m∈Mu

QFu,m,t ∀ u ∈ NTU, ∀ t ∈ TP (6)

TQFu,t - TQFu,t-1 e ∆TQFu,t ∀ u ∈ NTU, ∀ t ∈ TP (7)

TQFu,t-1 - TQFu,t e ∆TQFu,t ∀ u ∈ NTU, ∀ t ∈ TP (8)

3658 Ind. Eng. Chem. Res., Vol. 46, No. 11, 2007

Page 4: Hierarchical Approach for Short-Term Scheduling in Refineries

the charge size of each unit. Equality 6 calculates the chargesize of unitu during periodt. ∆TQFu,t is the difference of thecharge size between two adjacent periods. Constraints 7 and 8are used to avoid the negative value of∆TQFu,t because theobjective function is to minimize the value of∆TQFu,t. Thevalue of ∆TQFu,t can become either (TQFu,t - TQFu,t-1) or(TQFu,t-1 - TQFu,t) depending on which is positive.

Volume of each outflow port in one operation mode of aunit (tanks excluded):

Yield expressions in our approach are based on a standard value,YIEDs,u.m, which is determined over average values obtainedfrom plant data. In different modes of a processing unit, thematerials produced have different yields.

Material balance equation for each tank:

The inventory in each tank at the end of periodt is equal to theinventory at the end of periodt - 1 plus the amount of theflows entering the unit during periodt minus the amount offlows leaving the unit during periodt. The tanks used in thismodel are aggregate tanks. Each aggregate tank has only oneoperation mode, one inflow port, and one outflow port. Thestorage capacity of each aggregate tank can change by adjustingthe operation mode of the multipurpose tanks included in them.

Storage capacity constraint:

Softened product storage capacity constraint:

Constraint 11 specifies that the minimum and maximum capacityof each aggregate tank must be satisfied if there are no otherstorage capacities that can be adjusted to extend the currentstorage capacity. Otherwise, the maximum storage capacity canbe violated as showed by constraint 12.

Material movements control:

Sometimes the materials from one port of a unit can move tosome different destinations, but they can only go to one placeat a time and the different movements may have differentpriorities. In order to satisfy this kind of requirement and ensurethat the higher priority movement is always first selected,different penalties are imposed on different movements in theobjective function (the sixth term in the objective function) andthe higher priority movement has the smaller penalty. But, whensome destinations (tanks in particular) are close to the minimumor maximum capacity, the changeover between different move-ments may be very frequent. So in the objective function, theterm ∑t∑s′,u′ (∑s,u∈CONs′,u′ TFs′,u′,s,u,tPENLFs′,u′,s,u) is used tominimize all the movements during the whole schedulinghorizon. Binary variable TFs′,u′,s,u,t represents whether or not amovement from ports′ of unit u′ to ports of unit u is selectedduring periodt. Constraint 13 ensures that the volumetric flowwill be zero when the corresponding movement is not selected.

Product property constraints:

These constraints are used to blenders only. The properties of

Figure 2. Simplified flow sheet of a refinery.

Qs′,u,m,t ) QFu,m,tYIEDs′,u,m

∀ s′ ∈ OSu, ∀ u ∈ NTU, ∀ m∈ Mu, ∀ t ∈ TP (9)

INVu,m,t ) INVu,m,t-1 + Qs,u,m,t - Qs′,u,m,t

∀ u ∈ TK, ∀ s∈ ISu, ∀ s′ ∈ OSu, ∀ t ∈ TP (10)

INVulow e INVu,m,t e INVu

up ∀ u ∈ TA, ∀ t ∈ TP (11)

INVu,m,t e INVuup + INVu,m,t

+ ∀ u ∈ VTA, ∀ t ∈ TP (12)

Qs′u′,m′,s,u,m,t W TFs′,u′,s,u,tFLOWUPs′,u′,s,u

∀ (s′,u′,s,u) ∈ CONN,∀ t ∈ TP (13)

PROs′′,u,m,p,t ) ∑s∈ISu

∑(s′,u′,m′)∈CONMs,u,m

QFRs′,u′,m′,s,u,m,tPROs′,u′,m′,p

∀ s′′∈ OSu, ∀ u ∈ BLEN, ∀ m∈ Mu, ∀ t ∈ TP,∀ p ∈ P(14)

Qs′,u′,m′,s,u,m,t ) QFu,m,tQFRs′,u′,m′,s,u,m,t

∀ s′′ ∈ OSu, ∀ u ∈ BLEN, ∀ m∈ Mu, ∀ t ∈ TP,∀ p ∈ P(15)

PROs′′,u,m,p,tlow e PROs′′,u,m,p,t e PROs′′,u,m,p,t

up

∀ s′′ ∈ OSu, ∀ u ∈ BLEN, ∀ m∈ Mu, ∀ t ∈ TP,∀ p ∈ P(16)

PROs′′,u,m,p,tlow QFu,m,t e ∑

s∈ISu

∑(s′,u′,m′)∈CONMs,u,m

Qs′,u′,m′,s,u,m,tPROs′,u′,m′,p e PROs′′,u,m,p,tup QFu,m,t

∀ s′′ ∈ OSu, ∀ u ∈ BLEN, ∀ m∈ Mu, ∀ t ∈ TP,∀ p ∈ P(17)

Ind. Eng. Chem. Res., Vol. 46, No. 11, 20073659

Page 5: Hierarchical Approach for Short-Term Scheduling in Refineries

the product leaving the outflow port (each blender only has oneoutflow port) can be directly predicted by using a volumetricaverage as shown in eq 14. QFRs′,u′,m′,s,u,m,t is the volume fractionof flow Qs′,u′,m′,s,u,m,t in the flows that enter blenderu duringperiodt. The volume fraction variable QFRs′,u′,m′,s,u,m,t is linkedto the volumetric flow variableQs′,u′,m′,s,u,m,t and the charge sizevariable QFu,m,t through equality 15. Constraint 16 specifies thatpropertyp of the flow leaving the outflow port must satisfy theminimum and maximum specifications. Constraint 16 makesthe model bilinear, and in order to preserve the linearity of themodel, constraint 16 can be expressed in an alternative way bymultiplying it by QFu,m,t. Then, constraints 14-16 can bereplaced by constraint 17. For simplification, in this paper, weassume that the properties of the flows entering the blendersare constant. Generally speaking, one operation mode definedon a blender represents one grade of product produced in thismode or one kind of recipe for the product. The blending indexfor each of the different nonlinear qualities is used to converteach of the nonlinear qualities to a linear index that may beblended linearly by volume.

Product supply and demand constraint:

The orders defined on the perimeter units specify the minimumand maximum quantities of demands/supplies and the timehorizon of demands/supplies. Constraints 18 and 19 ensure thatthe sum of the volumetric flows entering/leaving perimeteruduring the time horizon satisfy the minimum and maximumdemands/supplies. An inflow perimeter has only one outflowport that supplies materials to the plant, and an outflow perimeterhas only one inflow port that receives products from the plant.The different operation modes defined on perimeters representthe different grades of products or different raw materialstransferred in these modes. Constraint 18 is for outflowperimeter, and constraint 19 is for inflow perimeter.

Changeover between operation modes:

Whenever there is a change of the operation mode fromm tom′, constraint 20 forces the corresponding variable SMMu,m,m′,tto take the value of 1. And whenever there is a change of theoperation mode, constraint 21 forces the corresponding variableSMu,m,t to be 1. The change of operation mode is punished withpenalties in the objective function to avoid the frequentfluctuation of production. When the penalties depend on thesequence of two different modes changed between, constraint20 is used. Otherwise, constraint 21 is used. The positivepenalties for SMMu,m,m′,t and SMu,m,t will always force them totake the value 0 when there is no changeover of operation modesand to take the value 1 when these are changes. So, the integerrequirement on these two variables can be relaxed, and theybecome 0-1 continuous variables.

Target for the charge size of the processing units:

Targeted values of the inventory in the storages:

In order to improve the performance of the plant or ensure thecompletion of the monthly production plan, schedulers inrefineries may want to control the charge size of some importantprocessing units during the scheduling horizon and control theinventory at the end of the scheduling horizon. Constraints 22and 23 are used to ensure that these targets are achieved aspossible, and the deviations from these targets are punished withpenalties in the objective function.

Objective function:

The main objective of the scheduling problem is to minimizethe cost of products and all kind of penalties. The first term inthe objective function is used to reduce the product cost. Inthis paper, we only consider the cost of the products producedby the blenders that are the sum of the costs of all the flowsentering into the blenders. The second and third terms in theobjective function use penalties to avoid frequent changeoverof operation modes. The fourth term uses penalties to minimizethe fluctuation of the charge size of each unit. The fifth andsixth terms are used to ensure that higher priority movement isalways first selected and the number of all movements isminimum. The seventh term is used to force the variableINVu,m,t

+ to be zero when the current storage capacities aresufficient. The eighth term uses penalties to minimize thedeviations of the charge size of processing units from targets,and the deviations of the inventories at the end of the schedulinghorizon from targets are minimized by the ninth term. The tenthterm is used to minimize the total inventory levels.

This model is based on discrete time with a time period of24 h, and this means that each operation mode can only start atthe beginning of a period and end at the end of a period. Inorder to extend the model and allow the start and end of eachoperation mode at any point in a period, we use the methods

DDu,m,t1,t2low e ∑

t1etet2

Qs,u,m,t e DDu,m,t1,t2up

∀ s∈ ISu, ∀ u ∈ PERI,∀ m∈ Mu (18)

DDu,m.t1,t2low e ∑

t1etet2

Qs,u,m,t e DDu,m.t1,t2up

∀ s∈ OSu, ∀ u ∈ PERI,∀ m∈ Mu (19)

yu,m,t-1 + yu,m′,t e SMMu,m,m′,t + 1

∀ u ∈ NTU, ∀ (m, m′) ∈ Mu, ∀ t ∈ TP,m * m′ (20)

yu,m,t - yu,m,t-1 e SMu,m,t ∀ u ∈ NTU, ∀ m∈ Mu, ∀ t ∈ TP(21)

∑t

TQFu,t ) TGQFu + TGQFu+ - TGQFu

-

∀ u ∈ NTU, ∀ m∈ Mu (22)

INVu,m,t ) TGINVu + TGINVu+ - TGINVu

-

∀ u ∈ TK, ∀ t ∈ ETP (23)

min ∑s′∈ISu′

∑u′∈U

∑m′∈Mu′

∑(s, u, m)∈CONMs′,u′,m′

∑t

CQs,u,mQs,u,m,s′,u′,m′,t +

∑u

∑m∈NTU

∑m′∈Mu

∑t

PLSMMu,m,m′SMMu,m,m′,t +

∑u

∑m∈NTU

∑t

PLSMu,mSMu,m,t + ∑u∈NTU

∑t

PLTu∆TQFu,t +

∑t

∑s′,u′

( ∑s,u∈CONs′,u′

TFs′,u′,s,u,tPENLFs′,u′,s,u) +

∑s′∈OSu′

∑u′∈U

∑m′∈Mu′

∑(s,u,m)∈CONMs′,u′,m′

∑t

PLQs,u,m,s′,u′,m′Qs,u,m,s′,u′,m′,t +

∑u∈VTA

∑t

PLIu+INVu,m,t

+ + ∑u∈NTU

PLTGQu(TGQFu+ +

TGQFu-) + ∑

u∈ΤΚ

PLTGINu(TGINVu+ +

TGINVu-) + ∑

t∑

u∈ΤΚ

CINVuINVu,m,t

3660 Ind. Eng. Chem. Res., Vol. 46, No. 11, 2007

Page 6: Hierarchical Approach for Short-Term Scheduling in Refineries

mentioned by Go¨the-Lundgren.4 The termyu,m,t-1+ means that

operation modem of unit u is extended from periodt - 1 to t,andyu,m,t

- represents the delay of the start of an operation modem of unit u. In refineries, when a unit is changed to anotheroperation mode, the unit usually needs time to stabilize underthe new operation conditions. The quality of the products willtherefore fluctuate for some time after a changeover. Thepolicies of how to deal with these products are depended onthe sequence of the operation modes changed between. Forexample, when a unit is changed from 0# diesel mode to-10#diesel mode, the diesel produced can only move to tanks thatstore 0# diesel before the-10# diesel mode is stabilized. Whenthe unit is changed form-10# diesel mode to 0# diesel mode,the diesel produced can first move to tanks that store-10#diesel for some time and then move to tanks that store 0# dieselimmediately after the quality of the products produced cannotsatisfy the specification of-10# diesel. So, we adopt anothervariabletu,m,t to represent the time that operation modem cancontinue to stay stable during periodt when the operation modechanges fromm to another. The value of this variable dependson the value of variable SMMu,m,m′,t and parametertu,m,m′. Here,tu,m,m′ represents the time that operation modem can continueto stay stable when the operation mode changes fromm to m′.Then, we modify constraint 4 to the following constraints:

Equality 25 calculates the time of operation modem that cancontinue to stay stable during periodt when there is a changeof operation mode fromm to another in that period. The unitof tu,m,m′ is hour, and the time period in our model is 1 day (24h). So, tu,m,m′ is divided by 24 in equality 25. Constraint 26specifies that operation modem can be extended to the nextperiod only if there is a change of operation mode fromm toanother mode in the next period. Constraint 27 ensures thatoperation modem can be delayed only if this mode is startedduring periodt. Constraint 28 ensures that the extended timeequals the delayed time.

4. Simulation System at the Lower Level

At the lower level, the simulation system serves fiveobjectives: (1) to try to adjust the operation modes ofmultipurpose tanks within some aggregate tanks to changestorage capacities of other aggregate tanks, (2) to construct aschedule including detailed material movements between units(process units, pipelines, and actual tanks), (3) to evaluate the

performance of alternative schedules obtained by the experienceof schedulers, (4) to generate detailed scheduling orders toworkshops, and (5) to evaluate the effects on production whenproduction fluctuation and unpredicted events occur.

4.1. Adjustment of the Operation Modes of Some ActualTanks. If a solution, with the maximum storage capacities ofsome aggregate tanks violated, is found in the optimizationmodel (there is nonzero INVu,m,t

+ in the solution), the first thingthis simulation system will do is to try to eliminate these extracapacity requirements. The value of arg maxt∈TP INVu,m,t

+

represents the degree to which the current maximum storagecapacity of aggregate tanku cannot satisfy the demands ofproduction. The reason we use this variable at the upper levelis that its value can be eliminated by some polices. The policywe take is a heuristic trying to adjust the operation modes ofsome multipurpose tanks within other aggregate tanks that thestorage capacities are redundant.

In the simulation system, the heuristic sequences aggregatetanks in descending order on the values of arg maxt∈TP

INVu,m,t+ . The heuristic first selects aggregate tanku that has

the maximum value of arg maxt∈TP INVu,m,t+ and tries to adjust

the operation modes of the multipurpose tanks within otheraggregate tanks to eliminate the extra storage capacity require-ment of this aggregate tank. Ift is the first period that themaximum storage capacity of aggregate tanku is violated,multipurpose tanku′′ that can be used to extend the maximumcapacity ofu must satisfy the following requirements:

In order to ensure enough time for multipurpose tanku′′ to becleaned for another use during periodt, tanku′′ should at leastbe idle during periodt - 1. Whether tanku′′ can be idle duringperiod t - 1 is judged by the following formulations.

whereu′ is the aggregate tank thatu′′ belongs to. Formulation29 specifies that the remaining storage capacity of aggregatetank u′ must be sufficient for the inventory at the beginningand end of periodt - 1 if tank u′′ is idle in t - 1. INVu′,t′

up is themaximum storage capacity of aggregate tanku′ during periodt - 1. INVu′′

up is the maximum storage capacity of multipurposetank u′′. Formulation 30 specifies that the flows leavingaggregate tanku′ before periodt - 1 must ensure that the initialinventory in tanku′′ can be completely drawn. INIINVu′′ is theinitial inventory in multipurpose tanku′′. If the maximumstorage capacity of aggregateu is violated in the first period,the multipurpose tank that can be used foru must be empty atthe beginning of the scheduling horizon.

Formulation 31 specifies that the remaining storage capacityof aggregate tanku′ from periodt to the end of the scheduling

(yu,m,t + yu,m,t-1+ + tu,m,t - yu,m,t

- )QFulow e QFu,m,t e (yu,m,t +

yu,m,t-1+ + tu,m,t

- yu,m,t- )QFu

up

∀ u ∈ NTU, ∀ m∈ Mu, ∀ t ∈ TP (24)

tu,m,t ) ∑m′∈Mu

SMMu,m,m′,ttu,m,m′/24

∀ u ∈ NTU, ∀ m∈ Mu, ∀ t ∈ TP (25)

yu,m,t-1+ e ∑

m′∈Mu

SMMu,m,m′,t ∀ u ∈ Uu, ∀ m∈ Mu, ∀ t ∈ TP

(26)

yu,m,t- e ∑

m′∈Mu

SMMu,m′,m,t ∀ u ∈ NTU, ∀ m∈ Mu, ∀ t ∈ TP

(27)

∑m∈Mu

(yu,m,t-1+ + tu,m,t) ) ∑

m∈Mu

yu,m,t- ∀ u ∈ NTU, ∀ t ∈ TP

(28)

(1) It must at least be idle during periodt - 1.

INVu′′up e INVu′,t′

up - INVu′,m′,t′∀ u′′ ∈ u, t′ ) t - 2, andt′ ) t - 1 (29)

INIINV u′′ - ∑t<t-1

Qs′,u′,m′,t e INVu′′low

∀ u′′ ∈ u′, ∀ u′ ∈ VTK, ∀ s′ ∈ OSu, ∀ t ∈ TP,∀ m∈ Mu

(30)

(2) The remaining storage capacity of aggregate tanku′ must be sufficient.

INVu′′up e INVu′,t′

up - INVu′,m′,t′ ∀ u′′ ∈ u, ∀ t′ > t - 1 (31)

Ind. Eng. Chem. Res., Vol. 46, No. 11, 20073661

Page 7: Hierarchical Approach for Short-Term Scheduling in Refineries

horizon must still be sufficient afteru′′ is removed fromu′during periodt.

Among the tanks that can be selected for aggregate tanku,if there are some tanks whose maximum storage capacityexceeds arg maxt∈TP INVu,m,t

+ , the tank with the smallestmaximum storage capacity is selected. If there are no tanks withmaximum capacity bigger than arg maxt∈TP INVu,m,t

+ , the tankwith the biggest maximum storage capacity is first selected, andthen, the tank with the biggest maximum storage capacity amongthe remaining tanks is selected until the sum of the maximumcapacities selected is more than arg maxt∈TP INVu,m,t

+ . If thesum of the capacities of all the candidate tanks is less than argmaxt∈TP INVu,m,t

+ , this means that arg maxt∈TP INVu,m,t+ cannot

be fully eliminated and all the candidate tanks must be selectedto change their operation modes. Once tanku′′ within aggregatetank u′ is selected to extend the maximum storage capacity ofaggregate tanku, the heuristic will modify the values of INVu

up

and INVu′up according to the storage capacity ofu′′. If a tank in

u′′ within aggregate tanku′ is adjusted for another use duringperiodt, the maximum storage capacity ofu′′ will be removedfrom u′ from periodt to the end of the scheduling horizon. Ifthere are no tanks that can be used to extend the storage capacityaggregate tanku, the heuristic will try to deal with the nextaggregate tank with smaller arg maxt∈TP INVu,m,t

+ .When the adjustment for aggregate tanku finishes, the

heuristic will select the next aggregate tank with smaller argmaxt∈TP INVu,m,t

+ to deal with until all the aggregate tanks withnonzero values of INVu′,m,t

+ are dealt with. At last, all theadjusted maximum storage capacities will feed back to the upperlevel. The storage capacity constraints on the aggregate tanks,whose maximum storage capacities cannot be extended anymore, will be changed to hard constraints as constraint 11. Then,the optimization model will be recalculated in order to find theoptimal solution according to the new conditions. The pseudocodefor this heuristic is showed in Appendix A.

4.2. Determination of the Material Movements.When theiteration procedure finishes and an optimal solution is found,the simulation system will determine the detailed materialmovements between units about when, where, and how muchthe materials move. General speaking, the material movementsfrom/to tanks can be well controlled by some heuristics. Theseheuristics reflect the experience of schedulers and the actualoperations adopted by refineries. We found four policies to selecttanks in refineries. The objectives of these four policies are thefollowing:

Five simple heuristics are used in our system for theseobjectives. The second and third heuristics are based on thework of Paolucci:10

Multipurpose Tank to Be Adjusted for Another Use First(MUL_OBJ_FRS) aims at emptying the multipurpose tankbefore its operation mode is adjusted:

Maximum Available Capacity First (MAX_CAP_FRS) aimsat using the minimum number of tanks to stock a material:

Minimum Available Capacity First (MIN_CAP_FRS) givespriority to maximize the quantity of materials in each tank thatis not completely filled, i.e., it aims at reducing the ‘‘fragmenta-tion” of the free capacity of the storage system:

Maximum Available Volume First (MAX_VOL_FRS) aimsat using the minimum number of tanks to feed units:

Minimum Volume First (MIN_VOL_FRS) gives priority tominimize the quantity of materials in each tank that is notcompletely drawn, i.e., it aims at minimizing the quantity ofmaterials in each tank:

These five heuristics determine the next tank to be selectedwhen the present tank is full or empty. The multipurpose tanksthat will be adjusted for another use are always first selected tosupply materials, so as to ensure that the inventory in these tanksare completely drawn before their operation modes are adjusted.

The heuristics mainly determine that the next tank may beused to receive or supply materials. When a tank is selected bythe heuristics to execute the current task, the simulation systemwill check if the new operation on this tank can satisfy the logicconstraints (operation rules) on it. For example, according tothe heuristic MAX_CAP_FRS, a tank with minimal inventoryis the next tank to receive materials, but this tank has drawnmaterials out of it at that time and this tank has a logic constraintthat it cannot be filled and drawn at the same time. Then, thesimulation system has to select another tank to receive materialsaccording the same heuristic. The operation rules in refineriescan be represented asif (condition) wait (time) then (action)rules. These rules reflect the relationship between two adjacentoperations of a unit and decide the start time of the next statesand operations according to the current states and operations.Based on these rules, the simulation system can control thedetailed start time and end time of each material movement.For example, thefill-draw-delayconstraint can be stated as thefollowing: IF (Tank1.state) FillEnd) WAIT (1 h) THEN(Tank.state) DrawBegin). This rule shows that the unit Tank1can only supply materials 1 h later after the end of receivingmaterials.

In order to determine the detailed start and end time point ofan operation of an actual tank, the simulation system also needto know the flow rate of the materials entering into or leavingthe aggregate tank that the actual tank belongs to. Because weallow that the operation of a unit can start and end at any timepoint in each period, this will result in unequal flow rates ofeach material in a period. So in the simulation system, we dividea period into several small time slots and make sure that theflow rate of a material is constant during a time slot. Thesetime slots depend on the time points of the change of operationmodes of each unit. For each aggregate tank, the simulationsystem first sequences the time point on the ascending valuesof yu,m,t + yu,m,t-1

+ + tu,m,t - yu,m,t- in each period, whereu is the

unit that sends or receives material to/from this aggregate tank.

NEXSELt ) arg max[CAPu - INVu,t]∀ u ∈ u′, ∀ u′ ∈ TK

NEXSELt ) arg min[CAPu - INVu,t] ∀ u ∈ u′, ∀ u′ ∈ TK

NEXSELt ) arg max[INVu,t] ∀ u ∈ u′, ∀ u′ ∈ TK

NEXSELt ) arg min[INVu,t] ∀ u ∈ u′, ∀ u′ ∈ TK

(1) Minimizing the number of tanks used to stock a material

(2) Maximizing the quantity of materials in each tankthat is not completely filled

(3) Minimizing the number of tanks used to feedprocessing units

(4) Minimizing the quantity of materials in each tankthat is not completely emptied

NEXSELt ) multipurpose tanku ∀ u∈ u′, ∀ u′ ∈ TK

3662 Ind. Eng. Chem. Res., Vol. 46, No. 11, 2007

Page 8: Hierarchical Approach for Short-Term Scheduling in Refineries

Then, several time slots are obtained according to each of twoadjacent time points.

The simulation system calculates the flow rate of each flowfrom and to every aggregate tank in each period according tothe following two formulations:

whereFs,u,m,s′,u′,m′,t and FOs′,u′,m′,s,u,m,tare the flow rate of eachflow entering and leaving aggregate tanku′, respectively. Thetotal flow rates in each slot are the sum of all the flow rates ofthe flows entering/leaving the aggregate tank in this slot. Then,the simulation system will calculate the start time and end timeof the operations on each actual tank according to the heuristics,as well as the total flow rates. The simulation calculated sixtime points: the start time of filling a tanku-fill-start, the endtime of filling of a tank u-fill-end, the start time of drawingfrom a tanku-draw-start,the end time of drawing from a tanku-draw-end,the start time of the fullness of a tanku-full, andthe start time of the emptying of a tanku-empty. The pseudocodefor this procedure is showed in Appendix B. These time pointsare important for the simulation system to control the logicoperations according to the heuristics and rules. And, these timepoints are also important to determine the detailed start timeand end times of each material that moves from/to a tank. Letus take the data in Figure 3 for example. Materials from twodifferent units moves to tanks that are storing materials. Unitunit1 produces materials from time t2 to t5, and unit unit2produces materials from timet3 to t6. Tank1 and tank2 receivematerials from t1 to t4 and t4 to t7, respectively. Then, wewill be clear that materials from unit1 moves to tank1 fromtime t2 to t4 and moves to tank2 from timet4 to t5. Also, itcan be concluded that materials from unit2 moves to tank1from time t3 to t4 and to tank2 fromt4 to t6.

When the timing of material movements, the timing ofoperation modes of units, and the quantity of each flow aredetermined by this simulation system, then detailed schedulingorders can be generated to instruct the operations of operatorsat workshops.

This system can also be used to evaluate the effects onproduction when production fluctuation and unpredicted eventsoccur. The user can view the simulation results by modifyingthe unit states, material inventories, and supply and demandinformation according to actual production situations. When

infeasible information is found by this system, then the usercan adjust unit operation modes and material movement pathsaccording to his experience or resort to the optimization modelat the upper level to find the optimal solution under the updatedproduction situations.

5. Case Studies

5.1. Case 1.Case 1 is studied based on the flow sheet shownin Figure 2. The flow sheet is composed of an atmosphericdistillation column (CDU1), an atmospheric distillation columncombined with a vacuum distillation column (CDU2), threefluidized catalytic cracking units (FCC1, FCC2, and FCC3), adelaying coke unit (CKU), a hydrotreatment unit (HT), areforming unit (RAU), two blenders (BLEN1 and BLEN2),twelve aggregate tanks, three inflow perimeters, and fouroutflow perimeters. Atmospheric distillation fractionates crudeoil into the following hydrocarbon streams naphtha (NA),kerosene (KER), light diesel (LD), and atmospheric residue(AR). The vacuum distillation column fractionates the ARstream into two streams: vacuum gas oil (VGO) and vacuumresidue (VR). The FCC unit produces a gasoline componentand diesel oil. CKU produces a gasoline component, diesel oil,and wax oil. HT improves diesel oil quality by reducing thesulfur content. The 90# gasoline, 93# gasoline, 95# gasolinecan be blended by each blender. Two different crude oils DAQand LIH are supplied to CDU1 and CDU2, respectively. Theminimum capacity (LB) and maximum capacity (UP) for eachunit and the initial inventory (INIVF) for tanks are shown inTable 1. The unit of each minimum capacity, maximumcapacity, and initial inventory for the tanks is cubic meters.Otherwise, the unit is cubic meters per hour. The actual tanksin TKG90, TKG93, and TKG95 are all multipurpose tanks.

The octane value and cost of each material entering into thetwo blenders are shown in Table 2. Port OUT represents theoutflow port of a tank. The unit and the corresponding portrepresent what material is transferred. For example, unit TKLNAand port OUT represent that material LNA (light naphtha) leavesfrom port OUT of aggregate tank TKLNA. Also, the combina-tion unit FCC1 and port GASO represents the case wherematerial GASO (gasoline component) leaves port GASO of unitFCC1.

Figure 3. Gantt chart for some materials and tanks.

Fs,u,m,s′,u′,m′,t ) Qs,u,m,s′,u′,m′,t/(yu,m,t +

yu,m,t-1+ + tu,m,t - yu,m,t

- )/24 ∀ s∈ OSu, ∀ u ∈ NTU,∀ m∈ Mu, ∀ s′ ∈ ISu′, ∀ u′ ∈ TK, ∀ m∈ Mu′, ∀ t ∈ TP

(32)

FOs′,u′,m′,s,u,m,t ) Qs′,u′,m′,s,u,m,t/(yu,m,t +

yu,m,t-1+ + tu,m,t - yu,m,t

- )/24 ∀ s∈ ISu, ∀ u ∈ NTU,∀ m∈ Mu, ∀ s′ ∈ OSu′, ∀ u′ ∈ TK, ∀ m∈ Mu′, ∀ t ∈ TP

(33)

Table 1. Capacity Data and Initial Inventory

unit LB UP INIVF unit LB UP INIVF

TKNA 0 2400 2076 DAQ 0 600TKFCC1 1600 5400 5229 CDU1 312 375TKFCC2 3400 15300 9528.5 CDU2 350 562TKFCC3 0 40500 20655 FCC1 40 100TKVR 0 10000 9200 FCC2 45 125TKLNA 0 1000 900 FCC3 100 208TKHOGO 0 20000 17500 HT 180 282TKMTBE 800 4000 3952 RAU 20 68.49TKHT 5000 50000 17300 CKU 125 250TKG90 4536 32000 21733.3 BLEN1 100 400TKG93 4174 28024 17887.75 BLEN2 100 400TKG95 3000 24000 10000 KER 0 600LIH 0 6400 DO 0 600P1 0 600 MTBE 0 600P2 0 600

Table 2. Property and Cost Data of Materials Entering theBlenders

unit port proper cost

TKLNA OUT 80 100TKHOGO OUT 95 118.75TKMTBE OUT 110 137.5FCC1 GASO 88 110FCC2 GASO 87 108.75FCC3 GASO 86 107.5

Ind. Eng. Chem. Res., Vol. 46, No. 11, 20073663

Page 9: Hierarchical Approach for Short-Term Scheduling in Refineries

The materials that leave from port AR of unit CDU1 andport VGO of unit CDU2 can go to either aggregate tanks ofTKFCC1, TKFCC2, and TKFCC3. But, each material can onlymove to one tank at a time and the different movements havedifferent priorities. The penalties for different movements areshown in Table 3. Port IN represents the inflow port of a unit.A smaller penalty implies a higher priority. For example, themovement from port AR of unit CDU1 to port IN of unitTKFCC1 has the highest priority (smallest penalty) for thematerial leaving port AR of unit CDU1.

The two blenders (BLEN1 and BLEN2) and perimeters P1and P2 all have three operation modes: G90 (90# gasolinemode), G93 (93# gasoline mode), and G95 (95# gasoline mode).The value oftu,m,m′ for the blenders is 0.5 h (30 min), and thatof tu,m,m′ for P1 and P2 is 0. They can only transfer materialto/from one aggregate tank in one operation mode. For example,BLEN1 in operation mode G90 can only send material toTKG90, and P2 in operation mode G93 can only receivematerial from TKG93.¢¢ The specifications on octane value ofthe products leaving the blenders in different modes are shownin Table 4.

A scheduling horizon of 5 days is used for this case study.The penalty for inventory CINVu and the penalty for the extrastorage capacity requirement are 1. The penalties for differentflows are shown in Table 3. The other penalties are all 10 000.The targets for the charge size of CDU1 and CDU2 during theentire scheduling horizon are 45 000 m3 and 67 440 m3,respectively, and the targets for the inventories of TKG90,TKG93, and TKG95 at the end of the scheduling horizon are6936, 6974, and 5400 m3, respectively. The orders defined oneach perimeter unit are shown in Table 5. Each order specifiesthe minimum and maximum quantities of demands/supplies andthe time horizon of demands/supplies. The unit and mode shownin Table 5 represent the materials transferred by the unit in thatmode. ST and ED represent the start time period and end timeperiod in which the materials can be transferred. LB and UPrepresent the minimum and maximum quantities that can betransferred between period ST and DT.

The MILP models were implemented in LINGO 9. Thecalculations were performed on a Celeron(R) 2.40 GHz/512MbRAM platform. The model involves 175 discrete variables, 5924

continuous variables, and 5867 single constraints. The CPU timerequired for the solution of the MILP model is 58 s, and thevalue of the objective function is 5 195 766. The simulationsystem finds that only the maximum storage capacity ofaggregate TKVR is violated during period 3, and there are noother bottleneck tanks. The inventory in TKVR and the extracapacity requirement are shown in Table 6. The flows leavingTKG90, TKG93, and TKG95 during period 1 are 5760, 7920,and 0 m3, respectively, and the inventory in these tanks at theend of each period is shown in Table 7. The data of the actualmultipurpose tanks in TKG90, TKG93, and TKG95 are shownin Table 8. According to formulations 29, 30, and 31, Tank3,Tank4, and all the tanks in TKG93 can be used to extend themaximum storage capacity of TKVR. The maximum storagecapacity of each of these tanks is bigger than the maximumextra capacity requirement of TKVR. Because Tank3 has thesmallest maximum storage capacity, it is selected to extend themaximum capacity of TKVR. By this adjustment, the maximumstorage capacity of TKVR and TKG90 change to 18 000 and24 000 m3, respectively. The CPU time required for the solutionof the updated MILP model is 61 s, and the value of theobjective function is 5 193 446. There are no tanks with themaximum capacities violated found in the new solution, andthe iteration procedure terminates. It is found that the inventoryin each aggregate tank at the end of each period does not takeany change; it may be caused by the tenth term in the objectivefunction used to minimize the total inventories. In the newsolution, only the operation modes of Blen2 change from G93to G95 during period 3. The value ofyu,m,t-1

+ for Blen2 inoperation mode G93 during period 3 is 0.6458, and this meansthat operation mode G93 is extended for about 15.5 h (0.6458× 24). The value ofyu,m,t-1

- for Blen2 in operation mode G95during period 3 is 0.6666, and this means that operationmode G95 is delayed for about 16 h (0.6666× 24). Thedelayed time is equal to the extended time plus 0.5 h, that is,the time for G93 to be still stable. The amount of productsproduced by mode G93 during period 3 is 2971.75 m3, and the

Table 3. Different Penalties for Different Movements

srunit srport deunit deport penalty

CDU1 AR TKFCC1 IN 2CDU1 AR TKFCC2 IN 1CDU1 AR TKFCC3 IN 0CDU2 VGO TKFCC1 IN 0CDU2 VGO TKFCC2 IN 1CDU2 VGO TKFCC3 IN 2

Table 4. Specifications on Octane Value of Gasoline Products

mode LB UP

G95 94.85 95.25G93 92.85 93.25G90 89.85 90.25

Table 5. Orders Defined on Each Perimeter

unit mode ST ED LB (m3) UP (m3)

DAQ DAQ 1 5 0 60000LIH LIH 1 5 0 60000P1 G90 1 5 28800 28800P2 G93 1 3 23760 23760P2 G93 4 5 15840 15840KER KER 1 5 0 60000P3 DO 1 5 0 60000MTBE MTBE 1 5 0 6000

Table 6. Inventory in TKVR and the Extra Storage CapacityRequirement in Each Period

period inventory (m3) extra (m3)

1 9593.312 02 9986.624 03 10379.94 379.9364 10773.25 773.2485 11166.56 1166.56

Table 7. Inventory in TKG90, TKG93, and TKG95 at the End ofEach Period

period

unit 1 (m3) 2 (m3) 3 (m3) 4 (m3) 5 (m3)

TKG90 18773.84 15814.38 12854.92 9895.46 6936TKG93 14705 11522.25 6574 6574 6574TKG95 10000 10000 11765.5 8582.75 5400

Table 8. Multipurpose Tanks in Aggregate Tanks

aggregate tank actual tank LB (m3) UP (m3) INIINV (m 3)

TKG90 Tank1 1156 8000 7700TKG90 Tank2 1110 7900 7763TKG90 Tank3 1100 8000 3000TKG90 Tank4 1170 8100 3270.3TKG93 Tank5 1384 9316 8100TKG93 Tank6 1395 9308 7345TKG93 Tank7 1395 9400 2442.75TKG95 Tank8 1000 8000 5000TKG95 Tank9 1000 8000 3000TKG95 Tank10 1000 8000 2000

3664 Ind. Eng. Chem. Res., Vol. 46, No. 11, 2007

Page 10: Hierarchical Approach for Short-Term Scheduling in Refineries

amount of products produced by mode G95 during the sameperiod is 1765.5 m3.

The flows leaving port AR of unit CDU1 all move toTKFCC3. The flow paths and the amount of the flows leavingport VGO of CDU2 are shown in Table 9, and the inventory inTKFCC1 at the end of each period is shown in Table 10. It canbe seen that the total number of flows is smaller if penaltiesare imposed on the number of flows, and thus, the frequentchange of flow paths is avoided.

Each actual tank in TKG90, TKG93, and TKG95 cannotreceive and send materials at the same time, and they can onlysend materials 1 h later after they receive materials. HeuristicMAX_CAP_FRS is used for them to receive materials, andheuristic MAX_VOL_FRS is used for them to send materials.The simulation for the operations of the actual tanks in tankTKG93 is shown by the Gantt chart in Figure 4. The gray striprepresents the duration of a tank receiving materials, and thewhite strip represents the duration of a tank sending materials.

5.2. Case 2.Case 2 is used to test the computational timefor the MILP model of a larger scheduling problem. In case 2,another four operation modes are added to each of unit CDU1,CDU2, FCC1, FCC2, and FCC3. This model involves 275discrete variables, 9549 continuous variables, and 9979 singleconstraints. The CPU time required for the solution of this MILPmodel is 153 s, and the value of the objective function is5 014 680.

The number of 0-1 discrete variables in our optimizationmodel is determined by the number of operation modes eachunit possesses, the number of flow paths needed to be controlledby constraint 13, and the length of the scheduling horizon. In areal world refinery, some modes for units can be excludedaccording to monthly plans and demand and supply ordersduring a scheduling horizon, as well as the experience ofschedulers. Doing this can reduce the 0-1 variables and thesize of the optimization model.

In order to compare with our model, a monolithic optimizationmodel with the same scheduling horizon and time periods is

built based on case 2. We refer to the study of Shah13 to modelthe multipurpose tanks. Each multipurpose tank within TKG90,TKG90, and TKG95 has four operation modes G90, G93, G95,and VR. Moreover, in each period of this monolithic model,the flows leaving each outflow port of unit Blen1 and Blen2can at most move to two of these multipurpose tanks and eachof P1 and P2 can receive materials from at most two of thesemultipurpose tanks. This model involves 630 discrete variables,10 018 continuous variables, and 11 342 single constraints. Theoptimal solution of this model cannot be found within 1 h.

6. Conclusions

In this paper, a hierarchy scheduling approach is introducedfor the short-term scheduling of refineries. The main optimiza-tion model at the upper level and the heuristics and rules adoptedin simulation system at the lower level are presented. Asdiscussed, several reasons motivate the use of a hierarchyscheduling approach for the short-term scheduling; one of whichis the difficulty in the industrial practice to represent all theconstraints in a mathematical formulation when mathematicalprogramming is adopted. The other reason for this is thatmathematic representations involve a lot of continuous, binaryvariables and a large number of nonlinear constraints that maylead to the failure of getting feasible solutions at the right time.

The hierarchical approach proposed in this paper is able tomodel and optimize the entire production processes in refineries.The optimization model decides the start time and end time ofeach operation and the quantity of materials consumed/producedby each operation mode of a unit. At the same time, some rulesand heuristics are introduced to automatically make decisionson the arrangement of tanks to store materials and to adjust thematerial storage capacities. The iterative procedure between theupper level and the lower level is used to find the optimalsolution under new material storage capacities. The simulationsystem at the lower level also uses heuristics and rules todetermine the detailed material movements between all unitswith operation constraints respected. The approach proposednot only can reduce the binary variables and the size of theoptimization model but can also consider the details of materialmovements and operation rules.

Acknowledgment

This research is supported by the National Natural ScienceFoundation of China (60421002).

Appendix A: Pseudocode for the Heuristic of Adjustmentof the Operation Modes of Tanks

Each INVu,t′up ) INVu

up, each INIINVu′,m′,t′ ) 0, and eachINVu′,m′,t′

low ) 0.Sequence (u, t) into u-queuewith descending values of arg

maxt∈TP INVu,m,t+ .

For each (u, t) in u-queueSelect multipurpose tanksu′′ and corresponding aggregate

tanksu′ with redundant capacities intou-setFor each (u′′, u′) in u-set

For eacht′ > ) t - 2If INV u′′

up e INVu′,t′up - INVu′,m′,t′ and INIINVu′,m′,t′ + INIIN

Vu′′,m′ - ∑tet′-1 s′, u′, m′, t e INVu′,m′,t′low + INVu′′

low

ContinueElse

BreakEnd If

Table 9. Flow Paths and the Amount of the Flows Leaving PortVGO of CDU2

amount during period

destination 1 2 3 4 5

With Penalty on the Number of Total FlowsTKFCC1 0 3641.76 3641.76 1245.72 3641.76TKFCC2 3641.76 0 0 2396.04 0

With No Penalty on the Number of Total FlowsTKFCC1 2571 1158.24 3641.76 1158.24 3641.76TKFCC2 1070.76 2483.52 0 2483.52 0

Table 10. Inventory in TKFCC1

period1 period 2 period 3 period 4 period 5

With Penalty on the Number of Total Flows2829 4070 5312 4158 5400

With No Penalty on the Number of Total Flows5400 4158 5400 4158 5400

Figure 4. Gantt chart for the operations of the actual tanks in TKG93.

Ind. Eng. Chem. Res., Vol. 46, No. 11, 20073665

Page 11: Hierarchical Approach for Short-Term Scheduling in Refineries

Add (u′′, u′) to u-candidateEnd For

End ForSelect tanks with maximum capacities more than arg maxt∈TP

INVu,m,t+ into u-set-morefrom u-candidate

If u-set-moreis nonemptySelect tank (u′′, u′) with the smallest maximum capacity

in u-set-moreFor eacht′ > t - 1

INVu,t′up ) INVu,t′

up + INVu′′up

End ForFor eacht′ > t - 2

INVu′,t′up ) INVu′,t′

up + INVu′′up

INIINV u′,m′,t′ ) INIINV u′,m′,t′ + INIINV u′′

INVu′,m′,t′low ) INVu′,m′,t′

low + INVu′′low

End ForElse sequence tanks on ascending maximum capacities into

u-set-lesssum) 0For each (u′′, u′) in u-set-less

If sum> arg maxt∈TP INVu,m,t+

BreakElse sum) sum+ INVu′′

up

For eacht′ > t - 2INVu′,t′

up ) INVu′,t′up + INVu′′

up

INIINV u′,m′,t′ ) INIINV u′,m′,t′ + INIINV u′′

INVu′,m′,t′low ) INVu′,m′,t′

low + INVu′′low

End ForEnd If

End ForFor eacht′ > t - 1

INVu,t′up ) INVu,t′

up + sumEnd For

End IfEnd For

Appendix B: Pseudocode for the Calculation of Six TimePoints of the Operations of Tanks

For each aggregate tankuttt ) 0For eacht

Select all flows received and sent byu into flow-setFor each flow inflow-set

Fs′,u′,m′,s,u,m,t ) Qs,u,m,s′,u′,m′,t/(yu,m,t + yu,m,t-1+ + tu,m,t -

yu,m,t- )/24

FOs′,u′,m′,s,u,m,t ) Qs′,u′,m′,s,u,m,t/(yu,m,t + yu,m,t-1+ + tu,m,t -

yu,m,t- )/24

End ForSequence the time point on the ascending value ofyu,m,t +

yu,m,t-1+ + tu,m,t - yu,m,t

-

Calculate the lengthTsl of each slotsl according to adjacenttime points

For each time slotslTFsl ) 0 and TFOsl ) 0For each flow during this time slot

TFsl ) TFsl + Fs′,u′,m′,s,u,m,t

TFOsl ) TFOsl + FOs,u,m,s′,u′,m′,tEnd ForIf TFsl ) 0 and TFOsl ) 0

ttt ) ttt + Tsl

End IfIf TFOsl > 0 and there is no active tank

Select a tanku′ to receive and supply materials

according to the heuristics and rulesu′-fill-start ) ttt

End IfIf TFsl > 0 and there is no active tank

Select a tanku′′ to receive and supply materialsaccording to the heuristics and rules

u′′-draw-start) tttEnd Iftt ) 0While tt < Tsl

If u′ andu′′ are the sameINVu′,sl ) INVu′,sl + (TFOsl - TFsl)(Tsl - tt)If INV T > INVu′

up

tt′ ) Tsl - (INVu′,sl - INVu′up)/(TFOsl - TFsl)

T-full ) ttt + (tt′ - tt)ttt ) T-fullT-fill-end ) tttINVu′,sl ) INVu′

up

tt ) tt′Next u′ according to the heuristics and rulesu′-fill-start ) ttt

Else If INVu′,sl < 0tt′ ) Tsl + INVu′,sl/(TFOsl - TFsl)u′-empty) ttt + (tt′ - tt)ttt ) u′-emptyu′-draw-end) tttINVu′,sl ) 0tt ) tt′Next u′ according to the heuristics and rulesu′-draw-start) ttt

End IfEnd IfIf there is a tanku′ or u′′ that can be selected

according to the heuristics and rules andT andT′are not the same

INVu′,sl ) INVu′,sl + TFOsl(Tsl - tt)INVu′′,sl ) INVu′′,sl - TFsl(Tsl - tt)If INV u′,sl > INVu′

up and INVu′′,sl g 0tt′) Tsl - (INVu′,sl - INVu′

up)/ TFOsl

u′-full ) ttt + (tt′ - tt)ttt ) T-fullu′-fill-end ) tttINVu′,sl ) INVu′

up

INVu′′,sl ) INVu′′,sl - TFsl(tt′ - tt)tt ) tt′Next u′ according to the heuristics and rulesu′-fill-start ) ttt

End IfIf INV u′,sl e INVu′

up and INVu′′,sl < 0tt′) Tsl + INVu′′,sl/TFsl

u′′-empty) ttt +(tt′ - tt)ttt ) u′′-emptyu′′-draw-end) tttINVT′ ) 0INVu′,sl ) INVu′,sl + TFOsl(tt′ - tt)tt ) tt′Next u′′ according to the heuristics and rulesu′′-draw-start) ttt

End IfIf INV u′,sl > INVu′

up and INVu′′,sl < 0tt′ ) Tsl - (INVu′,sl - INVu′

up)/TFOsl

tt′′ ) Tsl + INVu′′,sl/TFsl

If tt′ < tt′′u′-full ) ttt + (tt′ - tt)

3666 Ind. Eng. Chem. Res., Vol. 46, No. 11, 2007

Page 12: Hierarchical Approach for Short-Term Scheduling in Refineries

ttt ) u′-fullu′-fill-end ) tttINVu′,sl ) INVu′

up

INVu′′,sl ) INVu′′,sl - TFsl(tt′ - tt)Tt ) tt′Next u′ according to the heuristics and rulesu′-fill-start ) ttt

Else If tt′′< tt′u′′-empty) ttt + (tt′′ - tt)ttt ) u′′-emptyu′′-draw-end) tttINVu′′,sl ) 0INVu′,sl ) INVu′,sl + TFOsl(tt′′ - tt)tt ) tt′′Next u′′ according to the heuristics and rulesu′′-draw-start) ttt

Thenu′-full ) ttt + (tt′ - tt)u′′-empty) ttt + (tt′ - tt)ttt ) u′-fullu′-fill-end ) tttINVu′,sl ) INVu′

up

u′′-draw-end) tttINVu′′,sl ) 0tt ) tt′Next u′ and u′′ according to the heuristics and

rulesu′-fill-start ) tttu′′-draw-start) ttt

End IfEnd If

End Iftt ) Tsl

ttt ) ttt + ttEnd While

End ForEnd ForEnd For

Nomenclature

Indices

P ) propertys, s′ ) portt ) time periodu, u′ ) unitm,m′ ) operation mode

Sets

U ) processing units, perimeter units, and aggregate tanksMu ) operation modes of unituTP ) time periods being scheduledISu ) inflow ports of unituOSu ) outflow ports of unituNTU ) units with tanks excludedTK ) aggregate tanksTA ) aggregate tanks in which maximum storage capacities

cannot be violatedVTA ) aggregate tanks in which maximum storage capacities

can be violatedCONN ) flow paths between two unitsCONs,u ) flow paths that connect ports of unit uCONMs,u,m ) flow paths that connect ports of unit u in

operationmPERI) perimeter units

Parameters

tu,m,m′ ) time of operationm stays stable when operation modeof u is changed fromm to m′

QFulow ) lower bound for charge size of unitu

QFuup ) upper bound for charge size of unitu

YIEDs,u.m) standard yield of material leaving ports of unit uin operationm

INVulow ) minimum storage capacity of aggregate tanku

INVuup ) maximum storage capacity of aggregate tanku

PROs,u,m,plow ) minimum value of propertyp for flow of port s of

unit u in operationmPROs,u,m,p

up ) minimum value of propertyp for flow of port s ofunit u in operationm

DDu,m,t1,t2low ) minimum demand/supply of material transferred

by unit u in operationm from periodt1 to t2DDu,m,t1,t2

up ) maximum demand/supply of material transferredby unit u in operationm from periodt1 to t2

TGQFu ) target for charge size of unitu during schedulinghorizon

TGINVu ) target for inventory in tanku at the end of schedulinghorizon

CQs,u,m) cost of flow leaving ports of unit u in operationmPLSMMu,m,m′ ) penalty for unitu changing operation fromm

to m′PLSMu,m ) penalty for unitu changing operation tomPLTu ) penalty for variance of charge size of unituPENLFs′,u′,s,u ) penalty for number of flow paths from ports′

of unit u′ to port s of unit uPLQs′,u′m′,s,u,m) penalty for flow from ports′ of unit u′ in mode

m′ to port s of unit u in modemPLIu

+ ) penalty for extra storage capacity requirement ofaggregate tanku

PLTGQu ) penalty for deviation from target charge size of unitu

PLTGINu) penalty for deviation from target inventory of tanku

CINVu ) penlty for inventory in tankuFLOWUPs′,u′,s,u ) upper bound for flow rate of flow from port

s′ of unit u′ to port s of unit u

Variables

Qs,u,m,t ) volumetric flow of ports of unit u in operationmduring periodt

Qs,u,m,s′,u′,m′,t ) flow from port s of unit u in operationm to ports′ of unit u′ in operationm′ during periodt

QFu,m,t ) charge size of unitu in operationm during periodtTQFu,t ) charge size of unitu during periodtyu,m,t ) binary variable denoting that unitu is in operation m

during periodt∆TQFu,t ) variance of charge size of unitu between periodt

and t - 1INVu,m,t) inventory in tanku in operationmat the end of period

tINVu,m,t

+ ) extra storage capacity requirement of aggregatetank u during periodt

TFs′,u′,s,u,t) binary variable denoting that there is flow from ports′ of unit u′ to port s of unit u during periodt

QFRs′,u′m′,s,u,m,t) volume fraction of flowQs′,u′m′,s,u,m,tin the flowsenteringu during periodt

SMMu,m,m′,t ) binary variable denoting a changeover fromoperation modem to m′ between time periodt - 1 andt

SMu,m,t ) binary variable denoting the start of operation modem during periodt

Ind. Eng. Chem. Res., Vol. 46, No. 11, 20073667

Page 13: Hierarchical Approach for Short-Term Scheduling in Refineries

yu,m,t-1+ ) time of operation modem of unit u extended toperiod t from t - 1

yu,m,t- ) delay of the start of operation modem of unit u during

period ttu,m,t) time of operation modem that can continue to stay stable

during periodtPROs,u,m,p,t) value of propertyp for the flow of ports of unit

u in operationm during periodt

Literature Cited

(1) Pinto, J. M.; Joly, M. Planning and scheduling models for refineryoperations.Comput. Chem. Eng.2000, 24, 2259-2276.

(2) Jia, Z.; Ierapetritou, M. Efficient short-term scheduling of refineryoperations based on a continuous time formulation.Comput. Chem. Eng.2004, 28, 1001-1019.

(3) Reddy, P. C. P.; Karimi, I. A. A new continuous-time formulationfor scheduling crude oil operations.Chem. Eng. Sci.2004, 59, 1325-1341.

(4) Gothe-Lundgren, M.; Lundgren, J. T. An optimization model forrefinery production scheduling.Int. J. Prod. Econ.2002, 78, 255-270.

(5) Glismann, K.; Gruhn, G. Short-term scheduling and recipe optimiza-tion of blending processes.Comput. Chem. Eng.2001, 25, 627-634.

(6) Jia, Z.; Ierapetritou, M. Refinery Short-Term Scheduling UsingContinuous Time Formulation: Crude-Oil Operations.Ind. Eng. Chem. Res.2003, 42, 3085-3097.

(7) Moro, L. F. L.; Pinto, J. M. Mixed-Integer Programming Approachfor Short-Term Crude Oil Scheduling.Ind. Eng. Chem. Res.2004, 43, 85-94.

(8) Jia, Z.; Ierapetritou, M. Mixed-Integer Linear Programming Modelfor Gasoline Blending and Distribution Scheduling.Ind. Eng. Chem. Res.2003, 42, 825-835.

(9) Floudas, C. A.; Lin, X. Continuous-time versus discrete-timeapproaches for scheduling of chemical processes: a review.Comput. Chem.Eng.2004, 28, 2109-2129.

(10) Paolucci, M.; Sacile, R. Allocating crude oil supply to port andrefinery tanks: a simulation-based decision support system.DecisionSupport Syst.2002, 33, 39-54.

(11) Chryssolouris, G.; Papakostas, N. Refinery short-term schedulingwith tank farm, inventory and distillation management: An integratedsimulation-based approach.Eur. J. Oper. Res.2005, 166, 812-827.

(12) Henning, G. P.; Jaime, C. Knowledge-based predictive and reactivescheduling in industrial Environments.Comput. Chem. Eng.2000, 24,2315-2338.

(13) Shah, N. Mathematical programming techniques for crude oilscheduling.Comput. Chem. Eng.1996, 20, 1227-1232.

ReceiVed for reView October 21, 2006ReVised manuscript receiVed March 10, 2007

AcceptedMarch 12, 2007

IE061354N

3668 Ind. Eng. Chem. Res., Vol. 46, No. 11, 2007