You are on page 1of 36

INTERNATIONAL

TRANSACTIONS
IN OPERATIONAL
Intl. Trans. in Op. Res. 25 (2018) 1163–1198 RESEARCH
DOI: 10.1111/itor.12478

Optimizing multiship routing and scheduling with constraints


on inventory levels in a Brazilian oil company
Amélia de Lorena Stanzania , Vitória Purezaa , Reinaldo Morabitoa ,
Bruno Jensen Virginio da Silvaa , Denise Yamashitaa and Paulo César Ribasb
a
Department of Production Engineering, Universidade Federal de São Carlos, Via Washington Luiz, km 235,
São Carlos – SP, Brazil
b
Research and Development Center, PETROBRAS, Av. Horácio de Macedo, 950, Ilha do Fundão, Rio de Janeiro – RJ,
Brazil
E-mail: mel.stanzani@hotmail.com [Stanzani]; vpureza@dep.ufscar.br [Pureza]; morabito@ufscar.br [Morabito];
brunojen@gmail.com [Silva]; dsyamashita@gmail.com [Yamashita]; paulo.ribas@petrobras.com.br [Ribas]

Received 27 September 2015; received in revised form 23 August 2017; accepted 25 September 2017

Abstract
This study addresses a real-life multiship routing and scheduling application with inventory constraints that
arises in pickup and delivery operations of different types of crude oil from various offshore oil rigs (platforms)
to coastal terminals. Oil transportation largely results from the need to maintain inventories at each supply
point (platform) between minimum and maximum levels, considering production rates in these operational
points, and to meet demands of different oils in the terminals within the planning time horizon. Routing and
scheduling of the available fleet aims to obtain solutions of minimum total costs, subject to various constraints
such as the maximum volume of cargo carried on each ship, simultaneous cargo unloading in some terminals,
conditions that rule ship docking in offshore platforms and terminal berths, among others. In this research, we
modify and extend inventory constrained maritime routing and scheduling models to appropriately represent
the problem of a case study at a Brazilian company and to solve small-to-moderate instances based on real
data. We also present a matheuristic to deal with larger problem instances. Solution evaluation by company
experts indicates that the model and this hybrid heuristic properly represent the problem and highlights the
potential of their application in practice.
Keywords: multiship routing and scheduling; inventory constrained maritime routing problems; crude oil transportation;
mixed-integer programming; matheuristic; oil industry; OR practice

1. Introduction

This study considers a multiship routing and scheduling problem with constraints on inventory levels
faced by a Brazilian company engaged in the exploration, production, refining, transportation, and


C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
Published by John Wiley & Sons Ltd, 9600 Garsington Road, Oxford OX4 2DQ, UK and 350 Main St, Malden, MA02148,
USA.
1164 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198

Fig. 1. Illustration of part of the supply chain of the oil company with emphasis on the stages addressed in the present
case study (adapted from Rocha et al., 2009). [Colour figure can be viewed at wileyonlinelibrary.com]

commercialization of large volumes of crude oils and their derivatives. The oils originate from the
exploration of underground wells, 95% of which is extracted from offshore oil rigs (platforms), or
are imported from other producing countries. In either case, oils of different types are transported
by vessels to coastal transshipment units (terminals) and then shipped by oil pipelines to refineries
and consuming countries. Transportation is carried out by a heterogeneous fleet of oil tankers,
where each ship is able to carry different oil types at the same time. Figure 1 illustrates part of this
supply chain, with emphasis on the stages addressed in the present case study: the production of
crude oil at the platforms and the transportation to coastal terminals. There are dozens of ships,
platforms, and terminals, and while each platform produces few types of oil, the terminals may
demand multiple types. Each platform contains a facility that temporarily stores the production
before transportation takes place. If a terminal receives a quantity of oil that exceeds its storage
capacity, this surplus is transferred to other places.
As other maritime transportation applications, oil pickup and delivery is a very complex oper-
ation. On one hand, the high costs and long cargo loading and unloading times suggest that the
traveled distance (or rather, its travel time or cost) should be minimized and that ship docking
should occur as little as possible. On the other hand, platforms must operate continuously not
only to meet the high demand, but also because of the prohibitive opportunity costs that incur if
platform production is interrupted, which may require frequent ship visits to platforms given their
limited storage capacity. In other words, the stocks in the platforms must not exceed their stock
capacities and the platform production must not stop because of missing transportation possibili-
ties. Considering these conflicting goals, the operation should attempt to coordinate inventory and
transportation management, aiming at simultaneously determining optimal stocks at the platforms
and a strategy of distribution that meets the oil demands of the terminals within the planning time
horizon.
These characteristics define this inventory constrained routing problem (ICRP) as a particular
case of an integrated pickup and delivery inventory routing problem (IRP), for which the costs of
keeping products in stock are not considered. In addition to the heterogeneous fleet and multicom-
modity flows, this particular case also involves meeting the demands of specific oils at the terminals,
a limited number of berths at the terminals, physical limitations of berths restricting ships docking

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1165
with a maximum length and draft, ships and platforms with or without dynamic positioning (DP)
devices restricting the maximum allowable cargo on board for docking, and the minimum and
maximum stock levels at each platform, among others. Unlike classical IRPs where there is a
trade-off between inventory cost and transportation cost (Dror and Ball, 1987; Federgruen and
Simchi-Levy, 1995; Yu et al., 2008; Shiguemoto and Armentano, 2010; Archetti et al., 2014), in this
problem the capital and other costs of maintaining the oil inventory are not influenced by the oil
transportation.
In this context, this paper addresses the planning of ship routes from offshore platforms to
terminals so that the costs of fuel consumption and the costs associated with ship dockings are
minimized (variable costs) considering uninterrupted production in the platforms. Basically, the
problem is to decide how much of each crude oil should be carried by each ship from the platforms
to the terminals, subject to the inventory level of each oil in each platform being maintained between
certain levels that are set by the platform production rates and the storage capacities, in order to
meet the oil demands of the terminals. Although some studies in the literature focused on similar
problems, to the best of our knowledge, there is no other research that has addressed the specific
problem described here. The objective of this paper is to study and propose two solution approaches
for this problem: a mathematical programming formulation solved by general-purpose optimization
software (such as CPLEX or Gurobi) and an ad hoc heuristic approach.
The mathematical programming formulation can be seen as an extension of two known inventory
constrained maritime routing and scheduling models (Christiansen, 1999; Al-Khayyal and Hwang,
2007). Our formulation considers characteristics of these two mentioned models, as multiproduct
inventory constrained scheduling and pickup and delivery routes of a heterogeneous fleet of ships,
but with the additional practical conditions and constraints that arise in the Brazilian oil company.
The resulting formulation was then used to solve optimally small- to moderate-sized problem
instances using data collected in a case study performed at the oil company, using the solver CPLEX.
The inherent difficulties of solving larger problem instances with the model (or even obtaining
feasible solutions) using CPLEX motivated the development of a heuristic approach. As pointed
out by different authors, practical ship routing problems often pose additional complexities and
opportunities, and although the problems become harder to solve when introducing these practical
characteristics, better solutions can be obtained for real-life instances by using advanced heuristics
(Christiansen et al., 2011; Fagerholt and Ronen, 2013; Romero et al., 2013; Branchini et al., 2015).
Our heuristic consists of two main procedures: a multistart heuristic (with a constructive phase
and two improvement phases) and a local search procedure. Since the latter uses mathematical
programming techniques to produce neighbor solutions, the approach can be seen as a hybrid
method or a matheuristic.
The model and the matheuristic deal with the conflicting objectives of a push-type system rep-
resented by the continuous oil production on the offshore platforms, aiming to avoid platform
production interruptions due to storage capacity limitations, and a pull-type system represented
by the different oil demands of the terminals (which reflect the oil demands of the refineries), aim-
ing to avoid refinery supply interruptions owing to transportation capacity limitation of the fleet.
The main contributions of this study are twofold: to present a mixed-integer programming (MIP)
model that appropriately represents the problem and can be solved by an optimization solver for
small-to-moderate instances, and a matheuristic to deal with larger problem instances. The aim is
to contribute to the practice of operations research. This study also helps to improve the company’s

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1166 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198
inventory routing planning, by highlighting the potential of the proposed approach when compar-
ing some of its solutions with the solutions of a pickup and delivery model with time windows.
This pickup and delivery model resembles the current practice of the company’s planning, based
on a given number of requested pairs of pickups/deliveries at the platforms/terminals within time
windows, as well as a given load quantity for each of these requests, as discussed in Sections 3
and 5.
The remainder of this paper is organized as follows. Section 2 briefly discusses some of the related
research in the literature. A more detailed problem description is presented in Section 3 and the
associated MIP model is presented in Section 4. In Section 5.1, we present the matheuristic approach
in detail and in Section 6, we discuss some computational experiments and results solving the model
(with GAMS/CPLEX) and the heuristic, followed by concluding remarks and the next steps of this
research in Section 7.

2. Related work

