You are on page 1of 15

Computers and Chemical Engineering 77 (2015) 147–161

Contents lists available at ScienceDirect

Computers and Chemical Engineering


journal homepage: www.elsevier.com/locate/compchemeng

Alternative mixed-integer linear programming models of a maritime


inventory routing problem
Yongheng Jiang a,b , Ignacio E. Grossmann c,∗
a
Institute of Process Control Engineering, Department of Automation, Tsinghua University, Beijing 100084, PR China
b
Tsinghua National Laboratory for Information Science and Technology, Tsinghua University, Beijing 100084, PR China
c
Center for Advanced Process Decision-making, Department of Chemical Engineering, Carnegie Mellon University, Pittsburgh, PA 15217, USA

a r t i c l e i n f o a b s t r a c t

Article history: A single product maritime inventory routing problem is addressed in this paper by exploring the use of
Received 23 October 2014 continuous and discrete time models. We first present a continuous time model based on time slots for
Received in revised form 11 March 2015 single docks, which is enhanced by reformulating the time assignment constraints. Next, we present a
Accepted 14 March 2015
model based on event points to handle parallel docks. A discrete time is also presented based on a single
Available online 25 March 2015
commodity fixed-charge network flow problem (FCNF). All the models are solved for multiple randomly
generated instances of different problems to compare their computational efficiency, and to illustrate
Keywords:
the solutions obtained.
Maritime transportation
© 2015 Elsevier Ltd. All rights reserved.
Inventory routing
Maritime scheduling
Mixed-integer linear programming

1. Introduction et al. (2010) and Christiansen and Fagerholt (2009) showed that
MIRP has received increasing attention in the last decade. As
Maritime transportation is a major mode of transportation pointed out by Agra et al. (2013a), the real MIRPs are of high
involving 9.6 billion tons in 2013 (UNCTAD, 2014). When one complexity.
actor or cooperating actors in the maritime supply chain have There are many works on modeling of MIRPs. Sherali et al.
the responsibility of both the transportation of goods and the (1999) formulated a mixed-integer programming model based on
inventories at the ports, the underlying planning problem is a a discrete time representation for the Kuwait Petroleum Corpora-
maritime inventory routing problem (MIRP). Such problems are tion (KPC) problem, and presented an alternative aggregate model
complex. However, improvements in the fleet utilization and that retains the main features of the KPC problem to improve
charge/discharge amounts can translate into large cost reductions. the computational efficiency. Savelsbergh and Song (2008) devel-
This means that there is great potential and need for research in oped a discrete time model for the inventory routing problem
the area of MIRPs (Agra et al., 2013b). with continuous moves based on the integer multi-commodity
Many works related to MIRP have been reported in the lit- flow formulation. Furman et al. (2011) developed a mixed-integer
eratures. Ronen (1983, 1993) published two reviews on ship programming formulation based on a discrete time representa-
scheduling and related areas, where different levels and modes tion for vacuum gas oil routing and inventory management. Song
were discussed. Christiansen et al. (2004, 2013) reviewed the status and Furman (2013) introduced a flexible modeling framework for
and perspectives of ship routing and scheduling. Andersson et al. inventory routing problem, which can accommodate various prac-
(2010) surveyed the combined inventory management and rout- tical features using a discrete time representation. Papageorgiou
ing problem from industrial and modeling aspects, and suggested et al. (2014a) proposed an Arc-Flow MILP formulation for single
future research with regard to both further development of the product MIRP based on discrete-time, and two-stage decompo-
research area and industrial needs. Agra et al. (2013a) reviewed the sition algorithms. Papageorgiou and Cheon (2014) presented an
advances in MIRP, and studied valid inequalities for a single prod- approximate dynamic programming method for a class of discrete
uct MIRP to tighten a discrete time model. Surveys by Andersson time based long-horizon MIRP. Bilgen and Ozkarahan (2007) pre-
sented an MILP model based on a discrete time representation that
integrates blending, loading and transportation decisions simul-
∗ Corresponding author. Tel.: +1 412 268 3642; fax: +1 412 268 7139. taneously into one model in order to obtain an optimal solution.
E-mail address: grossmann@cmu.edu (I.E. Grossmann). Cóccola et al. (2015) presented an MILP-based column generation

http://dx.doi.org/10.1016/j.compchemeng.2015.03.005
0098-1354/© 2015 Elsevier Ltd. All rights reserved.
148 Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161

Nomenclature
Qi consumption rate of port i
Sets rvvi charge/discharge rate of vessel v at port i
D set of destination ports containing 1 element stilo lowerbound of stock of port i
Nc set of consumption ports with indices i and j sti
up
upperbound of stock of port i
Np set of production ports with indices i and j Tdvij transportation time between port i and j for vessel
O set of departure ports containing 1 element v for discrete time model
V set of vessels with index v tfivi preparation time for charging/discharging of vessel
Ki set of time slots for port i with index ki, ki1 and kim v at port i
indicate the first and last slots, respectively TH time horizon
Ti set of event points for port i with index Tik TimeWUpv upperbound of vessel v’s waiting time
Tdis set of time points for discrete time representation tsavij transportation time between port i and j for vessel
with index tl , t1 and tm indicate the first and last v for continuous time model, in days
points, respectively

