Professional Documents
Culture Documents
Alternative Mixed Integer Linear Programming Models of A Maritime Inventory Routing Problem
Alternative Mixed Integer Linear Programming Models of A Maritime Inventory Routing Problem
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
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
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
tlvi = teik
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.
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
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)
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)
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 ,
∀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.
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
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
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
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
Table 2
Statistics and solutions of different models for instance group 1.
Model S RS E D
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.
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
Table 4
Statistics and solutions of different models for instance group 3.
Model S RS E D
Table 5
Statistics and solutions of different models for instance group 4.
Model S RS E D
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
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.