Regarding bulk cargo, maritime routing problems can be formulated according to at least two main
strategies (Al-Khayyal and Hwang, 2007). In the first, known as maritime cargo routing problems,
the quantities collected in each supply point and delivered to each demand point are defined a priori,
that is, they are input parameters of the model. In case those points have a limited storage capacity,
maintaining stock within minimum and maximum levels is done by imposing time windows for
the cargo pickup and delivery, that is, a maritime pickup and delivery problem with time windows
(PDPTW). In the second modeling strategy, stock control is directly addressed, characterizing
maritime ICRPs close to the one studied here. Miller (1987) presented one of the first papers on
maritime IRP, describing a chemical industry application in which multiple products are shipped
from a single origin to different destinations. Since then, research on maritime IRP and related
problems has increased noticeably as can be seen in the review articles by Christiansen et al. (2011,
2013), and pointed out in Li et al. (2010) and Agra et al. (2013a, 2013b, 2014), among others.
An important distinction when classifying maritime IRP problems refers to whether time is dis-
crete (multiperiod) or continuous. Discrete time formulations are commonly used when production
and consumption rates vary over time (Agra et al., 2013a, 2013b). Continuous-time formulations,
on the other hand, are often used when production and/or consumption rates are considered given
and fixed or vary infrequently over time (Papageorgiou et al., 2014). They provide greater accuracy
regarding the operations scheduling than discrete time formulations, as the times are not limited
to integer numbers. They may also produce better bounds than discrete time formulations, even
when the latter are strengthened with valid inequalities available in the literature. The literature also
presents hybrid models that combine discrete and continuous time (Agra et al., 2013b).
Other relevant distinction between IRP problems is whether the transportation encompasses a
single product or multiple products. Regarding the first, Christiansen and Nygreen (1998a, 1998b)
studied the case of a combined inventory management problem and ship routing problem with
time window restrictions in the pickup and delivery points. The amount loaded and unloaded
depended on the production rate of the product, storage levels, and capacity of the ships of the
fleet. An MIP model was proposed and solved following a procedure that combines Dantzig–Wolfe
decomposition with a branch-and-bound algorithm. This method was further applied to a real

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1167
combined and time-constrained ship routing problem for ammonia transportation (Christiansen,
1999). The same problem was addressed in Flatberg et al. (2000) using a hybrid method; an iterative
improvement heuristic was used to solve the routing problem, while a linear programming model
was used to obtain the schedule and the loads collected and delivered in each route. Another example
can be found in Song and Furman (2013) who proposed a maritime single product IRP model based
on an MIP formulation with discrete time where the duration of the trips are multiples of days.
Studies of maritime IRP with multiple products present additional challenges mainly with respect
to storage control of the different products and possible incompatibilities of products in the same
compartments. Examples of papers in the chemical and petroleum industry context that address
the maritime transportation of multiple products in dedicated ship compartments can be found,
for example, in Fagerholt (1999), Al-Khayyal and Hwang (2007), and Li et al. (2010). Fagerholt
(1999) also considered time windows for pickup and delivery where the total travel time of each
ship was limited to one week, and described a three-phase heuristic procedure. In Al-Khayyal and
Hwang (2007), the mathematical model proposed by Christiansen (1999) was extended to the case of
multiple products with simultaneous loading and unloading of multiple ships at the same terminal.
Due to the nature of the products, it is not possible to ship more than two of them in the same
compartment. Lagrangean relaxation was applied to obtain lower bounds, and the problem was
decomposed in more tractable subproblems where one set of them was solved using network flow
techniques, while the other set of subproblems was solved by integer programming with a relatively
small number of binary variables. In order to solve larger sized instances, the authors also proposed
two constructive heuristics. Li et al. (2010) studied the problem that arises in multinational chemical
companies that supply and deliver products throughout worldwide sites. The authors developed a
multigrid continuous-time MIP formulation that uses unit slots, improving the performance of a
process-slot based formulation, previously developed by Li et al. (2008).
In the maritime inventory constrained routing and scheduling problem studied in this paper,
although there are multiple products to be collected and delivered, the fleet does not have ded-
icated compartments for specific products. A similar situation was addressed by Persson and
Göthe-Lundgren (2005). These authors studied the problem of shipping products from oil re-
fineries to depots, where production at loading ports varies over time and inventory levels are not
hard constraints. The authors proposed a linear MIP method based on column generation, valid
inequalities, and branching constraints that were able to provide reasonably good feasible solutions
within affordable computational efforts. Christiansen et al. (2011), in turn, studied a real-life IRP
with nonmixable cement products and proposed a constructive heuristic capable to produce dif-
ferent solutions by varying the weights of the criteria used to evaluate feasible shipment insertion
in partial routes. The weights were generated by a genetic algorithm. Other heuristics to solve the
problem without dedicated compartments can be found in Siswanto et al. (2011) and Agra et al.
(2014). Other related studies on maritime IRP can be found in, for example, Andersson et al. (2010),
Brønmo et al. (2010), Hennig et al. (2012), Stålhane et al. (2012), Agra et al. (2013a), Uggen et al.
(2013), Hemmati et al. (2014), and Rakke et al. (2014).
Rocha et al. (2009) addressed a related crude oil allocation problem in the context of a Brazilian
oil company, which in addition to the product allocation plans, determined boarding plans of
oil ships from platforms to terminals, but at a more aggregated level (tactical) planning, without
detailed consideration of the routing and scheduling of ships. The distribution in this context can be
characterized as cabotage or short sea shipping (SSS), and as stated by the Bulletin of the National

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1168 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198
Transportation Confederation in January 2011, 77% of the Brazilian SSS cargos are related to crude
oil and its derivatives. There is no worldwide consensus on the definition of SSS, but according
to Brazilian law (http://www.planalto.gov.br/ccivil_03/_ato2004-2006/2004/lei/l10.893.htm), it
encompasses the coastal navigation held between Brazilian ports, using exclusively the sea or the
sea and inland waterways. The concept is further narrowed to small cabotage, with the vessel not
moving away for more than 20 nautical miles from the coast, and the distance to the next ports of
call not exceeding 400 nautical miles (Valois et al., 2012). As a result, the time to travel between
ports is relatively short (a few hours) when compared to the time spent in port operations (cargo
loading and unloading, queuing time, docking).
Agra et al. (2014) considered the problem of distributing different types of imported oil fuel
between inhabited islands of the Cape Verde archipelago. The authors presented an arc-flow for-
mulation strengthened by valid inequalities and proposed MIP heuristics to solve realistic sized
instances using a generic solver. Rodrigues et al. (2016) studied a maritime routing and scheduling
problem of oil cabotage ships between offshore platforms and coastal terminals, also motivated
by the actual operation of an oil company operating on the Brazilian coast. Unlike the present
multiship routing and scheduling problem with constraints on inventory levels, the problem was
formulated as a PDPTW with known quantities to be collected from each platform and delivered
to each terminal within time windows, which minimizes costs of fuel consumption of ships and
freighting contracts. Besides the usual pickup and delivery routing constraints, the MIP model
also considered specific restrictions of oil transportation and a relax-and-fix MIP heuristic was
developed to solve this maritime PDPTW.
Another feature that arises in real-life maritime routing and scheduling problems with inventory
constraints is the limitation in the number of berths available in each port. Halvorsen-Weare and
Fagerholt (2010) addressed a case study for the transportation of liquefied natural gas where the
number of ships occupying a berth in the same period t is incorporated into the mathematical
model and solved by decomposing routing and scheduling decisions. In the multiship routing and
scheduling problem studied in the present paper, the number of ships simultaneously delivering
at the same terminal is also limited to the number of berths, however, unlike the former work,
the maximum number of simultaneous deliveries at a given terminal is ensured by means of a
continuous-time MIP formulation. It should be noted that the present maritime problem differs
from most cases of the literature with respect to the oil transportation, which typically involves long
distances. In most cases of oil exploration around the world, transportation occurs from various
producing companies to several refineries with different rules regarding the responsibility for the
freight. In Brazil, the same oil company produces, refines, and plans the transportation of the oil,
which considerably increases the possibilities of logistical gains. Closer examples to the Brazilian
case are the North Sea and Gulf of Mexico oil industry.

3. Problem description

We consider the planning of ship routes from offshore platforms to coastal terminals during a
specified limited continuous time. The distribution can be characterized as cabotage or SSS. Since
the fleet is owned or hired for a relatively long term (e.g., affreightment contracts of one or more
years), we assume that the ship hiring costs have no direct influence on the oil transportation in the
short term. There is no incentive for not using a ship or for finishing early during the short-term

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1169
time horizon because the company affreightment contracts include a fixed hourly standby cost.
In addition, as the oil company owns the platforms, terminals, and refineries, capital and other
costs of keeping oil inventory are not influenced by the oil transportation. Therefore, the primary
objective of the problem is to minimize the sailing costs for transporting the products, specifically
the costs of fuel consumption, which depend on the type of ship, and the docking costs for visiting
platforms and terminals, which may be difficult to estimate and are replaced by penalties defined by
the company planners. The company wants to minimize the number of ship dockings at a platform,
given the docking risks due to environmental conditions and because during each ship docking,
other supply ships cannot dock at the platform and some routine maintenance operations cannot
be performed. The company also wants to minimize the number of ship dockings at a terminal
because berths are scarce resources and there are often queues for using the port access channels.
At the time of this study, there were approximately 10 terminals and 50 platforms in operation
in the oil company. Due to intrinsic geological characteristics, each platform produces one or
more types of oil; the large majority of platforms, however, is limited to a single type, as the
ones considered in this study. The fleet is heterogeneous and comprises dozens of ships with distinct
characteristics regarding operation costs, average speed, and capacity. Ships can make multiple visits
to each platform and terminal throughout the planning horizon. Even though there are specified
loading (unloading) rates from each platform (to each terminal), the uncertainties inherent to these
operations, together with the fact that these operations are relatively short when compared to the
ships’ queuing and docking times, suggest adopting a fixed service time (usually of approximately
48 hours), as suggested by the company planners. We note that the mathematical model of the next
section can be easily extended to cope with situations where the service times are directly related to
the loading/unloading quantities. Each ship has several compartments, allowing it to carry more
than one type of oil at the same time. Nevertheless, as the terminal demands are large compared to
the average capacity of the ships, each route usually comprises one or two pickups, which means that
only one or two different products are simultaneously transported in the ships. This greatly facilitates
the task of accommodating nonmixable products in the ships, thus the decisions of handling and
filling the compartments are not addressed in the route planning. In practice, the ship’s captain
deals with the allocation of the products at the compartments of the ship, taking into account issues
such as ship navigation stability, ship structure strength, etc.
Feasible routes have to comply with several constraints. Each ship starts its route in a predefined
resting site close to the last operational unit (terminal or platform) served at the end of the previous
planning horizon and ends its route in a resting site close to its last assigned location in the current
planning horizon, characterizing a multidepot routing problem. The ships may be already loaded
with different products in their starting locations at their release times, and these release times
may be equal to or greater than the starting time of the current planning horizon. We note that
the mathematical model of the next section can be easily extended to deal with cases in which the
starting position of the ship is in the middle of the sea if the ship is in transit at the beginning
of the planning horizon, in a rolling time horizon concept. There is no requirement for a specific
resting site for any ship at the end of the planning horizon. Platforms must operate continuously
mainly to eliminate prohibitive operational costs that incur if production is intermittent; as a result,
the frequency of pickups must ensure that the platform stock is maintained between minimal and
maximal levels (Fig. 2). This situation arises as a major concern for decision makers—the maximum
level is related to the maximum operating limit of the platform (called top by the operators), while

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1170 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198

Fig. 2. Example of oil inventory variations of a platform between minimal and maximum levels with fixed discharging
duration over time. [Colour figure can be viewed at wileyonlinelibrary.com]

the minimum level is related to its ballast to provide stability. As mentioned before, oil extraction can
therefore be categorized as a push-type production system. In contrast, the oil stored in terminals
must meet the refinery demands and importation/exportation needs, which makes this part of the
oil supply chain a pull-type system.
So far, the company’s inventory routing planning has taken into account the platforms’ production
rates and the market demands for refined oil in order to specify a number of requests (called suggested
operations), each of which is defined by a specified amount of oil to be picked up at a platform i
and delivered to a terminal j and by time windows for both operations. For each request, the time
window for the oil pickup is prescribed by the company planners as a means to restrain the stock
in the platform below the maximum level (top) and above the minimum level (ballast). Inventory
control is therefore addressed indirectly. The time window for the oil delivery, on the other hand, is
specified to ensure due dates imposed by the market demand and to facilitate planning. Therefore,
the problem is dealt with by the company as a PDPTW that has an explicitly given number of
requested pairs of pickups/deliveries at the platforms/terminals, as well as an explicitly given load
quantity for each of these requests. The time windows of the platforms are calculated considering
the load quantities to be collected, the tops, ballasts, initial inventories, production rates, and safety
margins of the platforms. The company makes manual inventory routing plans with a rolling time
horizon and these plans are often generated on a regional basis, in which some ships mainly cover
some geographical areas.
In contrast, in this paper we consider the platform production rates and storage capacities directly
in an inventory constrained routing and scheduling approach. As discussed in Section 1, any surplus
beyond the terminals’ storage capacity can be transferred to other places by the oil pipeline network
connecting the terminals and refineries (Fig. 1). In addition, as each terminal requires different
crude oil types, it is imposed that the total amount of each oil type delivered to a terminal must be
equal to the demand and delivered by the due date. Given the large stock capacity in the terminals,
it is also considered acceptable that deliveries occur at any time within the planning horizon in case
of short-term horizons. The optimal inventory routing plan should specify how much of each crude
oil to carry from which platform to which terminal, and on which ship, subject to the conditions
that all oil demands of the terminals are met by their due date and the platform stock levels of the
oils do not exceed the platform inventory capacities.

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1171

Fig. 3. Maximal length (LOA) and draft of a ship (SOBENA, 2014). [Colour figure can be viewed at
wileyonlinelibrary.com]
Table 1
Maximum allowable cargo on board before docking at the platform, as a fraction of the ship capacity

Platform type
Ship type FPSO Fixed
DP 0.5 0.5
Conventional 0.3 ×

While each platform holds at most one ship at a time, some terminals may have two or more
berths. This allows for simultaneous cargo unloading of two or more ships if the number of berths
in the terminal port is not exceeded. There is no specific ship or berth for any oil type. However,
some ships cannot visit some terminals because of physical terminal or access channel constraints.
For instance, berth physical limitations restrict docking to ships with a maximum length overall
(LOA) and draft (Fig. 3). On the other hand, if the maximal allowable LOA is not exceeded and the
maximal allowable draft is, it is still possible to dock the ship at a terminal as long as the cargo on
board is restricted to a specified fraction of the ship capacity.
Docking at platforms is dependent on whether the ship is equipped with devices of DP and the
platform is FPSO (floating, production, storage and offloading) or fixed. DP computer-controlled
systems can automatically control the ship’s position and head exclusively using its thrusters and
propellers, allowing a rapid response to changes in environmental conditions and operational
requirements. FPSO platforms are actually a special type of ship whose position is automatically
set in order to facilitate docking. If docking a ship at a platform is possible, the cargo on board
is restricted to a specified fraction of the ship capacity for security reasons. Otherwise, if the ship
with the cargo on board is too heavy before docking at the platform, its thrusters and propellers
may not be able to control the ship position and heading under adverse conditions, which may
lead to collisions with the platform during the docking operation. Table 1 shows the docking safety
protocols used by the company for each type of ship and platform. For instance, if the ship has
DP and the platform is FPSO, the maximum allowable cargo on board the ship before docking at
the platform should be less than or equal to 50% of the ship’s capacity. Note also that docking a
conventional ship at a fixed platform is not allowed.
In summary, this ship routing and scheduling problem aims to determine crude oil pickup and
delivery operations between offshore platforms and coastal terminals in order to minimize sailing
and docking costs, considering the following assumptions:
r Platforms of few types continuously produce different types of oils in a constant rate (each
platform produces only one oil) and they are subjected to inventory control (within minimum
and maximum levels).

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1172 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198
r Terminals with a limited number of berths allow simultaneous cargo unloading from different
ships. They demand specific quantities of multiple types of oils, which may be delivered within
the planning horizon, and they are not subject to inventory control.
r Heterogeneous ships in terms of cost, capacity, dimensions (LOA and draft) and installed equip-
ment (DP) are able to carry different oil types simultaneously. The decisions of handling and
filling the compartments of each ship are not addressed in the route planning;
r The distribution is characterized as SSS (relatively short distances and travel times) and is carried
on a specified limited continuous-time planning horizon. Each ship starts its route in a resting
site close to the last operational unit served at the end of the previous planning horizon and
ends its route in a resting site close to its last assigned location in the current planning horizon,
characterizing a multidepot routing problem. Each ship departs from its starting location at a
given release time and may be already loaded with oils.
r Ship docking in platforms is constrained by the platform type and the amount of cargo on board
for security reasons. Ship docking in terminals is constrained by the berth physical limitations.

4. Problem modeling

The problem described in the previous section combines some characteristics of the inventory
constrained maritime routing and scheduling problem addressed in Christiansen (1999) and
Al-Khayyal and Hwang (2007), therefore we use their corresponding MIP formulations as a basis
for the formulation presented below. Christiansen’s model is an interesting combined inventory
and time-constrained ship routing formulation that comprises constraints that rule net flow, cargo
conservation, scheduling, inventory balance, among others, but designed for the mono-product
case. The Al-Khayyal and Hwang model is an extension of Christiansen’s model that, in addition
to most of Christiansen’s model constraints, considers the transportation of multiple products with
simultaneous loading/unloading of two or more ships with multiple dedicated compartments, but
with unlimited number of berths in each port. Observations regarding the correctness of some
constraints of the Al-Khayyal and Hwang model were pointed out in Li et al. (2010).
The following continuous-time MIP model aims to describe the relevant features of the real
maritime pickup and delivery operations identified in the present case of the Brazilian oil com-
pany, which typically involves relatively short distances compared to other maritime routing and
scheduling problems of the literature. Contributions to the two previous continuous-time models
mainly consist of fixed costs associated with ship dockings, docking constraints due to the physical
limitations of the berths, DP devices and platform type, as well as the consideration of a limited
number of berths at each terminal. Unlike these previous models, oil inventories are controlled
only at the platforms and the different oil type demands should be met at the terminals within the
planning horizon. The objective of the model is to minimize shipping and docking costs and to
determine (a) which crude oil is to be loaded/unloaded into/from which ship from/to which plat-
form/terminal; (b) the starting and ending time of the visits to each platform and the oil quantities
to be loaded; (c) the starting and ending time of the visits to the berths of each terminal and the oil
quantities to be unloaded. Platforms and terminals are henceforth referred to as operational points
(OPs).

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1173
Notation
Subscripts
iv initial location of ship v
i, j OPs (terminals, platforms) and ship initial locations
m, n, τ visits to OPs or to ship initial locations
p products
v ships
Sets
HP set of platforms
HT set of terminals
T
Hv subset of (H P ∪H ∪{iv }) that can be served by ship v (v ∈ V )
HFP subset of fixed platforms in H P
T
Mi set of possible visits to a ship initial location or an OP i (i ∈ H P ∪H ∪{iv }, v ∈ V, |Miv | = 1)
P set of products
T
Pi subset of P produced or demanded by OP i (i ∈ H P ∪H )
V set of ships (fleet)
V DP subset of V equipped with DP system
Vi subset of V that can serve terminal (i ∈ H T )
The flow network is represented by a graph in which the set of nodes defines the set of vis-
its to OPs and ship initial locations. Each network node is identified by a pair (i, m) indicating
T
the mth visit to OP i or a ship initial location (i ∈ H P ∪H ∪{iv }, m ∈ Mi ). Each network arc
(i, m, j, n, v) (v ∈ V, i ∈ Hv , j ∈ Hv \{iv }, i = j, m ∈ Mi , n ∈ M j ) represents the traversal of ship v at
the end of the mth visit to node i to the nth visit to node j. For example, node (1,2) denotes the
second visit to OP 1 and arc (1,2,2,1,3) denotes the traversal of ship 3 from the second visit to OP 1
to the first visit to OP 2. Note that the initial location of a given ship v (v ∈ V ) corresponds to
a node (i = iv , m = 1) in this graph (i.e., the ship’s “depot”). The ship’s departure from its initial
location is seen as the end of the single visit to that point, which must occur after the release time of
the ship. Note also that the definition of set Hv mentioned above takes into account some practical
constraints that rule ship v docking.

Input parameters
Bi number of berths in terminal i
CiSjv navigation (sailing) cost of ship v between i and j ($)
CiD docking cost at OP i ($)
Dip total demand for product p in terminal i (m3 )
L0pv load of product p on ship v at its initial location iv (m3 )
LTv total load capacity of ship v (m3 )
MiL last possible visit to i (|Mi |)
Q minimal volume of products to be loaded or unloaded at OP t in visit m (m3 )

im


C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1174 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198

Rip rate of production of product p at platform i (m3 /hours)


S− minimal stock of product p at platform i (m3 )
ip
S̄ip maximal stock of product p at platform i (m3 )
0
Sip initial stock level of product p at platform i such that S− ≤ Sip
0
≤ S̄ip (m3 )
ip
Ti jv travel time between t and with ship v (hours)
TvR release time of ship v from its initial location iv (hours)
TH time horizon length (hours)
TS average service time at an OP (hours)
αiv maximal used capacity (%) of ship v when docking at OP i based on the discussion in
Section 3 and Table 1

Constants
Ji = 1 if i ∈ H P −1 if i ∈ H T

Decision variables
xim jnv = 1 if arc (i, m, j, n, v) is traversed, 0 otherwise
zimv = 1 if ship v ends its route in the mth visit to i, 0 otherwise
yim = 1 if the mth visit to OP i does not occur, 0 otherwise
σimτ = 0 if the mth visit to a terminal t superposes a previous visit τ , 1 otherwise
limpv load of product p on board ship v just after the mth visit to i (m3 )
qimpv cargo loaded or unloaded of product p by ship v at the mth visit to OP i (m3 )
s
tim starting time of the mth visit to i (hours)
e
tim ending time of the mth visit to i (hours)
ssimp stock of product p in platform i at the start of its mth visit (m3 )
seimp stock of product p in platform i at the end of its mth visit (m3 )

The model is described as follows. We consider that some variables are previously fixed, for
example, ximinv = 0, l(iv )1pv = L0pv , t(is )1 = TvR , t(ie )1 = TvR , among others.
v v

    
Minimize CiSjv + C D
j xim jnv . (1)
v∈V i∈Hv m∈Mi j∈H \{i } n∈M j
v v

The objective function (1) minimizes the sailing costs of the ships and the docking costs at the
OPs. The navigation costs incorporate variable fuel costs incurred during the ships navigation, while
the docking costs represent the fixed costs of berthing at platforms and terminals. These costs are
computed in a similar way to what the planners do in the company.
Flow network constraints:
 
xiv 1 jnv + ziv 1v = 1, (∀v ∈ V ) (2)
j∈Hv \{iv } n∈M j


C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1175
       
x jnimv = xim jnv + zimv , ∀v ∈ V, i ∈ Hv \ iv , m ∈ Mi (3)
j∈Hv n∈M j j∈Hv \{iv } n∈M j

     
x jnimv = 1 − yim , ∀i ∈ Hv \ iv , m ∈ Mi (4)
j∈Hv n∈M j v∈V

   
yim − yi(m−1) ≥ 0, ∀i ∈ Hv \ iv , m ∈ Mi , m = 1 . (5)

Constraints (2) ensure that each ship v departs from its respective initial location iv to some
j ∈ Hv or ends its route at iv . This last case indicates that the ship is not used in the route planning.
Constraints (3) impose that if ship v visits node (i, m), it finishes its route on that visit or departs to
visit a given node ( j, n). Note that variable zimv assures the equality between right and left sides of (2)
and (3) when i is the final destination of v. Constraints (4) prescribe that the visit to node (i, m) with
ship v is immediately preceded by the visit to a node ( j, n) or that the visit to node (i, m) does not
occur. The slack variable yim ensures the consistency of the equality in this last case. Constraints
(5) ensure the ordering of visits according to the time they occur. Since the total number of visits
to each node i may have been overestimated because it is not known a priori how many visits will
be made to each OP during the planning horizon, visits actually performed have the lowest orders
(smallest m values), which reduces the number of symmetric solutions obtained when solving the
model. This means that if yim = 1 then yim = 1 for all succeeding visits m > m in OP i.
OP loading/unloading constraints:
  
l jnpv ≥ limpv + J j q jnpv − LTv 1 − xim jnv , ∀v ∈ V, i ∈ Hv , m ∈ Mi ,
  
j ∈ Hv \ iv , n ∈ M j , p ∈ P (6)

  
l jnpv ≤ limpv + J j q jnpv + LTv 1 − xim jnv , ∀v ∈ V, i ∈ Hv , m ∈ Mi ,
  
j ∈ Hv \ iv , n ∈ M j , p ∈ P (7)

     
qimpv ≤ LTv x jnimv , ∀v ∈ V, i ∈ Hv \ iv , m ∈ Mi (8)
p∈Pi j∈Hv n∈Mi

      
limpv ≤ LTv x jnimv , ∀v ∈ V, i ∈ Hv \ iv , m ∈ Mi (9)
p∈P j∈Hv n∈M j

      
qimpv ≥ Q 1 − yim , ∀i ∈ Hv \ iv , m ∈ Mi . (10)

p∈Pi v∈Vi im


C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1176 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198
Constraints (6) and (7) ensure cargo conservation when visiting (j, n) right after (i, m); they are a
simple linearization of the original nonlinear constraint: (limpv + J j q jnpv − l jnpv )xim jnv = 0, but this
may give a weak MIP formulation. Note that J j correctly considers if quantity q jnpv is loaded (from
the platform to the ship) or unloaded (from the ship to the terminal) at node (j, n). Constraints
(8) ensure that there is no collection or delivery of products in node (i, m) by ship v if (i, m) is not
visited by this ship. Constraints (9) impose that the capacity of each ship utilized is not exceeded.
Constraints (10) ensure that if node (i, m) is visited (i.e., yim = 0), the collected or delivered load at
(i, m) must be greater than or equal to the minimum load size required by the company planners in
(i, m) to avoid operations with small cargos.
Docking constraints:

     
l jnpv ≤ α jv LTv + J j q jnpv + 1 − α jv LTv 1 − xim jnv
p∈P p∈Pj i∈Hv m∈Mi . (11)
 
∀ v ∈ V, j ∈ Hv , n ∈ M j

Constraints (11) impose the maximum allowable cargo on board ship v when docking at an OP
j as a fraction α jv of the ship’s capacity, based on the limitations described in Table 1 regarding the
ship type (DP or conventional) and the platform type (FPSO or fixed). These constraints are also
used to represent practical situations where the maximum allowable draft of a terminal limits the
ship capacity, that is, it is still possible to dock this ship at this terminal as long as the cargo on
board is restricted to a specified fraction of the ship capacity, as discussed in Section 3.
OP time related constraints:
 
T

e
tim = tim
s
+ TS xim jnv , ∀i ∈ H P ∪H , m ∈ Mi (12)
j∈Hv \{iv } n∈M j v∈V

     
t sjn ≥ tim
e
+ Ti jv − 2T H 1 − xim jnv , ∀v ∈ V, i Hv , m ∈ Mi, , j ∈ Hv \ iv , n ∈ M j (13)

 
s
tim ≥ ti(m−1)
e
, ∀i ∈ H P , m ∈ Mi , m = 1 (14)

 
s
tim ≥ ti(m−1)
s
, ∀i ∈ H T , m ∈ Mi , m = 1 . (15)

Constraints (12) compute the time a visit ends at a platform or a terminal, considering a fixed
service time as suggested by the company planners. We note that these constraints can be easily
modified to cope with situations where the service times are directly related to the loading/unloading
quantities. We also note that the model can be easily extended to deal with situations where there
are time windows for the loading/discharging operations of the platforms and terminals. In case arc
(i, m, j, n, v) is traversed, constraints (13) ensure that the time at which ship v starts the nth visit to
OP j is greater than or equal to the time v finishes the mth visit to OP i plus the travel time between i
and j (the term 2T H is a sufficiently large number for the instances dealt in our experiments). They
are a linearization of the original nonlinear constraint: (tim e
+ Ti jv − t sjn )xim jnv ≤ 0. Note that the
ship may arrive before t jn at node j on its visit n. In this case, it waits until t sjn to start service, for
s


C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1177
example, if there is no berth available for docking upon its arrival time. Constraints (14) prescribe
that the beginning of the mth visit to a platform i occurs after the end of the (m − 1)th visit to i,
which forces that a single ship at a time visits i, ensuring the order of visits and preventing service
overlaps in the platform. Constraints (15) impose that the starting time of the mth visit to a terminal
i cannot occur earlier than the starting time of the (m − 1)th visit to i, allowing superposition of
visits at i and an appropriate association between the visit order and the time the visits start.
Platforms inventory constraints:
 
ssi1p = Sip
0
+ Ripti1
s
, ∀i ∈ H P , p ∈ Pi (16)

 e   
seimp = ssimp − qimpv + Rip tim − tim
s
, ∀i ∈ H P , m ∈ Mi , p ∈ Pi (17)
v∈Vi

s   
ssimp = sei(m−1)p + Rip tim − ti(m−1)
e
, ∀i ∈ H P , m ∈ Mi , p ∈ Pi , m = 1 (18)

 
S− ≤ ssimp ≤ S̄ip, ∀i ∈ H P , m ∈ Mi , p ∈ Pi (19)
ip

 
S− ≤ seimp ≤ S̄ip, ∀i ∈ H P , m ∈ Mi , p ∈ Pi (20)
ip


 
S− ≤ sei(M L ) p + Rip T H − tie(M L ) ≤ S̄ip, ∀i ∈ H P , p ∈ Pi . (21)
ip i i

Constraints (16) compute the products stocks at the beginning of the first visit to platform i,
considering the stocks levels at the beginning of the planning horizon and the production during
that time interval. Constraints (17), on the other hand, ensure the stock balancing during the
mth visit to platform i. Note that the stock of product p in platform i is decremented by its loading
to ship v at the same time that it is incremented by its production in the platform. Constraints (18)
impose stock control between consecutive visits m − 1 and m in platforms, considering the stock
at the end of visit m − 1 and the production between visits m − 1 and m. Constraints (19) ensure
that the stock of a product p at the beginning of the visit to node (i, m) is within the minimum and
maximum limits, while constraints (20) ensure the compliance to these limits at the end of the visit.
Constraints (21) ensure that the stock levels of a product p at each platform i at the end of the time
horizon are also maintained between minimum and maximum levels.
Terminals berth constraints:
 
s
tim − tiτe ≥ (σimτ − 1)T H , ∀i ∈ H T , m ∈ Mi τ = 1, . . . , m − 1 , (22)

   
s
tim − tiτe ≤ σimτ T H , ∀i ∈ H T , m ∈ Mi , τ = 1, . . . , m − 1 (23)

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1178 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198
    
1+ 1 − σimτ ≤ Bi , ∀i ∈ H T , m ∈ Mi . (24)
τ =1,...,m−1

Constraints (22) and (23) define the relationship between variables σimτ and variables tim s
and tiτe .
Note that they correctly ensure that σimτ = 0 if the mth visit to OP i superposes (or superimposes)
a previous visit τ (tiτe > tim
s
) in (22), and that σimτ = 1 otherwise (i.e., when tiτe < tim
s
) in (23). It
should be noted that these constraints are also valid for visits with variable duration. Constraints
(24) impose that the number of superposed visits to each terminal  i is limited to the number of
berths in i. If themth visit is superposed to s preceding visits ( τ =1...m−1 (1 − σimτ ) = s), then 1
+ s berths (1 + t=1...m −m (1 − σimτ )) are required. These constraints ensure that the number of
i
berths in the terminal is sufficient to allow the mth visit (mth ship) and the previous visits that
superpose m.
Terminals demand constraints:
  
qimpv = Dip , ∀i ∈ H T , p ∈ Pi . (25)
m∈Mi v∈Vi

Constraints (25) impose that the total load of product p delivered at a terminal i during the
planning horizon is equal to the amount demanded of this product by this terminal, Dip.
Domain of the variables:
 
xim jnv ∈ {0, 1} , ∀v ∈ V, i, j ∈ Hv , m ∈ Mi , n ∈ M j (26)

 
zimv ∈ {0, 1} , ∀v ∈ V, i ∈ Hv , m ∈ Mi (27)


T

yim ∈ {0, 1} , ∀i ∈ H P ∪H , m ∈ Mi (28)

 
σimτ ∈ {0, 1} , ∀i ∈ H T , m, τ ∈ Mi (29)

 
limpv , qimpv ≥ 0, ∀v ∈ V, i ∈ Hv , m ∈ Mi , p ∈ Pi (30)


T

0 ≤ tim
s
, tim
e
≤ TH, ∀i ∈ H P ∪H , m ∈ Mi (31)

 
ssimp, seimp ≥ 0 ∀i ∈ H P , m ∈ Mi , p ∈ Pi . (32)

It should be emphasized that in the company’s inventory routing planning, requests are predefined
by the product and by the terminal and have time windows to facilitate planning and to ensure the
delivery due dates. In the absence of time windows and according to constraints (25), the demanded
loads may be delivered any time within the planning horizon, which is considered acceptable only for
short horizons (for instance, up to 15 days, for which the company typically maintains safety stocks),

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1179
as pointed out by the company planners. For longer horizons, model (1)–(32) can be extended by
adding constraints (33) and (34) along with binary variables wimp, which ensure that all deliveries of
product p to terminal i end by the due date TipD of the last request for p in i. Constraints (35) define
the domain of wimp.
  
qimpv ≤ LT wimp, ∀i ∈ H T , m ∈ Mi , p ∈ Pi (33)
v∈Vi

   
e
tim ≤ TipD + T H 1 − wimp , ∀i ∈ H T , m ∈ Mi , p ∈ Pi (34)

 
wimp ∈ {0, 1} , ∀i ∈ H, m ∈ Mi , p ∈ Pi , (35)

where
LT : total load capacity of the largest available ship (i.e., maxv {LTv })
TipD : latest due date for product p in terminal i
wimp = 1 if product p is delivered to terminal i in visit m, 0 otherwise

5. A matheuristic approach

The inherent difficulties of solving large problem instances using model (1)–(32) by means of a
generic MIP solver has motivated the development of a heuristic approach. The method comprises
a multistart heuristic that constructs pickup and delivery ship routes concurrently, followed by
two improvement procedures. The first procedure aims to eliminate pickup operations planned to
avoid stock overflow at the end of the planning horizon (called platform relief operations by the
company´s operators), whereas the second reviews the ships’ assignments. The best solution found
by the multistart heuristic is then further improved by a local search procedure that redesigns parts
of the current routes, which tend to gather loads with the same origin and/or destination in a single
ship. The approach can be characterized as a hybrid method or a local optimization matheuristic
(Archetti and Speranza, 2014), since model (1)–(32) is used as an operator to complete current
solutions and each of their neighbors during local search.
Multistart heuristics can generate a large number of initial feasible solutions in different portions
of the solution space. This type of method seems particularly appropriate for this type of problem
(as pointed out by Stålhane et al., 2012), given the difficulties in defining single effective criteria to
select platforms and terminals while constructing a solution. In addition, the arrival time of a ship
at a platform defines the stock level of the platform, thus the maximum quantity of product that can
be collected, whose impact on the complete solution may be difficult to foresee. Using a procedure
that minimizes relief operations usually improves the initial solutions by reducing the number of
ships and/or relief visits, and using a procedure that changes the ships’ assignment in one or more
routes may reduce variable costs. The proposed local search, in turn, can reduce the number of
demand visits obtained by the multistart heuristic. A high-level description of the matheuristic is
shown in Fig. 4, followed by a discussion of the procedures that make up the approach.

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1180 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198

Fig. 4. Pseudocode of the matheuristic approach.

5.1. A multistart heuristic

5.1.1. A constructive procedure


The solution construction starts (step 2.1 of Fig. 5) by randomly selecting one of the following four
criteria in order to determine a platform i p∗ to serve: (CP1) the platform with the earliest top, (CP2)
the platform with the largest production rate, (CP3) the platform with the largest demand, and
(CP4) the fixed-type platform with the earliest top. We note that criteria CP1–CP3 aim to generate
feasible low-cost solutions, while criterion CP4 seeks diversified solutions. Only platforms with
positive demand for their products or that have their next top within the current time horizon are
considered for selection. If the chosen i p∗ requires a relief operation (the demand of the associated
product p∗ is zero within the time horizon), one of the following five criteria determines the ship
v∗ for the pickup operation (step 2.2.1): (CS1) the ship with the least operational cost, (CS2) the
ship with the least operational cost per unit of capacity, (CS3) the ship with the largest capacity,
(CS4) the nearest ship from i p∗ , and (CS5) the least compatible ship with the OPs, and in case of
ties, the ship with the least operational cost. Criteria CS1, CS3, and CS4 are intended to increase
the chances of producing low-cost solutions, while CS5 seeks feasible solutions and CS2 aims at
both feasible and low-cost solutions.
On the other hand, if i p∗ produces a demanded p∗ within the time horizon, a terminal t* (requiring
the product) is chosen based on four criteria (step 2.2.3) that aim to diversify the solutions: (CT1)
the terminal with the largest demand for p∗ , (CT2) the terminal with the smallest demand for p∗ ,
(CT3) the nearest terminal from i p∗ , and (CT4) the farthest terminal from i p∗ . A ship v∗ (capable
of serving both i p∗ and t*) is then selected by randomly choosing one of six criteria (step 2.2.4),
five of them also used for relief operations. The sixth criterion (CS6) aims to fulfill the demand for
p∗ as much as possible and with the least cost, thus seeking low-cost solutions. In case there is still
unused capacity in v∗ and there are other requests involving i p∗ or t*, the procedure investigates the
inclusion of one or more of these pending requests—defining strings (or chains) of visits—in the
current route (steps 2.2.5.2 and 2.2.5.3).
At the end of step 2.2.5.1 or 2.2.5.3, five possible types of strings are considered for evaluation:

r platform i p∗ followed by terminal t*;


r two platforms (one of which is i p∗ ) followed by terminal t*;
r platform i p∗ followed by two terminals (one of which is t*);
r platform i p∗ followed by three terminals (one of which is t*);
r two platforms (one of which is i p∗ ) followed by three terminals (one of which is t*).

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1181

Fig. 5. Pseudocode of the constructive heuristic.

It should be noted that these string types are not inherent to the problem, but part of the heuristic
strategy. Other possibilities are disregarded since they would most likely violate DP constraints,
resulting in infeasible plans. Each choice of platform(s), ship and/or terminal(s) defines an iteration
of the constructive heuristic and they are performed as long as there are pending demands within
the time horizon. In each iteration, the schedule considers the ship’s earliest possible arrival at the
OPs involved, while the quantities to be collected from the platforms are the minimum among the
ship’s unused capacity, the platforms’ current stock and the demand of the served terminals (in
case of a demand supply operation). The steps of the construction heuristic are described in Fig. 5.

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1182 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198

Fig. 6. Pseudocode of the relief pickup elimination.

We note that the proposed constructive procedure shares general similarities with other constructive
procedures for IRP and ICRP problems, such as the selection of a production and/or consumer
points based on one or more criteria, the evaluation of insertion positions in the partial route (also
based on one or more criteria) and the computation of loaded and/or unloaded cargo quantities
associated with the route scheduling.
On the other hand, some of the heuristics’ features reflect the distinct aspects of the problems to
which they are designed for. Taking, for example, the heuristic for a similar problem described in
Christiansen et al. (2011), it allows the violation of the stock upper and lower limits (referred to by
the authors as capacity breaches) and such violations are considered costs (penalties) in the objective
function. During the construction phase, Christiansen’s heuristic selects the most critical producer
or consumer port (i.e., the port with earliest breach time among those most strategically important)
and evaluates all insertion positions of this port in partial routes. Since capacity breaches are
allowed, we believe such evaluation should disclose a reasonable number of feasible routing plans.
In contrast, the problem tackled in this paper (and the proposed heuristic as well) does not allow
capacity breaches in production facilities and assumes that the stock capacity at consumer points
is sufficiently large or that the costs of transferring stock excess/shortage to/from other places are
disregarded. In other words, solutions with capacity breaches are unacceptable according to the
company’s requirements. For this reason (and differently from Christiansen’s heuristic), our method
constructs a solution by inserting visits to platforms and terminals only at the end of the partial
routes as internal insertions most often result in capacity breaches at the platforms. In addition,
internal insertions would require rescheduling the berths of the terminals, which also results in
infeasible plans most of the time. Moreover, in order to impede breaches at the platforms, pickups
may be carried on even if the oil is not demanded.

5.1.2. A relief pickup elimination procedure


The procedure described in Fig. 6 attempts to eliminate platform relief pickups in solution
S by transferring the corresponding loads to other routes. First, the set of loads in this condi-
tion (Q f ) is identified along with the associated platforms. Starting with the smallest load qi p ∗ ,
currently collected at platform i p∗ by route r f ∗ , we investigate the savings of picking qi p ∗ in a differ-
ent route that also visits i p∗ . For each of these candidate routes (set Rd ), if the current ship v does

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1183

Fig. 7. Pseudocode of the ships´ reassignment procedure.

not have enough spare capacity to fully collect qi p ∗ , we examine it replacing v by a larger idle ship
w. The candidate route rd ∗ (with a possible change of ship) that can carry the largest amount of qi p ∗
is selected. Note that the savings are due only to the change of ship, since route rd ∗ was already
scheduled to visit i p∗ . If rd ∗ cannot fully collect qi p ∗ , other routes in Rd are iteratively chosen to pick
the remaining amount.
The elimination of a relief pickup fails if the load cannot be fully collected after investigating all
routes in Rd or if the savings from eliminating the pickup is negative. The procedure ends when
all relief pickups are transferred to other routes or when there are relief pickups that cannot be
eliminated with positive savings.

5.1.3. A fleet reassignment procedure


Further improvements can be obtained by reviewing the ships’ assignments in solution S
(Fig. 7). For this, S is stored and all ships are initially considered unassigned (set U = V ). For
each route r, we compute the savings from changing ship v (previously assigned to r in S) to a
ship w ∈ U (whether used in S or not). Only ship changes v → w , r in which w collects and
delivers the same loads recommended for r without violating the feasibility of r are considered. The
feasible change v∗ → w∗ , r∗ that provides the largest savings is selected, with w∗ assigned to r∗
and it becomes unavailable to the other routes (U = V − {w∗ }). Ship changes are made until all
routes are assigned a ship or if it is not possible to assign ships to all routes. The procedure ends
successfully when a new improved solution is produced (with all routes assigned a ship); otherwise,
the procedure fails.

5.2. A local search procedure

In the constructive phase of the multistart heuristic described in Section 5.1, the values of the
decision variables are obtained, directly or indirectly, by simple rules. For instance, a platform is
chosen according to criterion CP1, CP2, CP3, or CP4, while the collected oil quantity is either the
idle capacity of the ship, the platform current stock, or the terminals demand. However, optimal
solutions provided by mathematical programming for model (1)–(32) are sometimes characterized
by a different sequencing or smaller/larger pickup quantities, which can neither be obtained by the
two improvement procedures described in Section 5.1.
In order to attain better results, the best solution resulting from the multistart heuristic is subjected
to a local search whose neighborhood is generated from paired pickup and delivery requests provided

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1184 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198

Fig. 8. Pseudocode of the local search.

by a simple procedure (described next). The local search replaces strings of visits, and since only
improving moves are accepted, they tend to gather in a single ship the loads of two or more requests
with the same origin (platform) and/or destination (terminal) which are currently allocated to
different routes. Note that this intent is also present in the constructive heuristic; however, most
of the route sequencing in the solutions produced by the local search is heuristically determined
whereas the remaining decisions are provided by mathematical programming.
Figure 8 describes the steps of the local search procedure. The paired pickup and delivery requests
in step 1 are predetermined by partitioning each total demand D j p of product p for terminal j in
a number of requests, where the load quantity of each request is based on historical data provided
by the company. Each pickup and delivery request is characterized by an origin node i ∈ H P , a
destination node j ∈ H T , and a given load of oil p ∈ Pi ∩Pj to be transported up to a given due
date. Let Ni j p be the total number of pickup and delivery requests for product p with origin i and
destination j. Since there may be multiple requests with the same i, j and p, the index k discriminates
and sorts these requests in increasing order of due dates T jDpk (i.e., k > k if T jDpk > T jD pk ). These
due dates are predetermined using a simple procedure described in Rodrigues et al. (2016); each
T jDpk corresponds to the end of the time window of terminal j in request (i, j, p, k). In this procedure,
time windows for the platform and terminal of each request are calculated based on the platform
storage capacity, platform production rate, and load quantity of the request previously computed.
The platform time window opens when the oil inventory level in the platform is large enough to
fulfill the request and it closes before it reaches the maximum inventory level capacity. The end
of the terminal time window (i.e., T jDpk ) is determined by adding to the end of the platform time
window the service time in the platform and the estimated travel time for the ship to travel from the
platform to the terminal.
In step 1, for each pickup and delivery request d for product p with origin i and destination j,
strings (or chains) of visits are explicitly enumerated and arranged in sets Ri j pk (as before, index k
indicates the order of request d according to its due date). In addition to the elementary string i j,
representing the direct trip from i to j, Ri j pk include strings comprising visits to platforms i whose

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1185

products are required in at least one request to terminal j (e.g., i i j), as well as visits to terminals
j complying with requests requiring one or more products from platform i (e.g., i j j ), as long as
their due dates are within T jDpk + ψ. Note that the last condition seeks the generation of strings of
visit-related terminals with requests due dates close to each other. The addition of OPs during a
string construction takes into account precedence constraints and the capacity of the largest ship in
the fleet. It complies with due date constraints under the assumption that the ship leaves its initial
location at the beginning of the time horizon. In addition, the information on which requests are
partially served in each string is saved for further use.
In step 2, the pickup and delivery requests are listed in increasing order of due dates and given
the incumbent solution S∗ (resulting from applying the multistart heuristic described in the previous
section) is set as the current solution. In Step 3 we investigate the replacement of a string rd in
S∗ by a randomly chosen string r d from set R ∗
i j pk (step 3). Only replacements that improve S are
accepted. Since rd and r d are likely to comprise different OPs, the replacement of a string must be

supplemented as follows.

(i) If there are OPs in rd that are not visited in r d , the sequencing resulting from the replacement is

maintained and possible adjustments due to the exclusion of these OPs are handled by solving
the residual model (1)–(32) with the optimization software. The residual model is obtained by
fixing some of the discrete variables xim jnv , zimv , and yim of model (1)–(32) to one, in accordance
with the resulting sequencing.
(ii) If there are OPs in r
d that are not visited in rd , the pickup and delivery requests associated to

the excluded OPs are identified and all the visits associated to these requests are removed from
S∗ , followed by solving the residual model (1)–(32) with the optimization software.

The replacement is successful if a complete feasible neighbor solution Ŝ is obtained, that is, if
the mathematical programming solution provides the collected/delivered loads in each visit, the
routes scheduling and additional visits in case the latter are necessary. An example of a string
replacement move is depicted in Fig. 9. In the example, r d = p2 → p6 → t2 is randomly selected
from the set of strings that can presumably serve the pickup and delivery request (p2 , t2 )1 (i.e.,
the first request with origin p2 and destination t2 ). Such request is currently served in the route of
ship v1 , specifically, in the string rd = p2 → p3 → t2 . Note, however, that the replacement of rd
by r d results in the exclusion of a visit to platform p3 , which is required in order to fulfill request
(p3 , t2 )1 . The replacement also replicates service to request (p6 , t2 )1 , currently performed in the
string p1 → p6 → t2 of the route of ship v2 .
In order to eliminate the service replication, p1 → p6 → t2 is removed from the route of v2 ,
causing the previously served request (p1 , t2 )1 to become unserved. The optimization software
then completes the solution by including two visits to terminal t2 , one in the route of ship v2 to
meet request (p3 , t2 )1 and one in the route of ship v3 to meet request (p1 , t2 )1 , and by providing
the collected/delivered loads and the routes scheduling.
The string selected in step 3.1.1 is removed from set Ri j pk and neighbor Ŝ is saved in Sd . Steps
3.1.1–3.1.4 are repeated (updating Sd when applicable) until Ri j pk = ∅ or the maximum time per
request (τd ) elapses. If no feasible improving Ŝ is produced, Sd is null. The incumbent solution

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1186 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198

Fig. 9. An example of string replacement move.

S* is replaced by the best Sd after analyzing the neighborhood of all requests. The local search ends
when Sd is null for all d.
We note that the input information of the load quantity and the due date T jDpk of each kth paired
pickup and delivery request for product p with origin i and destination j is used only for sequencing
the requests in the local search procedure. The final decisions regarding the loaded and unloaded
quantities in each visit will be defined by the mathematical programming model in step 3.1.3 of the
local search, while the due dates of all visits coincide with the length T H of the planning horizon.

6. Computational experiments

This section presents and analyses the results of some computational experiments with model
(1)–(32) of Section 4 and the heuristic approach described in Section 5.1. The experiments comprise
two sets of problem instances generated from data collected in the case study. The model was
implemented in the modeling language CONCERT and the instances were solved using the branch-
and-cut method of the optimization solver CPLEX 12.5.1, with null gap of optimality, use of the
feasibility pump heuristic focusing on finding feasible solutions with good objective values (fpheur
= 2), MIP search strategy focusing on feasibility (mipemphasis = 1), and maximum runtime of
18,000 seconds (five hours). The multistart heuristic and the local search (except step 3.1.3) were
implemented in C and run using the software Visual Studio 2010. The model in step 3.1.3 was
solved using CPLEX. For each instance, the constructive heuristic and the improving procedures
were run for Tmax = 0.300 seconds, while the local search used ψ = 5 days and it was applied for

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1187
Table 2
Characteristics of instance Sets 1 and 2

Set Instance number Platforms Terminals Ships Planning horizon


1 1 2 1 13 173
2 3 1 13 197
3 4 1 13 197
4 6 3 13 243
5 8 3 13 267
6 9 4 13 291
7 13 5 25 355
2 8 3 2 6 355
9 3 2 6 416
10 3 2 6 461
11 3 2 9 581
12 3 2 9 773

τd = 200 seconds per request or until all Ri j pk = ∅. The experiments were performed on an Intel
Core i7 3632QM computer, with 2.20 GHz and 8 GB RAM.

6.1. Instance generation and model results

The sets of problem instances used in this study were generated from a total of 30 real-life pickup
and delivery requests provided by the company’s technical planning, corresponding to a 32-day
operation in a specific geographical region with 10 platforms and four terminals. For confidentiality
reasons, part of the actual data has been changed, but in such a way that the proportionality between
the input parameters was roughly maintained and the resulting problem instances were considered
realistic by the company planners. Walso compared the results with the solutions obtained with the
actual data and observed that, even though the solutions changed, the general conclusions regarding
the method’s performance still hold. Therefore, we concluded that these changes did not weaken
the analysis of the results in respect to what would be obtained by using the actual data.
The OPs are the platforms and terminals associated with the selected requests and none of the
platforms produces more than one oil type. As shown in constraints (25), the demand D j p in terminal
j for oil type p (which is produced in platform i) is the sum of the loads of requests whose pickup
location is I and delivery location is j. For example, if the company’s technical planning has requests
for 100,000 m3 , 80,000 m3 , and 30,000 m3 of oil type 1 to be delivered at terminal 2, then the demand
of terminal 2 for oil type 1 is D21 = 100,000 + 80,000 + 30,000 m3 .
Instance Set 1 of Table 2 was obtained by chronologically ordering these requests and selecting
those whose time windows lay within time horizons from 173 to 355 hours (short-term horizons).
Note that the total demand can be met by one or more ships in one or more visits to the terminal
within the time horizon. The problem instances comprise a working fleet of 13 ships. For simplicity,
instead of adjusting the number of ships for each Set 1 instance depending on its planning horizon
length, the full working fleet was used for all these instances. However, note that this does not
mean that all ships are available during the whole horizon, as the ships have different release times

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1188 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198
Table 3
Size of instance Sets 1 and 2

Model (1)–(32)
Set Instance number Constraints Variables Discrete variables
1 1 44,414 27,649 4418
2 85,952 56,055 4654
3 93,064 89,188 4848
4 119,896 104,043 8038
5 190,528 73,247 10,562
6 568,533 159,407 28,675
7 3,924,898 2,112,195 91,711
2 8 20,826 17,610 1116
9 51,187 43,854 2658
10 54,190 44,900 3190
11 83,741 69,501 4760
12 273,084 245,686 9693

(e.g., some ships are available only after the middle of the planning horizon). The maximum number
of visits is specific to each OP; it was computed by first summing up the OP production or demand
during the time horizon and dividing this amount by the capacity of the smallest ship. Table 2
summarizes the most relevant characteristics of these instances: the number of platforms, terminals,
available ships and the time horizon in hours.
Instances of Set 2 of Table 2 are the result of the selection of the three most demanded oil types,
which restricts the OPs to only three platforms and two terminals. These instances consider different
maximum number of visits and longer time horizons (from 355 to 773 hours) than Set 1. Since this
severely affects the CPLEX computational performance, only a subset of the working fleet (from
6 to 10 ships out of the 13 ships) was considered in these experiments. Furthermore, the increase
in the length of the planning horizon increases the number of variables and constraints (Table 3),
making the model more difficult to solve with CPLEX.
Table 4 depicts for each instance of Sets 1 and 2, the objective value f of the best solutions found
by CPLEX and the matheuristic, their corresponding optimality gaps (based on the best lower
bounds obtained by CPLEX), and their computational total runtimes (in seconds) (the values
between brackets correspond to the partial runtimes that CPLEX required to find its best solution).
The last two columns (relative deviation) compare the results obtained by the matheuristic and the
CPLEX solution values, and the matheuristic and multistart heuristic solution values, respectively.
These instances involve an average travel time between ports of approximately 17 hours, which is
considerably shorter than the estimated 48-hour service time in each port. The average ship capacity
is 120,000 m3 while the product demands range from 15,000 to 150,000 m3 .
The results with the solver CPLEX in Table 4 show that optimal solutions were found and proven
for the first instances of Set 1 in quite reasonable runtimes. Figure 10 illustrates the gap evolution
during the runtime of instance 4. Note that the upper bound substantially improves during the first
100 seconds of runtime and becomes very close to the optimal solution value much before than the
runtime limit. The optimal solution was found in 2401 seconds, however it was proven optimal only
after 5491 seconds (Table 4 and Fig. 10). On the other hand, the lower bound improves at a much

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1189
Table 4
Computational results of Sets 1 and 2

CPLEX Matheuristic
Total (partial) Total Relative deviation Relative deviation
Instance Gap runtime Gap runtime (matheuristic to (matheuristic to
Set number f (%) (seconds) f (%) (seconds) CPLEX) (%) multistart) (%)
1 1 626.6 0.0 7 (3) 626.6 0.0 300 0.0 0.0
2 863.1 0.0 9 (4) 863.1 0.0 300 0.0 0.0
3 1212.3 0.0 72 (53) 1212.3 0.0 489 0.0 −1.7
4 1455.3 0.0 5670 (2401) 1455.3 0.0 1534 0.0 −2.2
5 2002.7 41.9 18,000 (12,305) 1712.2 32.0 2325 −14.5 −3.0
6 NI – 18,000 2012.5 31.5 2841 – −6.4
7 NI – 18,000 2997.3 41.8 3314 – −6.3
2 8 1355.9 5.7 18,000 (16,009) 1360.9 6.0 1397 0.4 −1.8
9 1820.6 25.3 18,000 (11,074) 1812.2 25.0 1669 −0.5 −1.7
10 1852.2 25.0 18,000 (14,127) 1904.3 27.0 1875 2.8 −6.7
11 2282.1 15.6 18,000 (12,972) 2125.4 9.3 2507 −6.9 −1.7
12 NI – 18,000 3674.1 34.3 3074 – −5.3
NI, no integer solution found.

Fig. 10. Variation of upper and lower bounds along the runtime for problem instance 4. [Colour figure can be viewed at
wileyonlinelibrary.com]

slower rate than the upper bound. This result suggests that for small-sized instances, CPLEX can
provide reasonably good solutions within acceptable processing times and that most of the time is
spent on improving the lower bounds.
However, as the planning horizon grows and more pickup and delivery requests are included (and
OPs as well) in the problem instances, it becomes increasingly hard for CPLEX to obtain feasible
solutions with affordable computational efforts. The selection of the three most demanded oil types
(three platforms) to construct Set 2 instances allowed the model’s solver to find feasible solutions
for longer planning horizons and, as expected, the gaps increase as the instances become larger.
When the horizon is further enlarged, no integer solution was found by CPLEX within the runtime
limit (instances 6, 7, and 12). It should be noted, however, that typical planning horizons used by
the company have around 14 days (336 hours), with a freezing period comprising the first 7 days,

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1190 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198
while the decisions in the remaining days are reviewed in the next rolling horizon. According to the
company planners, the parameters’ uncertainties beyond 14 days are usually too high. The length
of the planning horizon directly reflects the model complexity, that is, as the horizon increases, the
number of visits to platforms and terminals also increases.
Note in Table 4 that the matheuristic approach was able to find good solutions for all instances
of Set 1. Optimal solutions were obtained for examples 1–4 in computing times ranging from 300
to 1534 seconds. The matheuristic also improved the CPLEX solution for instance 5 in 14.5%, and
produced feasible solutions for instances 6 and 7 in less than one hour of processing time, while
CPLEX was unable to find feasible solutions for these instances within the time limit of 18,000
seconds. For Set 2, the matheuristic found feasible solutions for all instances within processing
times varying between 1397 and 3074 seconds, while CPLEX did not find a feasible solution for
instance 12. For instance 9 the matheuristic produced a slightly better solution than CPLEX.
The last column of Table 4 shows the improvements of the matheuristic solutions with respect to
the multistart heuristic solutions of the matheuristic found within a time limit of 300 seconds. As it
can be observed in Fig. 5, several criteria are used to select platforms, ships, and terminals during
the construction phase. Since the criteria are randomly chosen, an interesting study is to verify their
actual role toward the solutions quality. To this end, additional tests with instances of these sets
were conducted. First, the constructive heuristic was applied using each combination of platform,
ship, and terminal criteria, totalizing 120 combinations. For each combination, the average cost
of the produced solutions was computed, and the constructive heuristic was reapplied excluding
the criteria that resulted in average costs greater than or equal to 95% of the highest average cost.
The results illustrated the known difficulties in defining single effective criterion and revealed that
criteria performing worse when used individually (specifically, CP3—platform with largest demand;
CT2—terminal with smallest demand; and CS3—ship with the largest capacity) may have positive
impact on the solution quality when used together with others.

6.2. Effects of changing some model parameters

This section illustrates the impact of particular changes on the resulting solution. Specifically, we
studied the effects of alternative scenarios resulting from demand changes, terminal berths that are
closed for maintenance, unavailability of part of the fleet, among others. The company’s planners
asked us these questions given the practical importance of knowing beforehand the impact of “what
if” scenarios concerning the quality of the solutions. These changes can be made, for example,
by changing the maximal allowable draft of the ships in terminal berths and the number of ships
with DP devices (constraints (11)) and the number of berths in terminals (constraints (22)–(24)).
Regarding the latter, note that if one or more berths are closed for maintenance for some periods,
it is in the best interest of the company to assess how the loss of such a resource (particularly,
when the terminal is highly demanded) affects costs, runtime, or even feasibility. For this purpose,
we generated 10 new problem instances from instance 4 (all of them with 6 platforms, 3 terminals,
13 available ships, and 243 hours of time horizon, as instance 4), as follows:
r Instance 13: The flexible draft of the ships in the most demanded terminal (terminal 8) is revoked,
that is, the maximal allowable draft of the ships must be complied regardless of the load on board.

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1191
Table 5
Computational results of variations of problem instance 4

CPLEX Matheuristic
Total runtime Total runtime Relative
Instance f Gap (%) (seconds) f Gap (%) (seconds) deviation (%)
4 1455.3 0 5491 1455.3 0.0 534 0.0
13 1642.8 0 6711 1744.1 5.8 578 6.1
14 1578.8 0 5614 1578.8 0.0 561 0.0
15 Infeasible – 5 – – – –
16 1521.1 0 4109 1534.9 0.9 425 0.9
17 1521.1 0 4356 1534.9 0.9 425 0.9
18 1521.1 0 6403 1534.9 0.9 425 0.9
19 Infeasible – 2 – – – –
20 Infeasible – 2934 – – – –
21 1640.9 0 3892 1700.4 3.5 300 3.6
22 1640.9 0 4745 1700.4 3.5 300 3.6

r Instance 14: All ships are considered without DP devices and all platforms are assumed to be
FPSO type.
r Instances 15–18: The number of available berths in terminal 8 is set for each instance from 1 to 4,
respectively, and the service time is increased from 48 to 72 hours.
r Instances 19–22: The number of available berths in terminal 8 is set for each instance from 1 to
4, respectively, and the service time is increased from 48 to 72 hours. In addition, the demand of
two products is increased by 20%.

Table 5 shows the results; for all instances, the solutions obtained by the solver CPLEX were
proven optimal or the instances were proven infeasible (we note that these instances are relatively
small as they involve a planning horizon of only 10 days). For the sake of convenience, the first row
of the table reproduces the results of instance 4 in Table 4. The remaining solver and matheuristic
values in the table show that when the draft of a docked ship can no longer exceed the berths’ depths
(instance 13), feasible solutions can still be found. As expected, costs are higher since eligible ships
with higher capacities and consequently higher navigation costs must be used in the operation. The
total cost also increases when the fleet operates without DP devices (instance 14); the load on board
when docking at any platform is now limited to 30% of the ship´s capacity, thus a larger number of
pickups are required.
The impact of the number of available berths is shown by the solutions of the remaining instances
of Table 5. If terminal 8 operates with a single berth (instance 15) and a larger service time is required,
the problem becomes infeasible. In fact, exactly two berths are used in the optimal solution of the
following three instances. Note that the solution cost of these instances is higher than the solution
cost of instance 4 (for which all berths are available), since the increase in service time from 48 to
72 hours requires the selection of additional (more expensive) ships in order to meet the platform
and terminal demands. On the other hand, if the demand of only a few products in terminal 8 is
increased by 20% (instances 19 to 22), the number of deliveries increase and three available berths
are mandatory.

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1192 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198
The matheuristic approach was competitive to CPLEX when solving these short-term problem
instances, in most cases with relative deviations ranging from 0.0 to 6.1 but requiring much less
runtime. In particular, for the instance without flexible draft constraints (instance 13) and the
instances with increased demand (instances 21 and 22), the heuristic solutions have higher deviations
as these instances are very tight in terms of capacity.

6.3. A comparison between a PDPTW model and model (1)–(32)

This section aims to illustrate a simple comparison between the solutions obtained with model
(1)–(32) and by the PDPTW model presented in Rodrigues et al. (2016). As discussed in Section 3,
the PDPTW model resembles the practice of the company’s inventory routing planning and can be
viewed as the pickup and delivery cargo routing version of the problem described by model (1)–(32).
The PDPTW model takes into account the platforms’ production rates and the terminals’ demands
over time (i.e., ordered quantities of oil types with due dates) to specify a number of pairs of pickup
and delivery requests, each of which defined by a given amount of oil to be picked up at platform
i and delivered to terminal j within pickup and delivery time windows. Note that this pairing is
also valid if platform i produces more than one product since there would be paired pickup and
delivery requests between platform i and terminal j for each demanded product. This comparison
was motivated by the company planners, as it evaluates the potential for improvement by doing
more advanced planning. We also note that similar comparisons have already been reported in the
literature (see, e.g., Stålhane et al., 2014).
For the PDPTW model, each request r = (i, j) has a single pickup time window [e+ +
r , lr ] in
− −
location i and a single delivery time window [er , lr ] in location j. Load sizes and time windows
were prescribed by the company planners for both pickup and delivery of a given request mainly
to keep the stock in the platforms between the minimum and maximum levels and to meet the oil
type demanded quantities of the terminals by their due dates. Pickup time windows open when the
inventory level in the platform is large enough to meet the request and close 48 hours before the
maximum inventory level capacity is reached. Delivery time windows, in turn, open 48 hours plus
the travel time from the platform to the terminal after the opening of the pickup time window and
close 48 hours plus the travel time from the platform to the terminal after closing the pickup time
window (i.e., e− + − +
r = er + Ti j + 48 and lr = lr + Ti j + 48, where Ti j is the largest travel time between
the pickup location i and the delivery location j). Nevertheless, the time windows were maintained
in the experiments with the PDPTW model only for the platforms, while the delivery time windows
of the PDPTW coincide with the planning horizon, making the comparison between the models less
biased toward the ICRP. For the ICRP model, the total demand for each oil type is the sum of the
load sizes of the PDPTW requests (whose pickup location is i and delivery location is j). It should
be noted that in order to increase the chances of producing proven optimal solutions, the instances
selected for the study have short-term planning horizons, which means that the demanded loads
could be delivered any time within the planning horizon in both models. In addition, we relaxed
e
tim ≤ T H in constraints (31) of the ICRP model, so that the visits to the OPs can also finish after the
end of the planning horizon, making the comparison of the models less biased toward the PDPTW.
For these experiments, we used the problem instances 4 and 11 of Table 2 and the corresponding
PDPTW instances N10 and N25 provided by the company, which means 10 and 25 pairs of pickup

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1193
Table 6
Comparison between the PDPTW and the ICRP approaches

Instance/method f Docking cost Navigation cost Gap (%) Runtime (seconds)


N10/CPLEX 1554.4 1250 (9 + 6 = 15 visits) 304.4 0.0 3
Instance 4/CPLEX 1455.3 1250 (9 + 6 = 15 visits) 205.3 0.0 5491
Instance 4/matheuristic 1455.3 1250 (9 + 6 = 15 visits) 205.3 0.0 534
N25/CPLEX 2987.9 2550 (11 + 15 = 26 visits) 437.9 26.3 18,000
Instance 11/CPLEX 2282.1 1950 (11 + 9 = 20 visits) 332.1 15.6 18,000
Instance 11 /matheuristic 2125.4 1850 (9 + 10 = 19 visits) 275.4 9.3 2507

and delivery requests with given load sizes and time windows, respectively. Even though model (1)–
(32) and the PDPTW solutions themselves are not actually strictly comparable, we emphasize that
such analysis may be helpful to reveal advantages and disadvantages of the two formulations. Both
models were solved by CPLEX, while the latter model was also solved by the proposed heuristic.
Note in Table 6 that for both instances, the solution values obtained by CPLEX for model (1)–(32)
and by the heuristic approach are much better than the corresponding one obtained by CPLEX for
the PDPTW. For the first problem instance (instance 4 and the corresponding N10), both model
(1)–(32) and PDPTW CPLEX solutions are optimal. While the docking costs are the same because
the two solutions involve the same number of visits to platforms and terminals (i.e., a total of
15 visits, 9 visits to the platforms and 6 visits to the terminals), the ICRP navigation cost is smaller
than the PDPTW’s, showing the potential of formulation (1)–(32) in producing better routing plans.
The matheuristic was able to find the optimal solution of model (1)–(32) in a much lower runtime
than CPLEX.
For the second problem instance (instance 11 and the corresponding N25), both model (1)–(32)
and the PDPTW CPLEX solutions involve positive optimality gaps (within the time limit of five
hours), but smaller docking costs (corresponding to a smaller number of visits to platforms and
terminals) and smaller navigation costs were obtained using model (1)–(32) and the matheuristic.
Figs. 11–13 illustrate the ship routes produced by each approach. Note that nodes in instance
11 routes (Figs. 12 and 13) represent visits to platforms (left-hand side nodes) and terminals (right-
hand side nodes), whereas nodes in N25 routes (Fig. 11) correspond to pickups in platforms
(left-hand side nodes) and deliveries in terminals (right-hand side nodes), totalizing 25 pairs of
pickups and deliveries. Hence, consecutive pickups (deliveries) in the same platform (terminal) in
Figs. 12 and 13 represent in fact a single visit to the OP, so that docking costs incur only once.
In the figures, the left-hand nodes, in dark gray, represent the collection nodes (platforms) and
the right-hand nodes, in light gray, represent the delivery nodes (terminals). The number in brackets
that follows the ship number is the ship’s capacity, whereas the number beside each node number
is the oil quantity loaded/unloaded at each platform/terminal, the nodes. Note that the three
solutions use the same six ships (out of the nine available), but the ship routes are quite different
(even after aggregating in a single visit the consecutive ship pickups or deliveries in Fig. 11). It
should also be noted that most of the ships in instance 11 model (1)–(32) CPLEX solution still carry
oil loads when they finish their routes. These quantities were picked up in platform relief operations,
that is, they are required not to meet demands of terminals in this particular planning horizon,
but to maintain the stock of some platforms within allowable lower and upper levels throughout

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1194 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198

Fig. 11. Routes in instance N25: PDPTW model.

the planning horizon. The instance 11 heuristic solution, in turn, carries the deliveries to terminals
4 and 5 in ship 4, reducing the navigation and docking costs when compared to the CPLEX solution
of model (1)–(32).
As the PDPTW approach does not take into account the production rates of the platforms after
the last visit to the platforms, it ignores the need for relief operations that may occur at the end of
the planning horizon, whose costs are not accounted for in our analysis (in practice, these last relief
operations are solved by the company when reviewing the planning in the next period of the rolling
horizon). As the results show that the costs of the solutions obtained with the PDPTW approach
are equal or larger than the costs of the solutions produced by the ICRP, these results reveal the
potential of using the ICRP approach as a more advanced planning for the company.

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1195

Fig. 12. Routes in instance 12: ICRP model with CPLEX.

7. Concluding remarks

This study addresses a real-life multiship routing and scheduling application with constraints on
inventory levels that arise in pickup and delivery operations of different types of crude oil from
offshore platforms to coastal terminals. Feasible routes should comply with several constraints, such
as minimal and maximal stock levels in each platform and physical limitations or security protocols
for docking that restrict the ship types that can perform a given pickup and delivery operation, or
the maximum percentage of the used ship capacity. Simultaneous cargo unloading of two or more
ships in the same terminal is allowed, as long as the number of berths in the terminal port is not
exceeded. The problem is to decide how much of each crude oil should be carried by each ship
from the platforms to the terminals, subject to the inventory level of each oil in each platform being
maintained between certain levels that are set by the platform production rates and the storage
capacities, in order to minimize variable operation costs and meet the oil demands of the terminals.
We modified and extended inventory constrained maritime routing and scheduling models from
the literature to represent appropriately this problem, and the CPLEX branch-and-cut method was
applied to solve the model. The solver was able to obtain relatively good solutions for small- to
moderate-sized problem instances provided by a Brazilian oil company. To deal with larger problem
instances, we proposed a matheuristic approach combining a multistart heuristic and a local search
procedure. Solution evaluation by company experts indicates that the model and the heuristic
properly represent the problem and highlight the potential of their applications in practice. An
interesting perspective for future research would be the development of more elaborate and effective

C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1196 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198

Fig. 13. Routes in instance 11: ICRP model with the matheuristic.

heuristic approaches, combining MIP heuristics and metaheuristics for solving larger instances of
this problem. Hence, as a recommendation for future studies, the proposed model/heuristic solutions
could be analyzed and carefully compared with the company’s solutions for these larger problem
instances that arise in practice. Another interesting line of research would be to study alternative
problem modeling based on discrete time formulations and discuss its advantages/disadvantages
regarding the proposed continuous-time formulation.

Acknowledgments

The authors would like to thank the three anonymous reviewers for their useful comments and
suggestions, the Brazilian oil company for its important collaboration with this study, and ANP
(National Petroleum Agency), CNPq and FAPESP, Brazil for their financial support.

References

Agra, A., Andersson, H., Christiansen, M., Wolsey, L., 2013a. A maritime inventory routing problem: discrete time
formulations and valid inequalities. Networks 62, 4, 298–314.


C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198 1197
Agra, A., Christiansen, M., Delgado, A., 2013b. Mixed integer formulations for a short sea fuel oil distribution problem.
Transportation Science 47, 1, 108–124.
Agra, A., Christiansen, M., Delgado, A., Simonetti, L., 2014. Hybrid heuristics for a short sea inventory routing problem.
European Journal of Operational Research 236, 3, 924–935.
Al-Khayyal, F., Hwang, S.J., 2007. Inventory constrained maritime routing and scheduling for multi-commodity liquid
bulk, Part I: applications and model. European Journal of Operational Research 176, 106–130.
Andersson, H., Hoff, A., Christiansen, M., Hasle, G., Løkketangen, A., 2010. Industrial aspects and literature survey:
combined inventory management and routing. Computers & Operations Research 37, 9, 1515–1536.
Archetti, C., Bianchessi, N., Irnich, S., Speranza, M.G., 2014. Formulations for an inventory routing problem. International
Transactions in Operational Research 21, 3, 353–374.
Archetti, C., Speranza, M.G., 2014. A survey on matheuristics for routing problems. European Journal on Computational
Optimization 2, 223–246.
Branchini, R.M., Armentano, V.A., Morabito, R., 2015. Routing and fleet deployment in liner shipping with spot voyages.
Transportation Research, C 57, 188–205.
Brønmo, G., Nygreen, B., Lysgaard, J., 2010. Column generation approaches to ship scheduling with flexible cargo sizes.
European Journal of Operational Research 200, 1, 139–150.
Christiansen, M., 1999. Decomposition of a combined inventory and time constrained ship routing problem. Transporta-
tion Science 33, 1, 3–16.
Christiansen, M., Fagerholt, K., Flatberg, T., Haugen, O., Kloster, O., Lund, E.H., 2011. Maritime inventory routing
with multiple products: a case of study from the cement industry. European Journal of Operational Research 208, 1,
86–94.
Christiansen, M., Fagerholt, K., Nygreen, B., Ronen, D., 2013. Ship routing and scheduling in the new millennium.
European Journal of Operational Research 228, 3, 467–483.
Christiansen, M., Nygreen, B., 1998a. Modeling path flows for a combined ship routing and inventory management
problem. Annals of Operations Research 82, 391–421.
Christiansen, M., Nygreen, B., 1998b. A method for solving ship routing problems with inventory constraints. Annals of
Operations Research 81, 357–378.
Dror, M., Ball, M., 1987. Inventory/routing: reduction from an annual to a short-period problem. Naval Research
Logistics 34, 891–905.
Fagerholt, K., 1999. Optimal fleet design in a ship routing problem. International Transactions in Operational Research 6,
453–464.
Fagerholt, K., Ronen, D., 2013. Bulk ship routing and scheduling: Solving practical problems may provide better results.
Maritime Policy & Management 40, 1, 48–64.
Federgruen, A., Simchi-Levi, D., 1995. Analysis of vehicle routing and inventory-routing problems. In Ball, M.O.,
Magnanti, T.L., Monmaand, C.L., Nemhauser, G.L. (eds) Handbooks in Operations Research and Management
Science, Vol. 8. Network Routing, North Holland, Amsterdam, 297–373.
Flatberg, T., Haavardtun, J., Kloster, O., Løkketangen, A., 2000. Combining exact and heuristic methods for solving a
vessel routing problem with inventory constraints and time windows. Ricerca Operativa 29, 91, 55–68.
Halvorsen-Weare, E. E., Fagerholt, K. 2010. Routing and scheduling in a liquefied natural gas shipping problem with
inventory and berth constraints. Annals of Operational Research 203, 167–186.
Hemmati, A., Stålhane, M., Hvattum, L.M., Andersson, H. 2014. An effective heuristic for solving a combined cargo
and inventory routing problem in tramp shipping. Computers & Operations Research 64, 274–282.
Hennig, F., Nygreen, B., Christiansen, M., Fagerholt, K., Furman, K.C., Song, J., Kocis, G.R., Warrick, P.H. 2012.
Maritime crude oil transportation—a split pickup and split delivery problem. European Journal of Operational
Research 218, 1, 764–774.
Li, J., Karimi, I.A., Srinivasan, R., 2008. Supply and distribution of multiple materials via bulk maritime logistics. 5th
Foundations of Computer-Aided Process Operations—FOCAPO, Cambridge, MA, June 20–July 2.
Li, J., Karimi, I.A., Srinivasan, R., 2010. Efficient bulk maritime logistics for the supply and delivery of multiple chemicals.
Computers & Chemical Engineering 34, 12, 2118–2128.
Miller, M. 1987. An interactive, computer-aided ship scheduling system. European Journal of Operational Research 32,
363–379.


C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies
1198 A. de Lorena Stanzani et al. / Intl. Trans. in Op. Res. 25 (2018) 1163–1198
Papageorgiou, D.J., Nemhauser, G.L., Sokol, J., Cheon, M., Keha, A.B., 2014. MIRPLib—a library of maritime inventory
routing problem instances: survey, core model and benchmark results. European Journal of Operational Research 163,
3, 631–652.
Persson, J.A., Göthe-Lundgren, M., 2005. Shipment planning at oil refineries using column generation and valid inequal-
ities. European Journal Operational Research 163, 631–652.
Rakke, J.G., Andersson, H., Christiansen, M., Desaulniers, G., 2014. A new formulation based on customer delivery
patterns for a maritime inventory routing problem. Transportation Science 28, 384–401.
Rocha, R., Grossmann, I.E., Poggi de Aragão, M.V.S., 2009. Petroleum allocation at PETROBRAS: mathematical model
and a solution algorithm. Computers & Chemical Engineering 33, 12, 2123–2133.
Rodrigues, V.P., Morabito, R., Yamashita, D., Silva, B.J., Ribas, P., 2016. Ship routing with pickup and delivery for
maritime oil transportation system: MIP model and heuristics. Systems 4, 3, 31.
Romero, G., Durán, G., Marenco, J., Weintraub, A., 2013. An approach for efficient ship routing. International Transac-
tions in Operational Research 20, 6, 767–794.
Shiguemoto, A.L., Armentano, V.A., 2010. A tabu search procedure for coordinating production, inventory and distri-
bution routing problems. International Transactions in Operational Research 17, 2, 179–195.
Siswanto, K., Essam, D., Sarker, R., 2011. Solving the ship inventory routing and scheduling problem with undedicated
compartments. Computers & Industrial Engineering 61 2, 289–299.
SOBENA – Sociedade Brasileira de Engenharia Naval, 2014. Principais Medidas, Dimensões e Caracterı́sticas do Navio.
Available at http://www.sobena.org.br/downloads/diciona_naval/Principais%20Medidas.pdf (accessed September
17, 2014).
Song, J.-H., Furman, K.C., 2013. A maritime inventory routing problem: practical approach. Computers & Operations
Research 40, 657–665.
Stålhane, M., Andersson, H., Christiansen M., Cordeau, J.-F., Desaulniers, G., 2012. A branch-price-and-cut method for
a ship routing and scheduling problem with split loads. Computers & Operations Research 39, 12, 3361–3375.
Stålhane, M., Andersson, H., Christiansen M., Fagerholt, K., 2014. Vendor managed inventory in tramp shipping.
OMEGA – The International of Management Science 47, 60–72.
Uggen, K.T., Fodstad, M., Nørstebø, V.S., 2013. Using and extending fix-and-relax to solve maritime inventory routing
problems. Top 21, 2, 355–377.
Valois, N.A.L., Medina A.C., Botter, R.C., 2012. Potential of short sea shipping in Brazil. In Rizzuto, E., Guedes Soares,
C. (eds) Sustainable Maritime Transportation and Exploitation of Sea Resources. Taylor & Francis Group, London,
pp. 801–806.
Yu, Y.G., Chen, H.X., Chu, F., 2008. A new model and hybrid approach for large scale inventory routing problems.
European Journal of Operational Research 189, 1022–1040.


C 2017 The Authors.
International Transactions in Operational Research 
C 2017 International Federation of Operational Research Societies

You might also like