Binary variables
ovit 1 if vessel v operating at port i in time period t
strategy for managing large-scale maritime distribution problems
ofvit 1 if vessel v preparing to operate at port i in time
which regards to time windows for vessels visiting ports.
period t
Al-Khayyal and Hwang (2007) studied inventory constrained
savijt 1 if vessel v sailing from i to j in time period t
maritime routing and scheduling for multi-commodity liquid bulk.
wvik 1 if vessel v visits port i at time slot k
They defined a position (i,m), where i denotes a port, and m is
wavit 1 if vessel v waiting at port i in time period t
the arrival number of the vessels at that port within the planning
yvs ik 1 if vessel v starts to prepare at port i at time point
horizon. Then, they formulated the continuous time constraints of
Tik
f different arrivals within one port and different positions related
yvik 1 if vessel v finishes preparation and starts to operate
to the same vessel. Li et al. (2010) addressed an inventory service
at port i at time point Tik
problem in which a chemical MNC uses a fleet of multi-parcel
yveik 1 if vessel v finishes operation at port i at time point
ships with dedicated compartments to move multiple chemicals
Tik
continuously among its internal and external production and con-
sumption sites. They presented a MILP model similar to that of
Continuous variables
Al-Khayyal and Hwang (2007) at an operational level with finer
dvi discharge amount of vessel v at port i
granularity. Siswanto (2011) presented a variation of Al-Khayyal
lavi load of vessel v at port i before operation
and Hwang’s model in which he relaxed the problem to consider
qvi charge amount of vessel v at port i
an assignment of multi-undedicated compartments to products.
stit stock of port i at the beginning of time period t for
Goel et al. (2015) proposed two constraint programming mod-
discrete time model
e els for LNG ship scheduling and inventory management. Agra et al.
stik stock of port i at the end of time slot k
f
(2013b) presented an MILP model based on continuous time for
sti stock of port i at the end of time horizon a short sea fuel oil distribution problem, and considered several
s
stik stock of port i at the beginning of time slot k strategies to improve its expression and solution through tighter
tavi arrival time of vessel v at port i bounds, an arc-load flow and multi-commodity reformulation and
teik end time of slot k of port i including valid inequalities. Papageorgiou et al. (2014b) presented
tfvi starting time of vessel v to operate at port i a detailed description of a particular class of deterministic single
tlvi departure of time vessel v from port i product MIRPs called deep-sea MIRPs with inventory tracking at
tovi starting time of vessel v to prepare for operation at every port, and introduced a core model and gave an excellent
port i review of the existing works.
tsik starting time of slot k of port i As pointed out by Sherali and Al-Yakoob (2005a,b), it is pos-
twvi time duration of vessel v waits for at port i sible to solve small practical instances using commercial solvers.
Tik the kth time point of port i However, it is difficult to solve large scale problems due to the
TC, TC Total cost large number of binary variables. A computationally efficient model
is critical for solving such problems. Furthermore, a discrete time
Parameters model is generally much larger than continuous time models. Since
avij 1 indicates that vessel v departs from i to j most of the works have focused on discrete time models, we explore
Capi dock capacity of port i in this paper the potential of continuous time models.
Covi operation cost of vessel v at port i A single product MIRP problem with one actor is studied in
Csfv fixed cost of vessel v for sailing this paper. There are two categories of ports: production ports
Csvv coefficient of variable cost of vessel v for sailing and consumption ports. Each port has an inventory with a cer-
Cwvi coefficient of waiting cost of vessel v at port i tain capacity. Vessels transport products from production ports to
drvit discharge rate of vessel v at port i for discrete time consumption ports according to the fixed routings to ensure that
model the inventories of ports neither exceed given capacities, nor lie
lalo
v lowerbound of vessel v’s load below given safety levels. The ports have given deterministic pro-
up
lav upperbound of vessel v’s load duction/consumption rates and dock capacities. The vessels have
Pi production rate of port i given capacities, speeds, preparation times and charge/discharge
qrvit charge rate of vessel v at port i for discrete time rates. The objective is to determine the times that vessels visit
model the ports, and the charged/discharged amounts of vessels at each
port in order to minimize total cost while satisfying the inventory
constraints.
Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161 149

Fig. 1. Illustrative structure of maritime route.

From the view point of modeling and solution, MIRP is a com- The MIRP problem can be stated as follows:
plex MILP problem. Model efficiency is a key issue, since different Given: The set of production ports i ∈ Np and consumption ports
models usually exhibit very different computational requirements. i ∈ Nc with production and consumption rates Pi and Qi . The stock
We develop different models for continuous and discrete time and of each port must lie between specified lower and upper bounds,
up
compare them by the sizes, solutions and CPU times in 6 problems. sti lo , sti . The transportation times tsaij between each pair of ports
The main difference between the problem in this paper and that (i,j) are also given.
up
in Agra et al’s papers (2013a,b) is that in our problem, operations The set of vessels  ∈ V with upper bound load la are given.
(charges/discharges) require preparation times, and the sailing For each vessel, the route is given by the 0–1 parameter aij . Fixed
costs involve a fixed part and a variable part that depends on the durations for charge/discharge, tfii , and charge/discharge rate r vi ,
loads. are given. Vessels cannot wait at a port for longer than a time limit,
The remainder of the paper is organized as follows. In Section 2, TimeWUp . The time horizon, TH is given.
we describe the maritime inventory routing problem. In Section 3, Determine: The charge/discharge times and amounts of the ves-
different time presentations are discussed. Then, four models, for sels at ports are to be determined.
continuous time and discrete time, are presented in Section 4. The Goal: Minimize the transportation, operation and waiting cost.
computational results for multiple randomly generated instances Consider the following illustrative problem and its solution with
of 6 problems are presented in Section 5. Conclusions are finally two vessels, one production port and two consumption ports. The
given in Section 6. profiles of the loads of the two vessels are depicted in Figs. 2 and 3.
As seen in Fig. 2, V1 departs from the departure port O and arrives
at the production port P1 at the beginning of the schedule period,
2. Problem statement and starts to charge. When a certain amount of product is charged,
V1 departs from P1 for the first consumption port C1. After a cer-
As an illustrative example of the MIRP problem addressed in tain time of sailing, V1 arrives at C1 and waits for operation, then
this paper, we consider as shown in Fig. 1, one production port and discharges. After that, V1 sails to C2, and discharges at C2 without
two consumption ports, which produce or consume products at waiting. Finally, V1 departs from C2 and sails to the destination port
a certain rate. Vessel V1 departs from the maintenance port (for D. In Fig. 3, a similar scenario for V2 is depicted. V2 visits P1 and C2
convenience, we call it here the departure port, denoted as O), only.
visits production port P1 and consumption ports C1, C2 sequentially In Figs. 4–6, the profiles of stocks of the three ports are depicted.
to transport the product, and finally arrives at the maintenance For P1, the stock increases constantly at a certain rate, except when
port (for convenience, we call it here the destination port, denoted there is vessel charging. The stock will decrease rapidly when a
as D). Vessel V2 departs from O, visits production port P1 and vessel is charging at P1. For C1 and C2, the stocks decrease with
consumption ports C2 sequentially to transport the product, and certain rates except when there is vessel discharging.
finally arrives at D. The task is to schedule the visiting times and
charge/discharge amounts of every vessel to reduce transportation 3. Time representation
and operation cost with certain constraints. For more general prob-
lems, there are more ports and vessels, and different vessels sail by For scheduling problems, there are two kinds of time repre-
different routes. sentations, discrete time and continuous time representations. As
150 Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161

Fig. 2. Load profile for vessel V1.

pointed out by Floudas and Lin (2004), the continuous time rep- including preparation to operate, is assigned a time slot as seen
resentation can be classified into two groups, time slots and event in Fig. 7.
points. We first describe the time representations before develop- For port i, time slots are defined with the start and end times as
ing the models. continuous variables. The vessels’ continuous times for starting to
prepare at and departing from the port (finishing operation) must
3.1. Time slot representation match with the start and end times of a time slot, respectively.
If there are Numi vessels visiting port i, then Numi time slots are
Assuming first the case of single docks, we define time defined for port i. In the illustrative problem, there are two vessels,
slots for each port. At every port, the operation of each vessel, V1 and V2, visiting ports P1 and C2, so two time slots, k1 and k2, are

Fig. 3. Load profile for vessel V2.


Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161 151

Fig. 4. Inventory profile for production port P1.

Fig. 5. Inventory profile for consumption port C1.

Fig. 6. Inventory profile for consumption port C2.


152 Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161

Fig. 9. Discrete time representation.

3.3. Discrete time representation

For the discrete time representation, we discretize the time hori-


