• No results found

Ship Scheduling and Network Design for Cargo Routing in Liner Shipping

N/A
N/A
Protected

Academic year: 2021

Share "Ship Scheduling and Network Design for Cargo Routing in Liner Shipping"

Copied!
29
0
0

Loading.... (view fulltext now)

Full text

(1)

issn0041-1655|eissn1526-5447|00|0000|0001 c0000 INFORMS

Ship Scheduling and Network Design for Cargo

Routing in Liner Shipping

Richa Agarwal, ¨Ozlem Ergun

School of Industrial and Systems Engineering, Georgia Institute of Technology, Atlanta, GA 30332-0205, USA. ragarwal@isye.gatech.edu, oergun@isye.gatech.edu

A common problem faced by carriers in liner shipping is the design of their service network. Given a set of demand to be transported and a set of ports, a carrier wants to design service routes for his ships as efficiently as possible, using the underlying facilities. Furthermore, the profitability of the service routes designed depends on the paths chosen to ship the cargo. We present an integrated model, a mixed integer linear program, to solve the ship scheduling and the cargo routing problems simultaneously. The proposed model incorporates relevant constraints, such as the weekly frequency constraint on the operated routes, and emerging trends, such as the transshipment of cargo between two or more service routes. To solve the mixed integer program, we propose algorithms that exploit the separability of the problem. More specifically, a greedy heuristic, a column generation based algorithm and a two phase Benders decomposition based algo-rithm is developed and their computational efficiency in terms of the solution quality and the computational time taken is discussed. An efficient iterative search algorithm is proposed to generate good schedules for ships. Computational experiments are performed on randomly generated instances simulating real life with up to 20 ports and 100 ships. Our results indicate high percentage utilization of ships’ capacities and a significant number of transshipments in the final solution.

Key words: maritime transportation; liner shipping; Benders decomposition

Introduction

Sea cargo is the freight carried by ships and it includes anything travelling by sea other than mail, persons and personal baggage. A global seacarrieris a person, business or organization that offers transportation services via sea on a worldwide basis. Ashipperis a person or company who is either the supplier or the owner of the cargo that is to be shipped. With rates for sea cargo transportation at approximately one-tenth of air freight rates, fewer accidents and less pollution maritime transportation is regarded as a cheap, safe and clean transportation mode, compared to other modes of transportation. Increasing globalization and inter-dependence of various world economies is leading to a tremendous positive growth in the sea cargo industry. International and domestic trade of many nations depend on this mode of transportation. According to American Association of Port Authorities (2006), in the United States, which is the largest trading nation in the world for both imports and exports - accounting for nearly 20% of world trade, sea cargo is responsible for moving over 99% of the international cargo. U.S. ports and waterways handle more than 2.5 billion tons of trade annually, and this volume is projected to double within the next fifteen years.

Increase in sea-borne trade worldwide has led to similar trends in the growth of the world fleet. In 2005, world sea-borne trade increased to 7.11 billion tons of loaded goods (a 3.8 % annual growth rate) and the world fleet expanded to 960.0 million deadweight tons (a 7.2% increase) (United Nations Conference on Trade and Development (2006)). Although the fleet mix and size have changed over time considerably, the efficient utilization of the ships remains to be one of the main determinants of a carrier’s profitability. A ship involves a major capital investment, in millions of US dollars, and its daily operating costs can be in tens of thousands of dollars. Hence, development of optimization based decision support systems is necessary for efficient fleet management.

(2)

Figure 1 Growth in container movements worldwide. Source: Drewry Container Market Quarterly

The sea cargo industry is going through many changes that are reshaping its face. First, we briefly discuss some of these emerging trends. One of the most prominent changes is the increasing use of containers. Containerized cargo is the cargo that have been physically and economically stored in a container. Containerization of cargo has revolutionized the sea cargo industry by minimizing port labor and facilitating cargo handling. The dimensions of containers have been standardized. The term twenty foot equivalent unit (TEU) is used to refer to one twenty foot long container. According to Drewry (2001), at the start of 1980s only around 20% of all general cargo shipments were carried in containers. In 2001, this figure increased to 60%. An IBM white paper, Hingorani et al. (2005), shows that the container shipping market is still growing at 8-10% per year. This trend is depicted in Figure 1.

A serious challenge associated with containerized shipping is the repositioning of empty contain-ers. Because of the huge imbalance in trade volume on some routes, carriers need to reposition empty containers incurring significant costs. According to ROI (2002) a 10% reduction in equipment and repositioning costs can potentially increase profitability by 30-50%.

The sea cargo industry has seen a tremendous growth in number as well as in size oftransshipment ports. A transshipment port is a port where cargo is transferred from one ship to another. Through a sequence of moves by cranes, cargo is transferred either directly from one ship to another or temporarily stored at the port before being loaded onto outbound ships for further transportation. Use of containers makes this transfer very convenient and cost effective. Transshipment services provide carriers with additional routing options, reduced transit times and act as facilitator of international trade. For example the Hutchinson terminal in Freeport, Bahamas has become a major transshipment port between the Eastern Gulf Coasts of the United States, the Gulf of Mexico, the Caribbean, South America, and trade lanes to European, Mediterranean, far Eastern and Australian destinations. Other major international transshipment ports include Singapore, Port Klang in Malaysia and Hong Kong. In 2003, approximately 30% of worldwide container movements were transshipped and it is believed that this number is rising. According to United States Customs Service (2003) 80% of all containers handled at the port of Singapore, world’s second largest container port and world’s busiest port in terms of shipping tonnage, are transshipments.

Collaboration among sea carriers is not new. Carriers used conferences, as a means for curbing competition and controlling tariff rates in the market, as early as 1875. More recently, carriers are forming strategic alliances that allow them to realize economies of scale, extend their customer base and increase asset utilization while providing customers with more frequent sailings and faster transit times (Song and Panayides (2002)). Since 1990, when Sea-Land and Maersk introduced the

(3)

Strategic Planning (long term) Acquire resources, determine fleet size and mix

General policies and guidelines Goals, rules and limits Revenue and cost information Revenue and cost information

Tactical Planning (medium term)

Design the service network (frequency of routes, port selection, port rotation), assign ships to routes

Operational Planning (short term)

Choose which cargo to accept/reject for routing, route the selected cargo

Simultaneous ship scheduling and cargo routing problem Figure 2 Different planning levels for liner shipping

alliance system and began sharing ships in the Atlantic and Pacific oceans, strategic alliances have become increasingly common. Today smaller alliances collaborate to form even bigger alliances, for example The Grand Alliance and The New World Alliance laid down the foundation for cooperat-ing in 2006. The trend of consolidatcooperat-ing fleets and service routes demands better decision support systems to control a large fleet of ships and to solve large scale scheduling and optimization prob-lems.

Christiansen et al. (2004) describe in detail the division of the global shipping industry into three different modes of operation,industrial, trampand liner. In industrial shipping, the shipper owns the ships and aims to minimize the total shipping costs. In tramp shipping, a carrier engages in contracts with shippers to carry bulk cargo between specified ports within a specific time frame. Additional cargo (if any available in the market) are picked depending on the fleet capacity to maximize revenue. In liner shipping, a carrier decides on a set of voyages, makes the schedule available to shippers and operates on it. Thus, one can identify industrial shipping with “owning a car,” tramp shipping with “a taxi service” and liner shipping with “a bus service” with definite schedules and a published itinerary.

