branch-and-price method for a ship routing

24
 RESEARCH PAPER A branch-and-price method for a ship routing and scheduling problem with cargo coupling and synchronization constraints Magnus Sta ˚ lhane  Henrik Andersson  Marielle Christia nsen Recei ved: 28 April 2014 / Accep ted: 28 August 2014  Springer-Verlag Berlin Heidelberg and EURO - The Association of European Operational Research Societies 2014 Abstract  The purpose of thi s paper is to presen t 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 eet of ships is heterogeneous and considered xed. 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 rst and last delivery is made. The objective is to design a route and schedule for each ship that maximizes the total prot from transporting a subset of the cargoes ava ila ble. A new mat hema tic al for mul ati on is presented and sol ved 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 signicantly better than existing methods for solving this problem. Keywords  Branch-and-price    Maritime transportation    Synchronization   Tempora l constraints 1 Intr oducti on 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. Sta ˚ lhane (&)    H. Andersson    M. Christiansen Department of Industrial Economics and Technology Management, Norwegian University of Scien ce and Techn ology , Trondh eim, Norwa y e-mail: [email protected]  1 3 EURO J Transp Logist DOI 10.1007/s13676-014-0061-5

Upload: cojocaru-sergiu-ionut

Post on 05-Oct-2015

232 views

Category:

Documents


0 download

DESCRIPTION

branch-and-price method for a ship routing

TRANSCRIPT

  • 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