zon into a number of uniform time intervals (Fig. 9). All the vessels
Fig. 7. Time slot representation. and ports use the same time axis. Because all the events (departure,
arrival, start and finish preparing, start and finish operation) occur
at the fixed time intervals, the greatest common factor (GCF) of the
defined for P1 and C2, respectively, involving start times tsik and preparation times and sailing times is adopted as the size of time
end times teik . For C1, only one time slot is defined. According to intervals.
Fig. 7, the start and end points of the two time slots are assigned
to the two vessels respectively, with the start points assigned to
4. Scheduling models
the start to prepare times, and the end times to the departure
times.
4.1. Continuous time model based on time slots
Consider now the time slots for the vessels. Recall the example
illustrated in Figs. 2–6. In Fig. 2, vessel V1 visits all the three ports,
The basic idea of the time slot based model is to assign the oper-
so it is assigned three time slots (each slot corresponds to one port),
ations to the corresponding ports. Fig. 10 illustrates the basic idea,
and the three oblique line sections correspond to the slots. In Fig. 3,
where avij is a 0–1 parameter indicating whether vessel v visits port
vessel V2 visits two ports, so it is assigned two time slots, and there
i and j in succession. The 0–1 binary variables wvik are defined to
are two oblique line sections. The horizontal sections indicate that
denote whether vessel v visits port i at time slot k. If a vessel arrives
the vessels are sailing in the sea, or staying in some port with-
at a port from another port, a time slot is assigned to it, and each
out operating. In Figs. 4 and 6, there are two time slots. In Fig. 6,
slot can be assigned to it, but a slot can only be assigned to no more
the four turning points correspond to the two couples of start and
than one vessel, and no more than one slot can be assigned to one
end points. The actual start points are a bit earlier than the cor-
vessel. Then, we have the following constraints.
responding turning points because there are preparation times for
charge/discharge. But the difference cannot be seen clearly since
the preparation time (0.5 day) is much smaller. In Fig. 4, the end 4.1.1. Time slot constraints
time of the first slot and start time of second slot coincides with The subsequent slot cannot start before the preceding one ends,
each other. This means that the middle turning point corresponds and the end time of a slot k of port i is later than the start time.
to both the end time of first slot and start time of second slot. In tsik+1 ≥ teik , ∀k ∈ Ki \kim , i ∈ N p ∪ N c ∪ O ∪ D (1)
Fig. 5, since only one vessel visits Port C1, only one time slot is
defined. teik ≥ tsik , ∀k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (2)

where kim indicates the last time slot of port i.


3.2. Event point representation
4.1.2. Assignment constraints
In order to be able to handle parallel docks, we define event If vessel v visits port j, a time slot of port j is assigned to vessel
points Tik for each port. Starting to prepare for operation, start- v. Except for the departure port, vessel v visits port j means that it
ing to operate and departing from the port (finishing operation) must come from a preceding port.
matches with different event points as seen in Fig. 8. The number  
of the points is three times that of the vessels (e.g. six event points wvjk = avij , ∀v ∈ V, j ∈ N p ∪ N c ∪ D (3)
for two vessels). There are similar descriptions on the profiles of k∈kj i∈N p ∪N c ∪O
the ports stocks and the vessels loads as in the case of the time
slots. No more than one vessel can operate at any port at the same
In Fig. 8, the operation times (including the preparation time) of time.
vessels V1 and V2 at port i overlap each other, that is, the two vessels 
wvik ≤ 1, ∀k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (4)
operate simultaneously during time period [tov2,i , tev1,i ], since the
time of starting to prepare for operation of vessel V2 is later than v∈V
that of V1, and earlier than the time of finishing operation of V1. If a time slot is assigned to a vessel, it means that its start time to
That is tov1,i < tov2,i and [tev1,i , tov1,i ]. Hence, dock capacity of port prepare for operation at and departing time from the port are forced
i can be greater than one. to the start and end time of the slot, respectively. Otherwise, if the
time slot is not assigned to a vessel, the constraints are ignored.
⎡ ⎤
wvik
⎢ ⎥
⎣ tovi = tsik ⎦ ∨ [¬wvik ], ∀v ∈ V, k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (5)

tlvi = teik

We usually reformulate the disjunction in (5) into the following


big-M inequalities:
−M(1 − wvik ) ≤ tovi − tsik ≤ M(1 − wvik ), ∀v ∈ V, k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (6)

Fig. 8. Event point representation. −M(1 − wvik ) ≤ tlvi − teik ≤ M(1 − wvik ), ∀v ∈ V, k ∈ Ki , i ∈ N ∪ N ∪ O ∪ D
p c
(7)
Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161 153

Fig. 10. Sketch of the assignment of the operations to the corresponding ports.

4.1.3. Operational time constraints 4.1.4. Stock balance constraints


If a vessel departs from port i to port j, its arrival time at j equals A port’s stock at the end of a slot equals to that at the begin-
to its departure time at i plus the sailing time. ning plus/minus the amount of production/consumption and that
 discharged/charged by the vessel, where Pi (Qi ) is the constant pro-
tavj = avij (tlvi + tsavij ), ∀v ∈ V, j ∈ N p ∪ N c ∪ D (8) duction (consumption) rate of port i, qvi (dvi ) is the discharged
i∈N p ∪N c (charged) amount by vessel v at port i.

A vessel can only start to prepare for charge/discharge operation s
stik − e
(wvik qvi ) + Pi (teik − tsik ) = stik , ∀k ∈ Ki , i ∈ N p (15)
after it arrives at a port. v∈V

tovi ≥ tavi , ∀v ∈ V, i ∈ N p ∪ N c ∪ O ∪ D (9) s
stik + e
(wvik dvi ) − Qi (teik − tsik ) = stik , ∀k ∈ Ki , i ∈ N c (16)
v∈V
If avij = 0, equality holds for an optimal solution because waiting
incurs in a cost. A port’s stock at the beginning of the subsequent slot equals
The interval between the arrival time and the start time to to that at the end of the preceding slot plus/minus the amount of
prepare for operation is the waiting time. production/consumption.

twvi = tovi − tavi , ∀v ∈ V, i ∈ N p ∪ N c ∪ O ∪ D (10)


e
stik s
+ Pi (tsik+1 − teik ) = stik+1 , ∀k ∈ Ki \kim , i ∈ N p (17)
e
stik − Qi (tsik+1 − teik ) = s
stik+1 , ∀k ∈ Ki \kim , i ∈ N c
(18)
If a vessel visits a port, it departs after a certain operation
time, involving the preparation and variable operation time, which A port’s stock at the beginning of the first time slot equals to the
depends on the amount of charged/discharged product. initial stock plus/minus the production/consumption amount.

tlvi − tovi = avji (tfivi + qvi /r vvi ), ∀v ∈ V, i ∈ N p ∪ N c (11)
s
stik1 = sti0 + Pi teik1 , ∀i ∈ N p (19)
j∈N p ∪N c s
stik1 = sti0 − Qi teik1 , ∀i ∈ N c (20)
At the departure and destination ports, any vessel departs where k1 indicates the first time slot of port i.
immediately after it operates. A port’s stock at the end of time horizon equals to that at the end
of the last slot plus/minus the amount of production/consumption.
tlvi − tovi = 0, ∀v ∈ V, i ∈ O ∪ D (12)
f e
sti = stikm + Pi (TH − teikm ), ∀i ∈ N p (21)
A vessel cannot wait longer than for a specified time limit.
f e
sti = stikm − Qi (TH − teikm ), ∀i ∈ N c (22)
twvi ≤ TimeWUpv , ∀v ∈ V, i ∈ N p ∪ N c ∪ O ∪ D (13)
The ports’ stock must lie between lower and upper bounds.
Any vessel must depart from the destination port before the
f up
time horizon ends stilo ≤ sti ≤ sti , ∀i ∈ N p ∪ N c (23)
up
tlvd ≤ TH, ∀v ∈ V (14) stilo ≤ stik
s
≤ sti , ∀i ∈ N p ∪ N c , k ∈ Ki (24)
154 Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161

