Abstract
We study a maritime inventory routing problem, in which shipments between production and consumption nodes are carried out by a fleet of vessels. The vessels have specific capacities and can be chartered under different agreements. The inventory levels of all consumption nodes and some production nodes should be maintained within specified bounds; for the remaining production nodes, orders should be picked up within pre-defined time windows. We propose a discrete-time mixed-integer programming model. In the face of new information and uncertainty, this optimization model has to be re-solved, as the horizon is rolled forward. We discuss how to account for different sources of uncertainty. We present a rolling-horizon reoptimization framework that allows us to study different policies that impact the quality of the implemented solution, so we can identify the optimal set of policies.
Similar content being viewed by others
Abbreviations
- d∈D :
-
Dates (absolute time)
- i∈I :
-
Time-chartered vessels
- j∈J :
-
Nodes in the SC network, including vessel center (vc)
- (j, j′)∈A \(\subseteq {\mathbf{J}} \times {\mathbf{J}}\) :
-
Arcs (trips) in the SC network
- \(k \in {\mathbf{K}}_{j}\) :
-
Orders of third-party production node j
- l∈L :
-
Node clusters
- m∈M :
-
Products
- n∈N :
-
Number of unreserved vessels/trips
- t∈T :
-
Time points or periods
- \({\mathbf{A}}_{l}\) :
-
Arcs (trips) that are within cluster l
- \({\mathbf{A}}_{t}^{R}\) :
-
Arcs (trips) already reserved to be served using voyage charters at time point t
- \({\mathbf{I}}^{R}\) :
-
Time charters located at the vessel center but reserved
- \({\mathbf{J}}^{P} /{\mathbf{J}}^{C}\) :
-
Production/consumption nodes
- \({\mathbf{J}}^{TP} /{\mathbf{J}}^{OP}\) :
-
Third-party/owned production nodes
- \(W_{{ijj^{'} t}}^{L}\) :
-
=1 if time-chartered vessel \(i\) starts a trip from j to j′ at time point t
- \(W_{{jj^{'} t}}^{S}\) :
-
=1 if a voyage-chartered vessel starts a trip from j to j′ at time point t
- \(\bar{X}_{ijt}^{L}\) :
-
=1 if time charter i is at node j during time period t
- \(\bar{Y}_{it}^{L}\) :
-
=1 if vessel i is chartered in period t beyond \(\vartheta^{L}\) periods
- \(C^{ALL} /C_{t}^{OF} /C_{t}^{UF}\) :
-
Total/overflow/underflow cost
- \(C_{t}^{MH} /C_{t}^{FT} /C_{t}^{VT}\) :
-
Material holding/fixed transportation/variable transportation cost
- \(C_{t}^{FL} /C_{t}^{EL} /C_{t}^{S}\) :
-
Fixed time-charter/extended time-charter/voyage-charter cost
- \(C_{t}^{EP}\) :
-
Penalty term for modeling early pick-up preference
- \(F_{{ijj^{'} mt}}^{L}\) :
-
Product m in time-chartered vessel i traveling from j to j′ starting at time point t
- \(F_{{jj^{'} mt}}^{S}\) :
-
Product m in the voyage-chartered vessel from j to j′ starting at time point t
- \(L_{jmt}\) :
-
Inventory level of product m at node j at time point t
- \(L_{jmt}^{OF} /L_{jmt}^{UF}\) :
-
Overflow/underflow amount of product m of node j at time point t
- \(\alpha\) :
-
Confidence level
- \(\beta\) :
-
Penalty constant for modeling early pick-up preference
- \(\gamma_{i}^{MAX} /\gamma^{MAX}\) :
-
Capacity of time-chartered vessel i/voyage-chartered vessels
- \(\gamma_{i}^{MIN} /\gamma^{MIN}\) :
-
Minimum load on time charter i/voyage charter when traveling from a production node to a consumption node
- \(\delta\) :
-
Time period length
- \(\delta^{LE}\) :
-
Earliest time a time charter becomes available
- \(\delta_{n}^{L} /\delta_{ln}^{S}\) :
-
Time when the nth time/voyage charter becomes available
- \(\varepsilon_{L}\) :
-
Probability of time charter availability
- \(\zeta_{jmt}^{MAX} /\zeta_{jmt}^{MIN}\) :
-
Maximum/minimum level of product m at node j at time point t
- \(\eta\) :
-
Planning horizon
- \(\theta_{jkt}\) :
-
=1 if period t is in pick-up window k of third-party production node j
- \(\vartheta^{L}\) :
-
Minimum duration of time charter rental
- \(\lambda^{LA} /\lambda^{LB} /\lambda^{LR}\) :
-
Earliest reservation/latest reservation/returning notice time for time charters
- \(\lambda^{SA} /\lambda^{SB}\) :
-
Earliest/latest reservation time for voyage charters
- \(\lambda^{PU}\) :
-
Time when a pick-up window becomes deterministically known
- \(\xi_{{ijj^{'} }}^{MAX} /\xi_{{jj^{'} }}^{MAX}\) :
-
Maximum allowable load for trip (j,j′) using time charter i/voyage charter
- \(\pi_{jm}^{MH} /\pi_{jmt}^{OF} /\pi_{jmt}^{UF}\) :
-
Material holding/overflow/underflow cost
- \(\pi_{{jj^{'} }}^{FT} /\pi_{{jj^{'} }}^{VT}\) :
-
Fixed/variable transportation cost for trip (j,j′)
- \(\pi_{i}^{FL} /\pi_{i}^{EL}\) :
-
Standard/extension cost for time charters
- \(\pi_{jt}^{EP}\) :
-
Penalty used to model early pick-up preference
- \(\pi_{{jj^{'} }}^{S}\) :
-
Voyage charter cost for trip (j,j′)
- \(\rho_{jmt}\) :
-
Production (positive) or consumption (negative) rate of node j during period t
- \(\sigma_{jk}^{OS} /\sigma_{jk}^{OE}\) :
-
Start/end time of the pick-up window of order k from third-party production node j
- \(\sigma^{SW}\) :
-
Soft window length
- \(\tau_{{jj^{'} }}\) :
-
Traversal time along arc (j,j′)
- \(\varphi_{jmk}\) :
-
Amount of product m in order k from third-party production node j
- \(\chi_{it}\) :
-
=1 if period t is within the first \(\vartheta^{L}\) periods of the current time charter of vessel i
- \(C^{ID} \left( d \right)\) :
-
Estimated cost at date d
- \(\hat{F}_{ijmt}^{L}\) :
-
Amount of product m in vessel i en route to node j, expected to arrive at time point t
- \(\hat{F}_{{j^{'} jmt}}^{S}\) :
-
Amount of product m that is en route and will arrive at node j at time point t from production node j′ from the voyage charter
- \(\hat{W}_{{ijj^{'} t}}^{L}\) :
-
=1 if vessel i is scheduled to depart j towards j′ at time point t
- \(\hat{W}_{{jj^{'} t}}^{S}\) :
-
=1 if a voyage charter is scheduled to depart j for j′ at time point t
- \(\hat{X}_{ijt}^{L}\) :
-
=1 if vessel i is at node j initially (t = 0), or it is en route and will arrive at j at time point t (t > 0)
References
Agra A, Andersson H, Christiansen M, Wolsey L (2013) A maritime inventory routing problem: discrete time formulations and valid inequalities. Networks 62(4):297–314
Agra A, Christiansen M, Delgado A, Hvattum LM (2015) A maritime inventory routing problem with stochastic sailing and port times. Comput Oper Res 61:18–30
Agra A, Christiansen M, Delgado A (2017) Discrete time and continuous time formulations for a short sea inventory routing problem. Optim Eng 18(1):269–297
Al-Ameri TA, Shah N, Papageorgiou LG (2008) Optimization of vendor-managed inventory systems in a rolling horizon framework. Comput Ind Eng 54(4):1019–1047
Andersson H, Hoff A, Christiansen M, Hasle G, Løkketangen A (2010) Industrial aspects and literature survey: combined inventory management and routing. Comput Oper Res 37(9):1515–1536
Balasubramanian J, Grossmann IE (2004) Approximation to multistage stochastic optimization in multiperiod batch plant scheduling under demand uncertainty. Ind Eng Chem Res 43(14):3695–3713
Bassett MH, Pekny JF, Reklaitis GV (1997) Using detailed scheduling to obtain realistic operating policies for a batch processing facility. Ind Eng Chem Res 36(5):1717–1726
Braun MW, Rivera DE, Flores ME, Carlyle WM, Kempf KG (2003) A model predictive control framework for robust management of multi-product, multi-echelon demand networks. Annu Rev Control 27(2):229–245
Campbell AM, Savelsbergh MWP (2004) A decomposition approach for the inventory-routing problem. Transp Sci 38(4):488–502
Christiansen M, Fagerholt K (2002) Robust ship scheduling with multiple time windows. Naval Res Logist (NRL) 49(6):611–625
Christiansen M, Nygreen B (2005) Robust inventory ship routing by column generation. In: Desaulniers G, Desrosiers J, Solomon MM (eds) Column generation, Springer, Boston, MA, pp 197–224. https://doi.org/10.1007/0-387-25486-2_7
Coelho LC, Cordeau JF, Laporte G (2012) Consistency in multi-vehicle inventory-routing. Transp Res C-EMER 24:270–287
Coelho LC, Cordeau JF, Laporte G (2014) Thirty years of inventory-routing. Transp Sci 48(1):1–19
Cui J, Engell S (2010) Medium-term planning of a multiproduct batch plant under evolving multi-period multi-uncertainty by means of a moving horizon strategy. Comput Chem Eng 34(5):598–619
Dong Y, Pinto JM, Sundaramoorthy A, Maravelias CT (2014) MIP model for inventory routing in industrial gases supply chain. Ind Eng Chem Res 53(44):17214–17225
Dong Y, Maravelias CT, Pinto JM, Sundaramoorthy A (2017) Solution methods for vehicle-based inventory routing problems. Comput Chem Eng 101:259–278
Engineer FG, Furman KC, Nemhauser GL, Savelsbergh MWP, Song J-H (2012) A branch-price-and-cut algorithm for single-product maritime inventory routing. Oper Res 60(1):106–122
Fischer A, Nokhart H, Olsen H, Fagerholt K, Rakke JG, Stålhane M (2016) Robust planning and disruption management in roll-on roll-off liner shipping. Transp Res E-LOG 91:51–67
Gaur V, Fisher ML (2004) A periodic inventory routing problem at a supermarket chain. Oper Res 52(6):813–822
Goel V, Furman KC, Song JH, El-Bakry AS (2012) Large neighborhood search for LNG inventory routing. J Heuristics 18(6):821–848
Golden BL, Raghavan S, Wasil EA (2008) The vehicle routing problem: latest advances and new challenges, vol 43. Springer, Berlin
Gounaris CE, Wiesemann W, Floudas CA (2013) The robust capacitated vehicle routing problem under demand uncertainty. Oper Res 61(3):677–693
Grønhaug R, Christiansen M, Desaulniers G, Descrosiers J (2010) A branch-and-price method for a liquefied natural gas inventory routing problem. Transp Sci 44(3):400–415
Gupta D, Maravelias CT (2016) On deterministic online scheduling: major considerations, paradoxes and remedies. Comput Chem Eng 94:312–330
Gupta D, Maravelias CT (2017) A general state-space formulation for online scheduling. Processes 5(4):69
Gupta D, Maravelias CT, Wassick JM (2016) From rescheduling to online scheduling. Chem Eng Res Des 116:83–97
Harjunkoski I, Maravelias CT, Bongers P, Castro PM, Engell S, Grossmann IE, Hooker J, Méndez C, Sand G, Wassick J (2014) Scope for industrial applications of production scheduling models and solution methods. Comput Chem Eng 62:161–193
Janak SL, Lin X, Floudas CA (2007) A new robust optimization approach for scheduling under uncertainty: II. Uncertainty with known probability distribution. Comput Chem Eng 31(3):171–195
Jiang Y, Grossmann IE (2015) Alternative mixed-integer linear programming models of a maritime inventory routing problem. Comput Chem Eng 77:147–161
Kleywegt AJ, Nori VS, Savelsbergh MWP (2002) The stochastic inventory routing problem with direct deliveries. Transp Sci 36(1):94–118
Laporte G (2009) Fifty years of vehicle routing. Transp Sci 43(4):408–416
Laporte G, Gendreau M, Potvin JY, Semet F (2000) Classical and modern heuristics for the vehicle routing problem. Int Trans Oper Res 7(4–5):285–300
Li Z, Ierapetritou M (2008) Process scheduling under uncertainty: review and challenges. Comput Chem Eng 32:715–727
Mastragostino R, Patel S, Swartz CLE (2014) Robust decision making for hybrid process supply chain systems via model predictive control. Comput Chem Eng 62(5):37–55
Méndez CA, Cerdá J, Grossmann IE, Harjunkoski I, Fahl M (2006) State-of-the-art review of optimization methods for short-term scheduling of batch processes. Comput Chem Eng 30(6):913–946
Mestan E, Türkay M, Arkun Y (2006) Optimization of operations in supply chain systems using hybrid systems approach and model predictive control. Ind Eng Chem Res 45(19):6493–6503
Moin NH, Salhi S (2007) Inventory routing problems: a logistical overview. J Oper Res Soc 58(9):1185–1194
Nandola NN, Rivera DE (2013) An improved formulation of hybrid model predictive control with application to production-inventory systems. IEEE Trans Control Syst Technol 21(1):121–135
Novas JM, Henning GP (2010) Reactive scheduling framework based on domain knowledge and constraint programming. Comput Chem Eng 34(12):2129–2148
Ortega M, Lin L (2004) Control theory applications to the production-inventory problem: a review. Int J Prod Res 42:2303–2322
Ouelhadj D, Petrovic S (2009) A survey of dynamic scheduling in manufacturing systems. J Sched 12:417–431
Papageorgiou DJ, Nemhauser GL, Sokol J, Cheon M-S, Keha AB (2014) MIRPLib—a library of maritime inventory routing problem instances: survey, core model, and benchmark results. Eur J Oper Res 235(2):350–366
Papageorgiou DJ, Cheon MS, Harwood S, Trespalacios F, Nemhauser GL (2018) Recent progress using matheuristics for strategic maritime inventory routing. In: Konstantopoulos C, Pantziou G (eds) Modeling, computing and data handling methodologies for maritime transportation, Springer, Cham, pp 59–94
Perea-López E, Ydstie BE, Grossmann IE (2003) A model predictive control strategy for supply chain optimization. Comput Chem Eng 27(8):1201–1218
Pinedo M (2012) Scheduling: theory, algorithms, and systems. Springer, Berlin
Pochet Y, Wolsey LA (2006) Production planning by mixed integer programming. Springer, Berlin
Rakke JG, Stålhane M, Moe CR, Christiansen M, Andersson H, Fagerholt K, Norstad I (2011) A rolling horizon heuristic for creating a liquefied natural gas annual delivery program. Transp Res C-EMER 19(5):896–911
Ronen D (2002) Marine inventory routing: shipments planning. J Oper Res Soc 53(1):108–114
Sahin F, Robinson EP, Gao L-L (2008) Master production scheduling policy and rolling schedules in a two-stage make-to-order supply chain. Int J Prod Econ 115(2):528–541
Sarimveis H, Patrinos P, Tarantilis CD, Kiranoudis CT (2008) Dynamic modeling and control of supply chains: a review. Comput Oper Res 35:3530–3561
Singh T, Arbogast JE, Neagu N (2015) An incremental approach using local-search heuristic for inventory routing problem in industrial gases. Comput Chem Eng 80:199–210
Siswanto N, Essam D, Sarker R (2011) Solving the ship inventory routing and scheduling problem with undedicated compartments. Comput Ind Eng 61(2):289–299
Song J-H, Furman KC (2013) A maritime inventory routing problem: practical approach. Comput Oper Res 40(3):657–665
Subramanian K, Maravelias CT, Rawlings JB (2012) A state-space model for chemical production scheduling. Comput Chem Eng 47:97–110
Subramanian K, Rawlings JB, Maravelias CT, Flores-Cerrillo J, Megan L (2013) Integration of control theory and scheduling methods for supply chain management. Comput Chem Eng 51:4–20
Subramanian K, Rawlings JB, Maravelias CT (2014) Economic model predictive control for inventory management in supply chains. Comput Chem Eng 64:71–80
Toth P, Vigo D (2001) The vehicle routing problem. Society for Industrial and Applied Mathematics, Philadelphia
Verderame PM, Elia JA, Li J, Floudas CA (2010) Planning and scheduling under uncertainty: a review across multiple sectors. Ind Eng Chem Res 49(9):3993–4017
Vieira G, Herrmann JW, Lin E (2003) Rescheduling manufacturing systems: a framework of strategies, policies, and methods. J Sched 6:39–62
Wonnacott TH, Wonnacott RJ (1990) Introductory statistics for business and economics. Wiley, Toronto
Zhang Q, Sundaramoorthy A, Grossmann IE, Pinto JM (2017) Multiscale production routing in multicommodity supply chains with complex production facilities. Comput Oper Res 79:207–222
Zhang C, Nemhauser G, Sokol J, Cheon MS, Keha A (2018) Flexible solutions to maritime inventory routing problems with delivery time windows. Comput Oper Res 89:153–162
Acknowledgements
The authors would like to acknowledge financial support from the US National Science Foundation under grant CBET- 1264096.
Author information
Authors and Affiliations
Corresponding author
Electronic supplementary material
Below is the link to the electronic supplementary material.
Appendix: Algorithms
Appendix: Algorithms
Algorithm A1 Check time charter availability
If all desired time-chartered vessels are available, the algorithm ends with resolve equal to no; otherwise, resolve returns yes. In line 5, \(\varepsilon_{L} (t)\) denotes the probability that a vessel is available at time \(t\). In line 10, \(\lambda^{LC}\) denotes the earliest time a time charter is guaranteed to be available. In the case study, \(t_{LA} = 7,t_{LB} = 21,\varepsilon_{L} (t_{LA} ) = 0.85, \varepsilon_{L} (t_{LB} ) = 1,\lambda^{LC} = 21\).
Algorithm A2 Update availability of voyage charters
The availability profiles of voyage charters are cluster-specific. For each cluster l, we (1) remove the vessels that were reserved in the previous period (lines 2–3); (2) update the times when vessels become available (lines 4–15); (3) sort those times in ascending order (line 16); and (4) generate new availability profile (lines 17–19). In line 2, \(nlast_{l}\) is the number of trips in cluster l reserved in the last period. Parameters \(\varepsilon_{SA} , \varepsilon_{SB} , \varepsilon_{SC} , \varepsilon_{SD}\) denote the probability that the time a vessel becomes available remains unchanged, decreases by 1 period, increases by 1 period, and increases by 2 periods, respectively. For example, in the case that the time a vessel becomes available is unchanged, the new \(\delta_{ln}^{S}\) is the old \(\delta_{ln}^{S}\) minus one (line 7), because the horizon has been rolled forward by one day. It is also possible that a previously available vessel is reserved by another party, and thus becomes unavailable, as shown in line 15. In the case study, \(\varepsilon_{SA} = 0.75,\varepsilon_{SB} = 0.05,\varepsilon_{SC} = 0.05,\varepsilon_{SD} = 0.05, newA = 9,newB = 12\).
Algorithm A3 Check availability of voyage charters
The availability of voyage charters is checked for each cluster; if some desired vessels are not available, resolve returns yes.
Algorithm A4 Update parameters due to trip delays
There are three types of trip delays: (1) a reserved vessel that is yet to arrive can be late for 1 period with a probability of \(\varepsilon_{DI1}\) or 2 periods with a probability \(\varepsilon_{DI2}\) (lines 1–6 and 7–12 respectively for time and voyage charters); (2) an ongoing trip can have a delay of 1/2 periods with a probability \(\varepsilon_{DO1} /\varepsilon_{DO2}\) (lines 13–18 and 19–24 for the time- and voyage-chartered vessels, respectively); and (3) a pick-up/delivery can be 1/2 period longer with a probability \(\varepsilon_{DT1} /\varepsilon_{DT2}\) (lines 25–32,33–40 respectively for time and voyage charters). Note that even though the probability of delay at each time period does not depend on trip length, longer trips tend to have larger delays, because they have more time periods during which delays can be observed. In the case study, \(\varepsilon_{DI1} = 0.15,\varepsilon_{DI2} = 0.05,\varepsilon_{DO1} = 0.08,\varepsilon_{DO2} = 0.02,\varepsilon_{DT1} = 0.15,\varepsilon_{DT2} = 0.05.\)
Algorithm A5 Update pick-up windows
For pick-up windows whose estimated start time is \(t = \lambda^{PU}\), the actual start time and window length are specified. Parameter newC is the maximum adjustment of the start time; newD/newE is the shortest/longest window length. In the case study, \(newC = 3,newD = 2,newE = 3\).
Algorithm A6 Update initial inventory
The real-time initial inventory level is updated using a normal distribution. The consumption/production rate in the last period is included in \(L_{jm1}\). In the case study, \(\sigma_{AF} = 0.05\).
Algorithm A7 Update forecast consumption/production rate
Consumption/production forecast rate are updated using a normal distribution. In the case study, \(\sigma_{FF} = 0.05\).
Algorithm A8 Fix variables according to decisions made previously
Variables related to three types of decisions are fixed. First, the vessel company should be notified \(\lambda^{LR}\) periods before returning a time charter (lines 1–2). Second, decisions regarding time charters made previously are fixed (lines 3–4); \(\delta^{LE}\) is the earliest time when a time charter becomes available (updated in lines 20–23 in Algorithm 1). Finally, decisions regarding voyage charters are fixed (lines 5–8). In the case study, \(\lambda^{LR} = 15\).
Rights and permissions
About this article
Cite this article
Dong, Y., Maravelias, C.T. & Jerome, N.F. Reoptimization framework and policy analysis for maritime inventory routing under uncertainty. Optim Eng 19, 937–976 (2018). https://doi.org/10.1007/s11081-018-9383-8
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11081-018-9383-8