Вы находитесь на странице: 1из 23

EURO J Transp Logist

DOI 10.1007/s13676-014-0061-5
RESEARCH PAPER

A branch-and-price method for a ship routing


and scheduling problem with cargo coupling
and synchronization constraints
Magnus Stalhane Henrik Andersson
Marielle Christiansen

Received: 28 April 2014 / Accepted: 28 August 2014


Springer-Verlag Berlin Heidelberg and EURO - The Association of European Operational Research
Societies 2014

Abstract The purpose of this paper is to present a branch-and-price method to


solve a maritime pickup and delivery problem with time windows, cargo coupling,
and synchronized deliveries. This problem originates from a segment of shipping
called project shipping that subsists on transporting unique and specialized cargoes.
The fleet of ships is heterogeneous and considered fixed. Some sets of cargoes are
coupled, meaning that either all or none of them are transported. Further, some of
these coupled cargoes require synchronized deliveries, restricting the time elapsed
between the first and last delivery is made. The objective is to design a route and
schedule for each ship that maximizes the total profit from transporting a subset of
the cargoes available. A new mathematical formulation is presented and solved
using branch-and-price. The subproblem is a new variant of the elementary shortest
path problem with resource constraints, and is solved by dynamic programming.
Finally, the computational results show that the approach presented in this paper is
significantly better than existing methods for solving this problem.
Keywords Branch-and-price  Maritime transportation  Synchronization 
Temporal constraints

1 Introduction
This paper presents a new branch-and-price method, tailored to solve a pickup and
delivery problem with time windows, cargo coupling, and synchronized deliveries.
The problem emanates from a maritime routing and scheduling problem that arises
M. Stalhane (&)  H. Andersson  M. Christiansen
Department of Industrial Economics and Technology Management, Norwegian University of
Science and Technology, Trondheim, Norway
e-mail: Magnus.Stalhane@iot.ntnu.no

123

M. Stalhane et al.

in one specific sub-segment of tramp shipping called project shipping, or heavy


duty shipping. What sets project shipping apart from regular tramp shipping is that
the cargoes transported are usually highly specialized and unique. They may be
parts of an oil rig built at different yards in Europe or China that need to be shipped
to the point of assembly on the West African coast. Alternatively, they may be
turbines and generators that need to be shipped from their building locations in
North America to the site of the factory in the Middle East. There are many
interesting aspects to study in this segment of shipping. One is the aggregation of
cargoes into one contract, so that the shipping company must agree to transport all
of them to be awarded the contract. Often the contracts also call for synchronized
deliveries of the contract cargoes. The cargoes usually have different pickup
locations but the same delivery point. The time windows for delivery are normally
quite wide, but the contracts may include a clause, limiting the number of days
between the delivery of the first and the last cargo.
Tramp shipping is a mode of maritime transportation where ships act similar to
taxis, picking up and delivering goods at ports around the world, trying to maximize
their profit while selecting a subset of the available cargoes (Lawrence 1972).
Tramp shipping problems are categorized in the literature as a maritime version of
the more general pickup and delivery problem with time windows (PDPTW), [see
for instance Desrosiers et al. (1995)]. The standard PDPTW consists of a set of node
pairs where a cargo must be transported from the pickup node to the corresponding
delivery node. Each node has a time window within which it must be serviced and a
given cargo quantity that is to be picked up/delivered. A homogeneous fleet of
vehicles is available to service these nodes. The fleet is located at a central depot at
the beginning of the planning horizon, and must return to the depot at the end of the
planning horizon. The objective is to create a set of routes, one for each vehicle, that
minimizes the total cost of all vehicles, while ensuring that all node pairs are
serviced within their time windows, and that the capacity of each vehicle is never
violated.
What differentiates the maritime version of the PDPTW is that the fleet of
vehicles, in this case ships, is usually heterogeneous and no central depot exists.
The ships are either at a port or somewhere at sea at the beginning of the
planning horizon. The planning horizon is also longer, typically spanning several
months rather than a few days which is usual in land-based problems. However,
the travel and service times are also much longer. Unlike the standard PDPTW,
there is usually a mix of contracted cargoes that the shipping company has
already agreed to transport, and optional (spot) cargoes that the shipping
company may transport if it is profitable and if there is sufficient capacity in the
fleet. Thus, the objective of the maritime PDPTW is to maximize the profit of
transporting the optimal subset of cargoes, rather than minimizing the cost of
transporting all of them. For a more complete overview of the characteristics of
maritime routing and scheduling problems we refer to Christiansen et al. (2013),
while a thorough survey on pickup and delivery problems is given by Berbeglia
et al. (2007).
Several authors have presented branch-and-price methods for different types of
synchronization problems. These include, among others, Ioachim et al. (1999),

123

A branch-and-price method for a ship routing