Fig. 11. Sketch of vessel’s load calculation.

up
stilo ≤ stik
e
≤ sti , ∀i ∈ N p ∪ N c , k ∈ Ki (25) 4.1.6. Objective function
The objective is to minimize the total cost TC, including the sail-
ing cost (fixed sailing cost and variable sailing cost dependent on
4.1.5. Load balance constraints
the load), waiting cost, and operation cost.
Generally, a vessel visits more than one port. When a vessel visits
a port, its load changes according to the operations. Calculation of 
a vessel’s load involves different ports as seen in Fig. 11. The load of TC = avij (Csfv + Csvv lavi )tsavij
V1 increases after visiting P1, and decreases after visiting C1 and C2. v∈V,i,j∈N p ∪N c ∪O∪D
The amounts of increase/decrease depend on the operation times.  
If vessel v visits ports i and j successively, its load before opera- + Cwvi (tovi − tavi ) + Covi (tlvi − tovi ) (34)
tion at port j equals to that at port i plus/minus the charge/discharge v∈V,i∈N p ∪N c ∪O∪D v∈V,i∈N p ∪N c ∪O∪D
amounts at port i.

where Csfv , Csvv , Cwvi and Covi are the corresponding cost
  coefficients. In this way, the continuous time model based on time
avij lavi + qvj wvjk = lavj , ∀v ∈ V, j ∈ N ∪ D p
(26) slots is as follows:
i∈N p ∪N c ∪O k∈Ki S: minimize TC

Subject to (1)–(4), (6)–(25) and (28)–(33).
 
avij lavi − dvj wvjk = lavj , ∀v ∈ V, j ∈ N p ∪ D (27)
4.2. Reformulation of the continuous time
i∈N p ∪N c ∪O k∈Ki
model based on time slot
Since lavi , qvj , dvj and wvik are variables, constraints (26) and
(27) are nonlinear. To linearize them, we introduce new continuous Pinto and Grossmann (1996) presented a reformulation method
variables wlaijk , wla1ijk , wqvjk , wq1vjk , wd1vjk , and new constraints as of the time slot assignment constraints of a short term scheduling
follows: problem of multistage batch plants, which is similar to the big-M
inequalities in (6) and (7). Instead of using Eq. (5), the reformula-
wlavijk + wla1vijk = lavi , ∀v ∈ V, k ∈ Ki , i ∈ N p ∪ N c ∪ O, j ∈ N p ∪ N c ∪ D (28-1) tions are as follows. First, Eq. (4) is reformulated as:
up
wlavijk ≤ lav wvjk , ∀v ∈ V, k ∈ Ki , i ∈ N ∪ N ∪ O, j ∈ N ∪ N ∪ D
p c p c
(28-2)

wvik + yik = 1, ∀k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (35)
up
wla1vijk ≤ lav (1 − wvjk ), ∀v ∈ V, k ∈ Ki , i ∈ N ∪ N ∪ O, j ∈ N ∪ N ∪ D
p c p c
(28-3) v∈V

wqvjk + wq1vjk = qvj , ∀v ∈ V, k ∈ Ki , j ∈ N p ∪ D (29-1) where yik is an auxiliary continuous variable.


Define new variables sik = tsik yik and eik = teik yik , svik =
up
wqvjk ≤ qvj wvjk , ∀v ∈ V, k ∈ Ki , j ∈ N p ∪ D (29-2) wvik tsik and evik = wvik teik , to reformulate the disjunction in (5)
in nonlinear form.
up
wq1vjk ≤ qvj (1 − wvjk ), ∀v ∈ V, k ∈ Ki , j ∈ N p ∪ D (29-3)
wvik (tovi − tsik ) = 0, ∀k ∈ Ki , v ∈ V, i ∈ N p ∪ N c ∪ O ∪ D (36)
wdvjk + wd1vjk = dvj , ∀v ∈ V, k ∈ Ki , j ∈ N c ∪ D (30-1) ⇔ wvik tovi = wvik tsik , ∀k ∈ Ki , v ∈ V, i ∈ N ∪ N ∪ O ∪ D
p c
(37)

wdvjk ≤
up
dvj wvjk , ∀v ∈ V, k ∈ Ki , j ∈ N ∪ D c
(30-2) wvik (tlvi − teik ) = 0, ∀k ∈ Ki , v ∈ V, i ∈ N ∪ N ∪ O ∪ D
p c
(38)

up ⇔ wvik tlvi = wvik teik , ∀k ∈ Ki , v ∈ V, i ∈ N ∪ N ∪ O ∪ D


p c
(39)
wd1vjk ≤ dvj (1 − wvk ), ∀v ∈ V, k ∈ Ki , j ∈ N c ∪ D (30-3)
Add Eqs, (37) and (39) over the time slots k ∈ Ki .
The equations in (26) and (27) are then replaced by the new  
constraints wvik tovi = svik , ∀v ∈ V, i ∈ N p ∪ N c ∪ O ∪ D (40)
   k∈Ki k∈Ki
avij wlavijk + wqvjk = lavj , ∀v ∈ V, j ∈ N ∪ D p
(31)
 
i∈N p ∪N c ∪O k∈Ki k∈K
wvik tlvi = evik , ∀v ∈ V, i ∈ N p ∪ N c ∪ O ∪ D (41)
   k∈Ki k∈Ki
avij wlavijk − wdvjk = lavj , ∀v ∈ V, j ∈ N p ∪ D (32)
 
i∈N p ∪N c ∪O k∈Ki k∈K Recall wvjk = avij . Then,
k∈Ki i∈N p ∪N c ∪O
Loads must lie between lower and upper bounds (the lower
bound is generally zero).  
tovj avij = svjk , ∀v ∈ V, j ∈ N p ∪ N c ∪ O ∪ D (42)
up
lalo
vi ≤ lavi ≤ lavi , ∀v ∈ V, i ∈ N p ∪ N c ∪ D (33) i∈N p ∪N c ∪O k∈Ki
Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161 155

 
tlvj avij = evjk , ∀v ∈ V, j ∈ N p ∪ N c ∪ O ∪ D (43) Consider
same. constraints (6) and (7) in model RS. The number is
4 ∗ V ∗ Ki , where Ki indicates the set of time slots of port i.
i∈N p ∪N c ∪O k∈Ki i
Consider constraint (4), the number is Ki . The total number is
Adding Eqs. (37) and (39) over vessels v ∈ V, yields,
i
(4 ∗ V + 1) ∗ K . Consider constraints (42) and (43) in model
  i i
wvik tovi = wvik tsik , ∀k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (44)
S, the number is 2 ∗ V I . With constraints (52) and (53) in model

v∈V v∈V RS, the number is 2 ∗ Ki . Consider constraints (54)–(57) in
i
 
model RS, the number is 2 ∗ Ki V + 2 ∗ Ki . Adding all the
wvik tlvi = wvik teik , ∀k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (45) i i
we
above, have that the
number of the special

