Combined ship allocation, routing and freight assignment in tramp shipping

Combined ship allocation, routing and freight assignment in tramp shipping

Transportation Research Part E 47 (2011) 414–431 Contents lists available at ScienceDirect Transportation Research Part E journal homepage: www.else...

2MB Sizes 2 Downloads 51 Views

Transportation Research Part E 47 (2011) 414–431

Contents lists available at ScienceDirect

Transportation Research Part E journal homepage: www.elsevier.com/locate/tre

Combined ship allocation, routing and freight assignment in tramp shipping Dung-Ying Lin ⇑, Hui-Yen Liu Department of Transportation and Communication Management Science, National Cheng Kung University, No. 1 University Road, Tainan City 70101, Taiwan

a r t i c l e

i n f o

Article history: Received 8 April 2010 Received in revised form 4 August 2010 Accepted 26 October 2010

Keywords: Genetic algorithm Ship routing Tramp shipping Less-than-shipload Freight assignment

a b s t r a c t In this paper, we consider the ship routing problem of tramp shipping (SRPTP) and propose a combined mathematical model that simultaneously takes into account the ship allocation, freight assignment and ship routing problems of SRPTP. To solve this problem, we investigate the practical operational issues of SRPTP and develop a genetic algorithm. The empirical studies demonstrate the applicability of the proposed solution scheme for solving real-world problems that are beyond the reach of a widely used commercial optimization package. The technical, computational, practical and calibration issues involved in this unique tramp shipping problem are discussed in detail in this paper. Ó 2010 Elsevier Ltd. All rights reserved.

1. Introduction One of the critical elements in considering the operations of a shipping company is the ship routing problem (SRP). Based on carriers’ operational criteria, SRPs can generally be classified into the following three types: liner shipping, industrial shipping and tramp shipping (Kendall and Buckley, 2001). The SRP of liner shipping mainly considers a long-term, predetermined voyage line with fixed berthing ports and schedules. Though the SRP of industrial shipping considers fixed berthing ports, it does not have fixed berthing sequences and schedules because these sequences and schedules are typically determined by the cargoes. The SRP of tramp shipping (SRPTP) is more complicated as it considers a shipping problem with no fixed berthing ports, no fixed sequences and no fixed schedules, making this practical problem both unique and complex. In this paper, we consider the ship routing problem of tramp shipping (SRPTP) and propose a combined model that simultaneously takes into account the ship allocation, freight assignment and ship routing problems of tramp shipping. Other than having no home depot, the proposed model is similar to the pickup and delivery vehicle routing problem with time windows. Due to the complexity of the problem and the limitations of traditional mathematical programming approaches, researchers have explored alternative paradigms for solving this type of problem with meta-heuristics, especially when large-scale problems are of interest. In this paper, we explore the practical, methodological and computational issues of the tramp ship routing problem and develop a genetic algorithm to solve it efficiently. The formulated model and proposed solution scheme can help carriers to optimize the ship lease planning, acceptance and/or rejection of cargoes, assignment of cargoes to ships and temporal/spatial movement of ships. The remainder of the paper is organized as follows: Section 2 reviews research efforts from earlier studies that are related to the current study. Section 3 explains the mathematical formulation of the combined model. Section 4 details the genetic ⇑ Corresponding author. Tel.: +886 6 2757575x53226; fax: +886 6 275882. E-mail address: [email protected] (D.-Y. Lin). 1366-5545/$ - see front matter Ó 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.tre.2010.12.003

415

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

algorithm designed to solve the tramp ship routing problem. An overview of the computational runs and some of the insights are presented in Section 5. Section 6 presents the salient conclusions and indicates directions for future research.

2. Literature review The generic SRP is essentially a special case of the vehicle routing problem (VRP) (Cordeau et al., 2002; Desaulniers et al., 2002; Laporte, 1992; Toth and Vigo, 2002), which is known as strongly NP-hard (Baldacci et al., 2004). However, Ronen (1983) indicated that the SRP needs to consider a less structural, more complicated and more conservative operational environment than the VRP. Although the VRP has been well investigated in the literature, studies regarding the SRP are relatively rare. To the best of our knowledge, most of the existing studies have focused on liner shipping or industrial shipping (i.e., Cho and Perakis, 1996, 2001; Fagerholt, 1999, 2001; Fagerholt and Christiansen, 2000a,b; Ronen, 1983, 1986). The SRPTP considered in this paper is closely related to the pickup and delivery SRP with time windows (SRPPDTW) investigated by Fagerholt (1999, 2001), but without fixed berthing ports. The SRPTP is also similar to the pickup and delivery VRP with time windows (VRPPDTW, i.e., Cordeau et al., 2002; Desaulniers et al., 2002; Toth and Vigo, 2002; Snezana et al., 2004) and the pickup and delivery selection problem (Schönberger, 2005). However, ships do not need to return to their home ports in the SRPTP. The example depicted in Fig. 1 can demonstrate the uniqueness of the SRPTP. There are two ships and nine cargoes in Fig. 1. Ship 1’s berthing sequence is A, B, I, D, K, B and E, with the corresponding five cargoes A/D, B/I, I/K, D/K and B/E. The cargoes are named by their O/D ports (i.e., cargo A/D indicates that its origin port is A and its destination port is D). Ship 2’s berthing sequence is F, J, K, E, A and C, with the four cargoes F/J, F/K, K/E and A/C. For each leg of the route, each ship can be empty, carry one cargo or carry several cargoes. For example, leg (A, B) of Ship 1 carries cargo A/D, while leg (B, I) carries cargoes A/D and B/I. To carry cargoes with various O/D ports, ships may not return to their specific ports. In other words, there are no home depots to which each ship can return, resulting in an SRPTP without home depots. Because SRPTP is a variant of the vehicle routing problem, it is difficult to tackle this problem with traditional mathematical programming techniques, and this fact has led to an active line of research examining alternative paradigms for solving realistically sized versions of this problem with meta-heuristics. Among various meta-heuristics approaches, the genetic algorithm (GA) seems to be the most popular one. The GA, which was first developed by Holland (1975), has been recognized as an effective search procedure for finding the global optimum in optimization problems with complex search spaces. At each iteration, a GA maintains a population of candidate solutions (termed chromosomes) that evolve according to principles of natural selection (survival of the fittest) and genetic mechanisms of crossover and mutation. To the best of our knowledge, only a few GA-based approaches have been applied to variants of the pickup and delivery problem with time windows (PDPTW) in recent years. Pankratz (2005) indicated that one of the major reasons for this is that

(AD)

A

B

(AC

) C

)

(A D

,BI

)

(BE

D E

(IK,DK) K

(K E)

IK)

(AD, K)

I

