Routing and scheduling of RoRo ships with stowage constraints

Routing and scheduling of RoRo ships with stowage constraints

Transportation Research Part C 19 (2011) 1225–1242 Contents lists available at ScienceDirect Transportation Research Part C journal homepage: www.el...

995KB Sizes 1 Downloads 40 Views

Transportation Research Part C 19 (2011) 1225–1242

Contents lists available at ScienceDirect

Transportation Research Part C journal homepage: www.elsevier.com/locate/trc

Routing and scheduling of RoRo ships with stowage constraints Bernt Olav Øvstebø a, Lars Magnus Hvattum a,⇑, Kjetil Fagerholt a,b a b

Department of Industrial Economics and Technology Management, Norwegian University of Science and Technology, Norway Norwegian Marine Technology Research Institute (MARINTEK), Norway

a r t i c l e

i n f o

Article history: Received 27 January 2010 Received in revised form 11 January 2011 Accepted 4 February 2011

Keywords: Maritime transportation Tabu search Squeaky wheel optimization

a b s t r a c t Roll-on/Roll-off ships are used for international transport of vehicles and other rolling equipment. We consider the problem where a ship sails between two geographical regions, picking up cargo in the first and making deliveries to the second. Several variations are considered with optional cargoes, flexible cargo quantities, and ship stability restrictions. Decisions must be made regarding the route and schedule of the ship as well as the stowage of cargo onboard. The problem is modeled as a mixed integer program, which has been solved using Xpress. In addition, a tailor made heuristic procedure is built using components from tabu search and squeaky wheel optimization. Extensive computational results are presented, showing that the heuristic is able to handle realistically sized problem instances. Ó 2011 Elsevier Ltd. All rights reserved.

1. Introduction Roll-on/Roll-off (RoRo) ships transport cargo on wheels such as cars, trucks, farming equipment, and military equipment. Intercontinental trade involved more than 17 million vehicles in 2004, growing 5% annually, and regional trade involved more than 26 million vehicles, growing 3–4% per year (MDS Transmodal, 2006). Almost all of this trade is conducted using RoRo ships. The deep sea fleet for vehicle transport, consisting of ships with a capacity in excess of 3000 CEUs (Car Equivalent Units), had 355 ships in 2006, and the regional fleet of ships with a capacity of up to 3000 CEUs consisted of 152 ships. In international vehicle trade, RoRo ships sail between different regions of the world according to predefined plans. Planning of operations in the maritime transport industry can mainly be divided into three categories: strategic, tactical, and operational planning. Strategic planning is concerned with a time horizon of several years, and typically involves investment and network design decisions. On a tactical level, the decision maker must determine which ships should operate which routes and when they are required to arrive to each region. These decisions lay the premises for planning on the operational level. On the operational level, one must decide which cargoes to carry and which routes to follow in order to pick up and deliver these cargoes. For RoRo ships, operational decisions must also be made regarding stowage: for a given route with pick-ups and deliveries, it must be determined how the cargoes should be stored on the ship during the voyage. When creating these plans, the planner must at all times balance the scope of the plan and the tractability of the problem. Increased scope, that is, planning for longer time periods and more ships simultaneously, gives more flexibility. This enables the planner to find solutions that exploits synergy better than if the problem was partitioned into smaller problems and solved sequentially. However, solving a planning problem of large scope is more difficult than solving the subproblems of which it is composed. In addition, problems of larger scope typically require more information, which may not be readily available. We focus on the operational level of planning, trying to incorporate as many decisions as possible while studying whether the resulting problem can be solved efficiently by exact or heuristic solution algorithms. By simultaneously

⇑ Corresponding author. E-mail address: [email protected] (L.M. Hvattum). 0968-090X/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.trc.2011.02.001

1226

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

considering routing and scheduling decisions as well as stowage planning, we are extending the effort by Øvstebø et al. (2011)) who studied the stowage of RoRo ships on a predefined ship route. In this paper we will look at the problem of deciding a route and a schedule for a RoRo ship while simultaneously providing a stowage plan. Relevant existing research is reviewed in Section 2. Section 3 then gives a thorough description of the problem considered, including a MIP formulation. A heuristic solution method is presented in Section 4. Extensive computational results are illustrated in Section 5, followed by concluding remarks in Section 6.

2. Related literature Research on maritime transportation has increased much during the last years (Christiansen et al., 2004). Much of this research is concerned with routing of ships. Christiansen et al. (2007) give an insight into maritime transportation on several levels, including ship routing and scheduling. A generic decision support system for ship routing used by the shipping industry is presented in (Fagerholt, 2004; Fagerholt and Lindstad, 2007). Maritime stowage problems can be subdivided according to the type of ship considered, and the main part of research has focused on container ships. Container ships carry stacks of containers, and the stowage problems are often formulated as the minimization of container and crane movements along the route of the ship. Surveys of container ship stowage are made by Steenken et al. (2004) and Stahlbock and Voß (2008). Many of the considerations to be taken when stowing container ships are described in an early contribution by Martin et al. (1988). Later work focuses on providing mathematical models and heuristic algorithms (Avriel et al., 1998; Kang and Kim, 2002; Wilson and Roach, 1999), as well as using exact methods (Li et al., 2008). Recently, research on stowage of bulk ships has been conducted. Bulk ships carry their cargo in tanks or compartments, and the problem is to allocate the cargo to these tanks, subject to capacity, stability, and hazardous material constraints. Hvattum et al. (2009) consider several variations of the tank allocation problem, and show that it is NP-hard even in its simplest form. They also perform analysis to determine which attributes of realistically sized problem instances create difficulties for a standard mixed integer program (MIP) solver. Finally, Øvstebø et al. (2011) consider RoRo ships and provides a mathematical formulation for finding stowage plans given a fixed route. Both standard MIP solvers and tailor made heuristics are used to solve the RoRo ship stowage problem (RSSP). Some research has been done on combining stowage and routing and scheduling. In a maritime setting, Fagerholt and Christiansen (2000a) consider the integrated problem of routing and stowage in the bulk shipping industry. The problem is referred to as the ship scheduling and allocation problem, and is solved through a set partitioning approach in two phases. The first phase generates a set of feasible routes with optimal allocation of cargoes to the ship compartments, and phase two solves the set partitioning problem. The method for finding routes with optimal allocation is described in Fagerholt et al. (2000b). Dynamic programming is used to solve a traveling salesman problem with allocation, time windows, and precedence constraints. For general or land-based applications, much effort has been expended in recent years looking at problems combining routing and scheduling with various loading and stowage restrictions. Erdog˘an et al. (2009) consider the pick up and delivery traveling salesman problem with first-in first-out loading, and test two different constructive heuristics and two improvement heuristics, probabilistic tabu search and iterated local search. Probabilistic tabu search gives the best results out of the two improvement heuristics, but there is not much difference between the two constructive heuristics. Moura and Oliveira (2009) present a mathematical formulation to the integrated problem of vehicle routing and container loading. Their objective is to minimize travel cost and capital cost of vehicles. They test two solution approaches to the problem: sequential and hierarchical. In the sequential approach, both routing and stowage is considered at the same level, while for the hierarchical approach, routing is the main problem and stowage is the subproblem. They conclude that the hierarchical approach is best when the number of boxes per customer is low, while the sequential is best when the number of boxes per customer is high. Iori et al. (2007) introduce the two-dimensional loading capacitated vehicle routing problem (2L-CVRP), and employ a Branch-and-Cut procedure to solve it to optimality for instances with up to 35 customers and over 100 items. The 2L-CVRP has been solved using tabu search by Gendreau et al. (2008) and Zachariadis et al. (2009). Fuellerer et al. (2009) use ant colony optimization (ACO) to solve the 2L-CVRP, and they also consider different loading constraints with respect to orientation of items. Doerner et al. (2007) solve a similar problem, which they call the multiple stacks vehicle routing problem, based on the wood-product industry. Here, items can be arranged on pallets, which are then loaded into the truck. They use both tabu search and ACO, and the latter shows to be the better approach. Gendreau et al. (2006) introduce the three-dimensional loading capacitated vehicle routing problem. They use tabu search to solve instances with up to 100 customers, 200 items, and 25 vehicles. They test the impact of imposing different loading constraints, such as a last-in-first-out (LIFO) policy. Finally, they test their heuristic on a set of real world instances from the Italian furniture industry. The double traveling salesman problem with multiple stacks is introduced by Petersen and Madsen (2009). The problem consists of finding routes in two separate networks to minimize the total cost, where cargo is picked up in the first network and delivered in the second. When picking up cargo it must be placed in one of multiple stacks that operate according to the LIFO principle, and no repacking is allowed when going between the networks. Good heuristic solutions are obtained using a large neighborhood search. Felipe et al. (2009) present several new neighborhoods for the problem and a variable neighborhood search that outperforms previous heuristics.

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