The focus of this paper is liner shipping. Liner shipping mainly involves carrying containerized cargo on regularly scheduled service routes. Liner services involve higher fixed costs and adminis-trative overhead than for example tramp shipping because tramps usually wait until they are full before departing from a port whereas liner services promise to depart on predetermined schedules regardless of whether the ship is full. The number of ships required for a given liner service route is determined principally by the frequency required on the service route, the distance travelled by a ship on the route and the speed of the ship. For example, a weekly liner service between New York and Hamburg may require four ships to maintain the necessary frequency.

As observed by Christiansen et al. (2004), liner shipping is growing at a high pace with the increasing global container traffic. In the United States, in 2003, liner shipping with its network of ships, containers, port terminals and information systems, handled over 60% of the total sea-borne trade. According to Barry Rogliano Salles- AlphaLiner (2006) between January 2000 and January 2006, the TEU capacity deployed on global liner trades has risen from 5,150,000 TEUs to 9,135,000 TEUs, a 77.4% increase.

Liner shipping involves decision making at strategic, tactical and operational planning levels. Figure 2 outlines the key decisions that need to be made at different levels of the planning horizon. In the strategic planning stage, the optimal number and mix of ships in a fleet is determined. Given that owning a ship involves a huge capital investment (usually in millions of US dollars)

(4)

and the cost of idling a 2,000TEU ship is $20,000-$25,000 per day, the strategic level decisions are extremely important.

In the tactical planning stage, the service network is designed by creating the ship routes, i.e. the sequence of port visits by a given fleet, and the assignment of ships to these routes. Ships move incyclesfrom one port to another following the same port rotation for the entire planning horizon. To maintain a customer base and to provide customers with a regular schedule most carriers have at-least one departure each week from each port visited on a service route (i.e. a cycle). This requires that the number of ships that operate on a cycle be at-least equal to the number of weeks that it takes to complete the cycle. Some cycles such as those connecting Asia to North America, may take up to eight weeks to complete, which means that a carrier requires at-least eight ships to introduce a new service on such a route. The problem of designing the service network of a carrier is referred to as the ship scheduling problem.

In the operational planning stage, a carrier makes decisions regarding which cargo to accept or reject for servicing and which path(s) to use to ship the selected cargo. This is referred to as the cargo routing problem. A carrier may elect not to transport some cargo, either because it is not profitable or because there is other cargo, perhaps at other ports, that is relatively more profitable. A cargo starts its trip from an in-land location and arrives at its origin port. This network which utilizes trucks, railroads, or waterways to bring cargo from an inland location to its origin port is known as thefeeder network. Cargo then moves from its origin port to itsdestination port, possibly after visiting some intermediate ports. From there it is taken to its final in-land destination using another feeder network. Some of the intermediate ports that a cargo visits during its journey from the origin port to the destination port may act as transshipment ports where cargo is transferred from one ship to another.

The decisions made at one planning level affect the decision making at other planning levels as well. The decisions at the strategic level set the general policies and guidelines for the decision making at the tactical and operational levels. Similarly, the decisions at the tactical level set the capacity limitations and network structure for the operational planning level. In the reverse direction, the information on cost and revenue that are generated by the system given the set parameters provides the much needed feedback for decision making at a higher level.

Over the years, the sea cargo industry has been conservative in terms of adopting new decision support systems. It has a long tradition of manual planning by experienced planners. Moreover, in general ship scheduling involves a large variety of problems. Hence, mostly tailor made models for specific problems with specialized constraints and objectives are available in the literature. Furthermore, most of the available literature have been developed for industrial and tramp shipping (Christiansen et al. (2004)). Because of the many differences in modelling and problem structure itself, it is difficult to draw comparisons between the existing literature. We next briefly overview a set of representative papers related to container and liner shipping. For a comprehensive review of literature on ship scheduling and cargo routing we recommend Ronen (1983) for the work done before 1983, Ronen (1993) for the decade 1982-1992 and Christiansen et al. (2004) for the last decade.

Rana and Vickson (1991) provides a nonlinear integer program to maximize total profit by finding an optimal sequence of ports to visit for each container-ship and an optimal number of cargo units to be transported between each pair of ports by each ship. They allow multiple pick ups and delivery on their ships. However, a special network structure with a restriction on loading and unloading of cargo at the end ports is considered. Furthermore, the model does not consider transshipments by not allowing cargo to be carried on ships that do not visit either the port of origin or the port of destination. They report that their algorithms solve instances with 3 ships and up to 20 ports within an hour.

(5)

Fagerholt (1999) considers the liner shipping problem in a special network where all cargo is transported from a set of production ports to a single depot. The problem is solved by first gener-ating all feasible single ship routes, and then solving a set partitioning problem. Again the model does not allow for transshipments. Although a weekly frequency constraint is imposed on the oper-ated routes, the feasible routes for the particular problem considered have a maximum route time of one week only. Thus on any of the feasible routes a single ship can maintain weekly frequency. Instances with up to 19 ships on a network with up to 40 ports are reported to be solved within a couple of seconds.

Finally, Perakis (2002) provides a review of linear and integer programming models, that only consider the deployment of a fleet of liner ships, with different ship types, on a set of predetermined routes with targeted service frequencies to minimize operating and lay-up costs.

As noted earlier, decisions made at one planning level affect decision making at other planning levels. Given a fleet size and mix, the service network laid at the tactical planning level governs which routes can be formed at the operational planning level to route cargo. The cargo picked at the operational planning level and the routes selected determine the cost and revenue that can be generated and thus the profitability of the given service network. These two problems are highly inter-dependent and thus it is important that they be studied in an integrated framework. The contribution of this paper is two folds. First, a new mixed integer programming (MIP) model is presented for the integrated ship scheduling and the cargo routing problem for containerized cargo. As shown in Figure 2, we refer to this problem as the simultaneous ship scheduling and the cargo routing problem. Second, since the proposed integer program is too large to be solved economically by general mixed integer programming codes, we develop algorithms to solve it efficiently.

Our model handles many relevant constraints and emerging trends that appear in practice, but have not been considered previously in the literature. For instance, customers expect carriers to provide them a regular schedule by maintaining at least a weekly frequency on the routes they operate on. To the best of our knowledge, this constraint has not been considered in the literature in its full generality. We successfully impose the weekly frequency constraint at the ports visited by a carrier. As is common in container shipping, we allow multiple pickup and delivery on our ships i.e. we allow containers loaded at one port to have more than one port of destination. Moreover, the fleet of a carrier usually consists of various ship types with different characteristics that may change over time. We consider a heterogeneous fleet with ships of different sizes, cost structures and speeds. In the literature, although there are references (see for example Fagerholt (1999)) to models with a heterogeneous fleet, most of these models consider ships with identical service speeds. Repositioning of empty containers efficiently is a big problem in liner shipping. Our model with some modifications has the flexibility to incorporate empty container repositioning. Empty container repositioning has been studied by Shen and Khoong (1995) and Cheung and Chen (1998) also, however these papers consider only the movement of empty containers on a given network. We also allow for cargo routes to encompass a combination of cycles rather than a single cycle (with some simplifying assumptions on the cost of transshipment), thus providing carriers with increased routing opportunities. We are not aware of any earlier results on transshipment of containers at an intermediate port from one ship to another. These features allow the use of our model in a wide variety of problem settings.

In the most general approach for solving ship scheduling problems to date, Fagerholt (1999) gen-erates a set of feasible schedules by including non-linear and intricate constraints, and then solves a set partitioning problem. Our goal in this paper is to model the simultaneous ship scheduling and cargo routing problem in its generality and solve it for large-scale instances. Hence, rather than being limited to an initial set of routes or exhaustively listing all the routes for ships, we design algorithms that exploit the separability of the problem to iteratively generate good cycles for ships and efficiently route the demand. More specifically, we utilize the fact that the ship

(6)

