branch-and-price method for a ship routing

© All Rights Reserved

Просмотров: 6

branch-and-price method for a ship routing

© All Rights Reserved

- Chapter 2 - Linear Programming
- Operations Research - An Introd - Hamdy a. Taha
- Linear Optimizations
- EP_CEED_venkatesh
- Intelligence & Synergy of Everyone
- Chen 2012
- SyllabusMath364S11
- 18_2_189
- MSCCOMPSCT1
- Lecture 1
- 28.1-cong
- Expert System in Reservoir Release Strategies
- 5-Nikolaidis, Nenes (1)
- Presentation Newest 2
- Constrained Optimization 1.docx
- Linear Programming
- GeometriaPL
- AWDM 23 Model Optimization Techniques
- fmipw1-6.pdf
- Optimization (Linear Programming) Using Matlab

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

DOI 10.1007/s13676-014-0061-5

RESEARCH PAPER

and scheduling problem with cargo coupling

and synchronization constraints

Magnus Stalhane Henrik Andersson

Marielle Christiansen

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

Societies 2014

solve a maritime pickup and delivery problem with time windows, cargo coupling,

and synchronized deliveries. This problem originates from a segment of shipping

called project shipping that subsists on transporting unique and specialized cargoes.

The fleet of ships is heterogeneous and considered fixed. Some sets of cargoes are

coupled, meaning that either all or none of them are transported. Further, some of

these coupled cargoes require synchronized deliveries, restricting the time elapsed

between the first and last delivery is made. The objective is to design a route and

schedule for each ship that maximizes the total profit from transporting a subset of

the cargoes available. A new mathematical formulation is presented and solved

using branch-and-price. The subproblem is a new variant of the elementary shortest

path problem with resource constraints, and is solved by dynamic programming.

Finally, the computational results show that the approach presented in this paper is

significantly better than existing methods for solving this problem.

Keywords Branch-and-price Maritime transportation Synchronization

Temporal constraints

1 Introduction

This paper presents a new branch-and-price method, tailored to solve a pickup and

delivery problem with time windows, cargo coupling, and synchronized deliveries.

The problem emanates from a maritime routing and scheduling problem that arises

M. Stalhane (&) H. Andersson M. Christiansen

Department of Industrial Economics and Technology Management, Norwegian University of

Science and Technology, Trondheim, Norway

e-mail: Magnus.Stalhane@iot.ntnu.no

123

M. Stalhane et al.

duty shipping. What sets project shipping apart from regular tramp shipping is that

the cargoes transported are usually highly specialized and unique. They may be

parts of an oil rig built at different yards in Europe or China that need to be shipped

to the point of assembly on the West African coast. Alternatively, they may be

turbines and generators that need to be shipped from their building locations in

North America to the site of the factory in the Middle East. There are many

interesting aspects to study in this segment of shipping. One is the aggregation of

cargoes into one contract, so that the shipping company must agree to transport all

of them to be awarded the contract. Often the contracts also call for synchronized

deliveries of the contract cargoes. The cargoes usually have different pickup

locations but the same delivery point. The time windows for delivery are normally

quite wide, but the contracts may include a clause, limiting the number of days

between the delivery of the first and the last cargo.

Tramp shipping is a mode of maritime transportation where ships act similar to

taxis, picking up and delivering goods at ports around the world, trying to maximize

their profit while selecting a subset of the available cargoes (Lawrence 1972).

Tramp shipping problems are categorized in the literature as a maritime version of

the more general pickup and delivery problem with time windows (PDPTW), [see

for instance Desrosiers et al. (1995)]. The standard PDPTW consists of a set of node

pairs where a cargo must be transported from the pickup node to the corresponding

delivery node. Each node has a time window within which it must be serviced and a

given cargo quantity that is to be picked up/delivered. A homogeneous fleet of

vehicles is available to service these nodes. The fleet is located at a central depot at

the beginning of the planning horizon, and must return to the depot at the end of the

planning horizon. The objective is to create a set of routes, one for each vehicle, that

minimizes the total cost of all vehicles, while ensuring that all node pairs are

serviced within their time windows, and that the capacity of each vehicle is never

violated.

What differentiates the maritime version of the PDPTW is that the fleet of

vehicles, in this case ships, is usually heterogeneous and no central depot exists.

The ships are either at a port or somewhere at sea at the beginning of the

planning horizon. The planning horizon is also longer, typically spanning several

months rather than a few days which is usual in land-based problems. However,

the travel and service times are also much longer. Unlike the standard PDPTW,

there is usually a mix of contracted cargoes that the shipping company has

already agreed to transport, and optional (spot) cargoes that the shipping

company may transport if it is profitable and if there is sufficient capacity in the

fleet. Thus, the objective of the maritime PDPTW is to maximize the profit of

transporting the optimal subset of cargoes, rather than minimizing the cost of

transporting all of them. For a more complete overview of the characteristics of

maritime routing and scheduling problems we refer to Christiansen et al. (2013),

while a thorough survey on pickup and delivery problems is given by Berbeglia

et al. (2007).

Several authors have presented branch-and-price methods for different types of

synchronization problems. These include, among others, Ioachim et al. (1999),

123

Dohn et al. (2009) and Dohn et al. (2011). Ioachim et al. (1999) present an aircraft

fleet assignment problem, where the daily schedule of each aircraft needs to be

made, and the schedules must be synchronized so that the same flight is operated at

the same time each day. Dohn et al. (2009) study a manpower allocation problem,

where teams are allocated to tasks, and teams with different skills have to be

synchronized. Dohn et al. (2011) present and compare four path-flow formulations

for the vehicle routing problem with time windows and temporal dependencies.

They rank the formulations according to how tight the solution space is described,

and present a computational study that shows the strengths and weaknesses of the

different formulations. For a more thorough survey on synchronization problems in

vehicle routing we refer to the survey of Drexl (2012).

In contrast to the papers cited above, we solve an extension of the PDPTW

and therefore, have precedence and pairing constraints on pair of nodes on each

vehicle route. Thus, each route must visit either both or none of the paired

nodes, and they must be visited in a pre-determined order. In addition, we

differentiate from the classification provided by Drexl (2012) in one important