1227

3. Problem formulation The planner has a ship available for a given time interval, in which the ship should pick up and deliver cargoes. A cargo consists of a set of identical vehicles (or other rolling equipment), and each vehicle has a known length, width, height, and weight. Each cargo is associated to two locations, one representing the pick-up port where the cargo should be loaded and the other representing the delivery port where the cargo should be discharged. There are time windows for each pick-up port and delivery port. The time windows of the cargoes are very wide, but there is a potential benefit from ending the route early: if the ship finishes its current route early it can potentially make more port calls in its next voyage, thus gaining more revenue for the shipping company. Some cargoes are mandatory to carry, others are optional. For mandatory cargoes, the number of vehicles that need to be carried is specified by an interval. Often this interval will contain only a single value, namely the number of vehicles to carry, but sometimes there may be some flexibility for the shipping company to choose how many vehicles to carry. This can happen due to contractual agreements saying that the transported volume should be flexible within specified limits, but may also happen due to the planner agreeing informally that the freighter can transport less than the agreed volume, subject to some compensation. Unless carrying the maximal number of vehicles from a mandatory cargo, a penalty is incurred per vehicle not carried. For optional cargoes, revenue is generated for each vehicle carried, and the planner may choose to carry none of the vehicles, or any number within a specified interval. When a cargo is picked up, its vehicles must be rolled onboard using a ramp located at the stern, as shown in Fig. 1. The ship has several decks, each with a specified length and width. For modeling purposes, each deck is divided into several logical lanes, into which the vehicles are lined. The width of each lane is not fixed, and may be chosen at the planner’s discretion. Some of the decks may be moved vertically within certain limits, so that the height of a deck, from floor to ceiling, is not predefined. When delivering a cargo, it must be rolled off the deck and down the ramp. This must be done according to a LIFO policy for each lane on each deck, meaning that vehicles can only be discharged if there is nothing blocking the way out. A penalty cost may be incurred when a cargo must be moved out of the way for another cargo to be discharged. The cargo must be stowed in such a fashion that the ship’s stability requirements are fulfilled at all times. Ship stability calculations are quite complex, and involve non-linear equations. In our setting, exact stability calculations may be undesirable, since the tractability of a mathematical model is greatly reduced when non-linear relationships are introduced. Therefore, linear approximations are made that balance reality representation and model tractability. We consider two dimensions of stability: the first dimension deals with the torque from the cargo on the ship that makes the ship lean sideways, and the second deals with the fact that a ship may be relatively stable or unstable depending on how high the center of gravity of the ship with cargo is. Fig. 2 illustrates a coordinate system where the origin is placed in the middle of the ship’s bottom deck. The z-axis runs along the long axis of the ship and the y-axis goes vertically upwards. The torque from the ship around the long axis (z-axis) should be within limits at all times. Also, to have a more stable ship, the distance from the ship’s bottom deck to the its center of gravity must be less than some specified threshold at all times.

Fig. 1. Ship with loading ramp.

Fig. 2. Coordinate system for stability purposes.

1228

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

Thus, the planner has the flexibility to choose in which sequence ports should be visited, but simultaneously needs to take into account the effect the port sequence has on the stowage problem. The planner needs to decide which cargoes to carry, the sequence of port calls, and where to stow the vehicles carried given stowage limitations, stability requirements, and mandatory cargoes, such that the sum of revenue from optional cargoes minus sailing costs and penalty costs is maximized. The problem will be referred to as the single-vessel RoRo ship routing and stowage problem (1-RSRSP). The main differences to the RSSP defined in (Øvstebø et al., 2011) are the inclusion of routing and scheduling decisions and the ability to select cargo quantities within an interval. In the RSSP the ship follows a predefined route, time usage is ignored, and all cargo quantities are fixed. 3.1. Mathematical model We now give a MIP formulation for the 1-RSRSP. Indices i,j o m d l Sets

node origin node artificial destination node deck lane

NP

the set of pick-up nodes, N P ¼ f1; . . . ; Ng

N N

D

NM NO A

N A D Ld