scheduling problem can be reduced to a cycle generation problem and the cargo routing problem can be reduced to a multicommodity flow problem. We develop a greedy heuristic, a column gen-eration based algorithm and a two phase Benders decomposition based algorithm and compare the computational effectiveness and efficiency of these approaches.

Our computational results are encouraging and establish that some of the algorithms developed can be used to solve larger instances, as compared to the literature, in terms of fleet size that arise as a result of collaborations and mergers in the sea cargo industry. We report computational results on problem instances with up to 100 ships and 20 ports.

The rest of the paper is organized as follows. The next section introduces our notation, math-ematical formulation and a note on the complexity of the problem. Three different algorithms, a greedy heuristic, a column generation based algorithm and a Benders decomposition based algo-rithm, are discussed in Section 2. Section 3 provides various algorithmic and implementation details. Computational experiments are presented in Section 4. Conclusions and directions for future work are discussed in the final section.

1.

Problem Description

We now present a mathematical formulation for the simultaneous ship scheduling and containerized cargo routing problem after introducing our notation and a space-time network.

Let P denote the set of ports. We will treat demand as a set of commodities with a positive supply at the origin ports and a positive demand at the destination ports. Each such commodity is characterized by an origin port,o, a destination port,d, the day of the week,i, when the supply is available at port o, the maximum demand (in TEUs) that may arise at port d, D(o,d,i), and

the revenue obtained by satisfying one TEU of the demand, R(o,d,i). We use the triplet (o, d, i) to

identify a particular demand and we let Θ be the set of all such triplets. We call such triplets

demand triplets.

A carrier typically has several different types of ships in his fleet. Each ship type usually has different capacity and speed and specifies the characteristics of a group of ships that are considered identical. We denote byAthe set of all the ship types and use the indexato represent a particular ship type. We associate the following information with each ship typea∈ A:Tadenotes the capacity

of a ship in TEUs for a ship of typea, forp, q∈ P,la

(p,q) denotes the number of days it takes for a

ship of type ato make a sailing from port pto port q andNa denotes the number of ships of type aavailable in the given fleet.

Given that the temporal aspects of the problem are important, we formulate the simultaneous ship scheduling and cargo routing problem as a multicommodity flow problem with side constraints on a space-time network. Furthermore, we use days as our time units in the space-time network, since in general the transoceanic routes do not visit more than one port in a given day. Let

G= (V, E) be a directed space-time network with vertex setV and edge setE. Each vertex v∈V

represents a port, port(v), on a day of the week, time(v). That is, for each port p∈ P we create seven vertices in V. For notational convenience, we associate a subscript with each vertex, i.e.

v=v(p,i) where port(v) =p and time(v) =i. We refer to the vertices of G either by v or v(p,i)

depending on the ease of exposition.

The network G= (V, E) contains three types of edges. The first is the set of ground edges. For every ship typea∈ A, we construct ground edges by connecting nodes v(p,i) tov(p,i+1) ∀p∈ P and

1≤i≤6. We also connectv(p,7)tov(p,1)∀p∈ P. For a ship, these edges represent an over-night stay

at a port and for cargo they represent an overnight stay at a port either on ground, or on the same or on a different ship before continuing further. Next, for every ship typea∈ A and pair of ports

p, q∈ P, we construct voyage edges, (v(p,i), u(q,j))a for 1≤i, j≤7 such that i−j=la(p,q)mod(7).

The voyage edges represent the movement of ships and cargo from one port to another at a given speed. Finally, we create a set of fictitious edges, (v(d,j), u(o,i)) for all demand triplets (o, d, i)∈Θ

(7)

Mon Tue Wed Thu Fri Sat Sun Port D Port C Port A T C2 C1 6 6 1 1 3 3 Ground Edges Cycle C1 Cycle C2 Transshipment port T Numbers on edges represent the length of the edge

Port B

Figure 3 Network with four ports and two cycles

and 1≤j≤7. An edge (v(d,j), u(o,i)) only allows the flow of commodity (o, d, i) on it and enables us

to view the flow of commodity (o, d, i) in the network as a circulation. Let us denote the set of all ground edges by Eg, the set of all ground edges for ship type aby Ega, the set of all voyage edges

by Ev, the set of all voyage edges for ship typea by Eav and the set of all fictitious edges by Ef.

That is,Eg= S a∈AE a g,Ev= S a∈AE a

v and E=Eg∪Ev∪Ef. We also use the following additional

notation: InEdges(v) denotes the set of incoming edges into vertex v and OutEdges(v) denotes the set of outgoing edges from vertex v; for an edge e= (u, v)∈E, tail(e) denotes vertex u and

head(e) denotes vertexv. Figure 3 represents a space-time network with four ports and two cycles,

C1 and C2. Note that port C acts as a transshipment port to transport cargo from port A to port

D.

The length of voyage edge e= (v, u)∈Ea v, l

a

e, is equal to the number of days it takes for a ship

of type ato reach from port(v) toport(u). We also let le= 1 fore∈Eg and le= 0 fore∈Ef. The

capacity of an edge represents the total amount of flow in TEUs that the edge can sustain. Ground edges at a port may have finite or infinite capacity depending on whether we wish to impose a limit on the amount of cargo that can be handled/stored at a port. Capacity on a voyage edge depends on the number of ships (and their capacities) that cover the edge.

There are various fixed and variable costs associated with the simultaneous ship scheduling and cargo routing problem. While some of these costs are incurred by ships, others are incurred by cargo. For the costs related to ports, we let cs,a

v be the one-time cost incurred by a ship of type a∈ Awhen visitingport(v) andcc

v be the total cost that a TEU of cargo incurs atport(v) per day.

The port visit costs may be different at different ports. Similarly,cs,a

e reflects the cost of operating

a ship of typeaon edge ein deep sea ifeEa

v and the cost of an overnight stay for a ship of type a atport(head(e)) if e∈Ea

g. For cargo, c c

e for e∈Ev reflects the cost of shipping a TEU of cargo