constraints in RS is
v∈V v∈V
2 ∗ V I + 2 ∗ Ki + 2 ∗ V ∗ Ki + 2 ∗ Ki . Compared
Since wvik tovi = wvik tsik and wvik tlvi = wvik teik i i i
with (4 ∗ V +1) ∗ i
Ki it depends on the parameters which is
svik = wvik toik , ∀k ∈ Ki , v ∈ V, i ∈ N p ∪ N c ∪ O ∪ D (46) lager between the two numbers of the equations of S and RS.
S and RS are both time slot based models, for which, if some
evik = wvik tlik , ∀k ∈ Ki , v ∈ V, i ∈ N ∪ N ∪ O ∪ D
p c
(47) of the slots overlap with each other, it means that there are par-
then, allel docks. However, for instance, the stock constraints (15) and
  (16) are not correct, because constraints (1) and (2) cannot be
svik = tsik wvik , ∀k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (48) satisfied for slots that overlap, and then the produced/consumed
v∈V v∈V quantity cannot be calculated as P(teik − tsik )i /Qi (teik − tsik ). To deal
  with parallel docks, additional binary variables and more complex
evik = teik wvik , ∀k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (49) constraints are needed to indicate the overlapping of operations
v∈V v∈V (Kopanos et al., 2014). Since it is difficult to develop the correct
 set of stock constraints, models S and RS in this paper can only be
Also recall wvik + yik = 1
applied for cases when there are no parallel docks.
v∈V

svik = tsik (1 − yik ), ∀k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (50) 4.3. Continuous time model based on event points
v∈V
 To formulate the problem for parallel docks, we develop a con-
evik = teik (1 − yik ), ∀k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (51) tinuous time model based on event points.
v∈V First, we define the following 0–1 binary variables as follows:
Defining sik = tsik yik and eik = teik yik , yields,
 • ys , vessel v starts to prepare at port i at time point Tik
vik
tsik = svik + sik , ∀k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D • yf , vessel v finishes preparation and starts to operate at port i at
vik
v∈V,i∈N p ∪N c ∪O∪D time point Tik
(52) • ye , vessel v finishes operation at port i at time point Tik
 vik
teik = evik + eik , ∀k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D
4.3.1. Time point constraints
v∈V,i∈N p ∪N c ∪O∪D
(53) Time points keep an increasing order.

Finally, considering the definition of svik , evik , sik and eik , we Ti,k+1 ≥ T ik , ∀i ∈ N p ∪ N c ∪ O ∪ D, k ∈ Ki \kim (58)
have the following constraints:
where kim indicates the last time point for port i.
0 ≤ svik ≤ wvik M, ∀k ∈ Ki , v ∈ V, i ∈ N p ∪ N c O ∪ D (54)

0 ≤ evik ≤ wvik M, ∀k ∈ Ki , v ∈ V, i ∈ N p ∪ N c ∪ O ∪ D (55) 4.3.2. Assignment constraints


0 ≤ sik ≤ yik M, ∀k ∈ Ki , v ∈ V, i ∈ N ∪ N ∪ O ∪ D
p c
(56) Event points are assigned to different operation times as follows:

0 ≤ eik ≤ yik M, ∀k ∈ Ki , v ∈ V, i ∈ N ∪ N ∪ O ∪ D
p c
(57) yvs ik
∨ [¬yvs ik ], ∀v ∈ V, k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (59)
In this way, the disjunction in (5) is replaced by Eqs. (42), (43), Tik = tovi
and (52)–(57).

Hence, the reformulation of the continuous time model based f
yvik f
on time slot is as follows: ∨ [¬yvik ], ∀v ∈ V, k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (60)
RS: minimize TC Tik = tfvi
Subject to (1)–(3), (8)–(25), (28)–(33), (42), (43) and (52)–(57). 
yveik
4.2.1. Number of variables and constraints of S and RS ∨ [¬yveik ], ∀v ∈ V, k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (61)
Tik = tevi
Consider that v∈V w vik ≤ 1 in model S is reformulated as
v∈V wvik + yik = 1 in model RS, in which new variables yik Eqs. (59)–(61) state that if an event point is assigned to an oper-
are introduced in model RS. Consider variables sik = tsik yik and
ation, it equals to the corresponding variable.
eik = teik yik , svik = wvik tsik and evik = wvik teik . By matching sik
We reformulate Eqs. (59)–(61) using big-M constraints,
and tsik one by one, the numbers of them are the same. Similarly,
the number of eik and teik , svik and tsik , evik and teik are the same −M(1 − yvs ik ) ≤ Tik − tovi ≤ M(1 − yvs ik ), ∀v ∈ V, k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (62)
as each other. All the other variables in models S and RS are the
same. Therefore, the total number of continuous variables in model f
−M(1 − yvik ) ≤ Tik − tfvi ≤ M(1 − yvik ),
f
∀v ∈ V, k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (63)
RS is larger than that in model S by the number of yik variables,
while the number of binary variables in models S and RS are the −M(1 − yveik ) ≤ Tik − tevi ≤ M(1 − yveik ), ∀v ∈ V, k ∈ Ki , i ∈ N p ∪ N c ∪ O ∪ D (64)
156 Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161

4.3.3. Visiting constraints


At any port and at any time, the number of vessels, which have
started to prepare, and have not finished operation, cannot exceed
its upper bound.
⎛ ⎞
  
⎝ yvs ik − yveik ⎠ ≤ Capi , ∀i ∈ N p ∪ N c ∪ O ∪ D (65)
v∈V k∈Ki k∈Ki

where Capi indicates the dock capacity of port i.


Vessel v at port i can only start and finish operation once if it
visits that port.
  
yvs ik = yveik = avji , ∀v ∈ V, i ∈ N p ∪ N c ∪ D (66)
k∈Ki k∈Ki j∈N p ∪N c ∪O

Vessel v at departure port can only start to prepare and finish


operation once. Fig. 12. An illustrative profile of a production port.
 
yvs ok = yveok = 1, ∀v ∈ V (67) and the charged/discharged amount. If vessel v finishes prepa-
k∈Ki k∈Ki ration and does not finish operation at port i, the product is
charged/discharged at a certain rate as illustrated in Fig. 12.
4.3.4. Operation time constraints

If a vessel departs from port i to port j, its arrival time at i equals


  
f
stik − yvik − yveik (Ti,k+1 − Tik )qvi + Pi (Ti,k+1 − Tik ) = sti,k+1 ,
to its departure time at j plus the sailing time.
 v k ≤k k ≤k

tavj = avij (tlvi + tsavij ), ∀v ∈ V, j ∈ N p ∪ N c ∪ D (68) ∀k ∈ Ki \kim , i ∈ N p (78)


i∈N p ∪N c ∪O

The interval between the arrival time and the starting to prepare

  
time is the waiting time. stik −
f
yvik − yveik (Ti,k+1 − Tik )dvi − Qi (Ti,k+1 − Tik ) = sti,k+1 ,

twvi = tovi − tavi , ∀v ∈ V, i ∈ N ∪ N ∪ O ∪ D


p c
(69) v k ≤k k ≤k

∀k ∈ Ki \kim , i ∈ N c (79)
If vessel v visits port i, there is a fixed preparation time

