Next Article in Journal
Prediction of Maximum Story Drift of MDOF Structures under Simulated Wind Loads Using Artificial Neural Networks
Next Article in Special Issue
Performance Analysis of a Forecasting Relocation Model for One-Way Carsharing
Previous Article in Journal
Damage Assessment Using Information Entropy of Individual Acoustic Emission Waveforms during Cyclic Fatigue Loading
Previous Article in Special Issue
A Program Model of Fuzzy Interpreted Petri Net to Control Discrete Event Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Scheduling of Crude Oil Operations in Refinery without Sufficient Charging Tanks Using Petri Nets

Macau Institute of Systems Engineering, Macau University of Science and Technology, Macau, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2017, 7(6), 564; https://doi.org/10.3390/app7060564
Submission received: 27 March 2017 / Revised: 15 May 2017 / Accepted: 17 May 2017 / Published: 30 May 2017
(This article belongs to the Special Issue Modeling, Simulation, Operation and Control of Discrete Event Systems)

Abstract

:
A short-term schedule for crude oil operations in a refinery should define and sequence the activities in detail. Each activity involves both discrete-event and continuous variables. The combinatorial nature of the scheduling problem makes it difficult to solve. For such a scheduling problem, charging tanks are a type of critical resources. If the number of charging tanks is not sufficient, the scheduling problem is further complicated. This work conducts a study on the scheduling problem of crude oil operations without sufficient charging tanks. In this case, to make a refinery able to operate, a charging tank has to be in simultaneous charging and feeding to a distiller for some time, called simultaneously-charging-and-feeding (SCF) mode, leading to disturbance to the oil distillation in distillers. A hybrid Petri net model is developed to describe the behavior of the system. Then, a scheduling method is proposed to find a schedule such that the SCF mode is minimally used. It is computationally efficient. An industrial case study is given to demonstrate the obtained results.

1. Introduction

With the increasing importance of oil, the development of effective operations of an oil refinery has attracted wide attention. If an oil refinery is operated properly, one can reduce production and inventory cost [1], and may even increase profit $10 per ton of products or more [2]. A refinery is operated hierarchically with three levels: production planning, production scheduling, and process control. With mature planning techniques [3,4], optimal production plans can be obtained by using linear programming-based commercial software [5]. Meanwhile, the efficiency of process control is improved by the installation of advanced control systems [6]. Production scheduling is at the middle level and should fulfill planning demands and instruct process control. A schedule defines and sequences detailed operation activities for the whole scheduling horizon, which makes the problem highly challenging [7]. Because of the extreme complexity of short-term scheduling, we find no effective techniques and software tools to deal with it. This scheduling job is still done manually in practice. To bridge the gap between the production planning and process control, the development of effective short-term scheduling techniques is of paramount importance.
Mathematical programming models are applied to solve the crude oil scheduling problem. They can be categorized as discrete-time and continuous-time ones. The models in [8,9,10,11] are representative of the former. They are formulated by dividing the scheduling horizon into a number of time intervals with uniform time durations. An event, such as the start or end of an operation, should happen at the boundary of a time interval. Such a model has a major defect in that the time interval must be sufficiently small to describe the scheduling problem with acceptable accuracy. As a result, a model for real-life applications usually contains a computationally infeasible number of binary variables and constraints. To overcome this disadvantage, some researchers choose continuous-time models [12,13,14]. Although their use reduces the number of discrete variables, nonlinear constraints are introduced such that the problem is extremely difficult to solve. Moreover, to make the problem solvable, most discrete-time and continuous-time models make special assumptions that, unfortunately, lead to a low-quality or unrealistic solution for real-world cases [15].
With a very detailed schedule being required, the scheduling problem of crude oil operations becomes incredibly difficult [7]. To reduce the computational complexity, this problem is studied in the viewpoint of control theory by extending the Petri net models applied in discrete manufacturing systems [16,17,18,19,20]. By this approach, a two-level operational architecture for the short-term scheduling problem of crude oil operations is proposed to decompose the problem into two sub-problems [21,22,23,24]. At the upper level, a refining schedule is specified for distillers without involving detailed operations to optimize some objectives, such as maximizing production rate. It determines the types, amount, processing rate and sequence of crude oil to be processed for each distiller. At the lower level, a detailed operation schedule is provided, such as charging tank charging/discharging and oil transportation via a pipeline, to realize a refining schedule. Based on this architecture, to ensure the feasibility of an obtained schedule, the dynamic behavior of crude oil operations is modeled by a hybrid Petri net (PN) and schedulability conditions are derived for different cases [21,22,25,26,27,28]. With the schedulability conditions as constraints, an optimal and realizable refining schedule can be efficiently found [29,30], while a detailed schedule is obtained recursively. Note that these studies are conducted under the assumption that there are enough charging tanks in the system.
For crude oil operations, after a storage/charging tank is charged, the crude oil should stay in the tank for a certain time before it can be discharged. This time duration is called oil residency time (ORT) and this requirement is called an oil residency time constraint. It is the oil residency time constraint that makes the scheduling problem difficult and requires enough charging tanks to obtain a feasible schedule. With such a constraint, to find a feasible schedule with maximal production rate, generally three charging tanks are required for each distiller [21]. Although such a requirement is satisfied for many refineries, there are refineries without sufficient charging tanks to meet this requirement. Due to the market demand increase, some refineries in China install more distillers to increase their capacity without installing any more charging tanks. In this case, to keep a refinery operation, the refinery has to ignore the oil residency time constraint in feeding distillers for some time. By ignoring the oil residency time constraint, a charging tank is charged and used to feed a distiller simultaneously, and this operation mode is called simultaneously-charging-and-feeding (SCF). However, by doing so, the oil distillation process for the feeding distiller would be disturbed to some extent. Thus, it is desired that the SCF is minimally used.
Up to now, there is no study on this issue, which motivates this study. Since the architecture proposed in [21,22,24] is shown to be effective to the scheduling problem, it is adopted as a basis of this work. To conduct this study, a model should be developed to describe the dynamic behavior of the system. For crude oil operations, there are discrete events, such as the start and end of the charging and discharging of tanks. However, oil flows continuously. Thus, the process of crude oil operations is characterized as a hybrid system containing both discrete-event and continuous variables. A hybrid model is necessary. There are hybrid Petri net models such as fluid stochastic Petri nets [31,32] and stochastic activity networks [33]. These models can describe the stochastic properties of many systems well, but they are not developed to describe the flows of continuous materials in a system. Note that, the scheduling process of crude oil operations addressed here is not a stochastic one, while continuous flows of crude oil are essential. Thus, we extend the hybrid PN models in [24,29,30] to model the system, since they can describe such a system well.
The next section briefly introduces the process of crude oil operations and its short-term scheduling problem. Then, a hybrid PN model is presented for such a process in Section 3. With the model, Section 4 presents the methods for the short-term scheduling problem of systems with multiple distillers to minimize the usage of the SCF mode. Section 5 extends the results obtained in Section 4 to general systems with K distillers. An industrial case study is given to show the application of the proposed methods in Section 6. Finally, Section 7 draws the conclusions.

2. Refinery Process and Short-Term Scheduling

2.1. Crude Oil Operations in Refinery

A general oil refinery process contains three stages: (1) crude oil operations; (2) production; and (3) product delivery. Since the whole refinery process is very complex, this paper addresses the short-term scheduling problem for crude oil operations only, which is one of the most challenging scheduling problems in operating a refinery. At the stage of crude oil operations, crude oil is carried to a port by crude oil tankers and is unloaded into storage tanks there. Oil in storage tanks is transported to charging tanks in the refinery plant through a pipeline. Then, from charging tanks, oil is fed into distillers for distillation.
During crude oil operations, crude oil can only be discharged into an empty storage or charging tank or one that holds the same type of crude oil. To obtain suitable components for distillation, different types of crude oil may be mixed when oil is transported from storage tanks to charging tanks or fed into distillers. If oil is mixed during oil feeding, at least two charging tanks are required to feed a distiller at the same time. As charging tanks are a critical resource and are limited, in general, only one charging tank is used to feed a distiller at a time and crude oil mixing is done during its transportation via a pipeline. Therefore, this paper only considers the case in which only one charging tank is used to feed a distiller at any one time. Moreover, crude oil mixing is not considered here, since a mixture can be simply treated as a new type of oil.
The brine in crude oil disturbs the distillation process. Thus, crude oil needs to be pretreated to separate brine from oil to ensure the stability, which is implemented by making oil stay in a tank for some time after a storage or charging tank is charged, leading to an oil residency time constraint in both storage and charging tanks. When a tank is required to satisfy such a constraint, we say that the tank operates under the normal mode. Under the normal mode for both storage and charging tanks, it is shown that generally a feasible schedule with maximal production rate can be found if there are three charging tanks for each distiller at any time [21,22,25,26,27,28]. Considering that crude oil has already been pretreated in storage tanks, when a refinery does not have enough charging tanks it has to adopt the SCF mode to keep the system in operation. Nevertheless, the SCF is not a desired mode and its use should be minimized to reduce the disturbance to the distillation process. Note that, by the SCF mode, before a charging tank can be used to feed a distiller, the tank should be charged with a certain amount of oil first; this is called the safety stock, also known as the SCF mode constraint.
Based on the above discussion, we summarize the constraints for scheduling crude oil operations as follows. We have resource constraints: (1) the limited number of storage and charging tanks and their capacities; (2) the limited flow rate of oil unloading and pipeline transportation; and (3) the available volume of various crude oil types in tanks and incoming tankers. We also have process constraints: (1) a distiller should be kept in working uninterruptedly unless a maintenance is needed; (2) at least one charging tank is dedicated to feed a distiller at any time; (3) oil residency time constraint for all storage and charging tanks under the normal mode; and (4) when SCF is applied, the SCF mode constraint should be met.

2.2. The Scheduling Problem

A crude oil operation process is composed of a series of operations. The short-term scheduling problem is to make decisions on what an operation should do and when and how it should be executed. To describe a short-term schedule, we first define an operation decision (OD).
Definition 1.
An operation is defined as OD = (COT, ζ, S, D, INT), where COT = the crude oil type; ζ = the volume of crude oil to be unloaded from a tanker to a storage tank, or transported from a storage tank to a charging tank, or fed from a charging tank to a distiller; S = the source from which the crude oil is to be delivered; D = the destination to which the crude oil is to be delivered; and INT = [a, b] a time interval, where a and b are the start and end time points of the operation, respectively.
The flow rate in delivering crude oil in [a, b] may be variable. However, it is scheduled as a constant for a single operation in practice for the sake of stability and simplification. Thus, given volume ζ and time interval [a, b] in an OD, ζ/(ba) is its flow rate. Each OD is a control command that transfers the system from a state to another.
There are three types of ODs: OD of crude oil unloading (ODU), OD of transportation (ODT), and OD of feeding to a distiller (ODF), and their time intervals are denoted as [α, β], [λ, μ], and [ω, π], respectively. For ODU, S is a tanker and D is a storage tank. For ODT, S is a storage tank and D is a charging tank, and the transportation is performed through a pipeline. For ODF, S is a charging tank and D is a distiller. We use ODFki to denote the ith OD for feeding distiller k during the scheduling horizon. Let Γ = [τs, τe] be the scheduling horizon that often lasts for a week or ten days and g = ζ/(βα), f = ζ/(μλ), and h = ζ/(πω) denote flow rates for tanker unloading, pipeline transportation, and distiller feeding decided by ODs, respectively. Let K be the set of distillers. Given the initial state at τs, i.e., the inventory of crude oil and state of all devices, and information of tanker arrival, the short-term scheduling problem is to find a series of ODs described as follows:
SCHD = {ODU1, ..., ODUW, ODT1, ..., ODTZ, ODF1, ..., ODFK},
subjected to
ωk1 = τs, πk1 = ωk2, ..., πk(i1) = ωki, ..., and πkn = τe for ∀kK
and the constraints given in Section 2.1.
Constraint (2) requires that the schedule should cover the entire scheduling horizon and a distiller cannot be stopped. Also, different objectives can be selected to optimize. Essentially, in the view of control theory, an OD is a control command that transfers the system state from one to another. If a state is reached such that any constraint is violated, this state is said to be infeasible. If not infeasible, it must be feasible. There may be a state that is feasible itself, but no matter what ODs are applied thereafter the system would eventually enter an infeasible state; such a state is called an unsafe one, and otherwise it is safe. A safe state guarantees the existence of a feasible schedule.

3. System Modeling with Petri Nets