on edge eand for eEg reflects the cost of storing or holding a TEU of cargo at port((head(e)).

Fictitious edges are assigned zero costs.

We make sure that the port visit cost is incurred only once at each port even if a ship makes an over-night stay at the port. To account properly for the port visit cost in the time expanded network, we subtract the port visit cost for ship type a at the port from the ship cost cs,a

e on

the ground edge e. Thus if a ship makes an overnight stay at a port then though the port visit cost is counted twice via the node costs it is subtracted once via the ground edge cost. Idling of a ship at a port is penalized by imposing the overnight stay cost on the ship. Long stay of cargo

(8)

at a port, which is different from its port of destination, is penalized through the holding cost at the port. In this paper, we are using days of the week as the level of time discretization, thus we assume that if ships on two different cycles meet at a port on the same day then transshipment can occur in both the directions (i.e. cargo can be transferred from both the ships on each other). By considering finer discretization of time, one can account for smaller time windows on which ships at a port meet for transshipments and to determine if transshipment is possible in only one direction (without incurring the holding cost).

Given that in the space-time network the level of discretization is in days, a commodity that becomes available at port o on the ith day of the week is represented as a supply on vertexv(o,i)

in the network. We assume that supply appears at vertexo (for destinationd) at the same day of week every week. We believe assuming that an average amount of demand arises at a port on a given day is reasonable in our context since we are considering a tactical model. Since the demand from week to week is taken to be the same for a carrier, the service characteristics may also remain the same every week. To this end, we assume that given any cycle, the weekly frequency on the cycle is maintained using ships from the same fleet. We characterize a cycleC by the port rotation that it follows, the days of the week it visits each port in its rotation, the type of ship that is used to service C and the number of ships LC it takes to maintain a weekly frequency on C. Due to

the indivisibility of ships, LC is integral by definition. A cycle is said to be feasible if it satisfies

pre-specified rules in terms of the number of ships required to maintain a weekly frequency on the cycle and the number of ports visited. We denote the set of all feasible cycles for ship type a by Ca. Mathematically, for a cycle C

∈ Ca,L C=     P eC la e 7    

. Whenever necessary we represent a cycle

C by a sequence of vertices, for example a cycle from vertex v1 to vertex vr via v2,· · ·, vr1 is

represented asC=v1−v2· · ·vr−v1. Cost of a cycleC∈ Ca is denoted by CostC and is calculated

asCostC= P v∈C cs,a v + P e∈C cs,a e . 1.1. Mathematical Model

We now present a mixed integer programming formulation for the simultaneous ship scheduling and cargo routing problem. Our formulation has two sets of variables. First, for every feasible cycleC we define a binary variablexC.xC= 1 if a weekly frequency is maintained on cycleC and

is 0 otherwise. The xC variables are taken to be binary rather than integer as the possibility of

departing two ships of same type from a port following the same port calls on the same days of the week is highly unlikely.

Next, we define non-negative continuous variables representing the flow on edges. For each edge

e∈Eg∪Ev and each triplet (o, d, i)∈Θ we define fe(o,d,i) to denote the flow of commodity

rep-resented by (o, d, i) on edge e. For a fictitious edge e= (v(d,j), u(o,i))∈Ef, a single flow variable, f(o,d,i)

e , for commodity (o, d, i), is defined since the flow of other commodities on this edge is not

allowed. Note that, we let the flow variables to be continuous since adjusting for picking a fractional container does not influence the solution quality very much for the purposes of our tactical model. Before presenting the model we summarize the following additional assumptions that we make. A1-A3 are for the clarity of exposition and in no way restrict the usability of our model, however assumption A4 is more significant. (A1) Capacity on ground edges is assumed to be infinite i.e. we do not put any restriction on the amount of cargo that can be handled/stored at a port. (A2) We assume that all costs on cargo can be modelled via edge costs i.e. we set cc

v= 0∀v∈V. (A3)

We assume that all cargo is available in identical 1 TEU containers. Thus, D(o,d,i) represents the

number of containers of a commodity required at port d that become available at port o on day

i of the week. (A4) Finally, we do not consider the costs involved with transferring cargo from one ship to another. As discussed before, cargo incurs holding costs whenever it stays at a port

(9)

overnight. To account for transshipment costs correctly we need to distinguish between the capacity provided by different cycles on the same edge of the network. If the edges are duplicated for all the feasible cycles it will increase the size of the graph tremendously. Thus, it is hard to account correctly for transshipment costs if the network is not known (i.e. the cycles to be operated have not been selected). Since our aim is to consider the network design and cargo routing problems simultaneously and generate feasible cycles as a sub-problem, we ignore the transshipment costs for now. In Section 4.4 we present a computational study to discuss the effects of transshipment costs on cargo routing decisions once a set of cycles, to be operated by the given fleet, has been selected.

The simultaneous ship scheduling and cargo routing problem can be formulated as the following mixed integer program:

(SSSCR) : max X (o,d,i)∈Θ 7 X j=1 R(o,d,i)f(o,d,i) (v(d,j),v(o,i))− X (o,d,i)∈Θ X eE cc ef (o,d,i) e − X a∈A X C∈Ca CostCxC (1) such that X eInEdges(v) fe(o,d,i)− X eOutEdges(v) fe(o,d,i) = 0 ∀v∈V,∀(o, d, i)∈Θ (2) X (o,d,i)Θ fe(o,d,i)− X a∈A X {C∈Ca:eC} TaxC ≤0 ∀e∈Ev (3) 7 X j=1 f(v(o,d,i) (d,j),v(o,i)) ≤D (o,d,i) ∀(o, d, i)Θ (4) X C∈Ca LCxC ≤N a ∀a∈ A (5) xC ∈ {0,1} ∀C∈ Ca,∀a∈ A (6) f(o,d,i) e ≥0 ∀e∈E,∀(o, d, i)∈Θ. (7)

We now explain the above formulation. The objective function (1) maximizes the net profit by subtracting the sum of operating costs from the revenue generated. The first term in the objective function denotes the total revenue generated by transporting cargo between various origin and destination pairs. The second term captures the cost incurred by cargo during its routing from the origin port to the destination port. The third term denotes the total cost of operating ships on the selected cycles.

Constraint (2) is a flow balance constraint at every vertex of the space-time network. It ensures that the total flow into vertexv, of each commodity (o, d, i)∈Θ, is equal to the total flow out of it for the same commodity. Constraints (3) and (4) are capacity constraints on the edges. Constraint (3) requires that the total flow on a voyage edge must be less than the sum of the capacities of ships servicing that edge. Constraint (4) models that the total flow of a given commodity from an origin port to a destination port must be less than the demand at the destination port. Note that we do not have a capacity constraint on ground edges because of assumption A1. Constraint (5) requires that for each fleet type, we do not use more ships than we have available. Note that if cycle

C∈ Ca is selected, i.e.x

C= 1, then it will utilizeLC ships of typeato maintain a weekly frequency.

Finally, (6) denotesxC as binary variables and (7) denotes fe(o,d,i) as non-negative continuous flow

variables.

1.2. Hardness of the Problem

The decision version of the simultaneous ship scheduling and cargo routing problem is in NP, that is given a set of cycles to be operated and a flow of cargo on the edges it can be determined

(10)

in polynomial time whether the total revenue generated is greater than a given constant K. We show the NP completeness of the problem by reducing a well known NP-complete problem, 0-1 Knapsack, into a simultaneous ship scheduling and cargo routing problem.

The decision version of the 0-1 Knapsack problem is defined as the following: Given set N = {1,2,· · ·n}, integers K, ci and wi for every i∈N is there a subset S of N such that

P iS wi≤W and P i∈S ci≥K?

Theorem 1. The decision version of the simultaneous ship scheduling and cargo routing problem is NP-complete.

Proof: Suppose there are W identical ships with capacity T TEUs each. Construct a sea cargo network as follows. For each i∈ {1,2· · ·n} construct two ports, a demand port(di) with demand ciTEUs and an origin port (oi). Let a ship in the fleet take

wi

2 weeks to make a sailing from port oi to port di. Assume symmetric distances between ports and that the distances between oi and dj, ∀1≤i6=j≤n is large. Thus wi ships are needed to maintain weekly frequencies on cycles Ci=oi−di−oi for 1≤i≤nand all other cycles are infeasible. Let T= maxiNci and let revenue

generated by satisfying unit demand between any o−d pair be 1. Assume there are no operating costs involved. Observe that :

• All feasible cycles are disjoint.

• A cycleCi needs wi ships to maintain weekly frequency and can generate ci units of revenue. • If a setS⊂N of cycles is chosen to be serviced then P

i∈S wi≤W and a total of P i∈S ci units of revenue is generated.

It follows easily now that a set of chosen cycles, S, will give a revenue ofK units or more if and only if the 0-1 Knapsack problem has a feasible solution. Thus the 0-1 Knapsack can be solved by

solving aSSSCR problem.

2.

Solution Methodology

The linear program given by (1)-(7) contains a large number of variables even for moderate size problems. The large size of the model is a direct result of the exponential number of possible feasible cycles. Furthermore, each demand triplet adds a set of flow variables to the MIP model. An interesting observation however is that if we determine the set of cycles to be operated for each fleet type, i.e. given non-negative values xC satisfying fleet availability constraints (5), model (1)-(7)

reduces to the following multicommodity flow problem where each demand triplet is considered as a different commodity. (M CF) : max X (o,d,i)Θ 7 X j=1

R(o,d,i)f(v(o,d,i)(d,j),v(o,i))− X (o,d,i)Θ X e∈E ccef (o,d,i) e (8) such that X e∈InEdges(v) f(o,d,i) e − X e∈OutEdges(v) f(o,d,i) e = 0 ∀v∈V,∀(o, d, i)∈Θ (9) X (o,d,i)∈Θ f(o,d,i) e − X a∈A X {C∈Ca:eC} Tax C ≤0 ∀e∈Ev (10) 7 X j=1 f(v(o,d,i) (d,j),v(o,i)) ≤D (o,d,i) ∀(o, d, i)∈Θ (11) fe(o,d,i) ≥0 ∀e∈E,∀(o, d, i)∈Θ. (12)

(11)

Add the optimality cuts Solve the Benders sub-problem.

Update LB Solve the relaxed Benders master

problem. Update UB Initialize: S = {o-d-o cycles}

Set LB =0, UB = ∞

UB – LB < ε?

Solve the integer program No

Yes

Add a subset of negative cost cycles Construct auxiliary network Ga

Find negative cost cycles in Ga

Solve the column generation master problem Initialize: S = {o-d-o cycles}

Solve the integer program Yes

For each ship type a

No

∃ negative cost cycle? Yes

Stop Construct auxiliary network Ga

Find negative cost cycles in Ga

Pick the most negative cycle, C S=S U {C}. Assign ships to cycles

Initialize: Capacitye = 0, S = ∅

Update capacity on the edges, Solve the cargo routing problem

No

For each ship type a

Yes

∃ negative cost cycle? All ships used/ demandmet?

Greedy Heuristic Column Generation Benders Decomposition

No

Figure 4 Outline of the three algorithms considered.

Note that (8)-(12) is a linear program with no integrality constraints as it only involves the flow variables f(o,d,i)

e . Let π={πv(o,d,i):π(o,d,i)v unrestricted, ∀v∈V, ∀(o, d, i)∈Θ} , λ={λe:λe≥

0 ∀e∈Ev} and ω={ω(o,d,i):ω(o,d,i)≥0 ∀(o, d, i)∈Θ} be the set of dual variables associated with

constraints (9), (10) and (11) respectively.

Next, we present three heuristic algorithms that exploit the above observation to solve the SSSCR problem. First, we provide a simple greedy heuristic that selects good cycles one by one and then assigns cargo to routes. Then we present a column generation based algorithm that generates a pool of good cycles and then selects the best cycles among these while also routing cargo in the network. Finally we present the details of a more involved Benders decomposition based algorithm. Figure 4 presents an outline of the three algorithms.

2.1. Greedy Algorithm

Let S represent the set of cycles that are in operation i.e. ships have been assigned to maintain weekly frequencies on cycles in set S. The desirability or the value of cycle C depends on the revenue generated by routing flow on ships employed inC, the number of ships required to maintain weekly frequency onC and the various costs involved in operating the cycleC. The marginal value of cycle C also depends on the cycles already present in set S. Thus, a greedy selection of cycles must take into account the set of existing operational cycles and demand triplets (o, d, i)∈Θ.

LetAa,

∀a∈ A, represent the number of ships of typeathat are currently available. The greedy algorithm starts with an empty set of selected cycles. To find profitable cycles an auxiliary network

Ga = (Va, Ea) is created utilizing dual information from the solution of the M CF problem to

assign edge costs.Ga is constructed for each ship typeasuch thatVa=V andEa=Ea v∪E

a g. Each

edge eEa is assigned a cost c

e=cs,ae +λe and each vertex v∈Va is assigned a cost cv=cs,av .

For every ship type, the algorithm then finds a minimum cost cycle in the auxiliary network by using a procedureF indCycle(Ga). Details of this procedure will be provided in Section 3. Finally,

if feasible the cycle with minimum cost is selected and a suitable number of ships, to maintain weekly frequency, is assigned to it. The process is repeated while there are ships to be assigned.

2.2. Column Generation based Algorithm

Though the greedy algorithm is simple and provides a feasible solution quickly it is not very effective. It works with a very small set of feasible cycles and once a feasible cycle is generated it is picked in the final solution without any further considerations. Next we propose a column generation based algorithm that iteratively generates a good pool of profitable cycles for solving the linear programming (LP) relaxation of (1)-(7).

(12)

Column generation is an effective way of solving linear programs with a large number of columns (see Bertsimas and Tsitsiklis (1997) for an introduction). Rather than enumerating all the columns explicitly, it begins by solving a restricted problem (called the master problem) with a select set of columns. A subproblem is solved to generate “attractive” columns and they are subsequently added to the master problem. The process is repeated until no further profitable columns can be generated. The column generation technique has been successfully used to solve many large scale optimization problems, please see (Barnhart et al. (1994)) for an example in solving airline crew assignment problems.

To solve the LP relaxation ofSSSCR, the master problem in the column generation is initialized by restricting the set of cycle selection variables, to one simple cycle for every demand triplet. At every step of the column generation process, the master problem is solved to find the best value for all the decision variables. The pricing subproblem for the column generation is equivalent to identifying negative cost cycles in an auxiliary network, for every ship type. The auxiliary network,

Ga = (Va, Ea) is constructed for each ship type a such that Va =V and Ea =Ea v ∪E

a g. Dual

variable values from the master problem are used to assign costs to the edges and the vertices of the auxiliary network. Each edge e∈Ea is assigned a cost c

e=cs,ae +T aλ

e+ l7eσa and each

vertex vVa is assigned a costc

v=cs,av so that negative cost cycles in G

a correspond to columns

with positive reduced costs in the master problem. Note that since SSSCR is a maximization problem, profitable columns are the ones with positive reduced cost. Procedure F indCycle(Ga)

(described in Section 3) is used to identify negative cost cycles in the auxiliary network and corresponding columns are added to the master problem. The process is continued until no new cycles can be found. Finally, integrality constraints are imposed on the cycle selection variables and a branch-and-bound framework is used to obtain an integer solution for theSSSCR problem. No new columns are generated during the branch-and-bound phase. Different branching rules, with different advantages, can be devised to obtain the integer solution. For example branching on the largest feasible cycle forces many other binary variables also to satisfy the integrality constraints. However, we use the variable that affects the solution quality the most as the variable to branch on, giving preference to the up (xC= 1) branch, because this strategy performed the best in our

computational experiments.

2.3. Benders Decomposition Based Algorithm

As the number of ports, ships and demand triplets increase, solving model (1)-(7) by column generation becomes increasingly difficult. The number of constraints as well as the number of variables increase with the increase in the number of ports, ships and demand triplets, in the column generation master problem. We next decompose the LP relaxation of the model (1)-(7) using Benders decomposition to obtain a pair of problems that utilize the separability of SSSCR. The decomposition results in a master problem, where the number of variables increases as the number of cycles increase, and a subproblem, where the number of constraints increases as the number of demand triplets increase. Thus the effect of the increase in problem size is divided between a master problem and a subproblem. Further, this decomposition is used to effectively solve the LP relaxation and the solution is embedded in a branch-and-bound approach to obtain an integer solution.

Benders decomposition (Benders (1962)) is a popular technique to solve mixed integer linear programming problems with linking constraints. This approach is useful when master problem has all the integer variables and it is difficult to treat them in sub-problems. The solution process iterates between an integer master problem, which passes on the value of integer variables to subproblem(s), and subproblems generate cuts (feasibility and optimality) which are passed back to the master problem. Though this approach has proved to be suitable for many problems it has the drawback that an integer master problem has to be solved at each iteration. McDaniel and

(13)

Devine (1977) proposed a modification to this approach in which the solution of a sequence of integer programs is replaced by the solution of a sequence of linear programs and a few integer programs.

The basic techniques of McDaniel and Devine (1977) and its modifications have been used suc-cessfully to solve many hard problems. Florian et al. (1976) used it for solving an engine scheduling problem and Wiel and Sahinidis (1996) used it for solving a time-dependent travelling salesman problem. More recently, these techniques have been used successfully to solve locomotive car assign-ment (Cordeau et al. (2000), Cordeau et al. (2001a)) and aircraft routing and crew scheduling (Cordeau et al. (2001b)) problems. For these problems enormous time reductions and significant improvements in solution quality were achieved by first relaxing the integrality constraints in the master problem. After the relaxation is solved, to acceptable time or optimality criteria, the inte-grality constraints are introduced back in the master problem. We now present the use of Benders decomposition method to solve the SSSCR problem.

2.3.1. Benders reformulation As noted earlier for given non-negative values xC satisfying

fleet constraints (5), the LP relaxation of model (1)-(7) reduces to the M CF. Since M CF is a multicommodity flow problem with no integrality constraints, the optimal value ofM CF problem is equal to the optimal value of its dual. The dual problem (DP) of the M CF problem can be written as (DP) : min X e∈Ev X a∈A X {C∈Ca:eC} TaxCλe+ X (o,d,i)∈Θ D(o,d,i)ω(o,d,i) (13) such that

πhead(e)(o,d,i) −πtail(e)(o,d,i)+λe ≥ −cce ∀e∈E−Ef,∀(o, d, i)∈Θ (14) πhead(e)(o,d,i) −π(o,d,i)tail(e)+ω(o,d,i)

≥R(o,d,i) −cc e ∀e∈Ef,∀(o, d, i)∈Θ (15) π(o,d,i) v unrestricted, ∀v∈V, ∀ (o, d, i)∈Θ (16) λe ≥0 ∀e∈Ev (17) ω(o,d,i) ≥0 ∀(o, d, i)∈Θ. (18)

Let D be the feasible region of the dual problem and PD and QD be the set of extreme points

and extreme rays of D, respectively. Note that D does not depend on xC. Also, since R(o,d,i)≥

0 ∀(o, d, i)∈Θ and cc

e= 0∀e∈Ef, a feasible solution for the dual subproblem is π(o,d,i)v = 0 ∀v∈ V, (o, d, i)Θ,λe= 0∀e∈Ev andω(o,d,i)=R(o,d,i)∀(o, d, i)∈Θ, and thusD6=∅. Now, by strong

duality, either theM CF problem is infeasible or it is feasible and bounded. Clearly the null vector

0 is a feasible solution forM CF. This means that the primal-dual pair ofM CF andDP is feasible and bounded. Thus the optimal value ofM CF and DP can be characterized in terms of only the extreme points of DP, i.e. the setPD, and can be written as:

min (π,λ,ω)PD P e∈Ev {P a∈A P {C∈Ca:eC} Tax C}λe+ P (o,d,i)Θ D(o,d,i)ω(o,d,i).

Introducing an additional free variable z, model (1)-(7) can be reformulated as the following

Benders master problem (BMP). This problem has integer variables xC and one free continuous

variable z. (BM P) : maxz (19) such that z≤X e∈Ev {X a∈A X {C∈Ca:eC} TaxC}λe+ X (o,d,i)∈Θ D(o,d,i)ω(o,d,i)−X a∈A X C∈Ca CostCxC ∀(λ, ω)∈PD (20) X C∈Ca LCxC≤N a ∀a∈ A (21) xC∈ {0,1} (22) z f ree. (23)

(14)

Note that we do not have any feasibility constraints in the Benders master problem because (DP) is bounded. The optimality constraints (20) ensure thatzis restricted to be smaller than or equal to the value of the right hand side of constraint (20) at various extreme points of DP. In general, the above model contains many more constraints than the LP relaxation of model (1)-(7) but most of them are inactive at optimality. Thus a natural approach to solve (19)-(23) is by dropping constraints (20) and generating them as needed. We now present the basic Benders algorithm to solve the linear relaxation of SSSCR problem to optimality. Later, integrality constraints are introduced to solve the original SSSCR problem. We denote the linear relaxation of BM P as

LP BM P and the relaxation ofLP BM P obtained by dropping constraints (20) as theRLP BM P.

2.3.2. Overview of the algorithm The basic Benders decomposition based algorithm for solving the LP relaxation ofSSSCR iteratively selects good cycles, by solving theRLP BM P, for the ship scheduling problem and then efficiently solves the cargo routing problem, by solving the

M CF problem. The M CF problem utilizes theRLP BM P solution to assign capacity to voyage edges before solving the flow problem. In return, at each iteration, the dual solution of theM CF

problem provides an optimality cut to the RLP BM P. Let t be the iteration number and Pt

D be the restricted set of extreme points ofD available at

iteration t, i.e. the RLP BM P at iterationt is obtained fromLP BM P by replacing PD byPDt in

(20). Note that the solution of theRLP BM P at each iterationt, denoted byzt, provides an upper

bound for the original LP BM P (since theRLP BM P has fewer constraints than the LP BM P).

Algorithm 1The basic Benders decomposition based algorithm Procedure Basic Benders()

Set t= 1,Pt

D=∅,lower bound= 0,upper bound=∞. while (upper bound > lower bound+) do

STEP 1.SOLV E theRLP BM P to obtain solution zt and

{xC}t.

Setupper bound=zt.

STEP 2. Solve theM CF problem taking{xC}tas input to obtainv({xC}t) and optimal dual

solution (π, λ, ω).

Setlower bound= max{lower bound, v({xC}t)− P a∈A P C∈Ca CostCxC}. Set PDt+1 = {P t D ∩ {(x, z) : z ≤ P e∈Ev {P a∈A P {C∈Ca:eC} Tax C}λe + P (o,d,i)Θ D(o,d,i)ω(o,d,i) − P a∈A P C∈Ca CostCxC}}. t=t+ 1. end while

The originalBM P (orSSSCR) problem with integrality constraints is solved heuristically in two phases. In Phase I, all integrality constraints are relaxed and theLP BM P is solved to optimality by using basic Benders decomposition algorithm (Algorithm 1). Since the set of feasible cycles can be exponential, the RLP BM P, in this phase, is solved in a column generation setting. For phase I,SOLV E in Algorithm 1 refers to this column generation and its details will be provided next.

Retaining all optimality cuts and cycles generated in the first phase, Phase II puts the integrality constraints back on the master problem. Algorithm 1 is started once more, however in this phase theRLP BM P in Step 1 is replaced with the mixed integer programBM P, together with the cuts and cycles generated in the first phase. Since the DP polytope is not affected by the integrality constraints, all optimality cuts generated in Phase I can be used to generate corresponding cuts for the mixed integer program in Phase II. Additional optimality cuts are generated at each iteration. Note however that in phase II Algorithm 1 in Step 1 solves an integer problem at every iteration.

(15)

Thus in Phase II no new cycles are generated and SOLV E simply refers to a branch-and-bound solution of the relaxedBM P. This two phase approach for solving integer programs using Benders decomposition was originally proposed by McDaniel and Devine (1977) and the intuition behind it is the hope that many of the necessary constraints for the master problem may be generated by solving a linear program in place of the more computationally expensive integer program.

The branch-and-bound tree in Phase II is searched by a depth first search, giving preference to the up (xC= 1) branch. As in Section 2.2, the variable that affects the solution quality the

most is chosen as the branching variable. Note that solving the mixed integer program in BM P

is a computationally expensive step. Since any feasible integer solution can be used to generate an optimality cut, the mixed integer program BM P does not need to be solved to optimality at every iteration. However, if the BM P is solved heuristically the upper bound it provides during the Benders iterations could be much smaller than the true upper bound which might lead to a premature termination of the algorithm. In the worst case, the upper bound could become smaller than the lower bound. To avoid such a premature termination of the algorithm, the branch-and-bound search is terminated only when the solution quality obtained reaches an acceptable optimality gap (the gap between the best integer objective and the objective of the best node remaining). Searching the branch-and-bound tree for a solution with small optimality gap is likely to take large computation time but it is also likely to provide better solution quality by providing better bounds for the Benders iterations. Thus, a suitable optimality gap must be chosen to avoid the premature termination of the algorithm and to keep it computationally efficient.

2.3.3. Column generation for solving the RLPBMP The master problem in the Benders decomposition (theRLP BM P in Algorithm 1) is solved in a column generation setting. The pricing subproblem in the column generation reduces to identifying negative cost cycles in an auxiliary network,Ga= (Va, Ea), for every ship type a. As before,Ga is constructed such that Va=V and Ea=Ea

v∪E a

g. We next present how we compute the costs on the vertices and the edges of network Ga.

Let Π(λ,ω) and σa denote the dual variables corresponding to constraint (20) and (21),

respec-tively. The reduced costcC of a cycleC∈ Ca can now be written as:

cC= 0−   X (λ,ω)  CostC− X {e:eCEv} Taλe  Π(λ,ω) + LCσa  . (24)

Note that in (24) the second summation is only over the voyage edges of cycleC. Since the ground edges have infinite capacity, at optimality, by complementary slackness conditions λe= 0∀e∈Eg.

Thus, ground edges can also be included in the summation in (24). From LP theory, we know that if the reduced cost cC≤0 for each cycle C∈ Ca and every fleet typea∈ A then we have the

optimal solution to our problem. That is the column generation iterates as long as there exists a cycle C∈ Ca for somea

∈ A such that X (λ,ω) X vC cs,a v + X eC cs,a e − X eC Taλ e ! Π(λ,ω) + & X eC la e 7 ' σa<0 ⇒X v∈C   X (λ,ω) Π(λ,ω)  c s,a v − X e∈C   X (λ,ω) Π(λ,ω)∗λe  T a +X e∈C   X (λ,ω) Π(λ,ω)  c s,a e + & X e∈C la e 7 ' σa<0. (25)

(16)

For the network Ga, we assign costc v= P (λ,ω) Π(λ,ω) ! cs,a v to every v∈V a and cost c e=l7eσa − P (λ,ω) Π(λ,ω)∗λe ! Ta+ P (λ,ω) Π(λ,ω) ! cs,a e to every edge e∈E a. Let, Cost

C represents the cost of

cycleC with the above cost structure. LetdCostCebe the cost when we replace the P eC lae 7 term in CostCby P eC lae 7

. Note that, sincedxe ≥x, if the optimal value of the pricing subproblem∀a∈ A is greater than zero then there are no more profitable cycles because CostC≥0⇒ dCostCe ≥0.

If however, the optimal value of the pricing subproblem for some a∈ A is less than zero than we need to check if dCostCe<0. If it is, then we have found a profitable cycle, otherwise either there

are no more profitable cycles to be added or profitable cycles have very low negative cost (>−1) and are therefore ignored. We use ProcedureF indCycle(Ga) (as will be described in Section 3) to

identify negative cost cycles in Ga.

3.

Algorithmic Issues

In this section we discuss several algorithmic ideas we utilize to make our algorithms more effective, efficient, and stable.

3.1. Solving the Pricing Subproblem

The pricing subproblems for both the column generation and Benders decomposition based algo-rithms reduce to finding profitable cycles in the auxiliary network Ga. Similarly, the Greedy

algo-rithm needs to find profitable cycles in the auxiliary network. It is tempting to solve directly a minimum cost circulation problem in the networkGa, to identify negative cost cycles. However, the

cycles obtained by decomposing the solution of the circulation problem into simple cycles are not guaranteed to be practical. For example, our initial computational experiments with the circulation problem suggest that most of the cycles thus generated are too long and require a large number of ships to maintain weekly frequency. Hence, we first discuss rules based on the real world practice of liner shipping companies for defining feasible cycles. Next, a recursive algorithm, F indCycle(G), is presented to efficiently find negative cost cycles, satisfying pre-defined feasibility conditions, in a given networkG.

3.1.1. Defining feasible cycles To solve the pricing subproblem to optimality one must consider all sequences of ports as candidates for possible profitable cycles. However, searching for negative cost cycles in such an unconstrained manner not only makes our algorithms inefficient by generating cycles that create undesirable effects such as large integrality gaps but also it generates cycles that would never be operated in practice. Hence we impose a set of constraints that a cycle must satisfy to qualify as a feasible cycle.

Global carriers operate in different regions, for example OOCL operates mainly in North America, Europe and Asia, and cater to the demand of various markets, such as trans-Atlantic, trans-Pacific, intra-Asia, and Asia-Europe trade routes. Figure 5 represents an Asia-Europe cycle for OOCL. For a carrier it is important to tap the benefits of both inter-region and intra-region markets. Whereas, some of the inter-region markets, for example the trans-Pacific, are the most profitable ones, some of the intra-region markets, for example the intra-Asia market, form the backbone of international shipping.

We considered the published cycles by OOCL (2005) and APL (2005) in trans-Pacific and intra-Asia trade routes to come up with the following guidelines for defining the set of feasible cycles distributed in two regions, ri and rj.

(17)

Figure 5 An Asia-Europe cycle for OOCL. Source: OOCL

1. The number of ports visited by a cycle must not be too high. Most of the current trans-Pacific cycles visit up to 10-15 ports and intra-Asia cycles visit up to 7-10 ports. Let R(ri,rj) denote the

maximum number of ports that a cycle visiting regionri and rj is allowed to visit.

2. The length (in weeks) of a cycle must be bounded by a suitable number, i.e. the number of ships that can be committed to a particular cycle are limited. Most of the trans-Pacific cycles are up to 15 weeks long and most of the intra-Asia cycles are up to 6 weeks long. Let L(ri,rj) be the

maximum allowed length in weeks for a cycle visiting regionri and rj.

3. Cycles that operate in multiple regions must enter and leave a region only once, i.e. no inter-region loops are allowed. However, 1-2 intra-inter-region loops are allowed.

4. Each cycle must directly (without using capacity on other cycles) serve the origin and desti-nation ports of at least one demand triplet. It is highly unlikely for a carrier to introduce a cycle that does not satisfy any demand directly.

3.1.2. Finding negative cost feasible cycles Incorporating any of the rules that guide the feasibility of a cycle into the circulation problem yields a NP hard problem. (This is easily seen from the fact that shortest weight-constrained path problem is NP complete (Garey and Johnson (1979)).) Furthermore, an exhaustive enumeration of cycles following the above rules still yields a large number of cycles. For ports distributed in two regions, up to 10,000 cycles for a 10 port, 30 demand triplets problem, over a million cycles for a 15 port, 50 demand triplets problem and more than 10 million cycles for a 20 port, 80 demand triplets problem exist.

We now describe an iterative search algorithm for constrained negative cycle detection which yields good computational results. In essence, the algorithm utilizes Lemma (1) due to Lin and Kernighan (1973) to prune the search tree by ignoring paths with non-negative costs. This pruning helps the algorithm to maintain time- and space-efficiency. Ahuja et al. (2003) have used lemma (1) to develop a similar algorithm for detecting subset disjoint negative cycles.

Lemma 1. For a negative cost (directed) cycle C=v1−v2−....−vr−v1 there exists a nodevh in C such that each partial (directed) path vh−vh+1, vh−vh+1−vh+2, vh−vh+1−vh+2−... (where indices are modulo r) is a negative cost (directed) path.

We now present a cycle generation algorithm for ports distributed in two regions: r1 and r2.

Note that these ideas can easily be carried over to ports distributed in more than two regions. Before presenting the algorithm we define some notation. With each directed path p, we asso-ciate the following information: head(p) and tail(p) denote the last node and first node on p.

Cost(p) denotes the cost of pathp.N Rr1(p) andN Rr2(p) denote the number of ports from region

r1 and r2, ER(p) denotes the number of inter-region edges and finally l(p) denotes the length

of path p. Note that each edge in the network is either between two nodes of the same region (intra-region edge) or between two nodes of different regions (inter-region edge) and that the set {N Rr1(p), N Rr2(p), ER(p)} completely describes the region(s) visited by a path p. For a path p

we denote the set {head(p), tail(p), ER(p)} as DSet(p). We say that a path p dominatesanother pathq ifDSet(p) =DSet(q) and Cost(p)< Cost(q).

(18)

Note that a cycle can be obtained by connecting the endpoints of a path. Lemma (1) suggests that to find negative cost cycles it is enough to consider paths with negative cost. Further, the above definition of dominance suggests that among the paths with the sameDSet() only the path with the least cost needs to be explored further. A path p is said to be feasible if it has negative cost and if it can be extended to form a feasible cycle. LetPk denote the set of all non-dominated,

feasible paths with k nodes.

For each ship type a, Algorithm (2) detects negative cost cycles in the auxiliary network Ga,

described earlier with various cost structures. It works inductively by constructing set Pk+1 from

the setPk. For each pathp∈Pk it examines if the path can be extended by adding a single edge to

form path p0, that is if pathp0 is feasible. Procedure if f easible path(p) checks for the feasibility

of path p depending on the region(s) visited by p, by ensuring that the guidelines set in Section 3.1.1 are met, and accounts for the fact that for a ship type a no cycle can be longer than Na,

number of available ships for ship typea, weeks. The path is then checked for dominance inPk+1,

using procedure if dominated(p0, P

k+1) and non-dominated paths are added to Pk+1. For a cycle C, procedureif f easible cycle(C) checks if the cycle C is feasible.

For a pathpall information can be maintained inO(1) time. For example, to maintainER(p), we assign a value 0 to all intra-region edges and value 1 to inter-region edges. Thus whenever an edge is appended to a pathpPk to obtain pathp0∈Pk+1,ER(p0) can be obtained by adding the value of

the appended edge toER(p). Since we maintain all information regarding the region(s) visited by a path, feasibility check for a path and a cycle can be done in constant time. To check the dominance of a pathp∈Pk, we first need to check if there exists a pathq∈Pk such thatDSet(p) =DSet(q).

This is a computationally expensive step. We use standard hashing techniques to efficiently detect paths with the same DSet. Once such a path is found, dominance can be checked in O(1) time. Note that at any given time, set Pk will contain only one path with a particular DSet, i.e. the

non-dominated path. Rather than storing only the most negative cycleC∗Algorithm (2) can easily be modified to maintain a pre-defined number of best cycles.

3.2. Choosing an Initial Set of Cuts

Even though the Benders decomposition based Algorithm (1) may be initialized with an empty set of extreme points, the choice of an initial set may affect its convergence. In our experiments, the addition of several cuts helped us improve the performance of Algorithm (1).

Note that, π(o,d,i)

v = 0 ∀v∈V, ∀(o, d, i)∈Θ, λe= 0 ∀e∈E and ω(o,d,i)=R(o,d,i) ∀(o, d, i)∈Θ is a

feasible but not necessarily an extreme point solution of the DP polytope. It can thus be used to obtain the valid cut

z≤ X (o,d,i) R(o,d,i)D(o,d,i)−X a∈A X C∈Ca CostCxC. (26)

The above cut is equivalent to adding the constraint that the value of the optimal solution must be less than or equal to the revenue that can be generated by satisfying all the available demand minus the cost of operating the picked cycles.

Similarly, λe= max (o,d,i)ΘR

(o,d,i)

∀e∈E and ω(o,d,i)= 0∀(o, d, i)∈Θ is a feasible solution for the DP polytope and provides the valid cut

z≤ max (o,d,i)∈ΘR (o,d,i) X e∈Ev ( X a∈A X C∈Ca:eC TaxC ) −X a∈A X C∈Ca CostCxC. (27)

(19)

Algorithm 2An iterative constrained negative cycle detection algorithm Procedure FindCycles(Ga)

for all e∈Ea do p={e}

if if f easible path(p) thenP1=P1∪ {p} end for

k= 1,C∗=,Cost C∗= 0 while k < R do

while Pk6=∅do

Remove a path p from Pk

Connect the ends of path p to form cycleC.

if if f easible cycle(C) and CostC< CostC∗ thenC∗=C

for all {(head(p), j)OutEdges(head(p))} do p0=p∪ {(head(p), j)}

if {if f easible path(p0)}then Pk+1=Pk+1∪ {p0}

if if dominated(p0, P

k+1) thenRemove the dominated path end if

end for end while

k+1

end while

3.3. Making Column Generation Effective

While performing column generation, both in the pure column generation based algorithm for

SSSCRand for solving theRLP BM P in Benders decomposition based algorithm, we identify and add more than one profitable column per iteration. During the iterative cycle generation instead of maintaining just the most negative cycle we maintain a set of 5−10 most profitable cycles at almost no extra cost. This helps to significantly reduce the numbers of iterations during column generation without substantially increasing the time taken per iteration.

During a typical column generation, the problem keeps growing as the column generation process keeps adding columns to the master problem. To keep the list of columns manageable, we frequently delete nonbasic columns with high negative reduced cost from the master problem. This reduces the time per iteration significantly, though it increases the number of iterations slightly in many cases. As another speed up for the column generation process, if no new cycle is detected for a ship type in an iteration then cycle generation for that ship type is suspended for 2-5 iterations.

4.

Computational Experiments

In this section, we present the results of our computational study after describing the schema employed for generating test cases. We first establish the dominance of the Benders decomposition based algorithm over the greedy heuristic and the column generation based algorithm. Next, we present a deeper analysis of the Benders decomposition based algorithm. Finally, we discuss some of the interesting characteristics of the solutions obtained by our algorithm and show that it supports the recent trends observed in the sea-cargo industry. All of our algorithms were implemented in C++ in an Unix environment and we made extensive use of the callable libraries in CPLEX 9.0. All computational experiments were performed on a Sun280R workstation with UltraSparc-III processor. All times are reported in minutes.

References

Related documents

There is a difference whether, for example, the user demand is based on an 80% share of voice service and a 20% share of data, or vice versa; not only in the size of the cells

On the other hand, I am interested in objects with which the view- er empathizes in a human way–though only as long as the viewer, and the object viewed, maintain their sense

Tam, ‘‘A distributed multihop time synchronization protocol for wireless sensor networks using pairwise broadcast synchronization,’’ IEEE Trans. Wireless

18 It is important to note here that this dissertation more broadly considers the representation of the marginalized by authorial voices who do not explicitly experience what

In conclusion, the finding of the current study indicat- ed that a BSA based nanocurcumin in doses of 15 and 20 mg/kg -the doses which natural curcumin has no ef- fect-

Access to water supply and sanitation - Targets by 2030 •  Bring freshwater withdrawals in line with sustainably available water resources while increasing water productivity

• If the sound is distorted, or you feel a lack of surround effects when using multi channel surround sound, select “SMALL” to activate the bass redirection circuitry and output