tfvi − tovi = avji tfivi , ∀v ∈ V, i ∈ N p ∪ N c (70) The stock at the end of the time horizon equals to that at the last
j∈N p ∪N c point, plus/minus the production/consumption amount.
f
If vessel v visits port i, the variable operation time depends on sti = stikm + Pi (TH − Tikm ), i ∈ Np (80)
the charged/discharged amount. f
 sti = stikm − Qi (TH − Tikm ), i ∈ Nc (81)
tlvi − tfvi = avji qvi /r vvi , ∀v ∈ V, i ∈ N p
(71) Stocks must lie between lower and upper bounds.
j∈N p ∪N c up
 stilo ≤ stik ≤ sti , ∀k ∈ Ki , i ∈ N p ∪ N c (82)
tlvi − tfvi = avji dvi /r vvi , ∀v ∈ V, i ∈ N c (72) f up
stilo ≤ sti ≤ sti , ∀i ∈ N p ∪ N c (83)
j∈N p ∪N c

At the departure and destination ports, vessel v departs when it 4.3.6. Load balance constraints
starts the operation of charge/discharge. If vessel v visits port i and j successively, its load before operation
at port j equals to that at port i plus/minus the charge/discharge
tlvi − tovi = 0, ∀v ∈ V, i ∈ O ∪ D (73) amount at port i.

The waiting time cannot exceed its upper bound.   f


avij lavi − qvj yvik = lavj , ∀v ∈ V, j ∈ N c (84)
twvi ≤ TimeWUpv , ∀v ∈ V, i ∈ N p ∪ N c ∪ O ∪ D (74)
i∈N p ∪N c ∪O k∈K
Vessels must depart from the destination port before the time

horizon ends.
  f
avij lavi − dvj yvik = lavj , ∀v ∈ V, j ∈ N c (85)
tlvd ≤ TH, ∀v ∈ V (75) i∈N p ∪N c ∪O k∈K

The charge/discharge time depends on the amount.


4.3.5. Stock balance constraints 
A port’s stock at the first event point equals to the initial stock tlvi − tfvi = avji qvi /r vvi , ∀v ∈ V, i ∈ N p (86)
plus/minus the production/consumption amount. j∈N p ∪N c

sti0 + Pi Tik1 = stik1 , ∀i ∈ N p (76) tlvi − tfvi = avji dvi /r vvi , ∀v ∈ V, i ∈ N p (87)
j∈N p ∪N c
sti0 − Qi Tik1 = stik1 , ∀i ∈ N c (77)
The vessel’s load cannot exceed its lower and upper bounds
The difference between the stocks of the successive event
up
points is the summation of the production/consumption amount
lo
lav ≤ lavi ≤ lav , ∀v ∈ V, i ∈ N p ∪ N c (88)
Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161 157

Fig. 13. Operation at consumption port i for vessel v in the fixed charge flow network.

 
4.3.7. Objective function savijt = 1 ∀v ∈ V (92)
The objective function is the same as Eq. (34) in the time slot
i∈O∪N p ∪N c ,j∈Dt∈Tdis
based models. Hence, the model is as follows:
E: minimize TC
4.4.2. Fixed charge network flow constraints
Subject to (58), (62)–(88).
A vessel cannot charge/discharge and prepare simultaneously.
The event point based model can handle parallel docks. How- 
ever, the size of the model becomes much larger due to a large (ovit + ofvit ) ≤ 1, ∀i ∈ N p ∪ N c , t ∈ Tdis (93)
number of 0–1 assignment binary variables. v∈V

Flow conservation I. Vessel v departs or operates at time t if it


4.4. Discrete time model
operates or prepares to operate at time t − 1.

Agra et al. (2013a,b) developed a discrete time model for the ovi,t−1 + ofvi,t−1 = savijt + ovit , ∀i ∈ N p ∪ N c , t ∈ Tdis \t1
maritime inventory routing problem. We present in this section a
j∈N p ∪N c ∪D
similar discrete time model, but in contrast to Agra et al. (2013a,b) (94)
who consider only variable costs for operation and fixed costs for
sailing, we consider fixed and variable costs for operation as well
as fixed and variable costs for sailing. As shown below, the model Flow conservation II. Vessel v waits or prepares for operation at
corresponds to a fixed-charge network flow (FCNF) problem. time t if it waits at time t − 1, or departs from the preceding port at
In Fig. 13, the squares indicate connections between the stocks time t − Tdvij .
at successive time points, and the discharged and consumed 
amounts in current time interval. The circles indicate the connec- savji,t−Tdvij + wavi,t−1 = wavit + ofvit , ∀i ∈ N p ∪ N c , t ∈ Tdis \t1 , v ∈ V (95)
tions between the binary operation variables ovit , ofvit , wavit , and j∈N p ∪N c ∪O

savit . We then have the following constraints. Vessel v cannot wait after operation.

4.4.1. Routing constraints ovi,t−1 + ofvi,t−1 ≤ ovit + ofvit + savijt , ∀i ∈ N p ∪ N c , t ∈ Tdis \t1 (96)
Vessel v can only sail between ports i and j if there is a route j∈N p ∪N c ∪D

planned from port i to j for vessel v. Vessel v can only depart after operation.

savijt ≤ avijt , ∀v ∈ V, t ∈ Tdis , i, j ∈ N ∪ N ∪ O ∪ D
p c
(89) ovi,t−1 ≥ savijt , ∀i ∈ N p ∪ N c , t ∈ Tdis \t1 (97)
where savit indicates that vessel v is sailing between ports i and j at j∈N p ∪N c ∪D
time t. where t1 is the first time point of the discrete time point.
The number of savit with value 1 for any (v,i,j) equals to the total Vessel v can only operate after preparing to operate.
time vessel v sailing between ports i and j. 
 ofvi,t1 + ovit ≤ 1, ∀i ∈ N p ∪ N c , t ∈ Tdis \t1 (98)
savijt = Tdvij ∗ avijt , ∀v ∈ V, i, j ∈ N ∪ N ∪ O ∪ D
p c
(90) t1≥t+1
t∈Tdis
4.4.3. Stock balance constraints
where Tdvij is a parameter which indicates the transportation time
Stock of port i at time t+1 equals to that at time t minus/plus the
between ports i and j for vessel v.
charge/discharge amount plus/minus the production/consumption
Any vessel must start and finish a schedule.
amount.
  
savijt = 1 ∀v ∈ V (91) stit − (qrvit ovit ) + Pi = stit+1 , ∀i ∈ N p , t ∈ Tdis \tm (99)
i∈O,j∈N p ∪N c ∪Dt∈Tdis v∈V
158 Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161

Table 1
Sizes of problems.

Instance group 1 Instance group 2 Instance group 3 Instance group 4 Instance group 5 Instance group 6

Number of production ports 1 2 4 3 2 4


Number of consumption ports 2 4 2 7 4 2
Number of vessels 2 3 3 6 3 3
Dock capacity 1 1 1 1 2 2
Time horizon/days 60 70 70 80 70 70