Dohn et al. (2009) and Dohn et al. (2011). Ioachim et al. (1999) present an aircraft
fleet assignment problem, where the daily schedule of each aircraft needs to be
made, and the schedules must be synchronized so that the same flight is operated at
the same time each day. Dohn et al. (2009) study a manpower allocation problem,
where teams are allocated to tasks, and teams with different skills have to be
synchronized. Dohn et al. (2011) present and compare four path-flow formulations
for the vehicle routing problem with time windows and temporal dependencies.
They rank the formulations according to how tight the solution space is described,
and present a computational study that shows the strengths and weaknesses of the
different formulations. For a more thorough survey on synchronization problems in
vehicle routing we refer to the survey of Drexl (2012).
In contrast to the papers cited above, we solve an extension of the PDPTW
and therefore, have precedence and pairing constraints on pair of nodes on each
vehicle route. Thus, each route must visit either both or none of the paired
nodes, and they must be visited in a pre-determined order. In addition, we
differentiate from the classification provided by Drexl (2012) in one important
aspect: we allow synchronized tasks to be performed by one vehicle (with the
exception of one set of test instances). For this reason, the problem presented in
this paper does not fall into any of the classifications presented in the abovementioned survey.
There are two published papers studying different aspects of project shipping.
The first was published by Fagerholt et al. (2011). They consider cargoes that need a
dedicated ship, stowage planning onboard the ship and cargo coupling, but not
synchronization of cargo deliveries. They present an arc-flow formulation of the
problem and propose a tabu search heuristic to solve it. The second paper is
presented by Andersson et al. (2011). They introduce the cargo coupling and
synchronization problem studied in this paper, for which they present an arc-flow
formulation and three path-flow formulations. The path-flow formulations are
solved by a priori path-generation. In this paper, we present a new mathematical
formulation of the problem along with a new solution approach based on branchand-price.
The maritime PDPTW has been studied by, among others, Brnmo et al.
(2007), Korsvik et al. (2010), and Malliappi et al. (2011). Brnmo et al. (2007)
give a path-flow formulation of the problem along with a multi-start local search
heuristic to solve larger problem instances heuristically, while Korsvik et al.
(2010) present a tabu search heuristic to solve it. Comparisons with the
computational results of Brnmo et al. (2007) show that the tabu search heuristic
performs better on all tested instances, and the performance gap increases as the
instances become more constrained. Malliappi et al. (2011) present a variable
neighborhood search for the same problem. They compare their algorithm with
their own implementation of the multi-start and tabu search heuristics mentioned
above on a set of instances modified from land-based transportation. The
computational results show that, on average, the variable neighborhood search
performs the best.
The purpose of this paper is twofold. First, we present a new mathematical model
for the maritime pickup and delivery problem with time windows, cargo coupling,

123

M. Stalhane et al.

and synchronization constraints. Second, we show how this model can be


incorporated into a branch-and-price framework. In this framework, we present a
new labeling algorithm, including new dominance criteria that are tailored to the
problem. It is worth noting that even though the problem originates from maritime
transportation, the mathematical model and solution method is independent of
transportation mode, and would, with small modifications, be equally suitable to
solve similar land-based versions of the problem. Through computational experiments performed on a set of real world instances from the maritime shipping
industry we show that the efficiency of the proposed solution method is much higher
than existing methods.
The remainder of this paper is structured in the following way. A detailed
description of the problem and a mathematical path-flow formulation is presented in
Sect. 2, before the details of the solution method are given in Sect. 3. In Sect. 4 we
present our computational results, while we give some concluding remarks in Sect.
5.

2 Problem description and mathematical model


