Subscriber access provided by Queen Mary, University of London
Article
Optimal Scheduling of Multiproduct Pipelines in Networks with Reversible Flow Pedro Miguel Castro Ind. Eng. Chem. Res., Just Accepted Manuscript • DOI: 10.1021/acs.iecr.7b01685 • Publication Date (Web): 28 Jul 2017 Downloaded from http://pubs.acs.org on August 1, 2017
Just Accepted “Just Accepted” manuscripts have been peer-reviewed and accepted for publication. They are posted online prior to technical editing, formatting for publication and author proofing. The American Chemical Society provides “Just Accepted” as a free service to the research community to expedite the dissemination of scientific material as soon as possible after acceptance. “Just Accepted” manuscripts appear in full in PDF format accompanied by an HTML abstract. “Just Accepted” manuscripts have been fully peer reviewed, but should not be considered the official version of record. They are accessible to all readers and citable by the Digital Object Identifier (DOI®). “Just Accepted” is an optional service offered to authors. Therefore, the “Just Accepted” Web site may not include all articles that will be published in the journal. After a manuscript is technically edited and formatted, it will be removed from the “Just Accepted” Web site and published as an ASAP article. Note that technical editing may introduce minor changes to the manuscript text and/or graphics which could affect content, and all legal disclaimers and ethical guidelines that apply to the journal pertain. ACS cannot be held responsible for errors or consequences arising from the use of information contained in these “Just Accepted” manuscripts.
Industrial & Engineering Chemistry Research is published by the American Chemical Society. 1155 Sixteenth Street N.W., Washington, DC 20036 Published by American Chemical Society. Copyright © American Chemical Society. However, no copyright claim is made to original U.S. Government works, or works produced by employees of any Commonwealth realm Crown government in the course of their duties.
Page 1 of 42
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Industrial & Engineering Chemistry Research
Optimal Scheduling of Multiproduct Pipelines in Networks with Reversible Flow Pedro M. Castro,1 Centro de Investigação Operacional, Faculdade de Ciências, Universidade de Lisboa, 1749-016 Lisboa, Portugal Abstract This paper presents a new continuous-time mixed-integer linear programming formulation for scheduling pipelines systems transporting liquid products. It is a generic formulation with respect to the structure of the network (nodes and connecting segments form the building blocks), and to the direction of flow that can change as many times as required. Nodes are connected to one or more pipeline segments and external interactions with refineries (at a constant rate) and local markets may be included for better inventory control. To ensure a computationally efficient formulation by design, constraints with binary and continuous variables were first written as disjunctions and then convex-hull reformulated. It is validated through the solution of six benchmark problems from the literature involving straight pipelines with reversible flow as well as tree-like and mesh structures with unidirectional flow. The schedules obtained by the optimization reflect, in most cases, a better utilization of the pipeline capacity.
1
Corresponding author. E-mail:
[email protected].
1 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
INTRODUCTION Pipelines are extensively used by the petroleum industry for transporting crude oil from wells to
refineries and for sending refined products (e.g. gasoline, diesel, jet fuel) from refineries to distribution centers serving local markets. In 2013, pipeline operators in the U.S. delivered 15 billion barrels, for a total mileage over 192,0001. It is thus no surprise that different research groups around the world2-10 have studied this problem over the last 15 years. The emphasis has been on mathematical programming2-9 but approaches using heuristics10-11,14, constraint programming12, discrete-event simulation13, taboo13 and variable neighborhood search14, simulated annealing10,14 and Markov chains14, can also be found. At the very least, pipeline scheduling involves finding the timing of product injections from an input to an output node. Product sequence, size and pumping flowrate may be given but you may want to find the optimal values according to some economic criterion. Pipelines are connected to storage tanks that also receive materials from refineries and ship them to local markets. Storage tanks are usually modelled in an aggregate way, with minimum and maximum capacity constraints for each product, but can also be modelled in detail to account for settling periods5 and other operational rules. Pipeline scheduling problems can be very complex to solve, starting with system configuration. While one may hope to get valuable information from a model with a single input, single output node and detailed inventory management of the tank farm5, simplifications are needed when moving towards problems with multiple output nodes. These can be arranged in a straight line2-3,9, or in a tree-like structure with branches8,15. We can also find straight systems with multiple input and output nodes10, possibly with dual purpose nodes that can act as input nodes during some periods and as output nodes in others16-19. In the most complex configuration, we have a pipeline network4,7,12,14,20-21 with nodes and pipeline segments as the building blocks. It is the purpose of this paper to develop a modular formulation capable of handling all possible configurations, in the spirit of our previous work for treelike systems6. Compared to the work of Cafaro and Cerdá20, which represent a network as an integrated set of single lines, a line is now 2 Environment ACS Paragon Plus
Page 2 of 42
Page 3 of 42
Industrial & Engineering Chemistry Research
divided into as many segments as the number of intermediate nodes (plus one). The advantage, as 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
will be seen later, results from the rigorous handling of minimum and maximum flowrate constraints that naturally change across a line whenever there are injections/withdrawals from intermediate nodes. Nodes can be of different types and can be linked to a storage system that interacts dynamically with a refinery and a local market. The proposed model is a generalization of our recent work for straight pipelines19 and can be classified as a product-centric model2,4,6-7,12,14 since there is no need to postulate a set of batches for modelling the movement of materials inside the pipeline. The main novelty is that it is now possible to change the flow direction, as many times as required. Models allowing for reversible flow are far less common than their unidirectional counterparts. The first work is due to Magatão et al.4 who have used a discrete time and volume formulation that assumes a fixed pumping rate for moving products in a line connecting a refinery to a harbor. Later, the same authors12 switch to continuous-time while still discretizing the pipeline volume in fixed packs of 1800 m3 and keeping the constraint of a single flow reversal throughout the planning horizon. The discrete-volume formulation of Herran et al.7 considers a single segment with reversible flow in a network with seven segments and seven nodes. The model of Cafaro and Cerdá22 uses a continuous time and volume representation but is limited to a single line with two terminal nodes (and intermediate output nodes). Continuous-volume formulations3,5-6,8-9,15-20 allow for multiple products/batches per segment and keep track of their exact location by using two sets of coordinates (left and right). By converting products into batches, batch-centric formulations allow for multiple batches of a product in the same segment. The same is not true for their product-centric counterparts6,19 (including the model proposed in this work), which also need to be able to reset coordinates to allow for product re-entry. The novelty in this work, compared to ref. 19, is that we now allow re-entry on both sides of a segment, looking at the value of the left or right coordinate to decide if a product can enter in the next time slot.
3 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
While able to cover a wider range of solutions, batch-centric formulations3,5,8-11,15-18,20,22 have their 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
own limitations. The first is associated to the postulation of the total number of batches as well as to the characterization of the initial pipeline status as a sequence of batch elements. They can be viewed as tuning parameters that add up to the number of events (also called pumping runs) that compose the single continuous-time grid, recommended when dealing with continuous processes6,23. It may not be that much of an issue in systems with a single input node, but several combinations may arise when dealing with intermediate input nodes18-19. In systems with reversible flow, Cafaro and Cerdá22 divide new batches into direct and reverse flow, testing 21 cases and observing major differences in solution quality and computational time (up to two orders of magnitude). The second limitation is related to handling forbidden product sequences. Since there may be batches that at some point (intermediate withdrawal) become empty, forbidding sequences based on the batchproduct assignment variables of consecutive batches may not be enough. Overall, there is no clear winner between batch- and product-centric formulations19. In the current paper, we also generalize the rigorous forbidden sequence constraints from unidirectional19 to reversible flow. The rest of the paper is organized as follows. After the problem statement in section 2, we solve a motivating example in section 3. It features a central node connected to three terminal nodes by three segments and three products. Each product is supplied by a single node and needs to be delivered to the other two, forcing the direction of flow to be reversed. A brief description of the underlying continuous-time representation is the subject of section 4, before the actual formulation in section 5. Section 6 concerns the computational studies, which include benchmark problems with different pipeline configurations. Finally, the conclusions are given in section 7. 2.
PROBLEM STATEMENT
This paper deals with a multiproduct pipeline system consisting of a set of nodes ∈ arranged
in a network. Nodes can be of different types and will typically be linked to a storage system with , , , given minimum , , maximum , and initial capacity , (m3). These are aggregate values
for every product ∈ , meaning that multiple storage tanks may be involved. Storage tanks may in
, turn be associated to a refinery, receiving material at a flowrate , (m3/h) that is assumed to be
4 Environment ACS Paragon Plus
Page 4 of 42
Page 5 of 42
Industrial & Engineering Chemistry Research
constant throughout the duration of the time horizon. They may also be connected to a local market. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
, (m3) can be met with multiple supplies, at maximum supply In such case, product demand , , flowrates , (m3/h), to allow for better inventory control. Otherwise, the amount in storage at
the end must exceed demand. Some nodes can inject material from the storage tanks into the pipeline
, , , , ] (m3/h). Similarly, the receiving flowrate must be within at flowrates in the range [,
, , [, , , ]. The volume entering/leaving the node from/into the pipeline is also bounded
[, , , ] (m3), being assumed that , > 0.
Nodes are connected by segments ! ∈ " of volume # (m3). Segments can change their direction
of flow, referred to as either left-to-right (LR) or right-to-left (RL), operating at flowrates in the
range [#,$ , #,$ ] or [#,$ , #,$ ] (m3/h). The different values reflect the fact that the
movement is usually favored in one direction due to the terrain profile22. The initial status of all
, segments is also assumed given in terms of the amounts #, (m3) and location of all products inside. $, , , $, , The latter is known with either the left %#, or right %#, coordinates, since %#, = %#, + #, .
Specific product sequences can be forbidden. These are specified in subsets , with ´ ∈
meaning that ´ cannot enter a segment after .
The objective is to find the volumes and timing of product injections from input nodes and
deliveries to output nodes that meet demand in the shortest time possible, while respecting flowrate and storage capacity limits, and forbidden product sequences. Objective functions other than makespan minimization are straightforward to implement19. 3.
MOTIVATING EXAMPLE To illustrate the problem of scheduling a multiproduct pipeline with reversible flow consider the
example in Figure 1. It consists of a central node (N2) connecting three dual purpose terminal nodes (N1, N3-N4). There are three products (P1-P3) in the system and each terminal node supplies one product and needs to receive the other two. The initial status of the pipeline consists of P1 in segment S1 and P2 in segments S2 and S3. The segment volumes # are 5000, 4000 and 3000 m3 and the operating flowrate in all segments must be in the range [20, 200] m3/h (in both directions). 5 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Supply: P1 30000 m3 Demand: P2 5000 m3 P3 5000 m3 N1
# ∈ [20,200] *3 /P1 5000
N3
N2
Segment S1 ./ = 0 -
N4
Supply: P2 15000 m3 Demand: P1 5000 m3 P3 5000 m3 Supply: P3 15000 m3 Demand: P1 5000 m3 P2 5000 m3
Figure 1. Motivating example.
Figure 2. Best-found solution in terms of makespan minimization for motivating example. The best-found solution with respect to the shortest time needed to meet product demand (195 h), requires a minimum of ten different periods of operation. The optimal schedule is given in Figure 2 and a few aspects are worth highlighting: (i) the flow direction is reversed in all segments, once in segments S1 and S3 and twice in segment S2; (ii) all segments are idle at some point in time; (iii) an 6 Environment ACS Paragon Plus
Page 6 of 42
Page 7 of 42
Industrial & Engineering Chemistry Research
output node can receive material as a consequence of simultaneous injections from multiple input 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
nodes that may involve different products (in the second row, first column of Figure 2, the injection of product P1 at N1 and P3 at N4 is responsible for sending P2 to N3); it also happens in the third row, second column; the two cases have in common the delivery of a product that is not needed; (iv) the minimum demands are exactly met; (v) product P2, initially in segments S2 and S3, is used to fulfil the 5000 m3 demand in N4, backtracks to N3 to make it possible for the node to receive P1 and P3, returning later to S2 to meet the demand of P2 in N1; (vi) segments typically end a period filled with a single product, the exception being the lowest capacity segment S3, which holds P1 and P3 from ]50, 75[ h; (vii) the operating flowrate is the maximum whenever there are just two active segments, with the lowest value of 40 m3/h in segment S3 being above the specified minimum of 20. 4.
TIME REPRESENTATION Scheduling models can be classified according to different criteria, with the underlying time
representation being one of the most important24. Earlier works for pipeline scheduling3,6 have shown that a continuous-time representation relying on a single grid significantly improved computational performance compared to a discrete-time representation2. It is the preferred choice by the large majority of research groups working in pipeline scheduling, sometimes disguised under the term pumping operation15,25, and is also used in this paper. Readers interested in replacing the continuous with a discrete-time representation may find useful the recent paper26 for scheduling the transfer of crude oil from marine vessels to the distillation units.
The single time grid given in Figure 3 is made of 1 ∈ . event points. The first, corresponds to the
origin, ./ = 0, while the last, bounded by the given time horizon -, defines the makespan, eq 1. The
exact location of event points in the grid is going to be determined by the optimization, through variables .2 that respect eq 2. Variables 32 hold the duration of the time slot and facilitate the writing
of the minimum and maximum flowrate constraints. Note that solution quality and computational
performance are highly dependent on |.| and that global optimality can only be guaranteed as
|.| → ∞. The iterative search procedure used in practice is to keep solving the problem, following single increments in |.|, until the solution stops improving. Such schedules will be assumed optimal. 7 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research slot 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
time slot 2
slot |T|-2
Page 8 of 42 slot |T|-1
Time grid 2 1 Variables
T1
3
|T|-2
|T|-1 t=|T|
event points
L1
T2
L2
T3
T|T|-2
L|T|-2
T|T|-1
T|T| L|T|-1
Figure 3. The mathematical formulation uses a continuous-time representation with a single grid.
min .|:|
(1)
.2;/ = .2 + 32 ∀1 ≠ |.| 5.
(2)
MATHEMATICAL FORMULATION Any pipeline system can be seen as a collection of nodes and segments and so it is convenient to
divide the product-centric formulation in two parts. The new scheduling formulation has been derived using Generalized Disjunctive Programming27-29 which, by showing the model constraints in their simplest form, helps to reduce the modelling burden associated to such complex system. You will see that disjunctions feature constraints with mostly one variable (given in upper case to better distinguish from lower-case parameters) to ensure efficiency of the resulting convex hull reformulation29-30. 5.1. Nodes The different types of nodes that can appear in a pipeline system are given in Figure 4. All nodes
have a storage system, except junction nodes ∈ > that do not. The volumetric balance for the
storage system associated to non-junction node ∈ \ > is given in eq 3 and illustrated in Figure 5.
It states that the difference in the volume of product between event points 1 and 1 − 1 (or the
, initial state) is equal to the volume entering the tanks from the pipeline (B,,2C/ ) and associated
, , refinery (, 32 ), minus the volume leaving the tanks to the pipeline (B,,2 ) and local markets
, , (B,,2 ). Recall that we assume a constant inlet flowrate from the refinery , to non-junction
node ∈ throughout the duration of the time horizon. In contrast, the amount sent to local markets by non-junction node ∈ can vary between time slots, if the maximum flowrate
, , is not exceeded, see eq 4. Eq 5 reflects the lower and upper bounds on storage capacity.
8 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
, S,,2
IN
D,,2
N
, B,,2
Output
, S,,2
N
Dual purpose
B, ,,2
, S,,2 , B,,2
N
OUT
Input
IN
Node type
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
OUT
Page 9 of 42
Terminal
Intermediate
Junction
N
N
N
, S,,2
B, ,,2
Subset
R
T
U
:
>
Connecting segments
≥1
≥1
≥1
=1
≥2
≥3
Figure 4. Nodes in a pipeline system. , D,,2 = , E
, B,,2C/ E
∈ L
2F/
, + D,,2C/ + B,,2C/ E
∀ ∈ \ > , ∈ , 1
∈G ∪ I
, + , 32 E
∈J
, , B,,2 M , 32 ∀ ∈ , ∈ , 1 ≠ |.|
, , M D,,2 M , ∀ ∈ \ > , ∈ , 1 ,
, − B,,2C/ E
∈ K ∪I
− (3) (4) (5)
Product demand is enforced by either eq 6 or 7. If storage capacity is a limiting aspect, it is better
to consider multiple supplies to local markets. In eq 6, the sum of all volumes leaving the tanks must
, be equal to the total demand , . Otherwise, there is no need to consider local markets explicitly
( ∉ ), being sufficient to enforce that the volume at the final event point is greater than the demand.
, , ∑2P|:| B,,2 = , ∀ ∈ , ∈ , D,,|:| Q , ∀ ∉ , ∈
Figure 5. Volumes entering and leaving a node.
9 Environment ACS Paragon Plus
(6) (7)
Industrial & Engineering Chemistry Research
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
The volumetric balance for node during slot 1 is illustrated in Figure 5 and given in eq 8.
Without loss of generality, we consider that the node can either be connected to the right or left-end of a segment. In the former case, the volume entering the node from segment ! ∈ " is the one
, leaving the segment on the right, B#,,2 , due to a left to right direction of flow. In the latter case, the ,$ volume entering the node from segment !´ ∈ "$ is the one leaving the segment on the left, B#´,,2 ,
due to a right to left direction of flow. For the volumes leaving the node and entering the pipeline,
one must consider the inlet flows on the right of segment ! and on the left of segment !´. Note that
subsets # , # , #$ and #$ hold the products that can leave/enter a segment on its right and left end.
, E B,,2
, B,,2 E
∈K ∪I
∈G ∪I
, + ∑#∈\J VB#,,2 E
,$ + ∑#´∈\^(B#´,,2 E
∈WXJY
^Z ∈WX´
, − B#,,2 E
,$ − B#´,,2 E
∈WXJZ
^Y ∈WX´
[=
) ∀, ∈ , 1 ≠ |.|
(8)
5.1.1. Input Node Both single purpose input nodes and dual purpose nodes can inject material into the pipeline. Let
, , the binary variable S,,2 = 1 if node is pumping product during slot 1 and S,2 = 1 if no
product is entering the pipeline. In the former case, the transferred volume must belong to the , , , interval [, , , ] while the flowrate (B,,2 /32 ) must lie within [, , , ]. In the
latter case, the transferred volume of all products is set to zero and the constraint on the slot duration
variable 32 is relaxed so that an active operation can set its value.
, S,,2 c f , S,2 , b, M B,,2 M , e e ` gB , = 0 ∀ ∈ h ∀ ∈ R ∪ U , 1 ≠ |.| `b , , ,,2 e B,,2 B,,2 C b 3 M ∈W\ b M 3 M e 2 2 , , , a , d
(9)
The logic proposition implicit in the exclusive disjunction in eq 9 generates eq 10. The convex hull reformulation of the constraints leads to eqs 11-12, after combining equations to eliminate
, disaggregated variables and binaries S,2 from the formulation (further details can be found in
10 Environment ACS Paragon Plus
Page 10 of 42
Page 11 of 42
Industrial & Engineering Chemistry Research
Mostafaei and Castro18 where the equivalent to eq 12 was mistakenly said to be derived from the 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
big-M reformulation; in ref. 18, eq 14 is derived simply by replacing the two terms on the right-hand side of eq 12 with their bounds from eqs 13 and 11). , ∑∈W\ S,,2 M 1 ∀ ∈ R ∪ U , 1 ≠ |.|
, , , , S,,2 M B,,2 M , S,,2 ∀ ∈ R ∪ U , ∈ , 1 ≠ |.|
∑∈W\
l,mno i\,j,k
l,qZrst M 32 M ∑∈W\
p\,j
l,mno i\,j,k
l,qZrno p\,j
, + - ∙ (1 − ∑∈W\ S,,2 ) ∀ ∈ R ∪ U , 1 ≠ |.|
(10) (11) (12)
Note that an input node can simultaneously send material to all its connecting pipeline segments only if the same product is involved. 5.1.2. Output Node To generate the constraints for single purpose output nodes or dual purpose nodes, it suffices to change the variables superscript from “in” to “out” and alter the domain. , ∑∈W\ S,,2 M 1 ∀ ∈ T ∪ U , 1 ≠ |.|
, , , , S,,2 M B,,2 M , S,,2 ∀ ∈ T ∪ U , ∈ , 1 ≠ |.|
∑∈W\
l,mvwx i\,j,k
l,qYrst M 32 M ∑∈W\
p\,j
l,mvwx i\,j,k
l,qYrno p\,j
, + - ∙ (1 − ∑∈W\ S,,2 ) ∀ ∈ T ∪ U , 1 ≠ |.|
(13) (14) (15)
5.1.3. Terminal Dual Purpose Node By having a single connecting segment, terminal dual purpose nodes become a special case that
can benefit from tighter constraints. Clearly, during slot 1, the node, if active, can either be sending
or receiving material. This is translated into the exclusive disjunction in eq 16 that features auxiliary
, yz{ binary variables S,2 to account for idleness. The convex hull reformulation generates eqs 11 and
14 (no need to update their domain), and eqs 17-19, which replace eqs 10, 12-13 and 15.
, , , yz{ S,,2 S,,2 S,2 c f c f c f , , , b, M B,,2 b, M B,,2 M , e M , e bB,,2 e = 0 ∀ e`b e`b `b e , , , , , e e C b B,,2 B,,2 B,,2 B,,2 C b B = 0 ∀ ,,2 b e ∈W\ b M 32 M , e ∈W\ b , M 32 M , e , a 32 M d , , a , d a , d
∀ ∈ : ∩ U , 1 ≠ |.|
(16)
11 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Page 12 of 42
, , ∑∈W\(S,,2 + S,,2 ) M 1 ∀ ∈ : ∩ U , 1 ≠ |.|
∑∈W\(
l,mno i\,j,k
l,qZrst +
p\,j
32 M ∑∈W\ (
l,mvwx i\,j,k
l,qYrst p\,j
l,mno i\,j,k
l,qZrno +
p\,j
(17)
) M 32 ∀ ∈ R ∪ U , 1 ≠ |.|
l,mvwx i\,j,k
l,qYrno p\,j
(18)
, , ) + - ∙ }1 − ∑∈W\~S,,2 + S,,2 ∀ ∈ R ∪ U , 1 ≠ |.| (19)
5.1.4. Intermediate Dual Purpose Node To reduce solution degeneracy, an intermediate dual purpose node should not simultaneously send
and receive a product from its storage system. Thus, sending product implies that is not being received (eq 20). Receiving also implies not sending. Both logic propositions can be reformulated29
into eq 21, which is in MILP format. It does not prevent the node to receive one product from a segment while sending another to a different segment during the same slot. , , S,,2 ⟹ ¬S,,2 ∀ ∈ ∩ U , ∈ , 1 ≠ |.|
(20)
, , S,,2 + S,,2 M 1 ∀ ∈ ∩ U , ∈ , 1 ≠ |.|
(21)
5.2. Segments
Since we are dealing with incompressible fluids, the sum of all volumes inside segment ! must be
equal to the segment volume, as stated by eq 22. The volumetric balance given in eq 23 and illustrated in Figure 6, states that the change in volume of product is equal to the difference
between incoming and outgoing flows. If the segment is active with left to right flow during slot 1,
,$ , and B#,,2 will be greater than zero for exactly one product (note that the product variables B#,,2
, going in might differ from the one coming out). If the flow is from right to left, it is variables B#,,2
,$ and B#,,2 that may be nonzero. ∑∈WX D#,,2 = # ∀!, 1 D#,,2 =
, #, E
2F/
,$ + D#,,2C/ + B#,,2C/ E
(22)
∈WX^Z
, + B#,,2C/ E
∈WXJZ
,$ − B#,,2C/ E
∈WX^Y
12 Environment ACS Paragon Plus
, − B#,,2C/ E
∈WXJY
∀!, ∈ # , 1(23)
Page 13 of 42
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
,$ B#,,2
,$ B#,,2
D#,,2
Segment !
Left
Industrial & Engineering Chemistry Research , B#,,2
, Right B#,,2
Figure 6. Volumes entering and leaving a segment. 5.2.1. Understanding Coordinate Variables The product-centric model of Castro and Mostafaei19 allows a product to re-enter a segment in unidirectional pipelines. The constraints given below are the generalization for reversible flow.
$ Let nonnegative continuous variables #,,2 and #,,2 give the left and right coordinates of product
in segment ! at event point 1. By definition, the right coordinate is equal to the left coordinate plus
the volume inside, eq 24, and both are bounded by the segment volume, eqs 25-26. $ #,,2 = #,,2 + D#,,2 ∀!, ∈ # , 1
(24)
$ #,,2 M # ∀!, ∈ # , 1
(25)
#,,2 M # ∀!, ∈ # , 1
(26)
$,{y ,{y Continuous coordinate variables #,,2C/ and #,,2C/ give the status of the system prior to the
activation of continuous reset variables #,,2 , see eqs 27-28. Contrary to the case of unidirectional
flow19, they all must now be allowed to assume negative values. In eq 29, the left coordinate of
product will increase whenever a product ´ ≠ is entering the segment on the left and decrease if
´ is leaving the segment on the left. Similarly, the right coordinate will increase/decrease due to different products leaving/entering on the right. $, $ #,,2 = %#, E
2F/
, #,,2 = %#, E
2F/
$,{y + #,,2C/ − #,,2 ∀!, ∈ # , 1
,{y + #,,2C/ − #,,2 ∀!, ∈ # , 1
$,{y ,$ $ #,,2 = #,,2 + ∑´∈WX :´P(B#,´,2 E
´∈WX^Z
,{y , #,,2 = #,,2 + ∑´∈WX :´P(B#,´,2 E
(27) (28)
,$ − B#,´,2 E
´∈WXJY
´∈WX^Y
, − B#,´,2 E
) ∀!, ∈ # , 1 ≠ |.|
´∈WXJZ
) ∀!, ∈ # , 1 ≠ |.|
(29) (30)
It remains to allow reset variables #,,2 to be different than zero only if product is not inside
,# segment ! at event point 1 (S#,,2 = 0), which is known from the value of variable D#,,2 , see
13 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
disjunction in eq 31. Notice that the constraint also applies to 1 = 1, to let product , initially not
$, , = %#, = 0), to enter either on the left (required inside segment ! (specified by making %#,
$ condition: #,,/ = 0) or right (#,,/ = # M #, ). Eq 31 is reformulated into eqs 32-33, where
" $ and " $ are the subset of segments allowing for left-to-right and right-to-left flows, respectively. ,# ¬S#,,2
,# S#,,2
D#,,2 =0 gD#,,2 h ∀!, ∈ # , 1 M # h ` g , , −# E#∈ J^ M #,,2 M # E#∈ ^J #,,2 =0
,# D#,,2 M # S#,,2 ∀!, ∈ # , 1 ,# ]E −[#, ∙ ~1 − S#,,2
#∈ J^
(31) (32)
,# M #,,2 M [#, ∙ ~1 − S#,,2 ]E
#∈ ^J
∀!, ∈ # , 1
(33)
The values of the coordinates for a simple example can be found in Figure 7. Notice that the
$ coordinates for product P3 at event 1 = 2 (/,W, = /,W, = / = 10000) will allow P3 to enter
the segment on the right during slot 1 = 2 (check first constraint in top-middle term of eq 34),
requiring the reset coordinate to be /,W, = 5000. Alternatively, if P3 were to enter on the left, the
$ optimization would have selected /,W, = 15000, to meet the required constraint of /,W, =0
(first constraint in top-left term in eq 34).
Figure 7. Values of coordinate variables for a simple example involving reversible flow. 14 Environment ACS Paragon Plus
Page 14 of 42
Page 15 of 42
Industrial & Engineering Chemistry Research
5.2.2. Modeling Reversible Flow 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Let ! ∈ " be a segment allowing for reversible flow. During slot 1, it must be in exactly one of
three states: (i) active, with flow from left to right; (ii) active, with flow from right to left; (iii) idle.
,$ In case of left to right flow (#,2 = 1), exactly one product must be entering the segment on the
,$ = 1) and one product, the same or another, must be leaving the segment on the right left (S#,,2 , (S#,,2 = 1). The product entering on the left, must have its left coordinate equal to zero, while the
right coordinate of the product leaving on the right, must be equal to the segment volume # . The
bounds on the transferred volume and flowrate are like before but the flowrate bounds are now product independent (multiple products may be moving inside) while dependent on the direction of flow (e.g. #,$ , #,$ ), see eq 34.
,$ , In the case of right to left flow (#,2 = 1), the product entering on the right (S#,,2 = 1) must
have its right coordinate equal to the segment volume, while the product leaving on the left ,$ (S#,,2 = 1) must have its left coordinate equal to zero.
, yz{ = 1), the constraints on the coordinate and timing variables are If the segment is idle (#,2
relaxed, while the transferred volume variables are set to zero for all products.
,$ ,$ #,2 #,2 c f c f , yz{ #,2 ,$ , c f b e b e S S #,,2 #,,2 c f c f $ M # ∀ e b e b e b #,,2 $ b #,,2 = 0 e b #,,2 = # e b e b b Q 0 ∀ e b , e b ee #,,2 ,$ , b ` b# b ` b#, M B#,,2 b ,$ e M B#,,2 M #, e e M #, e e b C b ,$ b C b , b B#,,2 = 0 ∀ e ,$ e e , e e B#,,2 ` b ∈WXJZ B#,,2 B#,,2 ` b , b ∈WX^Z b B#,,2 e e e b ee B#,,2 = 0 ∀ ,$ M 32 M ,$ e C b ,$ M 32 M ,$ e b b e # # a# d a # d , b e b e b B#,,2 = 0 ∀ e , ,$ S#,,2 S#,,2 b e b e b ,$ e B#,,2 = 0 ∀ e $ b` g e b e b #,,2 = # #,,2 = 0 h ` g h b C e b C e a 32 M d , , , , ,$ , M B#,,2 M # M B#,,2 M # a∈WXJY # d a∈WX^Y # d
∀! ∈ " , 1 ≠ |.|
(34)
It is important to highlight that the constraint of no more than one product leaving as a
consequence of a product injection, is not a limitation of the model since it is within a time slot. Multiple products can leave (one after the other) as a consequence of a product injection, it just requires multiple time slots (one per leaving product, see Figure 2). 15 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
Page 16 of 42
Eq 34 features embedded disjunctions that can be transformed into simple disjunctions and logic 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
propositions using the guidelines in Vecchietti and Grossmann31 (examples of real-world problems tackled by GDP models relying on embedded disjunctions can be found in refs 32-36). The logic proposition of the outer disjunction can be reformulated into eq 35, after eliminating variables , yz{ #,2 .
,$ ,$ #,2 + #,2 M 1 ∀! ∈ " , 1 ≠ |.|
(35)
The logic propositions relating the binary variables of outer and inner disjunctions lead to eqs 36-
39.
,$ ,$ #,2 = ∑∈WX^Z S#,,2 ∀! ∈ " , 1 ≠ |.|
(36)
,$ , #,2 = ∑∈WXJY S#,,2 ∀! ∈ " , 1 ≠ |.|
(37)
,$ , #,2 = ∑∈WXJZ S#,,2 ∀! ∈ " , 1 ≠ |.|
(38)
,$ ,$ #,2 = ∑∈WX^Y S#,,2 ∀! ∈ " , 1 ≠ |.|
(39)
The constraints linking the binary and continuous variables can be found in eqs 40-43. Notice that
the information about the direction of flow is part of subsets # and so the constraints also apply to
segments with unidirectional flow.
,$ ,$ ,$ #, S#,,2 M B#,,2 M #, S#,,2 ∀!, ∈ #$ , 1 ≠ |.|
, , , M B#,,2 M #, S#,,2 ∀!, ∈ # , 1 ≠ |.| #, S#,,2
, , , #, S#,,2 M B#,,2 M #, S#,,2 ∀!, ∈ # , 1 ≠ |.|
,$ ,$ ,$ #, S#,,2 M B#,,2 M #, S#,,2 ∀!, ∈ #$ , 1 ≠ |.|
(40) (41) (42) (43)
The coordinate and timing constraints can also be derived from the isolated inner constraints. There is however a way to reduce their number while making them tighter. For the coordinate constraints, one can use the knowledge that product , during slot 1, can either enter, leave or not be ,$ involved (e.g. S#,,2 = 1). The disjunctions in eqs 44-45 apply to the left and right sides and are
reformulated into eqs 46-47. ,$ S#,,2
,$ S#,,2
,$ S#,,2
$ ` $ ` $ ∀!, ∈ # , 1 ≠ |.| =0 #,,2 M # #,,2 = 0 C #,,2 16 Environment ACS Paragon Plus
Page 17 of 42
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Industrial & Engineering Chemistry Research , S#,,2
, S#,,2
(44)
, S#,,2
∀!, ∈ # , 1 ≠ |.| ` ` = # #,,2 Q 0 #,,2 = # C #,,2 ,$ $ #,,2 M # ∙ (1 − S#,,2 E
, Q # ∙ (S#,,2 E #,,2
∈WX^Z
∈WXJZ
,$ − S#,,2 E
, + S#,,2 E
∈WX^Y
∈WXJY
(45)
) ∀!, ∈ # , 1 ≠ |.|
(46)
) ∀!, ∈ # , 1 ≠ |.|
(47)
For the timing constraints, eq 48 states that there is at most one product entering on the left or right
during slot 1. It leads to eqs 49-50. ,$ ` g B#,,2
C ∈WX^Z
∑(
#,$
m,^no iX,j,k
m,^Jrst
pX
32 M ∑(
M 32 M
∈WX^Z
m,^no iX,j,k
,$ S#,,2
m,^Jrno
pX
+
,$ , h ` g B#,,2 B#,,2
m,Jno iX,j,k
pXm,J^rst
∈WX^Z
+
C ∈WXJZ
#,$
∈WXJZ
m,Jno iX,j,k
pXm,J^rno
#,$
, S#,,2
M 32 M
, h` B#,,2
#,$
) M 32 ∀!, 1 ≠ |.|
∈WXJZ
,$ ) + - ∙ 1 − ∑ VS#,,2 E
, yz{ #,2 ∀!, 1 ≠ |.| 32 M -
(48) (49)
∈WX^Z
, + S#,,2 E
∈WXJZ
[ ∀!, 1 ≠ |.| (50)
5.2.3. Simplification for Unidirectional Flow
In the case of segments ! ∈ " with unidirectional flow, eqs 35-39 are replaced by eqs 51 and 52.
Eq 51 derives from the logic proposition implicit in eq 48, which states that at most one product is entering the segment. Eq 52 translates into at most one product leaving the segment. Note that we
are not assuming the same direction of flow in all segments (sets #$ and # will be empty in
segments with right-to-left flow, while # = #$ = ∅ in segments with left-to-right flow). ,$ , ∑∈W^Z S#,,2 + ∑∈WXJZ S#,,2 M 1 ∀! ∈ " , 1 ≠ |.| X
,$ , ∑∈W^Y S#,,2 + ∑∈WXJY S#,,2 M 1 ∀! ∈ " , 1 ≠ |.| X
17 Environment ACS Paragon Plus
(51) (52)
Industrial & Engineering Chemistry Research
Page 18 of 42
5.2.4. Forbidden Product Sequences 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Castro and Mostafaei19 presented constraints for forbidding specific product sequences when entering a unidirectional segment. These are now generalized for the case of reversible flow.
,$ , Let binary variables S#,,2 and S#,,2 identify the left- and right-most product in segment ! at event
point 1. Clearly, there can be only one such product, leading to the exclusive disjunctions in eqs 5354. The constraints inside the disjunctions state that volume of product must be greater than a
minimum volume and that the left/right coordinate must be equal to zero or the segment volume, respectively.
,$ S#,,2
` gD#,,2 Q #, h ∀! ∈ " $ , 1 ≠ |.| C $ #,,2 =0 ∈WX , S#,,2
` gD#,,2 Q #, h ∀! ∈ " $ , 1 ≠ |.| C #,,2 = # ∈WX
(53)
(54)
To prevent forbidden sequence ´- from happening (´ ∈ ), we must prevent ´ from entering
from the left/right during slot 1, if is the left/right-most product in segment ! at event point 1, see
eqs 55-56.
,$ ,$ S#,,2 ⟹ ¬S#,´,2 ∀! ∈ " $ , ∈ # , ´ ∈ ∩ #$ , 1 ≠ |.|
(55)
, , S#,,2 ⟹ ¬S#,´,2 ∀! ∈ " $ , ∈ # , ´ ∈ ∩ # , 1 ≠ |.|
(56)
,$ ∑∈WX S#,,2 = 1 ∀! ∈ " $ , 1 ≠ |.|
(57)
The disjunctions and logic propositions can be reformulated into eqs 57-64.
,$ D#,,2 Q #, S#,,2 ∀! ∈ " $ , ∈ # , 1 ≠ |.|
,$ $ #,,2 M # ∙ (1 − S#,,2 ) ∀! ∈ " $ , ∈ # , 1 ≠ |.|
, ∑∈WX S#,,2 = 1 ∀! ∈ " $ , 1 ≠ |.|
, D#,,2 Q #, S#,,2 ∀! ∈ " $ , ∈ # , 1 ≠ |.|
18 Environment ACS Paragon Plus
(58) (59) (60) (61)
Page 19 of 42
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Industrial & Engineering Chemistry Research
, #,,2 Q # S#,,2 ∀! ∈ " $ , ∈ # , 1 ≠ |.|
,$ ,$ S#,,2 + S#,´,2 M 1 ∀! ∈ " $ , ∈ # , ´ ∈ ∩ #$ , 1 ≠ |.|
, , + S#,´,2 M 1 ∀! ∈ " $ , ∈ # , ´ ∈ ∩ # , 1 ≠ |.| S#,,2
6.
(62) (63) (64)
COMPUTATIONAL RESULTS The performance of the new MILP continuous-time scheduling formulation for pipeline systems
with reversible flow and any structure, is now evaluated through the solution of a set of six benchmark problems from the literature. The main goal in this study is to validate the model for a variety of problem features, highlighting its strengths and identifying aspects that can be improved in the future. By selecting makespan minimization as the objective function, we aim to maximize the operating flowrates in the different pipeline segments and hence take full advantage of the pipeline capacity. The results in Table 1 show that makespan can be reduced compared to the values reported in the literature. However, one shouldn’t make conclusions about computational efficiency since the objective function used by previous authors, while often including a makespan minimization term, dealt with cost minimization. Table 1. Features of benchmark problems considered in this work. Makespan (h) Flow Market Reported This Reduction Direction Supply work Motivating This work Tree-like Reversible No 195 Ex1 Ref. 22, Ex. 1 Straight Reversible No 129.00a,b 168.00 -30.2% Ex2 Ref. 22, Ex. 2 Straight Reversible Yes 327.50a,b 310.32 5.2% a,b Ex3 Ref. 22, Ex. 3 Straight Reversible Yes 325.71 310.00 5.1% Ex4 Ref. 15, Ex. 1 Tree-like Unidirectional No 154.17a 138.33 10.3% Ex5 Ref. 15, Ex. 2 Tree-like Unidirectional No 179.98a 162.00 10.0% Ex6 Ref. 20, Ex1 Mesh Unidirectional Yes 179.00a,b 194.29c -8.5% a b Objective function was cost minimization; Makespan term included in objective function; c Found while using different hardware and software. Example
Source
Structure
The model was implemented in GAMS and solved using CPLEX running in parallel deterministic mode using up to eight threads on desktops with solid-state drive running Windows 10, 64-bit operating system. The termination criteria were either a relative optimality tolerance of 10-6 or a maximum wall-time limit of 18,000 CPUs. All computational results but one, are for CPLEX 12.6.3 19 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
running on a desktop with an Intel i7-6400K (4.0 GHz) processor and 16 GB of RAM. For Ex6, the 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
194.29 h makespan reported in Table 1 (vs. 206.429 h in Table 2), was proven optimal for |.|=12 in
10797 CPUs when using CPLEX 12.7.0 on a desktop with an i7-4790 (3.6 GHz) processor and 8 GB of RAM. 6.1. Performance overview
As mentioned in section 4, the specified number of event points in the grid affects both solution quality and computational performance. It can thus be viewed as a tuning parameter of the proposed formulation. Table 2 shows the value of these two key performance indicators as a function of |.|.
Note that Ex4 is the only one meeting the solution quality termination criterion (normal termination with the same solution for consecutive event points). Thus, makespans lower than the values reported are highly probable for the benchmark problems hitting the maximum computational time limit. It reflects their complexity, with the CPLEX solver, in many cases, only being able to find the first feasible solution after several minutes of computational time. The most interesting problem from a computational point of view is perhaps the reversible flow problem Ex2, since it can be solved to optimality for five settings of |.| greater than 11, a value for which it is integer infeasible.
Table 3 features two rows per problem to show the impact of |.| in problem size and quality of the
linear relaxation. The motivating example and Ex1 have the weakest relaxations, which degrade
slightly with the rise in |.|, and the highest integrality gaps. In terms of system structure, these are
reversible flow problems with nodes not linked to local markets. The simplest tree-like problem,
Ex4, is the tightest with a mere 2.5% integrality gap. All problems feature several hundred binary variables and a few thousand constraints, with problem size increasing modestly with the number of events. We now switch attention to the analysis of the optimal schedules.
20 Environment ACS Paragon Plus
Page 20 of 42
Page 21 of 42
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Industrial & Engineering Chemistry Research
Table 2. Influence of number of event points in computational performance and solution quality (best solution in bold, maximum computational limit in italic). Example |.| Makespan (h) CPUs Motivating 8 Infeasible 28.1 9 210 551 10 205 2152 11 15454 195 12 195a 18000 Ex1 10 Infeasible 475 11 204 10356 12 18000 168b Ex2 11 Infeasible 50.9 12 355 111 13 345 286 14 335.625 591 15 319.405 5852 16 314.652 10209 17 18000 310.323c Ex3 12 Infeasible 406 13 323.33 1975 14 11789 310 d 15 18000 310 Ex4 10 Infeasible 306 11 704 138.333 12 11004 138.333 Ex5 10 Infeasible 1285 11 3126 162 12 164.29e 18000 Ex6 11 Infeasible 581 12 18000 206.429f 13 no solutiong 18000 a Best possible solution (BPS)=145.6; bBPS=90; cBPS=303; dBPS=280; eBPS=145; fBPS=190; g BPS=171.9.
Table 3. Statistics related to problem size
Example |.| LP relaxation (h) Integrality gap Binary variables Total variables Equations Motivating 10 101.67 102% 792 1910 2818 11 101.50 92% 879 2116 3122 Ex1 11 66.375 207% 1019 2535 3891 12 66.343 153% 1120 2782 4271 Ex2 16 260 21% 574 1680 2219 17 260 19% 612 1790 2364 Ex3 14 260 19% 1100 2784 3992 15 260 19% 1184 2994 4293 Ex4 11 135 2.5% 1102 3414 5392 12 135 2.5% 1210 3742 5912 Ex5 11 145 12% 2142 6574 10443 12 145 13% 2352 7206 11451 Ex6a 12 170 21% 1329 4009 6252 a Integrality gap can only be computed for |.|=12, which is the reason for showing a single row. 21 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
6.2. Straight pipelines with reversible flow 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Benchmark problems Ex1-Ex3 are taken from Cafaro and Cerdá22. Ex1-Ex2 feature a single pipeline segment with a node on each side. Ex1 deals with nine products and several forbidden sequences, while Ex2 and Ex3 feature just four products with no sequence restrictions. Nevertheless, the latter two are far more challenging since they also involve inventory control of the storage systems linked to the nodes, with refinery inputs at constant rates and outputs to local markets occurring at flowrates lower than pipeline operating flowrates. Ex3 adds an intermediate node compared to Ex2 while keeping product demand over all nodes constant. 6.2.1. Ex1 Ex1 is concerned with a real-world bidirectional pipeline connecting a harbor to an inland refinery4,12. Products P1-P4, available at the left node N1, need to be supplied to the right node N2 in quantities (1800, 3600, 1800, 1800) m3. In turn, node N2 needs to supply (1800, 1800, 3600, 3600) of P5-P8 to N1. The pipeline is initially filled with another product (P9) and the flowrate, in either direction, ranges between [150, 300] (m3/h). To guarantee a feasible solution, the time horizon was
extended from -=144 to 220 h (the idea for increasing the value of - is to make parameter |.| the
sole responsible for an infeasible outcome; while the value of - affects computational performance, typically the lower the better, no tuning was performed).
The best solution found by our model is shown in Figure 8 and has a makespan of 168 h, 30.2% higher than the value reported by Cafaro and Cerdá22. Interestingly, the pipeline is always operating at the maximum flowrate and so the reason for the longer time is due to the pumping of volumes larger than those required to meet product demand (met exactly only for P1, P5, P6 and P8). It is caused by the low number of events (|.|=12) and the restriction of a single product entering and leaving a segment during a time slot. A product with a demand lower than the capacity of the pipeline (7200 m3) requires a minimum of three time slots (the first for injection, the second for reaching the opposite end, and the third for delivery), see for instance P5 in [102, 132] and P6 in [126, 156]. In contrast, the model by Cafaro and Cerdá22, allows a single entering product, to control the segment flowrate, but multiple leaving products per time slot. It prevents rigorously enforcing 22 Environment ACS Paragon Plus
Page 22 of 42
Page 23 of 42
Industrial & Engineering Chemistry Research
capacity constraints in receiving storage tanks but can lead to much better schedules using the same 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
number of time slots (called pumping runs22) and to improved computational performance. N1
N2 P1 P2 P3 P4 P5 P6 P7 P8 P9
Time Interval
S1 7200
300 m3/h
[0,24] h
7200
7200
7200
7200
7200
7200
7200
7200
7200
300 m3/h
[24,48]
7200 300 m3/h
[48,72]
7200 300 m3/h
[72,96]
7200 300 m3/h
[96,102]
1800
1800
7200 300 m3/h
[102,108]
5400
1800
1800
1800 300 m3/h
[108,126]
5400
1800
5400
5400 300 m3/h
[126,132]
1800
5400
1800
1800 300 m3/h
[132,150]
5400
1800
5400
5400 300 m3/h
[150,156]
1800
5400
1800
1800 300 m3/h
[156,168]
3600
1800
1800
3600
3600
Figure 8. Best-found schedule for Ex1. Our model cannot handle multiple product deliveries to intermediate nodes (per time slot) for reasons related to the coordinate constraints, but can be adapted to allow it for terminal nodes (by changing some disjunctions from exclusive to inclusive) in cases where storage constraints are not important. This will be the subject of future work. 6.2.2. Ex2 Ex2 involves four products and a single segment with two terminal nodes22. It is a very challenging problem since the transportation schedule must guarantee that the storage levels linked to nodes N1 and N2 are kept within minimum and maximum limits. The tanks are fed by a refinery at a constant rate equal to (100, 150) m3/h for P1-P2 in node N1, and (50, 80) m3/h for P3-P4 (N2), and need to supply (18000, 20000, 23000, 36000) m3 of P1-P4 (N1) and (34000, 40000, 0, 0) (N2) to local markets. Since the maximum supply rate to local markets (200, 250, 100, 150) m3/h is lower than the maximum transportation flowrate, one cannot leave market deliveries to the last moment. Another interesting aspect is that the injection bounds are different between the left-to-right, [100,
23 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
600] m3/h, and right-to-left directions of flow, [50, 400]. To enable finding feasible solutions with 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
lower values of |.|, - was increased from 336 to 360 h.
The best-found solution for Ex2 is given in Figure 9 and corresponds to a makespan of 310.323 h,
a value 5.2% lower than the 327.50 h reported by Cafaro and Cerdá22. The schedule starts with leftto-right flow, interrupted at 93.50 h, when products P1, P2 and P4 in N1 are at their minimum allowed levels (5000 m3 for P1 and P4 and 6000 for P2), see profiles in Figure 10. The optimization decides to keep P2 at a minimum by supplying local markets at the refinery input rate, until 192.47 h. The levels of the other products increase before that, due to the transportation from N2 (right-toleft flow). On the other hand, P4, P3 and P1 reach minimums at N2, with the latter triggering the second flow reversal at the 217.47-hour mark. Interestingly, once 18409 m3 of P1 reach N2, the remaining volume needed by local markets (the schedule ends with P1 in N2 at the minimum, 5000 m3), the direction of flow changes once more to meet the demand of P3 and P4 at N1. Notice that the last pumping run occurs at a flowrate of 150 m3/h, well below the maximum, intriguing considering that we are minimizing makespan. The reason is because this is the maximum supply rate of P4 to local markets, which cannot be anticipated since P4 also ends at the minimum level in N1. Overall, product inventory at the end is much lower than at the beginning, with critical levels reached in N2 for all products.
24 Environment ACS Paragon Plus
Page 24 of 42
Page 25 of 42
Industrial & Engineering Chemistry Research N1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Time Interval
N2 P1 P2 P3 P4
Market Deliveries
S1
Market Deliveries
10000 292.6 m3/h
[0,34.18] h
126.3
5000
10000
5000
20000
5000
8543.9
10000
10000
10000
20000
6666.7 8333.3
10000
10000
4166.7
10000
5591.4
2329.7
600 m3/h 3758.1
[34.18,67.51]
3333.3
600 m3/h
[67.51,84.18]
2500
10000
[84.18,93.50]
1397.8
5591.4
[93.50,111.99]
3698.9 2774.2 1666.7
600 m3/h 400 m3/h 2602.2
7397.8
7397.8
7397.8
4623.7
2602.2
1626.3
7397.8
4623.7
400 m3/h
[111.99,118.50]
1301.1
975.8
2602.2
[118.50,136.99]
2397.8 2774.2 1849.5
7397.8
7397.8
2602.2 400 m3/h 10000 400 m3/h
[136.99,170.70]
5056.5
5056.5
13484
[170.70,192.47]
3266.1 2177.4 3266.1
7225.8
3371
10000
13484
311.8
331.9 m3/h 2774.2
1559.1
7225.8
7225.8 400 m3/h
[192.47,199.41]
1040.3
2774.2
[199.41,217.47]
1806.5 2709.7
7225.8
[217.47,251.56]
3408.6 5112.9
7225.8
2774.2
2774.2 400 m3/h
10000
7225.8
3612.9
540.1 m3/h 18409
18409
10000
6817.2
400 m3/h
[251.56,260.00]
1266.1
3376.3
1655.9 2483.9
6623.7
91.4
354.8
6623.7
3376.3
3376.3
1688.2
6623.7
3311.8
3376.3
3236.6
2516.1
3354.8 4193.5
400 m3/h
[260.00,276.56]
3376.3
6623.7 198.7 m3/h
[276.56,293.55]
3397.8
[293.55,310.32]
3354.8
1698.9 2548.4
3376.3
1677.4 2516.1
2516.1
10000 150 m3/h
1129
7483.9
2516.1
Figure 9. Best-found schedule for Ex2. (m3) 30000
(m3) 30000
P1
P2
P3
Node N1
P4
P1
25000
25000
20000
20000
15000
15000
10000
10000
5000 0
50
100
150
200
250
5000 300(h) 0
50
P2
100
P3
150
Node N2
P4
200
250
300(h)
Figure 10. Inventory profiles from best-found schedule for Ex2. 6.2.3. Ex3 Ex3 is a variant of Ex2 created by Cafaro and Cerdá22 to try to reduce the operating costs by means of a new node placed in the middle of the pipeline. Total demand is the same, but part of the demand for node N1 (10000 m3 of P3) and the right-most node (now named N3), 14000 of P1, has been reallocated to N2. In ref. 22, the middle node is an output node, while in this work, it is defined as a dual-purpose node to give more flexibility to the system. Furthermore, the two segments comprising the pipeline do not always need to operate in the same direction. Due to the increase in the number of segments and nodes, problem size roughly doubles (check Table 3), making it far more complex than Ex2. Better solutions are found for a given number of event points, with the optimal schedule being obtained for |.|=14, see Figure 11. Interestingly, we 25 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
Page 26 of 42
could only reduce the makespan by less than 20 minutes (compared to Figure 10), to 310 h, a value 5.1% lower than the 325.71 h reported in ref. 22. In the best-found schedule, we can see that the system takes full advantage of the storage tanks of N2. They receive an amount of P1 greater than the demand (19250 m3 vs. 14000), which is partly injected back into the pipeline during interval [260, 287.50] h to help meet the last 5000 m3 of P3 in N1. This is the second time segments S1 and S2 operate independently, with N2 feeding N1, and N3 feeding N2. The first, is in interval [95, 111.67], where they operate in opposite directions to move the full contents of the pipeline (10000 m3 of P1) into N2, replacing it with P3. Once again, the market supply rate is the limiting aspect for makespan, with S1 operating at the minimum rate in the last slot and S2 being idle. It is also reflected in the inventory profiles of Figure 12 (products P3 and P4 in N1, and P3 in N2, finish at their minimum levels). N1
Time Interval
N3
N2
S1
Market Deliveries
S2
5000 600
[0,8.33] h
1666.7
1250
600
5000
[8.33,33.33]
3750
5000
5000
20000
5000
5000 3666.7
7000
12000
5000
3333.3
10000
3000
5000
240 m3/h 2500 400 m3/h
5000
2500
[111.67,124.17]
2500
1250
5000
1875
3000
1250
[124.17,136.67]
1250
1875
1250
[136.67,200.00]
6333.3
2625
5500
[200.00,222.50]
2250
5000
5000
20000
6666.7 8333.3
5000
5000
1666.7 2083.3
5000
5000
9500
16000
5000
3375
5000
5000
5000
5000
5000
5000 1250
[260.00,287.50]
6875
2750
4125
5000
5000 100 m3/h
[287.50,310.00]
2250
3375
5000
182 m3/h
2250
4500
5000
3125
5000
3125
16000
5833.3
222 m3/h 5000
5000
5000
4166.7
253 m3/h 5000
213 m3/h
3000
5000
1000
400 m3/h
8000
5000
3750
182 m3/h
5000
5625
5000
5000
5000 5000
133 m3/h
4000
400 m3/h
222 m3/h
2750
6250
300 m3/h
253 m3/h
[222.50,260.00]
5000
250 m3/h
2000
300 m3/h
[95.00,111.67]
5000
600 m3/h
5000 600 m3/h
[75.00,95.00]
1666.7 2083.3
600 m3/h 5000
600 m3/h 1250
5000
5000 200 m3/h
600 m3/h
[66.67,75.00]
m3/h
5000 200 m3/h
[33.33, 66.67]
Market Deliveries
5000
m3/h
2250
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
2750
5000
5000
2250
P1 P2 P3 P4
5000
Figure 11. Best-found schedule for Ex3. (m3) 30000
(m3) 30000
P1
P2
P3
Node N1
P4
(m3) 30000
P1
P2
P3
Node N2
P4
25000
25000
25000
20000
20000
20000
15000
15000
15000
10000
10000
10000
5000 0
50
100
150
200
250
5000 300(h) 0
50
100
150
200
250
5000 300(h) 0
Figure 12. Inventory profiles from best-found schedule for Ex3. 26 Environment ACS Paragon Plus
P1
50
P2
100
P3
150
Node N3
P4
200
250
300(h)
Page 27 of 42
Industrial & Engineering Chemistry Research
6.3. Tree-like pipelines with unidirectional flow 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Benchmark problems Ex4 and Ex5 deal with tree-like structures consisting of a mainline and secondary lines emerging from it15. There is one input node on the left end, and the flow to the intermediate and the multiple terminal output nodes is unidirectional. The problems have been solved by Mostafaei et al.15 for the objective of cost minimization, using a batch-centric formulation that, unlike the current formulation, cannot handle systems with branches on secondary lines (a batch-centric formulation for multilevel tree-like structures can be found in the work by Cafaro and Cerdá37). The reported makespans are 10% higher than the values shown in Figure 13 and Figure 14. Both problems feature forbidden product sequences.
27 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
Page 28 of 42
S3 1000
3000
2000
2000
2000 2000
1000
2000
2000
2000
3000
2000
4000
1000
66.7 m3/h 2000
3000
200 m3/h 3000
109.1 m3/h 2000
120 m3/h 2000
1000
4000
2000 1000
1000
1000 60 m3/h 1000
1000
1000
1000
2000
200 m3/h 3000
2000
[128.33,138.33]
2000
2000
3000
200 m3/h 2000
100 m3/h 2000
2000
2000
1000
1000
50 m3/h
100 m3/h 3000
4000 100 m3/h 1000
1000
1000
1000
4000
200 m3/h
133.3 m3/h
3000 50 m3/h
[108.33,128.33]
54.5 m3/h 3000
60 m3/h 2000
1000
3000
66.7 m3/h
[93.33,108.33]
2000
2000
1000
1666.7
3666.7
200 m3/h
1333.3
[76.67,93.33]
3000
1000
2000
54.5 m3/h
3333.3
[58.33,76.67]
200 m3/h
1000
1000
1000
1000
3000
120 m3/h 2000
1000
1000
3000
100 m3/h 2000
1000
1000
2000
1000
2000
66.7 m3/h
[43.33,58.33]
1000
2000 1000
1000
N3
2000
1000
N5 S4
1000
200 m3/h
S2
1000
200 m3/h
N4
2000
1000
150 m3/h 1000
1000
100 m3/h 2000
2000
[26.67,43.33]
3000
200 m3/h
1000
[16.67,26.67]
1000
2000
[10,16.67]
3000
3333.3
[0,10] h
N2
1000
S1
Time Interval
P1 P2 P3 P4 P5 P6
1333.3
N1
2000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Figure 13. Optimal schedule for Ex4. In Figure 13, one can see that the P1-P5, P1-P6, P2-P4, P2-P5, P4-P2, P5-P1, P5-P2 and P6-P1 forbidden sequences for Ex4, enforced at the entrance of a segment, are respected. Notice that the volume of P2 initially in segment S3 must wait for all P4 in segments S1 and S2 to be transferred to nodes N2 and segment S4, before being delivered to N4 by means of P1 (during [43.33, 76.67] h). Another interesting observation is that the total supply of P1 to node N2 is higher than the 3000 m3 demand (for all other products and nodes, the delivered volume is equal to the demand). It is because the minimum delivery rate to N2 was set equal to the minimum flowrate in segment S1 (80 m3/h). A 28 Environment ACS Paragon Plus
Page 29 of 42
Industrial & Engineering Chemistry Research
feature shared with the model of Mostafaei et al.15 is the simultaneous delivery to multiple output nodes, which occurs during intervals [58.33, 93.33] h and [108.33, 128.33] for nodes N2, N4 and N5. Finally, while 5000 m3 of P6 are initially available at N1, the optimization decides not to use it, because (i) the demand of P6 in all output nodes is equal to zero; and (ii) there are no productdependent pumping costs (unlike in ref. 15, where P6 is the cheapest product to pump and so it enters the pipeline towards the end). S2
2000
2500
N2
N4
4000
S1
2000
2000
7000
[0,20] h
4000
4000
2000
100 m3/h 2000 4000
2000
2000
6000
300 m3/h 2000
2000
2000
200 m3/h 2500
2000 4000
4000
200 m3/h
200
2500
2000
2000 4000
2000
2000
2000
200 m3/h
[50,60]
N8
2000
2000
2000 50 m3/h
1000
2000 100 m3/h
1000
2000
2000
4000
200 m3/h
m3/h
1000
S7
2000
2000
2000
200 m3/h
[30,50]
N7
2000
2500
200 m3/h 2000
N6
100 m3/h 1000
2500 200 m3/h
[20,30]
1000
S6
50 m3/h 350 m3/h 2000
2000
S3
S5 2000
1000
Time Interval
N5
S4 N3
1000
P1 P2 P3 P4 P5 P6
2000
N1
2000 100 m3/h
2000
2000
2000
2000
2000
2000
200 m3/h
2000
2500 4000
4000
2000
[80,90]
2000
2000
200 m3/h
100 m3/h 2500
200 m3/h 2000
2000
350
m3/h
3000
[60,80]
7000
100 m3/h
4000
2000
2000
200 m3/h
2000
2000
2000
2000
2000
2000
2000
2000
2000
2000
2000
2000
2000
2000
2000
2000
2000
200 m3/h 2500 4000
4000
2000 100 m3/h
2500 4000
2000
2000
200 m3/h
200 m3/h
[120,140]
6500
125 m3/h
100 m3/h 2500
325 m3/h 2000
4000
2000
2500 4000
100 m3/h
4000
68.2 m3/h 350 m3/h 2000
2000
2000
200 m3/h
[140,162]
2000
200 m3/h 2000
2000
[110,120]
2000
200 m3/h
50 m3/h 2500 4000
2200 100 m3/h
1100
900
1100 50 m3/h
900
1500 1100
Figure 14. Best-found schedule for Ex5.
29 Environment ACS Paragon Plus
1100
200 m3/h 2000
1100
[90,110]
4000
100 m3/h
7700
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
2000 2000
2000 2000
2000
Industrial & Engineering Chemistry Research
With seven segments and eight nodes, Ex5 is a more complex problem, which is reflected in a 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
doubling of the number of binary variables and constraints (check Table 3). The forbidden sequences are now P1-P3, P2-P5, P3-P1, P3-P5, P4-P6, P5-P2, P5-P3 and P6-P4 and there are five simultaneous deliveries to output nodes N2, N3, N6-N8 in interval [0, 20] h, see Figure 14. Supply exceeds demand again, now by 100 m3, for product P1 in nodes N5 and N7, to respect the minimum flowrate of 50 m3/h in segments S4 and S6 during the last slot.
The best-found solutions for Ex4 and Ex5 were found for |.|=11 event points. Mostafaei et al.15
solve another problem (example 3) with eight segments and nine nodes that turned out to be too complex to solve by the proposed formulation. As an indication, a minimum of 16 events are required just to meet the demand of the nodes further away from the input node (N5 and N6), and it took 2014 CPUs to find a makespan of 88.67 h. The demand of N4 was also met with 16 events but the computational time surpassed one hour (more event points are needed for the remaining eleven product-node deliveries). The explanation for the better performance of the model by Mostafaei et al.15 can be found in the fewer event points needed to represent a schedule (13) and is a direct consequence of batch-centric models allowing multiple products to leave a segment during a time slot, instead of a single product by the proposed product-centric model (a detailed comparison between these two type of models for straight pipelines can be found in Castro and Mostafaei19). It is an indication that models tailored to a specific pipeline topology may be considerably more efficient computationally. 6.4. Mesh structure with unidirectional flow The last benchmark problem is taken from Cafaro and Cerdá20 and deals with a mesh structure with six segments, seven nodes and unidirectional flow, see Figure 15. There are four products involved and sequences P3-P4 and P4-P3 are forbidden. Node N1 is a source of products P1-P3 while N2 supplies P2 and P4. Both nodes receive no external input from refineries and so the amounts available at the beginning of the time horizon are sufficient to meet product demand in nodes N3, N5-N7. These nodes supply local markets at a maximum rate of 700 m3/h.
30 Environment ACS Paragon Plus
Page 30 of 42
Page 31 of 42
Industrial & Engineering Chemistry Research P1 P2 P3 P4
N1
N3
S1 15000
10000
30000
20000
25000
S6 N7
3500
10000
20000 7000
1000 m3/h 50000
7000
1000 m3/h
10000
20000 7000 20000
20000
15000
10000
7000
10000
20000
1000
5000
25000
800 m3/h
9000 10000
20000
3500
1000 m3/h 20000
20000
25000
30000
1000
20000 17500
20000
40000
6000
10000
25000 800 m3/h
50000
1000 m3/h
17500
50000
15000
800 m3/h 20000
50000
988.2 m3/h
30000
20000 21250
988.2 m3/h 10000
800 m3/h 40000
20000
30000
8750
20000
40000 800 m3/h
800 m3/h 10000
20000
15000
17143
32857 15000
800 m3/h 50000
5750
27143
8750
15000
30000
800 m3/h 17143
10000
50000 10000
1250
800 m3/h
21250
20000
8750
50000
10000
50000 30000
[160.36,172.86]
17143
7000 50000
25000
800 m3/h
30000
30000
1000 m3/h 20000
10000
10000
10000
1000 m3/h
50000
[172.86,194.29]
4250
1000 m3/h 20000
1000 m3/h
40000
20000
50000
10000
50000
1000 m3/h
[130,160.36]
14000
1000 m3/h 20000
1000 m3/h
[105,130]
7000
10000
40000
20000
25000
1000 m3/h
30000
30000
20000 10000 25000
20000
50000
[80,105]
25000
1000 m3/h
1000 m3/h
[70,80]
30000
10000
20000
30000
20000
1000 m3/h
7000
50000
1000 m3/h
1000 m3/h 10000
20000
10000
20000
30000
7000
10000
25000
40000
20000
32857
17143
10000
[50,70]
10000
2000
1000 m3/h 10000
30000
20000
[40,50]
20000
10000
10000
30000
5000
5000 20000
10000
20000
10000
10000
40000
17500 40000
20000 1500
1000 m3/h 10000
1000 m3/h
20000
10000
10000
10000
10000
40000
20000
17143
800 m3/h
20000
25000
20000
20000
35000
20000
15000 1000 m3/h 20000
10000
10000 5000
30000
25000
1000 m3/h 20000
5000
5000 20000 10000
15000
N6
30000
[30,40]
35000
S5
30000
[5,30]
15000
20000
N5
S4
S3
N2
[0,5] h
N4
S2
35000
10000
Time Interval
17143
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Figure 15. Best-found schedule for Ex6. Node N4 is an intermediate dual purpose node connecting four segments, S2-S5. In Cafaro and Cerdá20, node N4 forces products arriving from S2 and S3 to wait for one time slot before being injected in segments S4-S5. Such conservative constraint is relaxed in this work and so we assume 31 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
that node N4, besides being able to inject product into segments S4 and S5, has a valve system that 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
allows for different connections between segments S2-S3 to S4-S5. While the formulation makes it possible for a segment (e.g. S2) to transfer a product to segments S4 and S5 simultaneously, it is not observed in the schedule due to narrow flowrate bounds, [800, 1000] m3/h in all segments. Segment S2 is connected to S5 during [30, 50] h and [172.86, 194.29] and to S4 during [50, 70] and [80, 160.36]. We enforce the same bounds on the nodes inlet and outlet flowrates, which prevents alternative destinations on a branch to be active at the same time (e.g. N3 and the outlet of S2, N6 and N7). The exception occurs if intermediate nodes N3 and N6, defined as dual purpose to give more flexibility to the system (single purpose in ref. 20), receive one product and ship another, see N3 in Figure 15 and slot [50, 70] h. (m3)
(m3)
35000
35000
P1
P2
P3
30000
Node N3
30000
25000
25000
20000
20000
15000
15000
10000
10000
5000
5000
0 0
50
100
150
(m3) 25000
(h)
P1
P2
P3
P4
0 200 0
Node N5
50
100
150
(m3) 25000
P1
P2
P3
P4
Node N6
20000
20000
15000
15000
10000
10000
5000
5000
0 0
50
100
150
(h)
0 200 0
P1
P2
50
P3
P4
100
(h) 200
Node N7
150
(h)
200
Figure 16. Inventory profiles for Ex6. Ex6 is the most complex of all benchmark problems solved. It becomes feasible for |.|=12 event
points but five hours of computational time are not enough to prove optimality (gap=8.6%).
Increasing |.| to 13 leads to no feasible solution in the same computational time, recall Table 2. It is interesting to observe in the schedule in Figure 15 that while all four products are initially in the
pipeline, the optimization drives two of them out towards the end, to reduce the number of slots required to move the products between segments. Segment flowrates are at the minimum in the last two slots, indicating that the bottleneck for makespan minimization lies with product delivery to 32 Environment ACS Paragon Plus
Page 32 of 42
Page 33 of 42
Industrial & Engineering Chemistry Research
local markets, in this case P1 to N5. Notice in the inventory profiles in Figure 16 that P1 in N5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
reaches the minimum level of 5000 m3 at hour 130, having to wait for the start of the 30000 m3 delivery (arriving at 988.2 m3/h) to start shipping to local markets (at 700 m3/h). Product P2 in node N7 is at the minimum level during a long period [80, 172.86] h, having to wait for the last delivery from segment S6 to meet the final 15000 m3 market demand for a total of 40000 m3. Cafaro and Cerdá20 report a makespan of 179 h for Ex6, 15.29 h shorter than our best-found solution. However, upon careful examination of Fig. 7 in ref. 20, one finds that some constraints are not rigorously enforced by their formulation. The first issue, easier to spot, is related to the minimum flowrates of 800 m3/h. Cafaro and Cerdá20 divide the system into lines connecting the main nodes, which may have intermediate nodes. To be more specific, whereas in our work there are a total of four segments connecting nodes N1 to N4 (S1-S2) and N4 to N7 (S5-S6), they correspond to two lines (/ and ) in Cafaro and Cerdá20. The
consequence seems to be that flowrate constraints are relaxed in the part of the line after the
intermediate nodes, i.e. in segments S2 and S6, since one can compute flowrates of 583 m3/h for segment S2 during [0, 60] h, and 588 and 183 m3/h for S6 during [133, 150] and [150, 179],
respectively. Interestingly, the first part of line (S5) already exhibits a violated flowrate (586
m3/h) in the last slot. One possible explanation, provided by one of the reviewers, is that not all injections performed during a time slot are assumed20 to last the full duration of the slot. The second issue is related to the delivery to local markets and can be found after subdividing the intervals of the schedule in Fig. 7 of ref. 20 so that a single product is delivered to node N5. It leads to events {0, 35, 60, 105, 110, 133, 150, 163.5, 179} (h). While the 80000 m3 delivery of P1 to local markets can be met respecting the 700 m3/h maximum flowrate and minimum capacity constraints,
the same is not true for the 90000 m3 delivery of P2. In N5, P2 is initially at the minimum (10000 m3, see Figure 16) and only begins to arrive from line (S4) at hour 35. Subsequent arrivals make it
possible to ship at the maximum rate up to hour 133. The inventory at that point is equal to 16400 m3 and so one can only ship 6400 m3 until the last delivery from S4 begins. It occurs at 163.5 h, being
33 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
still possible to ship 10850 m3 to local markets. Unfortunately, at the end of the time horizon, we 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
only managed to ship a total of 85850 m3, 4150 m3 short of the target. 7.
CONCLUSIONS This paper has presented what is perhaps the most general formulation for integrated scheduling of
pipeline systems and associated storage tanks. It views the system as a network of segments connecting different types of nodes and allows the movement of products in both directions. Material transfer from segments to nodes is triggered by the left or right coordinates, which precisely locate all product batches inside the pipeline. Still, no batches are explicitly defined, being this classified as a product-centric formulation. Its main limitation is that only one batch per product is permitted inside a segment, a direct consequence of resetting the left/right coordinate only after the complete product volume exits on the right/left, enabling a new batch to enter on the next pumping run on the left/right. Forbidden product sequences are rigorously enforced on entry. The mixed-integer linear programming formulation relies on a continuous-time (and volume) representation that divides the time horizon into slots of unknown duration. The continuous movement of materials inside the pipeline can be characterized by segment-dependent flowrates but these are not linked to model variables, to preserve linearity. Instead, they are subject to given lower and upper bounds. By assuming a constant flowrate throughout a slot duration, it is possible to rigorously enforce capacity limits in storage tanks with multiple inputs and outputs. External inputs from refineries were assumed constant throughout the time horizon but the formulation can easily be adapted to handle piecewise constant external flows. This will however increase the number of slots required to represent a schedule, a key performance indicator. Frequently changing profiles are better handled by a discrete-time formulation and so are time-dependent electricity and inventory costs. Minor changes are needed to switch from continuous to discrete time, which will be the subject of future work. The proposed formulation has been validated by solving a motivating example and six benchmark problems from the literature, covering a variety of configurations. Highlights compared to recent formulations include the ability to handle tree-like networks with consecutive branches, for 34 Environment ACS Paragon Plus
Page 34 of 42
Page 35 of 42
Industrial & Engineering Chemistry Research
intermediate nodes to act as dual purpose in mesh structures, and the more rigorous handling of 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
flowrate bounds in segments and of minimum levels in storage tanks serving local markets. Still, other formulations may be computationally more efficient for specific configurations, specifically formulations allowing multiple products to enter a terminal node during a slot, in cases where inventory constraints are not relevant. ACKNOWLEGMENT Financial support from Fundação para a Ciência e Tecnologia through projects IF/00781/2013 and UID/MAT/04561/2013. NOMENCLATURE
Sets/Indices
/ = nodes U = dual purpose nodes R = single purpose input nodes > = junction nodes = non-junction nodes supplying local markets = intermediate nodes T = single purpose output nodes = non-junction nodes receiving material from a refinery : = terminal nodes / = products = products that can appear in node = products that cannot enter a segment after # = products that can appear in segment ! #$ = products that can enter segment ! through its left end #$ = products that can leave segment ! through its left end # = products that can enter segment ! through its right end # = products that can leave segment ! through its right end "/! = pipeline segments " $ = segments that can have left-to-right direction of flow "$ = segment whose left end is connected to node " $ = segments that can have right-to-left direction of flow " = segments that can reverse flow direction " = segment whose right end is connected to node " = segments restricted to a single flow direction ./1 = event points of the time grid
Parameters
$, %#, = left coordinate of product in segment ! at the start of time horizon (m3) , %#, = right coordinate of product in segment ! at the start of time horizon (m3)
35 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
,{y , = demand at node for product (m3) , = maximum volume entering/leaving the segment from/to node (m3) , = minimum volume entering/leaving the segment from/to node (m3) #, = maximum volume into segment ! during a time slot (m3) #, = minimum volume into segment ! during a time slot (m3) - = time horizon (h) , = initial volume of product in storage system of node (m3) , , , = maximum volume of product in storage system of node (m3) , = minimum volume of product in storage system of node (m3) , # = volume of pipeline segment ! (m3) , #, = initial volume of product in segment ! (m3) , = maximum flowrate of product from storage system of node to local markets (m3/h) , , , = flowrate of product from refinery to storage system of node (m3/h) , , = maximum flowrate of product entering the pipeline from node (m3/h) , , = minimum flowrate of product entering the pipeline from node (m3/h) , = maximum flowrate of product leaving the pipeline into node (m3/h) , , , = minimum flowrate of product leaving the pipeline into node (m3/h) #,$ = maximum flowrate in segment ! for left-to-right direction of flow (m3/h) #,$ = minimum flowrate in segment ! for left-to-right direction of flow (m3/h) #,$ = maximum flowrate in segment ! for right-to-left direction of flow (m3/h) #,$ = minimum flowrate in segment ! for right-to-left direction of flow (m3/h)
Variables
, S,2 = binary variable indicating no product injected in pipeline by node during slot 1 , yz{ S,2 = binary variable indicating node is not receiving neither injecting products during slot 1 , S,,2 = binary variable indicating node is sending product to the pipeline during slot 1 , S,,2 = binary variable indicating node is receiving product from the pipeline during slot 1 ,# S#,,2 = binary variable indicating product is inside segment ! at event point 1 ,$ S#,,2 = binary variable indicating is the left-most product in segment ! at event point 1 ,$ S#,,2 = binary variable indicating product is entering segment ! on the left during slot 1 ,$ S#,,2 = binary variable indicating is not entering/leaving segment ! on the left during slot 1 ,$ S#,,2 = binary variable indicating product is leaving segment ! on the left during slot 1 , S#,,2 = binary variable indicating is the right-most product in segment ! at event point 1 , S#,,2 = binary variable indicating product is entering segment ! on the right during slot 1 , S#,,2 = binary variable indicating is not entering/leaving segment ! on the right during slot 1 , S#,,2 = binary variable indicating product is leaving segment ! on the right during slot 1
, yz{ #,2 = binary variable indicating segment ! is idle during slot 1 ,$ #,2 = binary variable indicating segment ! has left-to-right flow during slot 1 ,$ = binary variable indicating segment ! has right-to-left flow during slot 1 #,2 $ #,,2 = left coordinate of product in segment ! at event point 1 (m3) $, #,,2 = left coordinate of product in segment ! at the end of slot 1 (m3) #,,2 = right coordinate of product in segment ! at event point 1 (m3) , #,,2 = right coordinate of product in segment ! at the end of slot 1 (m3) #,,2 = resets to zero coordinates of product in segment ! at event point 1 (m3)
36 Environment ACS Paragon Plus
Page 36 of 42
Page 37 of 42
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Industrial & Engineering Chemistry Research
, B,,2 = volume of product supplied to local market of node during slot 1 (m3)
, B,,2 = volume of product injected from node into the pipeline during slot 1 (m3) , B,,2 = volume of product leaving the pipeline into node during slot 1 (m3) ,$ B#,,2 = volume of product entering segment ! through its left during slot 1 (m3) ,$ B#,,2 = volume of product leaving segment ! through its left during slot 1 (m3) , B#,,2 = volume of product entering segment ! through its right during slot 1 (m3) , B#,,2 = volume of product leaving segment ! through its right during slot 1 (m3) 32 = duration of time slot 1 (h) .2 = time of event point 1 (h) D,,2 = volume of product in storage system of node at event point 1 (m3) = volume in segment ! of product at event point 1 (m3) D#,,2
References
(1) Association of Oil Pipe Lines. U.S. Liquids Pipeline Usage & Mileage Report. http://www.aopl.org/wp-content/uploads/2014/10/U.S.-Liquids-Pipeline-Usage-Mileage-ReportOct-2014-s.pdf (accessed 30.01.2017). (2) Rejowski, R.; Pinto, J.M. Scheduling of a multiproduct pipeline system. Comput. Chem. Eng. 2003, 27, 1229–1246. (3) Cafaro, D. C.; Cerdá, J. Optimal scheduling of multiproduct pipeline systems using a nondiscrete MILP formulation. Comput. Chem. Eng. 2004, 28, 2053-2068. (4) Magatão, L.; Arruda, L.V.R.; Neves, F., Jr. A mixed integer programming approach for scheduling commodities in a pipeline. Comput. Chem. Eng. 2004, 28, 171−185. (5) Relvas, S.; Matos, H.M.; Barbosa-Póvoa, A.P.F.D.; Fialho, J.; Pinheiro, A.S. Pipeline scheduling and inventory management of a multiproduct distribution oil system. Ind. Eng. Chem.
Res. 2006, 45, 7841–7855. (6) Castro, P. M. Optimal scheduling of Pipeline Systems with a Resource-Task Network Continuous-Time Formulation. Ind. Eng. Chem. Res. 2010, 49, 11491-11505. (7) Herran, A.; Cruz, J.M.; Andres, B. Mathematical model for planning transportation of multiple petroleum products in a multi-pipeline system. Comput. Chem. Eng. 2010, 34, 401-413. (8) MirHassani, S.A.; Jahromi, H.F. Scheduling multi-product tree-structure pipelines. Comput.
Chem. Eng. 2011, 35, 165–176. (9) Mostafaei, H.; Ghaffari-Hadigheh, A. A General Modeling Framework for the Long-Term Scheduling of Multiproduct Pipelines with Delivery Constraints. Ind. Eng. Chem. Res. 2014, 53, 7029-7042. 37 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
(10) Chen, H.; Wu, C.; Zuo, L.; Diao, F.; Wang, L.; Wang, D.; Song, B. Optimization of Detailed 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Schedule for a Multiproduct Pipeline Using a Simulated Annealing Algorithm and Heuristic Rules. Ind. Eng. Chem. Res. 2017, 56, 5092-5106. (11) Relvas, S.; Barbosa-Póvoa, A.P.F.D.; Matos, H.A. Heuristic batch sequencing on a multiproduct oil distribution system. Comput. Chem. Eng. 2009, 33, 712−730. (12) Magatão, L.; Arruda, L.V.R.; Neves, F., Jr. A combined CLP- MILP approach for scheduling commodities in a pipeline. J. Sched. 2011, 14, 57−87. (13) Garcia-Sanchez, A.; Arreche, L.M.; Ortega-Mier, M. Combining simulation and tabu search for oil-derivatives pipeline scheduling. Studies in Computational Intelligence 2008, 128, 301-325. (14) Herran, A.; Cruz, J.M.; Andres, B. Global Search Metaheuristics for planning transportation of multiple petroleum products in a multi-pipeline system. Comput. Chem. Eng. 2012, 37, 248−261. (15) Mostafaei, H.; Castro, P. M.; Ghaffari-Hadigheh, A. A novel monolithic MILP framework for lot- sizing and scheduling of multiproduct treelike pipeline networks. Ind. Eng. Chem. Res. 2015, 54, 9202-9221. (16) Cafaro, V.G.; Cafaro, D.C.; Mendéz, C.A.; Cerdá, J. Optimization model for the detailed scheduling of multi-source pipelines. Comput. Ind. Eng. 2015, 88, 395-409. (17) Mostafaei, H.; Castro, P.M.; Ghaffari-Hadigheh, A. Short-term scheduling of multiple source pipelines with simultaneous injections and deliveries. Comput. Oper. Res. 2016, 73, 27-42. (18) Mostafaei, H.; Castro, P.M. Continuous-Time Scheduling Formulations for Straight Pipelines.
AIChE J. 2017, 63, 1923-1936. (19) Castro, P.M.; Mostafaei, H. Product-centric Continuous-time Formulation for Pipeline Scheduling. Comput. Chem. Eng. 2017, 104, 283-295. (20) Cafaro, D.C.; Cerdá, J. Rigorous Scheduling of Mesh-Structure Refined Petroleum Pipeline Networks. Comput. Chem. Eng. 2012, 38, 185–203. (21) Magatão, S.N.B.; Magatão, L.; Arruda, L.V.R.; Neves, F., Jr. Novel MILP Decomposition Approach for Scheduling Product Distribution through a Pipeline Network. Ind. Eng. Chem. Res. 2015, 54, 5077-5095. (22) Cafaro, D. C.; Cerdá, J. Rigorous Formulations for the Scheduling of Reversible-Flow Multiproduct Pipelines. Comput. Chem. Eng. 2014, 61, 59–76. 38 Environment ACS Paragon Plus
Page 38 of 42
Page 39 of 42
Industrial & Engineering Chemistry Research
(23) Castro, P.M.; Barbosa-Póvoa, A.P.; Matos, H.A.; Novais, A.Q. Simple Continuous-Time 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Formulation for Short-Term Scheduling of Batch and Continuous Processes. Ind. Eng. Chem. Res. 2004, 43, 105-118. (24) Harjunkoski, I; Maravelias, C; Bongers P.; Castro P. M.; Engell, S.; Grossmann, I. Hooker, J. Méndez, C.; Sand, G.; Wassick, J. Scope for Industrial Applications of Production Scheduling Models and Solution Methods. Comput. Chem. Eng. 2014, 62, 161-193. (25) Cafaro, V.G.; Cafaro, D.C.; Mendéz, C.A.; Cerdá, J. MINLP model for the detailed scheduling of refined products pipelines with flow rate dependent pumping costs. Comput. Chem.
Eng. 2015, 72, 210-221. (26) Castro, P. M. Source-based Discrete and Continuous-time Formulations for the Crude Oil Pooling Problem. Comput. Chem. Eng. 2016, 93, 382-401. (27) Balas, E. Disjunctive programming. Annals of Discrete Mathematics 1979, 5, 3-51. (28) Raman, R.; Grossmann, I. E. Modeling and computational techniques for logic based integer programming. Comput. Chem. Eng. 1994, 18, 563-578. (29) Castro, P. M.; Grossmann, I. E. Generalized Disjunctive Programming as a Systematic Modeling Framework to Derive Scheduling Formulations. Ind. Eng. Chem. Res. 2012, 51, 57815792. (30) Balas, E. Disjunctive Programming and a Hierarchy of Relaxations for Discrete Optimization Problems. SIAM J. Algebraic Discrete Methods 1985, 6(3), 466-486. (31) Vecchietti, A.; Grossmann, I. E. Modeling Issues and Implementation of Language for Disjunctive Programming. Comput. Chem. Eng. 2000, 24, 2143−2155. (32) Rubio-Castro, E.; Ponce-Ortega, J. M.; Serna-González, M.; El-Halwagi, M. M. Optimal Reconfiguration of Multi-Plant Water Networks into an Eco-Industrial Park. Comput. Chem. Eng. 2012, 44, 58–83. (33) Castro, P. M.; Rodrigues, D.; Matos, H. A. Cyclic scheduling of pulp digesters with integrated heating tasks. Ind. Eng. Chem. Res. 2014, 53, 17098-17111.
39 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
(34) Castro, P. M; Marques I. Operating Room Scheduling with Generalized Disjunctive 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Programming. Comp. Oper. Res. 2015, 64, 262-273. (35) Drouven, M. G.; Grossmann, I. E. Multi-Period Planning, Design, and Strategic Models for Long- Term, Quality-Sensitive Shale Gas Development. AIChE J. 2016, 62, 2296–2323. (36) Rodriguez, M. A.; Montagna, J. M.; Vecchietti, A.; Corsano, G. Generalized disjunctive programming model for the multi-period production planning optimization: an application in a polyurethane foam manufacturing plant. Comput. Chem. Eng. 2017, 103, 69-80. (37) Cafaro, D. C.; Cerdá, J. Optimal Scheduling of Multi-Level Tree-Structure Pipeline Networks. In Computer-Aided Chemical Engineering, Vol. 29 (2011). Editors: E. N. Pistikopoulos, M.C. Georgiadis, A.C. Kokossis, 980-984.
40 Environment ACS Paragon Plus
Page 40 of 42
Page 41 of 42
Industrial & Engineering Chemistry Research
Table of Contents Graphic 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
41 Environment ACS Paragon Plus
Industrial & Engineering Chemistry Research
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
254x190mm (300 x 300 DPI)
ACS Paragon Plus Environment
Page 42 of 42