stit + (drvit ovit ) − Qi = stit+1 , ∀i ∈ N c , t ∈ Tdis \tm (100) 5. Numerical results
v∈V
To test the four models, we considered multiple instances of
where tm is the last time point of the discrete time point. the six test problems indicated in Table 1, for which the initial
Any stock must lie between specified lower and upper bounds. stocks in the ports are randomly generated. Specifically, ten fea-
stilo ≤ stit ≤ sti ,
up
∀i ∈ N p ∪ N c , t ∈ Tdis (101) sible instances for each problem were selected among dozens of
instances that were generated with random original stocks of the
4.4.4. Load balance constraints ports. Since the random generation does not always lead to feasi-
Load of vessel v at time t+1 equals to that at time t plus the charge ble instances, only feasible ones are selected for each problem. We
amount minus the discharge amount. solve the different models on all the instances using CPLEX 12.5.0.0
  within 10 h limit of CPU time. In the discrete time models, the time
lavt + qrvit − drvit = lavt+1 , ∀v ∈ V, t ∈ Tdis \tm (102) is discretized uniformly with time intervals of 0.5 days. For the dis-
i∈N p i∈N c crete time model as well as for the continuous time models we do
not consider the addition of valid inequalities. While these have
Load of any vessel at any time must lie between lower and upper
been developed for the discrete case (see Agra et al., 2013a,b), at
bounds.
present none have been developed for the continuous case. There-
up
lalo
v ≤ lavt ≤ lav , ∀v ∈ V, t ∈ Tdis (103) fore, we have conducted the comparison without valid inequalities
since our major goal is to establish the scope and potential of the
4.4.5. Upper bounds for waiting time continuous time models. In the event points based model E, the
The waiting time cannot exceed its upper bound number of event points is selected as three times number of ves-
 sels which visits the port. The models are solved in GAMS 24.01
wvit ≤ TimeWUpv , ∀i ∈ N p ∪ N c (104) using a CPU Inter Xron E3110 @3.0 GHz with RAM 8.0 Gb.
t∈Tdis

5.1. Instance group 1


4.4.6. Preparation time for charging/discharging
The number of ofvit with value 1 equals to the total preparation
All the four models are solved for instance group 1 consisting
time.
 of 10 random instances. The statistics and solutions are shown in
ofvit = tfvi , ∀i ∈ N p ∪ N c , v ∈ V (105) Table 2.
t∈Tdis From Table 2, we can see that the size of model E is much larger
than those of models S and RS, and that of model D is much larger
4.4.7. Objective function than that of model E. As a result, the CPU times required by models
The objective is to minimize the total cost TC , including the S and RS are quite small, and those of models E and D are much
sailing cost (fixed sailing cost and variable sailing cost dependent longer. The optimal objective of model D is 7.1% higher than that
on the load), waiting cost, and operation cost. of model E, because the time domain is discretized. And as seen
   in Table 2, models S and RS are tighter than models E and D. The
TC  = savijt (Csfv + Csvv lavt ) + Cwvi wavit + (Cofvi ofvit + Covi ovit ) (106) schedule obtained by model S for one of the instances of Problem
vijt vit vit 1 is illustrative in Fig. 14.
The discrete time model is as follows
D: minimize TC 5.2. Instance group 2
Subject to (89)–(105).
Even though the discrete time model is relatively straightfor- All the four models are solved for instance group 2 consisting
ward to formulate, the size can be much larger because of a large of 10 random instances. The statistics and solutions are shown in
number of potential event time interval assignments due to the Table 3.
time discretization. Furthermore, the quality of the solution will be There are similar trends as in instance group 1. The number of
worse if the time is discretized with longer intervals. nodes for model RS is one third as that of model S. This means RS

Table 2
Statistics and solutions of different models for instance group 1.

Model S RS E D

Number of constraints 605 630 2599 73,483


Number of variables 478 546 1613 53,041
Number of binary variables 18 18 162 21,120

Average optimal objective 6903 6903 6963 7386


Average optimal objective of LP Relaxation 6673 6673 1673 1850
Average CPU time (s) 0.026 0.025 55.779 12.163
Average number of nodes 2.6 3 14,491 3,987
Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161 159

Fig. 14. Gantt chart of model S for instance group 1.

performs better than S. The required CPU time of model D is ten instances for model D is infeasible due to time discretization. Also,
times as long as that of model E. The optimal objective of D is 15.1% the CPU time for models S and RS are several orders of magnitude
higher than the ones of the other models. smaller.

5.3. Instance group 3 5.4. Instance group 4

All the four models are solved for instance group 3 consisting All the 4 models are solved for instance group 4 consisting of 10
of 10 random instances. The statistics and solutions are shown in random instances. The statistics and solutions are shown in Table 5.
Table 4. The scales of instance group 4 are larger. Note that models E and
For instance group 3, there are similar trends as in problem 2. It E cannot be solved within the time limit of 360,000 s (100 h), and
should be noted is that the CPU time required by model D is more no feasible solutions can be found with that time limit. In Table 5,
than twice as large as that of model E, while the optimal objective we can see that models S and RS are very efficient, with RS being
of model D is 23.9% higher than that of model E, and one of the faster than S.

Table 3
Statistics and solutions of different models for instance group 2.

Model S RD E D

Number of constraints 1281 1308 7003 126,621


Number of variables 878 1021 4399 92,261
Number of binary variables 45 45 405 36,960

Average optimal objective 12,818 12,818 12,818 14,755


Average optimal objective of LP Relaxation 12,054 12,054 2721 3108
Average CPU time/s 0.046 0.043 1144 11,952
Average number of nodes 12.2 4.1 151,738 3,591,519

Table 4
Statistics and solutions of different models for instance group 3.

Model S RS E D

Number of constraints 1287 1314 7009 126,621


Number of variables 878 1021 4399 92,261
Number of binary variables 45 45 405 36,960

Average optimal objective 8934 8934 8944 11,081


Average optimal objective of LP Relaxation 77,891 7891 2717 3046
Average CPU time/s 0.055 0.045 4053 9278
Average number of nodes 18.1 10 507,901 2,502,848

Table 5
Statistics and solutions of different models for instance group 4.

Model S RS E D

Number of constraints 6382 6290 43,188 613,927


Number of variables 4097 4589 27,811 452,161
Number of binary variables 192 192 1728 172,800

Optimal objective 15,826 15,826 No feasible solutions No feasible solutions


Average optimal objective of LP Relaxation 8189 8189 2901 3482
CPU time/s 0.311 0.201 360,000 360,000
Number of nodes 141.8 20.8
160 Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161

Fig. 15. Gantt chart of instance group 5.

Table 6 From all the above results, we can conclude that for single dock
Statistics and solutions of different models for instance group 5 with 2 parallel docks.
problems the time slot models S and RS are solved much faster than
Model E D event point model E and discrete time model D, and RS performs
Number of constraints 7003 126,621 best for larger instances. For the cases with parallel docks, only
Number of variables 4399 92,261 models E and D apply, with the continuous time models E obtaining
Number of binary variables 405 36,960 significantly better objective function values than the discrete time
Average optimal objective 12,475 14,546 model D. On the other hand, the CPU time required depends on the
Average optimal objective of LP Relaxation 2721 3102 particular instances.
Average CPU time/s 15,084 23,088
Average number of nodes 2,473,794 6,615,928
6. Conclusions

Table 7 A single product maritime inventory routing problem has been