aspect: we allow synchronized tasks to be performed by one vehicle (with the

exception of one set of test instances). For this reason, the problem presented in

this paper does not fall into any of the classifications presented in the abovementioned survey.

There are two published papers studying different aspects of project shipping.

The first was published by Fagerholt et al. (2011). They consider cargoes that need a

dedicated ship, stowage planning onboard the ship and cargo coupling, but not

synchronization of cargo deliveries. They present an arc-flow formulation of the

problem and propose a tabu search heuristic to solve it. The second paper is

presented by Andersson et al. (2011). They introduce the cargo coupling and

synchronization problem studied in this paper, for which they present an arc-flow

formulation and three path-flow formulations. The path-flow formulations are

solved by a priori path-generation. In this paper, we present a new mathematical

formulation of the problem along with a new solution approach based on branchand-price.

The maritime PDPTW has been studied by, among others, Brnmo et al.

(2007), Korsvik et al. (2010), and Malliappi et al. (2011). Brnmo et al. (2007)

give a path-flow formulation of the problem along with a multi-start local search

heuristic to solve larger problem instances heuristically, while Korsvik et al.

(2010) present a tabu search heuristic to solve it. Comparisons with the

computational results of Brnmo et al. (2007) show that the tabu search heuristic

performs better on all tested instances, and the performance gap increases as the

instances become more constrained. Malliappi et al. (2011) present a variable

neighborhood search for the same problem. They compare their algorithm with

their own implementation of the multi-start and tabu search heuristics mentioned

above on a set of instances modified from land-based transportation. The

computational results show that, on average, the variable neighborhood search

performs the best.

The purpose of this paper is twofold. First, we present a new mathematical model

for the maritime pickup and delivery problem with time windows, cargo coupling,

123

M. Stalhane et al.

incorporated into a branch-and-price framework. In this framework, we present a

new labeling algorithm, including new dominance criteria that are tailored to the

problem. It is worth noting that even though the problem originates from maritime

transportation, the mathematical model and solution method is independent of

transportation mode, and would, with small modifications, be equally suitable to

solve similar land-based versions of the problem. Through computational experiments performed on a set of real world instances from the maritime shipping

industry we show that the efficiency of the proposed solution method is much higher

than existing methods.

The remainder of this paper is structured in the following way. A detailed

description of the problem and a mathematical path-flow formulation is presented in

Sect. 2, before the details of the solution method are given in Sect. 3. In Sect. 4 we

present our computational results, while we give some concluding remarks in Sect.

5.

The problem studied in this paper is a maritime pickup and delivery problem with

time windows, coupled cargoes, and synchronization constraints. We define the

problem of transporting n cargoes on a graph G N ; A, where N f1; . . .; 2ng,

indexed by i and j, is the set of nodes, and A, indexed by i; j, is the set of arcs

connecting each pair of nodes in the graph. The set N can be divided into two

P

D

disjoint sets: N f1; . . .; ng is the set of pickup nodes, and N fn 1; . . .; 2ng

P

C

is the set of delivery nodes. The set N is further divided into two disjoint sets: N

is the set of pickup nodes associated with contracted cargoes that have to be

transported, and N O is the set of pickup nodes associated with optional (or spot)

P

cargoes. Associated with each cargo i 2 f1; . . .; ng is a unique pickup node i 2 N ,

D

a delivery node n i 2 N , a revenue Ri for transporting the cargo, and a volume

quantity Qi that estimates the space the cargo occupies in a cargo hold. Each node

i 2 N has a time window [T i ; T i ] which gives an earliest and a latest time for start

of service at the node.

S

In addition, we have a set S of sets of delivery nodes, each denoted N s where

S

s 1; . . .; j S j. For each set N s , all delivery nodes in the set have the same

physical delivery location, and must be delivered within TsS time units of each other.

K

We also have a set K of sets of optional coupled cargoes N k where k 1; . . .; j K j.

For these sets either all cargoes in the set have to be transported, or none of them.

The available fleet is heterogeneous and considered fixed during the planning

horizon. The set of ships V is indexed by v, and each ship v has a cargo hold with

volume capacity Kv . It also has a starting position ov, an artificial ending position

dv, and a graph Gv N v ; Av associated with it. The set of vertices