With an OD being viewed as a control command, this work develops a method to schedule the system from a control perspective as done in [21,22]. Although the PN models in [31,32,33] are hybrid ones with both discrete and continuous places, they are not developed to describe the continuous material flows as required by the ODs. Thus, we modify the hybrid Petri net model presented in [21,22], due to the fact that they can describe the continuous material flows well. We first present models for devices including tanks and pipeline, then integrate them to develop the model for the whole system. A reader is referred to [34,35] for the basic knowledge of PN.
The above scheduling problem involves discrete-event variables, such as the source and destination of an OD, and continuous variables, such as volumes of crude oil and flow rates. Hence, both discrete and continuous places, and discrete and continuous transitions are needed to model the system. In the proposed PN model, a discrete place with a discrete token in it is used to implement the control logic of the system. A token in a continuous place can be treated as both discrete and continuous ones. When treated as a discrete one, it is used to describe some attributes such as if there is oil in a tank, and if the oil in a tank is ready to be discharged. When it is treated as a continuous one, it is used to describe the volume of oil in a tank. Note that a token in a continuous place indicates that there is oil in the tank modeled by the place. Also, a tank can hold one type of oil at a time. Thus, in the model, a continuous place can hold at most one token. If a token is sent to a continuous place that holds one token in it, the two tokens are merged into one with the volume being the sum. The flow rate of oil is described by the firing rate of a continuous transition. Moreover, colors are introduced to identify different types of crude oil, and time is also needed to describe the scheduling problem.
The proposed PN model is a kind of continuous-colored-timed PN (CCTPN) defined as CCTPN = (PDPCPE, TDTTTC, I, O, Ф, M0), where PD, PC, and PE are sets of discrete, continuous, and enforcing places, respectively; TD, TT, and TC are sets of discrete, timed, and continuous transitions, respectively; I and O are input and output functions, respectively; Ф represents the color sets defined on tokens in places; and M0 is the initial marking. The icons for the model are shown in Figure 1.

3.1. Device Modeling

The devices involved in crude oil operations include tanks (storage and charging tanks) and a pipeline. While scheduling a refinery without sufficient charging tanks, the crude oil must stay in storage tanks for ORT, but charging tanks may adopt the SCF mode during the execution of a schedule. Hence, the models for charging and storage tanks are different.
The PN model in Figure 2 describes the behavior of a storage tank and is the same as that in [21,22]. A storage tank is modeled by two continuous places ps and pc to describe its state. In the PN model, a token in a discrete place is treated as a discrete one and acts just as that in a general PN. For example, a token in p4 is just a discrete one. A token in a continuous place can be treated as both discrete and continuous one. When it is treated as a discrete one, it indicates that there is oil in a tank. For example, one token in ps or pc or both denotes that there is oil in it. Also, when t2 fires, the token in ps is removed just like a discrete one. When the token in a continuous place is treated as a continuous one, it represents the crude oil in the device with a real number volume, which is called the token volume. If there is a token in an enforcing place, it enforces the output transitions to fire until it is empty.
A discrete transition behaves the same as in a general PN. When a timed transition fires, it moves a token from an input place to an output place with a constant time delay, which is used to model the oil residency time constraint. When a continuous transition fires, oil is delivered from one place to another with a flow rate for a time duration, which is determined by an OD. Hence, crude oil unloading, transportation or feeding to distillers can be modeled by continuous transitions.
One token in ps indicates that the oil stays in the tank for less than ORT and is not ready for discharging. Only if there is a token in pc, and ps is empty, can the oil in the tank be discharged. Continuous place p3 models the capacity of the tank available at the current marking. Continuous transitions t1 and t3 model the processing of charging to and discharging from a tank. Timed transition t2 models the ORT constraint. When t2 completes its firing with a given time delay, the token in ps moves to pc, indicating that the oil in the tank is ready for discharging. Notice that a non-emptied tank can be charged when the type of oil to be charged to the tank is same as that in the tank. In this case, when the firing of t1 ends, both ps and pc hold a token such that both t2 and t3 are enabled. However, in this case, the firing of t3 results in the violation of oil residency time constraint. Hence, inhibitor arc (ps, t3) guarantees that t3 can fire only when ps is emptied, which implies that the oil stays in the tank for ORT. If transition t1 (t2, t3) fires, one token in place p4 is consumed at the beginning, and one token is put into place p4 when its firing ends. Since there is only one token in p4, during the firing of one of transitions t1, t2, and t3, the others are disabled, which ensures that a storage tank cannot be filled and discharged simultaneously. Thus, a storage tank can only be operated under the normal mode and its behavior is well described.
A charging tank should operate under the normal mode if possible. However, when the charging tanks in the system are not enough, the SCF mode has to be adopted to keep the distillers in operation. Thus, a charging tank should be modeled such that the behavior of both modes is described; the obtained PN model is shown in Figure 3. In this model, ps, pc, t1, t2, and t3 are the same as for the storage tank shown in Figure 2. Transitions t4 and t5, and place p5 are added to model the behavior of the SCF mode. Enforcing place p5 that can hold at most one token at a time is a control place that decides the operation mode of a tank. If a charging tank starts to adopt the SCF mode, one token is created and put into p5 such that t2 and t3 are disabled, and t5 is forced to fire to move the token in pc back to ps immediately if pc is not empty. At the same time, t4 is forced to fire for feeding a distiller and t1 can fire to charge the tank, i.e., the SCF mode is applied. When an instruction is received to end the SCF mode and switch to the normal mode, the token in p5 is removed away. Then, t4 is not enabled and cannot fire, and the tank goes back to the normal mode. Note that a charging tank can start to operate under the SCF mode, but the crude oil in it is no less than the safety stock, i.e., one token can be put into p5 only if the sum of the volume associated with the token in ps and pc is greater than or equal to the safety stock. This can be decided by a schedule. In this way, the behavior of a charging tank is well modeled.
The PN model for a pipeline that can hold three different segments of crude oil is shown in Figure 4 and is the same as that in [21,22]. Places p1p3 represent different oil segments in the pipeline. When discrete transitions t1 and t2 are enabled and fire, one token is moved from an input place into an output place immediately. Let TI = {tI1, …, tIk} and TO = {tO1, …, tOk}. As crude oil mixing is not considered here, the pipeline receives crude oil from only one storage tank and feeds only one charging tank with the same rate at a time. Hence, only one transition in TI and one in TO can fire with the same rate at a time. To simplify the PN model for the entire system, the pipeline is modeled in a hierarchical way and a macro transition y is used to describe the behavior of the pipeline when there is no confusion. In other words, when y fires, it implies that one transition in TI and one in TO fires at the same rate at the same time, which models the crude oil’s transport from storage tank to charging tank via a pipeline.

3.2. PN Model for the Whole System

The PN in Figure 5 models the whole system with two storage tanks, two charging tanks, and two distillers, where the discrete places, enforcing places, and their associated arcs, and the inhibitor arcs are omitted for concision. Crude oil is transported from storage tanks to charging tanks through a pipeline. Thus, y models both the discharging of storage tanks and the charging of charging tanks at the same time. In the model, {t11, t12, y, p1s, p1c, p13} and {t21, t22, y, p2s, p2c, p23} model the two storage tanks, while {y, t32, t33, t34, t35, p3s, p3c, p33} and {y, t42, t43, t44, t45, p4s, p4c, p43} model the two charging tanks.
Place p0 with F tokens in it models a tanker carrying F types of crude oil when it arrives. Transition t1 can fire to move one token from p0 to p1 only if p1 is empty, and models that only one type of oil can be unloaded at a time. At the right part, places p3 and p4 model two distillers, and t5 and t6 represent distillation. However, it should be noted that the PN model just describes the structure of the system, not the detailed dynamics of the crude oil flow. From the definition of a short-term schedule, the firing of a continuous transition is triggered by an OD. Thus, with the flow rate given by ODs and the transition enabling and firing rules, the dynamics of the crude oil flow in the PN model can be defined.
The set of input places of transition t (input transitions of place p) is denoted as t (p). Similarly, the set of output places of t (output transitions of p) is denoted as t (p). Furthermore, colors are introduced into the PN model to distinguish different types of crude oil and we let φi Ф denote the crude oil type i, i.e., the color of a token in a place. At marking M, the number of tokens with color φi in p is denoted as M(p, φi) and the associated volume is denoted as V(M(p, φi)). It should be pointed out that V(M(p, φi)) = 0 implies M(p, φi) = 0. With the above symbols, readers are referred to [21,22] for the transition enabling and firing rules. Then, we can discuss the scheduling problem by using the developed model.

4. Scheduling Method

To obtain a feasible short-term schedule, the most difficult step is to decide on ODTs and ODFs. In this paper, we assume that a refining schedule is given, as can be found in the methods in [28,30]. Given a refining schedule that is set according to the crude oil availability during the scheduling horizon, the feeding rate to the distillers is known, which implies that there is enough crude oil in the storage tanks to be processed. Hence, finding a detailed schedule to realize a given refining schedule is independent of the number of storage tanks and their capacity, and the storage tanks in the system are ignored when a PN model is presented in the discussion thereafter.
According to Wu et al. [21,22], the existence of a feasible short-term schedule is the key to finding a schedule under the normal mode. With the SCF mode, a schedule should be available. Nevertheless, since the SCF mode is undesirable, its use should be minimized and the normal mode should be applied if possible. Thus, to schedule the system, we adopt both modes and the SCF mode is adopted only for some charging tanks during some periods when necessary. Under the normal mode, the system with initial state M0 is said to be schedulable if there exists a feasible short-term schedule for a horizon (0, ∞) [21,22]. A state M is said to be safe if, with M as its initial state, the system is schedulable. Based on this safety concept, we discuss the scheduling problem to minimize the use of the SCF mode.
To minimize the use of the SCF mode, we need to measure such usage. When the SCF is applied for a charging tank by starting at time τ1, this mode is applied without interruption until time τ2. Then we say that, during time slot from τ1 to τ2, the SCF is applied to the charging tank. For a system with H charging tanks and K distillers, assume that charging tank CTKi adopts the SCF mode for Ni time slots during the scheduling horizon. Let τsin and τein denote the start and end time of the nth slot of applying the SCF mode for charging tank CTKi, respectively. Then the total time during which the charging tanks adopt the SCF mode is defined as Π = i = 1 H n = 1 N i ( τ e i n τ s i n ) . Furthermore, let Γ = (τs, τe) be the scheduling horizon. Then the usage of the SCF mode can be measured by δ = Π/K(τeτs), which gives the ratio of time during which the distillers are fed under the SCF mode. Hence, to minimize the usage of the SCF, we have to minimize δ. As the charging tanks are an important and limited resource, a utilization ratio is introduced to the charging tanks. A charging tank is at a working state if it is being charged, discharged, or t2 in Figure 2 fires; otherwise it is at an idle state. Let Ni denote the number of time slots during which charging tank CTKi is at a working state during the scheduling horizon, and ςsin and ςein denote the start and end time of the nth working slot of CTKi, respectively. Then, the utilization ratio of CTKi is defined as ρi = n = 1 N i ( ς e i n ς s i n ) / ( τ e τ s ) , and the utilization ratio for the whole system is defined as ρ = i = 1 H ρ i / H . We develop scheduling methods to find a schedule to minimize δ and increase ρ.
We use fdsi, fpmax, Ψ, and σ to denote the feeding rate to distiller DSi, the maximal oil transportation rate of the pipeline, the ORT, and the safety stock, respectively. Places pis and pic are used for charging tank CTKi in the PN model. As a scheduling method, it is meaningful only if the production rate of the system can reach the maximum since productivity is a very important criterion. Hence, in the following discussion, for a refinery with K distillers, we assume that the system operates at the maximal production rate, or k = 1 K f d s k = fpmax, where fdsk is the feeding rate to distiller DSk.
For a refinery with only one distiller at the maximal production rate, as proven in [21], three charging tanks are necessary to schedule the operation under the normal mode, which can usually be satisfied in practice. Hence, we focus on analyzing a system with multiple distillers. For a system with K distillers, all the distillers have to process crude oil concurrently and uninterruptedly. Hence, at least one charging tank must be dedicated to a distiller, which implies that no schedule can be found even if the SCF mode is adopted if the number of charging tanks is less than K. Based on practical scenarios without sufficient charging tanks, for a refinery with K distillers and N charging tanks, we discuss the scheduling problem for cases with KN < 2K. Also, in the following discussion, we assume that each distiller processes different oil types since the obtained results in this case are applicable to cases when some distillers process the same oil type.

4.1. Systems with Two Distillers