the set of delivery nodes, N D ¼ fN þ 1; . . . ; 2Ng the set of pick-up and delivery nodes, N ¼ N P [ N D the set of mandatory nodes, N M  N the set of optional nodes, N O ¼ N n N M the the the the

set set set set

of of of of

A

all nodes, including origin and destination nodes, N ¼ N [ fo; mg all arcs connecting nodes that may be traversed by the ship decks on the ship lanes on deck d

Parameters N the number of cargoes available per vehicle revenue from optional node (cargo) i RQ i

PQi Cij CT Tij T Qi T Ai Bi Ld Wd

per vehicle penalty for vehicles not carried from mandatory node i the cost to sail directly from node i to node j the potential benefit per time unit if the ship ends its route early the time needed to sail directly from node i to node j, including overhead service time in node i, but not the variable loading time the time needed to load/unload one vehicle in node i

C Li

the the the the the the

time for which the ship is available early time limit associated with node i late time limit associated with node i length of deck d width of deck d length of one vehicle from node i

CW i

the width of one vehicle from node i

CH i V

the height of one vehicle from node i

LIdl

the weight per length unit of vehicles the total length of vehicles stowed in lane l on deck d in the origin node

HLd

the lower bound on the vertical placement of deck d, measured from the bottom deck

HUd Q MIN i Q MAX i MAX

the upper bound on the vertical placement of deck d, measured from the bottom deck

C

T YMAX WS YS X dl

the minimum number of vehicles needed to carry from node i the maximum number of vehicles needed to carry from node i the maximum allowable torque on the ship from the cargo the maximum allowable vertical distance from the ship’s bottom deck to its center of gravity weight of the ship without cargo (lightweight) vertical distance from the ship’s bottom deck to its center of gravity (without cargo)

  W d approximated horizontal distance of lane l on deck d from the ship’s center of gravity, X dl ¼ W2d  l  12  jL dj

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

Yd

approximated vertical distance of deck d from the ship’s bottom deck, Y d ¼

1229

L HU d þHd 2

Decision variables xij 1 if the ship sails directly from node i to node j, 0 otherwise zijdl 1 if the ship sails directly from i to j, and vehicles from j are stowed in lane l on deck d, 0 otherwise yidl the number of vehicles from node i stowed in lane l on deck d, with yidl being non-negative if i is a pick-up node and non-positive if i is a delivery node lidl the total length of all the vehicles stowed in lane l on deck d after service in node i qi the number of vehicles carried from node i, with qi being non-negative if i is a pick-up node and non-positive if i is a delivery node ti the time at which service begins in node i hd height of deck d from the bottom deck vdl width of lane l on deck d

3.1.1. Objective function

X

max

X

  X PQi Q MAX  qi  C ij xij  C T ðtm  TÞ i

i2N M \N P

ði;jÞ2A

RQi qi 

i2N O \N P

ð1Þ

3.1.2. Constraints

X

xij ¼ 1;

i 2 NM

ð2Þ

xij 6 1;

i 2 NO

ð3Þ

j2N [fmg

X

j2N [fmg

X

xoj ¼ 1

j2N P [fmg

X

X

X

xij 

i2N [fog

ð4Þ xji ¼ 0;

j2N

ð5Þ

i2N [fmg

xim ¼ 1

ð6Þ

i2N [fog

to þ T oj  t j  Moj ð1  xoj Þ 6 0; ti þ

T Qi qi

þ T ij  tj 

MPij ð1

ðo; jÞ 2 A

ð7Þ P

ð8Þ

D

ð9Þ

 xij Þ 6 0;

i 2 N ; ði; jÞ 2 A

ti  T Qi qi þ T ij  tj  MDij ð1  xij Þ 6 0;

i 2 N ; ði; jÞ 2 A

Ai 6 ti 6 Bi ; zijdl 6 xij ; C Lj yjdl 6

i2N

A

ð10Þ

ði; jÞ 2 A; d 2 D; l 2 Ld X Ld zijdl ; j 2 N ; d 2 D; l 2 Ld

ð11Þ ð12Þ

i2N [fog

CW j zijdl 6 v dl ; C Hj zijdl X

ði; jÞ 2 A; d 2 D; l 2 Ld

6 hdþ1  hd ;

v dl ¼ W d ;

ði; jÞ 2 A; d 2 D; l 2 Ld

d2D

ð13Þ ð14Þ ð15Þ

l2Ld

HLd 6 hd 6 HUd ; d 2 DU XX yidl ¼ qi ; i 2 N

ð16Þ ð17Þ

d2D l2Ld

qi þ qNþi ¼ 0;

i2N

P

ð18Þ P

yidl þ yNþi;dl ¼ 0; i 2 N ; d 2 D; l 2 Ld X MAX X MIN P Q i xij 6 qi 6 Q i xij ; i 2 N j2N

ð19Þ ð20Þ

j2N

lidl þ C Lj yjdl  ljdl þ Ld xij 6 Ld ;

ði; jÞ 2 A; d 2 D; l 2 Ld

ð21Þ

1230

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

lidl þ C Lj yjdl  ljdl  Ld xij P Ld ; lodl ¼

LIdl ; d

0 6 lNþi;dl 6 Ld  ti þ X

ð22Þ

l 2 Ld

2 D;

ð23Þ P

C Li yidl 6 lidl 6 Ld ; T Qi qi

ði; jÞ 2 A; d 2 D; l 2 Ld

i 2 N ; d 2 D; l 2 Ld C Li yidl ;

D

Nþi2N ;

ð24Þ d 2 D;

l 2 Ld

ð25Þ

P

þ T i;Nþi  tNþi 6 0; i 2 N X P zi;Nþj;dl ¼ 0; j 2 N ; d 2 D; l 2 L

ð26Þ

zijdl 

i2N [fog

X

ð27Þ

i2N [fog

xij 

j2N [fmg

X

xNþi;j ¼ 0; i 2 N

P

ð28Þ

j2N [fmg

 T MAX 6

XX

C V  lidl  X dl 6 T MAX ;

i2N

d2D l2Ld

W SY S þ

XXX

C V lidl Y d 6

WS þ

i2C d2D l2L

XXX

p2P

ð30Þ ð31Þ

d 2 D; l 2 L P

yidl P 0 and integer; i 2 N ; d 2 D; l 2 Ld yidl 6 0;

! C V lidl Y MAX ;

i2C d2D l2L

xij 2 f0; 1g; ði; jÞ 2 A zijdl 2 f0; 1g; ði; jÞ 2 A;

ð29Þ

D

i 2 N ; d 2 D; l 2 Ld

ð32Þ ð33Þ ð34Þ

P

ð35Þ ð36Þ

qi P 0;

i2N

qi 6 0;

i2N

D

ti P 0;

i2N

A

ð37Þ

hd 2 R;

d2D

ð38Þ

lidl P 0;

i 2 N ; d 2 D; l 2 L

ð39Þ

v dl P 0;

d 2 D; l 2 Ld

ð40Þ

The objective (1) is to maximize the revenue from vehicles carried from optional nodes minus penalty for vehicles not carried from mandatory nodes, travel cost, and cost of ship usage. Constraints (2)–(6) are assignment and flow preservation constraints: all mandatory nodes must be visited once (2), all optional nodes may be visited at most once (3), the ship must leave the origin node (4), if the ship enters a pick-up or delivery node it must leave the node (5), and the ship must enter the artificial destination node (6). Constraints (7)–(9) keep track of the time variable, and the time windows are imposed by constraints (10). The big M in constriants (7) is Moj = Bo + Toj  Aj, the big M in constriants (8) is M Pij ¼ Bi þ T Qi Q MAX þ T ij  Aj , and i the big M in constriants (9) is MDij ¼ Bi þ T Qi Q MAX iN þ T ij  Aj . Constraints (11) link the two sets of binary variables, xij and zijdl, and constraints (12) link the binary variables zijdl to the integer variables yidl and provide bounds for the latter. Together they ensure that vehicles from node j can only be assigned to lanes when node j is visited. Constraints (13) and (14) ensure that there is enough width and height, respectively, to stow vehicles in a given lane. Constraints (15) make sure that partition of a deck into lanes sum up to the width of the deck, while constraints (16) are the bounds for vertical placement of decks. Constraints (17) ensure that all the carried vehicles are assigned to lanes. To make sure that the same amount of vehicles that are loaded on board in the pick-up node is unloaded in the delivery node, constraints (18) and (19) are imposed. The upper and lower bounds on the quantity of vehicles carried from each node are imposed by constraints (20). Constraints (21), (22) keep track of how much lane length that has been used for all the lanes. The initial load condition for each lane is given by (23). Constraints (24) and (25) give bounds to the lane usage for pick-up and delivery ports, respectively. The precedence constraints (26) make sure that a cargo is picked up before it is delivered. Constraints (27) ensure that any lane that is used in a given pick-up port is correctly unloaded in the corresponding delivery port. Similarly, constraints (28)

Fig. 3. Illustration of combined stowage. The container shows the content of a given lane when sailing between nodes. A penalty cost is incurred because of the need to move the cargo j (light) when delivering cargo i (dark) in node N + i.

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

1231

ensure that if any pick-up node is visited, then the delivery node is also visited. Constraints (29) and (30) are the stability constraints. The former set of constraints is the requirements for torque from the cargo on the ship. The latter set is the constraints on the maximal height of the center of gravity of the laden ship. Constraints (31) give the binary domain of the variables for if the ship sails directly from i to j. Similarly, constraints (32) ensure that the zijdl variables take binary values. Integrality and non-negativity of the variables for number of vehicles loaded into a lane in a pick-up node are imposed by constraints (33). Constraints (34) give the non-positive domain for the number of vehicles loaded into a lane in a delivery port. Constraints (35) and (35) give the domain for variables controlling the number of vehicles carried from each node and delivered to each node, respectively. The time variables are non-negative, as indicated by constraints (37). The variables concerning the height of each deck are unrestricted, as indicated by (38), although limited by the bounds given in constraints (16). Finally, non-negativity for lane width is imposed by constraints (40). 3.2. Combined stowage By combined stowage we refer to the situation where vehicles from different cargoes are stowed together in the same lane. This may lead to additional handling of vehicles due to the LIFO policy of each lane. Consider the situation in Fig. 3 where cargo i is picked up before cargo j, and they are stowed in the same lane. If cargo j were to be delivered before cargo i, there would be no problem. However, if cargo i is delivered first, cargo j must first be rolled off the ship, then cargo i may be delivered, before cargo j is rolled onto the ship again. In the RoRo setting, this inconvenience is unwanted, but may be allowed if it allows more cargo to be carried. Here we propose three different approaches for modeling combined stowage in the 1-RSRSP. The first approach is to fully model the inconvenience using soft constraints, and will be referred to as the correct model. We introduce the following additional notation: CM j

the cost if vehicles from node j must be moved

aidl

1 if vehicles from node i are loaded into or unloaded from lane l on deck d 1 if node i is visited before node j 1 if vehicles from nodes i and j are stowed together in lane l on deck d, node i is visited before node j, node j before node N + i and node N + i before node N + j

bij wijdl

It is now possible to express the logical relationships governing whether a combined stowage penalty should be incurred.

X

zkidl ¼ aidl ;

P

i 2 N ; d 2 D; l 2 Ld

ð41Þ

k2N

ti  ðAi  Bj Þbij  t j P 0;

i 2 N;j 2 N

ð42Þ

aidl þ ajdl þ bij þ bj;Nþi þ bNþi;Nþj 6 4 þ wijdl ; i 2 N P ; j 2 N P ; d 2 D; l 2 Ld

ð43Þ

bij 2 f0; 1g;

ð44Þ

wijdl P 0;

i 2 N;j 2 N P

P

i 2 N ; j 2 N ; d 2 D; l 2 Ld

ð45Þ

Constraints (41) force the indicator variable aidl to become one if vehicles are picked up in node i and stowed in lane l on deck d. Since zkidl is binary and node i is visited at most once, aidl will automatically be binary, so there is no need for to explicitly give a domain for aidl. Constraints (42) force the indicator variable bij to become one if node i is visited before node j. Since bij does not automatically take binary values, constraints (44) are added to ensure this. If vehicles from both node i and node j are stowed in lane l on deck d, node i is visited before node j, node j is visited before node N + i and node N + i is visited before node N + j, then constraints (43) force the indicator variable wijdl to become at least one. To incur the penalty cost, we add the term



X X XX

CM j wijdl

ð46Þ

i2N P j2N P d2D l2Ld

to the objective function (1). The maximization together with constraints (43) and (45) will force wijdl to take binary values, since any solution with wijdl > 1 is non-optimal. The increase in problem size by using this model of combined stowage is quite tremendous. In an instance with 10 cargoes, 10 decks, and 10 lanes on each deck, this may add up to 400 binary variables, 11,000 continuous variables, and 11,400 constraints to the problem. A second approach to modeling combined stowage is to discourage use of the same lane for different cargoes, regardless of the order in which the cargoes are picked up and delivered, yielding a simplified model. We define: wdl CM

the number of cargoes more than one that use lane l on deck d during the voyage the penalty for each cargo more than one that uses a specific lane during the voyage

1232

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

To count the number of times that lane l on deck d has been used, we add

X X

zijdl 6 1 þ wdl ;

d 2 D; l 2 Ld

ð47Þ

j2N i2N P

wdl P 0;

d 2 D; l 2 Ld

ð48Þ

to the model. Since zijdl is binary, it is not necessary to impose integrality on wdl. To incur the penalty cost, we add



XX

C M wdl

ð49Þ

d2D l2Ld

to the objective function (1). This approach would for an instance with 10 cargoes, 10 decks, and 10 lanes on each deck add 100 constraints and 100 continuous variables to the problem, far less than in our first approach. A third approach is simply to suppose that the potential trouble of combined stowage is small enough to be ignored. In this case, the formulation (1)–(40) referred to as an ignorant model, will suffice. 4. Solution methods Two different methods to solve the 1-RSRSP are considered. The first is simply to use a standard MIP solver, in our case Xpress, to solve the formulations in Section 3 directly. The second method is a tailor made heuristic which extends the heuristic method proposed in (Øvstebø et al., 2011) for the RSSP. It consists of an initial construction heuristic, a tabu search to improve the routing and scheduling, a squeaky wheel optimization construction heuristic for creating stowage plans, and an additional local search to improve the stowage plans. The two latter parts come from a heuristic previously developed for the RSSP, whereas the two former parts are new. A simple construction heuristic is created with the aim of quickly producing an initial solution. All mandatory pick-up nodes are visited first, and the sequence of visits is based on an increasing late time limit for service Bi. All mandatory delivery nodes are then visited, again in a sequence depending on Bi. If there is flexibility in the cargo quantities the construction heuristic is run twice, first assuming that the minimum quantity is taken for each cargo and then assuming that the maximum quantity is taken. If the solution with maximum quantities is feasible it is taken as the initial solution, otherwise the solution with minimum quantities is used. The initial solution is expected to be feasible, as time windows are fairly wide in this application and stowage should be possible when selecting only mandatory cargoes with their minimum delivery quantity. Tabu search is used for the main part of the heuristic to improve the routing and scheduling, while extensively using the stowage plan creation part. Tabu search is known to work well for routing problems (Cordeau et al., 2001; Gendreau et al., 1994; Taillard, 1993; Toth and Vigo, 1998), and has also proved to be useful for more complex problems integrating routing and stowage decisions (Doerner et al., 2007; Erdog˘an et al., 2009; Gendreau et al., 2006; Gendreau et al., 2008; Zachariadis et al., 2009). The tabu search takes as input an initial solution that it attempts to improve. We assume that the initial solution is feasible with respect to time windows. The move operator used to search the solution space removes one cargo, consisting of a pick-up node and a delivery node, from the route, then re-inserts the pick-up node in its best possible position, locks the insertion position of the pick-up node and then inserts the delivery node in its best possible position. Fig. 4 illustrates how this operator works for an instance with four cargoes, where cargoes 1, 2, and 4 are taken. Nodes o and m are the origin and destination nodes, respectively. The search evaluates all such moves in each iteration and chooses the best move that is feasible and not tabu. Which move is best is evaluated based on the change in sailing costs Cij plus the change in the benefit CT from ending the route early. Moves involving a given cargo becomes tabu whenever the cargo is moved, and remain tabu for a randomly selected number of iterations. An aspiration criterion is used, so that if a tabu move leads to a new best solution, its execution is nevertheless allowed. The objective does not consist only of sailing costs and benefits of ending the route early, which the intra-route optimization takes into account, but to maximize revenue minus costs. A good overall solution may depend on choices with respect to which cargoes to carry and how much to carry of each cargo. A periodic diversification mechanism is introduced ensuring that the search visits solutions with different cargoes and quantities. The search keeps track of a pseudo revenue for each cargo, initially set equal to the revenue per vehicle for the cargo. Every c iterations, starting with the first iteration, the search removes all optional cargoes from the current route, increases the pseudo revenue for those that were not taken in the previous solution and decreases it for those that were taken. Then optional cargoes are inserted into the current route in a greedy manner by iteratively choosing the cargo that yields the largest increase in pseudo revenue, until there is not room for any additional cargoes. The greedy insertion of cargoes is done in the following order: 1. If all optional cargoes have been evaluated, go to Step 9, otherwise select the next optional cargo to be evaluated. 2. Try to insert the cargo using its minimum quantity, Q MIN , by first inserting the pick-up node in its best position and then i the delivery node in its best position. 3. If the time windows are not violated, try to create a stowage plan.

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

1233

Fig. 4. Example of intra-route operator, where cargo 1 is repositioned by first finding a new position for the pick-up node (1) and then the delivery node (N + 1).

4. If time windows are not violated, but no stowage plan is found: try to reduce the quantity carried of other cargoes one by one until either a stowage plan can be found or until no more quantities can be reduced. When reducing the quantity of other cargoes, the cargoes are considered in sequence based on their revenue per vehicle. If a stowage plan is found by reducing the quantity of some other cargoes, do a binary search to find the maximum quantity that can be taken from the last cargo that was reduced. 5. If a feasible stowage plan has been found, record whether the resulting solution has an improved value. 6. Repeat Steps 3–5 for the same cargo, but at maximum quantity, Q MAX . i 7. If a feasible solution was found after inserting at minimum quantity but not at maximum quantity, do a binary search for the quantity to insert and repeat Steps 3–5 for each quantity level. 8. Go to Step 1. 9. The best feasible insertion found may lead to an improved solution, meaning that the revenue from carrying an additional cargo is bigger than the sum of the increased travel costs, the reduced benefit from ending a route early, and possibly the loss of revenue from reducing some cargo quantities. If an improved solution is found, fix the insertion and repeat the process anew from Step 1, otherwise terminate. The feasibility with respect to time windows is not tested when inserting the cargoes in Step 2. This is due to the fact that time window feasibility is also dependent on the quantities taken, so this is tested in Step 3 instead. The binary searches, mentioned in Steps 4 and 7, works as follows: 1. Note Q LOW :¼ Q MIN and Q HIGH :¼ Q MAX . i j LOW iHIGH k LOW . If Q = Q , move to Step 6. 2. Let Q :¼ Q þQ 2 3. 4. 5. 6.

Try to make a stowage plan with Q. If feasible stowage plan, QLOW :¼ Q, otherwise QHIGH :¼ Q. Move to Step 2. Use qi :¼ Q as the cargo quantity for cargo i.

The periodic diversification described above is similar to the cargo selection process in the heuristic developed for the RSSP in (Øvstebø et al., 2011), but is extended to handle flexibility in cargo quantities. It requires that stowage plans are found repeatedly, and this is handled in the same way as in the original RSSP heuristic: through a combination of a constructive heuristic guided by the squeaky wheel optimization metaheuristic (Joslin and Clements, 1999) and a local search to repair the solution when violating the ship stability constraints. For a list of some other applications of squeaky wheel optimization, see Li et al. (2011). The stowage plan creation part takes as input a fixed route and a set of quantities corresponding to the number of vehicles for each cargo to be transported. First, a priority list of all the cargoes is created by sorting the cargoes by increasing vehicle height. The rationale is to put the tallest vehicles in first, since these are the most difficult to place once the deck heights have been fixed. The construction starts with the cargo with the highest priority, and inserts the cargo at the lowest possible deck

1234

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

(or decks), in one lane at a time. The number of vehicles inserted into a lane is equal to the minimum of the remaining vehicles in this cargo that have not been stowed already and the number of vehicles the length of the lane allows. When all vehicles from the current cargo have been inserted, the construction moves on to the next cargo. The construction may consider each cargo thrice. On the first loop through the cargoes, they are only inserted into previously empty lanes, thereby avoiding any issues with respect to the LIFO loading principle. If some cargoes have not been fully inserted, a second and a third loop examine whether it is possible to insert more vehicles by stowing together with vehicles that are already placed in a given lane. In the second loop, only insertions that do not lead to combined stowage penalty costs are considered, whereas in the third loop all insertions are allowed. In all three loops, cargoes are considered in sequence according to the priority list, decks are considered from lowest to highest decks, and lanes are considered arbitrarily from port side to starboard side. Having completed the third loop, if there are still cargoes that have not been fully inserted, the first cargo that was not fully inserted is moved forward a random number of places in the priority list. If all cargoes have been inserted, the stability requirements are checked. If ship stability is violated, the first cargo that breaks the requirements is moved forward a random number of places in the priority list. If the first cargo that breaks the requirements is also the first cargo in the priority list, it is moved to the back. If all cargoes have been placed and the stability requirements are fulfilled, the construction heuristic terminates. If only the stability restrictions are violated, an attempt is made to repair the solution using local search. If this is successful the search terminates. Otherwise it moves to the next iteration, which begins with an empty ship and the new priority list. Note that when moving a cargo forward in the priority list, it is always moved a random number of places from a uniform distribution between one and the maximum number of places that the cargo can be moved. The local search that attempts to repair violations of ship stability is a simple first improvement search, where neighbors are generated by moving all vehicles from a specific cargo in a specific lane to another lane with sufficient space. The local search is terminated when a feasible solution is found, or after a predetermined number of iterations. Fig. 5 summarizes the heuristic procedure for the 1-RSRSP, focusing on the initial route construction, the main tabu search iterations, and the periodic diversification. The figure does not show how these components interact with the stowage plan creation, which may be used by each of the three components: in the initial route construction to test if using maximum quantities result in a feasible solution, in the main tabu search iteration to verify that a stowage plan can be found when a new best solution has been found, and extensively in the periodic diversification phase to determine which optional cargoes are best to take and how much should be taken of each.

Fig. 5. Overview of the 1-RSRSP heuristic. The initial route construction, the tabu search, and the periodic diversification all make use of a method to produce stowage plans.

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

1235

5. Computational Study A variety of test instances were generated to examine the performance of the heuristic solution method and of Xpress. Instances were constructed to have realistic attributes, while allowing instances with different size. A generator was made taking four inputs: the ship size measured in CEU, the number of decks, the number of mandatory cargoes, and the number of optional cargoes. Randomization is used in the instance creation, but ship and cargo characteristics are kept realistic. The instances include two geographical regions, corresponding to a pick-up region and a delivery region. Fig. 6 illustrates the geographical structure, where Euclidian distances are used between nodes. A total of 37 sets of instances, each set with five instances, is used in the computational study. The input characteristics of these instances are summarized in Table 1. Due to randomization in the instance generation the five instances in each set differ in terms of the locations of ports, the time windows, and cargo characteristics (length, width, height, weight, revenue). See Øvstebø et al. (2011) for details on generation of cargo characteristics. Before describing the computational experiments performed on the 1-RSRSP, the findings from the previous study on the RSSP Øvstebø et al. (2011) are worth mentioning. Both Xpress as well as a heuristic similar to that described in Section 4 were analyzed for the RSSP. When there were no stability restrictions in effect, the heuristic found better solutions than Xpress using much less computational time while failing to find a feasible solution less often. The time needed to find feasible solutions depends primarily on the number of cargoes for Xpress and on the number of vehicles for the heuristic. The quality of the best solution found depends on the number of cargoes for both Xpress and the heuristic. When stability restrictions are enforced, Xpress is better at finding feasible as well as good solutions, but the heuristic seemed able to compete on smaller instances as well as on instances where optional cargoes are present. The computational tests on the 1-RSRSP will be presented as follows. In Section 5.1 we discuss how the parameters of the heuristic method were set. Section 5.2 compares the use of different penalties for the inconvenience of storing vehicles from different cargoes in a single lane. Our main results are discussed in Section 5.3, where we do not consider the option of flexible cargo quantities and where the ship stability restrictions are ignored. Test for instances with flexible cargo quantities are reported in Section 5.4, and finally, the effect of including ship stability restrictions is evaluated in Section 5.5. 5.1. Calibration tests Some initial tests were performed to calibrate the parameters of the heuristic method. The main point is to find a suitable balance of how the computational effort is used while keeping the total effort down. After extensive testing, the following values were determined. In the construction heuristic for creating stowage plans, at most 100 iterations of the squeaky wheel optimization is performed. If the local search to repair stability violations is performed, it is terminated after going through the whole neighborhood at most 10 times, though the number of moves can be much higher due to using a first improvement strategy. The tabu search is halted after 100,000 iterations and the periodic diversification is performed every 100 iterations of the tabu search. An exception is made for instances with quantity flexibility or stability constraints, where the total number of iterations is limited to 1000. When adjusting the cargo selection criterion, the pseudo revenue associated with an optional cargo is divided by 1.1 if the cargo was selected, and multiplied by 1.1 if the cargo was not selected. Finally, the length of the tabu tenure is set to depend on the number of cargoes in the current solution, NT, and to have some element of randomization. The best choice seems to be a tabu tenure drawn uniformly from

Fig. 6. Example of geographical distribution of nodes for an instance with ten cargoes.

1236

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

Table 1 Summary of 1-RSRSP instance sets used for parameter tuning (1–5), main computational study (6–25), testing different models for combined stowage (26–31), and testing flexible cargo quantities (32–37). Set

Ship size (CEU)

Decks

Mand. cargoes

Opt. cargoes

No. of instances

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

500 1000 2000 4000 8000 100 100 200 200 500 500 1000 1000 2000 2000 4000 4000 4000 6000 6000 6000 8000 8000 8000 8000 100 100 100 500 500 500 1000 2000 3000 4000 6000 8000

3 4 5 8 12 1 1 2 2 3 3 4 4 5 5 8 8 8 8 8 8 12 12 12 12 1 1 1 3 3 3 4 4 6 8 10 12

2 3 4 5 6 2 2 2 3 3 4 4 5 5 7 6 8 10 6 8 10 6 8 10 15 2 2 2 2 2 5 5 6 6 8 8 10

4 5 6 7 8 1 2 2 3 4 8 6 10 7 14 8 10 15 8 10 15 8 10 10 15 1 2 3 2 3 5 8 10 10 12 12 15

5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5

Fig. 7. Search trajectory, showing the objective function value of the current solution relative to the bestnsolution with four mandatory j k j found k on an instance o and six optional cargoes and a 2000 CEU ship with five decks. The tabu tenure is randomly drawn from 35 N T ; 35 N T þ 1; . . . ; N T , where NT is the number of cargoes in the current solution.

nj

3 T N 5

k j k o ; 35 N T þ 1; . . . ; N T . The resulting search is illustrated in Fig. 7, which shows the value of the current solution relative

to the best solution found for a selected run of the heuristic.

1237

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

The running time of Xpress for the 1-RSRSP was limited to 300 s for the execution of its branch-and-cut algorithm, while allowing up to 300 additional seconds to solve the initial LP relaxation. 5.2. Combined stowage When using Xpress, Section 3.2 outlined three alternatives for modeling the inconvenience of making unnecessary vehicle movements due to the LIFO principle followed when loading or discharging a lane. The tests described here aimed at evaluating the three modeling approaches, using either a correct model with (41)–(46), a simplified model with (47)–(49), or an ignorant model without any additions to (1)–(40). The heuristic is also included in the tests, and results are reported in Table 2 using instance sets 26–31. The table reports average results for each instance set, showing the objective function value (O), the cost of combined stowage calculated as in the correct model (CS), the gap of the best solution found (with correct cost for combined stowage) to the best upper bound found when using the correct model, the total running time in seconds (T), and the number of instances where no feasible solution was found (I). The results indicate that the simplified model (47)–(49) does not work well, requiring more computational effort than the other two models while giving poorer results in terms of overall solution quality. Using the simplified model, Xpress fails to find any feasible solution for five instances, while only failing for two instances when using the other models. The comparison between the ignorant model and the correct model is slightly surprising in that the time consumption is very similar for both of them. Although the correct model is able to find solutions where the cost of combined stowage is smaller, it is only guaranteed to find overall better solutions when finding a proven optimum. The instances used in these tests are fairly small, see Table 1, and even here we see that on average the ignorant model gives solutions that are overall better than the correct model, partly because the fictitious cost of combined stowage is relatively small compared to real costs and revenues. We can see that the heuristic is faster than Xpress and produces a higher number of feasible solutions, but finds slightly worse solutions in terms of the objective function. The heuristic does not find any solution where combined stowage is used, which is a natural consequence of how the heuristic was designed. However, it may be this inability to fully exploit the deck area that prevents the heuristic from finding the very best solutions. On the other hand, the ability of Xpress to make complex stowage plans may be undesirable in practice. Fig. 8 illustrates a solution to a problem of similar size as instance sets 29–31, where all the cargoes are scattered across the entire ship leading to a very complex stowage plan. In the remaining tests reported the ignorant model was used with Xpress. 5.3. Main results Our main test for comparing three different solution methods for the 1-RSRSP is reported in Table 3. We test the use of Xpress to solve the full model (1)–(40), and the use of a tailor made tabu search heuristic. The methods are tested on a wide range of instances in sets 6–25. The table reports, for each instance set, the average objective value (O), the average gap from the best found solution to the upper bound given by Xpress (G), the average running time in seconds (T), and the number of instances were no feasible solution was found (I). For the smallest instances using Xpress works well, with the heuristic being worse. However, as soon as the size of the instances increase only slightly, the heuristic dominates completely and Xpress fails to find any feasible solutions. The time usage for the heuristic does increase with problem size, as a fixed number of iterations is used, but is nevertheless within acceptable limits even on the biggest instances. Considering the existing fleet of RoRo ships, the biggest instances tested here

Table 2 Average objective function value (O), cost of combined stowage (CS), gap (G), running time in seconds (T), and the number of instances where no feasible solution could be found (I) for Xpress with different models of combined stowage and for the heuristic. Xpress correct (41)–(46)

Xpress simplified (47)–(49)

Set

O

CS

G (%)

T

I

O

CS

G (%)

T

I

26 27 28 29 30 31 Avg.

7.9  103 1.8  104 1.8  104 7.1  104 1.4  105 4.4  104 4.9  104

0.8 0.2 0.2 0.0 0.0 284.6 47.6

0.0 3.1 25.0 16.1 1.2 69.8 19.2

1.6 126.9 149.5 72.3 196.1 310.6 142.8

0 0 0 0 0 2 0.3

7.9  103 1.8  104 1.6  104 7.1  104 1.1  105 4.2  104 4.4  104

0.8 3.0 3.6 36.0 29.8 15.2 14.7

0.0 3.1 29.5 37.4 23.8 72.0 27.6

4.8 264.6 252.5 304.3 303.9 324.3 242.4

0 0 0 1 1 3 0.8

26 27 28 29 30 31 Avg.

Xpress ignorant 7.9  103 1.8  104 1.8  104 7.1  104 1.3  105 5.7  104 5.1  104

3.0 13.4 6.2 59.4 261.4 616.2 159.9

0.0 3.2 25.2 16.2 1.6 62.8 18.1

1.3 100.3 139.1 127.4 163.3 315.4 141.1

0 0 0 0 0 2 0.3

Heuristic 5.3  103 1.4  104 4.1  103 6.1  104 1.2  105 8.8  104 4.9  104

0.0 0.0 0.0 0.0 0.0 0.0 0.0

23.9 27.0 85.8 21.9 10.7 41.4 35.1

4.1 5.3 20.4 10.2 12.2 49.6 17.0

0 0 1 0 0 0 0.2

1238

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

Fig. 8. Illustration of stowage plan for instance RSSP_500ceu_3d_4cc_4oc_6p_1 with 20% flexibility in cargo quantities.

Table 3 Results for two different solution methods, reporting the average objective value (O), the average gap from the best found solution to the upper bound given by Xpress (G), the average running time in seconds (T), and the number of instances were no feasible solution was found (I). Xpress

Tabu search

Set

O

G (%)

T

I

O

G (%)

T

I

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Avg.

7.9  103 1.8  104 4.8  104 3.9  104 1.2  105 – – – – – – – – – – – – – – – –

0 3 7 20 39 – – – – – – – – – – – – – – – –

1 100 64 268 303 331 339 472 399 438 378 435 422 398 436 417 416 399 415 10 322

0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3.8

5.3  103 1.4  104 2.9  104 2.4  104 1.1  105 1.4  105 2.4  105 3.0  105 4.0  105 5.3  105 1.0  106 1.1  106 1.1  106 1.5  106 1.6  106 1.6  106 2.0  106 2.2  106 1.8  106 1.7  106 8.7  105

24 27 28 58 42 57 52 42 51 – – 32 42 38 34 – 39 30 31 – –

4 5 8 15 26 94 87 135 114 367 118 180 479 169 211 526 167 196 167 529 180

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

are representative for the biggest problems that could occur in practice. The gaps for the tabu search is not reported for four of the instance sets, as Xpress fails to solve the LP relaxation for some of the instances. For set 25, Xpress runs out of memory during presolve when solving the LP relaxation. Out of 13 instances where an optimal solution was proven the heuristic found seven. However, the largest of these instances has a 200 CEU ship and six cargoes, which is far from being a realistic size. While the tabu search is the only method to find feasible solutions to all instances, there is some doubt as to how good these solutions are: the gaps reported to the upper bound by Xpress are large. Comparing to the performance of Xpress on the smallest instances may indicate that the tabu search does not work well, and on instance set 6 it is indeed 24% away from the optimal solutions. However, from the analysis in Section 5.2 we may suspect that the heuristic is a particularly poor performer on smaller instances where complex stowage plans may be required to fit the best set of optional cargoes. This flaw may be less pronounced on larger instances. Figs. 9 and 10 show examples of the development of the upper bound and the best found solution for Xpress: the latter figure shows the development on a very small instance where there is a large initial gap that is only closed at the very end of the search. The former figure shows the lack of development on a slightly larger instance, where the big initial gap does not move at all even after allowing the search to continue for twenty thousand seconds. Thus, it cannot be conclusively determined whether the reported gaps for the tabu search is due to finding poor feasible solutions or due to having poor upper bounds from Xpress. For the smaller instances we may do a further comparison between the solutions obtained by Xpress and the tabu search. Fig. 11 breaks down the average gap between Xpress and the tabu search into the different components of the objective function for instance sets 6–10, where Xpress produces the best results. Clearly, what makes the tabu search do worse is an inability to select the correct subset of optional cargoes, whereas other differences are negligible or in favor of the tabu search. This again supports the observation from Section 5.2 that the heuristic is not able to use the available deck space to the fullest extent. 5.4. Flexible cargo quantities Our main results show that only the heuristic is able to reliably produce feasible solutions on larger instances, and hence the following tests focus on the performance of the heuristic. Tests regarding flexible cargo quantities are conducted using a

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

1239

Fig. 9. Upper bound and best found solution for Xpress for an instance with five mandatory cargoes, seven optional cargoes, and a 2000 CEU ship with five decks, from instance set 14.

Fig. 10. Upper bound and best found solution for Xpress for an instance with three mandatory cargoes, three optional cargoes, and a 200 CEU ship with two decks, from instance set 9, illustrating the weak initial bounds of Xpress.

fixed Q MAX and setting Q MIN ¼ ð1  pÞQ MAX while varying p. Typical results are illustrated in Fig. 12 for an instance with six i i i mandatory cargoes, 10 optional cargoes, and a 3000 CEU ship with eight decks. The results show that a significant increase in the objective function value is possible when allowing for quantity flexibility. Fig. 12 only illustrates one instance, but on average over the 30 instances in sets 32–37 the increase was 28% when going from 0% to 10% flexibility. Since allowing for more flexibility is a relaxation of the problem, the optimal objective function value is non-decreasing when increasing flexibility. The average results of the heuristic show a decline in the average objective value by 5% when going from 10% to 20% flexibility. This shows that the heuristic is unable to exploit the increased flexibility when the levels become too high, as is also seen in Fig. 12, and indeed increased flexibility makes it more difficult for the heuristic to find good solutions overall. One possible reason is that the selection of optional cargoes and cargo quantities is only performed a fixed number of times, whereas increasing the flexibility increases the search space so that the heuristic actually explores a smaller percentage of the search space. In addition, there is a five-fold increase in running times of the heuristic when including quantity flexibility of 10%, an increase that is mainly due to the binary search being activated in the periodic diversification part of the search (see Steps 4 and 7 in the greedy insertion of optional cargoes in Section 4). 5.5. Stability restrictions In the tests up to here, the stability restrictions were not considered. Now follows an analysis to determine the effect on the heuristic of including stability constraints. Stability constraints were included with either an allowable torque of 20% or 10% of the maximal theoretical torque. Table 4 shows the average objective function value (O), the average running time (T), and the number of instances where no feasible solution could be found (I) for instances sets 32–37.

1240

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

Table 4 Average objective value (O), average running time (T) in seconds, and number of instances where no feasible solution could be found (I) for instances with and without stability constraints. The torque-% refers to the amount of torque that is allowed compared to the maximum theoretical torque. No stability (100%) Set 32 33 34 35 36 37 Avg.

O

20% Torque T

5

2.4  10 4.1  105 8.3  105 1.1  106 1.6  106 1.9  106 1.0  106

2 3 4 6 7 12 5

I 0 0 0 0 0 0 0

O

10% Torque T

5

2.4  10 4.1  105 8.3  105 1.1  106 1.6  106 1.9  106 1.0  106

4 9 10 30 21 75 24

I 0 0 0 0 0 0 0

O 5

2.4  10 4.0  105 8.1  105 1.1  106 1.6  106 1.9  106 1.0  106

T

I

149 406 313 1,225 1,083 5,968 1,524

0 0 0 0 0 0 0

Fig. 11. Average relative difference in objective value between Xpress and the tabu search, broken down by each objective function part’s contribution to the total difference, for instance sets 6–10.

Fig. 12. Relative objective value for the best solution found for different levels of quantity flexibility, compared to the objective value when having no flexibility, for an instance with six mandatory cargoes, 10 optional cargoes, and a 3000 CEU ship with eight decks, from instance set 34.

The average objective value did not decrease significantly when including stability constraints, and there were no instances where a feasible solution could not be found, indicating that the local search for stability improvement works well. This seems to oppose some of the results in the previous study on the related RSSP (Øvstebø et al., 2011), where the local search did not perform as well. However, the instances in sets 32–37 have many optional cargoes, so it can be assumed that they are not tight with respect to capacity when considering only the mandatory cargoes, and in this case the local search worked fairly well also in the previous study. The price of a good local search is however a reduced execution speed. When going from a situation with no stability constraints to a maximum of 20% torque, the average running time increased from five to 24 s. From 20% to 10% torque, the average running time increased to 1524 s. Thus, the local search does work well, but is computationally very demanding.

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

1241

Fig. 13. Best found solution from the heuristic on the left ordinate axis, heuristic running time on the logarithmic right ordinate axis, for an instance with six mandatory cargoes, eight optional cargoes, and a 8000 CEU ship with 12 decks, with stability constraints of varying tightness. The percentages on the abscissa axis refers to the amount of torque that is allowed compared to the maximal theoretical torque.

To see the effect of letting the allowable torque vary, one selected instance was solved with the heuristic for different limitations of torque. Fig. 13 shows the objective function value of the best found solution. The running time for the heuristic is also plotted on the logarithmic right ordinate axis. The figure shows that the stability constraints did not affect the solution quality and the running time of the heuristic before the torque constraint was tightened to about 40%. From 40% to 20%, the running time increased slightly, probably because the local search had to be initiated a few times. But the objective value did not worsen before the maximal torque was set to 15%. From 15% to 5%, the running time also exploded from around 6 s. to almost 1000 s. The solution quality degraded sharply when the torque constraint was tightened to less than 10%. The last feasible solution was found with a torque of 4%, whereas no feasible solution was found at 3% and 2% torque. 6. Concluding remarks We have considered a RoRo ship that is set to sail between two geographical regions, picking up cargoes in the first region and delivering the same cargoes in the second region. Decisions must be made regarding which cargoes to pick up, how much to carry from each cargo, the sequence and timing of pick-ups and deliveries, and the stowage of the cargoes onboard the ship. In a previous study, a similar problem was studied where the ship’s route and the cargo quantities were taken to be fixed (Øvstebø et al., 2011). Here, decisions for routing and scheduling are considered simultaneously with stowage decisions, and the problem, 1-RSRSP, was modeled as a MIP. This extends the growing literature on problems combining routing with stowage and loading aspects. A tabu search was designed to handle the routing and scheduling, whereas squeaky wheel optimization and a local search were used to handle the stowage. A periodic diversification mechanism in the tabu search enables the search to evaluate different selections of optional cargoes as well as different cargo quantities. Both the heuristic and Xpress was tested on a wide array of instances. The effect of adding routing and scheduling is that Xpress is no longer as useful as for the simpler RSSP. For tiny instances of the 1-RSRSP Xpress performs better than the heuristic, but for larger instances only the heuristic finds feasible solutions. There is also the case that Xpress, based on the model as presented, tends to create very complex stowage plans, whereas the heuristic mimics human planning and creates plans that are easier to follow. Most tests were conducted with no quantity flexibility and no stability restrictions. Flexibility in cargo quantities is handled by the heuristic, but if there is a lot of flexibility the resulting solutions does not take full advantage of the flexibility. Stability restrictions seem to be handled well by the heuristic, with feasible solutions being found throughout. Both when adding flexibility in cargo quantities and when adding stability restrictions, the time consumption by the heuristic increases. However, for realistically sized instances, the heuristic seems to be the only viable option currently available. Acknowledgements This research was carried out with financial support from the DESIMAL project, partly funded by the Research Council of Norway. This support is gratefully acknowledged. The authors thank an anonymous referee for valuable comments that helped to improve an initial version of this paper.

1242

B.O. Øvstebø et al. / Transportation Research Part C 19 (2011) 1225–1242

References Avriel, M., Penn, M., Shpirer, N., Witteboon, S., 1998. Stowage planning for container ships to reduce the number of shifts. Annals of Operations Research 76 (1), 55–71. Christiansen, M., Fagerholt, K., Nygreen, B., Ronen, D., 2007. Maritime transportation. In: Barnhart, C., Laporte, G. (Eds.), Handbooks in Operations Research and Management Science. Elsevier BV, pp. 189–284. Christiansen, M., Fagerholt, K., Ronen, D., 2004. Ship routing and scheduling: status and perspectives. Transportation Science 38 (1), 1–18. Cordeau, J.-F., Laporte, G., Mercier, A., 2001. A unified tabu search heuristic for vehicle routing problems with time windows. The Journal of the Operational Research Society 52 (8), 928–936. Doerner, K.F., Fuellerer, G., Gronalt, M., Hartl, R.F., Iori, M., 2007. Metaheuristics for the vehicle routing problem with loading constraints. Networks 49 (4), 294–307. Erdog˘an, G., Cordeau, J.-F., Laporte, G., 2009. The pickup and delivery traveling salesman problem with first-in-first-out loading. Computers and Operations Research 36 (6), 1800–1808. Fagerholt, K., 2004. A computer-based decision support system for vessel fleet scheduling – experience and future research. Decision Support Systems 37 (1), 35–47. Fagerholt, K., Christiansen, M., 2000a. A combined ship scheduling and allocation problem. Journal of the Operational Research Society 51 (1), 834–842. Fagerholt, K., Christiansen, M., allocation, A travelling salesman problem with, 2000b. A travelling salesman problem with allocation, time window and precedence constraints – an application to ship scheduling. International Transactions in Operations Research 7 (1), 231–244. Fagerholt, K., Lindstad, H., 2007. TurboRouter: an interactive optimisation-based decision support system for ship routing and scheduling. Maritime Economics and Logistics 9 (3), 214–233. Felipe, A., Ortuño, M.T., Tirado, G., 2009. New neighborhood structures for the double traveling salesman problem with multiple stacks. TOP 17, 190–213. Fuellerer, G., Doerner, K.F., Hartl, R.F., Iori, M., 2009. Ant colony optimization for the two-dimensional loading vehicle routing problem. Computers and Operations Research 36 (3), 655–673. Gendreau, M., Hertz, A., Laporte, G., 1994. A tabu search heuristic for the vehicle routing problem. Management Science 40 (10), 1276–1290. Gendreau, M., Iori, M., Laporte, G., 2006. A tabu search heuristic for a routing and container loading problem. Transportation Science 40 (3), 342–350. Gendreau, M., Iori, M., Laporte, G., Martello, S., 2008. A tabu search heuristic for the vehicle routing problem with two-dimensional loading constraints. Networks 51 (1), 4–18. Hvattum, L.M., Fagerholt, K., Armentano, V.A., 2009. Tank allocation problems in maritime bulk shipping. Computers and Operations Research 36, 3051– 3060. Iori, M., Salazar-Gonzles, J.-J.S., Vigo, D., 2007. An exact approach for the vehicle routing problem with two-dimensional loading constraints. Transportation Science 41 (2), 253–264. Joslin, D.E., Clements, D.P., 1999. ‘‘Squeaky wheel’’ optimization. Journal of Artificial Intelligence Research 10, 353–373. Kang, J.-G., Kim, Y.-D., 2002. Stowage planning in maritime container transportation. Journal of the Operational Research Society 53 (4), 415–426. Li, F., Tian, C., Cao, R., Ding, W., 2008. An integer linear programming for container stowage problem. In: ICCS ’08. Proceedings of the 8th International Conference on Computational Science, Part I. Springer, Berlin, Heidelberg, pp. 853–862. Li, J., Parkes, A., Burke, E.K., 2011. Evolutionary squeaky wheel optimization: a new analysis framework. Evolutionary Computation. doi:10.1162/ EVCO_a_00033. Martin, G.L., Randhawa, S.U., McDowell, E.D., 1988. Computerized container-ship load planning: a methodology and evaluation. Computers and Industrial Engineering 14 (4), 429–440. MDS Transmodal, 2006. Roro freight market overview. (accessed 10.08.08). Moura, A., Oliveira, J.F., 2009. An integrated approach to the vehicle routing and container loading problems. OR Spectrum 31 (4), 775–800. Øvstebø, B.O., Hvattum, L.M., Fagerholt, K., 2011. Optimization of stowage planning for RoRo ships. Computers and Operations Research 38, 1425–1434. Petersen, H.L., Madsen, O.B.G., 2009. The double travelling salesman problem with multiple stacks – formulation and heuristic solution approaches. European Journal of Operational Research 198, 139–147. Stahlbock, R., Voß, S., 2008. Operations research at container terminals: a literature update. OR Spectrum 30 (1), 1–52. Steenken, D., Voß, S., Stahlbock, R., 2004. Container terminal operation and operations research – a classification and literature review. OR Spectrum 26 (1), 3–49. Taillard, E., 1993. Parallel iterative search methods for vehicle-routing problems. Networks 23 (8), 661–673. Toth, P., Vigo, D., 1998. The granular tabu search and its applications to the vehicle routing problem. INFORMS Journal on Computing 15 (4), 333–346. Wilson, I.D., Roach, P.A., 1999. Principles of combinatorial optimization applied to container-ship stowage planning. Journal of Heuristics 5, 403–418. Zachariadis, E.E., Tarantilis, C.D., Kiranoudis, C.T., 2009. A guided tabu search for the vehicle routing problem with two-dimensional loading constraints. European Journal of Operational Research 195 (3), 729–743.