Statistics and solutions of different models for instance group 6 with 2 parallel docks. addressed in this paper. Three continuous time models and one dis-
Model E D
crete time model were presented. The first continuous time model
S is based on time slots. By reformulating the slot assignment con-
Number of constraints 7009 126,621
straints, we obtained a second continuous model RS. The statistics
Number of variables 4399 92,261
Number of binary variables 405 36,960 and solutions of the problems have shown that the reformula-
tion can improve the computational efficiency. However, the two
Average optimal objective 9011 11,164
time slot based models cannot handle parallel docks. Therefore,
Average optimal objective of LP Relaxation 2717 3049
Average CPU time/s 17,452 8556 we developed the third continuous time model E, an event point
Average number of nodes 2,435,492 2,422,197 based model, which can deal with parallel docks but introduces
a large number of 0–1 binary variables. A discrete time model
D based on fixed-charge network flow was also developed that
can deal with single/parallel docks. From the numerical results,
5.5. Instance groups 5 and 6
the discrete time model D was shown to lead to higher objective
values than the continuous time event point based models since
Instance groups 5 and 6 involve parallel docks. Therefore, mod-
the latter do not involve an approximation of the timing of the
els S and RS do not apply. Tables 6 and 7 show the statistics and
events.
solutions of models E and D for 10 random instances. The results
In summary, for the maritime inventory model, the computa-
show that model D takes longer time than model E for problem
tional results have shown that continuous time models have the
5, while model E takes longer time than model D for problem 6.
potential of being more efficient than discrete time models. The
In both cases model E obtains a lower cost objective than model
time slot based models can be solved effectively for the prob-
D. The schedule of one of the instances of problem 5 is shown in
lem with single docks. However, for large sized problems with
Fig. 15.
parallel docks, even the continuous time event point model can
Obviously, models D are larger than models E in the sense of
require long CPU times. Hence, valid inequalities and/or decom-
number of constraints and variables, while the CPU times are com-
position algorithms may be required to effectively solve these
parable. From Tables 6 and 7, we can see that the number of nodes
problems.
required by models D for problems 5 and 6 is about 1.5 and 0.49
times that by models E, while the CPU times required by models D
for problem 5 and 6 is about 2.7 and 0.99 times that by models E. Acknowledgments
The CPU times used are roughly proportional to the numbers of the
nodes for each model. In fact, the cases for problems 1–3 are sim- The authors gratefully acknowledge financial support from the
ilar. That is, the CPU times for each model are mainly determined National Natural Science Foundation of China (No. 61273039) and
by the numbers of nodes which are dependent on the branch and from the Center of Advanced Process Decision-making at Carnegie
bound search. Mellon University.
Y. Jiang, I.E. Grossmann / Computers and Chemical Engineering 77 (2015) 147–161 161

References Papageorgiou DJ, Cheon MS. Approximate dynamic programming for a class of
long-horizon maritime inventory routing problems accepted by transportation
Agra A, Andersson H, Christiansen M, Wolsey L. A maritime inventory rout- science; 2014.
ing problem: discrete time formulations and valid inequalities. Networks Papageorgiou DJ, Keha AB, Nemhauser GL, Sokol J. Two-stage decomposition algo-
2013a;62(4):297–314. rithms for single product maritime inventory routing. INFORMS J Comput
Agra A, Christiansen M, Delgado A. Mixed integer formulations for a short sea fuel 2014a;26(4):825–47.
oil distribution problem. Transp Sci 2013b;47(1):108–24. Papageorgiou DJ, Nemhauser GL, Sokol J, Cheon MS, Keha AB. MIRPLib – a library of
Al-Khayyal F, Hwang SJ. Inventory constrained maritime routing and scheduling for maritime inventory routing problem instances: survey core model, and bench-
multi-commodity liquid bulk, Part I: Applications and model. Eur J Oper Res mark results,. Eur J Oper Res 2014b;235:350–66.
2007;176:106–30. Pinto JM, Grossmann IE. A continuous time mixed integer linear programming
Andersson H, Hoff A, Christiansen M, Hasle G, Løkketangen A. Industrial aspects and model for short term scheduling of multistage batch plants. Ind Eng Chem Res
literature survey: combined inventory management and routing. Comput Oper 1996;34:3037–51.
Res 2010;37:1515–36. Ronen D. Cargo ships routing and scheduling: survey of models and problems. Eur J
Bilgen B, Ozkarahan I. A mixed-integer linear programming model for bulk grain Oper Res 1983;12:119–26.
blending and shipping. Int J Product Econ 2007;107(2):555–71. Ronen D. Ship scheduling: the last decade. Eur J Oper Res 1993;71(3):
Christiansen M, Fagerholt K. Maritime inventory routing problems. In: Floudas CA, 325–33.
Pardalos PM, editors. Encyclopedia of optimization. 2nd ed. Springer; 2009. Savelsbergh MWP, Song J-H. An optimization algorithm for the inventory
Christiansen M, Fagerholt K, Nygreen B, Ronen D. Ship routing and scheduling in the routing problem with continuous moves. Comput Oper Res 2008;35:
new millennium. Eur J Oper Res 2013;228:467–83. 2266–82.
Christiansen M, Fagerholt K, Ronen D. Ship routing and scheduling: status and per- Sherali H, Al-Yakoob S, Hassan M. Fleet management models and algorithms
spectives. Transp Sci 2004;38:1–18. for an oil-tanker routing and scheduling problem. IIE Trans 1999;31:
Cóccola ME, Dondo R, Méndez CA. A MILP-based column generation strategy 395–406.
for managing large-scale maritime distribution problems. Comput Chem Eng Sherali H, Al-Yakoob S. Determining an optimal fleet mix and schedules: Part I –
2015;72:350–62. Single source and destination. In: Karloff J, editor. Integer programming: theory
Floudas CA, Lin X. Continuous-time versus discrete-time approaches for scheduling and practice; 2005a. p. 137–66.
of chemical processes: a review. Comput Chem Eng 2004;28:2109–29. Sherali H, Al-Yakoob S. Determining an optimal fleet mix and schedules: Part II
Furman KC, Song JH, Kocis GR, McDonald MK, Warrick PH. Feedstock routing in the – Multiple sources and destinations, and the option of leasing transshipment
ExxonMobil downstream sector. Interfaces 2011;41:149–63. depots. In: Karloff J, editor. Integer programming: theory and practice; 2005b.
Goel V, Slusky M, Hoeve WJ, Furman KC, Shao Y. Constraint programming p. 167–93.
for LNG ship scheduling and inventory management. Eur J Oper Res Siswanto N, Essam D, Sarker R. Solving the ship inventory routing and sched-
2015;241(3):662–73. uling problem with undedicated compartments. Comput Ind Eng 2011.,
Kopanos GM, Kyriakidis TS, Georgiadis MC. New continuous-time and discrete- http://dx.doi.org/10.1016/j.cie.06.011.
time mathematical formulations for resource-constrained project scheduling Song J-H, Furman KC. A maritime inventory routing problem: practical approach.
problems. Comput Chem Eng 2014;68:96–106. Comput Oper Res 2013., http://dx.doi.org/10.1016/j.cor.10.031.
Li J, Karimi IA, Srinivasan R. Efficient bulk maritime logistics for the supply and UNCTAD. Review of maritime transport 2014. New York and Geneva: United
delivery of multiple chemicals. Comput Chem Eng 2010;34(12):2118–28. Nations; 2014.

You might also like