(F

F

(FJ,F

K)

J

Ship1 Fig. 1. Routes of ships and cargoes.

Ship2

416

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

it is difficult to find an appropriate genetic representation for this complex problem. Jula et al. (2005) developed and compared three methodologies to solve the multi-traveling salesman problem with time windows (m-TSPTW) with social constraints: (1) an exact two-phase dynamic programming (DP) method; (2) a hybrid methodology consisting of DP in conjunction with a GA; and (3) a heuristic insertion method. It was demonstrated through numerical experiments that the exact two-phase method was efficient for small-sized problems, while the hybrid GA method could identify a sub-optimum solution for medium- to large-sized problems. Additionally, the insertion heuristic method was capable of finding good solutions for large-sized problems. Unlike earlier research efforts that considered container ship routing and empty container repositioning separately, Shintani et al. (2007) considered both issues simultaneously and formulated the combined problem as a two-stage problem. A genetic algorithm-based heuristic was developed to solve the problem. Numerical experiments showed that the problem incorporating both issues together provides a more insightful solution than the one without. Motivated by a real-world application of the less-than-truckload (LTL) industry, Cunha and Silva (2007) introduced a genetic algorithm to solve the hub location problem with single allocation. The problem featured variable discount factors for the linkages between hubs by finding the number of hubs, the locations of the hubs and the assignment of the spokes to the hubs. The proposed GA was also applied to a real-world problem of a major LTL trucking company in Brazil and resulted in significant cost reduction for that company. This research fills the gap by proposing a mathematical model for the tramp ship routing problem and developing a methodology to solve this problem faster than a widely used commercial optimization package. Moreover, unlike the typical tramp ship scheduling and routing problem that only considers the shipload problem (Christiansen et al., 2004), we explicitly consider the less-than-shipload problem, which makes our model more complicated yet more practical.

3. Mathematical formulation A tramp shipping carrier leases ships to transport shipload (SL) and less-than-shipload (LTS) cargoes from origins to destinations. Most of the ships of the carrier are typically leased on a time charter basis with a 1-year leasing contract. The rest are leased on a spot charter basis to meet increased demand in peak seasons. The ships are mainly of the handimax-design and dry-bulk type, with deadweights ranging from 30,000 to 50,000 tons and cruising speeds of 10–13 knots. The cargoes are dry cargoes in simple packing (i.e., steel coils, steel slabs, steel billets, machinery, wood pulp, plywood or stone) that vary with respect to the volume/weight, origin and destination (O/D) ports, pickup/delivery (P/D) time windows and loading/discharging operation times. Different cargoes can be partitioned by tarpaulins of different colors and shipped on the same ship. Shippers usually request direct transport (cargoes not transferred to other ships on the way to the corresponding destination port) and non-split loads (cargoes not loaded onto different ships). One distinct feature of the SRPTP is that ships are not required to return to their respective home depots. A carrier typically routes the fleet to transport the main cargoes, which usually are cargoes weighing more than 2500 tons each. If the space is insufficient to carry all the main cargo, the rest will be served by spot charter ships. In this scenario, the carrier selects the optional spot cargoes in the planned ship routes so that the cargoes utilize the remaining space. In addition, the carrier may rearrange the planned routes to carry more potential cargo. In practice, this type of carrier is usually a third-party carrier with a high proportion of spot cargoes ranging from 30% to 40% of total weight and from 40% to 50% of total revenue. Thus, it is common for a carrier to have ships loaded with spot cargoes only. In other words, the routes, ship allocations and freight assignments should be considered within a unified framework because the routes for spot and main cargoes may interact with each other. The SRPTP has a few intricate characteristics regarding the fleet, cargoes and demand ports. We summarize the characteristics as follows: (1) I. II. III. (2) I. II. III. IV. (3) I. II.

Fleet Ships may be of the same type but have their own attributes, such as capacity, and cruising speed. Ships need to pickup or deliver cargoes within the required time windows. The capacity and deadweight constraints of a ship have to be explicitly considered. Cargoes Two types of cargoes, namely main and optional spot cargoes, are typically considered. Main cargoes are usually heavyweight, while optional spot cargoes are smaller. Each cargo has its own volume/weight, O/D ports and time constraints (i.e., pickup/delivery time windows and loading/discharging operation times). Each cargo has its own pickup time window at the origin port and delivery time window at the destination port. However, the time window allows a certain degree of flexibility for certain cargoes (i.e., 1 day or 2). Direct transport and non-split loads are demanded. Ports It is unnecessary for a ship to return to a fixed home depot. Every port can be served for pickup and/or delivery.

417

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

Before presenting a complete mathematical formulation, we first introduce a few definitions extended from Chen and Liu (2004) and Liu and Chen (2005). In this research, as time and space are involved in the SRPTP, the core idea is to separate ship flows and cargo flows to form a multicommodity time–space network so that we can observe the SRPTP’s evolution over time. Nodes in the resulting network represent the demand ports at various days, while arcs in the network represent the flow directions of ships or cargoes. The space–time network is constructed in the following manner. 3.1. Ship subnetwork Each ship has a corresponding ship subnetwork. For example, in Fig. 2, there are two ships: Ship 1 departing from Port 1 (Node S1 in Fig. 2) and Ship 2 departing from Port 2 (Node S2 in Fig. 2). In each ship subnetwork, two types of arcs, namely berthing and voyaging arcs, are used to represent ship movement. The voyage time between ports for each ship is calculated by its cruising speed (voyage time = distance/cruising speed). Suppose that the voyage times of Ship 1 calculated based on distances and cruising speeds are as shown in Table 1. The resulting voyaging arcs can be depicted as in Fig. 2. For instance, based on the distance and cruising speed, it takes Ship 1 2 days to travel from Port 1 to Port 2. The berthing arcs allow a ship to stay at the same port. If the ships are berthing at ports or voyaging to ports, then the corresponding berthing arcs or voyaging arcs have flows on them. Each ship departs from its source node and destines at a sink node. 3.2. Cargo subnetwork As depicted in Fig. 3, a cargo subnetwork is closely related to the ship subnetwork. Each cargo (whether main cargo or spot cargo) has its own cargo subnetwork (similar to Fig. 2) containing a cargo O/D subnetwork and a cargo flow subnetwork. In the following example, we use Cargo A together with Ships 1 and 2 to demonstrate how the cargo subnetwork is constructed. The cargo O/D subnetwork illustrates the O/D port and pickup/delivery time aspects of cargoes. The adjustment arc connecting the origin node (Node O in Fig. 3) and the destination node (Node D in Fig. 3) has different meanings for the main cargoes and the optional spot cargoes. If the adjustment arc has a positive main cargo flow, this main cargo will be served by a spot charter instead of the carrier’s fleet. However, if the adjustment arc has a positive optional spot cargo flow, the carrier will reject this spot cargo. On the other hand, if main cargoes have been committed to be carried by the carrier’s fleet, the cargo will go into the cargo flow subnetwork and there will be no adjustment arc flow generated. Further, the cargo O/D subnetwork interacts with all ship subnetworks via pickup arcs and delivery arcs. In Fig. 3, for instance, Arcs 1–4 connecting the cargo O/D subnetwork and the ship subnetwork (both Ships 1 and 2) represent the pickup arcs, while Arcs 5–8 represent the delivery arcs. Arcs 1 and 2 indicate that Cargo A can be picked up and loaded onto Ship 1

Berthing Arc

Voyaging Arc Ship 1

1

2

3

4

5

6

7

S1 1

Source Node 2

Sink Node 3

Ship 2 1

2

3

4

5

1 S2 2

ports

3

days Fig. 2. Ship subnetwork.

6

7

418

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431 Table 1 The voyage time of Ship 1 between ports.

Port 1 Port 2 Port 3

Adjustment Arc +a 1 1 O

Port 2

Port 3

– 2 2

2 – 1

2 1 –

Cargo A 2

3

4

5

6

7

Cargo O/D Subnetwork

-a

Origin

2

Pickup Arcs

Port 1

D

Delivery Arcs

Destination 3 OD pair of Cargo a Delivery Nodes

Arc1 Arc2 Arc3

Arc5

Pickup Nodes

Arc4

Arc8 Arc7

Arc6

Ship 1 1

2

3

4

5

6

7

1

2

3

Pickup Nodes

Cargo Flow Subnetwork

Delivery Nodes Ship 2

1

2

3

4

5

6

7

1

2

3

ports days

Fig. 3. Cargo subnetwork.

on either Day 1 or Day 2. Arcs 5 and 6 show that Cargo A can be delivered by Ship 1 to its destination node on either Day 5 or Day 6. Arcs 3–4 and Arcs 7–8 suggest that Cargo A can also be picked up and delivered by Ship 2. However, if the pickup/ delivery time windows are relaxed from 2 days to 3 days, there will be six pickup arcs and six delivery arcs allowed for this cargo subnetwork. On the other hand, if the cargo pickup/delivery time window is limited to 1 day, there will be only two pickup arcs and two delivery arcs allowed for this cargo subnetwork. In addition to the common flow conservation constraints in a network model, four types of additional constraints are needed for the SRPTP. We first describe these constraints with figures and then present the mathematical formulation that realizes them. 3.2.1. Constraints on the interactions among ship subnetworks and cargo subnetworks A cargo can only be carried if arcs exist in ship subnetworks. If two ships and three cargoes are considered, the ship subnetwork and cargo subnetwork can be illustrated as in Fig. 4. In this example, Ship 1 moves from Port 1 to Port 2; therefore, Cargo A can be transported from Port 1 to Port 2 by the ship. Similarly, Ship 2 sails from Port 2 to Port 3 and then to Port 1; thus, Cargoes B and C can be carried by Ship 2 from Port 2 to Port 1 and from Port 3 to Port 1, respectively.

419

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431 Cargo flow Cargo A 1

2

3

4

Cargo B 5

6

1

7

2

3

4

Cargo C 5

6

2

3

4

5

-c 2

2

2 -a

+b

+c 3

3

3

7

6

1

-b

+a

Ship flow

1

7

1

1

Ship 1 1

2

3

4

5

6

7

S 1 +a O

2

O

-a

D

D

3

Ship 2 1

2

3

4

5

6

7

1 S 2

D

-b -c

O

D

D

+b

O

+c

3

D

O O

ports

ports

days

days

Fig. 4. Constraints on the interactions among ship flows and cargo flows.

3.2.2. Ship capacity/deadweight constraints Cargoes cannot be loaded beyond a ship’s capacity/deadweight limitations. For example, in Fig. 4, Ship 2 carries Cargoes B and C simultaneously from Port 3 to Port 1. The total capacity/deadweight of these two cargoes should not exceed the capacity/deadweight limits of Ship 2.

3.2.3. Constraints on cargo loading/discharging operation times Each cargo should meet its pickup/delivery time windows and loading/discharging operation times. The pickup/delivery time windows are taken into account in the cargo subnetworks by pickup arcs and delivery arcs. The loading/discharging operation times can be incorporated by a loading/discharging operation time constraint on the arcs of the cargo subnetworks. For example, in Fig. 5, a cargo is assigned to a ship. Assume that the pickup time window is 2 days (between Day 1 and Day 2) and the delivery time window is also 2 days (between Day 5 and Day 6). The operation time for loading and discharging is 1 day for each. The ship’s departure time from Port 1 and arrival time at Port 2 have to match the cargo pickup/delivery time windows and loading/discharging operation times. Therefore, the departure date must be no less than the cargo pickup date plus the loading operation time. In other words, if the cargo is picked up on Day 1, Ship 1 can leave Port 1 as early as Day 2. Similarly, the arrival date must be no later than the cargo delivery date minus the discharging operation time. In other

1

2

3

4

5

6

Pickup Arc 1

Berthing Arc

Pickup Node 2

Vo ya gi n g

arc

Delivery Arc Berthing Arc Delivery Node

3

ports days Fig. 5. Constraints on the cargo loading/discharging operation times.

7

420

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

words, if the cargo is to be delivered on Day 5, the ship must arrive at Port 2 on or before Day 4. Note that the voyage time between ports for each ship is calculated by its cruising speed. If several cargoes are being picked up or delivered at the same time, the longest operation time, but not the total time, is taken as the loading or discharging operation time; then, the loading/discharging operation time will not be over-estimated. 3.2.4. Constraints on non-split loads and direct transport To maintain service quality and to reduce the chance of cargoes being damaged, each cargo is assumed to be carried by only one ship (non-split load) and should not be transferred to another ship on the way to the destination port (direct transport). A consideration of the non-split load indicates that cargo flows must have corresponding 0–1 decision variables. In a further consideration of the direct transport, there should be no arcs connecting the ship subnetworks in the cargo flow subnetwork (as depicted in Fig. 3), which can prevent cargoes from being transferred. With the abovementioned subnetworks and constraints, the SRPTP is formulated as a mixed integer linear program. We first present the notations used throughout this paper for the convenience of the reader before presenting the complete mathematical formulation. Sets N: SNn: SSNn  SNn : STNn  SN n : SAn: M: M1: M2: CSNm: CTNm: CNmn: CLNmn  CN mn : CUNmn  CN mn : CAmn : CAV mn  CAmn : CABmn  CAmn : CLAmn: CUAmn: Parameters Pm: Clm: Crm: Csnij : Kn: Lm: tlm: tum: Decision variables X mn ij : mn Xlij : Xumn ij : m

Ships Nodes in the ship subnetwork of Ship n Source nodes in the ship subnetwork of Ship n Sink nodes in the ship subnetwork of Ship n Arcs (including berthing arcs and voyaging arcs) in the ship subnetwork of Ship n Cargo Committed main cargo, M 1  M Spot or non-committed cargo, M 2  M Source nodes in the cargo O/D subnetwork of Cargo m Sink nodes in the cargo O/D subnetwork of Cargo m Nodes in the cargo flow subnetwork of Cargo m corresponding to Ship n Pickup nodes in the cargo flow subnetwork of Cargo m corresponding to Ship n Delivery nodes in the cargo flow subnetwork of Cargo m corresponding to Ship n Arcs in the cargo flow subnetwork of Cargo m corresponding to Ship n Voyaging arcs in the cargo flow subnetwork of Cargo m corresponding to Ship n Berthing arcs in the cargo flow subnetwork of Cargo m corresponding to Ship n Pickup arcs in the cargo subnetwork of Cargo m corresponding to Ship n Delivery arcs in the cargo subnetwork of Cargo m corresponding to Ship n Unit Unit Unit Unit

revenue of Cargo m transport cost of Cargo m cost corresponding to the adjustment arc of Cargo m shipping cost of Arc (i, j) in the ship subnetwork of Ship n

Capacity/deadweight of Ship n Volume/weight of Cargo m Loading operation time of Cargo m Discharging operation time of Cargo m Flows on Arc (i, j) in the cargo flow subnetwork of Cargo m corresponding to Ship n Flows on Pickup Arc (i, j) in the cargo subnetwork of Cargo m corresponding to Ship n Flows on delivery arc (i, j) in the cargo subnetwork of Cargo m corresponding to Ship n

Xr : Y nij :

Flows on the adjustment arc in the cargo O/D subnetwork of Cargo m Flows on Arc (i, j) in the ship subnetwork of Ship n

3.3. Mathematical formulation of SRPTP

Maximize

X X X m2M n2N ij2CLAmn

mn

Pm Xlij 

X X X m2M n2N ij2CLAmn

m

mn

Cl Xlij 

X X

Csnij Y nij

8 > < 1ðk 2 STN n Þ s:t: Y nik  Y nkj ¼ 0ð8k 2 SNn ; 8k R SSN n ; 8k R STNn Þ 8n 2 N > : i2SN n j2SNn 1ðk 2 SSNn Þ X

X

ð1Þ

n2N ij2SAn

ð2Þ

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

X

X

X mn ik 

i2CNmn

X mn kj

j2CNmn

X X

8 mn > < Xlrk ðr 2 CTN m ; k 2 CLN mn Þ ¼ 0ð8k 2 CNmn ; 8k R CLN mn ; 8k R CUN mn Þ > : Xumn kr ðr 2 CSN m ; k 2 CUN mn Þ

8m 2 M; 8n 2 N

mn

421

ð3Þ

Xlij þ Xrm ¼ 1 8m 2 M

ð4Þ

m Xumn 8m 2 M ij þ Xr ¼ 1

ð5Þ

n2N ij2CLAmn

X X n2N ij2CUAmn

X

X

mn

Xlij 

ij2CLAmn

Xumn 8m 2 M; 8n 2 N rk ¼ 0

ð6Þ

rk2CUAmn

X

n n Lm X mn 8ði; jÞ 2 SAn ; 8n 2 N rk  K Y ij  0

ð7Þ

m2M;rk2CAmn ;r¼i;k¼j jþtl m 1 X

mn

X mn 8ði; jÞ 2 CLAmn ; 8m 2 M; 8n 2 N k;kþ1  tlm Xlij  0

ð8Þ

mn X mn 8ði; jÞ 2 CUAmn ; 8m 2 M; 8n 2 N k1;k  tum Xuij  0

ð9Þ

ðk;kþ1Þ2CABmn ;k¼j itu m þ1 X ðk1;kÞ2CABmn ;k¼i

Y nij 2 f0; 1g 8ði; jÞ 2 SAn ; 8n 2 N

ð10Þ

8ði; jÞ 2 CAmn ; 8m 2 M; 8n 2 N X mn ij 2 f0; 1g

ð11Þ

mn

Xlij 2 f1; 0g 8ði; jÞ 2 CLAmn ; 8m 2 M; 8n 2 N

ð12Þ

8ði; jÞ 2 CUAmn ; 8m 2 M; 8n 2 N Xumn ij 2 f0; 1g

ð13Þ

Xrm 2 f0g 8m 2 M1

ð14Þ

Xrm 2 f0; 1g 8m 2 M2

ð15Þ

The objective function (Eq. (1)) attempts to maximize the total profit, which is calculated as the difference between the P P P total cargo revenue ( m2M n2N ij2CLAmn Pm Xlmn ) and the total cost. The total cost consists of the transport cost ij P P P P P m mn ð m2M n2N ij2CLAmn Cl Xlij Þ and the shipping cost ð n2N ij2SAn Csnij Y nij Þ. In practice, the transport cost includes loading/ discharging fees, insurance and commission. In addition, the shipping cost typically includes ship rent, fuel costs, berthing fees and miscellaneous fees. Eq. (2) is the flow conservation constraint in the ship subnetwork, while Eq. (3) is the flow conservation for each ship and each cargo in the cargo subnetwork. Eqs. (4) and (5) are the flow conservation constraints for the cargo O/D subnetwork. Eq. (6) ensures that a cargo is loaded to and discharged from the same ship. Eq. (7) gives the capacity/deadweight constraints for each ship. Eq. (8) makes sure that cargoes will only be loaded onto ships if these ships are berthed in ports for a minimal loading operation time. On the other hand, Eq. (9) ensures that the discharging time satisfies the operational constraints. Finally, Eqs. (10)–(15) state that the decision variables are binary in this model. It is worth noting that the above formulation collapses into a pure network flow problem when complicating constraints (Eqs. (4)–(9)) are eliminated. Therefore, a Lagrangian relaxation- (LR-) based method should be a potential solution strategy. However, from our preliminary experiments, the bounds obtained from the relaxed problem are loose, and the convergence of the LR-based approach is very slow. The slow convergence of the LR-based method and the possibility of failure in determining feasible solutions can hamper the solution process (Lin, 2001). Thus, we attempt to develop a genetic algorithm to solve this problem. 4. Genetic algorithm design In this section, we provide an overview of the GA designed for solving the SRPTP. The GA is a global search heuristic developed using the principles of evolutionary biology, in which regions having a higher proportion of good solutions are searched more intensely. The GA starts with a group of randomly generated feasible solutions (referred to as populations). The population evolves over multiple iterations (referred to as generations or trials) based on the principle of ‘‘survival of the fittest.’’ The main procedures of a GA include encoding, selection, crossover, mutation and functional evaluation. The proposed GA

422

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

begins by initializing parameters that will be used throughout the following algorithmic steps (i.e., population size, generation counter, maximum number of generations, crossover probability and mutation probability). An encoding procedure (described in Section 4.1) is then applied, and a population of chromosomes is generated. In the functional evaluation process, each chromosome is decoded and evaluated to calculate its fitness value (the decoding procedure will be described in Section 4.1). If the maximum number of generations is not reached, a roulette wheel method is used to select a pair of chromosomes based on their corresponding fitness values. Genetic operators (crossover and mutation) are then applied to form two offspring, and the resulting offspring are placed in the new population until the size of the new population equals the initial population size. The process then goes back to the fitness calculation and repeats until the maximum number of generations is reached. A flowchart describing the overall GA process is depicted in Fig. 6, followed by the details of the critical steps. 4.1. Encoding and decoding In general, solutions can be encoded into chromosomes in four different ways: binary encoding, real-number encoding, integer (or literal permutation) encoding and general data structure encoding. In this study, we choose integer encoding due

Initialization Population size: pop_size Generation counter: g = 1 Max number of generations: max_gen Crossover probability: Pc Mutation probability: Pm

Generate a population of chromosomes of size pop_size

Calculate the fitness value for each chromosome in the population

g > max_gen? No Select a pair of chromosomes with the roulette wheel method based on fitness values

Single-point crossover with probability Pc g+1 No

Mutation with probability Pm Yes Place the generated chromosome in the new population

Is the size of the new population equal to pop_size? Yes Replace the current population with the new population

Report the incumbent solution Fig. 6. The proposed genetic algorithm.

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

423

to the nature of the problem. The way we represent the candidate solutions in terms of the chromosomes (encoding) is depicted in Fig. 7. We list cargo numbers in the first row and ship numbers in the first column. A random number is generated for each cargo to assign it to a ship until every cargo is assigned, resulting in a complete chromosome. For instance, if the number 2 is generated, the cargo is assigned to Ship 2. Note that 0 is a valid number because a carrier can turn down a shipment if it is not profitable for the carrier. Thus, any gene with a number ranging from 0 to the number of ships is valid. In the example depicted in Fig. 7, there are 32 cargoes assigned to seven ships. The resulting chromosome is the row shaded in black (2, 1, 6, 7, 2, 1, 1, 0, 4, 4, . . .). It should be noted that the assignment of cargoes to ships forms ship routes. Essentially, a ship route is determined based on the pickup dates, delivery dates, origins and destinations of the cargoes assigned to that ship. Let us use a small example to explain this decoding process. If two cargoes with O/D ports A/B (pickup date: Day 1; delivery date: Day 6) and C/D (pickup date: Day 3; delivery date: Day 4) are assigned to a ship, the resulting ship route is A–C–D–B based on the order of the pickup and delivery dates. If time-window flexibility is allowed, we enumerate the pickup and delivery order to find the ship route with the maximum fitness value. It is worth noting that in practice, only a limited number of cargoes allow time windows. Thus, the enumeration is computationally feasible. One of the potential issues of the process above is that the constructed ship route can be infeasible due to the violation of time or capacity constraints. Thus, a penalty term is introduced when calculating the fitness value for each chromosome to prevent constraint violation (detailed in Section 4.5). 4.2. Selection Before the crossover procedure, we first select two parent chromosomes based on the fitness values. A roulette wheel approach is adopted as the selection procedure in our solution framework. The procedure contains six steps as follows: 1. Calculate the fitness value fc for each chromosome c. 2. Rank chromosomes in the population based on fc. 3. Calculate the selection probability for each chromosome as follows:

pc ¼

pop size  rankc Ppop size i i¼1

8c ¼ 1; 2; . . . pop size;

where rankc is the rank number of chromosome c, and pop_size represents the population size. 4. Calculate the cumulative probability:

qc ¼

c X

pc

8c ¼ 1; 2; . . . ; pop size:

i¼1

5. Generate a random number r. 6. If r 6 q1, then select the first chromosome; otherwise, select the ith chromosome such that qi-1 < r 6 qi. 4.3. Crossover Using the two selected chromosomes, a single point crossover approach is employed to generate an offspring. In each crossover, we randomly select a cut-point in the chromosome and exchange the right parts of the two selected parent

Fig. 7. GA encoding.

424

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

chromosomes to generate an offspring. However, the probability of crossover (or crossover rate) is set as Pc. In other words, only Pc of chromosomes undergo the crossover process. The crossover procedure repeats until the number of offspring chromosomes reaches the predefined pop_size. 4.4. Mutation Let the number of ships be SN. In the proposed GA, the mutation procedure randomly alters one gene from its original value to a random number between 0 to SN with a probability equal to the mutation rate Pm. 4.5. Fitness calculation In this paper, we attempt to maximize the profit received by a tramp shipping carrier. In other words, the function presented in Eq. (1) is used to calculate the total benefit. However, it is possible that the encoding scheme will result in infeasible solutions. Thus, we impose penalty functions to ensure the feasibility of the encoding. Let Econ,n be the number of ships for which the corresponding set of arcs fail to form a feasible trip (connectivity or time violation issues), and let Ecap,n be the number of ships for which the corresponding assigned cargoes exceed the ship capacities. Let a and b be arbitrarily large numbers that represent the penalties. The fitness function then includes these additional two terms is as follows:

Fitness ¼

X X X m2M n2N ij2CLAmn

mn

Pm Xlij 

X X X m2M n2N ij2CLAmn

m

mn

Cl Xlij 

X X

Csnij Y nij  a

n2N ij2SAn

X n2N

Econ;n  b

X

Ecap;n

n2N

From our numerical experiments, a and b are set to be 7,000,000 and 40,000, respectively. Note that perturbations of a and b do not yield noticeable improvement in either computation or solution quality. 5. Empirical studies To evaluate the proposed GA, it was empirically applied to one of the largest tramp shipping carrier networks in Taiwan. The origin and destination ports for the Taiwan-based carrier are spread throughout northeast Asia, southeast Asia and south Asia, with transit times ranging from 1 to 15 days between any two ports. The planning horizon for this test was from April 24, 2004, to June 12, 2004, containing two periods (May 1–May 21 and May 22–June 12), with a preparation day (PD) for the loading process starting from the end of April. The data can be further explained by Fig. 8. On the first day of the preparation day (PD in Fig. 8), the carrier determines the ship routes for the accepted cargoes and whether to accept the potential cargoes. In the figure, O0D0 is the cargo pre-loaded onto a ship prior to the PD (i.e., cargoes accepted in the previous planning horizon). For the cargoes in the current planning horizon, more than 1 week (4/24–5/1 in the example) is typically needed to prepare the loading process, including the accepted main cargoes (O2D2) and the potential spot cargoes (O1D1 and O3D3) from the 1st planning period. The carrier can decide whether to accept the potential spot cargoes based on their corresponding profits and the capacity available. For the main cargo OnDn in the 2nd planning period, the carrier needs to decide whether it will be carried by the carrier’s fleet or by ships with a spot charter. Within the planning horizon, the carrier has 7 ships and 32 cargoes. The ships are handimax-design dry-bulk ships with long-term leases. Each ship has its own attributes, including cruising speed, capacity/deadweight and shipping costs (ship rent, fuel cost, berthing fees and miscellaneous fees). The voyage time between ports for each ship is calculated by its cruising speed. Among the 32 real-world cargoes with 15 different O/D ports, 12 main cargoes (Cargoes 1–12) and 16 spot cargoes (Cargoes 13–28) should be picked up in the first planning period, whereas 4 main cargoes (Cargoes 29–32) should be picked up in the second planning period. The 15 O/D ports are illustrated in Fig. 9.

Fig. 8. Cargoes in the planning horizon.

425

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

1. YOSU

2. SHANGHAI

3. KEELUNG

5. HONG KONG

4. KAOHSIUNG

14. CHITTAGONG

13. YANGON

6. DANANG

7. BATANGAS

Ship location in May 1 Port Routing of Ship 7

15. CHENNAI

12. PENANG 11. PORT KELANG 10. SINGAPORE 8. PONTIANAK 9. JAMBI

Fig. 9. Distribution of O/D ports and routing of Ship 7 in the planning horizon.

To assess the algorithm’s performance with larger problems, we randomly generated 18 additional cargoes. Cargoes 49– 50 (main cargoes) and Cargoes 33–37, Cargoes 41–42, Cargo 44, Cargo 46 and Cargo 48 (spot cargoes) should be picked up within the first planning period. Cargoes 38–40 (main cargoes) and Cargoes 43, 45 and 47 (spot cargoes) should be processed in the second planning period. The randomly generated data include O/D ports, pickup/delivery dates, loading/discharging operation times, fare charges, volumes/weights and handling fees (e.g., loading/discharging operation fees, insurance and commission). The complete set of cargo details is summarized in Table 2. The running environment of the proposed GA was Windows XP with an IntelÒ Pentium 4™ 2.66 GHz CPU and 1.96 GB of memory. 5.1. GA parameter calibration To calibrate the primary GA parameters (including the crossover rate, mutation rate, population size and number of generations) employed in the final empirical study, we conducted tests with various parameter combinations to identify the set of appropriate parameters that results in the best solution quality and convergence behavior. The real-world case (7 ships and 32 cargoes; namely, Case_732) was used for parameter calibration. It is worth noting that all the other randomly generated cases in later sections (namely, Case_732_twf, Case_740, Case_740_twf, Case_750 and Case_750_twf) use Case_732 as the basis and have the same number of ships. These cases only differ in the numbers of cargoes and whether time windows constraints are imposed. To begin with, we used the following combination of parameters as the basic case: population size of 100, number of generations of 3000, crossover rate of 100% and mutation rate of 10%. The four parameter combinations to be examined are summarized in Table 3. The calibration results are presented in Section 5.1.1–5.1.4.

Table 2 Cargo details.

*

Period

Data source

Main cargoes

Spot cargoes

1st planning period

Cargoes obtained from the real case Cargoes assumed by this study

Cargoes 1–12 Cargoes 49*–50*

Cargoes 13–28 Cargoes 33–37 Cargoes 41*, 42*, 44*, 46 and 48

2nd planning period

Cargoes obtained from the real case Cargoes assumed by this study

Cargoes 29*–32* Cargoes 38*–40*

With potential 1-day time-window flexibility (i.e., to pickup/deliver the cargo 1 day earlier or 1 day later).

Cargoes 43*, 45 and 47

426

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

Table 3 Parameter combinations examined.

Crossover rate Mutation rate (Population size, number of generations) Number of processors

Experiment 1 (varying crossover rate)

Experiment 2 (varying mutation rate)

Experiment 3 (varying population size and number of generations)

Experiment 4 (varying number of processors)

1.0, 0.8, 0.4, 0.2 0.1 (100, 3000)

1.0 0.1, 0.08, 0.04, 0.02 (100, 3000)

1.0 0.1 (30, 10,000), (50, 6000), (100, 3000), (200, 1500)

1.0 0.1 (100, 3000)

Dual

Dual

Dual

Dual, single

We then varied these parameters to examine the GA’s performance. As the proposed GA involves stochasticity (i.e., the randomness of mutation or crossover operations), each parameter setting was tested with 10 GA runs, and the resulting performance indices were averaged across those runs as the final fitness value of that parameter setting. The solutions from GA are compared with the optimal solutions obtained from a mixed integer programming solver (CPLEX) to calibrate the parameters. These tests are summarized in the following sections. 5.1.1. Experiment 1: varying the crossover rate As indicated in Fig. 10, given the base parameters mentioned earlier, the runs using a crossover rate of 80% converge to solutions with an optimality gap of 0.24% on average. Compared to the optimality gap attained by the runs with crossover rates of 100%, 40% and 20% (0.89%, 1.98% and 1.45%), the crossover rate of 80% is a suitable choice. 5.1.2. Experiment 2: varying the mutation rate Similarly to the experimental runs for crossover rates, we tested the mutation rates of 10%, 8%, 4% and 2%. The results are summarized in Fig. 11. As can be observed from Fig. 11, the performances of the different mutation rates are similar. However, the mutation rate of 10% does perform marginally better than the others, which shows that the exploration of a larger solution space and thus that the avoidance of local optima may be critical for the problem considered in this study. Thus, we decided to employ 10% as the mutation rate in our real-world tests. 5.1.3. Experiment 3: varying the population size and number of generations It is generally recognized that with appropriate parameters, GA asymptotically exhausts the solution space and converges to the optimal solution. However, the time limitations of most realistic applications make it infeasible to run GA with an infinite number of generations. Moreover, the computation time increases with the population size when the number of generations is fixed. Thus, in this experiment, we fixed the number of function evaluations (equal to the product of the population size and the number of generations) to use the parameters to obtain solutions of reasonable quality within a practical computation time. The parameter combinations we tested for the population size and number of generations were (30, 10,000), (50, 6000), (100, 3000) and (200, 1500), respectively. The results are shown in Fig. 12.

Fig. 10. Calibration of the crossover rate.

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

427

Fig. 11. Calibration of the mutation rate.

Fig. 12. Calibration of the population size.

As seen in Fig. 12, the combination of (200, 1500) outperform the others. Essentially, this solution strategy explores a larger solution space because a larger number of initial solutions is randomly generated at the beginning of the solution process. Therefore, a breadth-first search solution strategy seems to be more useful for problems such as this with complex search spaces. This conclusion is consistent with the one reached when assessing mutation rates. Therefore, in our real-world experiments, we decided to use a population size of 200 and a number of generations of 1500.

5.1.4. Experiment 4: varying the number of processors It is well known that GA is suitable for parallel computation because some of the tasks can be carried out simultaneously to improve computational performance. To fully utilize the benefits of this feature, we distributed the fitness computations to two processors so that the fitness values could be calculated in parallel. In this experiment, we used the optimal solutions from CPLEX as a benchmark and compared our solutions against them. The optimal solution to this problem has a benefit of $176,231. Ten GA runs were averaged to assess the computational performance in the example. The results are summarized in Fig. 13. It should be emphasized that a ‘‘generation’’ of the dual processor GA (DPGA) actually includes two times the operations that a single processor GA (SPGA) carries out. In other words, a ‘‘generation’’ of DPGA is equivalent to two generations of SPGA. Thus, to compare the two implementations on the same basis, the number of generations allowed for the DPGA should be halved, as it distributes the GA operations to two processors and carries out two parallel computations simultaneously. The comparison is illustrated in Fig. 13.

428

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

Fig. 13. Parallel computation over generations.

The runs with the dual processor converge much faster than the runs with single processors. In addition, DPGA outperforms SPGA consistently. Even after 6000 generations, the solutions obtained by DPGA and SPGA are 176,231 and 174,667 respectively. One plausible reasons of the performance improvement is that DPGA explores a larger solution space in the early stage of solution procedure, which is consistent with our earlier results stating that a breadth-first search solution strategy seems to be more useful for problems with complex search spaces. To further demonstrate the computation enhancement with parallel computation, we depicted the fitness values over time in Fig. 14. Within the same computational time allowed, on average, the optimality gap is 0.89% for the dual processor computations, which is acceptable in most real-world applications. Thus, in the following experiments, we employ a dual processor machine to carry out the computations. Note that the computational performance can be further enhanced if more hardware support (multi-core, computational cluster or grid computation) is available to perform at higher levels of computational parallelism. Current research may provide the basis for this computational enhancement. However, more attention may need to be paid to the communication issues that arise when large-scale parallel computation is conducted. From the above calibration process, the best GA parameter values identified are: a crossover rate of 80%, a mutation rate of 10%, a population size of 200 and a number of generations of 1500. These values of parameters are fixed and used in all the following numerical experiments.

5.2. GA performance To assess the efficiency and efficacy of the GA, we solved the identical problem (Eqs. (1)–(14)) utilizing CPLEX version 9.0, which employs the conventional mixed integer programming technique of the Branch-and-Bound (B&B) algorithm. The B&B

Fig. 14. Parallel computation over time.

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

429

algorithm is an intelligent enumeration approach, and the solutions obtained by it can be considered to be the exact solutions. It should be noted here that although CPLEX (and the Branch-and-Bound algorithm) is one of the most widely used solution strategies, it is not suitable for large-scale deployment for the problem considered in this study because the corresponding mathematical programming model contains a large amount of binary variables and difficult constraints. What further compounds the computational issue is that the number of decision variables and constraints grow significantly as the problem size grows larger. This fact is illustrated in the numerical results presented in the rest of this section. In addition, it is worth noting that time-window flexibility is a common practice for the carrier we interviewed. For instance, if a cargo has a pickup date of 3/9, in reality, the carrier usually utilizes a pickup date range of 3/8–3/10 to attain higher revenue. The model and solution scheme developed in this study take into account this practice. In the rest of this section, we indicate this type of operation with time-window flexibility (_twf). For instance, ‘‘Case_732_twf’’ represents the scenario of 7 ships and 32 cargoes with pickup/delivery time-window flexibility. After applying the proposed GA and CPLEX to the real-world case of 7 ships and 32 cargoes (Real_732), we summarized the ship routing results and the corresponding time–space relationship in Fig. 15. To further explain the computational results, we use Ship 7 as an example to demonstrate the ports it visits as well as the cargoes it carries. The trajectory of the ship and the cargo information are depicted in Fig. 16. Let the node (day, port) in the figure represent the time–space position of the ship. The route of Ship 7 is (1, 4), (2, 4), (4, 2), (13, 2), (16, 5), (20, 5), (22, 6) and (43, 6). Node (1, 4) is where Cargoes 10, 27 and 28 are picked up, while Node (10, 2) is where those cargoes are delivered. Similarly, Cargoes 11 and 12 are picked up at Node (10, 2) and Node (12, 2), respectively; the deliveries of Cargoes 11 and 12 take place at Nodes (25, 6) and (18, 5), correspondingly. From the figure, the arrival and departure times at Ports 4, 2, 5 and 6 satisfy the required loading/discharging operation times for all cargoes. It should be noted that a 1-day loading/discharging operation time is needed for most cargoes, with the exception of the 2-day and 3-day discharging operation times needed for Cargoes 12 and 11, respectively. In other words, Ship 7 arrives 2 days and 3 days earlier than the delivery time for Cargoes 12 and 11 at Ports 5 and 6, respectively, for discharging operations. The complete computational runs and the comparisons are summarized in Table 4 (profit comparison) and Table 5 (freight assignment comparison). In this table, we also provide the real-world case from a shipper (Real_732). Compared

Fig. 15. Computational results of ship routing.

Fig. 16. Ship routing and cargo pickup/delivery of Ship 7 for scenario Case_732. Note: ‘‘+’’ and ‘‘’’ represent the time–space position of a cargo for pickup or delivery, respectively, and ‘‘⁄’’ represents the time–space position for pickup and delivery in the same day.

430

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

Table 4 Comparison of algorithm performance.

* **

Case

CPLEX optimal solution

Number of decision variables

Number of constraints

CPLEX CPU time (seconds)

GA incumbent solution

GA CPU time**(seconds)

GA optimality gap

Real_732 Case_732 Case_732_twf Case_740 Case_740_twf Case_750 Case_750_twf

$101,172 $176,231 $189,622 $419,329 $439,909

– 93,936 97,800 106,155 113,804

– 36,895 40,037 42,954 46,440

– 1895 2099 5038 109,240

– $176,231 $189,622 $419,329 $429,032 $419,329 $435,143

– 209 208 211 232 229 254

– 0% 0% 0% 2.47% – –

*

*

*

*

No solution identified before 30 CPU hours. CPU time required for GA to obtain the incumbent solution.

Table 5 Freight Assignment. Case

Freight assignment Ship 1

Ship 2

Ship 3

Ship 4

Ship 5

Ship 6

Ship 7

Real_732

1, 2, 13

5, 6

3, 9, 14, 15, 16, 29 3, 14, 15, 16 3, 14, 15, 16, 38 3, 14, 15, 16, 29, 38 3, 14, 15, 16, 38 3, 14, 15, 16, 29, 38

7, 17, 18, 19, 20, 29 17, 19, 31

21, 22, 23, 24, 25, 26, 31 7, 18, 20, 21, 22,2 3, 24, 25, 26, 32 7, 18, 20, 21, 22, 23, 24, 25, 26, 32 7, 18, 20, 21, 22, 23, 24, 25, 26, 32 7, 18, 20, 21, 22, 23, 24, 25, 26, 31 7, 18, 20, 21, 22, 23, 24, 25, 26, 32 7, 18, 20, 21, 22, 23, 24, 25, 26, 31

8, 9

Case_732

3, 4, 14, 15, 16, 30 1, 13, 30

10, 27, 10, 27, 10, 27, 10, 27, 10, 27, 10, 27, 10, 27,

Case_732_twf Case_740 Case_740_twf Case_750* Case_750_twf

*

*

1, 2, 13 1, 2, 13 1, 2, 13 1, 2, 13 1, 2, 13

4, 6 4, 6, 4, 6, 4, 6 4, 6, 4, 6

5, 5, 29 5, 29 5,

17, 19, 31

5, 29 5,

17, 19, 31, 33, 35 30, 39

17, 19, 31, 33, 35 30, 39

2, 8 8, 9, 30 8, 9, 40 8, 9, 40 8, 9,40 8, 9, 40

11, 28, 11, 28 11, 28 11, 28, 11, 28, 11, 28, 11, 28,

Main cargoes carried by spot character

Rejected spot cargoes

12, 32 12,









12,





12, 30 12, 32 12, 30 12, 32

39

34, 36, 37



17, 19, 33, 34, 35, 36, 37 34, 36, 37

39 

17, 19, 33, 34, 35, 36, 37

The assignment results are from GA because CPLEX fails to determine the optimal solution.

to the actual profit ($101,172), both GA and CPLEX obtain higher profits ($176,231), indicating that the carrier can attain a profit that is 74% higher than its current profit by simply re-scheduling its ships and re-assigning its freight routes. If the shipper further considers time-window flexibility, the profit increase can be even higher ($189,622). In the empirical studies, we increased the number of cargoes to 40 and 50 to simulate possible scenarios of increased shipping demand (Case_740, Case_740_twf, Case_750 and Case_750_twf). As can be observed, the proposed GA obtains solutions of high quality within reasonable computational times. The maximal optimality gap across all the scenarios is 2.47%. However, the CPU times required by CPLEX to obtain the optimal solution are drastically higher than the CPU times required by GA. In the case of ‘‘Case_740_twf,’’ it only takes GA 0.21% of the time (232 CPU seconds vs. 109,240 CPU seconds) to obtain the solution with a 2.47% optimality gap. When the problem size is increased further (Case_750 and Case_750_twf), CPLEX fails to determine the optimal solution within 30 CPU hours, while the proposed GA obtains the corresponding incumbent solutions with almost identical CPU times. Thus, for large-scale implementation, the proposed GA is a practical alternative. The results are encouraging and clearly demonstrate the efficiency and efficacy of the proposed solution scheme. Table 5 presents the freight assignment results. One interesting feature can be observed from our empirical studies. In the optimal solution of Case_740_twf, seven cargoes are rejected (Cargoes 17, 19, 33, 34, 35, 36 and 37), and the resulting total revenue is $1974,868. For the same scenario, only three cargoes are rejected (21, 26 and 27) in one of the sub-optimal solutions, and the resulting total revenue is $2017,003. However, the total profit of the optimal solution ($439,909) is actually higher than that of the identified sub-optimal solution ($429,032). The reason for this is that the operation cost of the optimal solution is lower due to fewer cruising days (116 versus 129) and fewer port stops (35 versus 37). In other words, it may sometimes be beneficial for carriers to reject cargoes if a higher profit is the major concern.

6. Conclusions and future research The contributions of the paper to the literature are: (1) Proposing a mathematical model that simultaneously takes into account the ship allocation, freight assignment and ship routing problems of SRPTP; (2) Investigating the practical operational issues of SRPTP; (3) Developing a GA to solve SRPTP faster than a widely used commercial optimization package.

D.-Y. Lin, H.-Y. Liu / Transportation Research Part E 47 (2011) 414–431

431

The empirical results obtained from the GA were compared with the exact solutions determined by CPLEX. The results clearly indicate that our GA outperforms the conventional mixed integer programming technique of the Branch-and-Bound algorithm. Although we obtained promising results, this study is not without its share of limitations. First of all, the mathematical model and solution algorithm developed in this paper do not consider demand stochasticity. In practice, customer demand can be uncertain, and specialized algorithms may be needed to solve this type of stochastic programming problem. Moreover, there is a potential network structure embedded in the mathematical model. Thus, the stream of network-based algorithms facilitating the time–space network flow features should be investigated in the future so that an efficient algorithm can be developed. Lastly, according to the law of demand in economic theory, with all other factors being equal, as the price of a good or service increases, consumer demand for the good or service will decrease. In other words, unlike the assumption made in this paper, the price charged by carriers can be a function of demand in practical applications. Therefore, this type of price planning problem should be one of the potential future extensions. Acknowledgement The authors are indebted to Professor Chuen-Yih Chen of Chang-Jung Christian University for providing the data used in the empirical studies. The Editor-in-Chief, Professor Wayne Talley and anonymous reviewers’ constructive suggestions greatly improve the quality of the paper. However, any opinions, findings, and conclusions or recommendations expressed in this material remain the sole responsibility of the authors. References Baldacci, R., Maniezzo, V., Mingozzi, A., 2004. An exact method for the car pooling problem based on lagrangean column generation. Operations Research 52 (3), 422–439. Chen, C.-Y., Liu, H.-Y., 2004. A multicommodity network design model for optimal routing of hand-size bulk ships. In: The International Association of Maritime Economists Annual Conference, Izmir, Turkey. Cho, S.C., Perakis, A.N., 1996. Optimal liner fleet routing strategies. Maritime Policy and Management 23 (3), 249–259. Cho, S.C., Perakis, A.N., 2001. An improved formulation for bulk cargo ship scheduling with a single loading port. Maritime Policy and Management 28 (4), 339–345. Christiansen, M., Fagerholt, K., Ronen, D., 2004. Ship routing and scheduling: status and perspectives. Transportation Science 38 (1), 1–18. Cordeau, J.F., Desaulniers, G., Desrosiers, J., Solomon, M.M., Soumis, F., 2002. VRP with time windows. The Vehicle Routing Problem, SIAM Monographs on Discrete Mathematics and Applications, 157–193. Cunha, C.B., Silva, M.R., 2007. A genetic algorithm for the problem of configuring a hub-and-spoke network for a LTL trucking company in Brazil. European Journal of Operational Research 179, 747–758. Desaulniers, G., Desrosiers, J., Erdnabb, A., Solomon, M.M., Soumis, F., 2002. VRP with pickup and delivery. The Vehicle Routing Problem, SIAM Monographs on Discrete Mathematics and Applications, 225–242. Fagerholt, K., 1999. A simulation study on the design of flexible cargo holds in small-sized bulk ships. Maritime Policy and Management 26 (2), 105–109. Fagerholt, K., 2001. Ship scheduling with soft time windows: an optimization based approach. European Journal of Operational Research 131, 559–571. Fagerholt, K., Christiansen, M., 2000a. A combined ship scheduling and allocation problem. Journal of the Operational Research Society 51, 834–842. Fagerholt, K., Christiansen, M., 2000b. A traveling salesman problem with allocation, time windows and precedence constraints-an application to ship scheduling. International Transactions in Operational Research 7, 231–244. Holland, J.H., 1975. Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann Arbor. Jula, H., Dessouky, M., Ioannou, P., Chassiakos, A., 2005. Container movement by trucks in metropolitan networks: modeling and optimization. Transportation Research Part E 41, 235–259. Kendall, L.C., Buckley, J.J., 2001. The Business of Shipping, seventh ed. Cornell Maritime Press. Laporte, G., 1992. The vehicle routing problem: an overview of exact and approximate algorithms. European Journal of Operational Research 59, 345–358. Lin, C.-C., 2001. The freight routing problem of time definite freight delivery common carriers. Transportation Research B 35 (6), 525–547. Liu, H.-Y., Chen, C.-Y., 2005. optimal routing of voyage-charter, handy-size bulk ships. In: The International Scientific Annual Conference: Operations Research, Bremen, Germany. Pankratz, G., 2005. A grouping genetic algorithm for the pickup and delivery problem with time windows. OR Spectrum 27, 21–41. Ronen, D., 1983. Cargo ship routing and scheduling: survey of models and problems. European Journal of Operational Research 12, 119–126. Ronen, D., 1986. Short-term scheduling of vessels for shipping bulk or semi-bulk commodities originating in a single area. Operations Research 34 (1), 64– 173. Schönberger, J., 2005. Operational Freight Carrier Planning-Investigations on Basic Concepts. Optimization Models and Advanced Memetic Algorithms. Springer. Shintani, K., Imai, A., Nishimura, E., Papadimitriou, S., 2007. The container shipping network design problem with empty container repositioning. Transportation Research Part E 43, 39–59. Snezana, M.M., Krishnamurti, R., Laporte, G., 2004. Double-horizon based heuristics for the dynamic pickup and delivery problem with time windows. Transportation Research Part B 38, 669–685. Toth, P., Vigo, D., 2002. An overview of vehicle routing problems. The Vehicle Routing Problem, SIAM Monographs on Discrete Mathematics and Applications 1, 26.