1. Introduction
The processes that take place in an oil refinery where multiple products are produced from a single raw material (crude oil) are generally parallel and their description can be conveniently performed with the Generalized Net (GN, see [
1]) toolbox. In the research we have carried out so far related to the modeling of the processes of production of automotive gasoline, diesel fuel for internal combustion engines, and gas products in a refinery, described in the articles [
2,
3,
4], showed the possibility of modeling the production of these products using GNs. The part of the refinery scheme that produces heavy petroleum products has not yet been modeled using GNs.
The heavy oil is the residual oil fraction remaining after atmospheric distillation of the crude oil [
5]. It contains components boiling above 360 °C and has specific gravity above 0.933 (API < 20) [
6]. It is treated in the petroleum refinery to extract additional amounts of light oil products and produce heavy oil products like fuel oil, marine fuels, and road pavement bitumen [
7,
8,
9,
10,
11]. All processes involved in the technological chain of heavy oil treatment have been the subject of modeling and simulation with the aim to better understand the behavior of the heavy oil plants and determine the values of the operation variables providing the optimum performance from economical, energy saving, and environmental points of view [
12,
13,
14,
15,
16,
17,
18,
19,
20]. Gaikwad et al. [
12] have simulated the operation of atmospheric residue vacuum distillation using Chemcad 5.1 software, with the aim to reduce the energy consumption. Mishra, and Yadav [
13] have modeled an industrial slurry phase reactor (SPR) for vacuum residue hydrocracking using different kinetic models. Ye et al. [
14] have employed a molecular-level reaction kinetic model of delayed coking of vacuum residue based on the structure-oriented lumping method to predict the product yield and group composition in the actual delayed coking process. Selalame et al. [
15,
16,
17] have reviewed traditional modeling methodologies used in modeling and simulation of the fluid catalytic cracking (FCC) unit that converts vacuum gas oils and atmospheric residues into high-value light oil products. Wang et al. [
18] have modeled and simulated a real-life industrial residue hydrotreating process based on Aspen HYSYS/Refining process simulation software. Sun et al. [
19] have modeled and simulated the operation of a vapor recovery unit of an FCC complex using Aspen Plus process simulation software and reported a 2.4% reduction in medium pressure steam consumption. Piskunov et al. [
20] have reviewed the main principles of modeling the dependencies of bitumen properties on their chemical composition, dispersed structure, and other quality parameters. All heavy oil models discussed in references [
12,
13,
14,
15,
16,
17,
18,
19,
20] are partial models of diverse heavy oil treatment processes taking place in the petroleum refining. Their output is typically fed into linear programming refinery models to evaluate the most economically valuable scenario to follow during the oil-refining process [
21,
22]. In linear programming, the algorithm is performed step by step because it is sequential [
23,
24,
25,
26,
27]. In contrast, the use of another approach to modeling processes which run in parallel as it is in the real world is the availing of Petri nets (see, e.g., [
28]) and their extensions as Generalized Nets (GNs, see [
1]).
Petri nets were employed for the short-term scheduling optimization of crude oil operations [
29], while generalized nets (GN) were applied to model the processes of production of automotive gasoline [
2], diesel fuels [
3], and gas, LPG, propylene, and polypropylene [
4] in a petroleum refinery.
The GN is a process description tool that can describe the processes in more details than Petri nets [
4]. The complete analytics of any means of describing a real-world process (e.g., linear programming) can be described by the characteristics of the token characteristics in the GN model (see [
4]), while the logic of the modeled process is represented by the predicates of the GN. For a more detailed discussion about the use of GN to model oil-refining processes, the reader can refer to our recent studies [
2,
3,
4]. The method to the modeling of the processes of petroleum-refining product production by the use of generalized nets is original and all publications to date are the work of the authors.
Considering that the processes of production of automotive gasoline [
2], diesel fuels [
3], and gas, LPG, propylene, and polypropylene [
4] in a petroleum refinery have been already modeled employing the toolkit of GN, the current research completes the modeling of all refined products by dealing with the process of production of different grades of heavy fuel oil and road pavement bitumen in the petroleum refinery, modeled by the use of generalized nets. Having modeled all processes of production of all oil-refining products in the petroleum refinery using distinct GNs enables the construction of a higher-level GN that encompasses the more detailed, already-established lower-level GN models. The higher-level GN model can be used to facilitate and optimize the decision-making process in the petroleum refining.
Our main goal is to describe the main processes in the oil refinery via a series of papers, based on which, using the hierarchical operators defined over the GNs (such operators do not exist for other types of Petri nets), we model the processes in the refinery as a whole. It is important to note that Petri net models are concerned with modeling individual pieces of the process, which does not allow for a single global model. This paper can also be seen as yet another application of the apparatus of GNs, which have, so far, been used to model various real-world processes in the fields of medicine, economics, education, industry, transportation, and others, with a major emphasis in computer science and artificial intelligence [
30,
31,
32].
The aim of this research is to investigate the process of production of different grades of heavy fuel oil and road pavement bitumen in a petroleum refinery and model it by the use of GNs.
3. Results of Modeling Heavy Oil Product Manufacturing in a Petroleum Refinery Using Generalized Nets
The GN model contains 8 transitions, 35 places, and 8 types of tokens (see
Figure 2).
The meaning of the transitions is as follows:
- •
VDU—Vacuum distillation unit
- •
FCCPT—Fluid catalytic cracking feed pretreater
- •
H-Oil—H-Oil vacuum residue hydrocracker
- •
FCCU—Fluid catalytic cracking unit
- •
BU—Road pavement (asphalt) bitumen production unit
- •
0.5 S—Fuel oil containing maximum of 0.5 wt.% sulfur
- •
1.0 S—Fuel oil containing maximum of 1.0 wt.% sulfur
- •
2.5 S—Fuel oil containing maximum of 2.5 wt.% sulfur
In the initial time moment of the GN functioning, token
stays in place
with an initial characteristic
token
stays in place
with an initial characteristic
token
stays in place
with an initial characteristic
token
stays in place
with an initial characteristic
token
stays in place
with an initial characteristic
token
stays in place
with an initial characteristic
token
stays in place
with an initial characteristic
token
stays in place
with an initial characteristic
In each next time-moment, tokens
enter place
with initial characteristics
For brevity, below, we will denote these tokens as without their (current) lower indices. Following the same way, we will omit the lower indices of the - and -tokens, the sense of which will be described below.
The GN transitions have the following forms.
where
“there is a request for AR from BU”,
“there is a request for AR from H-Oil”,
“there is a request for AR from FCCPT”.
When
-token enters place
, on the next time moment, it enters place
and unites with token
that obtains the characteristic
With respect to the truth values of predicates
, token
splits into two, three, or four tokens–the same token
continues to stay in place
with the above-mentioned characteristic, and tokens
and/or
, obtain, respectively, the characteristics
in place
, where
;
in place
, where
;
in place
, where
.
Here and below,
is the maximal quantity for the
i-th heavy oil component participating in the production of fuel oil and road pavement bitumen, where
.
where
= “there is a request for HTVGO for production of fuel oil with maximum sulfur content of 0.5% S”,
= “there is a request for HTVGO as a feed for fluid catalytic cracking unit”,
= “there is a request for HTVGO for production of fuel oil with maximum sulfur content of 1.0% S”.
The
-token from place
enters place
and unites with token
that obtains the characteristic
With respect to the truth values of predicates
, token
splits into two, three, or four tokens–the same token
continues to stay in place
with the above-mentioned characteristic, and tokens
and/or
, obtain, respectively, the characteristics
in place
, where
;
in place
, where
;
in place
, where
.
where
= “there is a request for VTB for Bitumen”,
= “there is a request for HAGO for Fuel oil 0.5% S”,
= “there is a request for VGO for Fuel oil 1.0% S”,
= “there is a request for VTB for Fuel oil 1.0% S”,
= “there is a request for VTB for Fuel oil 2.5% S”,
= “there is a request for VGO for Fuel oil 2.5% S”,
= “there is a request for VGO as a feed for FCCU”.
The
-token from place
enters place
and unites with token
that obtains the characteristic
With respect to the truth values of predicates
, token
splits into two, three, ..., or seven tokens—the same token
continues to stay in place
with the above-mentioned characteristic, and tokens
and/or
, obtain, respectively, the characteristics
in place
, where
;
in place
, where
;
in place
, where
;
in place
, where
;
in place
, where
;
in place
, where
;
in place
, where
.
where
= “there is a request for SLO as a feed for H-Oil unit”,
= “there is a request for HCO as a feed for H-Oil unit”,
= “there is a request for LCO for Fuel oil 1.0% S”,
= “there is a request for HCO for Fuel oil 1.0% S”,
= “there is a request for SLO for Fuel oil 1.0% S”,
= “there is a request for LCO for Fuel oil 2.5% S”,
= “there is a request for HCO for Fuel oil 2.5% S”,
= “there is a request for SLO for Fuel oil 2.5 % S”.
The
-token from place
and
-token from
enter place
and unite with token
that obtains the characteristics:
With respect to the truth values of predicates
, token
splits into two, three, ..., or eight tokens—the same token
continues to stay in place
with the above-mentioned characteristic, and tokens
and/or
, obtain, respectively, the characteristics
in place
, where
;
in place
, where
;
in place
, where
;
in place
, where
;
in place
, where
;
in place
, where
;
in place
, where
;
in place
, where
.
where
= “there is a request for Road bitumen grade 50/70”,
= “there is a request for Road bitumen grade 70/100”.
The
-token from place
and
-token from
enter place
and unite with token
that obtains the characteristics:
With respect to the truth values of predicates
and
, token
splits into two or three tokens—the same token
continues to stay in place
with the above-mentioned characteristic, and tokens
and
, obtain, respectively, the characteristics
in place
, where
;
in place
, where
.
where
= “there is a request for Fuel oil with maximum sulfur content of 0.5 wt.% S”.
The
-token from place
and
-token from place
enter place
and unite with token
that obtains the characteristics:
When the truth value of predicate
is
, token
splits into two tokens—the same token
continues to stay in place
with the above-mentioned characteristic, and token
obtains the characteristics:
in place
, where
.
where
= “there is a request for Fuel oil with maximum sulfur content of 1.0 wt.% S”.
The
-tokens from places
and
and the
-tokens from places
enter place
and unite with token
that obtains the characteristics:
When the truth value of predicate
is
, token
splits into two tokens—the same token
continues to stay in place
with the above-mentioned characteristic, and token
obtains the characteristics:
in place
, where
.
where
= “there is a request for Requested amount of Fuel oil with maximum sulfur content of 2.5 wt.% S”.
The
-tokens from places
and
and the
-tokens from places
enter place
and unite with token
that obtains the characteristics:
When the truth value of predicate
is
, token
splits into two tokens—the same token
continues to stay in place
with the above-mentioned characteristic, and token
obtains the characteristics:
in place
, where
.
4. Discussion
As evident from
Figure 1, the production of the four grades of fuel oil and the three grades of road pavement bitumen is a complex parallel process involving five processing units (VDU, FCCPT, FCCU, H-Oil, and BU), where ten heavy-oil-refined products with properties shown in
Table 4 are manufactured. By properly blending the ten heavy-oil-refined products that account for their physicochemical properties’ variation discussed in our earlier research [
73], the finished five heavy oil products are obtained. This complex parallel process was possible to model by the use of generalized nets. The developed GN model for the production of different grades of heavy fuel oil and road pavement bitumen in the refinery is the fourth, last GN model after the one developed by us concerning GN models on the production of automotive gasoline [
2], diesel [
3], and fuel gas, LPG, propylene, and polypropylene [
4].
The methodology used here is based on the theory of GNs. The developed model follows the principles of organization of each oil refinery and the specific data to be processed in simulation are taken from a specific refinery: LUKOIL Neftohim Burgas (LNB). The model presented in this paper is principled and it will be a part (subnetwork) of the future hierarchical production model. The higher GN model will incorporate the models already created for the production of individual refined products into a single whole, which enables a comprehensive analysis of the refinery’s operations and decision making concerning the influence of various factors such as disruptions in the feedstock supply, the occurrence of unplanned shutdowns, optimization of the production process, evaluation of the suitability of adding new technological units, etc.
Usually, linear programming is used for cases where it is known that a certain amount of raw material with certain characteristics will be delivered after a certain period of time. However, when this clarity is lacking due to the dynamic nature of the processes involved, the tools of linear programming are not sufficient for adequate programming and planning. For example, sudden changes in the price of crude oil, changes in the supply and demand situation for specific petroleum products, etc. In a GN model, we can represent everything that is obtained via linear programming, with all the information specified by the characteristics of some of the tokens of the net. On the other hand, a specific GN model can be added as a subnet to a GN model, for example, of an expert system making decisions for defined situations (see [
82]). Furthermore, in another subnet, different situations can be simulated for the considered GN model to simulate. In order to see how a real process would run under specific conditions, each such GN will be hierarchically included in the next GN model that we plan to prepare in the near future. Unlike other types of Petri nets, in GN, we specify predicates that determine the direction of the token movements. Through these predicates, we can represent the logic of the flow of the modeled process. When the conditions for the process flow change, this is modeled by changing the type of the corresponding predicates in the GN.