Author’s Accepted Manuscript Vessel Routing with Pickups and Deliveries: An Application to the Supply of Offshore Oil Platforms Eirik Fernández Cuesta, Henrik Andersson, Kjetil Fagerholt, Gilbert Laporte www.elsevier.com/locate/caor
PII: DOI: Reference:
S0305-0548(16)30261-1 http://dx.doi.org/10.1016/j.cor.2016.10.014 CAOR4112
To appear in: Computers and Operation Research Received date: 9 March 2016 Revised date: 26 October 2016 Accepted date: 26 October 2016 Cite this article as: Eirik Fernández Cuesta, Henrik Andersson, Kjetil Fagerholt and Gilbert Laporte, Vessel Routing with Pickups and Deliveries: An Application to the Supply of Offshore Oil Platforms, Computers and Operation Research, http://dx.doi.org/10.1016/j.cor.2016.10.014 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting galley proof before it is published in its final citable form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.
Vessel Routing with Pickups and Deliveries: An Application to the Supply of Offshore Oil Platforms Eirik Fern´andez Cuestaa,∗, Henrik Anderssona , Kjetil Fagerholta,b , Gilbert Laportec a Department
of Industrial Economics and Technology Management, Norwegian University of Science and Technology, 7491 Trondheim, Norway, email:
[email protected],
[email protected],
[email protected] b Norwegian Marine Technology Research Institute (MARINTEK), Otto Nielsens veg 10, 7052 Trondheim, Norway c Canada Research Chair in Distribution Management, HEC Montr´ eal, 3000 chemin de la Cˆ ote-Sainte-Catherine, Montreal H3T 2A7, Canada, email:
[email protected]
Abstract This paper presents a new routing problem, the Vessel Routing Problem with Selective Pickups and Deliveries (VRPSPD), an extension of existing pickup and delivery problems that arises in the planning of logistics operations in the offshore oil and gas industry. The VRPSPD is a single-vessel model that can lead to significant economic improvements to the current planning scheme without having a very large impact on the operations. In addition, we formulate a Multi-Vessel Routing Problem with Pickups and Deliveries (mVRPPD) that leads to even larger economical gains, but also entails more important changes in the current planning and operations. To quantify and justify the benefits of the VRPSPD and mVRPPD, an industry case based on real data was constructed and solved for 300 days. The VRPSPD is solvable with a commercial solver for most real-size instances. However, for the mVRPPD on the largest instances, it was necessary to develop a state-of-the-art adaptive large neighbourhood heuristic search to reduce computational time. Keywords: One-to-many-to-one, vehicle routing, pickup and delivery problem, selective pickup and selective delivery, offshore supply
1. Introduction Upstream offshore oil and gas logistics is the part of the oil and gas supply chain that deals with the transportation related to the oil production at offshore platforms. An important part of it is the transport work performed by supply vessels. Their task is the delivery of equipment and other supplies from a land base to the offshore platforms, as well as the return of waste and depleted ∗ Corresponding
author
Preprint submitted to Elsevier
October 28, 2016
equipment back to land. This is a costly operation which is required in order to keep the oil production going. Figure 1 shows an example layout for an offshore oil and gas logistic network off the Brazilian coast. Here, the land base where the supply vessels are stationed is both the starting and ending point for orders to and from the offshore platforms.
Figure 1: Offshore supply layout
The planning problem faced by the logistics operator consists of transporting the delivery orders to the platforms and returning the pickup orders back to the depot. For practical purposes, all platforms are associated with scheduled departures. This means that a platform can request one or more orders for the next departure when it is scheduled to be visited. On the day of the scheduled departure, the task of the logistics operator is to determine which orders among the available pickup and delivery orders should be carried. Each scheduled departure is normally handled by one voyage, which is termed regular voyage. There is no routing optimization involved in the regular voyage; it typically follows the historical shortest route that visits each scheduled platform exactly once. A supply vessel performing a regular voyage travels along a fixed path while delivering and picking up orders, skipping only the platforms that have no orders on that particular scheduled departure. If the supply vessel performing the regular voyage has insufficient capacity to carry all the orders on a scheduled departure, it is possible to carry surplus orders by means of an express voyage performed by a supply vessel on a voyage charter. With some simplifications, the current planning practice can be described as a sequential planning procedure that 1) determines which delivery and pickup orders to carry on the given regular voyage and 2) decides whether to perform the express voyage (depending on the number and importance of the surplus orders), and if so, determines 2
its route. However, one can sometimes obtain better solutions and improved vessel utilization by routing the vessel after the set of available orders becomes known. In this paper we define the Vessel Routing Problem with Selective Pickups and Deliveries (VRPSPD) used for planning of the regular voyage (and the express voyage when required afterwards) once the set of available orders is known and not given a priori as in the current industry practice. In addition, further savings can be obtained by planning the regular and express sailing simultaneously. For this purpose we present the Multi-Vessel Routing Problem with Pickups and Deliveries (mVRPPD) that differs from the VRPSPD in that it routes both voyages in parallel and where the orders are no longer selective. Both models will be compared to the current industry practice of sailing fixed routes represented by an order selection problem. Both the VRPSPD and mVRPPD belong to a class of general Pickup and Delivery problems (PDPs), an important and well-studied class of vehicle routing problems in which the objective is to distribute commodities between sources and destinations. There exist many variations of these problems. Comprehensive surveys and classification schemes can be found in Berbeglia et al. [3] and in Battarra et al. [2]. A class of PDPs to which the VRPSPD is closely related is the One-to-Many-to-One Vehicle Pickup and Delivery Problem (1-M-1 PDP), which is described in Gribkovskaia and Laporte [5]. The expression 1-M-1 refers to the fact that all supplies destined to the set of customers originate from the depot and all orders picked up at the customer locations must be returned to the depot. There exist several practical applications for the 1-M-1 PDP in the upstream offshore petroleum industry, see for examples Aas et al. [1] and Gribkovskaia et al. [6]. The VRPSPD is characterized by selective (optional) pickup and delivery orders and by the possibility of having multiple pickup or delivery orders at a given platform and can be seen as an extension to the problems presented by Aas et al. [1], Gribkovskaia et al. [7] and Gribkovskaia et al. [8]. In addition to the literature focusing solely on the routing, several papers have addressed additional aspects of the upstream offshore oil and gas logistics such as fleet composition and robustness (Halvorsen-Weare et al. [10], Halvorsen-Weare and Fagerholt [9], Norlund et al. [15]). The purpose of this paper is twofold. First, motivated by a real problem arising from offshore oil and gas logistics, we propose two mathematical formulations. The first is the VRPSPD, a new single-vessel problem which is quite similar to the current industry practice with sequential voyage planning but extends it by including routing. The second is the mVRPPD that allows for parallel voyage planning. The second part of the purpose is to show how the VRPSPD and the mVRPPD can be used to improve current practice and to quantify the related potential benefits. An industry case study based on real data was developed and analyzed for this purpose. In terms of methodology, we also propose an order selection model for the regular voyage with fixed route. This model corresponds to the current industry 3
practice and is termed the current model. It is used to benchmark the VRPSPD and mVRPPD. The mVRPPD proved hard to solve with commercial solvers. Because of this, this paper also presents an adaptive large neighborhood search (ALNS) procedure to solve the largest instances arising in the industry. The remainder of this paper is organized as follows. Section 2 describes the current industry practice and shows how the VRPSPD and mVRPPD are modeled. Section 3 presents the mathematical models for both the main problems as well as the current model corresponding to the industry practice. Section 4 describes the ALNS heuristic we have developed to solve large instances. Computational results are presented in Section 5, followed by conclusions in Section 6. 2. Problem Description In this section we first describe the planning problem faced by the logistics operator, as well as the current industry practice for solving the problem. We then motivate the introduction of the VRPSPD and we present the modifications needed for the mVRPPD. The planning problem faced by the logistics operator originates from the necessity to transport supplies and maintenance equipment (delivery orders) to offshore oil and gas platforms and collect waste and redundant equipment (pickup orders) destined for an onshore base. This is achieved by specialized supply vessels. The platforms may have several pickup or delivery orders at any given time. To facilitate planning, a schedule of departures with a weekly regularity is designed irrespective of the order requests available. Each scheduled departure is related to a predetermined subset of the platforms. This ensures predictability since only the orders from those platforms corresponding to the scheduled departure are considered as part of the planning problem for the regular voyage on that particular day. Under the current industry planning practice, a regular voyage for a scheduled departure is performed following a fixed route which corresponds to the shortest way of visiting each platform exactly once. The only way a route will deviate from the fixed route is when a platform does not have any pickup or delivery orders. In this case the platform is skipped and the voyage continues to the next platform along the planned route. The current industry practice is described through an order selection model, which we call the current model. Its objective is to choose which orders to pick up and deliver, and which ones to leave behind. The capacity of the vessel used is such that under normal circumstances the regular voyage is sufficient to carry all the available orders. When this is not the a case, an express voyage to carry the surplus orders can be requested. The selection of orders to assign to the express vessel is decided by means of a penalty cost for not picking up or delivering an order. The size of the penalty is based on the urgency and importance of the order. The equipment 4
that is critical to the operations will incur a high penalty whereas equipment that is kept on stock at the platforms incurs a smaller penalty. Since different orders to the same platform can be of very different importance it is generally not possible to consolidate orders. In this paper, all orders for a given scheduled departure are carried, either on the regular or express voyages.
Figure 2: Examples of two voyages
The VRPSPD is based on current industry practice but is different in that it also contains a routing component. Figure 2 depicts two voyages that start at the depot D and visit platforms 1, 2 and 3 before returning to the depot. Voyage 1 is the shortest way of visiting the platforms and represents the fixed route in the current model. Pickup orders p1 and p2 and delivery orders d1 , d2 , d3 , and d4 are available. Note that platform 3 has two delivery orders. Even if voyage 1 is shorter than voyage 2, the latter may be preferred if it can carry a larger number of orders. It is also possible that revisiting a platform can be beneficial if this leads to increased vessel utilization. This may be achieved by delivering the orders on the first visit and picking up the return orders on the second visit to the platform. This would not be possible under the current industry practice. This is the reason for introducing the VRPSPD. In the VRPSPD, the sequence in which the platforms are visited on a voyage is decided once the set of available pickup and delivery orders is known. The objective of the VRPSPD is to plan a voyage that carries the orders at minimum cost and penalty. The penalty costs for the orders are the same as in the current model. In the mVRPPD both the regular and express vessels are routed in parallel. This is in contrast to the industry practice and to the VRPSPD where the express voyage is routed after the route and order selection of the regular voyage has been decided. This ensures a more even utilization of the vessels in the event
5
that the regular vessel has insufficient capacity to carry all the available orders. In the mVRPPD all orders are mandatory. The objective of the mVRPPD is to determine the voyages that carry all the orders at minimum cost within the available sailing time. Otherwise all the requirements of the VRPSPD version apply. 3. Mathematical Formulations This section presents the mathematical model for the VRPSPD in Section 3.1 and the mathematical model for the mVRPPD in Section 3.2. The current model used for benchmarking is presented in Section 3.3.
Figure 3: Platforms are split into pickup and delivery nodes and as a result there is no need to distinguish between pickup orders pi and delivery orders di in the notation
3.1. Vessel Routing Problem with Selective Pickups and Deliveries Let N = {N P , N D } be the set of all nodes on a given scheduled departure, where N P is the set of pickup nodes and N D is the set of delivery nodes. The set of all platforms is given by P. Each platform is coupled to two nodes: a delivery node belonging to N D and a pickup node belonging N P . Let O be the set off all orders. There may be several delivery or pickup orders at each platform. Figure 3 illustrates how platforms are split into two nodes, one node for the pickup orders and one for the delivery orders. As a result there is no longer a need to differentiate between pickup and delivery orders. The vessel’s starting depot is node 0 and the end depot is node |N | + 1. The binary variable vi controls whether node i is visited, and variables liP and liD are the pickup and delivery loads on the vessel immediately after leaving i, respectively. In addition, let o be an order in the set Oi of orders for node i. The binary variable uo is one if order o is served, and zero otherwise. The 6
size of order o is given by So and the penalty associated with not delivering or picking it up CoL . The vessel capacity is given by Q and the fixed cost for using it is C F . Furthermore, let all feasible sailing legs be represented by the set of arcs A. For an arc between nodes i and j the travel time is given as Tij and the cost of traversing it as Cij . The binary variable xij is one if the arc from i to j is used and zero otherwise. The time it takes to visit a node consists of a fixed time T F and a variable time for loading or unloading. The variable time for loading/unloading order o is denoted by ToV . The duration of each voyage is limited by T L .
Minimize
CoL (1 − uo ) +
(i,j)∈A
i∈N o∈Oi
subject to
Cij xij + C F
(1)
x0j = 1
(2)
xi,|N |+1 = 1
(3)
xij = vi
i∈N
(4)
xij = vj
j∈N
(5)
(0,j)∈A
(i,|N |+1)∈A
j∈N
i∈N
vi ≥ uo
ljD ≤ liD −
i ∈ N , o ∈ Oi
(6)
0 ≤ liP + liD ≤ Q i∈N D l0 = So u o
(7)
(8)
i∈N D o∈Oi
So uo + Q(1 − xij )
i ∈ N,j ∈ ND
(9)
o∈Oj
i ∈ N,j ∈ NP ljD ≤ liD + Q(1 − xij ) P So u o l|N |+1 = ljP ≥ liP +
(10) (11)
i∈N P o∈Oi
So uo − Q(1 − xij )
i ∈ N,j ∈ NP
(12)
o∈Oj
i ∈ N,j ∈ ND ljP ≥ liP − Q(1 − xij ) Tij xij + T F vi + ToV uo ≤ T L (i,j)∈A
i∈N
i∈N o∈Oi
7
(13) (14)
xij ∈ {0, 1}
(i, j) ∈ A
(15)
liP ≥ 0
i∈N
(16)
≥0
i∈N
(17)
liD
uo ∈ {0, 1}
i ∈ N , o ∈ Oi
(18)
i ∈ N.
(19)
vi ∈ {0, 1}
The objective function (1) minimizes the travel cost plus the penalty cost for not handling orders. The constant C F for using the vessel is added to show consistency with the multi-vessel model presented in Section 3.2. Constraints (2)–(3) ensure that the vessel starts and ends at the depot, whereas constraints (4) and (5) mean that all visited nodes have one inbound and one outbound arc, respectively. Constraints (6) state that only orders from visited nodes can be handled. The capacity of the vessel is respected through constraints (7). The start delivery load on the vessel is controlled by constraints (8) and the end pickup load by (11), whereas constraints (9) and (12) together with constraints (10) and (13) ensure continuity in the pickup and delivery load aboard the vessel, respectively. Note that splitting the vessel load into pickup and delivery quantities eliminates the need for subtour eliminating constraints (see Hoff et al. [12]). Finally, constraint (14) limits the total travel time of the vessel, and constraints (15)–(19) define the domains of variables. 3.2. Multi-Vessel Routing Problem with Pickups and Deliveries The model described in the previous section is based on the current industry practice of assigning surplus orders to an express voyage routed only after the orders for the scheduled voyage have been determined, on the basis of a penalty cost which applies to both pickup and delivery orders. This penalty represents the expected cost of delivering the order by means of an express vessel. In the multi-vessel model, we need to add constraints making all orders mandatory, and the penalty term CoL associated to orders is removed from the objective. In addition the model is modified with the set of vessels K and the binary variable yk that is one if vessel k is used, zero otherwise. All other variables and parameters from the VRPSPD formulation are modified with the index k for vessel k.
Minimize
Cijk xijk +
k∈K (i,j)∈A
subject to
CkF yk
k∈K
x0jk = yk
k∈K
(20)
(21)
(0,j)∈A
xi,|N |+1,k = yk
(i,|N |+1)∈A
8
k∈K
(22)
xijk = vik
i ∈ N,k ∈ K
(23)
xijk = vjk
j ∈ N,k ∈ K
(24)
j∈N
i∈N
i ∈ N , o ∈ Oi , k ∈ K vik ≥ uok uok = 1 i ∈ N , o ∈ Oi
(25) (26)
k∈K P D + lik ≤ Qk i ∈ N,k ∈ K 0 ≤ lik D l0k = So uok k∈K D D ljk ≤ lik −
(27) (28)
i∈N D o∈Oi
So uok + Qk (1 − xijk )
i ∈ N , j ∈ N D, k ∈ K
(29)
o∈Oj D D ljk ≤ lik + Qk (1 − xijk ) i ∈ N,j ∈ NP,k ∈ K P l|N So uok k∈K |+1,k = P P ljk ≥ lik +
i∈N P
(30) (31)
o∈Oi
So uok − Qk (1 − xij )
i ∈ N , j ∈ NP , k ∈ K
(32)
P P ljk ≥ lik − Qk (1 − xijk ) i ∈ N , j ∈ N Dk ∈ K Tijk xijk + T F vik + ToV uok ≤ T L k∈K
(33)
o∈Oj
(i,j)∈A
i∈N
(34)
i∈N o∈Oi
yk ∈ {0, 1} xijk ∈ {0, 1}
k∈K (i, j) ∈ A, k ∈ K
(35) (36)
P ≥0 lik
i ∈ N,k ∈ K
(37)
≥0
i ∈ N,k ∈ K
(38)
D lik
uok ∈ {0, 1}
i ∈ N , o ∈ Oi , k ∈ K
(39)
i ∈ N , k ∈ K.
(40)
vik ∈ {0, 1}
The model defined by (20)–(40) corresponds to the equivalent VRPSPD version defined by (1)–(19), with the exceptions of the new constraints (26) making orders mandatory and constraints (35) defining the new vessel variables.
9
3.3. Current Model The current model is a simplified version of the VRPSPD where the routes are fixed and one must decide which orders to transport. The current model can be derived from the model presented in Section 3.1. Based on this, the arc variables xijk corresponding to a route r can be fixed to one and the rest to zero. This route r could be the historical sailing route used by the company. In addition let Nr be the subset of N that is visited by r. To simplify the notation let li = liP + liD be the total load on the vessel after node i. For the same reason, we let the size So for orders pertaining to delivery nodes be negative. Let T r be the sailing time for r including node times but excluding order times. Let n(t) be a function that returns the order in which the nodes in r are visited, so that n(t) is the tth node that is visited. The rest of the notation is as before. This yields the following order selection model, denoted as the current model. Minimize
CoL (1 − uo )
(41)
i∈Nr o∈Oi
subject to li ≤ Q i ∈ Nr So u o l0 = i∈NrD
ln(t) − ln(t−1) ≥
(42) (43)
o∈Oi
So u o
t = 1, .., |Nr |
(44)
o∈On(t)
Tr +
ToV uo ≤ T L
(45)
o∈Oi
uo ∈ {0, 1}
i ∈ Nr , o ∈ Oi
li ≥ 0
i ∈ Nr .
(46) (47)
The objective (41) minimizes the penalty of the orders left behind. Constraints (42) ensure that the capacity of the vessel is not violated, whereas constraints (43) and (44) control the start load and load continuity, respectively. The total duration is controlled by constraint (45). The variables are defined in (46) and (47). 4. Solution Methodology Both the VRPSPD and mVRPPD can be solved by commercial solvers, which may yield large solution times or large optimality gaps for large instances. Therefore, one needs to develop heuristics to generate good solutions quickly, especially in view of the fact that we aim at solving many instances in our computational study. A comprehensive overview of the most important heuristics used for the VRP can be found in Laporte et al. [14]. We propose a variant of ALNS that works for both the VRPSPD and mVRPPD. This metaheuristic is 10
an iterative search procedure relying on multiple destroy and repair operators. It was introduced by Ropke and Pisinger [16] in 2006 and extends the large neighborhood search heuristic introduced by Shaw [17] by letting the weight of the different operators adapt throughout the search. There have been several successful applications using ALNS in maritime transportation (see for example Hemmati et al. [11] and Korsvik et al. [13]). The reader is referred to Ropke and Pisinger [16] for full details on the ALNS. Here we will focus primarily on the key ALNS concepts and on its adaptation to our problem. 4.1. Adaptive Large Neighborhood Search Algorithm 1 provides an overview of the ALNS procedure. The algorithm starts by constructing an initial solution s. At each iteration the current solution is altered by removing n nodes using the removal operators and by reinserting them differently into the solution using an insertion operator. When a solution s improves upon the best-known solution s∗ , the latter is updated. The algorithm stores a pool S ∗ of promising solutions for further investigation in the postoptimization procedure. The reason for this is explained in Section 4.2. The use of post-optimization is the primary difference between our implementation and the most common ALNS implementations found in the literature. The following details the main components of our implementation. Algorithm 1 ALNS procedure ALNS() Generate an initial solution s s∗ ← s repeat s ←s draw n select a removal operator select an insertion operator remove n nodes from s reinsert the n nodes into s select orders for s if C(s ) < C(s∗ ) then s∗ ← s s←s else if accept(s , s) then s←s end if if is promising(s) then S ∗ ← s end if until time limit reached run post-optimization(S ∗ ) return s∗ end procedure
11
Removal operators In the removal step of Algorithm 1, part of the current solution is destroyed. Here, the number n of nodes to remove is chosen randomly in [3, ξ|N P ∪ N D |], where |N P ∪ N D | is the number of non-depot nodes and ξ < 1 is a constant. This is done to vary the size of the neighborhood at each iteration. Three removal operators are used: Shaw removal [17], random removal and worst removal. The most sophisticated of the three, the Shaw removal, is based on the idea of removing nodes that are similar to each other. We measure the similarity between two nodes i and j through the relatedness score R(i, j), defined with respect to the distance and the size of the orders available on a node as shown in equation (48): R(i, j) = ω(dij ) + ϕ(Qi − Qj ).
(48)
The function ω measures geographical relatedness where dij denotes the distance between i and j. The function ϕ measures size relatedness where Qi = o∈Oi So is the size of all orders o of node i. Whenever Shaw removal is selected, a random node is selected and removed together with the |n| − 1 nodes with the highest relatedness score. The random removal operator removes n nodes completely at random whereas the worst removal removes the n nodes that have the least negative impact on the total cost of a solution. In the latter, for every candidate node removal the solution is reconnected by joining the predecessor and the successor nodes. The candidate node yielding the highest cost C(s) is removed and the procedure continues until n nodes have been removed from the solution. Insertion operators The insertion operators reconstruct solutions by reinserting the removed nodes. In our implementation we have used two operators: greedy insertion and k -regret insertion. The greedy insertion operator iteratively inserts the node that most reduces the solution cost C(s) in the optimal position until as many nodes as possible have been reinserted. The k -regret operator expands on this idea to improve the myopic behavior of the greedy heuristic by calculating the difference in improvement between inserting a node in its best and 2nd , 3rd and k th best position respectively. At each iteration the node that has the highest regret value is inserted in its best position. In this paper we have implemented 2-regret and 3-regret. Adaptiveness, acceptance and stopping criteria In ALNS the probability of selecting the various insertion and removal operators is adapted iteratively throughout the search process so that those operators that have a high success rate are chosen with a higher likelihood than the less successful ones. For this purpose the search procedure is divided into segments of 100 iterations each. All insertion and removal operators start with an equal weight. At each iteration the selected removal and insertion operators are scored 12
based on how successful they were earlier in the segment. If the global best solution is improved during an iteration the operator used obtains a score increase of 100. Whenever a local improvement is found, the score of the operator increases by 10. Finally, solutions that are accepted but do not lead to a local improvement yield a score increase of 1. Every 100 iterations the weights wi,t for operator i in segment t are updated with the score of the last segments in the following manner: wi,t+1 = wi,t (1 − r) + r
πi . θi
(49)
Here πi is the accumulated score and θi is the number of times operator i has been used in segment t. The parameter r balances the importance of the latest segment compared to the previous segments. We have used r = 0.8. Using these adaptive weights we proceed to select the operators at each iteration using the roulette wheel principle. The removal operators are selected independently from the insertion operators. The ALNS accepts a new solution whenever it improves upon the incumbent. In addition worse solutions are also accepted with probability e−|C(s)−C(s )|/T . Here, C(s) and C(s ) are the costs of the current and new solutions, respectively and T is the temperature used in a cooling scheme introduced by Crama and Schyns [4]. The initial temperature T0 is set to 800. After every iteration the temperature is multiplied by a factor 0.9. The temperature is reset to T0 at the beginning of each segment. This process continues until the time limit has been reached and the ALNS procedure ends. 4.2. Order Selection In a traditional ALNS the neighborhood is defined by moving orders. In our implementation, nodes are moved instead of orders. Because of this, whenever a node is reinserted into a solution, an order selection problem has to be solved to determine which orders should be handled and which ones should be left behind. This is equivalent to solving the current model for a fixed route. However, because this operation is performed many times, the order selection in the ALNS is handled through a greedy heuristic. This is done by sorting all the orders in non-increasing order with respect to the penalty cost. Orders are then included sequentially until this is no longer feasible. However, this may not be the optimal set of orders for a specific route. As a result, solutions that have the potential to outperform the incumbent are added to S ∗ for further analysis in the postoptimization stage. This is the case when C(s ) − C P EN (s ) < C(s∗ ), where C P EN (s ) is the maximal potential reduction in the penalty incurred by s for undelivered orders. When the regular search procedure is over, the postoptimization re-evaluates the solution candidates in S ∗ and solves the current model for each of those that still have the potential to improve the best-known solution. Our case study shows that the time spent in the post-optimization stage is negligible compared to that of the main search procedure. 13
5. Computational Study The purpose of the computational study is to test the validity of the VRPSPD and mVRPPD and compare the results with the current industry practice represented by the current model. Section 5.1 evaluates the performance of the ALNS compared to the commercial solver Gurobi 6.0. Both the ALNS and commercial solver are run on a 3.0 GHz, 8-core computer with 8GB of memory using all available cores. Section 5.2 presents the case study on which the computational study was performed. Finally, Section 5.3 presents the results found in the computational study. 5.1. ALNS Performance To test the performance of the ALNS, 45 initial test instances were randomly generated and solved with both the VRPSPD and mVRPPD. This yields 90 runs for each solution procedure. The generation procedure was calibrated with historical data. It is described in the case study presented in Section 5.2. To test the flexibility of the ALNS heuristic, a much wider range of nodes and orders than what is normal in a real industry case was used for the initial tests. In reality, most voyages visit around eight to 15 platforms and carry between 10 and 30 orders, whereas the initial tests were conducted over up to 60 platforms and 140 orders. The test instances were divided into seven different size categories ranging from three to 60 platforms. The number of orders is on average roughly twice the number of platforms. Five different instances were randomly generated for most sizes. For the instances with 10 and 15 platforms, 10 instances were generated since these correspond to realistically sized instances and are the most interesting for the industry case. Results are shown in Table 1. The column Size refers to the number of platforms in the instances. The 45 instances were solved with three different solution procedures: ALNS for one minute, commercial solver for one minute and commercial solver for two hours. Table 1 shows the best, worst and average results (in %) compared with the best solution found by any of the runs. In addition, the solver two-hour run shows the average percent optimality gap with respect to the lower bound found by the solver in the column % gap. Table 1 shows that the ALNS heuristic has a very stable performance since it performs well across both models and all size categories. The worst instance out of the 45 (90 runs) is only 0.8% worse than the best solution found by the commercial solver and on average there are no sizes for which the ALNS yields a solution more than 0.3% worse than the one obtained by the commercial solver. The larger the instances are, the better the ALNS performs relative to the solver. However, for the VRPSPD the commercial solver is at least as good for instances with up to 30 platforms. For the 10- and 15-platform instances the solver is both slightly better and more stable than the ALNS. For the mVRPPD the results are different. Table 1 shows that already at 10 platforms the ALNS performs better than the one-minute solver runs. On the 15-platform instances the solutions of the solver are on average almost 22% worse than the ALNS. In addition the stability of the solver at one minute is not very good, the worst 14
VRPSPD mVRPPD
Size |P| 3 5 10 15 20 30 60 3 5 10 15 20 30 60
# of inst. 5 5 10 10 5 5 5 5 5 10 10 5 5 5
ALNS [1 minute] Best Worst Avg. 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7 0.3 0.0 0.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7 0.3 0.0 0.0 0.0 0.0 0.1 0.0 0.0 0.2 0.0 0.0 0.8 0.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Solver [1 minute] Best Worst Avg. 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.14 0.05 3.0 54.7 26.9 0.0 0.0 0.0 0.0 0.0 0.0 0.0 22.0 3.3 0.0 63.5 7.0 1.9 64.7 21.8 8.9 77.8 45.7 NA NA NA
Best 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Solver [2 hours] Worst Avg. % gap 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0.0 0.0 0.0 0.0 0.0 3.6 0.7 0.1 2.9 0.0 0.0 0.0 0.0 0.0 13.5 0.0 0.0 20.2 0.3 0.0 34.4 9.3 2.0 6.2 7.3 1.8 16.2 35.2 18.3 67.7
Table 1: Comparison in percent between the ALNS and the commercial solver based on the best, worst and average result for the test instances. The column % gap indicates the average percent optimality gap provided by the solver.
solutions being almost 64% worse than that of the ALNS for the 15-platform size. From the two-hour run we can see that whenever the solver is able to prove optimality, the ALNS solution is either optimal or near-optimal. However, for the larger mVRPPD instances, the commercial solver is very far from proving optimality. Therefore, it is not possible to conclude that the ALNS yields nearoptimal solution on these instances. However, the fact that the ALNS finds better solutions than the commercial solver run for two hours is a very good indication of its quality. 5.2. Case Study Setup The objective of the case study is to investigate whether the VRPSPD or mVRPPD can be used to improve the current industry practice. With this aim in mind, these, as well as the current model were solved for 300 independent scheduled departures. We have used ALNS for the mVRPPD and Gurobi for the VRPSPD. In total, approximately 6 000 orders corresponding to 261 900 m2 of cargo are transported. The majority, roughly 63%, are delivery orders. Based on historical data, the total size and number of delivery and pickup orders for an entire year is known and was used to calibrate the data in the case study. For each day the expected total size of the pickup and delivery orders was drawn using a discrete uniform distribution. The most important order characteristics for the 300 scheduled departures drawn are shown in Table 2. After the average order size was drawn for a given day, the size and number of orders from zero to four was drawn for each platform. The parameters were calibrated so that the total number of orders and total size of the cargo is close to the known historical load. The scheduled departures were planned with between 10 and 15 platform visits. On average roughly 11 platforms submit orders for a given scheduled departure and the scheduled departure with least number of platforms submitting orders has seven platforms with requests. Whenever a single regular 15
Size[m2 ]
Average Max Min Total
Pickup 327 945 25 98 200
Delivery 546 1 240 5 163 700
Total 873 1 545 420 261 900
per day per day per day per year
Quant.[#]
voyage is insufficient to handle all the orders available for a scheduled departure, an additional express voyage is used. Therefore, a scheduled departure can have at most two voyages, a regular voyage and an express voyage. Every voyage, regardless of its type, starts at the depot and must return to the depot within four days. This time limit is never constraining but is still imposed by the planner. Two different vessel types are used for the voyages. A larger vessel with a deck area of 840 m2 is used for the regular voyages, whereas a smaller vessel with a deck area of 620 m2 is leased on a short charter contract for the express voyages. The smaller vessel has a lower fuel consumption, but also a higher charter cost. The vessel sizes are given in m2 since the deck area is the most constrained capacity for this type of transportation. Each of the 300 scheduled departures can be solved with the current model, the VRPSPD and the mVRPPD.
Average Max Min Total
8.2 15 2 2 461
11.7 20 6 3 506
19.9 30 11 5 967
per day per day per day per year
Table 2: Size and number of orders
For the current model, we first compute the route for the regular voyage by solving a traveling salesman problem to find the cheapest way of visiting all the platforms that have pending orders exactly once. After the sailing sequence has been determined, the order selection is decided using the current model. The model was solved with a time limit of one minute, although almost all the 300 scheduled departures can be solved to optimality within one second. Whenever a scheduled departure has any surplus orders after the regular voyage, the express voyage was determined afterwards using the VRPSPD on the express vessel. For the VRPSPD, we first solved the model for the regular vessel to determine the route and orders to be handled by the regular voyage. If the regular voyage was insufficient to handle all available orders, the VRPSPD was solved again for the express vessel and the surplus orders to determine the express voyage. The VRPSPD was solved using Gurobi with a time limit of one minute as in the initial testing in Section 5.1. The penalties for the orders were set so high that all orders should be transported if the vessel has sufficient capacity. For the mVRPPD each scheduled departure was solved once with both the
16
express and regular vessels available. The cost of the regular vessel was considered sunk, so that it is unlikely to arrive at solutions that only use the express vessel because the charter cost of the regular vessel has to be paid anyway. All 300 scheduled departures were solved with the ALNS for one minute.
[$/day]
Charter Operational Total
[# days]
5.3. Case Study Results By solving the VRPSPD and mVRPPD for the 300 scheduled departures we can analyze the benefits of solving these models compared with the current practice. The results shown in Table 3 indicate that using the VRPSPD on average yields savings of 2.0%, and the mVRPPD yields savings of 2.9%. This corresponds to total savings of approximately 3.5 million $US and 5.1 million $US, respectively. From Table 3 we can also see that the current planning is able to handle all the orders for 257 out of 300 scheduled departures. This means that the current planning finds an optimal solution in all but 43 of the scheduled departures. The improvements found with the VRPSPD stem from avoiding the use of express vessel in eight out of these 43 days. This is done by sailing a longer route to increase vessel utilization. Sometimes this is achieved by revisiting a platform and thereby leaving the pickup orders for the second visit. On average the VRPSPD saves 82 000 $US for each of the 43 scheduled departures where an express vessel would normally be needed. When using the mVRPPD, additional savings are achieved by spreading the load in a better way between the regular and express voyages. Here, the savings are on average 115 600 $US for each of the 43 scheduled departures that the current planning cannot solve optimally. This represents a significant amount considering that it corresponds to 20% of the average cost of a scheduled departure under the current planning scheme.
Regular only Regular + Express
Current[%] 0.0 0.0 0.0
VRPSPD[%] -3.5 -1.5 -2.0
mVRPPD[%] -3.5 -2.6 -2.9
257 43
265 35
265 35
Table 3: Results: Average cost and number of departures
Ultimately, whether the VRPSPD or mVRPPD is to be preferred over the current planning scheme will depend on the practical situation of the vessel operator. The current planning method has the advantage of being easier to implement and yields solutions in which platforms are visited more predictably since they are always visited in the same order. Even so, changing weather conditions leading to uncertain sailing times and the occasional skipping of platforms means that even the current plans are not all that predictable, and therefore the value of the higher regularity in the current planning is somewhat uncertain. When comparing the VRPSPD to the mVRPPD, we see that the latter is clearly more cost efficient. However, if the operator is obliged to use
17
the crew of the regular vessels as much as possible, the VRPSPD version might be preferable even if it performs worse than the mVRPPD. 6. Concluding Remarks We have introduced, modeled and solved the VRPSPD, a pickup and delivery vehicle routing problem that includes multiple orders per platform and has selective pickup and delivery orders. We have also modeled and solved the mVRPPD, a related vehicle routing problem without selective orders. We have shown the potential of solving these problems to improve current planning in offshore oil and gas supply logistics based on an extensive industry case study. On average using the VRPSPD and mVRPPD leads to savings of 2.0% and 2.9%, respectively. The latter yields savings that are on average 20% with respect to the currently planned solutions which have insufficient capacity to carry all orders. Based on the results, using the VRPSPD should lead to significant savings in both operational and charter cost without having a very large impact on current planning methods. The mVRPPD would lead to even larger cost savings but would also entail more important operational changes. Acknowledgements This research is funded and carried out as part of the Center for Integrated Operations in the Petroleum Industry and by the Canadian National Sciences and Engineering Research Council under grant 2015–06189. This support is gratefully acknowledged. We would also like to express our gratitude to the reviewers for their valuable comments. References [1] B. Aas, I. Gribkovskaia, Ø. Halskau, and A. Schlopak. Routing of supply vessels to petroleum installations. International Journal of Physical Distribution & Logistics Management, 37:164–179, 2007. [2] M. Battarra, J.-F. Cordeau, and M. Iori. Pickup-and-delivery problems for goods transportation. In P. Toth and D. Vigo, editors, Vehicle Routing: Problems, Methods, and Applications, volume 18, pages 161–181. MOSSIAM Series on Optimization, Philadelphia, 2014. [3] G. Berbeglia, J.-F. Cordeau, I. Gribkovskaia, and G. Laporte. Static pickup and delivery problems: a classification scheme and survey. TOP, 15(1):1– 31, 2007. [4] Y. Crama and M. Schyns. Simulated annealing for complex portfolio selection problems. European Journal of Operational Research, 150(3):546–571, 2003.
18
[5] I. Gribkovskaia and G. Laporte. One-to-many-to-one single vehicle pickup and delivery problems. In B. L. Golden, S. Raghavan, and E. A. Wasil, editors, The Vehicle Routing Problem: Latest Advances and New Challenges, volume 43 of Operations Research/Computer Science Interfaces, pages 359– 377. Springer, New York, 2008. [6] I. Gribkovskaia, G. Laporte, and A. Schlopak. A tabu search heuristic for a routing problem arising in the servicing of oil and gas offshore platforms. Journal of the Operational Research Society, 59:1449–1459, 2006. [7] I. Gribkovskaia, Ø. Halskau, G. Laporte, and M. Vlˇcek. General solutions to the single vehicle routing problem with pickups and deliveries. European Journal of Operational Research, 180(2):568–584, 2007. [8] I. Gribkovskaia, G. Laporte, and A. Shyshou. The single vehicle routing problem with deliveries and selective pickups. Computers & Operations Research, 35(9):2908–2924, 2008. [9] E. Halvorsen-Weare and K. Fagerholt. Robust supply vessel planning. In J. Pahl, T. Reiners, and S. Voß, editors, Network Optimization: 5th International Conference, INOC 2011, Hamburg, Germany, June 13-16, 2011. Proceedings, pages 559–573. Springer, Berlin Heidelberg, 2011. [10] E. Halvorsen-Weare, K. Fagerholt, L. M. Non˚ as, and B. E. Asbjørnslett. Optimal fleet composition and periodic routing of offshore supply vessels. European Journal of Operational Research, 223(2):508–517, 2012. [11] A. Hemmati, L. M. Hvattum, K. Fagerholt, and I. Norstad. Benchmark suite for industrial and tramp ship routing and scheduling problems. INFOR: Information Systems and Operational Research, 52(1):28–38, 2014. [12] A. Hoff, I. Gribkovskaia, G. Laporte, and A. Løkketangen. Lasso solution strategies for the vehicle routing problem with pickups and deliveries. European Journal of Operational Research, 192(3):755–766, 2009. [13] J. E. Korsvik, K. Fagerholt, and G. Laporte. A large neighbourhood search heuristic for ship routing and scheduling with split loads. Computers & Operations Research, 38(2):474–483, 2011. [14] G. Laporte, S. Ropke, and T. Vidal. Heuristics for the vehicle routing problem. In P. Toth and D. Vigo, editors, Vehicle Routing: Problems, Methods, and Applications, volume 18, pages 87–110. MOS-SIAM Series on Optimization, Philadelphia, 2014. [15] E. K. Norlund, I. Gribkovskaia, and G. Laporte. Supply vessel planning under cost, environment and robustness considerations. Omega, 57:271– 281, 2015.
19
[16] S. Ropke and D. Pisinger. An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transportation Science, 40(4):455–472, 2006. [17] P. Shaw. A new local search algorithm providing high quality solutions to vehicle routing problems. Technical Report, APES Group, Department of Computer Science, University of Strathclyde, Glasgow, United Kingdom, 1997.
20