N v N [ fov; dvg, and the set of arcs Av N v N v define the feasible

movements for ship v. For each arc i; j 2 Av there is a corresponding non-negative

123

cost Cijv , and a time Tijv for traversing that arc. Included in the traversal time is both

the service time at node i and the sailing time from node i to node j. We assume that

the triangle inequality holds for both travel times and travel costs. Note that not all

ships are allowed to pick up all cargoes due to the shape/size of the cargoes

themselves, or draft/width limitations at the origin or destination ports.

A route r for a ship v corresponds to a feasible path from ov to dv in Gv . The

path is feasible if for each pickup node i visited, the corresponding delivery node

n i is visited afterwards, the capacity of the ship is never violated and the time

windows are respected at every node. The total profit of route r, Pvr , is the sum of

the revenue of the cargoes picked up, minus the sum of the arc costs of traversing

the corresponding path.

For each route there exists an infinite number of feasible schedules w. A schedule

gives the exact time that service starts at each node on the route, and is necessary to

enforce synchronization of deliveries. It is worth noting that the ships are allowed to

wait at a node before starting service if it is favorable to do so. The objective is to

create one route for each ship, and one schedule for each route, such that the total

profit of the fleet is as large as possible, while satisfying all the constraints

mentioned above.

To solve this problem, we present a new path-flow formulation of the problem

that differs significantly from those presented by Andersson et al. (2011). The main

drawback of their path-flow formulations is the relatively large number of additional

variables and constraints necessary to model time correctly in the master problem.

We therefore present a new path-flow formulation where time is handled in the

generation of columns, and thus only appears as coefficients.

To present this formulation we introduce some additional notation. Let Rv be the

set of all feasible routes for ship v, and let coefficient Aivr be equal to 1 if ship v

transports cargo i when sailing route r, and 0 otherwise. Further, let W r , indexed by

w, be the set of feasible schedules for route r, and the coefficient Tivrw denote the

time ship v sailing route r using schedule w starts service at node i, if serviced, and 0

otherwise. Finally, let variables xvrw decide the fraction of schedule w used by ship v

sailing route r, while zk are the variables representing whether the cargoes in

coupled cargo set k are transported or not. The path-flow formulation of the problem

is defined as follows:

XX X

PF

max

Pvr xvrw ;

1

v2V r2Rv w2W r

subject to:

XX X

Aivr xvrw 1;

8i 2 N ;

Aivr xvrw 1;

8i 2 N ;

XX X

v2V r2Rv w2W r

123

M. Stalhane et al.

XX X

Aivr xvrw zk ;

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

X X

xvrw 1;

8v 2 V;

r2Rv w2W r

XX X

8v 2 V; r 2 Rv ;

w2W r

xvrw 0;

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

zk 2 f0; 1g;

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

k 1; . . .; j K j :

The objective function (1) aims at maximizing the total profit of the shipping

operations. Constraints (2) state that all mandatory cargoes must be lifted, while

constraints (3) ensure that all optional cargoes are served at most once. Constraints (4) state that either all or none of the cargoes in a coupled set must be

serviced, while constraints (5) limit each ship to sail exactly one route. Further,

constraints (6) ensure that all synchronized cargoes are delivered within the given

time interval. Finally, constraints (7) and (8) ensure that the sum of schedules for

each route is equal to one if the route is selected, and that all schedule variables

are non-negative, while constraints (9) put binary restrictions on the coupled

cargoes variables.

Note that constraints (7) and (8) allow convex combinations of feasible schedules

belonging to the same route; a convex combination of feasible schedules is also a

feasible schedule. Thus, we only need to generate schedules corresponding to the

extreme points of the feasible region of the subproblems (presented in the next

section) to represent all schedules in the model above. This is exploited to speed up

the overall solution process.

3 Solution method

Each x-variable (henceforth referred to as a column) in the path-flow formulation

presented above is partly described by a path through the graph Gv . The number of

feasible paths through the graph grows exponentially with the number of available

123

generate all possible columns. To circumvent this we propose to solve our problem

using branch-and-price [see Barnhart et al. (1998)], where only a subset of all

columns are explicitly generated while the remaining columns are implicitly

considered.

Branch-and-price is a method that uses a branch-and-bound (B&B) approach

to implicitly enumerate all possible solutions to the problem. For each node in

the B&B tree, an upper bound (for a maximization problem) is obtained by

solving the linear relaxation of the path-flow formulation containing only a

subset of columns. This linear problem is usually referred to as the restricted

master problem (RMP), and is solved to obtain primal and dual solutions. The

dual solution is then used to generate new columns with positive reduced cost

(for a maximization problem) by solving pricing problems, often referred to as

the subproblems. The method alternates between solving the RMP and the

subproblems until no more columns with a positive reduced cost exist, at which

point the solution of the RMP gives a valid upper bound on the optimal value of

the given node. If the optimal solution violates any of the integral requirements

of the original path-flow formulation, and the bound of the node is better than

the best known integer solution, two new nodes are created by branching on

some properties of the problem. This process is repeated until all nodes are

considered, and the best integer solution is returned as the optimal solution to the

problem.

The rest of this section is organized as follows: A mathematical model of the

subproblems is presented in Sect. 3.1, before the details of the labeling algorithm

used to solve the subproblems are given in Sect. 3.2. Further, we present the

acceleration strategies employed to speed up the solution process in Sect. 3.3, and

finally, the branching strategies used to obtain integral solutions to the problem are

described in Sect. 3.4.

3.1 Subproblems

A mathematical model of the subproblems, one for each ship v, needed to

generate columns for the RMP is presented below. It is formulated as an arc-flow

model on the graph Gv . Let ai be the dual variables of constraints (2) and (3), cik

the dual variables of constraints (4), bv the dual variables of constraints (5), and

dijs the dual variables of constraints (6). To simplify the notation in the model, we

assume that if constraints (4) do not exist for a given combination of cargo i and

coupled cargo set k in the RMP, the corresponding dual variable cik exists, but has

a value of zero in the subproblems. Further, let xijv be equal to one if arc i; j is

used by ship v, and zero otherwise. Finally, let liv be the load onboard ship v after

leaving node i, and let tiv be the time service starts at node i. The subproblem for

ship v and a given set of dual values a i ; c ik ; b v ; d ijs may then be formulated in

the following way:

123

M. Stalhane et al.

SP

max b v

XX

Ri

a i

i2N P j2N v

Cijv xijv

kjKj

X

!

c ik

xijv

k1

jSj X X

X

d ijs tiv

10

tjv

s1 i2N S j2N S

s

s

i;j2Av

subject to:

X

xovjv 1;

11

j2N v

xjiv

j2N v

xijv 0;

8i 2 N v n fov; dvg;

12

j2N v

xidvv 1;

13

i2N v

liv Kv

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

xijv

16

8i 2 N ;

17

8i; j 2 Av ;

18

xijv

j2N v

X

j2N v

123

xijv

X

j2N v

15

8i 2 N ;

j2N v

lniv Kv Qi

14

8i; j 2 Av j j 2 N ;

xnijv 0;

8i 2 N ;

19

tiv

8i 2 N ;

i2N v

Ti

xijv tiv T i

j2N v

xijv ;

8i 2 N v ;

j2N v

liv 0;

8i 2 N v ;

8i; j 2 Av :

20

21

22

23

The objective of the subproblem (10) is to find the maximum reduced cost route and

schedule for ship v given a set of dual values from the RMP. Constraints (11)(13)

conserve the flow through the network from the origin to the artificial destination of

the ship. Further, constraints (14)(17) keep track of the load onboard the ship,

while constraints (18) make sure that the start of service at two consecutive nodes

are at least separated by the sailing time between them. Pairing and precedence

between a pickup node and the corresponding delivery node is handled by constraints (19) and (20), and constraints (21) ensure that the start of service at each

node is within the time window if the node is serviced, and zero otherwise. Finally,

constraints (22) ensure that the load quantities are non-negative, while constraints

(23) put binary restrictions on the arc-flow variables.

3.2 A labeling algorithm for the subproblems

The subproblems presented above are variants of the elementary shortest path

problem with resource constraints (ESPPRC). Rpke and Cordeau (2009) present an

ESPPRC for the subproblem of the PDPTW and develop an efficient labeling

algorithm to solve it. We use a modified version of the algorithm proposed in their

paper to solve SP.

The subproblems are solved as shown in Algorithm 1. U is the set of unprocessed

labels, initially only containing the label Lov representing a path just visiting the

ships origin node, ov. While there are labels left in U, the removefirstU function

removes one label from U according to some criteria. This label is extended along all

resource feasible arcs, creating new labels, L0 . The label extended to node i is then

checked for dominance, and if it is not dominated by any other label, it is added to U

and the set Li containing all non-dominated labels at node i. Any labels in Li that are

dominated by L0 are removed from both Li and U. Once there are no more

unprocessed labels left in U we filter out the paths represented by the labels in Ldv

with positive reduced cost, and add them to the set P, which is then returned by the

algorithm. In the following we describe what information is stored in a label, what

constitutes a feasible extension, and how labels are compared for dominance.

123

M. Stalhane et al.

U = {L(o(v))}

while U = do

L = removef irst(U )

for each feasible extension of L L do

let i be the last node of the path represented by label L

if no label in Li dominates L then

remove all labels in Li and U that are dominated by L

Li = Li {L }

U = U {L }

end if

end for

end while

for L Ld(v) do

if accumulated reduced cost of L > 0 then

add the path represented by L to P

end if

end for

return P

3.2.1 Labels

For each label we store the following data:

1.

2.

3.

4.

5.

6.

/The predecessor label.

tThe earliest possible start of service at the node.

cThe accumulated reduced cost.

DThe set of cargoes picked up (and possibly delivered).

OThe set of cargoes picked up, but not yet delivered.

In the rest of this paper, the notation tL is used to refer to the earliest possible start

of service at the node of label L and similar notation is used for the rest of the data

(e.g., gL; /L; cL; DL; and OL).

3.2.2 Label extension

When extending a label L along an arc (gL; j), we create a new label L0 at node j.

An extension is feasible if:

tL TgLjv T j ;

123

24

Qi Qj Kv _ j 62 N ;

25

i2OL

0\j n ^ j 62 DL

26

n\j 2n ^ j n 2 OL

27

j dv ^ OL ;

28

Let dijv represent the contribution to the reduced cost of traversing arc i; j using

ship v. It may be expressed as follows:

8

PjKj

P

>

< Ri Cijv ai k1 cik if i 2 N ;

D

29

dijv Cijv

if i 2 N ;

>

:

Cijv bv

if i ov:

Given that the extension of L0 is feasible, the label data are updated as follows:

gL0 j

30

/L0 L

31

32

cL0 cL dgLjv

33

(

0

DL

(

0

OL

DL [ fjg

if j 2 N

DL

if j 2 N

34

OL [ fjg

if j 2 N

OL n fj ng

if j 2 N

35

Equations (30)(33) update the current node, the predecessor label, the earliest

possible start of service, and the accumulated reduced cost of the label, respectively.

123

M. Stalhane et al.

Equation (34) updates the set of cargoes serviced on the path represented by the

label if it is a pickup node, while Eq. (35) updates the cargoes onboard by adding

(removing) a cargo from the set when visiting a pickup (delivery) node.

3.2.3 Dominance criteria

Note that the last term of the objective function (10) is not related to the nodes or

arcs, but rather to the start of service at a certain node. This will affect the

dominance of the labeling algorithm because the optimal feasible time to start

service at node i on a path is not only dependent on the partial path ov; . . .; i, but

also on the extension i; . . .; dv. Once a path p has been created from ov to dv

the x- and l-variables are fixed and SP may be reduced to the last term of objective

function (10), and constraints (18) and (21). Let this reduced problem be denoted

sp with an optimal value s p. Further, let Ap and Dp be the set of arcs used

and cargoes serviced by path p, respectively, and let d ijs be equal to zero if not both i

and j are members of s. The reduced problem is presented below.

sp

max

jSj X X

X

36

s1 i2Dp j2N D

subject to:

tiv Tijv tjv 0;

T i tiv T i ;

8i; j 2 Ap ;

8i; i n 2 Dp:

37

38

reduced cost cvrw L as: cvrw L cL s pL.

To accommodate the synchronization duals in SP we need new dominance

criteria. Let s p be a lower bound on the value of s p found by solving the

reduced problem (36)(38) as a minimization problem. The dominance criteria for

SP may then be presented as follows:

Proposition 1

1.

2.

3.

4.

5.

gL1 gL2

tL1 tL2 )

cL1 s pL1 cL2 s pL2

DL1 DL2

OL1 OL2

and Cordeau (2009). Let p be a feasible path extending L2 to dv, and let p0 be the

path obtained by removing the deliveries corresponding to the cargoes in OL2 n

OL1 from p. Using criteria 1, 2, 4, and 5, Rpke and Cordeau (2009) prove that p0

123

concatenation of the partial path represented by L1 and p0 and likewise p2 L2 ; p.

We start by proving some partial results:

Lemma

1 cL1 s pL1 cL2 s pL2 ! cLp1 s pL1

cLp2 s pL2 .

Proof (Lemma 1) cLp0 cLp due to the triangle inequality. Thus we can

present the following inequalities:

cL1 s pL1 cL2 s pL2

! cL1 cLp s pL1 cL2 cLp s pL2

! cLp1 s pL1 cLp2 s pL2

Thus Lemma 1 is correct.

Lemma 2

s p s p.

Proof (Lemma 2) As both p0 and p visits the same pickup nodes the objective

functions (36) are equal for both problems. The set of constraints (38) are also equal

for the common variables in both LPs. The only differences

are in the set

of

constraints (37). As long as the triangle inequality holds Tikv Tijv Tjkv , the

optimal solution of sp will be a feasible (but not necessarily optimal) solution of

sp0 , and thus s p0 s p.

h

Note that adjusting the lower bound T gL1 in constraints (38) to be tL1 and

tL2 for p0 and p, respectively, will not affect the result of Lemma 2, because of

dominance criterion 2.

Lemma 3

s p1 s p0 s pL1 .

spL1 , and the restriction tgL1 tL1 , we get a linear program that we denote

s0 pL1 , which is more constrained than the original problem. Therefore we have

the relationship s0 pL1 spL1 (as it is a minimization problem).

The optimal solution from this new formulation and the optimal solution from

sp0 are feasible (but not necessarily optimal) for sp1 . Since s0 pL1 and sp0

have no common variables in the objective function the following relationship

holds: s p0 s pL1 s p0 s0 pL1 s p1 .

h

Lemma 4

s p2 s p s pL2 .

Proof (Lemma 4) Constraints (37) and (38) of LPs sp and spL2 , are subsets

of the corresponding constraints for sp2 . Therefore the optimal solution of sp2 is

feasible (but not necessarily optimal) for both sp and spL2 . In addition we see

that the objective function of sp2 equals adding the objective functions of sp and

spL2 together. Thus we get the relationship s p2 s p s pL2 .

h

123

M. Stalhane et al.

We may now prove that Proposition 1 is correct. All criteria, except criterion 3, is

related to the feasibility of a common extension, and their correctness has already

been proven. Thus, we need to show that given that criterion 3 holds, the reduced

cost of path p1 is no worse than the reduced cost of path p2 , which may be expressed

as follows:

Theorem 1

cL1 s pL1 cL2 s pL2 ! cLp1 s p1 cLp2 s p2

39

Proof

(Theorem 1)

! cLp1 s pL1 cLp2 s pL2 applying Lemma 1

!

!

cLp1 s p1 cLp2 s pL2 s p applying Lemma 3

cLp1 s p1 cLp2 s p2

applying Lemma 4

h

In the proof of Lemma 2 we state that each t-variable in sp0 is no more

constrained than the corresponding t-variable in sp, and therefore we may remove

these variables from the upper and lower bound used in dominance criterion 3. The

common variables that exist in spL1 ; spL2 ; sp and sp0 are the variables

corresponding to the delivery nodes of the cargoes in OL1 . Thus we may remove

these variables from the objective function when calculating the lower and upper

bounds, and replace dominance criterion 3 with: cL1 s L1

cL2 s L2 ; L1

where:

sL1

min

jSj

X

40

subject to:

tiv Tijv tjv 0;

T i tiv T i ;

sL2 ; L1

max

jSj

X

8i; j 2 ApL1 ;

41

8i; i n 2 DL1 :

42

123

43

subject to:

tiv Tijv tjv 0;

T i tiv T i ;

8i; j 2 ApL2 ;

44

8i; i n 2 DL2 :

45

To shorten the solution time we have implemented several heuristics for the

subproblem. The heuristics are mainly based on two ideas: reduction of the network

and simplification of the dominance rules.

The first acceleration strategy is to solve the labeling algorithm on a reduced

version of the graph Gv , where only a subset of the arcs are present. Let Gvl be a

graph where each node N f1; . . .; 2ng is connected to its l geographically closest

neighbors, given that the arcs are feasible with respect to the time windows. In

addition to this, we add all feasible arcs from ov; i, n i; dv, and i; n i to

Gvl . This idea was also successfully used by Rpke and Cordeau (2009) and

Stalhane et al. (2012).

The second acceleration strategy employed is to alter the dominance rule used to

dominate labels so that the number of dominated labels increases. When solving SP

heuristically, we ignore the upper and lower bound parts of criterion 3, and replace

it with cL1 cL2 .

The heuristics are used in the following order:

1.

l jN2 j

2.

3.

j

l 3jN

4

Simplified dominance rule.

Whenever we need to generate new columns for the RMP, we start from the top of

the list of heuristics and consecutively use each heuristic until at least one column

with positive reduced cost is found. If no columns with a positive reduced cost is

found using any of these heuristics, we solve the subproblems to optimality.

When solving a node in the B&B tree the number of iterations between the RMP

and the subproblems may get very large, due to the tailing off effect [see Lubbecke

and Desrosiers (2005)]. To avoid this, we stop the generation of columns for a given

node if optimality is not proved after a fixed number of iterations, and branch

prematurely. This number is set at 100 iterations in the computational experiments

presented in Sect. 4.

3.4 Branching

To perform branching in the B&B tree, we consider four branching strategies. These

strategies are used in a hierarchical fashion. The first strategy branches on the zk

variables, while the second strategy branches on whether an optional cargo is picked

123

M. Stalhane et al.

up or not. If either is branched to zero, all arcs connected to the affected cargoes

pickup and delivery nodes are removed from all subproblems. The one-branch is

imposed by fixing zk in the first strategy, while in the second strategy it is imposed

by replacing the with an for the corresponding constraint in (3).

The third branching strategy is to branch on whether a given ship picks up a

given cargo or not. This strategy may both affect the master problem and change the

structure of the subproblems. The one-branch is imposed by discarding all paths

created in the subproblem for the given ship that does not pick up the cargo. To

ensure that this is handled properly in the subproblem, we change the dominance

criteria so that a label L where a branched cargo i is a member of DL may not be

dominated by a label L0 where i is not a member of DL0 . The one-branch also

imposes that all arcs going to the pickup and delivery nodes of the cargo that is

branched upon may be removed from the subproblems of all other ships. The zerobranch is imposed by removing all arcs going to the pickup and delivery nodes of

the branched upon cargo from the subproblem of the branched upon ship.

The fourth branching strategy is to branch on whether a certain ship traverses a

given arc or not. Note that a one-branch on an arc implies that the cargoes belonging

to both the tail-node and head-node of the arc have to be picked up by that ship, and

that the given arc has to be traversed, while the zero-branch removes the arc from

the subproblem. In both instances we have to modify the dominance criteria. In the

case of the one-branch, the same rules as for the third branching strategy apply,

while in the case of the zero-branch the delivery triangle inequality can no longer be

guaranteed, and thus we have to modify the dominance criterion 5 to be

OL1 OL2 .

The nodes in the B&B tree are processed in a best first order, depending on the

upper bound of their parent.

4 Computational study

The solution method presented in this paper has been implemented in Java 6.0 and

uses the XpressMP 1.19.0 LP-solver through its BCL interface. In addition, we have

used the Ojalgo open-source LP-solver, implemented in Java, to solve sp to avoid

the considerable overhead in transferring data between Java and XpressMP.

The computational experiments have been run on an HP DL 160 G5 computer

with an Intel Xeon QuadCore E5472 3.0 GHz processor, 16 GB of RAM and

running on a Linux operating system. The Java-code is run as a single thread, thus

not taking advantage of the multi-core processor. However, XpressMP is allowed to

use multiple-threads when solving the RMP. The tests have been run on the same

computer as the one used by Andersson et al. (2011), which we compare our results

with.

4.1 Test instances

The test instances used are the same ones as used by Andersson et al. (2011). They

are divided into three categories A, B, and C. The instances in category A represent

123

the base case with the data coming from a real project shipping company. In

category B the number of synchronized cargoes is increased, while for category C

the synchronization is tightened so that different ships have to pick up each of the

cargoes in a synchronized cargo set. A summary of the test instances used can be

found in Table 1. For each instance, we give the number of cargoes available, the

number of ships in the fleet, the number of contracted and optional cargoes, as well

as the number of cargoes that are synchronized (and coupled since K S).

4.2 Computational results

We have tested the computational efficiency of our branch-and-price approach and

compared it with the solution times given in the paper by Andersson et al. (2011),

denoted PreGen. The results are summarized in Table 2. For PreGen we state the

time spent generating routes (gen. time) and the time spent solving the path-flow

model (master time), as well as the total computing time (total time). For our

column generation approach (PF) we report the time spent solving the subproblem

(SP time), the time spent solving the restricted master problem (RMP time), and the

total running time of the branch-and-price algorithm (total time). All times are given

in seconds. Note that for PF the total solution time is usually slightly higher than the

sum of the SP time and RMP time due to the small overhead used to manage the

B&B-tree. The comparison of the computing times is given by the ratio calculated

as the total computing time of PreGen divided by the total computing time of PF

(ratio). For the instances where the computing time of PF is zero, we use INF to

denote that the ratio is infinitely large, unless the computing time of PreGen is also

zero, in which case we use 1 to denote that the computing times are the same.

For the smaller test instances from 10 to 18 cargoes both methods perform

relatively well, staying below a minute in total computing time for all instances.

However, as the number of cargoes exceeds 20, we see that the total solution time of

PreGen increases a lot, mainly due to the time spent generating routes. The large

generation time of PreGen as the instances get larger also indicates that generating

all schedules a priori is not a good approach for PF, since PF has several schedules

for each route generated. For the instances with 2026 cargoes the PF method is

between 21 and 5,700 times faster than the PreGen method, and all instances except

one are solved in less than 8 min (480 s). For the instances with 28, 30, and 32

cargoes, the generation of routes fail due to memory problems for the PreGen

method. However, the branch-and-price algorithm is still able to solve the instances

quickly, spending less than one hour (3,600 s) in all but one instance (26.B).

In Table 3 the root node gap (root gap) and the number of columns generated (#

columns) are compared for the two methods. For PreGen the number of columns

equals the number of routes in the network, while for PF it equals the number of

route and schedule combinations that were generated. The root node gap is, on

average, about 20 % better for PF, and for five of the instances (virtually) the entire

gap is closed in the root node. We also see that the root node gap is, in most

instances, much larger for the C instances than for the A and B instances. Further,

we see that the total number of routes and schedules generated for PF is a very small

fraction of the number of routes generated for PreGen.

123

M. Stalhane et al.

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

Instance

Cargoes

Ships

Contracted cargoes

Optional cargoes

Synchronized cargoes

10.A

10

10.B

10

10.C

10

12.A

12

12.B

12

12.C

12

14.A

14

14.B

14

14.C

14

16.A

16

16.B

16

16.C

16

18.A

18

11

18.B

18

11

18.C

18

11

20.A

20

15

20.B

20

15

10

20.C

20

15

22.A

22

15

22.B

22

15

10

22.C

22

15

24.A

24

17

24.B

24

17

12

24.C

24

17

26.A

26

18

10

26.B

26

18

14

26.C

26

18

10

28.A

28

20

10

28.B

28

20

14

28.C

28

20

10

30.A

30

10

20

12

30.B

30

10

20

16

30.C

30

10

20

12

32.A

32

10

22

12

32.B

32

10

22

16

32.C

32

10

22

12

For each instance we report the total number of cargoes, the number of ships, the number of contracted

and optional cargoes, and the number of cargoes that are coupled and requires synchronized deliveries

123

Table 2 Comparison of the computational experiments of PreGen and PF

Instance

PreGen

Gen. time

PF

Master time

Total time

RMP time

SP time

Total time

Ratio

10.A

10.B

1

1

10.C

INF

12.A

12.B

INF

12.C

14.A

INF

14.B

INF

14.C

16.A

16.B

16.C

18.A

20

27

14

18.B

28

37

19

18.C

14

20.A

5,696

343

6,039

755

20.B

6,520

395

6,915

1,153

20.C

112

35

147

21

22.A

19,261

607

19,868

423

427

47

22.B

23,091

720

23,811

45

46

518

22.C

345

79

424

53

24.A

38,338

1,348

39,686

12

12

3,307

24.B

49,107

1,719

50,826

5,647

24.C

1,467

247

1,714

19

20

86

26.A

81,942

1,199

83,141

17

18

4,619

26.B

95,600

1,961

97,561

3,569

3,571

27

26.C

9,049

540

9,589

23

23

417

28.A

N/A

60

62

N/A

28.B

N/A

119

121

N/A

28.C

N/A

54

56

N/A

30.A

N/A

679

683

N/A

30.B

N/A

1,800

1,807

N/A

30.C

N/A

10

1,050

1,064

N/A

32.A

N/A

645

649

N/A

32.B

N/A

5,551

5,556

N/A

32.C

N/A

15

1,484

1,509

N/A

12,586

433

435

Avg

12,243

343

For PreGen we present the time spent generating routes, the time spent solving the mathematical model,

and the total computing time. For PF we present the time spent in the restricted master problem, the time

spent in the subproblem and the total computing time. Finally, we present the ratio of the computing times

of the two methods, computed as the total time of PreGen divided by the total time of PF

123

M. Stalhane et al.

Table 3 Comparisons of the root node gap and the total number of columns generated for PreGen and

PF, respectively

Instance

PreGen

Root gap (%)

PF

# Columns

# 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

One of the reasons we are able to solve quite large instances with our method is that

there are a lot of restrictions on which ships may service which cargoes in project

shipping. This can be due to the abnormal shape of the cargo, the weight of the

cargo, or the accessibility of the port where the cargo is to be picked up or delivered.

An overview of the number of allowed shipcargo combinations and the total

number of possible combinations is given in Table 4. As can be seen by the table,

only between 60 and 70 % of the possible shipcargo combinations are allowed in

the original test instances.

To investigate the performance of our algorithm for larger instances, we have

tested the instances with 20 cargoes or more, while allowing all ships to transport all

cargoes. The computational results from solving PF with full compatibility (PFFC)

are presented, and compared with the original results, in Table 5. For the instances

with 2028 cargoes, the gap between the root node solution and the optimal integer

solution is given (root gap) along with the total computing time spent in the

restricted master problem (RMP time) and in the subproblems (SP time). Further,

the number of branch-and-bound nodes investigated in the tree search (# nodes), and

the total number of columns generated (# columns) are given. Finally, the table lists

how much the objective value improved by allowing all ships to transport all

cargoes (% impr.).

Comparing the results of applying our branch-and-price approach to the two sets

of instances, we see that the solution time increases for all instances except two

(22.A and 26.B) when allowing all ships to service all cargoes. The branch-andprice approach is also unable to solve the instances with 30 and 32 cargoes within a

123

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

instance

# Cargoes

Allowed combinations

Total combinations

Percentage (%)

20

55

80

69

22

54

88

61

24

63

96

66

26

67

104

64

28

71

112

63

30

75

120

63

32

77

128

60

reasonable amount of time (10 h) for PFFC. For the instances solved with full

compatibility, we see that the solution time is not much worse than for the original

instances, with all instances except one (24.b) being solved within 1 h (3,600 s).

The average root node gap is almost identical for the two set of instances, however,

for instances 20.C and 22.C the root node gap is much smaller for PFFC than for PF.

This is due to the fact that with full compatibility between cargoes and ships, the

fleet of ships is able to service some of the coupled cargoes, that are not possible to

service in an integral solution of PF. However, in the root node solution of PF, the

fleet of ships is able to service fractional parts of these coupled cargoes, leading to a

big integrality gap in the root node. In most of the instances PFFC is able to service

more cargoes than PF, something that is reflected in the improvement of the

objective value, which is, on average, 15 %.

Both PF and PFFC spend almost all of their computing time in the subproblems.

The main reason why the average computing time in the RMP is significantly larger

for PFFC is that it investigates a lot more nodes to prove optimality, on average

about six times more nodes than PF. This may be expected since there are a lot more

shipcargo combinations allowed. Finally, we also see that the average number of

generated columns are more than three times as high when allowing full

compatibility.

5 Concluding remarks

This paper has presented a new solution method for the maritime pickup and

delivery problem with time windows, cargo coupling and synchronization

constraints. The method includes a new path-flow formulation of the problem,

which is solved using branch-and-price. The solution method also includes a new

variant of the elementary shortest path problem, and a method for efficiently solving

it using dynamic programming.

The efficiency of the new solution method is benchmarked against the best

previously known solutions from the literature. The test results show that the

computational time can be reduced by a factor of more than 20 for larger instances

by employing the methodology proposed. The branch-and-price approach may also

123

123

0.00

0.00

8.11

0.02

0.24

1.43

1.32

1.32

4.15

2.62

24.A

24.B

24.C

26.A

26.B

26.C

28.A

28.B

28.C

Avg

292

54

119

60

23

3,569

17

19

12

45

423

32

17

13

11

17

85

281

11

677

861

904

792

593

834

614

744

466

539

564

778

1,043

542

410

472

# Columns

2.16

2.64

6.65

1.43

1.43

3.38

1.94

0.01

6.00

3.60

0.86

3.00

2.21

2.21

2.55

2.16

20

69

47

145

RMP time

957

1,184

655

333

219

643

124

654

9,442

119

154

352

381

40

32

29

SP time

191

426

35

57

13

21

397

1,659

83

35

47

31

19

21

# Nodes

2,370

5,499

1,699

1,842

1,426

1,775

1,154

4,327

6,759

1,327

2,347

1,811

2,020

1,435

1,086

1,045

# Columns

15

15

14

14

21

11

10

13

10

35

22

22

22

% Impr. (%)

For each set of instances we report the root node gap, the time spent solving the master and subproblems, the number of branch-and-bound nodes and the number of

columns generated. Finally, the improvement of the objective value by allowing full compatibility is reported

0.42

0.42

22.A

13.43

8.37

20.C

22.C

0.07

22.B

0.07

20.B

# Nodes

SP time

RMP time

PFFC

PF

20.A

Instance

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

M. Stalhane et al.

solve instances that are much larger than those solved by the previous methodology

in reasonable time.

References

Andersson H, Duesund J, Fagerholt K (2011) Ship routing and scheduling with cargo coupling and

synchronization constraints. Comput Ind Eng 61(4):11071164

Barnhart C, Johnson EL, Nemhauser GL, Savelsbergh MPW, Vance PH (1998) Branch-and-price:

column generation for solving huge integer programs. Oper Res 46(3):316329

Berbeglia G, Cordeau JF, Gribkovskaia I, Laporte G (2007) Static pickup and delivery problems: a

classification scheme and survey. TOP 15:131

Brnmo G, Christiansen M, Fagerholt K, Nygreen B (2007) A multi-start local search heuristic for ship

schedulinga computational study. Comput Oper Res 34:900917

Christiansen M, Fagerholt K, Nygreen B, Ronen D (2013) Ship routing and scheduling in the new

millennium. Eur J Oper Res 228(3):467483

Desrosiers J, Dumas Y, Solomon M, Soumis F (1995) Time constrained routing and scheduling. In: Ball

M, Magnanti T, Monma C, Nemhauser G (eds) Network routing, handbooks in operations research

and management science, vol 8. Elsevier Science, Amsterdam, pp 35139

Dohn A, Kolind E, Clausen J (2009) The manpower allocation problem with time windows and jobteaming constraints: a branch-and-price approach. Comput Oper Res 36(4):11451157

Dohn A, Rasmussen MS, Larsen J (2011) The vehicle routing problem with time windows and temporal

dependencies. Networks 58(4):273289

Drexl M (2012) Synchronization in vehicle routinga survey of vrps with multiple synchronization

constraints. Transp Sci 46(3):297316

Fagerholt K, Hvattum LM, Johnsen TAV, Korsvik JE (2011) Routing and scheduling in project shipping.

Ann Oper Res 36(1):94118

Ioachim I, Desrosiers J, Soumis F, Be`langer N (1999) Fleet assignment and routing with schedule

synchronization constraints. Eur J Oper Res 199:7590

Korsvik J, Fagerholt K, Laporte G (2010) A tabu search heuristic for ship routing and scheduling. J Oper

Res Soc 61:594603

Lawrence SA (1972) International sea transport: the years ahead. Lexington Books, Chicago

Lubbecke M, Desrosiers J (2005) Selected topics in column generation. Oper Res 53(6):10071023

Malliappi F, Bennell J, Potts C (2011) A variable neighborhood search heuristic for tramp ship

scheduling. Comput Logist Lect Notes Comput Sci 6971:273285

Rpke S, Cordeau JF (2009) Branch-and-cut-and-price for the pickup and delivery problem with time

windows. Transp Sci 43(3):267286

Stalhane M, Andersson H, Christiansen M, Cordeau JF, Desaulniers G (2012) A branch-price-and-cut

method for a ship routing and scheduling problem with split loads. Comput Oper Res 39:33613375

123

- Chapter 2 - Linear ProgrammingЗагружено:wubied
- Operations Research - An Introd - Hamdy a. TahaЗагружено:muhib
- Linear OptimizationsЗагружено:irwansyah
- EP_CEED_venkateshЗагружено:Sayyed Shaik
- Intelligence & Synergy of EveryoneЗагружено:Lance Legel
- Chen 2012Загружено:Parag Naik
- SyllabusMath364S11Загружено:Peter200lx
- 18_2_189Загружено:mn5829
- MSCCOMPSCT1Загружено:nilkanth bhatt
- Lecture 1Загружено:Sreedhar Madhana
- 28.1-congЗагружено:savantk
- Expert System in Reservoir Release StrategiesЗагружено:tsar_philip2010
- 5-Nikolaidis, Nenes (1)Загружено:Charan Kumar
- Presentation Newest 2Загружено:Addison Juttie
- Constrained Optimization 1.docxЗагружено:Erzhan Omarbekov
- Linear ProgrammingЗагружено:RusselArevalo
- GeometriaPLЗагружено:jhdmss
- AWDM 23 Model Optimization TechniquesЗагружено:Jalijash
- fmipw1-6.pdfЗагружено:Nguyễn Hữu Phấn
- Optimization (Linear Programming) Using MatlabЗагружено:shamsukarim2009
- 251399715-Sma-2343-Introd.pdfЗагружено:Ishmael Makhembu
- chap8Загружено:aybik
- AssignmentЗагружено:Alpesh Patel
- Formulation of LPP'sЗагружено:aditya bala
- Microsoft Word BBA VI Semester Final 311467133Загружено:Lekshmana Perumal Sivanpillai
- C2_S2_BSSЗагружено:Roxana Vlad
- Lingo 15 Users ManualЗагружено:andresszz
- What is Operations ResearchЗагружено:Malvin Roix Orense
- Unit-4 Linear Programming Simplex MethodЗагружено:bhartic
- LP IntroductionЗагружено:Sagar Kansal

- Brgy Health Svcs NC II.docЗагружено:Overall Clinical Coordinator
- Maytag Installation Instruction_EN.pdfЗагружено:Scott Kramer
- Biological DatabasesЗагружено:Chethan Kumar
- Negotiable Instruments Act- A Ready ReferenceЗагружено:pkrisn75
- What is RecyclingЗагружено:Nadia Nicole
- Soft Skills for Engineers IISE 2017.pdfЗагружено:Jorge Isaac Ortiz
- DatasheetЗагружено:hontien
- TM 1-1500-328-23-1 Aviation General Maintenance & PracticeЗагружено:okamo
- Effect of Human Capital Management Drivers on Organizational Performance in Kenya- A Case of Investment and Mortgages Bank LtdЗагружено:kira5729
- ManganeseЗагружено:jordimpuntu
- Loctite Guide 2008Загружено:Shane Allen
- NumbersЗагружено:ridemypony22
- Fundamental Structural Analysis (2)Загружено:Chiều Tàn
- SmartLine Temp - Operator Manual.pdfЗагружено:javier
- Manuale Uso Viscosimetro Fungilab Premium GeЗагружено:Lenin Vasquez Duran
- Table of Contents AckwoledgementЗагружено:Reena Sharma
- The Retailer's Dilemma - How the New Value Network Challenges IncumbentsЗагружено:pjs15
- IT SECURITY GUIDELINESЗагружено:Team Leader
- Game ProjectЗагружено:eveswan2008
- CVP AnalysisЗагружено:Raz Mahari
- Floppy DrivesЗагружено:Drift Gee
- DNS Interview QuestionsЗагружено:Krishnasamy Devaraj
- OversizerЗагружено:Ivonir Ricardo De Almeida Ricardo
- Proposal Smart Transport V1Загружено:Nilesh Ambastha
- TT_US_Logics-NЗагружено:brainandspirit
- Citizens Bar Directions to ClerkЗагружено:Citizen Bar Association.
- Current PlacementЗагружено:Chaya Orenstein Shuchat
- Mexico Mining ReportЗагружено:skeribidi
- business english testЗагружено:profaderomana
- PE195912.pdfЗагружено:elin373

## Гораздо больше, чем просто документы.

Откройте для себя все, что может предложить Scribd, включая книги и аудиокниги от крупных издательств.

Отменить можно в любой момент.