The problem studied in this paper is a maritime pickup and delivery problem with
time windows, coupled cargoes, and synchronization constraints. We define the
problem of transporting n cargoes on a graph G N ; A, where N f1; . . .; 2ng,
indexed by i and j, is the set of nodes, and A, indexed by i; j, is the set of arcs
connecting each pair of nodes in the graph. The set N can be divided into two
P
D
disjoint sets: N f1; . . .; ng is the set of pickup nodes, and N fn 1; . . .; 2ng
P
C
is the set of delivery nodes. The set N is further divided into two disjoint sets: N
is the set of pickup nodes associated with contracted cargoes that have to be
transported, and N O is the set of pickup nodes associated with optional (or spot)
P
cargoes. Associated with each cargo i 2 f1; . . .; ng is a unique pickup node i 2 N ,
D
a delivery node n i 2 N , a revenue Ri for transporting the cargo, and a volume
quantity Qi that estimates the space the cargo occupies in a cargo hold. Each node
i 2 N has a time window [T i ; T i ] which gives an earliest and a latest time for start
of service at the node.
S
In addition, we have a set S of sets of delivery nodes, each denoted N s where
S
s 1; . . .; j S j. For each set N s , all delivery nodes in the set have the same
physical delivery location, and must be delivered within TsS time units of each other.
K
We also have a set K of sets of optional coupled cargoes N k where k 1; . . .; j K j.
For these sets either all cargoes in the set have to be transported, or none of them.
The available fleet is heterogeneous and considered fixed during the planning
horizon. The set of ships V is indexed by v, and each ship v has a cargo hold with
volume capacity Kv . It also has a starting position ov, an artificial ending position
dv, and a graph Gv N v ; Av associated with it. The set of vertices
N v  N [ fov; dvg, and the set of arcs Av  N v  N v define the feasible
movements for ship v. For each arc i; j 2 Av there is a corresponding non-negative

123

A branch-and-price method for a ship routing

cost Cijv , and a time Tijv for traversing that arc. Included in the traversal time is both
the service time at node i and the sailing time from node i to node j. We assume that
the triangle inequality holds for both travel times and travel costs. Note that not all
ships are allowed to pick up all cargoes due to the shape/size of the cargoes
themselves, or draft/width limitations at the origin or destination ports.
A route r for a ship v corresponds to a feasible path from ov to dv in Gv . The
path is feasible if for each pickup node i visited, the corresponding delivery node
n i is visited afterwards, the capacity of the ship is never violated and the time
windows are respected at every node. The total profit of route r, Pvr , is the sum of
the revenue of the cargoes picked up, minus the sum of the arc costs of traversing
the corresponding path.
For each route there exists an infinite number of feasible schedules w. A schedule
gives the exact time that service starts at each node on the route, and is necessary to
enforce synchronization of deliveries. It is worth noting that the ships are allowed to
wait at a node before starting service if it is favorable to do so. The objective is to
create one route for each ship, and one schedule for each route, such that the total
profit of the fleet is as large as possible, while satisfying all the constraints
mentioned above.
To solve this problem, we present a new path-flow formulation of the problem
that differs significantly from those presented by Andersson et al. (2011). The main
drawback of their path-flow formulations is the relatively large number of additional
variables and constraints necessary to model time correctly in the master problem.
We therefore present a new path-flow formulation where time is handled in the
generation of columns, and thus only appears as coefficients.
To present this formulation we introduce some additional notation. Let Rv be the
set of all feasible routes for ship v, and let coefficient Aivr be equal to 1 if ship v
transports cargo i when sailing route r, and 0 otherwise. Further, let W r , indexed by
w, be the set of feasible schedules for route r, and the coefficient Tivrw denote the
time ship v sailing route r using schedule w starts service at node i, if serviced, and 0
otherwise. Finally, let variables xvrw decide the fraction of schedule w used by ship v
sailing route r, while zk are the variables representing whether the cargoes in
coupled cargo set k are transported or not. The path-flow formulation of the problem
is defined as follows:
XX X
PF
max
Pvr xvrw ;
1
v2V r2Rv w2W r

subject to:
XX X

Aivr xvrw 1;

8i 2 N ;

Aivr xvrw  1;

8i 2 N ;

v2V r2Rv w2W r

XX X
v2V r2Rv w2W r

123

M. Stalhane et al.

XX X

Aivr xvrw zk ;

k 1; . . .; j K j; 8i 2 N k ;

v2V r2Rv w2W r

X X

xvrw 1;

8v 2 V;

r2Rv w2W r

XX X

Tivrw  Tjvrw xvrw  TsS ;

v2V r2Rv w2W r

xvrw 2 f0; 1g;

8v 2 V; r 2 Rv ;

w2W r

xvrw  0;

8v 2 V; r 2 Rv ; w 2 W r ;

zk 2 f0; 1g;

s 1; . . .; j S j; 8i; j 2 N s ;

k 1; . . .; j K j :

The objective function (1) aims at maximizing the total profit of the shipping
operations. Constraints (2) state that all mandatory cargoes must be lifted, while
constraints (3) ensure that all optional cargoes are served at most once. Constraints (4) state that either all or none of the cargoes in a coupled set must be
serviced, while constraints (5) limit each ship to sail exactly one route. Further,
constraints (6) ensure that all synchronized cargoes are delivered within the given
time interval. Finally, constraints (7) and (8) ensure that the sum of schedules for
each route is equal to one if the route is selected, and that all schedule variables
are non-negative, while constraints (9) put binary restrictions on the coupled
cargoes variables.
Note that constraints (7) and (8) allow convex combinations of feasible schedules
belonging to the same route; a convex combination of feasible schedules is also a
feasible schedule. Thus, we only need to generate schedules corresponding to the
extreme points of the feasible region of the subproblems (presented in the next
section) to represent all schedules in the model above. This is exploited to speed up
the overall solution process.

3 Solution method
Each x-variable (henceforth referred to as a column) in the path-flow formulation
presented above is partly described by a path through the graph Gv . The number of
feasible paths through the graph grows exponentially with the number of available

123

A branch-and-price method for a ship routing

cargoes. For large problem instances, it will be impractical, or even impossible, to


generate all possible columns. To circumvent this we propose to solve our problem
using branch-and-price [see Barnhart et al. (1998)], where only a subset of all
columns are explicitly generated while the remaining columns are implicitly
considered.
Branch-and-price is a method that uses a branch-and-bound (B&B) approach
to implicitly enumerate all possible solutions to the problem. For each node in
the B&B tree, an upper bound (for a maximization problem) is obtained by
solving the linear relaxation of the path-flow formulation containing only a
subset of columns. This linear problem is usually referred to as the restricted
master problem (RMP), and is solved to obtain primal and dual solutions. The
dual solution is then used to generate new columns with positive reduced cost
(for a maximization problem) by solving pricing problems, often referred to as
the subproblems. The method alternates between solving the RMP and the
subproblems until no more columns with a positive reduced cost exist, at which
point the solution of the RMP gives a valid upper bound on the optimal value of
the given node. If the optimal solution violates any of the integral requirements
of the original path-flow formulation, and the bound of the node is better than
the best known integer solution, two new nodes are created by branching on
some properties of the problem. This process is repeated until all nodes are
considered, and the best integer solution is returned as the optimal solution to the
problem.
The rest of this section is organized as follows: A mathematical model of the
subproblems is presented in Sect. 3.1, before the details of the labeling algorithm
used to solve the subproblems are given in Sect. 3.2. Further, we present the
acceleration strategies employed to speed up the solution process in Sect. 3.3, and
finally, the branching strategies used to obtain integral solutions to the problem are
described in Sect. 3.4.
3.1 Subproblems
A mathematical model of the subproblems, one for each ship v, needed to
generate columns for the RMP is presented below. It is formulated as an arc-flow
model on the graph Gv . Let ai be the dual variables of constraints (2) and (3), cik
the dual variables of constraints (4), bv the dual variables of constraints (5), and
dijs the dual variables of constraints (6). To simplify the notation in the model, we
assume that if constraints (4) do not exist for a given combination of cargo i and
coupled cargo set k in the RMP, the corresponding dual variable cik exists, but has
a value of zero in the subproblems. Further, let xijv be equal to one if arc i; j is
used by ship v, and zero otherwise. Finally, let liv be the load onboard ship v after
leaving node i, and let tiv be the time service starts at node i. The subproblem for
ship v and a given set of dual values a i ; c ik ; b v ; d ijs may then be formulated in
the following way:

123

M. Stalhane et al.

SP

max b v

XX

Ri 

a i

i2N P j2N v

Cijv xijv 

kjKj
X

!
c ik

xijv

k1

jSj X X
X

d ijs tiv

10
 tjv

s1 i2N S j2N S
s
s

i;j2Av

subject to:
X

xovjv 1;

11

j2N v

xjiv 

j2N v

xijv 0;

8i 2 N v n fov; dvg;

12

j2N v

xidvv 1;

13

i2N v

liv Qj  ljv xijv  0;

liv  Qj  lnjv xinjv  0;

liv  Kv

8i; n j 2 Av j j 2 N ;

xijv

16

8i 2 N ;

17

8i; j 2 Av ;

18

xijv

j2N v

tiv Tijv  tjv xijv  0;


X
j2N v

123

xijv 

X
j2N v

15

8i 2 N ;

j2N v

lniv  Kv  Qi

14

8i; j 2 Av j j 2 N ;

xnijv 0;

8i 2 N ;

19

A branch-and-price method for a ship routing

tiv

Tiniv xijv  tniv  0;

8i 2 N ;

i2N v

Ti

xijv  tiv  T i

j2N v

xijv ;

8i 2 N v ;

j2N v

liv  0;

xijv 2 f0; 1g;

8i 2 N v ;

8i; j 2 Av :

20

21

22

23

The objective of the subproblem (10) is to find the maximum reduced cost route and
schedule for ship v given a set of dual values from the RMP. Constraints (11)(13)
conserve the flow through the network from the origin to the artificial destination of
the ship. Further, constraints (14)(17) keep track of the load onboard the ship,
while constraints (18) make sure that the start of service at two consecutive nodes
are at least separated by the sailing time between them. Pairing and precedence
between a pickup node and the corresponding delivery node is handled by constraints (19) and (20), and constraints (21) ensure that the start of service at each
node is within the time window if the node is serviced, and zero otherwise. Finally,
constraints (22) ensure that the load quantities are non-negative, while constraints
(23) put binary restrictions on the arc-flow variables.
3.2 A labeling algorithm for the subproblems
The subproblems presented above are variants of the elementary shortest path
problem with resource constraints (ESPPRC). Rpke and Cordeau (2009) present an
ESPPRC for the subproblem of the PDPTW and develop an efficient labeling
algorithm to solve it. We use a modified version of the algorithm proposed in their
paper to solve SP.
The subproblems are solved as shown in Algorithm 1. U is the set of unprocessed
labels, initially only containing the label Lov representing a path just visiting the
ships origin node, ov. While there are labels left in U, the removefirstU function
removes one label from U according to some criteria. This label is extended along all
resource feasible arcs, creating new labels, L0 . The label extended to node i is then
checked for dominance, and if it is not dominated by any other label, it is added to U
and the set Li containing all non-dominated labels at node i. Any labels in Li that are
dominated by L0 are removed from both Li and U. Once there are no more
unprocessed labels left in U we filter out the paths represented by the labels in Ldv
with positive reduced cost, and add them to the set P, which is then returned by the
algorithm. In the following we describe what information is stored in a label, what
constitutes a feasible extension, and how labels are compared for dominance.

123

M. Stalhane et al.

Algorithm 1 Pseudo-code of labeling algorithm for ship v

Input: graph Gv = (Nv , Av )


U = {L(o(v))}
while U = do
L = removef irst(U )
for each feasible extension of L L do
let i be the last node of the path represented by label L
if no label in Li dominates L then
remove all labels in Li and U that are dominated by L
Li = Li {L }
U = U {L }
end if
end for
end while
for L Ld(v) do
if accumulated reduced cost of L > 0 then
add the path represented by L to P
end if
end for
return P

3.2.1 Labels
For each label we store the following data:
1.
2.
3.
4.
5.
6.

gThe node of the label.


/The predecessor label.
tThe earliest possible start of service at the node.
cThe accumulated reduced cost.
DThe set of cargoes picked up (and possibly delivered).
OThe set of cargoes picked up, but not yet delivered.

In the rest of this paper, the notation tL is used to refer to the earliest possible start
of service at the node of label L and similar notation is used for the rest of the data
(e.g., gL; /L; cL; DL; and OL).
3.2.2 Label extension
When extending a label L along an arc (gL; j), we create a new label L0 at node j.
An extension is feasible if:
tL TgLjv  T j ;

123

24

A branch-and-price method for a ship routing

Qi Qj  Kv _ j 62 N ;

25

i2OL

and one of the following hold:


0\j  n ^ j 62 DL

26

n\j  2n ^ j  n 2 OL

27

j dv ^ OL ;

28

Let dijv represent the contribution to the reduced cost of traversing arc i; j using
ship v. It may be expressed as follows:
8
PjKj
P

>
< Ri  Cijv  ai  k1 cik if i 2 N ;
D
29
dijv Cijv
if i 2 N ;
>
:

Cijv  bv
if i ov:
Given that the extension of L0 is feasible, the label data are updated as follows:
gL0 j

30

/L0 L

31

tL0 maxfT j ; tL TgLjv g

32

cL0 cL dgLjv

33

(
0

DL

(
0

OL

DL [ fjg

if j 2 N

DL

if j 2 N

34

OL [ fjg

if j 2 N

OL n fj  ng

if j 2 N

35

Equations (30)(33) update the current node, the predecessor label, the earliest
possible start of service, and the accumulated reduced cost of the label, respectively.

123

M. Stalhane et al.

Equation (34) updates the set of cargoes serviced on the path represented by the
label if it is a pickup node, while Eq. (35) updates the cargoes onboard by adding
(removing) a cargo from the set when visiting a pickup (delivery) node.
3.2.3 Dominance criteria
Note that the last term of the objective function (10) is not related to the nodes or
arcs, but rather to the start of service at a certain node. This will affect the
dominance of the labeling algorithm because the optimal feasible time to start
service at node i on a path is not only dependent on the partial path ov; . . .; i, but
also on the extension i; . . .; dv. Once a path p has been created from ov to dv
the x- and l-variables are fixed and SP may be reduced to the last term of objective
function (10), and constraints (18) and (21). Let this reduced problem be denoted
sp with an optimal value s p. Further, let Ap and Dp be the set of arcs used
and cargoes serviced by path p, respectively, and let d ijs be equal to zero if not both i
and j are members of s. The reduced problem is presented below.
sp

max 

jSj X X
X

d nijs  d jnis tniv

36

s1 i2Dp j2N D

subject to:
tiv Tijv  tjv  0;

T i  tiv  T i ;

8i; j 2 Ap ;

8i; i  n 2 Dp:

37

38

For a label L with gL dv representing a path pL we may now define the


reduced cost cvrw L as: cvrw L cL s pL.
To accommodate the synchronization duals in SP we need new dominance
criteria. Let s p be a lower bound on the value of s p found by solving the
reduced problem (36)(38) as a minimization problem. The dominance criteria for
SP may then be presented as follows:
Proposition 1
1.
2.
3.
4.
5.

A label L1 dominates L2 if:

gL1 gL2
tL1  tL2 )
cL1 s pL1  cL2 s pL2
DL1  DL2
OL1  OL2

To prove Proposition 1, we first need to repeat some properties proved by Rpke


and Cordeau (2009). Let p be a feasible path extending L2 to dv, and let p0 be the
path obtained by removing the deliveries corresponding to the cargoes in OL2 n
OL1 from p. Using criteria 1, 2, 4, and 5, Rpke and Cordeau (2009) prove that p0

123

A branch-and-price method for a ship routing

must be a feasible extension of L1 . For simplicity we denote p1 L1 ; p0 the


concatenation of the partial path represented by L1 and p0 and likewise p2 L2 ; p.
We start by proving some partial results:
Lemma
1 cL1 s pL1  cL2 s pL2 ! cLp1 s pL1 

cLp2 s pL2 .
Proof (Lemma 1) cLp0  cLp due to the triangle inequality. Thus we can
present the following inequalities:
cL1 s pL1  cL2 s pL2
! cL1 cLp s pL1  cL2 cLp s pL2

! cL1 cLp0 s pL1  cL2 cLp s pL2


! cLp1 s pL1  cLp2 s pL2
Thus Lemma 1 is correct.
Lemma 2

s p  s p.

Proof (Lemma 2) As both p0 and p visits the same pickup nodes the objective
functions (36) are equal for both problems. The set of constraints (38) are also equal
for the common variables in both LPs. The only differences
are in the set

 of
constraints (37). As long as the triangle inequality holds Tikv  Tijv Tjkv , the
optimal solution of sp will be a feasible (but not necessarily optimal) solution of
sp0 , and thus s p0  s p.
h
Note that adjusting the lower bound T gL1 in constraints (38) to be tL1 and
tL2 for p0 and p, respectively, will not affect the result of Lemma 2, because of
dominance criterion 2.
Lemma 3

s p1  s p0 s pL1 .

Proof (Lemma 3) By adding constraints (37) from sp0 to constraints (37) of


spL1 , and the restriction tgL1 tL1 , we get a linear program that we denote
s0 pL1 , which is more constrained than the original problem. Therefore we have
the relationship s0 pL1  spL1 (as it is a minimization problem).
The optimal solution from this new formulation and the optimal solution from
sp0 are feasible (but not necessarily optimal) for sp1 . Since s0 pL1 and sp0
have no common variables in the objective function the following relationship
holds: s p0 s pL1  s p0 s0 pL1  s p1 .
h
Lemma 4

s p2  s p s pL2 .

Proof (Lemma 4) Constraints (37) and (38) of LPs sp and spL2 , are subsets
of the corresponding constraints for sp2 . Therefore the optimal solution of sp2 is
feasible (but not necessarily optimal) for both sp and spL2 . In addition we see
that the objective function of sp2 equals adding the objective functions of sp and
spL2 together. Thus we get the relationship s p2  s p s pL2 .
h

123

M. Stalhane et al.

We may now prove that Proposition 1 is correct. All criteria, except criterion 3, is
related to the feasibility of a common extension, and their correctness has already
been proven. Thus, we need to show that given that criterion 3 holds, the reduced
cost of path p1 is no worse than the reduced cost of path p2 , which may be expressed
as follows:
Theorem 1
cL1 s pL1  cL2 s pL2 ! cLp1 s p1  cLp2 s p2
39
Proof

(Theorem 1)

cL1 s pL1  cL2 s pL2 Criterion 3, Proposition 1


! cLp1 s pL1  cLp2 s pL2 applying Lemma 1
!
!

cLp1 s pL1 s p0  cLp2 s pL2 s p applying Lemma 2


cLp1 s p1  cLp2 s pL2 s p applying Lemma 3

cLp1 s p1  cLp2 s p2

applying Lemma 4

h
In the proof of Lemma 2 we state that each t-variable in sp0 is no more
constrained than the corresponding t-variable in sp, and therefore we may remove
these variables from the upper and lower bound used in dominance criterion 3. The
common variables that exist in spL1 ; spL2 ; sp and sp0 are the variables
corresponding to the delivery nodes of the cargoes in OL1 . Thus we may remove
these variables from the objective function when calculating the lower and upper
bounds, and replace dominance criterion 3 with: cL1 s L1 
cL2 s L2 ; L1
where:
sL1

min 

jSj
X

s1 i2DL1 nOL1 j2N

d nijs  d jnis tniv

40

subject to:
tiv Tijv  tjv  0;

T i  tiv  T i ;

sL2 ; L1

max 

jSj
X

8i; j 2 ApL1 ;

41

8i; i  n 2 DL1 :

42

s1 i2DL2 nOL1 j2N

123

d nijs  d jnis tniv

43

A branch-and-price method for a ship routing

subject to:
tiv Tijv  tjv  0;

T i  tiv  T i ;

8i; j 2 ApL2 ;

44

8i; i  n 2 DL2 :

45

3.3 Acceleration strategies


To shorten the solution time we have implemented several heuristics for the
subproblem. The heuristics are mainly based on two ideas: reduction of the network
and simplification of the dominance rules.
The first acceleration strategy is to solve the labeling algorithm on a reduced
version of the graph Gv , where only a subset of the arcs are present. Let Gvl be a
graph where each node N f1; . . .; 2ng is connected to its l geographically closest
neighbors, given that the arcs are feasible with respect to the time windows. In
addition to this, we add all feasible arcs from ov; i, n i; dv, and i; n i to
Gvl . This idea was also successfully used by Rpke and Cordeau (2009) and
Stalhane et al. (2012).
The second acceleration strategy employed is to alter the dominance rule used to
dominate labels so that the number of dominated labels increases. When solving SP
heuristically, we ignore the upper and lower bound parts of criterion 3, and replace
it with cL1  cL2 .
The heuristics are used in the following order:
1.

l jN2 j

2.
3.

j
l 3jN
4
Simplified dominance rule.

Whenever we need to generate new columns for the RMP, we start from the top of
the list of heuristics and consecutively use each heuristic until at least one column
with positive reduced cost is found. If no columns with a positive reduced cost is
found using any of these heuristics, we solve the subproblems to optimality.
When solving a node in the B&B tree the number of iterations between the RMP
and the subproblems may get very large, due to the tailing off effect [see Lubbecke
and Desrosiers (2005)]. To avoid this, we stop the generation of columns for a given
node if optimality is not proved after a fixed number of iterations, and branch
prematurely. This number is set at 100 iterations in the computational experiments
presented in Sect. 4.
3.4 Branching
To perform branching in the B&B tree, we consider four branching strategies. These
strategies are used in a hierarchical fashion. The first strategy branches on the zk
variables, while the second strategy branches on whether an optional cargo is picked

123

M. Stalhane et al.

up or not. If either is branched to zero, all arcs connected to the affected cargoes
pickup and delivery nodes are removed from all subproblems. The one-branch is
imposed by fixing zk in the first strategy, while in the second strategy it is imposed
by replacing the  with an for the corresponding constraint in (3).
The third branching strategy is to branch on whether a given ship picks up a
given cargo or not. This strategy may both affect the master problem and change the
structure of the subproblems. The one-branch is imposed by discarding all paths
created in the subproblem for the given ship that does not pick up the cargo. To
ensure that this is handled properly in the subproblem, we change the dominance
criteria so that a label L where a branched cargo i is a member of DL may not be
dominated by a label L0 where i is not a member of DL0 . The one-branch also
imposes that all arcs going to the pickup and delivery nodes of the cargo that is
branched upon may be removed from the subproblems of all other ships. The zerobranch is imposed by removing all arcs going to the pickup and delivery nodes of
the branched upon cargo from the subproblem of the branched upon ship.
The fourth branching strategy is to branch on whether a certain ship traverses a
given arc or not. Note that a one-branch on an arc implies that the cargoes belonging
to both the tail-node and head-node of the arc have to be picked up by that ship, and
that the given arc has to be traversed, while the zero-branch removes the arc from
the subproblem. In both instances we have to modify the dominance criteria. In the
case of the one-branch, the same rules as for the third branching strategy apply,
while in the case of the zero-branch the delivery triangle inequality can no longer be
guaranteed, and thus we have to modify the dominance criterion 5 to be
OL1 OL2 .
The nodes in the B&B tree are processed in a best first order, depending on the
upper bound of their parent.

4 Computational study
The solution method presented in this paper has been implemented in Java 6.0 and
uses the XpressMP 1.19.0 LP-solver through its BCL interface. In addition, we have
used the Ojalgo open-source LP-solver, implemented in Java, to solve sp to avoid
the considerable overhead in transferring data between Java and XpressMP.
The computational experiments have been run on an HP DL 160 G5 computer
with an Intel Xeon QuadCore E5472 3.0 GHz processor, 16 GB of RAM and
running on a Linux operating system. The Java-code is run as a single thread, thus
not taking advantage of the multi-core processor. However, XpressMP is allowed to
use multiple-threads when solving the RMP. The tests have been run on the same
computer as the one used by Andersson et al. (2011), which we compare our results
with.
4.1 Test instances
The test instances used are the same ones as used by Andersson et al. (2011). They
are divided into three categories A, B, and C. The instances in category A represent

123

A branch-and-price method for a ship routing

the base case with the data coming from a real project shipping company. In
category B the number of synchronized cargoes is increased, while for category C
the synchronization is tightened so that different ships have to pick up each of the
cargoes in a synchronized cargo set. A summary of the test instances used can be
found in Table 1. For each instance, we give the number of cargoes available, the
number of ships in the fleet, the number of contracted and optional cargoes, as well
as the number of cargoes that are synchronized (and coupled since K S).
4.2 Computational results
We have tested the computational efficiency of our branch-and-price approach and
compared it with the solution times given in the paper by Andersson et al. (2011),
denoted PreGen. The results are summarized in Table 2. For PreGen we state the
time spent generating routes (gen. time) and the time spent solving the path-flow
model (master time), as well as the total computing time (total time). For our
column generation approach (PF) we report the time spent solving the subproblem
(SP time), the time spent solving the restricted master problem (RMP time), and the
total running time of the branch-and-price algorithm (total time). All times are given
in seconds. Note that for PF the total solution time is usually slightly higher than the
sum of the SP time and RMP time due to the small overhead used to manage the
B&B-tree. The comparison of the computing times is given by the ratio calculated
as the total computing time of PreGen divided by the total computing time of PF
(ratio). For the instances where the computing time of PF is zero, we use INF to
denote that the ratio is infinitely large, unless the computing time of PreGen is also
zero, in which case we use 1 to denote that the computing times are the same.
For the smaller test instances from 10 to 18 cargoes both methods perform
relatively well, staying below a minute in total computing time for all instances.
However, as the number of cargoes exceeds 20, we see that the total solution time of
PreGen increases a lot, mainly due to the time spent generating routes. The large
generation time of PreGen as the instances get larger also indicates that generating
all schedules a priori is not a good approach for PF, since PF has several schedules
for each route generated. For the instances with 2026 cargoes the PF method is
between 21 and 5,700 times faster than the PreGen method, and all instances except
one are solved in less than 8 min (480 s). For the instances with 28, 30, and 32
cargoes, the generation of routes fail due to memory problems for the PreGen
method. However, the branch-and-price algorithm is still able to solve the instances
quickly, spending less than one hour (3,600 s) in all but one instance (26.B).
In Table 3 the root node gap (root gap) and the number of columns generated (#
columns) are compared for the two methods. For PreGen the number of columns
equals the number of routes in the network, while for PF it equals the number of
route and schedule combinations that were generated. The root node gap is, on
average, about 20 % better for PF, and for five of the instances (virtually) the entire
gap is closed in the root node. We also see that the root node gap is, in most
instances, much larger for the C instances than for the A and B instances. Further,
we see that the total number of routes and schedules generated for PF is a very small
fraction of the number of routes generated for PreGen.

123

M. Stalhane et al.
Table 1 Summary of the test instances originally proposed by Andersson et al. (2011)
Instance

Cargoes

Ships

Contracted cargoes

Optional cargoes

Synchronized cargoes

10.A

10

10.B

10

10.C

10

12.A

12

12.B

12

12.C

12

14.A

14

14.B

14

14.C

14

16.A

16

16.B

16

16.C

16

18.A

18

11

18.B

18

11

18.C

18

11

20.A

20

15

20.B

20

15

10

20.C

20

15

22.A

22

15

22.B

22

15

10

22.C

22

15

24.A

24

17

24.B

24

17

12

24.C

24

17

26.A

26

18

10

26.B

26

18

14

26.C

26

18

10

28.A

28

20

10

28.B

28

20

14

28.C

28

20

10

30.A

30

10

20

12

30.B

30

10

20

16

30.C

30

10

20

12

32.A

32

10

22

12

32.B

32

10

22

16

32.C

32

10

22

12

For each instance we report the total number of cargoes, the number of ships, the number of contracted
and optional cargoes, and the number of cargoes that are coupled and requires synchronized deliveries

123

A branch-and-price method for a ship routing


Table 2 Comparison of the computational experiments of PreGen and PF
Instance

PreGen
Gen. time

PF
Master time

Total time

RMP time

SP time

Total time

Ratio

10.A

10.B

1
1

10.C

INF

12.A

12.B

INF

12.C

14.A

INF

14.B

INF

14.C

16.A

16.B

16.C

18.A

20

27

14

18.B

28

37

19

18.C

14

20.A

5,696

343

6,039

755

20.B

6,520

395

6,915

1,153

20.C

112

35

147

21

22.A

19,261

607

19,868

423

427

47

22.B

23,091

720

23,811

45

46

518

22.C

345

79

424

53

24.A

38,338

1,348

39,686

12

12

3,307

24.B

49,107

1,719

50,826

5,647

24.C

1,467

247

1,714

19

20

86

26.A

81,942

1,199

83,141

17

18

4,619

26.B

95,600

1,961

97,561

3,569

3,571

27

26.C

9,049

540

9,589

23

23

417

28.A

N/A

60

62

N/A

28.B

N/A

119

121

N/A

28.C

N/A

54

56

N/A

30.A

N/A

679

683

N/A

30.B

N/A

1,800

1,807

N/A

30.C

N/A

10

1,050

1,064

N/A

32.A

N/A

645

649

N/A

32.B

N/A

5,551

5,556

N/A

32.C

N/A

15

1,484

1,509

N/A

12,586

433

435

Avg

12,243

343

For PreGen we present the time spent generating routes, the time spent solving the mathematical model,
and the total computing time. For PF we present the time spent in the restricted master problem, the time
spent in the subproblem and the total computing time. Finally, we present the ratio of the computing times
of the two methods, computed as the total time of PreGen divided by the total time of PF

123

M. Stalhane et al.
Table 3 Comparisons of the root node gap and the total number of columns generated for PreGen and
PF, respectively
Instance

PreGen
Root gap (%)

PF
# Columns

Root gap (%)

# Columns

20.A

0.1

159,713

0.0

472

20.B

0.1

182,539

0.0

410

20.C

8.3

26,428

8.3

542

22.A

0.9

262,099

0.4

1,043

22.B

0.9

297,250

0.4

778

22.C

13.8

46,368

13.4

564

24.A

0.2

378,139

0.0

539

24.B

0.2

472,763

0.0

466

24.C

8.4

90,977

8.1

744

26.A

0.2

395,425

0.0

614

26.B

3.7

516,596

0.2

834

26.C

3.4

173,339

1.4

593

Avg.

3.35

250,136

2.71

633

4.3 Full compatibility tests


One of the reasons we are able to solve quite large instances with our method is that
there are a lot of restrictions on which ships may service which cargoes in project
shipping. This can be due to the abnormal shape of the cargo, the weight of the
cargo, or the accessibility of the port where the cargo is to be picked up or delivered.
An overview of the number of allowed shipcargo combinations and the total
number of possible combinations is given in Table 4. As can be seen by the table,
only between 60 and 70 % of the possible shipcargo combinations are allowed in
the original test instances.
To investigate the performance of our algorithm for larger instances, we have
tested the instances with 20 cargoes or more, while allowing all ships to transport all
cargoes. The computational results from solving PF with full compatibility (PFFC)
are presented, and compared with the original results, in Table 5. For the instances
with 2028 cargoes, the gap between the root node solution and the optimal integer
solution is given (root gap) along with the total computing time spent in the
restricted master problem (RMP time) and in the subproblems (SP time). Further,
the number of branch-and-bound nodes investigated in the tree search (# nodes), and
the total number of columns generated (# columns) are given. Finally, the table lists
how much the objective value improved by allowing all ships to transport all
cargoes (% impr.).
Comparing the results of applying our branch-and-price approach to the two sets
of instances, we see that the solution time increases for all instances except two
(22.A and 26.B) when allowing all ships to service all cargoes. The branch-andprice approach is also unable to solve the instances with 30 and 32 cargoes within a

123

A branch-and-price method for a ship routing


Table 4 Overview of the number of allowed, and possible, shipcargo combinations in each test
instance
# Cargoes

Allowed combinations

Total combinations

Percentage (%)

20

55

80

69

22

54

88

61

24

63

96

66

26

67

104

64

28

71

112

63

30

75

120

63

32

77

128

60

reasonable amount of time (10 h) for PFFC. For the instances solved with full
compatibility, we see that the solution time is not much worse than for the original
instances, with all instances except one (24.b) being solved within 1 h (3,600 s).
The average root node gap is almost identical for the two set of instances, however,
for instances 20.C and 22.C the root node gap is much smaller for PFFC than for PF.
This is due to the fact that with full compatibility between cargoes and ships, the
fleet of ships is able to service some of the coupled cargoes, that are not possible to
service in an integral solution of PF. However, in the root node solution of PF, the
fleet of ships is able to service fractional parts of these coupled cargoes, leading to a
big integrality gap in the root node. In most of the instances PFFC is able to service
more cargoes than PF, something that is reflected in the improvement of the
objective value, which is, on average, 15 %.
Both PF and PFFC spend almost all of their computing time in the subproblems.
The main reason why the average computing time in the RMP is significantly larger
for PFFC is that it investigates a lot more nodes to prove optimality, on average
about six times more nodes than PF. This may be expected since there are a lot more
shipcargo combinations allowed. Finally, we also see that the average number of
generated columns are more than three times as high when allowing full
compatibility.

5 Concluding remarks
This paper has presented a new solution method for the maritime pickup and
delivery problem with time windows, cargo coupling and synchronization
constraints. The method includes a new path-flow formulation of the problem,
which is solved using branch-and-price. The solution method also includes a new
variant of the elementary shortest path problem, and a method for efficiently solving
it using dynamic programming.
The efficiency of the new solution method is benchmarked against the best
previously known solutions from the literature. The test results show that the
computational time can be reduced by a factor of more than 20 for larger instances
by employing the methodology proposed. The branch-and-price approach may also

123

123

0.00

0.00

8.11

0.02

0.24

1.43

1.32

1.32

4.15

2.62

24.A

24.B

24.C

26.A

26.B

26.C

28.A

28.B

28.C

Avg

292

54

119

60

23

3,569

17

19

12

45

423

32

17

13

11

17

85

281

11

677

861

904

792

593

834

614

744

466

539

564

778

1,043

542

410

472

# Columns
2.16

2.64

6.65

1.43

1.43

3.38

1.94

0.01

6.00

3.60

0.86

3.00

2.21

2.21

2.55

2.16

20

69

47

145

RMP time

957

1,184

655

333

219

643

124

654

9,442

119

154

352

381

40

32

29

SP time

191

426

35

57

13

21

397

1,659

83

35

47

31

19

21

# Nodes

2,370

5,499

1,699

1,842

1,426

1,775

1,154

4,327

6,759

1,327

2,347

1,811

2,020

1,435

1,086

1,045

# Columns

15

15

14

14

21

11

10

13

10

35

22

22

22

% Impr. (%)

For each set of instances we report the root node gap, the time spent solving the master and subproblems, the number of branch-and-bound nodes and the number of
columns generated. Finally, the improvement of the objective value by allowing full compatibility is reported

0.42

0.42

22.A

13.43

8.37

20.C

22.C

0.07

22.B

0.07

20.B

# Nodes

Root gap (%)

SP time

Root gap (%)

RMP time

PFFC

PF

20.A

Instance

Table 5 Detailed comparison of the computational experiments with original compatibility and full compatibility

M. Stalhane et al.

A branch-and-price method for a ship routing

solve instances that are much larger than those solved by the previous methodology
in reasonable time.

References
Andersson H, Duesund J, Fagerholt K (2011) Ship routing and scheduling with cargo coupling and
synchronization constraints. Comput Ind Eng 61(4):11071164
Barnhart C, Johnson EL, Nemhauser GL, Savelsbergh MPW, Vance PH (1998) Branch-and-price:
column generation for solving huge integer programs. Oper Res 46(3):316329
Berbeglia G, Cordeau JF, Gribkovskaia I, Laporte G (2007) Static pickup and delivery problems: a
classification scheme and survey. TOP 15:131
Brnmo G, Christiansen M, Fagerholt K, Nygreen B (2007) A multi-start local search heuristic for ship
schedulinga computational study. Comput Oper Res 34:900917
Christiansen M, Fagerholt K, Nygreen B, Ronen D (2013) Ship routing and scheduling in the new
millennium. Eur J Oper Res 228(3):467483
Desrosiers J, Dumas Y, Solomon M, Soumis F (1995) Time constrained routing and scheduling. In: Ball
M, Magnanti T, Monma C, Nemhauser G (eds) Network routing, handbooks in operations research
and management science, vol 8. Elsevier Science, Amsterdam, pp 35139
Dohn A, Kolind E, Clausen J (2009) The manpower allocation problem with time windows and jobteaming constraints: a branch-and-price approach. Comput Oper Res 36(4):11451157
Dohn A, Rasmussen MS, Larsen J (2011) The vehicle routing problem with time windows and temporal
dependencies. Networks 58(4):273289
Drexl M (2012) Synchronization in vehicle routinga survey of vrps with multiple synchronization
constraints. Transp Sci 46(3):297316
Fagerholt K, Hvattum LM, Johnsen TAV, Korsvik JE (2011) Routing and scheduling in project shipping.
Ann Oper Res 36(1):94118
Ioachim I, Desrosiers J, Soumis F, Be`langer N (1999) Fleet assignment and routing with schedule
synchronization constraints. Eur J Oper Res 199:7590
Korsvik J, Fagerholt K, Laporte G (2010) A tabu search heuristic for ship routing and scheduling. J Oper
Res Soc 61:594603
Lawrence SA (1972) International sea transport: the years ahead. Lexington Books, Chicago
Lubbecke M, Desrosiers J (2005) Selected topics in column generation. Oper Res 53(6):10071023
Malliappi F, Bennell J, Potts C (2011) A variable neighborhood search heuristic for tramp ship
scheduling. Comput Logist Lect Notes Comput Sci 6971:273285
Rpke S, Cordeau JF (2009) Branch-and-cut-and-price for the pickup and delivery problem with time
windows. Transp Sci 43(3):267286
Stalhane M, Andersson H, Christiansen M, Cordeau JF, Desaulniers G (2012) A branch-price-and-cut
method for a ship routing and scheduling problem with split loads. Comput Oper Res 39:33613375

123