Date post: | 05-Oct-2015 |
Category: |
Documents |
Upload: | cojocaru-sergiu-ionut |
View: | 233 times |
Download: | 0 times |
RESEARCH PAPER
A branch-and-price method for a ship routingand scheduling problem with cargo couplingand 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 ResearchSocieties 2014
Abstract The purpose of this paper is to present a branch-and-price method tosolve 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. ChristiansenDepartment of Industrial Economics and Technology Management, Norwegian University of
Science and Technology, Trondheim, Norway
e-mail: [email protected]
123
EURO J Transp Logist
DOI 10.1007/s13676-014-0061-5
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),
M. Stalhane et al.
123
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 above-
mentioned 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 branch-
and-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,
A branch-and-price method for a ship routing
123
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 exper-
iments 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 arcsconnecting each pair of nodes in the graph. The set N can be divided into twodisjoint sets: N P f1; . . .; ng is the set of pickup nodes, and N D fn 1; . . .; 2ngis the set of delivery nodes. The set N P is further divided into two disjoint sets: N Cis 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)cargoes. Associated with each cargo i 2 f1; . . .; ng is a unique pickup node i 2 N P,a delivery node n i 2 N D, a revenue Ri for transporting the cargo, and a volumequantity Qi that estimates the space the cargo occupies in a cargo hold. Each node
i 2 N has a time window [Ti; Ti] which gives an earliest and a latest time for startof service at the node.
In addition, we have a set S of sets of delivery nodes, each denoted NSs wheres 1; . . .; j S j. For each set NSs , all delivery nodes in the set have the samephysical delivery location, and must be delivered within TSs time units of each other.
We also have a set K of sets of optional coupled cargoes NKk 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 withvolume capacity Kv. It also has a starting position ov, an artificial ending positiondv, and a graph Gv N v;Av associated with it. The set of verticesN v N [ fov; dvg, and the set of arcs Av N v N v define the feasiblemovements for ship v. For each arc i; j 2 Av there is a corresponding non-negative
M. Stalhane et al.
123
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. Thepath 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 timewindows 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 theset 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 Wr, indexed byw, 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:
PF maxX
v2V
X
r2Rv
X
w2WrPvrxvrw; 1
subject to:
X
v2V
X
r2Rv
X
w2WrAivrxvrw 1; 8i 2 N C; 2
X
v2V
X
r2Rv
X
w2WrAivrxvrw 1; 8i 2 N O; 3
A branch-and-price method for a ship routing
123
Xv2V
X
r2Rv
X
w2WrAivrxvrw zk; k 1; . . .; j K j; 8i 2 NKk ; 4
X
r2Rv
X
w2Wrxvrw 1; 8v 2 V; 5
X
v2V
X
r2Rv
X
w2WrTivrw Tjvrwxvrw TSs ; s 1; . . .; j S j; 8i; j 2 NSs ; 6
X
w2Wrxvrw 2 f0; 1g; 8v 2 V; r 2 Rv; 7
xvrw 0; 8v 2 V; r 2 Rv; w 2 Wr; 8
zk 2 f0; 1g; k 1; . . .; j K j : 9The 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. Con-
straints (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
M. Stalhane et al.
123
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), cikthe dual variables of constraints (4), bv the dual variables of constraints (5), anddijs the dual variables of constraints (6). To simplify the notation in the model, weassume 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 hasa value of zero in the subproblems. Further, let xijv be equal to one if arc i; j isused 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 ai ; cik; bv ; dijs may then be formulated inthe following way:
A branch-and-price method for a ship routing
123
SP maxbv X
i2N P
X
j2N vRi ai
XkjKj
k1cik
!xijv
X
i;j2AvCijvxijv
XjSj
s1
X
i2NSs
X
j2NSsdijstiv tjv
10
subject to:
X
j2N vxovjv 1; 11
X
j2N vxjiv
X
j2N vxijv 0; 8i 2 N v n fov; dvg; 12
X
i2N vxidvv 1; 13
liv Qj ljvxijv 0; 8i; j 2 Av j j 2 N P; 14
liv Qj lnjvxinjv 0; 8i; n j 2 Av j j 2 N P; 15
liv KvX
j2N vxijv 8i 2 N P; 16
lniv Kv QiX
j2N vxijv 8i 2 N P; 17
tiv Tijv tjvxijv 0; 8i; j 2 Av; 18
X
j2N vxijv
X
j2N vxnijv 0; 8i 2 N P; 19
M. Stalhane et al.
123
tiv X
i2N vTinivxijv tniv 0; 8i 2 N P; 20
Ti
X
j2N vxijv tiv Ti
X
j2N vxijv; 8i 2 N v; 21
liv 0; 8i 2 N v; 22
xijv 2 f0; 1g; 8i; j 2 Av: 23The 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 con-
straints (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 theships origin node, ov. While there are labels left in U, the removefirstU functionremoves 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 thenchecked 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 aredominated by L0 are removed from both Li and U. Once there are no moreunprocessed labels left in U we filter out the paths represented by the labels in Ldvwith positive reduced cost, and add them to the set P, which is then returned by thealgorithm. In the following we describe what information is stored in a label, what
constitutes a feasible extension, and how labels are compared for dominance.
A branch-and-price method for a ship routing
123
Algorithm 1 Pseudo-code of labeling algorithm for ship v
Input: graph Gv = (Nv,Av)U = {L(o(v))}while U = doL = removefirst(U)for each feasible extension of L L do
let i be the last node of the path represented by label Lif no label in Li dominates L then
remove all labels in Li and U that are dominated by LLi = Li {L }U = U {L }
end ifend for
end whilefor L Ld(v) doif accumulated reduced cost of L > 0 then
add the path represented by L to Pend if
end forreturn P
3.2.1 Labels
For each label we store the following data:
1. gThe node of the label.2. /The predecessor label.3. tThe earliest possible start of service at the node.
4. cThe accumulated reduced cost.
5. DThe set of cargoes picked up (and possibly delivered).6. 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 startof service at the node of label L and similar notation is used for the rest of the data
(e.g., gL; /L; cL; DL; andOL).
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 Tj; 24
M. Stalhane et al.
123
Xi2OLQi Qj Kv _ j 62 N P; 25
and one of the following hold:
0\j n ^ j 62 DL 26
n\j 2n ^ j n 2 OL 27
j dv ^ OL ; 28Let dijv represent the contribution to the reduced cost of traversing arc i; j usingship v. It may be expressed as follows:
dijv Ri Cijv ai
PjKjk1 c
ik if i 2 N P;
Cijv if i 2 N D;Cijv bv if i ov:
8>:29
Given that the extension of L0 is feasible, the label data are updated as follows:
gL0 j 30
/L0 L 31
tL0 maxfTj; tL TgLjvg 32
cL0 cL dgLjv 33
DL0 DL [ fjg if j 2 NP
DL if j 2 N D(
34
OL0 OL [ fjg if j 2 NP
OL n fj ng if j 2 N D(
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.
A branch-and-price method for a ship routing
123
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, butalso on the extension i; . . .; dv. Once a path p has been created from ov to dvthe 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 sp. Further, let Ap and Dp be the set of arcs usedand cargoes serviced by path p, respectively, and let dijs be equal to zero if not both iand j are members of s. The reduced problem is presented below.
sp maxXjSj
s1
X
i2Dp
X
j2N Ddnijs djnistniv 36
subject to:
tiv Tijv tjv 0; 8i; j 2 Ap; 37
Ti tiv Ti; 8i; i n 2 Dp: 38For a label L with gL dv representing a path pL we may now define thereduced cost cvrwL as: cvrwL cL spL.
To accommodate the synchronization duals in SP we need new dominance
criteria. Let sp be a lower bound on the value of sp found by solving thereduced problem (36)(38) as a minimization problem. The dominance criteria for
SP may then be presented as follows:
Proposition 1 A label L1 dominates L2 if:
1. gL1 gL22. tL1 tL2)3. cL1 spL1 cL2 spL24. DL1 DL25. 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 thepath obtained by removing the deliveries corresponding to the cargoes in OL2 nOL1 from p. Using criteria 1, 2, 4, and 5, Rpke and Cordeau (2009) prove that p0
M. Stalhane et al.
123
must be a feasible extension of L1. For simplicity we denote p1 L1; p0 theconcatenation of the partial path represented by L1 and p
0 and likewise p2 L2; p.We start by proving some partial results:
Lemma 1 cL1 spL1 cL2 spL2 ! cLp1 spL1cLp2 spL2.Proof (Lemma 1) cLp0 cLp due to the triangle inequality. Thus we canpresent the following inequalities:
cL1 spL1 cL2 spL2! cL1 cLp spL1 cL2 cLp spL2! cL1 cLp0 spL1 cL2 cLp spL2
! cLp1 spL1 cLp2 spL2Thus Lemma 1 is correct. h
Lemma 2 sp0 sp.Proof (Lemma 2) As both p0 and p visits the same pickup nodes the objectivefunctions (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 ofsp0, and thus sp0 sp. h
Note that adjusting the lower bound TgL1 in constraints (38) to be tL1 andtL2 for p0 and p, respectively, will not affect the result of Lemma 2, because ofdominance criterion 2.
Lemma 3 sp1 sp0 spL1.Proof (Lemma 3) By adding constraints (37) from sp0 to constraints (37) ofspL1, and the restriction tgL1 tL1, we get a linear program that we denotes0pL1, which is more constrained than the original problem. Therefore we havethe relationship s0pL1 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 s0pL1 and sp0have no common variables in the objective function the following relationship
holds: sp0 spL1 sp0 s0pL1 sp1. hLemma 4 sp2 sp spL2.Proof (Lemma 4) Constraints (37) and (38) of LPs sp and spL2, are subsetsof the corresponding constraints for sp2. Therefore the optimal solution of sp2 isfeasible (but not necessarily optimal) for both sp and spL2. In addition we seethat the objective function of sp2 equals adding the objective functions of sp andspL2 together. Thus we get the relationship sp2 sp spL2. h
A branch-and-price method for a ship routing
123
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 spL1 cL2 spL2 ! cLp1 sp1 cLp2 sp239
Proof (Theorem 1)
cL1 spL1 cL2 spL2 Criterion 3, Proposition 1! cLp1 spL1 cLp2 spL2 applying Lemma 1! cLp1 spL1 sp0 cLp2 spL2 sp applying Lemma 2! cLp1 sp1 cLp2 spL2 sp applying Lemma 3! cLp1 sp1 cLp2 sp2 applying Lemma 4
h
In the proof of Lemma 2 we state that each t-variable in sp0 is no moreconstrained than the corresponding t-variable in sp, and therefore we may removethese 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 variablescorresponding to the delivery nodes of the cargoes in OL1. Thus we may removethese variables from the objective function when calculating the lower and upper
bounds, and replace dominance criterion 3 with: cL1 sL1cL2 sL2; L1
where:
sL1 minXjSj
s1
X
i2DL1nOL1
X
j2N Ddnijs djnistniv 40
subject to:
tiv Tijv tjv 0; 8i; j 2 ApL1; 41
Ti tiv Ti; 8i; i n 2 DL1: 42
sL2; L1 maxXjSj
s1
X
i2DL2nOL1
X
j2N Ddnijs djnistniv 43
M. Stalhane et al.
123
subject to:
tiv Tijv tjv 0; 8i; j 2 ApL2; 44
Ti tiv Ti; 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 closestneighbors, 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 toGvl. 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 jN j2
2. l 3jN j4
3. 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 zkvariables, while the second strategy branches on whether an optional cargo is picked
A branch-and-price method for a ship routing
123
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 bedominated by a label L0 where i is not a member of DL0. The one-branch alsoimposes 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 zero-
branch 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 avoidthe 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
M. Stalhane et al.
123
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.
A branch-and-price method for a ship routing
123
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 3 5 5 2
10.B 10 3 5 5 4
10.C 10 3 5 5 2
12.A 12 3 6 6 4
12.B 12 3 6 6 6
12.C 12 3 6 6 4
14.A 14 3 7 7 4
14.B 14 3 7 7 6
14.C 14 3 7 7 4
16.A 16 4 7 9 4
16.B 16 4 7 9 6
16.C 16 4 7 9 4
18.A 18 4 7 11 6
18.B 18 4 7 11 8
18.C 18 4 7 11 6
20.A 20 4 5 15 8
20.B 20 4 5 15 10
20.C 20 4 5 15 8
22.A 22 4 7 15 8
22.B 22 4 7 15 10
22.C 22 4 7 15 8
24.A 24 4 7 17 8
24.B 24 4 7 17 12
24.C 24 4 7 17 8
26.A 26 4 8 18 10
26.B 26 4 8 18 14
26.C 26 4 8 18 10
28.A 28 4 8 20 10
28.B 28 4 8 20 14
28.C 28 4 8 20 10
30.A 30 4 10 20 12
30.B 30 4 10 20 16
30.C 30 4 10 20 12
32.A 32 4 10 22 12
32.B 32 4 10 22 16
32.C 32 4 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
M. Stalhane et al.
123
Table 2 Comparison of the computational experiments of PreGen and PF
Instance PreGen PF
Gen. time Master time Total time RMP time SP time Total time Ratio
10.A 0 0 0 0 0 0 1
10.B 0 0 0 0 0 0 1
10.C 1 0 1 0 0 0 INF
12.A 0 0 0 0 0 0 1
12.B 0 1 1 0 0 0 INF
12.C 0 0 0 0 0 0 1
14.A 1 1 2 0 0 0 INF
14.B 1 1 2 0 0 0 INF
14.C 0 1 1 0 1 1 1
16.A 1 2 3 0 1 1 3
16.B 1 2 3 0 1 1 3
16.C 1 2 3 0 1 1 3
18.A 7 20 27 0 2 2 14
18.B 9 28 37 0 2 2 19
18.C 5 9 14 0 4 4 4
20.A 5,696 343 6,039 0 8 8 755
20.B 6,520 395 6,915 0 5 6 1,153
20.C 112 35 147 0 6 7 21
22.A 19,261 607 19,868 2 423 427 47
22.B 23,091 720 23,811 1 45 46 518
22.C 345 79 424 0 7 8 53
24.A 38,338 1,348 39,686 0 12 12 3,307
24.B 49,107 1,719 50,826 0 8 9 5,647
24.C 1,467 247 1,714 0 19 20 86
26.A 81,942 1,199 83,141 0 17 18 4,619
26.B 95,600 1,961 97,561 1 3,569 3,571 27
26.C 9,049 540 9,589 0 23 23 417
28.A N/A 1 60 62 N/A
28.B N/A 2 119 121 N/A
28.C N/A 1 54 56 N/A
30.A N/A 3 679 683 N/A
30.B N/A 5 1,800 1,807 N/A
30.C N/A 10 1,050 1,064 N/A
32.A N/A 2 645 649 N/A
32.B N/A 3 5,551 5,556 N/A
32.C N/A 15 1,484 1,509 N/A
Avg 12,243 343 12,586 1 433 435
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
A branch-and-price method for a ship routing
123
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-and-
price approach is also unable to solve the instances with 30 and 32 cargoes within a
Table 3 Comparisons of the root node gap and the total number of columns generated for PreGen andPF, respectively
Instance PreGen PF
Root gap (%) # 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
M. Stalhane et al.
123
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
Table 4 Overview of the number of allowed, and possible, shipcargo combinations in each testinstance
# 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
A branch-and-price method for a ship routing
123
Ta
ble
5D
etai
led
com
par
ison
of
the
com
puta
tional
exper
imen
tsw
ith
ori
gin
alco
mpat
ibil
ity
and
full
com
pat
ibil
ity
Inst
ance
PF
PF
FC
Ro
ot
gap
(%)
RM
Pti
me
SP
tim
e#
No
des
#C
olu
mn
sR
oo
tg
ap(%
)R
MP
tim
eS
Pti
me
#N
od
es#
Colu
mn
s%
Imp
r.(%
)
20
.A0
.07
08
11
47
22
.16
12
92
11
,045
6
20
.B0
.07
05
54
10
2.1
61
32
19
1,0
86
6
20
.C8
.37
06
95
42
2.5
52
40
31
1,4
35
22
22
.A0
.42
24
23
28
11
,043
2.2
17
38
14
72
,020
22
22
.B0
.42
14
58
57
78
2.2
15
35
23
51
,811
22
22
.C1
3.4
30
77
56
43
.00
81
54
83
2,3
47
35
24
.A0
.00
01
25
53
90
.86
21
19
91
,327
10
24
.B0
.00
08
54
66
3.6
01
45
9,4
42
1,6
59
6,7
59
7
24
.C8
.11
01
91
77
44
6.0
04
76
54
39
74
,327
13
26
.A0
.02
01
75
61
40
.01
11
24
91
,154
10
26
.B0
.24
13
,56
91
18
34
1.9
45
64
32
11
,775
11
26
.C1
.43
02
31
35
93
3.3
83
21
91
31
,426
21
28
.A1
.32
16
07
79
21
.43
53
33
57
1,8
42
14
28
.B1
.32
21
19
99
04
1.4
35
65
53
51
,699
14
28
.C4
.15
15
41
78
61
6.6
56
91
,18
44
26
5,4
99
15
Av
g2
.62
12
92
32
67
72
.64
20
95
71
91
2,3
70
15
Fo
rea
chse
to
fin
stan
ces
we
repo
rtth
ero
ot
no
de
gap
,th
eti
me
spen
tso
lvin
gth
em
aste
ran
dsu
bp
rob
lem
s,th
en
um
ber
of
bra
nch
-an
d-b
ou
nd
no
des
and
the
num
ber
of
colu
mn
sg
ener
ated
.F
inal
ly,
the
imp
rovem
ent
of
the
ob
ject
ive
val
ue
by
allo
win
gfu
llco
mp
atib
ilit
yis
repo
rted
M. Stalhane et al.
123
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 job-
teaming 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
A branch-and-price method for a ship routing
123
A branch-and-price method for a ship routing and scheduling problem with cargo coupling and synchronization constraintsAbstractIntroductionProblem description and mathematical modelSolution methodSubproblemsA labeling algorithm for the subproblemsLabelsLabel extensionDominance criteria
Acceleration strategiesBranching
Computational studyTest instancesComputational resultsFull compatibility tests
Concluding remarksReferences