In [21], it is shown that, under the normal mode, no feasible schedule with maximal production rate can be found for a refinery with one distiller and two charging tanks. Thus, it is clear that if there are only two charging tanks for a two-distiller system, to obtain a schedule, the two distillers must be fed by applying the SCF mode all the time, i.e., δ = 1. Then, we discuss the case with three charging tanks. For this case, with the PN model shown in Figure 6, we have the following results.
Proposition 1.
Assume that: (1) there are two distillers DS1–2 with feeding rates fds1 and fds2, respectively, and α = Ψ × fpmax, α1 = Ψ × fds1, and α2 = Ψ × fds2; (2) there are three charging tanks CTK1–3 with capacities ξ1, ξ2, and ξ3, respectively; (3) fpmax = fds1 + fds2; and (4) initially, the volume of oil type 1 in CTK1 is ζ1, and the volumes of oil type 2 in CTK2 and CTK3 are ζ2 and ζ3, respectively. Then, a schedule can be found such that δ = 0.5 if Condition (3) holds:
{ σ ζ 1 ξ 1 μ × α 2 × f d s 1 / f p max ζ 2 = α 2 ζ 3 = μ × α 2 ,
where μ Є [fpmax/fds1, min{ξ22, ξ32}].
Proof. 
By the proof of the proposition, a method is given to find a schedule. To schedule the system, Condition (3) presents the necessary amount of oil that is initially in the charging tanks, which is easy to meet. In fact, if all the charging tanks are initially empty, no schedule can be found according to the operational requirements, no matter how many charging tanks there are. If there is more oil at the initial state, a schedule can be obtained similarly. By the obtained schedule, in order to keep DS1 in operation, CTK1 has to apply the SCF mode during the whole scheduling horizon due to the limited charging tanks. For DS2, by carefully scheduling the system, it is alternately fed by two charging tanks, CTK2 and CTK3, under the normal mode. If one of them is empty, the other can be used to feed the distiller. Hence, both CTK2 and CTK3 operate under the normal mode during the whole scheduling horizon. To do so, the key is that every time CTK1 (CTK2, CTK3) is charged, its volume is V1 = μ × α1 (V2 = μ × α2, V2 = μ × α2). Thus, a schedule can be found simply by using the proposed method.
Note that CTK2 is empty during [τ1, τ2], and the utilization ratio of CTK2 is ρ2 = 1 – (μ × fds1fpmax)/(μ × fpmax) = 1 − fds1/fpmax + 1/μ. Hence, CTK2 is not fully utilized. If time duration [τ1, τ2] can be made longer than Ψ, CTK2 can be used to feed DS1 for some time under the normal mode such that δ can be reduced by the full use of CTK2. Let ϖ = (μ × fds1 − 2 × fpmax)/(fds1 + fpmax). We have the following result.
Proposition 2.
Assume that: (1) there are two distillers DS1‒2 with feeding rates fds1 and fds2, respectively, and α = Ψ × fpmax, α1 = Ψ × fds1, and α2 = Ψ × fds2; (2) there are three charging tanks CTK1–3 with capacities ξ1, ξ2, and ξ3, respectively; (3) fpmax = fds1 + fds2; and (4) initially, the volume of oil type 1 in CTK1 is ζ1, and the volumes of oil type 2 in CTK2 and CTK3 are ζ2 and ζ3, respectively. Then, a schedule can be obtained such that δ = (μ − ϖ)/2μ if Condition (4) holds:
{ σ ζ 1 ξ 1 α 2 σ α 2 + ϖ × α 1 × f d s 1 / f p max ζ 1 ξ 1 μ × α 2 × f d s 1 / f p max ζ 2 = α 2 ζ 3 = μ × α 2 ,
where μ Є [max{(ϖ × fds1 + fpmax)/fds1, 2fpmax/fds1}, min{ξ22, ξ32}] and ϖ Є [0, min{ξ21, ξ31}].
Proof. 
This schedule is obtained by modifying that created by Proposition 1. By the scheduling method given in the proof of Proposition 2, DS2 is fed by CTK2 and CTK3 under the normal mode during the whole scheduling horizon, which is the same as that in Proposition 1. However, since CTK2 and CTK3 have idle time for feeding DS2, they can feed DS1 under the normal mode during their idle time such that the usage of the SCF mode is reduced. To do so, when the charging tanks are charged with volume V1 = μ × α1 of oil type 1, we do not charge all the crude oil into CTK1 at one time as done in Proposition 1; instead, V1 is divided into three parcels and charged in the following order: charge CTK1 with volume v1 = α1 → charge CTK2 or CTK3 with volume v2 = ϖ × α1 → charge CTK1 with volume v3 = (μϖ − 1)α1. By doing so, when the crude oil of type 1 in CTK2 or CTK3 is ready for discharging under the normal mode, it can be used to feed DS1 until it is used up. Note that, by doing so, DS2 is still fed under the normal mode.
For the obtained schedule using Proposition 2, CTK2 is used to feed DS2 and DS1 during [τ0, τ1] and [τ3, τ4] under the normal mode, respectively. In this way, the utilization ratio of CTK2 reaches ρ2 = 1. Furthermore, CTK1 and CTK3 are occupied during the whole scheduling horizon too. Hence, δ is minimized and cannot be reduced any more. It should be pointed out that such a schedule can be obtained only if μ ≥ max{(ϖ × fds1 + fpmax)/fds1, 2fpmax/fds1}, otherwise, CTK2 cannot be used to feed DS1 under the normal mode, and the system has to be scheduled using Proposition 1.

4.2. Scheduling a System with Three Distillers

For a system with three distillers, the scheduling problem is much more complicated than with two distillers. For such a system, if there are three charging tanks, it is obvious that we can use one tank to feed one distiller under the SCF mode and δ = 1. We then discuss cases with more than three charging tanks.

4.2.1. Case 1: Four Charging Tanks

The PN model for the system with three distillers and four charging tanks is shown in Figure 7. In this case, only one charging tank can be assigned to each of DS1 and DS2, and two charging tanks are assigned to DS3. Then, we present methods to schedule the system.
Proposition 3.
Assume that: (1) there are three distillers DS1–3 with feeding rates fds1, fds2, and fds3, respectively, and α = Ψ × fpmax, α1 = Ψ × fds1, α2 = Ψ × fds2, and α3 = Ψ × fds3; (2) there are four charging tanks CTK1–4 with capacities ξ1, ξ2, ξ3, and ξ4, respectively; (3) fpmax = fds1 + fds2 + fds3; and (4) initially, the volume of oil type 1 (2; 3; 3) in CTK1 (CTK2; CTK3; CTK4) is ζ12; ζ3; ζ4). Then, if Condition (5) holds, we can find a schedule with δ = 2/3.
{ σ ζ 1 ξ 1 μ × ( α α 1 ) × f d s 1 / f p max σ + μ × α 1 × f d s 2 / f p max ζ 2 ξ 2 μ × ( α α 1 α 2 ) × f d s 2 / f p max ζ 3 = α 3 ζ 4 = μ × α 3 ,
where μ Є [fpmax/(fds1 + fds2), min{ξ33, ξ43}].
Proof. 
Similar to Proposition 1, if two charging tanks are assigned to a distiller, this distiller can be fed under the normal mode during the whole scheduling horizon. For the distiller with only one charging tank being assigned, the SCF mode has to be applied. Just as in Proposition 1, the key to the proposed method is that every time crude oil of type 1 (2, 3) is charged, the volume of oil to be charged is V1 = μ × α1 (V2 = μ × α2, V3 = μ × α3).
With the obtained schedule by using the method given by Proposition 3, charging tank CTK3 is emptied at time τ0 + Ψ and it is kept to be empty until it starts to be charged at time τ1. Hence, CTK3 is not fully utilized and its utilization ratio is ρ3 = 1 − (μ × fds1 + μ × fds2fpmax)/(μ × fpmax) = 1 − (fds1 + fds2)/fpmax + 1/μ. Similar to the situation in Proposition 1, CTK3 can be used to reduce the usage of the SCF mode. Let ϖ = (μ × fds1 + μ × fds2 − 2 × fpmax)/(fds2 + fpmax). We have the following result.
Proposition 4.
Assume that: (1) there are three distillers DS1–3 with feeding rates fds1, fds2, and fds3, respectively, and α = Ψ × fpmax, α1 = Ψ × fds1, α2 = Ψ × fds2, α3 = Ψ × fds3, and fds1 ≥ fds2; (2) there are four charging tanks CTK1–4 with capacities ξ1, ξ2, ξ3, and ξ4, respectively; (3) fpmax = fds1 + fds2 + fds3; and (4) initially, the volume of oil type 1 (2; 3; 3) in CTK1 (CTK2; CTK3; CTK4) is ζ12; ζ3; ζ4). Then, if Condition (6) holds, we can find a schedule with δ = (2μ − ϖ)/3μ.
{ σ ζ 1 ξ 1 α 2 α 3 σ α 2 α 3 + ϖ × α 2 × f d s 1 / f p max ζ 1 ξ 1 ( μ × α ϖ × α 2 μ × α 1 ) × f d s 1 / f p max σ + ( μ × α 1 + ϖ × α 2 ) × f d s 2 / f p max ζ 2 ξ 2 ( μ × α ϖ × α μ × α 1 μ × α 2 ) × f d s 2 / f p max ζ 3 = α 3 ζ 4 = μ × α 3 ,
where μ Є [max{(ϖ×fds2 + fpmax)/(fds1 + fds2), 2fpmax/(fds1 + fds2)}, min{ξ33, ξ43}] and ϖ Є [0, min{ξ32, ξ42}].
Proof. 
For this proposed scheduling method, CTK3 or CTK4 is used to feed DS2 under the normal mode for some time. Similar to Proposition 2, when CTK3 or CTK4 finishes feeding DS3 and becomes empty, it is charged with volume v = ϖ × α2 of oil type 2. When the crude oil in it is ready for feeding under the normal mode, it starts feeding DS2 until it is empty, resulting in the reduction of the SCF mode operation time of CTK2.
By the above obtained schedule, all the charging tanks including CTK3, which has idle time for the schedule obtained by using Proposition 3, are fully utilized and the utilization ratio for the system is ρ = 1. Thus, δ cannot be reduced further and the schedule is optimal in terms of the minimization of δ. Notice that, if CTK3 is charged with oil type 1 instead of oil type 2 with volume ϖ’ × α1 when it is emptied at τ1, where ϖ’ = (μ × fds1 + μ × fds2 − 2 × fpmax)/(fds1 + fpmax), the system can be scheduled similarly. Consequently, we have Π’ = (2μϖ’) × Ψ ≤ (2μϖ) × Ψ = Π as fds1fds2. Hence, charging oil of type 2 into CTK3 is better than charging oil of type 1 into it at time τ1.

4.2.2. Case 2: Five Charging Tanks

Now we discuss the situation where there are five charging tanks and three distillers, and the PN model for it is shown in Figure 8. For this system, DS1 has only one charging tank, and the other two distillers have two charging tanks each.
Proposition 5.
Assume that: (1) there are three distillers DS1‒3 with feeding rates fds1, fds2, and fds3, respectively, and α = Ψ × fpmax, α1 = Ψ × fds1, α2 = Ψ × fds2, and α3 = Ψ × fds3; (2) there are five charging tanks CTK1–5 with capacities ξ1–5, respectively; (3) fpmax = fds1 + fds2 + fds3; and (4) initially, the volume of oil type 1 (2; 2; 3; 3) in CTK1 (CTK2; CTK3; CTK4; CTK5) is ζ12; ζ3; ζ4; ζ5). Then, if Condition (7) holds, a schedule can be found with δ = 1/3.
{ σ ζ 1 ξ 1 μ × ( α α 1 ) × f d s 1 / f p max ζ 2 = α 2 ζ 3 = μ × α 2 ζ 4 = α 3 ζ 5 = μ × α 3 ,
where μ Є [fpmax/fds1, min {ξ22, ξ32, ξ43, ξ53}].
Proof. 
By the obtained schedule for this case, the system is operated similarly to Propositions 1 and 3. CTK2 and CTK4 are empty and idle during [τ1, τ2] and [τ1, τ2 + (μ × α2)/fpmax], respectively, and their utilization ratios for these two charging tanks are ρ2 = 1 − (μ × fds1fpmax)/(μ × fpmax) and ρ4 = 1 − (μ × fds1 + μ × fds2fpmax)/(μ × fpmax), respectively. Thus, it is possible to use CTK2 and/or CTK4 to feed DS1 under the normal mode so as to reduce δ. By following this idea, we schedule the system as follows. Let ϖ = (μ × fds1 + μ × fds2 − 2 × fpmax)/(fds1 + fpmax). We have the following result.
Proposition 6.
Assume that: (1) there are three distillers DS1–3 with feeding rates fds1, fds2, and fds3, respectively, and α = Ψ × fpmax, α1 = Ψ × fds1, α2 = Ψ × fds2, α3 = Ψ × fds3, and fds2 ≥ fds3; (2) there are five charging tanks CTK1–5 with capacities ξ1–5, respectively; (3) fpmax = fds1 + fds2 + fds3; and (4) initially, the volume of oil type 1 (2; 2; 3; 3) in CTK1 (CTK2; CTK3; CTK4; CTK5) is ζ12; ζ3; ζ4; ζ5). Then, if Condition (8) holds, a schedule can be found with δ = (μ − ϖ)/3μ.
{ σ ζ 1 ξ 1 α 2 α 3 σ α 2 α 3 + ϖ × α 1 × f d s 1 / f p max ζ 1 ξ 1 ( μ × α ϖ × α μ × α 1 ) × f d s 1 / f p max ζ 2 = α 2 ζ 3 = μ × α 2 ζ 4 = α 3 ζ 5 = μ × α 3 ,
where μ Є [max{(ϖ × fds1 + fpmax)/fds1, 2fpmax/(fds1 + fds2)}, min{ξ22, ξ32, ξ43, ξ53}] and ϖ Є [0, min{ξ41, ξ51}].
Proof. 
The schedule generated by Proposition 6 is based on that obtained by Proposition 5. The difference is that CTK4 is used to feed DS1 under the normal mode for some time due to that CTK4 has idle time for the schedule obtained by Proposition 5. Thus, by using the scheduling method given in Proposition 6, CTK4 is fully utilized, but CTK2 is empty and idle during [τ0 + Ψ, τ0 + (μ × α1)/fpmax], i.e., the utilization ratio for CTK2 and CTK4 is ρ2 = 1 − (μ × fds1fpmax)/(μ × fpmax) and ρ4 = 1, respectively. In this case, we cannot make ρ = 1 for the entire system, since both CTK2 and CTK4 are emptied at time τ0 + Ψ but only one of them can be charged at a time. Moreover, if we charge CTK2 with oil type 3 instead of oil type 2 at time τ0 + (μ × α1)/fpmax, the system can be scheduled similarly and the time taken for CTK1 to feed DS1 under the SCF mode is reduced to ϖ’ ×Ψ = (μ × fds1 + μ × fds3 − 2 × fpmax)/(fds1 + fpmax) × Ψϖ × Ψ as fds2fds3 holds. Note that the charging of CTK1 is completed at time τ0 + (μ × α1)/fpmax and does not feed DS1 during [τ2ϖ × Ψ, τ2]. If τ2 − max{τ0 + (μ × α1)/fpmax, τ2ϖ × Ψ} ≥ Ψ holds, CTK1 can feed DS1 under the normal mode during [τ2, τ3], which implies δ = (μϖ)/3μfds3/3fpmax. Moreover, we can further reduce δ by increasing the utilization of both CTK2 and CTK4 rather than just one of them. By doing so, a more complex schedule with a large number of charging tank switches may be obtained. However, δ is reduced slightly such that the obtained schedule is not meaningful in practice. Nevertheless, it is applicable for a system with more than three distillers, which is discussed in the next section.

5. Scheduling for General Systems

In the last section, we discussed the scheduling problem for different cases. In this section, we extend these results to a general system with K distillers. For a system with K distillers and K charging tanks, it is obvious that a schedule with one tank feeding one distiller under the SCF mode can be found such that δ = 1. Then, we discuss the case with 2KN charging tanks, where N < K.

Case 1: 2K − N Charging Tanks

For a system with K distillers and 2KN charging tanks, where N < K, only one charging tank is assigned to each of distiller DS1‒N, and the other distillers have two charging tanks. Let charging tank CTKi be represented by {pis, pic, ti2, ti3, ti4, ti5} and distiller DSi be represented by pi in a PN model. Then, we present the following results.
Proposition 7.
Assume that: (1) there are K ≥ 3 distillers DS1‒K with feeding rates fds1–fdsK, and α = Ψ × fpmax, α1 = Ψ × fds1, α2 = Ψ × fds2, …, αK = Ψ × fdsK; (2) there are 2K − N (N < K) charging tanks CTK1–(2K − N) with capacities ξ1–(2K−N); (3) fpmax = fds1 + fds2 + … + fdsK; and (4) initially, the volume of oil type 1 (i; j; j) in CTK1 (CTKi; CTK(2j−N−1); CTK(2j−N)) is ζ1i; ζ(2j−N−1); ζ(2j−N)), i Є {2, 3, …, N} and j Є {N + 1, N + 2, …, K}. Then, if Condition (9) holds, a schedule can be found with δ = N/K.
{ σ ζ 1 ξ 1 μ × ( α α 1 ) × f d s 1 / f p max σ + μ × k = 1 i 1 α k × f d s i / f p max ζ i ξ i μ × ( α k = 1 i α k ) × f d s i / f p max σ + μ × k = 1 N 1 α k × f d s N / f p max ζ N ξ N μ × ( α k = 1 N α k ) × f d s N / f p max ζ ( N + 1 ) = α ( N + 1 ) ζ ( N + 2 ) = μ × α ( N + 1 ) ζ ( 2 j N 1 ) = α j ζ ( 2 j N ) = μ × α j ζ ( 2 K N 1 ) = α K ζ ( 2 K N ) = μ × α K ,
where μ Є [fpmax/(fds1 + fds2 + … + fdsN), min{ξ(N+1)(N+1), ξ(N+2)(N+1), …, ξ(2j−N−1)j, ξ(2j−N)j, …, ξ(2K−N−1)K, ξ(2K−N)K}].
Proof. 
Proposition 7 extends Propositions 1, 3, and 5 and presents a scheduling method for a general system with K distillers and 2KN charging tanks. By the method given in Proposition 7, every time a charging tank for feeding distiller DSi, i Є {1, 3, …, K}, is charged, μ × αi of oil is charged no matter what the operation mode of the charging tank is. Also, if the normal mode is applied, a charging tank is emptied after feeding a distiller. Thus, a schedule is easily found.
Note that charging tanks CTK2jN are empty during [τ0 + Ψ, τ0 + μ × (α1 + α2 + … + αj−1)/fpmax], j Є {N + 1, N + 2, …, K}, and can be used to reduce δ. Hence, among these charging tanks, Q tanks with 1 ≤ Q ≤ min{N, KN} can be used to feed DS(NQ+1)−N under the normal mode. Let ϖ1 = (μ × fds1 + μ × fds2 + … + μ × fds(KQ) − 2 × fpmax)/(fds(NQ+1) + fpmax), and ϖq = (μ × fds1 + μ × fds2 + … + μ × fds(q+KQ−1) – 2 × fpmaxϖ1 × fds(NQ+1)ϖ2 × fds(NQ+2) − … − ϖ(q−1) × fds(q+NQ−1))/(fds(q+NQ) + fpmax), q Є {2, 3, …, Q}, ϖ = ϖ1 + ϖ2 + … + ϖQ and Ωq = (ϖ1 × α(NQ+1) + ϖ2 × α(NQ+2) + … + ϖq × α(q+NQ))/fpmax. Further, let εi = μ × αi/fpmax if 1 ≤ iNQ + 1 and εi = (μϖ(iN+Q)αi/fpmax if NQ + 1 < iN. Then, there exists an integer L such that ε1 + ε2 + … + ε(L−1)Ψε1 + ε2 + … + εL and 1 ≤ LN hold. We present the following results.
Proposition 8.
Assume that: (1) there are K ≥ 3 distillers DS1–K with feeding rates fds1‒fdsK, and α = Ψ × fpmax, α1 = Ψ × fds1, α2 = Ψ × fds2, …, αK = Ψ × fdsK, fds1 ≥ fds2 ≥ … ≥ fdsN and fds(N + 1) ≥ fds(N + 2) ≥ … ≥ fdsK; (2) there are 2K − N (N < K) charging tanks CTK1–(2K−N) with capacities ξ1‒(2K−N); (3) fpmax = fds1 + fds2 + … + fdsK; and (4) initially, the volume of oil type 1 (i; L; l; j; j) in CTK1 (CTKi; CTKL; CTKl; CTK(2j−N−1); CTK(2j−N)) is ζ1i; ζL; ζl; ζ(2j−N−1); ζ(2j−N)), where i {2, 3, …, L − 1}, l { L + 1, L + 2, …, N}, and j Є {N + 1, N + 2, …, K}. Then, if Condition (10) holds, a schedule can be found with δ = (N × μ − ϖ)/(K × μ).
{ σ ζ 1 ξ 1 ε 1 × f p max + ε 1 × f d s 1 σ + k = 1 i 1 ε k × f d s i ζ i ξ i ε i × f p max + k = 1 i ε k × f d s i σ + k = 1 L 1 ε k × f d s L ζ L ξ L α + k = 1 L 1 ε k × f p max + α L σ α + k = 1 L 1 ε k × f p max + Ω × f d s L ζ L ξ L ε L × f p max + k = 1 L ε k × f d s L + Ω L × f d s L σ + k = 1 l 1 ε k × f d s l + Ω × f d s l ζ l ξ l ε l × f p max + k = 1 l ε k × f d s l + Ω l × f d s l σ + k = 1 N 1 ε k × f d s N + Ω × f d s N ζ N ξ N ε N × f p max + k = 1 l ε N × f d s l + Ω N × f d s N ζ ( N + 1 ) = α ( N + 1 ) ζ ( N + 2 ) = μ × α ( N + 1 ) ζ ( 2 j N 1 ) = α j ζ ( 2 j N ) = μ × α j ζ ( 2 K N 1 ) = α K ζ ( 2 K N ) = μ × α K ,
where μ Є [max{(ϖ1 × fds(N−Q+1) + ϖ2 × fds(N−Q+2) + … + ϖQ × fdsN + fpmax)/(fds1 + fds2 + … + fdsN), 2fpmax/(fds1 + fds2 + … + fds(K−Q))}, min{ξ(N+1)(N+1), ξ(N+2)(N+1), …, ξ(2j−N−1)j, ξ(2j−N)j, …, ξ(2K−N−1)K, ξ(2K–N)K}], ϖ1 Є [0, min{ξ(2K−2Q−N+1)(N−Q+1), ξ(2K−2Q−N+2)(N−Q+1)}], ϖ2 Є [0, min{ξ(2K−2M−Q+3)(N−Q+2), ξ(2K−2M−Q+4)(N−Q+2)}], …, and ϖQ Є [0, min{ξ(2K−N−1)N, ξ(2K−N)N}].
Proof. 
Proposition 8 is the extension of Propositions 2, 4, and 6 and presents a method to find a schedule for a general situation with 2KN charging tanks. The method given by Proposition 8 improves the one given by Proposition 7 by using the idle time of charging tanks to feed distillers under the normal mode. Thus, one needs to examine the idle time of such charging tanks and schedule the idle time by the method given in Proposition 8. The key is that, during the idle time of charging tank CTK(2q+2K−2Q N−1) or CTK(2q+2K−2QN), q Є {1, 2, …, Q}, for feeding DS(q+KQ), it is charged with volume ϖq × α(q+NQ) of oil type (q + N − Q), and feed DS(q+NQ) under the normal mode for some time. However, the total volume of oil type k, k Є {1, 2, …, K} that is charged into charging tanks remains Vk = μ × αk, which is the same as that in Proposition 7. However, for oil of type i, i Є {1, 2, …, N}, it may be divided into several parts and charged into the charging tanks sequentially according to the proposed method.
Note that, in order to reduce the number of switches in feeding distillers, we usually take the maximal value of μ. While adopting Proposition 8, the maximal μ is calculated first. Then, this value is used to calculate the corresponding ϖ. By examining the upper and lower bounds of μ and ϖ, we can decide Q and obtain the corresponding schedule. Note that the charging of CTKq is completed at time τq = τ0 + ε1 + ε2 + … + εq if q < L and τq = τ0 + ε1 + ε2 + … + εq + ΩQ if qL. If (τ1 + Ωq + (1 + ϖq) × Ψ) − max{τq, τ1 + Ωq + Ψ} ≥ Ψ holds, CTKq can feed DSq under the normal mode during [τ1 + Ωq + (1 + ϖq) × Ψ, τ2], which further reduces δ.
In the proposed scheduling method, the initial crude oil in the charging tanks should meet the given requirement. For charging tanks CTK1−N, the lower bound can be easily satisfied as σ is not large and there is usually crude oil in the charging tanks initially in practice. If the volume of initial crude oil exceeds the upper bounds, the pipeline can be set as idle for some time such that a charging tank keeps feeding without being charged until the crude oil in it is less than the upper bounds. For charging tanks CTK(N+1)−(2KN), the key is that the charging tank should be empty when the charging starts, which can be done if the pipeline is appropriately scheduled.
By the proposed scheduling methods, it is assumed that each distiller processes one type of crude oil only during the entire scheduling horizon. In practice, a distiller has to switch from processing one type of crude oil to another, which is not considered to ease the presentation of the proposed results. If a distiller has to process a new type of crude oil under the SCF mode, the crude oil with a volume larger than the safety stock should be charged into an empty charging tank first to satisfy the SCF constraint. Then, this charging tank can be used to feed the distiller under the SCF mode after the charging tank that is previously feeding the distiller finishes its discharging. For a charging tank that feeds DSi, i Є {N + 1, N + 2, …, K}, under the normal mode, it is charged with volume μ × αi every time. However, in some circumstances, the distiller has to process a new type of crude oil after ς < μ × αi of oil is processed. If ρ = 1 is not reached, an empty charging tank can be found and temporarily used for crude oil type switches. Then, the system is scheduled in the same way. Otherwise, it cannot be realized with the proposed method. In this case, we can use a charging tank in the system for oil type switches. Note that, as Q increases, ρ increases as well, resulting in δ being reduced; this, however, makes it harder to find an empty tank for the new type of crude oil. Hence, it is important to choose a suitable Q for the schedule.
It should be pointed out that, according to existing studies [21,22,27], three charging tanks for a distiller are generally required to find a feasible schedule with maximal production rate if only the normal mode is applied. Note that, in this paper, by carefully scheduling the system, we use two charging tanks for a distiller to realize the operation under the normal mode, and the SCF mode is adopted only when the number of charging tanks for a distiller is less than two. Thus, we minimize the number of charging tanks to find a schedule. When there are more charging tanks, a schedule can be more easily found.
Furthermore, with the proposed method, the SCF mode is avoided if it is possible when there are not enough charging tanks to allow for finding a feasible schedule under the normal mode. Also, by the proposed method, a schedule can be found to realize a given refining schedule with simple calculation, and we generate the detailed schedule step by step. Hence, it provides an efficient way to solve the scheduling problem for a refinery without sufficient charging tanks.

6. Industrial Case Study

This section presents a practical scenario of a refinery in China to show the application of the proposed method. The refinery has four distillers DS1DS4 with 10 charging tanks. A short-term schedule with 10-day scheduling horizon should be created three times a month to realize a target refining schedule. In this case, the refining schedule is shown in Figure 9, where #i denotes crude oil type #i, i Є {1, 2, …, 9}. The oil feeding rates for the distillers and maximal flow rate of the pipeline are fds1 = 323 tons/h, fds2 = 302 tons/h, fds3 = 625 tons/h, fds4 = 400 tons/h, and fpmax = 1650 tons/h, respectively, which indicates fpmax = fds1 + fds2 + fds3 + fds4. Note that distillers DS1DS3 operate normally, while DS4 is under maintenance at the beginning and will be put into operation at the beginning of the fifth day. The oil residency time for charging tanks is Ψ = 6 h, and the safety stock is σ = 1000 tons.
The initial state for the 10 charging tanks is shown in Table 1. Initially, CTK1, CTK4, and CTK8 are feeding DS1, DS2, and DS3, respectively. Note that, according to the refining schedule, the crude oil in CTK10 is not to be processed during the scheduling horizon, and CTK2 is under maintenance and cannot be used. Hence, there are three charging tanks ready for charging at the initial time. By checking the crude oil in the charging tanks and the refining schedule, we find that: (1) the pipeline needs to deliver 22,000 tons of oil type #1 from the storage tanks to the charging tanks for feeding DS1 after the oil initially in CTK1 and CTK3 is used up; (2) DS2 first processes the crude oil in CTK4 and CTK5, then these two charging tanks are ready for charging; (3) CTK8 will be ready for charging after the oil initially in it is used up by feeding DS3; and (4) CTK9 is empty and free to be charged. Therefore, when DS4 starts its operation at the beginning of the fifth day, the system has four distillers operating concurrently but only eight charging tanks are usable, i.e., there are not sufficient charging tanks in the refinery. Hence, the SCF mode has to be adopted for some time, and the system is scheduled with CTK1 and CTK3 being assigned to DS1, CTK4, and CTK5 to DS2, CTK8, and CTK9 to DS3, CTK6, to DS4, and CTK7 is used for the oil type switch if necessary. The PN model for this system is shown in Figure 10. Note that we do not model the charging tanks that are not available because they have no effect on finding a schedule. Also, in the model, CTK7, which is used for oil type switches, is ignored for concision. In the model, {y, ti2, ti3, ti4, ti5, pis, pic, pi3}, i Є {1, 2, …, 10}, model CTKi, while pk and tk, k Є {1, 2, 3, 4}, model DSk and its distillation, respectively.
Based on the PN model shown in Figure 10, we code the scheduling method given by Proposition 8 and the evolution rules of the model to verify the proposed method. For this case study, we have μ ≤ min{ξ1/α1, ξ3/α1, ξ4/α2, ξ5/α2, ξ8/α3, ξ9/α3, ξ6/α4, ξ5/α1} = 8. To fully utilize the charging tanks, we set μ = 8. As fds2 < fds1 < fds3 holds, we have ϖ1 = (μ × fds1 + μ × fds3 + μ × fds4 − 2fpmax)/(fds4 + fpmax) = 3.65. It can be verified that μ ≥ (ϖ1 × fds4 + fpmax)/fds4 = 7.78 and μ ≥ 2fpmax/(fds1 + fds3 + fds4) = 2.45 hold. As the conditions in Proposition 8 are satisfied, we set Q = 1 and use the idle time of CTK4 and CTK5 to feed DS4 under the normal mode for some time.
As the initial state is not exactly the same as required by Proposition 8, we can adjust the crude oil in the charging tanks by properly scheduling the oil delivering via the pipeline. Let τs = 0 h. According to Proposition 8, we schedule the pipeline as follows. When DS4 starts its operation at time τ1 = 96 h, one can use CTK4 to feed DS4 under the normal mode for some time. Thus, CTK4 must be emptied at time τ2 = τ1 + Ψ = 102 h. Hence, we charge it with volume v4 = (τ2τ0fds2 − 21,000 = 9804 tons of oil #4 only for feeding DS2 when it is charged the first time. For this case, DS1 has to process oil type #2 after 38,000 tons of oil type #1. We charge CTK1 with 13,000 tons of oil type #1 and charge CTK7 with 2504 tons of oil type #2 to realize the oil type switches.
To ensure the safety stock, we start charging CTK6 with volume 1000 tons of oil #7 at time τ3 = 95.4 h. By the above pipeline transportation schedule, at τ1, the initial crude oil in charging tanks satisfies Condition (10). By following the scheduling method given by Proposition 8, the volumes of crude oil that should be transported from storage tanks to charging tanks for feeding distillers DS1, DS2, DS3, and DS4 are V1 = μ × α1 = 15,504 tons, V2 = μ × α2 = 14,496 tons, V3 = μ × α3 = 30,000 tons and V4 = μ × α4 = 19,200 tons, respectively. When oil type #7 is transported, it should first be charged into CTK6 with volume v1 = Ψ × fpmax = 9900 tons, then into CTK4 or CTK5 with volume v2 = ϖ1 × fds1 = 8762 tons, and CTK6 again with volume v3 = V4v1v2 = 538 tons. As DS4 has to switch for processing different oil types, we charge CTK6 with v4 = 25,000 − V4 = 4800 tons of oil type #7 and charge CTK7 with v5 = v1v4 = 5100 tons of oil type #8. When the oil #7 in CTK6 for feeding DS4 is used up at time τ5 = 158.5 h and CTK6 is emptied, CTK7 starts feeding DS4 with oil type #7 under the SCF mode. The sequence of charging the charging tanks and the time point for each event are shown in Figure 11.
Therefore, a schedule that realizes the refining schedule is obtained and the Gantt charts in Figure 11 and Figure 12 present the oil transportation from storage tanks to charging tanks and the detailed schedules of distiller feeding. Furthermore, the detailed schedule of charging tanks CTK4, CTK5, CTK6, and CTK7 for being charged and feeding distillers is presented in Figure 13, which clearly shows how the method given by Proposition 8 schedules the system to reduce the time during which DS4 is fed by the charging tanks under the SCF mode. Since CTK6 or CTK7 is not charged or used to feed a distiller while CTK4 or CTK5 is feeding DS4 for ϖ1 × Ψ = 21.9 h > Ψ, CTK6 or CTK7 can feed DS4 under the normal mode until it is charged by the pipeline again. Thus, we have Π = 3 × (2Ψ + ϖ1 × α4/fpmax) = 51.9 h and δ = 51.9 ÷ (4 × 3 × 8 × 6) = 9% for the obtained schedule.
For this case, a detailed schedule that realizes the given refining schedule with all constraints considered is efficiently found. As pointed out in [21], if a mixed integer programming model is applied, the number of binary variables is huge and makes it extremely difficult or even impossible to solve such a large problem. Furthermore, the scheduling situation without sufficient charging tanks has not been discussed before, and the method proposed in [21,22] cannot be applied here as the number of charging tanks is much less than that required by the methods there. With the proposed method in this paper, a schedule can be easily created for a refinery without sufficient charging tanks such that the SCF mode is minimally used.

7. Discussion and Conclusions

Short-term scheduling for crude oil operations is a complex problem since a schedule needs to provide detailed activities such that all resource and process constraints are satisfied. Because of its NP-hard nature, there are no efficient techniques and software tools, and the scheduling job is still done manually. While scheduling a refinery without sufficient charging tanks, the limited number of charging tanks further complicates the problem. It is more challenging than a scheduling problem with sufficient charging tanks as the operational constraints and costs must be considered.
Instead of mathematical programming models, this paper studies the scheduling problem of crude oil operations by following a two-level architecture that solves the problem based on control theory. By this method, a detailed schedule is provided at the lower level to realize a refining schedule that is generated at the upper level. With this idea in mind, Wu et al. [21,22,24,25,26,27,28] built a hybrid PN model for the system to obtain a feasible schedule for crude oil operations. In these studies, generally, three charging tanks are needed for each distiller to find a schedule with the maximal production rate. Although their charging tank requirement can be satisfied for many refineries, there are refineries for which such a requirement is impossible. This is often the case when some charging tanks have to be maintained, or more distillers are installed without enough charging tanks being built. Hence, this work focuses on scheduling a refinery without sufficient charging tanks to solve such a practical problem. We build a new PN model for the system to describe the process accurately. Based on this model, a method that can schedule the system is proposed, and a schedule with the minimal usage of the SCF mode can be efficiently obtained via simple calculation.
This paper focuses on finding a schedule to realize a given refining schedule. When there are not sufficient charging tanks, it is better to create a refining schedule with the conditions given in this paper as constraints such that the obtained refining schedule is easy to realize. Our future work will take up this challenge.

Acknowledgments

This work was supported in part by the Science and Technology development fund (FDCT) of Macau under Grants 106/2016/A3, 065/2013/A2, and 078/2015/A3.

Author Contributions

This work was conducted by PhD student Yan An under the supervision of NaiQi Wu and ZhiWu Li. It was mainly drafted by Yan An and checked and revised by NaiQi Wu and ZhiWu Li. Chi Tin Hon collected and provided the data from a refinery, and conducted the case study and drafted the report for the case study.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Appendix A.1. Proof of Proposition 1

Consider the PN model shown in Figure 6. By assumption, initially at M0 (time τ0), we have M0(p1s) = M0(p2c) = M0(p3s) = 1, V(M0(p1s, φ1)) = ζ1, V(M0(p2c, φ2)) = α2, and V(M0(p3s, φ2)) = μ × α2. At this marking, t23 fires with color φ2 to feed p2 (DS2), but t13 cannot fire to feed p1 (DS1). As ζ1σ holds, we fire t14 (or SCF is adopted) with color φ1 to feed p1 and fire y with color φ1 to charge p1s simultaneously. At time τ1 = τ0 + Ψ, M1 is reached such that M1(p1s) = M1(p3c) = 1, V(M1(p1s, φ1)) = ζ1 + α2, and V(M1(p3c, φ2)) = μ × α2. At this marking, we fire t33 with color φ2 to feed p2 and t14 continues its firing, and y fires with color φ1 and volume μ × α1α to charge p1s as μfpmax/fds1. At time τ2 = τ1 + (μ × α1α)/fpmax = τ0 + (μ × α1)/fpmax, M2 is reached such that M2(p1s) = M2(p3c) = 1, V(M2(p1s, φ1)) = ζ1 + (μ × α1 × fds2)/fpmaxξ1, and V(M2(p3c, φ2)) = (μ + 1) × α2 − (μ × α1 × fds2)/fpmax. Then, t14 and t33 continue their firing with color φ1 and φ2 to feed p1 and p2, respectively, and y fires with color φ2 and volume μ × α2 to charge p2s. At τ3 = τ2 + (μ × α2)/fpmax = τ0 + μ × Ψ, M3 is reached such that M3(p1s) = M3(p2s) = M3(p3c) = 1, V(M3(p1s, φ1)) = ζ1, V(M3(p2s, φ2)) = μ × α2, and V(M3(p3c, φ2)) = α2. This marking is equivalent to M0. Hence, CTK1 is feeding DS1 under the SCF mode during [τ0, τ3] and Π = μ × Ψ, resulting in δ = 0.5.

Appendix A.2. Proof of Proposition 2

With the PN model shown in Figure 6, at marking M0 (time τ0), we have M0(p1s) = M0(p2c) = M0(p3s) = 1, V(M0(p1s, φ1)) = ζ1, V(M0(p2c, φ2)) = α2, and V(M0(p3s, φ2)) = μ × α2. At this marking, due to ζ1σ, the SCF mode is adopted for CTK1. Hence, we fire t14 with color φ1 to feed p1, at the same time, fire y with color φ1 and volume α to charge p1s, and fire t23 with color φ2 to feed p2. At time τ1 = τ0 + Ψ, M1 is reached such that M1(p1s) = M1(p3c) = 1, V(M1(p1s, φ1)) = ζ1 + α2ξ1 and V(M1(p3c, φ2)) = μ × α2. At this marking, we fire t14 with color φ1 and t33 with color φ2 to feed p1 and p2 respectively. Since CTK2 is empty, we fire y with color φ1 and volume ϖ × α1 to charge p2s instead of p1s. At time τ2 = τ1 + (ϖ × α1)/fpmax, M2 is reached such that M2(p1s) = M2(p2s) = M2(p3c) = 1, V(M2(p1s, φ1)) = ζ1 + α2 − (ϖ × α1×fds1)/fpmaxσ, V(M2(p2s, φ1)) = ϖ × α1ξ2, and V(M2(p3c, φ2)) = μ × α2 − (ϖ × α1 × fds2)/fpmax. Then, at this marking, t14 and t33 continue their firing with color φ1 and φ2 to feed p1 and p2, respectively, and y fires with color φ1 and volume (μϖ) × α1α ≥ 0 to charge p1s, as μ ≥ (ϖ × fds1 + fpmax)/fds1 holds. At time τ3 = τ2 + Ψ, M3 is reached such that the crude oil in CTK2 is ready for feeding under the normal mode and V(M3(p1s, φ1)) = ζ1 + 2α2 − (ϖ × α1 × fds1)/fpmax, V(M3(p2c, φ1)) = ϖ × α1, and V(M3(p3c, φ2)) = (μ − 1) × α2 − (ϖ × α1 × fds2)/fpmax. Then, we fire t23 instead of t14 with color φ1 to feed p1 under the normal mode. Transition t33 continues its firing with color φ2 to feed p2 and transition y continues its firing with color φ1 to charge p1s. At τ4 = τ3 + ϖ × Ψ = τ0 + (μ × α1)/fpmax, M4 is reached such that M4(p1s) = M4(p3c) = 1, V(M4(p1s, φ1)) = ζ1 + (μϖ) × α2 − (μ × α1 × fds1)/fpmax = ζ1 + (μ × α2 × fds1)/fpmaxξ1, and V(M4(p2s, φ2)) = (μ + 1)×α2 − (μ × α1 × fds2)/fpmax. Afterwards, the SCF mode is started again for CTK1 by firing transition t14 with color φ1 to feed p1. Besides, t33 continues its firing with color φ2 to feed p2, and y starts its firing with color φ2 and volume μ × α2 to charge p2s. At time τ5 = τ4 + (μ × α2)/fpmax = τ0 + μ × Ψ, M5 is reached such that M5(p1s) = M5(p2s) = M5(p3c) = 1, V(M5(p1s, φ1)) = ζ1, V(M5(p2s, φ2)) = μ × α2, and V(M5(p3c, φ2)) = α2, which is equivalent to M0. Therefore, the SCF mode is adopted for CTK1 during [τ0, τ3] and [τ4, τ5] for feeding DS1 and Π = (μϖ) × Ψ such that δ = (μϖ)/2μ = fpmax/(2fds1 + 2fpmax) + fpmax/(μ × fds1 + μ × fpmax).

Appendix A.3. Proof of Proposition 3

Based on the model in Figure 7, initially, at marking M0 (time τ0), we have M0(p1s) = M0(p2s) = M0(p3c) = M0(p4s) = 1, V(M0(p1s, φ1)) = ζ1σ, V(M0(p2s, φ2)) = ζ2σ, V(M0(p3c, φ3)) = α3, and V(M0(p4s, φ3)) = μ × α3. At this marking, the SCF mode has to be used for both CTK1 and CTK2 to feed DS1 and DS2, respectively, and we fire t14 with color φ1 to feed p1, fire t24 with color φ2 to feed p2. At the same time, we fire y with color φ1 and volume μ × α1 to charge p1s during [τ0, τ0 + (μ × α1)/fpmax], and with color φ2 and volume μ × α2 to charge p2s during [τ0 + (μ × α1)/fpmax, τ0 + (μ × α1 + μ × α2)/fpmax], respectively. Notice that, at time τ0 + (μ × α1)/fpmax, the crude oil in CTK1 is ζ1 + μ × α1 × (fpmaxfds1)/fpmaxξ1 and the crude oil in CTK2 is ζ1 + μ × α1 × fds2/fpmaxσ, which ensures the feasibility. Besides, in the sense of the normal mode, the crude oil in CTK4 is ready for feeding at time τ0 + Ψ, since (μ × α1 + μ × α2)/fpmaxΨ must hold due to μfpmax/(fds1 + fds2). Hence, we fire t33 and t43 with color φ3 to feed p3 during [τ0, τ0 + Ψ] and [τ0 + Ψ, τ0 + (μ × α1 + μ × α2)/fpmax] under the normal mode, respectively. At time τ1 = τ0 + (μ × α1 + μ × α2)/fpmax, M1 is reached such that M1(p1s) = M1(p2s) = M1(p4c) = 1, V(M1(p1s, φ1)) = ζ1 + μ × α1 × (fpmaxfds1fds2)/fpmax, V(M1(p2s, φ2)) = ζ2 + μ × α2 × (fpmaxfds1fds2)/fpmaxξ2, and V(M1(p4c, φ3)) = (μ + 1) × α3μ × α3 × (fds1 + fds2)/fpmax. At this time, y fires with color φ3 to charge p3s as CTK3 is already empty, and transitions t14, t24, and t43 continue their firing to feed p1, p2, and p3, respectively. At time τ2 = τ1 + μ × α3/fpmax = τ0 + μ × Ψ, the system is transferred to M2 such that M2(p1s) = M2(p2s) = M2(p3s) = M2(p4c) = 1, V(M2(p1s, φ1)) = ζ1, V(M2(p2s, φ2)) = ζ2, V(M2(p3s, φ3)) = μ × α3, and V(M2(p4c, φ3)) =α3, which is equivalent to M0. Since both CTK1 and CTK2 have to operate under the SCF mode for feeding p1 and p2 during the whole scheduling horizon, we have Π = 2μ × Ψ and δ = 2/3.

Appendix A.4. Proof of Proposition 4

Based on the model shown in Figure 7, the system can be scheduled as follows. At marking M0 (time τ0), M0(p1s) = M0(p2s) = M0(p3c) = M0(p4s) = 1, V(M0(p1s, φ1)) = ζ1σ, V(M0(p2s, φ2)) = ζ2σ, V(M0(p3c, φ3)) = α3, and V(M0(p4s, φ3)) = μ × α3 hold. We fire t14 with color φ1, t24 with color φ2, and t33 with color φ3 to feed p1, p2 and p3, respectively, and fire y with color φ1 and volume α to charge p1s. At time τ1 = τ0 + Ψ, CTK3 is emptied and the oil in CTK4 is ready for feeding under the normal mode. At this time, the system is transferred to M1 such that M1(p1s) = M1(p2s) = M1(p4c) = 1, V(M1(p1s, φ1)) = ζ1 + α2 + α3ξ1, V(M1(p2s, φ2)) = ζ2α2, and V(M1(p4c, φ3)) = μ × α3. At this marking, we continue firing t14 with color φ1, t24 with color φ2, and t43 with color φ3 to feed p1, p2, and p3, respectively. As CTK3 is emptied, we fire y with color φ2 and volume ϖ × α2 to charge p3s instead of p1s to increase the usage of CTK3. At time τ2 = τ1 + ϖ × α2/fpmax, M2 is reached such that M2(p1s) = M2(p2s) = M2(p3s) = M2(p4c) = 1, V(M2(p1s, φ1)) = ζ1 + α2 + α3 – (ϖ × α2 × fds1)/fpmaxσ, V(M2(p2s, φ2)) = ζ2α2 − (ϖ × α2 × fds2)/fpmax, V(M2(p3s, φ2)) = ϖ × α2, and V(M2(p4c, φ3)) = μ × α3 − (ϖ × α2 × fds3)/fpmax. Then, t14, t24, and t43 continue feeding p1, p2, and p3, respectively, but transition y switches to charge p1s with color φ1 and volume μ × α1α ≥ 0, as μ ≥ 2fpmax/(fds1 + fds2) and fds1fds2 hold, during [τ2, τ2 + (μ × α1α)/fpmax] and charge p2s with color φ2 and volume (μϖ) × α2 during [τ2 + (μ × α1α)/fpmax, τ2 + (μ × α1 + μ × α2ϖ × α2α)/fpmax]. Notice that, as the crude oil in CTK3 is ready for feeding at time τ2 + Ψ under the normal mode, we fire t33 instead of t24 with color φ2 to feed p2 during [τ2 + Ψ, τ2 + Ψ + ϖ × Ψ]. At time τ3 = τ2 + (μ × α1 + μ × α2ϖ × α2α)/fpmax = τ2 + Ψ + ϖ × Ψ = τ0 + (μ × α1 + μ × α2)/fpmax, the system is transferred to M3 such that M3(p1s) = M3(p2s) = M3(p4c) = 1, V(M3(p1s, φ1)) = ζ1 + μ × α1fds1 × (μ × α1 + μ × α2)/fpmax, V(M3(p2s, φ2)) = ζ2+ μ × α2fds2 × (μ × α1 + μ × α2)/fpmaxξ2, and V(M3(p4c, φ3)) = (μ + 1) × α3fds3 × (μ × α1 + μ × α2)/fpmax. At this marking, CTK3 is emptied, and CTK2 is used to feed DS2 under the SCF mode. Therefore, we fire y with color φ3 and volume μ × α3 to charge p3s, and fire t14 with color φ1, t24 with color φ2, and t43 with color φ3 to feed p1, p2, and p3, respectively. At time τ4 = τ3 + μ × α3/fpmax = τ0 + μ × Ψ, M4 is reached such that M4(p1s) = M4(p2s) = M4(p3s) = M4(p4c) = 1, V(M4(p1s, φ1)) = ζ1, V(M4(p2s, φ2)) = ζ2, V(M4(p3c, φ3)) = μ × α3, and V(M4(p4s, φ3)) =α3, which is equivalent to M0. During the scheduling horizon, CTK1 is used to feed DS1 under the SCF mode during [τ0, τ4], while CTK2 is used to feed DS2 under the SCF mode during [τ0, τ2 + Ψ] and (τ3, τ4), respectively, and DS2 is fed by CTK3 during [τ2 + Ψ, τ3] under the normal mode. Hence, Π = (2μϖ) × Ψ and δ = (2μϖ)/3μ for the obtained schedule.

Appendix A.5. Proof of Proposition 5

Based on the PN model shown in Figure 8, we can schedule the system as follows. At the initial marking M0 (time τ0), M0(p1s) = M0(p2c) = M0(p3s) = M0(p4c) = M0(p5s) = 1, V(M0(p1s, φ1)) = ζ1σ, V(M0(p2c, φ2)) = α2, V(M0(p3s, φ2)) = μ × α2, V(M0(p4c, φ3)) = α3, and V(M0(p5s, φ3)) = μ × α3 hold. In this case, the SCF mode is used for CTK1 only. Thus, we fire t14 with color φ1, t23 with color φ2, and t43 with color φ3 to feed p1, p2, and p3, respectively, and fire y with color φ1 to charge p1s. At time τ1 = τ0 + Ψ, CTK2 and CTK4 are emptied, and the crude oil in CTK3 and CTK5 are ready for feeding under the normal mode, i.e., the system is transferred into M1 such that M1(p1s) = M1(p3c) = M1(p5c) = 1, V(M1(p1s, φ1)) = ζ1 + α2 + α3, V(M1(p3c, φ2)) = μ × α2, and V(M1(p5c, φ3)) = μ × α3. At M1, we fire t33 with color φ2 and t53 with color φ3 to feed p2 and p3, respectively, and transitions t14 and y continue their firing to feed p1 and charge p1s, respectively. At time τ2 = τ1 + (μ × α1α)/fpmax = τ0 + (μ × α1)/fpmax, as μfpmax/fds1 holds, M2 is reached such that M2(p1s) = M2(p3c) = M2(p5c) = 1, V(M2(p1s, φ1)) = ζ1 + μ × α1 × (fpmaxfds1)/fpmaxξ1, V(M2(p3c, φ2)) = (μ + 1)×α2μ × α1 × fds2/fpmax, and V(M2(p5c, φ3)) = (μ + 1)×α3μ × α1 × fds3/fpmax. At this time, t14, t33, and t53 continue their firing with color φ1, φ2, and φ3 to feed p1, p2, and p3, respectively, and y fires with color φ2 and volume μ × α2 to charge p2s during [τ2, τ2 + (μ × α2)/fpmax] and with color φ3 and volume μ × α3 to charge p4s during [τ2 + (μ × α2)/fpmax, τ2 + (μ × α2 + μ × α3)/fpmax]. At time τ3 = τ2 + (μ × α2 + μ × α3)/fpmax = τ0 + μ × Ψ, the system is transferred to M3 such that M3(p1s) = M3(p2s) = M3(p3c) = M3(p4s) = M3(p5c) = 1, V(M3(p1s, φ1)) = ζ1, V(M3(p2s, φ2)) = μ × α2, V(M3(p3c, φ2)) = α2, V(M3(p4s, φ3)) = μ × α3, and V(M3(p5c, φ3)) = α3, which is equivalent to M0. By the obtained schedule, the SCF mode is adopted for CTK1 to feed DS1 during [τ0, τ3]. Hence, we have Π = μ × Ψ and δ = 1/3.

Appendix A.6. Proof of Proposition 6

With the PN model shown in Figure 8, we schedule the system as follows. At marking M0 (time τ0), M0(p1s) = M0(p2c) = M0(p3s) = M0(p4c) = M0(p5s) = 1, V(M0(p1s, φ1)) = ζ1σ, V(M0(p2c, φ2)) = α2, V(M0(p3s, φ2)) = μ × α2, V(M0(p4c, φ3)) = α3, and V(M0(p5s, φ3)) = μ × α3 hold. At this marking, we fire t14 with color φ1, t23 with color φ2, and t43 with color φ3 to feed p1, p2 and p3, respectively, and at the same time fire y with color φ1 to charge p1s. At time τ1 = τ0 + Ψ, M1 is reached such that M1(p1s) = M1(p3c) = M1(p5c) = 1, V(M1(p1s, φ1)) = ζ1 + α2 + α3ξ1, V(M1(p3c, φ2)) = μ × α2, and V(M1(p5c, φ3)) = μ × α3. At this marking, t14 continues its firing with color φ1 to feed p1, and t33 fires with color φ2 and t53 fires with color φ3 to feed p2 and p3, respectively. At the same time, y fires with color φ1 and volume ϖ × α1 to charge p4s during [τ1, τ1 + (ϖ × α1)/fpmax], with color φ1 and volume (μϖ) × α1α ≥ 0, as μ ≥ (ϖ × fds1 + fpmax)/fds1 holds, to charge p1s during [τ1 + (ϖ × α1)/fpmax, τ0 + (μ × α1)/fpmax], and with color φ2 and volume μ × α2 to charge p2s during [τ0 + (μ × α1)/fpmax, τ0 + (μ × α1 + μ × α2)/fpmax]. Note that, the volumes of crude oil in CTK1 at time τ1 + (ϖ × α1)/fpmax and τ0 + (μ × α1)/fpmax are ζ1 + α2 + α3 − (ϖ × α1 × fds1)/fpmaxσ and ζ1 + (μϖ) × α1 − (μ × α1 × fds1)/fpmaxξ1, respectively, which implies that these operations for CTK1 are feasible. Furthermore, the oil in CTK4 is ready for feeding at time τ1 + (ϖ × α1)/fpmax + Ψ under the normal mode. Therefore, we fire t43 with color φ1 instead of t14 to feed p1 under the normal mode during [τ1 + (ϖ × α1)/fpmax + Ψ, τ1 + (ϖ × α1)/fpmax + (1 + ϖ) × Ψ]. At time τ2 = τ1 + (ϖ × α1)/fpmax + (1 + ϖ) × Ψ = τ0 + (μ × α1 + μ × α2)/fpmax, CTK4 is emptied and the charging of CTK2 is completed such that M2 is reached. At M2, M2(p1s) = M2(p2s) = M2(p3c) = M2(p5c) = 1, V(M2(p1s, φ1)) = ζ1 + μ × α1 − (μ × α1 + μ × α2) × fds1/fpmax, V(M2(p2s, φ2)) = μ × α2, V(M2(p3c, φ2)) = (μ + 1) × α2 − (μ × α1 + μ × α2) × fds2/fpmax, and V(M2(p5c, φ3)) = (μ + 1) × α3 − (μ × α1 + μ × α2) × fds2/fpmax hold. At this time, we continue firing t14 with color φ1, t33 with color φ2, and t53 with color φ3 to feed p1, p2 and p3, respectively. At the same time, we fire y with color φ3 and volume μ × α3 to charge p4s. At time τ3 = τ2 + (μ × α3)/fpmax = τ0 + μ × Ψ, M3 is reached such that M3(p1s) = M3(p2s) = M3(p3c) = M3(p4s) = M3(p5c) = 1, V(M3(p1s, φ1)) = ζ1, V(M3(p2s, φ2)) = μ × α2, V(M\3(p3c, φ2)) = α2, V(M3(p4s, φ3)) = μ × α3, and V(M3(p5c, φ3)) =α3, which is equivalent to M0. In this way, a schedule is found and the SCF mode is applied for CTK1 only to feed DS1 during [τ0, τ2ϖ × Ψ] and [τ2, τ3]. Hence, for the obtained schedule we have Π = (μϖ) × Ψ and δ = (μϖ)/3μ.

Appendix A.7. Proof of Proposition 7

With {pis, pic, ti2, ti3, ti4, ti5} and pi representing a charging tank and distiller DSi in a PN model for the system, respectively, we schedule the system as follows. At the initial marking M0 (time τ0), we have M0(p1s) = M0(pis) = M0(p(2jN−1)c) = M0(p(2jN)s) = 1, V(M0(p1s, φ1)) = ζ1σ, V(M0(pis, φi)) = ζi, V(M0(p(2jN−1)c, φj) = αj, V(M0(p(2jN)s, φj) = μ × αj, i Є {2, 3, …, N} and j Є {N + 1, N + 2, …, K}. We fire t14 with color φ1 to feed p1, ti4 with color φi to feed pi, i Є {2, 3, …, N}, and t(2jN1)3 with color φj to feed pj, j {N + 1, N + 2, …, K}, respectively. At the same time, we fire y in the following order: with color φ1 and volume μ × α1 to charge p1s, with color φ2 and volume μ × α2 to charge p2s → … → with color φN and volume μ × αN to charge pNs. Notice that, CTKi is charged during [τ0 + μ × (α1 + α2 + … + αi−1)/fpmax, τ0 + μ × (α1 + α2 + … + αi)/fpmax], i Є {2, 3, …, N}, the oil in CTKi ranges from ζifdsi × μ × (α1 + α2 + … + αi−1)/fpmaxσ to ζi + fdsi × μ × (αα1α2 − … − αi)/fpmaxξi, which ensures the feasibility. Furthermore, when CTK(2jN1) is emptied at time τ0 + Ψ, j {N + 1, N + 2, …, K}, the crude oil in CTK(2jN) is ready for feeding under the normal mode. Then, we fire t(2jN)3 with color φj to feed pj. At time τ1 = τ0 + μ × (α1 + α2 + … + αN)/fpmaxτ0 + Ψ, as μfpmax/( fds1 + fds2 + … + fdsN) holds, M1 is reached such that M1(p1s) = M1(pis) = M1(p(2jN)c) = 1, V(M1(p1s, φ1)) = ζ1 + fds1 × μ × (αα1α2 − … − αN)/fpmax, V(M1(pis, φi)) = ζi + fdsi × μ × (αα1α2 − … − αN)/fpmax, V(M1(p(2jN)c, φj) = (μ + 1)αjfdsj × μ × (α1 + α2 + … + αN)/fpmax, i Є {2, 3, …, N} and j Є {N + 1, N + 2, …, K}. At this time, we continue firing t14 with color φ1 to feed p1, ti4 with color φi to feed pi and t(2jN)3 with color φj to feed pj, respectively, i Є {2, 3, …, N} and j Є {N + 1, N + 2, …, K}. Transition y fires in the following order: with color φN+1 and volume μ × αN+1 to charge p(N+1)s → with color φN+2 and volume μ × αN+2 to charge p(N+3)s → … → with color φK and volume μ × αK to charge p(2KN−1)s. At time τ2 = τ1 + μ × (αN+1 + αN+2 + … + αK)/fpmax = τ0 + μ × Ψ, the system is transferred to M2 such that M2(p1s) = M2(pis) = M2(p(2jN1)s) = M2(p(2jN)c) = 1, V(M2(p1s, φ1)) = ζ1, V(M2(pis, φi)) = ζi, V(M2(p(2jN1)s, φj) = μ × αj, V(M2(p(2jN)c, φj) = αj, i Є {2, 3, …, N} and j Є {N + 1, N + 2, …, K}, which is equivalent to M0. By the obtained schedule, CTK1‒N is used to feed DS1–N under the SCF mode during [τ0, τ2]. Hence, we have Π = μ × N × Ψ and δ = N/K.

Appendix A.8. Proof of Proposition 8

With {pis, pic, ti2, ti3, ti4, ti5} and pi representing charging tank CTKi and distiller DSi in a PN model for the system, respectively, we schedule the system as follows. At the initial marking M0 (time τ0), we have M0(p1s) = M0(pis) = M0(p(2jN−1)c) = M0(p(2jN)s) = 1, V(M0(p1s, φ1)) = ζ1σ, V(M0(pis, φi)) = ζi, V(M0(p(2jN−1)c, φj) = αj, V(M0(p(2jN)s, φj) = μ × αj, i Є {2, 3, …, N} and j {N + 1, N + 2, …, K}. We fire t14 with color φ1 to feed p1, ti4 with color φi to feed pi, t(2jN−1)3 with color φj to feed pj, respectively. Meanwhile, we fire y in the following order: with color φ1 and volume ε1 × fpmax to charge p1s → with color φ2 and volume ε2 × fpmax to charge p2s → … → with color φL and volume α – (ε1 + ε2 + … + ε(L−1)) × fpmax to charge pLs. At time τ1 = τ0 + Ψ, M1 is reached such that M1(p1s) = M1(pis) = M1(p(2jN)c) = 1, V(M1(p1s, φ1)) = ζ1 + ε1 × fpmaxα1, V(M1(pis, φi)) = ζi + εi × fpmaxαi, V(M1(pLs, φL)) = ζL + α − (ε1 + ε2 + … + ε(L−1)) × fpmaxαL, V(M1(pks, φk)) = ζkαk, V(M1(p(2jN)c, φj) = μ × αj, i {2, 3, …, L − 1}, k {L + 1, L + 2, …, N}, and j {N + 1, N + 2, …, K}. At this marking, we fire t14 with color φ1 to feed p1, ti4 with color φi to feed pi, i {2, 3, …, N}, and t(2jN)3 with color φj to feed pj, j {N + 1, N + 2, …, K}. At the same time, we fire y in the following order: with color φ(NQ+1) and volume ϖ1 × α(NQ+1) to charge p(2K−2QN+1)s → with color φ(NQ+2) and volume ϖ2 × α(NQ+2) to charge p(2K−2QN+3)s → … → with color φN and volume ϖQ × αN to charge p(2KN−1)s → with color φL and volume (ε1 + ε2 + … + ε(L−1) + εL) × fpmaxα to charge pLs → with color φ(L+1) and volume ε(L+1) × fpmax to charge p(L+1)s → … → with color φN and volume εN × fpmax to charge pNs → with color φ(N+1) and volume μ × α(N+1) to charge p(N+1)s → with color φ(N+2) and volume μ × α(N+2) to charge p(N+3)s → … → with color φ(KQ) and volume μ × α(KQ) to charge p(2K−2QN−1)s → with color φ(KQ 1) and volume μ × α(KQ+1) to charge p(2K−2QN+1)s → … → with color φK and volume μ × αK to charge p(2KN−1)s. Notice that, as the charging of CTK(2q+2K−2QN−1), q {1, 2, …, Q}, is completed at time τ1 + Ωq, it can be used to feed DS(NQ+q) during [τ1 + Ωq + Ψ, τ1 + Ωq + (1 + ϖq) × Ψ] under the normal mode. Then, it is emptied at time τ1 + Ωq + (1 + ϖqΨ = τ0 + μ × (α1 + α2 + … + α(q+KQ−1))/fpmax, q Є {1, 2, …, Q}and can be charged with volume μ × α(q+KQ) of oil type q + KQ. Moreover, Condition (10) ensures the feasibility of the system. At time τ2 = τ0 + μ × Ψ, the system is transferred to M2 such that M2(p1s) = M2(pis) = M2(p(2jN −1)s) = M2(p(2jN)c) = 1, V(M2(p1s, φ1)) = ζ1, V(M2(pis, φi)) = ζi, V(M2(p(2jN1)c, φj) = μ × αj, V(M2(p(2jN)s, φj) = αj, i {2, 3, …, N} and j Є {N + 1, N + 2, …, K}, which is equivalent to M0. During [τ0, τ2], CTKi is used to feed DSi under the SCF mode, i {1, 2, …, NQ}. As DS(q+NQ), q {1, 2, …, Q}, is fed by CTK(q+NQ) under the SCF mode during [τ0, τ1 + Ωq + Ψ] and [τ1 + Ωq + (1 + ϖq) × Ψ, τ2], and by CTK(2q+2K−2QN−1) under the normal mode during [τ1 + Ωq + Ψ, τ1 + Ωq + (1 + ϖq) × Ψ]. Hence, we have Π = (N × μϖ1ϖ2 − … − ϖQ) × Ψ = (N × μϖ) × Ψ and δ = (N × μϖ)/(K × μ).

References

  1. Shah, N. Planning and Scheduling-Single-and Multisite Planning and Scheduling: Current Status and Future Challenges. AIChE Symp. Ser. 1998, 34, 75–90. [Google Scholar]
  2. Moro, L.F.L. Process technology in the petroleum refining industry—Current situation and future trends. Comput. Chem. Eng. 2003, 27, 1303–1305. [Google Scholar] [CrossRef]
  3. Kallestrup, K.B.; Lynge, L.H.; Akkerman, R.; Oddsdottir, T.A. Decision support in hierarchical planning systems: The case of procurement planning in oil refining industries. Decis. Support Syst. 2014, 68, 49–63. [Google Scholar] [CrossRef]
  4. Pinto, J.M.; Moro, L.F.L. A planning model for petroleum refineries. Braz. J. Chem. Eng. 2000, 17, 575–585. [Google Scholar] [CrossRef]
  5. Pelham, R.; Pharris, C. Refinery Operations and Control: A Future Vision; National Petroleum Refiners Association: Washington, DC, USA, 1996. [Google Scholar]
  6. Shobrys, D.E.; White, D.C. Planning, scheduling and control systems: Why cannot they work together. Comput. Chem. Eng. 2002, 26, 149–160. [Google Scholar] [CrossRef]
  7. Honkomp, S.J.; Lombardo, S.; Rosen, O.; Pekny, J.F. The curse of reality—Why process scheduling optimization problems are difficult in practice. Comput. Chem. Eng. 2000, 24, 323–328. [Google Scholar] [CrossRef]
  8. Lee, H.; Pinto, J.M.; Grossmann, I.E.; Park, S. Mixed-Integer Linear Programming Model for Refinery Short-Term Scheduling of Crude Oil Unloading with Inventory Management. Ind. Eng. Chem. Res. 1996, 35, 1630–1641. [Google Scholar] [CrossRef]
  9. Pinto, J.M.; Joly, M.; Moro, L.F.L. Planning and scheduling models for refinery operations. Comput. Chem. Eng. 2000, 24, 2259–2276. [Google Scholar] [CrossRef]
  10. Saharidis, G.K.D.; Minoux, M.; Dallery, Y. Scheduling of loading and unloading of crude oil in a refinery using event-based discrete time formulation. Comput. Chem. Eng. 2009, 33, 1413–1426. [Google Scholar] [CrossRef]
  11. Shah, N. Mathematical programming techniques for crude oil scheduling. Comput. Chem. Eng. 1996, 20, S1227–S1232. [Google Scholar] [CrossRef]
  12. Jia, Z.Y.; Ierapetritou, M. Efficient short-term scheduling of refinery operations based on a continuous time formulation. Comput. Chem. Eng. 2004, 28, 1001–1019. [Google Scholar] [CrossRef]
  13. Jia, Z.Y.; Ierapetritou, M.; Kelly, J.D. Refinery short-term scheduling using continuous time formulation: Crude-oil operations. Ind. Eng. Chem. Res. 2003, 42, 3085–3097. [Google Scholar] [CrossRef]
  14. Mouret, S.; Grossmann, I.E.; Pestiaux, P. A Novel Priority-Slot Based Continuous-Time Formulation for Crude-Oil Scheduling Problems. Ind. Eng. Chem. Res. 2009, 48, 8515–8528. [Google Scholar] [CrossRef]
  15. Mendez, C.A.; Grossmann, I.E.; Harjunkoski, I.; Kabore, P. A simultaneous optimization approach for off-line blending and scheduling of oil-refinery operations. Comput. Chem. Eng. 2006, 30, 614–634. [Google Scholar] [CrossRef]
  16. Bai, L.P.; Wu, N.Q.; Li, Z.W.; Zhou, M.C. Optimal one-wafer cyclic scheduling and buffer space configuration for single-arm multicluster tools with linear topology. IEEE Trans. Syst. Man Cybern. Syst. 2016, 46, 1456–1467. [Google Scholar] [CrossRef]
  17. Wu, N.Q.; Chu, F.; Chu, C.B.; Zhou, M.C. Petri net modeling and cycle time analysis of dual-arm cluster tools with wafer revisiting. IEEE Trans. Syst. Man Cybern. Syst. 2013, 43, 196–207. [Google Scholar] [CrossRef]
  18. Wu, N.Q.; Zhou, M.C. Modeling, analysis and control of dual-arm cluster tools with residency time constraint and activity time variation based on Petri nets. IEEE Trans. Autom. Sci. Eng. 2012, 9, 446–454. [Google Scholar]
  19. Wu, N.Q.; Zhou, M.C. Schedulability analysis and optimal scheduling of dual-arm cluster tools with residency time constraint and activity time variation. IEEE Trans. Autom. Sci. Eng. 2012, 9, 203–209. [Google Scholar]
  20. Yang, F.J.; Wu, N.Q.; Qao, Y.; Zhou, M.C.; Li, Z.W. Scheduling of single-arm cluster tools for an atomic layer deposition process with residency time constraints. IEEE Trans. Syst. Man Cybern. Syst. 2017, 47, 502–516. [Google Scholar] [CrossRef]
  21. Wu, N.Q.; Chu, F.; Chu, C.; Zhou, M.C. Short-term schedulability analysis of crude oil operations in refinery with oil residency time constraint using Petri nets. IEEE Trans. Syst. Man Cybern. Part C Appl. Rev. 2008, 38, 765–778. [Google Scholar] [CrossRef]
  22. Wu, N.Q.; Chu, F.; Chu, C.; Zhou, M.C. Short-term schedulability analysis of multiple distiller crude oil operations in refinery with oil residency time constraint. IEEE Trans. Syst. Man Cybern. Part C Appl. Rev. 2009, 39, 1–16. [Google Scholar]
  23. Wu, N.Q.; Zhou, M.C.; Chu, F. A Petri net-based heuristic algorithm for realizability of target refining schedule for oil refinery. IEEE Trans. Autom. Sci. Eng. 2008, 5, 661–676. [Google Scholar]
  24. Wu, N.Q.; Zhou, M.C.; Li, Z.W. Short-term scheduling of crude-oil operations: Petri net-based control-theoretic approach. IEEE Robot. Autom. Mag. 2015, 22, 64–76. [Google Scholar] [CrossRef]
  25. Wu, N.Q.; Chu, F.; Chu, C.B.; Zhou, M.C. Hybrid Petri net modeling and schedulability analysis of high fusion point oil transportation under tank grouping strategy for crude oil operations in refinery. IEEE Trans. Syst. Man Cybern. Part C 2010, 40, 159–175. [Google Scholar]
  26. Wu, N.Q.; Chu, F.; Chu, C.B.; Zhou, M.C. Tank cycling and scheduling analysis of high fusion point oil transportation for crude oil operations in refinery. Comput. Chem. Eng. 2010, 34, 529–543. [Google Scholar] [CrossRef]
  27. Wu, N.Q.; Chu, C.; Chu, F.; Zhou, M.C. Schedulability Analysis of Short-Term Scheduling for Crude Oil Operations in Refinery with Oil Residency Time and Charging-Tank-Switch-Overlap Constraints. IEEE Trans. Autom. Sci. Eng. 2011, 8, 190–204. [Google Scholar] [CrossRef]
  28. Wu, N.Q.; Zhou, M.C.; Bai, L.P.; Li, Z.W. Short-term scheduling of crude oil operations in refinery with high fusion point oil and two transportation pipelines. Enterp. Inform. Syst. 2016, 10, 581–610. [Google Scholar] [CrossRef]
  29. Wu, N.Q.; Bai, L.P.; Zhou, M.C. An efficient scheduling method for crude oil operations in refinery with crude oil type mixing requirements. IEEE Trans. Syst. Man Cybern. Syst. 2016, 46, 413–426. [Google Scholar] [CrossRef]
  30. Wu, N.Q.; Bai, L.P.; Zhou, M.C.; Chu, F.; Mammar, S. A novel approach to optimization of refining schedules for crude oil operations in refinery. IEEE Trans. Syst. Man Cybern. Part C 2012, 42, 1042–1053. [Google Scholar]
  31. Gribaudo, M.; Sereno, M.; Horv, A.; Bobbio, A. Fluid stochastic petri nets augmented with flush-out arcs: Modelling and analysis. Discret. Event Dyn. Syst. 2001, 11, 97–117. [Google Scholar] [CrossRef]
  32. Horton, G.; Kulkarni, V.G.; Nicol, D.M.; Trivedi, K.S. Fluid stochastic petri nets: Theory, applications, and solution techniques. Eur. J. Oper. Res. 1998, 105, 184–201. [Google Scholar] [CrossRef]
  33. Sanders, W.H.; Meyer, J.F. Stochastic Activity Networks: Formal Definitions and Concepts⋆. In Lectures on Formal Methods and Performance Analysis; Springer: Berlin, Germany, 2001; pp. 315–343. [Google Scholar]
  34. Wang, J. Timed Petri Nets: Theory and Application; Springer: New York, NY, USA, 1998. [Google Scholar]
  35. Zhou, M.C.; Venkatesh, K. Modeling, Simulation, and Control of Flexible Manufacturing Systems: A Petri Net Approach; World Scientific: Singapore, 1999. [Google Scholar]
Figure 1. Icons in the model.
Figure 1. Icons in the model.
Applsci 07 00564 g001
Figure 2. PN model for storage tanks.
Figure 2. PN model for storage tanks.
Applsci 07 00564 g002
Figure 3. PN model for charging tanks.
Figure 3. PN model for charging tanks.
Applsci 07 00564 g003
Figure 4. The PN model for the pipeline.
Figure 4. The PN model for the pipeline.
Applsci 07 00564 g004
Figure 5. PN model of the whole system.
Figure 5. PN model of the whole system.
Applsci 07 00564 g005
Figure 6. The PN model for a system with three charging tanks and two distillers.
Figure 6. The PN model for a system with three charging tanks and two distillers.
Applsci 07 00564 g006
Figure 7. PN model for a system with four charging tanks and three distillers.
Figure 7. PN model for a system with four charging tanks and three distillers.
Applsci 07 00564 g007
Figure 8. PN model for a system with five charging tanks and three distillers.
Figure 8. PN model for a system with five charging tanks and three distillers.
Applsci 07 00564 g008
Figure 9. Refining schedule for the case study.
Figure 9. Refining schedule for the case study.
Applsci 07 00564 g009
Figure 10. PN model for the case study.
Figure 10. PN model for the case study.
Applsci 07 00564 g010
Figure 11. Detailed schedule of oil transportation from storage tanks to charging tanks.
Figure 11. Detailed schedule of oil transportation from storage tanks to charging tanks.
Applsci 07 00564 g011
Figure 12. Detailed schedule of distiller feeding.
Figure 12. Detailed schedule of distiller feeding.
Applsci 07 00564 g012
Figure 13. The schedule of charging tanks for being charged and feeding distillers.
Figure 13. The schedule of charging tanks for being charged and feeding distillers.
Applsci 07 00564 g013
Table 1. Initial state for the charging tanks.
Table 1. Initial state for the charging tanks.
TankCapacity (Ton)Type of Oil FilledVolume (Ton)
CTK116,000Oil #19000
CTK216,000
CTK316,000Oil #116,000
CTK416,000Oil #35000
CTK516,000Oil #316,000
CTK620,000
CTK720,000
CTK830,000Oil #530,000
CTK930,000
CTK1030,000Oil #930,000

Share and Cite

MDPI and ACS Style

An, Y.; Wu, N.; Hon, C.T.; Li, Z. Scheduling of Crude Oil Operations in Refinery without Sufficient Charging Tanks Using Petri Nets. Appl. Sci. 2017, 7, 564. https://doi.org/10.3390/app7060564

AMA Style

An Y, Wu N, Hon CT, Li Z. Scheduling of Crude Oil Operations in Refinery without Sufficient Charging Tanks Using Petri Nets. Applied Sciences. 2017; 7(6):564. https://doi.org/10.3390/app7060564

Chicago/Turabian Style

An, Yan, NaiQi Wu, Chi Tin Hon, and ZhiWu Li. 2017. "Scheduling of Crude Oil Operations in Refinery without Sufficient Charging Tanks Using Petri Nets" Applied Sciences 7, no. 6: 564. https://doi.org/10.3390/app7060564

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop