Efficient bulk maritime logistics for the supply and delivery of multiple chemicals

Efficient bulk maritime logistics for the supply and delivery of multiple chemicals

Computers and Chemical Engineering 34 (2010) 2118–2128 Contents lists available at ScienceDirect Computers and Chemical Engineering journal homepage...

1MB Sizes 1 Downloads 52 Views

Computers and Chemical Engineering 34 (2010) 2118–2128

Contents lists available at ScienceDirect

Computers and Chemical Engineering journal homepage: www.elsevier.com/locate/compchemeng

Efficient bulk maritime logistics for the supply and delivery of multiple chemicals Jie Li a , I.A. Karimi a,∗ , Rajagopalan Srinivasan a,b a b

Department of Chemical and Biomolecular Engineering, National University of Singapore 4 Engineering Drive 4, Singapore 117576 Process Sciences and Modeling, Institute of Chemical and Engineering Science, 1 Pesek Road, Jurong Island, Singapore 627833

a r t i c l e

i n f o

Article history: Received 14 December 2009 Received in revised form 20 July 2010 Accepted 26 July 2010 Available online 5 August 2010 Keywords: Routing Scheduling Mixed-integer linear programming Transportation Chemical logistics Supply chains Inventory management

a b s t r a c t Many multinational chemical companies (MNCs) manage the inventories of several raw materials at their worldwide sites. Maritime transportation plays a key role in this chemical logistics. In this paper, we address an inventory service problem in which a chemical MNC uses a fleet of multi-parcel ships with dedicated compartments to move multiple chemicals continually among its internal and external production and consumption sites. The objective is to ensure continuity of operation at all sites by maintaining adequate inventory levels of all raw materials. We develop a novel multi-grid continuous-time mixed-integer linear programming (MILP) formulation based (Susarla, Li, & Karimi, 2010) for this chemical logistics problem. Our model allows limited jetties at each site, non-zero transfer times, variable load/unload quantities, transfer task sequencing, etc. In contrast to the literature, it needs no separate estimates for arrivals at each site. Several examples are solved to illustrate the efficiency of our proposed formulation. © 2010 Elsevier Ltd. All rights reserved.

1. Introduction Logistics is the glue that binds global chemical supply chains. Maritime bulk transport is the workhorse of chemical logistics. Most MNCs (Multi-National Corporations) have plants distributed all over the world. A material of one plant may be a raw material for another that may be half-way around the world. Chemical materialion is often far from demand locations or raw material supply centers. For instance, the flurry of expansions in South East Asia, Asia-Pacific, Middle East, etc. related to manufacturing and logistics activities is far from the major demand centers of US, Europe, Japan, etc. The fast-expanding exporters (oil, gas, and chemicals) in the Caspian Sea, Africa, S America, and Arabian Gulf are also far from their customers in East and West. For these reasons, and the presence of centralized materialion in huge clusters such as Houston, Rotterdam, Singapore, Jubail, etc. make the global maritime transport of chemicals inevitable and crucial to the success of chemical enterprises and supply chains. Many major chemical companies own/charter multi-parcel ships or outsource to 3PLs/4PLs. Shipping companies use multi-parcel chemical tankers to transport multiple chemicals. Approximately 80% of all maritime ton-miles is via bulk (US DOT, 1999), which offers the lowest cost per ton-miles.

∗ Corresponding author. Tel.: +65 6516 6359; fax: +65 6779 1936. E-mail address: [email protected] (I.A. Karimi). 0098-1354/$ – see front matter © 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.compchemeng.2010.07.031

Therefore, operational efficiency of maritime transportation can reduce final material costs significantly. While transportation routing and scheduling has received much attention in the literature, relatively few papers have addressed ship routing and scheduling (Laporate & Osman, 1995). Christiansen, Fagerholt and Ronen (2004) presented a detailed review on ship routing and scheduling. Al-Khayyal and Hwang (2007) classified maritime ship routing and scheduling problems into cargo routing and inventory routing. Because the aims of these two classes are to serve the cargos and inventories respectively, we call them cargo service and inventory service problems. The work on cargo service (Bausch, Brown, & Ronen, 1998; Brown, Graves, & Ronen, 1987; Fagerholt & Christiansen, 2000a; Fagerholt & Christiansen, 2000b; Fisher & Rosenwein, 1989; Jetlund & Karimi, 2004; Papadakis & Perakis, 1989; Ronen, 1986) involves ship routing and scheduling for a set of well-defined cargos of known quantities, loading/unloading ports, and time windows. The aim is to either maximize profit or customer service. For instance, Fagerholt and Christiansen (2000a, 2000b) addressed multi-ship pickup and delivery of dry bulk cargos with specified time windows and pickup and delivery ports. Since each ship has a flexible cargo hold that can be divided into several small holds, they allowed each ship to deliver multiple materials at the same time. Jetlund and Karimi (2004) focused on multi-ship pickup and delivery of multiple liquid bulk cargoes with specified quantities, time windows, and pickup/delivery ports.

J. Li et al. / Computers and Chemical Engineering 34 (2010) 2118–2128

Nomenclature Sets INT Mi

sites that belong to MNC materials that site i can produce or consume

Subscripts i site j site m material k slot Superscripts U upper limit L lower limit Parameters URvim unloading rate of material m at site i by ship v LRvim loading rate of material m at site i by ship v Tv0 time at which ship v begins material transfer tasks at the first site voyage time to move from site i to site j of ship v TTvij STi setup time for transfer tasks at site i Rim production or consumption rate of material m at site i total cost for ship v to move from site i to site j cvij cv fixed cost of loading or unloading a material for ship

v H Bi

planning horizon the number of jetties at site i

Binary variables 1 if ship v is at or moving from site i during its slot k xvik yvmk 1 if ship v loads or unloads material m during its slot k 0–1 continuous variables zvijk 1 if ship v is at or moving from site i in slot k and is at or moving from site j in slot (k + 1) 1 if ship v ends the transfer of a material at the end yevk of its slot k Continuous variables Tvk end time of slot k on ship v end time of slot k on jetties at site i Tik Timk end time of slot k on storage unit m at site i timk intermediate time for checking inventory in storage m at site i during slot k duration for which ship v loads/unloads material m RLvimk at site i in slot k qvimk amount of material m that ship v loads/unloads at site i during slot k amount of material m onboard ship v at the end of Qvmk slot k Simk stock level of material m at site i at the end of slot k the number of jetties in use just after Tik bik TC total operating cost ($)

The work on inventory service involves ship routing and scheduling to maintain sufficient inventory levels of materials at all ports. The typical aim is to minimize cost and ensure continuity of operations at various sites. Dror and Ball (1987) defined this as a distribution problem where each customer maintains a local inventory and consumes a known amount each day. A central sup-

2119

plier ensures that no customer runs out of stock at any time. Miller (1987) addressed a maritime routing problem in which a supplier ships multiple chemicals from one port to multiple destinations to maintain certain inventory levels. Other applications include fueloil distribution (Dror & Ball, 1987), garbage collection (Russel & Igo, 1979), and soft drink distribution (Golden & Wasil, 1987). Recently, Christiansen (1999) addressed an inventory service problem without a central supplier, which is slightly different from that defined by Dror and Ball (1987). A heterogeneous fleet of ships transports a single material among production and consumption ports to ensure adequate inventory level at each consumption site. They assumed a single jetty at each port and constant loading/unloading and production/consumption rates, and allowed variable loading/unloading quantities. However, their model needs a priori estimates for possible visit times at each port. Al-Khayyal and Hwang (2007) extended the work of Christiansen (1999) to address multiple materials, dedicated ship-compartments, and unlimited jetties at each port. They also allowed sequence-independent times for material loading/unloading transitions. Although they allowed multiple ships to arrive at a port at the same time, they did not allow them to load/unload simultaneously. Like Christiansen (1999), their model also needs estimates for possible visit times at each port. More importantly, however, as we show later, their model may fail to ensure adequate inventory levels at all times. Li, Karimi and Srinivasan (2008) developed a mixed-integer linear programming formulation (MILP) for the inventory service problem addressed by Christiansen (1999) and Al-Khayyal and Hwang (2007), however with several additional real-life features. They allowed multiple materials, multiple jetties, variable loading/unloading quantities, simultaneous loading/unloading, sequence of loading/unloading, etc. However, their formulation does not consider sequence-independent transition times. Furthermore, they used process slots (Liu & Karimi, 2007) in their slot-based formulation, which needs excessive computation time to solve large-scale problems. In this paper, we address the problem of Li et al. (2008). However, instead of using process-slots, we develop a novel multi-grid model using unit-slots (Susarla, Li, & Karimi, 2010) with better computational efficiency. We also incorporate sequence-independent setup times for transitions from one material to another during loading/unloading. We solve several examples to illustrate the efficiency of our proposed formulation. We also illustrate the drawbacks of previous work using several examples. Thus, our model is more general and more efficient than previous models of Christiansen (1999), Al-Khayyal and Hwang (2007), and Li et al. (2008).

2. Problem definition Consider a chemical MNC with plants or sites distributed globally. It needs M raw materials (m = 1, 2, . . ., M). A site may consume some of these materials. A site may also produce materials that are raw materials for other sites. A site may also need a raw material that no other site produces. In this case, the MNC sources it from external suppliers. Thus, we consider two types of plants or sites. An internal site belongs to the MNC, while an external site is an independent supplier not owned by the MNC. Let I be the total number of plants or sites (i = 1, 2, . . ., I). Let INT = {i|site i belongs to MNC}, Mi = {m|site i consumes or produces material m}. Each site i has Mi = |Mi | storage tanks, one for each material in Mi . The MNC wishes to manage the inventories of all Mi materials at each internal site i ∈ INT. To this end, it uses a heterogeneous fleet of V ships (v = 1, 2, . . . , V ) with multiple dedicated compartments. These ships move continuously among I sites to transport various

2120

J. Li et al. / Computers and Chemical Engineering 34 (2010) 2118–2128

Fig. 1. Schematic of the supply and delivery of multiple materials for a chemical MNC.

materials and maintain the inventories of raw materials at each site. A site i has Bi identical jetties. A ship may load or discharge a material via any jetty at a site. Thus, at most Bi ships may load/unload materials at site i. Moreover, a ship can load or discharge only one material at a time through a jetty. In other words, it must load or discharge materials one by one. Fig. 1 shows a schematic of the above problem. At time zero, the V ships are at some known positions with some materials of known amounts on board. The goal is to manage their movements over a planning horizon of H so as to maintain adequate inventory levels of all materials at all internal sites at all times. With this, we state our problem as follows: Given:

3. Inventory levels at all internal sites are monitored and those at all external sites are ignored. 4. Each ship can visit any site, internal or external. 5. Each ship can carry any material. 6. All ships end at some sites before the end of the planning horizon. 7. Ships load and unload materials at constant rates that depend on the material, site, and ship. 8. All Bi jetties at each site are identical. The objective is to minimize the total cost of supply and delivery logistics for the MNC. 3. Motivating example

1. V ships, their initial positions, capacity limits, unload rates, and materials on board initially and their amounts. 2. I sites, jetties at each site, load rates, and fixed costs of loading and unloading at sites. 3. M materials, materials that each site may produce or consume, initial inventories, inventory limits, and production or consumption rate profiles. 4. Site-to-site travel times and costs. 5. Setup times for switching from one material to another. 6. Planning horizon H. Decide: 1. Detailed travel schedule (ports, their sequence, and times) for each ship. 2. Materials and amounts that each ship loads/unloads at each visit at each site. 3. Loading or unloading sequence of materials. 4. Inventory profiles of materials at each internal site. Assuming: 1. All parameters are deterministic. 2. Each site has a dedicated storage tank for a material that it handles.

This example involves two ships (v = 1 and 2, V = 2), two materials (m = 1 and 2, M = 2), three sites (i = 1, 2, and 3, I = 3), and two jetties at each site (B1 = B2 = 2). Site 1 consumes material 1 and produces material 2. Sites 2 and 3 both consume material 2 and produce material 1. The planning horizon is 2 days (H = 2). At time zero, both ships are empty. Furthermore, ship 1 is at site 1 and ship 2 is at site 3. Table 1 gives the complete data. The aim of this example is to show that (1) the model of Al-Khayyal and Hwang (2007) is unable to guarantee sufficient inventory levels at all times and (2) the detailed timings of loading and unloading operations are essential. We note that the model of Al-Khayyal and Hwang (2007) does not schedule the material transfer (loading and unloading) operations in detail. Thus, it is not able to monitor inventory levels at the starts/ends of each material transfer. It checks inventory levels only at the start and end of all transfer operations at a site. Thus, it cannot guarantee inventory levels during the transfer operations at a site. This allows the possibility that the inventory may exceed the tank capacity or a stock-out may occur. To illustrate these, we solve this example using the model of Al-Khayyal and Hwang (2007). We get the schedule in Fig. 2 as its optimal solution. Since their model ignores sequence of transfer operations, we consider two scenarios (Fig. 3a and b) at site 1. In Fig. 3a, ship 2 first unloads material 1 during [0.4, 0.5] day, and then loads material 2 during [0.5, 1] day. In Fig. 3b, it first loads material 2

J. Li et al. / Computers and Chemical Engineering 34 (2010) 2118–2128

2121

Table 1 Data for the Motivating Example. Site/ship

Suitable material

Jetties

i1 i2 i3 v1 v2

m1–m2 m1–m2 m1–m2 m1–m2 m1–m2

2 2 2 – –

Initial material (wu)

Capacity (wu)

m1

m2

m1

m2

10 5 15 0 0

15 15 20 0 0

12 30 15 10 10

21 30 30 10 30

Ship

i→j

Travel time (day)

Travel cost (mu)

i.m

Loading/unloading rate (wu/day)

v1

i1 → i2 i1 → 3 i2 → i1 i2 → i3 i3 → i1 i3 → i2 i1 → i2 i1 → i3 i2 → i1 i2 → i3 i3 → i1 i3 → i2

0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3

1 1 1 1 1 1 1.5 1.5 1.5 1.5 1.5 1.5

i1.m1 i1.m2 i2.m1 i2.m2 i3.m1 i3.m1 i1.m1 i1.m2 i2.m1 i2.m2 i3.m1 i3.m1

100 50 100 100 100 100 100 50 100 100 100 100

v2

Scheduling horizon H = 2 days, ship v1 visits site i1 in slot 1 and TTv10 = 0, ship v2 visits site i3 in slot 1 and TTv20 = 0, site i1 consumes m1 at 10 wu/day, and produces m2 at 20 wu/day, site i2 produces m1 at 5 wu/day, and consumes m2 at 10 wu/day, site i3 produces m1 at 5 wu/day, and consumes m2 at 10 wu/day.

Fig. 2. Optimal schedule for the Motivating Example from Al-Khayyal and Hwang (2007).

during [0.4, 0.9] day, and then unloads material 1 during [0.9, 1.0] day. The model of Al-Khayyal and Hwang checks inventories at t = 0.4 day and t = 1 day only. In Fig. 3a, these are 6 and 13 units for materials 1 and 2 respectively at t = 0.4 day, and 10 and 0 units respectively at t = 1. While these are all within the desired limits, this does not hold at instances within [0.4, 1.0] day. For instance, the inventory of material 1 at t = 0.5 day is 15 units, which exceeds the tank capacity of 12 units. Similarly, in Fig. 3b, the inventories of materials 1 and 2 are 1 and (−2) units respectively at t = 0.9 day. In contrast, the model of Li et al. (2008) schedules transfer operations in detail and does not face any such issues. It gives the correct optimal schedule (Fig. 4) and inventory profiles (Fig. 5a–b). Even though, the model of Li et al. (2008) works correctly, it requires excessive computation time because of its use of a singlegrid formulation (Susarla et al., 2010). Therefore, our goal is to

develop a new multi-grid formulation that would improve the solution efficiency. 4. Mathematical formulation We consider ships (v), jetties, and storage tanks as units (u). Since all jetties at each site i (1 ≤ i ≤ I) are identical, we treat them as one single resource (i) with a capacity Bi . Since each storage unit is dedicated for a material, we treat each tank (m ∈ Mi at sites i = 1, 2 u ). For L and Sim . . ., I) as one distinct resource with stock limits (Sim each unit u, we divide the planning horizon [0, H] into K (k = 1, 2, . . ., K) ordered contiguous unit-slots (Fig. 6). We define Tu0 ≥ 0 as the start of slot 1. Let Tuk (k = 1, . . ., K; Tuk ≤ H) denote the end time of slot k on unit u. Slot k on unit u starts at Tu(k−1) and ends at Tuk . We define the period before Tu0 as slot zero (k = 0). In contrast to Li et al. (2008), the slots are asynchronous, so the slot timings need

2122

J. Li et al. / Computers and Chemical Engineering 34 (2010) 2118–2128

Fig. 5. Inventory profiles of materials 1–2 for the Motivating Example from Li et al. (2008). Fig. 3. Inventory profiles of materials 1–2 at site 1 for the Motivating Example from Al-Khayyal and Hwang (2007).

not be same on all units (Susarla et al., 2010). Then, we have: Tvk ≥ Tv(k−1)

1≤k≤K

(1)

Tik ≥ Ti(k−1)

1 ≤ i ≤ I, 1 ≤ k ≤ K

(2)

Timk ≥ Tim(k−1)

Throughout this paper, each variable is defined for specific ranges of its indices, and each constraint, unless otherwise indicated, is written for all valid values of the indices of its constituent variables. 4.1. Ship routing and scheduling

i ∈ INT, m ∈ Mi , 1 ≤ k ≤ K

(3)

At time zero, a ship v may already be at a site or it may be at a point in sea and heading towards a site. If the ship is at sea at time

Fig. 4. Optimal schedule for the Motivating Example from Li et al. (2008).

J. Li et al. / Computers and Chemical Engineering 34 (2010) 2118–2128

2123

(including zero and I + 1 sites), so I+1 

xvik = 1

1≤k≤K

(4)

i=0

Once a ship reaches zero site, it cannot visit any other real site and I + 1 site. Hence, zv0ik = 0 for 1 ≤ i ≤ I + 1 and 1 ≤ k < K. A ship always first visits (I + 1) site. Thus, zvi(I+1)k = 0 for 1 ≤ i ≤ I and 1 ≤ k < K. Furthermore, zvijk = xvik xvj(k+1) implies the following. I+1 

zvijk = xvik

0 ≤ i ≤ I + 1, 0 ≤ k < K

(5a)

j=0

Fig. 6. Unit-slot design.

I+1 

zero, then we assume that it is heading towards a known destination site, where it will begin transfer tasks at Tv0 . If it is already at a known site at time zero, then we take Tv0 = 0. In other words, slot 1 for each ship begins with the start of its transfer operations at the first site, which we assume is known at time zero. While the first arrival site is known for each ship, we do not assume anything about the transfers that the ship will perform at that site. Similarly, we assume nothing about where the ship will proceed from that first site. At each site, we allow a ship to load or unload materials in several consecutive slots. A material transfer may occur over multiple slots. However, we do not allocate a separate or additional slot for the site-to-site movement of a ship. In other words, if a ship ends its transfer tasks in a slot k, then it moves to the next site in the same slot. Fig. 7 illustrates the task log for a ship. Finally, when a ship ends all its movements and transfers during the scheduling horizon, then we say that it moves to a dummy site (i = 0), which is at a zero distance from each real site (i = 1, 2, . . ., I). We also use another dummy site (i = I + 1) to denote the initial position of a ship. Thus, we now have I + 2 (i = 0, 1, 2, 3, . . ., I, I + 1) sites including I real sites, zero and I + 1 sites. Once a ship reaches the zero site, then it does not move from here. We assume that material transfer operations on a ship begin at the start of a slot, but may end at any time within a slot. Now, to track a ship’s position and movement from one site to another site with time, we define the following.

 xvik =

1 if ship v is at or moving from site i during 0 ≤ i ≤ I + 1, 1 ≤ k ≤ K its slot k 0 otherwise

zvjik = xvi(k+1)

0 ≤ i ≤ I + 1, 0 ≤ k < K

(5b)

j=0

While we treat xvik as binary variables, Eq. (5) enable us to treat zvijk as 0–1 continuous. 4.2. Material transfer operations To model the material transfer operations of a ship v, we define a binary variable (yvmk ) as follows,



1

yvmk = 0

if ship v loads or unloads material m during 1 ≤ v ≤ V, 1 ≤ m ≤ M, 1 ≤ k ≤ K its slot k otherwise

If a ship is loading/unloading a material during slot k, then it must be at or moving away from a site that can consume or produce that material. Similarly, if a ship is at a site, then it must load or unload at least one of the materials that this site can consume or produce. Lastly, a ship v must either load/unload a material or be at zero site during each slot. Therefore, we write,



xvik ≥ yvmk

1≤k≤K

(6a)

i:m ∈ Mi



yvmk ≥ xvik

1 ≤ i ≤ I, 1 ≤ k ≤ K

(6b)

m ∈ Mi

xv0k + xv(I+1)k +

M 

yvmk = 1

1≤k≤K

(6c)

m=1



1

zvijk = 0

if ship v moves from site i to j at the end of its slot k 0 ≤ i ≤ I + 1, 0 ≤ j ≤ I + 1, 1 ≤ k < K otherwise

Note that zvijK is not defined, and zvijk = xvik xvj(k+1) . Based on the initial known position for each ship, we fix xvi0 . During every slot, a ship v must be at or moving away from a site

Note that Mi does not include the zero and I + 1 sites. Let RLvimk as the duration for which ship v loads/unloads material m at site i in slot k. If a ship v does not load/unload a material m during slot k, then these durations must be zero.



RLvimk ≤ H · yvmk

i:m ∈ Mi

Fig. 7. Schematic of slots and ship activities.

1≤k≤K

(7a)

2124

J. Li et al. / Computers and Chemical Engineering 34 (2010) 2118–2128

Similarly, if a ship v is not at site i during slot k, then its loading or unloading durations must also be zero.



RLvimk ≤ H · xikv

1 ≤ i ≤ I, 1 ≤ k ≤ K

(7b)

m ∈ Mi

Let qvvimk be the amount of material m that ship v loads/unloads at site i during slot k. This is positive, if a ship unloads to the site, and negative, if it loads from the site. If the constant unloading and loading rates are URvim and LRvim respectively, then −LRvim RLvimk ≤ qvimk ≤ URvim RLvimk

m ∈ Mi , 1 ≤ k ≤ K

(8)

Before loading or unloading a material at a site, a ship may need some setup time. We assume for simplicity that this setup time (STi ) depends only on the site and not on ship or materials. Since a ship v may perform transfer operations in several consecutive slots, we need to know the slot in which it completes them. To this end, we define a 0–1 continuous variable yevk as follows,



1

yevk = 0

if ship v ends the transfer of a material at 1≤k≤K the end of its slot k otherwise

A ship v cannot end a transfer in slot k, if it is at the zero site. yevk + xv0k ≤ 1 1 ≤ k ≤ K

a resource, then the unit-slots in which this exchange occurs must have the same index on both the processing unit and the resource unit. In this case, ship is like a processing unit and jetties at each site are like a resource unit. Thus, whenever a ship v unloads/unloads a material at a site during a slot, then the jetty resource at that site must have a matching slot with the same index. Consider a ship v moving from a site j to site i during slot k. For the ship to begin its transfer tasks at Tvk , site i must assign one jetty before Tvk − STi . Since this jetty allocation occurs during slot k of ship v, we ask that it also occur during slot k of site i or at Tik. Since the jetty must be assigned to ship v before Tvk − STi , the following must hold.



I+1 

Tik ≤ Tvk − STi + H ⎝1 −



zvjik ⎠

0≤k
(14a)

j=1,j = / i

Now, consider site j. Before the ship moves away from site j during slot k, it must end all its transfer operations, and then release the jetty at site j. This release can occur only after Tv(k−1) +  RLvjmk during slot k of ship v. Therefore, we demand that m∈M j

the same occur during slot k of site j as well. If Tj(k−1) is the time at which this jetty release occurs, then we must have,

(9)





RLvjmk −H ⎝1−

I+1 



zvjik ⎠

If a ship loads or unloads a material in a slot k, but does not continue the same task in the next slot, then its run must end at slot k.

Tjk ≥ Tv(k−1) +

yevk ≥ yvmk − yvm(k+1)

Having aligned the jetty use by ships, we now do a resource balance at each site i to ensure that no more than Bi jetties are in use during any slot. To this end, let bik (0 ≤ bik ≤ Bi ) denote the number of jetties in use just after Tik . A simple jetty balance over slots at site i gives us,

1≤k
(10a)

yevK + xv0K = 1

(10b)

Similarly, if a ship loads or unloads a material in slots k and k + 1, then it cannot end that task at the end of slot k. yevk ≤ 3 − yvmk − yvm(k+1) −



zviik

1≤k
m ∈ Mj

(11) bik = bi(k−1) +

i:m ∈ Mi

I 

zviik ≥ 1 1 ≤ k < K

bi(k−1) ≥

From Fig. 7, when a ship ends all its transfer tasks at a site, then it must move to another site, which may be the zero site. Let TTvij (TTvi0 = 0, i = 0, 1, . . ., I) denote the time to move from site i to site j. After moving from site i, it will need some time (STi ) to set itself up for transfer tasks. Therefore, Tvk − Tv(k−1) ≥

I  

RLvimk

i=1 m ∈ Mi

+

I I  

(TTvij + STj )zvijk

1≤k≤K

(13a)

i=1 j=1,j = / i

If a ship v is loading or unloading at site I during slot k but not end at the end of slot k, then the duration for which ship v loads/unloads must equal to the length of slot k on ship v.



⎛ ⎝

I+1 

zvjik −

j=1,j = / i

I+1 



zvijk ⎠

1 ≤ i ≤ I, 1 ≤ k ≤ K

j=0,j = / i

(15a)

(12)

i=0

(14b)

i=0,i = / j

v=1

If a ship is moving from a site to another in a slot k, then it must also end all its material transfer tasks at the end of slot k. yevk +

V 

1≤k
I+1 V  

zvijk(k+1)

1 ≤ i ≤ I, 1 ≤ k ≤ K

(15b)

v=1 j=0,j = / i

We now use similar arguments to monitor material inventory in each storage tank. 4.4. Inventory management Here a ship is a processing unit, storage tank is a resource unit, and material in the tank is a resource. Now, consider a ship v that is involved in a transfer operation of material m during slot k. Since this continuous-flow operation begins at the start of slot k on ship v, we demand that it also begin at the start of slot k of tank m at site i. Tim(k−1) ≤ Tv(k−1) + H[3 − xvik − yvmk − yev(k−1) ] i ∈ INT, m ∈ Mi , 1 ≤ k ≤ K

(16a)

I

RLvimk ≥ Tvk − Tv(k−1) − H · yevk

1≤k≤K

(13b)

i=1 m ∈ Mi

4.3. Jetty management For a formulation based on unit-slots, Susarla et al. (2010) argued that if a processing unit and a resource unit are exchanging

Tim(k−1) ≥ Tv(k−1) − H[3 − xvik − yvmk − yev(k−1) ] i ∈ INT, m ∈ Mi , 1 ≤ k ≤ K

(16b)

The above transfer operation may end before slot k of ship v ends. Thus, we demand that it also end before slot k of tank m at site i ends. Let Tim(k−1) ≤ timk ≤ Timk be the time at which this occurs. Then,

J. Li et al. / Computers and Chemical Engineering 34 (2010) 2118–2128

2125

Table 2 Data for Example 1. Site/ship

Suitable material

i1 i2 i3 i4 i5 v1 v2

m1 m1 m1 m1 m1 m1 m1

Jetties 1 1 1 1 1 – –

Initial material (wu) 20.4 60 6 – – 0 0

Ship

i→j

Travel time (day)

v1

i1 ↔ i2 i1 ↔ i3 i1 ↔ i4 i1 ↔ i5 i2 ↔ i3 i2 → i4 i2 → i5 i3 ↔ i4 i3 → i5 i4 → i2 i4 ↔ i5 i5 → i2 i5 → i3 i1 ↔ i2 i1 → i3 i1 ↔ i4 i1 ↔ i5 i2 → i3 i2 → i4 i2 → i5 i3 → i1 i3 → i2 i3 → i4 i3 → i5 i4 → i2 i4 → i3 i4 → i5 i5 → i2 i5 → i3 i5 → i4

6 5.4 3.95 4.5 2.2 7.5 6.9 3.25 1.57 7.5 2.6 6.9 1.57 6 5.4 3.95 4.5 2.2 7.5 6.9 2.5 2.2 3.25 1.75 7.5 3.25 2.6 6.9 1.75

v2

Capacity (wu) 80 100 25 – – 15 24

Heel (wu)

Production/consumption rate (wu/day)

1 1 1 – – 0 0

2 1.25 2 – – – –

Travel cost (mu) 8 8 5 5 8 8 8 9 8 5 5 5 5 3 9 5 5 4 6 7 9 9 9 9 5 5 5 5 10 8

i

Loading/unloading rate (wu/day)

i1 i2 i3 i4 i5 – – – – – – – – i1 i2 i3 i4 i5 – – – – – – – – – – – –

12 12 12 12 12 – – – – – – – – 12 12 12 12 12 – – – – – – – – – – – –

Ship v1 visits i5 in slot 1, and TTv10 = 0, Ship v2 visits i2 in slot 1 and TTv20 = 2.2 days, Scheduling horizon H = 16 days.

we demand that this time match the time at which ship v ends its transfer operation. timk ≤ RLvimk +H(3−xvik − yvmk − yevk )

i ∈ INT, m ∈ Mi , 1 ≤ k ≤ K (17a)

timk ≥ RLvimk −H(3−xvik − yvmk − yevk )

i ∈ INT, m ∈ Mi , 1 ≤ k ≤ K (17b)

Note that Eqs. (16) and (17) ensure that timk = Timk , whenever multiple ships are loading/unloading from/to the tank during a single slot, and timk ≤ Timk , whenever only one ship is loading/unloading from/to the tank. For monitoring the inventory of material m onboard ship v, let Qvmk (k = 0, 1, . . ., K; QvLm ≤ Qvmk ≤ QvUm ) be the amount of material m onboard ship v at the end of slot k. Then, the mass balance for material m on the ship gives us, Qvmk = Qvm(k−1) −



qvimk

1≤k≤K

(18)

i:m ∈ Mi

where Qvm0 is the known amount of material m on ship v at time zero. L ≤ For monitoring the inventory in each tank, we define Simk (Sim U ) as the stock level of material m at site i at the end of Simk ≤ Sim slot k and Sim0 as the initial stock. Let Rim be the constant rate at

which site i consumes or produces material m during the horizon. Rim > 0 (Rim < 0), if site i produces (consumes) material m. Eqs. (16) and (17) enable us to write the following mass balance for each material tank. Simk = Sim(k−1) + Rim [Timk − Tim(k−1) ] +

V 

qvimk

i ∈ INT, m ∈ Mi , 1 ≤ k ≤ K

(19)

v=1

Note that the MNC is not concerned about maintaining stocks at external sites. Since Eq. (19) does not compute the stock level at intermediate points (timk ), we further need, V 

L ≤ Sim(k−1) +Rim [timk −Tim(k−1) ]+ Sim

U qvimk ≤ Sim

i ∈ INT, m ∈ Mi ,

v=1

1≤k≤K

(20)

If required, one may want to ensure that the stock levels at the horizon end must also be within limits. L U Sim ≤ SimK + Rim (H − TimK ) ≤ Sim

i ∈ INT, m ∈ Mi

(21)

4.5. Objective function This being a service problem, the objective is to minimize the total operating cost over the planning horizon. The key cost components are transport (fuel and daily operation) costs, material

2126

J. Li et al. / Computers and Chemical Engineering 34 (2010) 2118–2128

Table 3 Model performance for the Motivating Example and Examples 1–3. Example

Model

Discrete variables

Continuous variables

Constraints

CPU time (s)

MILP solution

Relative gap (%)

Motivating Example

Ours Li et al. (2008) Al-Khayyal and Hwang (2007) Ours Li et al. (2008) Christiansen (1999) Ours Li et al. (2008) Ours Christiansen (1999)

40 120 158 44 106 312 257 597 122 952

490 831 161 667 967 147 3791 4861 1575 341

728 1050 719 609 905 1134 3057 4301 1543 3317

0.48 0.80 – 0.17 3.25 3.64 2351 86400 141 1481

7 7 N/A 32.5 32.5 32.5 22 28 50.4 50.4

0 0 0 0 0 0 0 14.03 0 0

1

2 3

N/A, the obtained solution is infeasible.

transfer (site operations, duties, etc.) costs. Let cvij be the total cost for ship v to move from site i to site j, and cv be the fixed cost of loading or unloading a material for ship v. Then, the total cost (TC) is: TC =

I+1 I+1 V   

v=1 i=0 j=0,j = / i

K−1 

cvij zvijk + cv

k=1

K 



yevk

(22)

k=1

Eqs. (1)–(22) complete our novel model for the inventory service problem. While we assumed constant production/consumption rates for the sites during the horizon, a multi-period formulation that allows piecewise constant production/consumption rates can be derived from this single-period formulation in a straightforward manner. The extension to the multi-period scenario should be similar to that of Li et al. (2010). 5. Numerical evaluation We solve four examples including the earlier Motivating Example to evaluate our proposed model. These examples vary in the numbers of ships, sites, materials, jetties, etc. We give the data (Table 2) for Example 1 only because of space considerations. The models of Christiansen (1999) and Al-Khayyal and Hwang (2007) need an estimate of arrivals at each site separately. Thus, for solving their models, we first assume that the estimated number of arrivals is the same for all sites. Then, we assume a small number for this arrival frequency, and then increase this number one at a time, until

the objective function does not change. For our case, we estimate the number (K) of slots. We begin with a reasonably large number and then check if the objective function changes, when we increase K by 1. We used CPLEX 12.1.0/GAMS 23.2.1 on a Dell workstation PWS690 (Intel® XeonTM CPU 3.00 GHZ, 16 GB memory) running Windows XP for solving all the examples. Table 3 gives the model performance for the examples.

5.1. Motivating Example We obtain the optimal solution (Fig. 8) of 7 mu (monitory units) in 0.73 CPU s. Ship 1 loads 10 wu (weight units) of material 2 at site 1 during [0, 0.2] day. Then, it moves to site 3, and unloads 10 wu of material 2 during [0.5, 0.6] day. Ship 2 loads 10 wu of material 1 at site 3 during [0, 0.1] day. Then, it sails to site 1 and reaches there at 0.47 day. It loads 24 wu of material 2 during [0.47, 0.95] day, and then unloads 10 wu of material 1 during [0.95, 1.05] day. For there, it moves to site 2 and unloads 24 wu of material 2 during [1.35, 1.59] day. Fig. 9 shows the inventory profiles of materials at each site. In Fig. 9a, the stock of material 1 at site 1 at 0.95 day is about 0.5 wu. Ship 2 begins replenishing that stock from 0.95 days. Since its unloading rate exceeds the site consumption rate, the stock increases from 0.5 to 9.5 wu at 1.05 day. This stock is sufficient for site 1 until the horizon end (2 day), when its inventory is zero. By examining the stock profile for each material at each site, we conclude that the model

Fig. 8. Optimal schedule for Motivating Example from our model.

J. Li et al. / Computers and Chemical Engineering 34 (2010) 2118–2128

2127

Fig. 9. Inventory profiles of materials 1–2 for the Motivating Example from our model.

ensures that physical limits on the stock are respected at all times. This is in contrast to the model of Al-Khayyal and Hwang (2007). 5.2. Examples 1–3 Example 1 is from Li et al. (2008). It involves two ships, five sites (three internal, two external), and one material. Among the five sites, sites 2, 4, and 5 are production sites, and sites 1 and 3 are

consumption sites. The planning horizon is H = 16 days. We obtain the optimal solution of 32.5 mu within 0.17 CPU s, while the model of Li et al. (2008) needs 3.25 CPU s. Since only one ship is involved in this example, the model of Al-Khayyal and Hwang (2007) is reduced to the model of Christiansen (1999). We obtain the optimal solution of 32.5 within 3.64 CPU s from the model of Christiansen (1999). Example 2 involves five ships, eight sites (five internal), and two materials. The scheduling horizon is 80 days. Our model gives the optimal solution of 22 mu in 2351 CPU s. However, the model of Li

2128

J. Li et al. / Computers and Chemical Engineering 34 (2010) 2118–2128

et al. (2008) gets a suboptimal solution of 28 mu with a relative gap of 14.03% after 24 h of CPU time. Since the model of Christiansen (1999) is for one material only and the model of Al-Khayyal and Hwang (2007) may violate stock limits, when two or more materials are involved, we did not solve this example with their models. Example 3 involves five ships, five sites, and one material with 60-day planning horizon. We obtain the optimal solution of 50.4 mu within 141 CPU s. However, the model of Christiansen (1999) needs 1481 CPU s to obtain the same optimal solution. We conclude that our model solves faster than the previous models in the literature on the above examples and does not violate stock limits at any time. 6. Conclusions We developed a novel multi-grid MILP formulation based on unit-slots for an important problem faced by most large global chemical companies that use or charter a fleet of ships to maintain inventory at many sites globally. The use of multiple slots increases the computational efficiency. On four test problems of varying sizes, our model performs better than that of Li et al. (2008). Furthermore, in contrast to previous literature, our model addresses limited jetties, prevents violations of inventory limits, and most importantly needs no separate estimate of arrivals at each site. Constant production or consumption rates, deterministic problem parameters, and unlimited raw material availability at external supplier sites are key assumptions in the model, which require further study to make this model more realistic for real-life inventory service problems. While the model applies to any number of raw materials, the test problems involved a few materials and short planning horizons. Further work is warranted to develop more efficient algorithms that can tackle many more products and longer horizons. Acknowledgement The authors would like to acknowledge financial support for this work from The Agency for Science, Technology, and Research (A*Star) under grant 052 116 0074.

References Al-Khayyal, F., & Hwang, S. J. (2007). Inventory constrained maritime routing and scheduling for multi-commodity liquid bulk, part I: Applications and model. European Journal of Operational Research, 176, 106–130. Bausch, D., Brown, G., & Ronen, D. (1998). Scheduling short term marine transport of bulk materials. Maritime Policy and Management, 25, 335–348. Brown, G., Graves, G., & Ronen, D. (1987). Scheduling ocean transportation of crude oil. Management Science, 33, 335–346. Christiansen, M. (1999). Decomposition of a combined inventory and time constrained ship routing problem. Transportation Science, 33(1), 3–16. Christiansen, M., Fagerholt, K., & Ronen, D. (2004). Ship routing and scheduling: Status and perspectives. Transportation Science, 38(1), 1–18. Dror, M., & Ball, M. (1987). Inventory/routing: Reduction from an annual to a shortperiod problem. Naval Research Logistics, 34, 891–905. 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 travelling salesman problem with allocation, time window and precedence constraints – An application to ship scheduling. International Transactions in Operational Research, 7, 231–244. Fisher, M, & Rosenwein, M. (1989). An interactive optimization system for bulk-cargo ship scheduling. Naval Research Logistics, 36, 27–42. Golden, B., & Wasil, E. (1987). Computerized vehicle routing in the soft drink industry. Operations Research, 35, 6–17. Jetlund, A. S., & Karimi, I. A. (2004). Improving the logistics of multi-compartment chemical tankers. Computers and Chemical Engineering, 28, 1267–1283. Laporate, G., & Osman, I. H. (1995). Routing problems: A bibliography. Annals of Operations Research, 61, 227–262. Li, J., Karimi, I. A., & Srinivasan, R. (2008). Supply and distribution of multiple materials via bulk maritime logistics. In 5th foundations of computer-aided process operations – FOCAPO Cambridge, Massachusetts, USA, June 29–July 2. Li, J., Karimi, I. A., & Srinivasan, R. (2010). Recipe determination and scheduling of gasoline blending operations. AIChE Journal, 56, 441–465. Liu, Y., & Karimi, I. A. (2007). Scheduling multistage, multiproduct batch plants with nonidentical parallel units and unlimited intermediate storage. Chemical Engineering Science, 62, 1549–1566. Miller, D. M. (1987). An interactive computer-aided ship scheduling problem system. European Journal of Operational Research, 32, 363–379. Papadakis, N., & Perakis, A. (1989). A nonlinear approach to the multiorigin, multi-destination fleet deployment problem. Naval Research Logistics, 36, 515– 528. Ronen, D. (1986). Short-term scheduling of vessels for shipping bulk or semi-bulk commodities originating in a single area. Operations Research, 34, 164–173. Russel, R. A., & Igo, W. (1979). An assignment routing problem. Networks, 9, 1– 17. Susarla, N., Li, J., & Karimi, I. A. (2010). A novel approach for short-term scheduling of multipurpose batch plants. AIChE Journal, 56, 1859–1879. U.S. Department of Transportation, Bureau of Transportation Statistics, Maritime Administration. (1999). Maritime trade and transportation 1999. Washington, DC: U.S. Coast Guard.