Abstract
This paper is focused on solving an industrially-motivated, rich routing variant of the so-called full truckload pickup and delivery problem. It addresses a setting where the distributor has to transport full truckload shipments between distribution centers and customer locations, yet the distributor’s owned fleet is inadequate to perform the totality of the required deliveries and thus a subset of the deliveries has to be outsourced to third-party carriers. In this work, we propose a novel mixed-integer linear programming formulation to model this problem. Using datasets inspired from industrial practice, we evaluate the computational tractability of this model and demonstrate its potential to serve as a decision-support system for real-life operations. Furthermore,we hypothesize that the distributor may realize cost savings when the later portion of the distribution period is utilized to pre-load cargo for delivery during the following period. To that end, we augment the original model to allow for such cargo pre-loading, and we conduct a rolling horizon-based simulation study to quantify its overall economic effect.
Similar content being viewed by others
Notes
Down to a relative gap of 0.01%, which was the solver’s default setting.
Abbreviations
- \({\mathcal {P}}\) :
-
Set of plants
- \({\mathcal {C}}\) :
-
Set of customers
- \({\mathcal {V}}_O\) :
-
\(\left\{ 1, 2, \ldots , n\right\} \), set of orders
- \({\mathcal {V}}\) :
-
\(\left\{ 0\right\} \cup {\mathcal {V}}_O\), set of nodes (includes depot 0 and all orders)
- \(c^i\) :
-
\(c^i \in {\mathcal {C}}\), customer to whom to deliver order \(i \in {\mathcal {V}}_O\)
- \({\mathcal {P}}_i\) :
-
\({\mathcal {P}}_i \subseteq {\mathcal {P}}\), set of plants from where to pick up order \(i \in {\mathcal {V}}_O\)
- \({\mathcal {M}}_i\) :
-
Set of possible plant-visiting sequences for picking up the totality of order \(i \in {\mathcal {V}}_O\)
- \(S_{im}\) :
-
Ordered list of locations to be visited by a truck that follows sequence \(m \in {\mathcal {M}}_i\)
- \(v^{imk}\) :
-
k-th element of \(S_{im}\)
- \({\mathcal {T}}_p\) :
-
Set of non-overlapping time slots for plant \(p \in {\mathcal {P}}\)
- \({\mathcal {H}}\) :
-
Set of truck types
- \({\mathcal {H}}_i\) :
-
\({\mathcal {H}}_i \subseteq {\mathcal {H}}\), set of truck types that are compatible with fulfilling order \(i \in {\mathcal {V}}_O\)
- \({\mathcal {A}}\) :
-
\(\left\{ (i, j) \in {\mathcal {V}} \times {\mathcal {V}}: i \ne j \right\} \)
- \(\delta _j^+\) :
-
\(\left\{ i \in {\mathcal {V}}: (i, j) \in {\mathcal {A}} \right\} \)
- \(\delta _j^-\) :
-
\(\left\{ i \in {\mathcal {V}}: (j, i) \in {\mathcal {A}} \right\} \)
- \(W_h^L\) :
-
Earliest time at which a truck of type \(h \in {\mathcal {H}}\) can leave the depot
- \(W_h^U\) :
-
Latest time at which a truck of type \(h \in {\mathcal {H}}\) has to return back to the depot
- \(f_h\) :
-
Fixed cost for a truck of type \(h \in {\mathcal {H}}\)
- \(N_h\) :
-
Number of available trucks of type \(h \in {\mathcal {H}}\)
- \(W_h\) :
-
Time point after which an overtime pay is incurred for a truck of type \(h \in {\mathcal {H}}\)
- \(\Gamma _h\) :
-
Overtime pay rate for a truck of type \(h \in {\mathcal {H}}\)
- \(C_{hij}\) :
-
Cost for a truck of type \(h \in {\mathcal {H}}\) to travel from location i to location j, where \(i, j \in \left\{ 0\right\} \cup {\mathcal {P}} \cup {\mathcal {C}}\)
- \(T_{hij}\) :
-
Time for a truck of type \(h \in {\mathcal {H}}\) to travel from location i to location j, where \(i, j \in \left\{ 0\right\} \cup {\mathcal {P}} \cup {\mathcal {C}}\)
- \(G_{hip}\) :
-
Time for a truck of type \(h \in {\mathcal {H}}\) to pick up (part of) order \(i \in {\mathcal {V}}_O\) at plant \(p \in {\mathcal {P}}_i\)
- \(B_{hi}\) :
-
Time for a truck of type \(h \in {\mathcal {H}}\) to perform delivery of order \(i \in {\mathcal {V}}_O\) while at customer location \(c^i\)
- \(\Delta _i\) :
-
Cost to outsource order \(i \in {\mathcal {V}}_O\)
- \(Q_{p\ell }\) :
-
Maximum number of trucks that can be loaded simultaneously during slot \(\ell \in {\mathcal {T}}_p\) at plant \(p \in {\mathcal {P}}\)
- \(w_{p\ell }\) :
-
Starting time of loading slot \(\ell \in {\mathcal {T}}_p\) at plant \(p \in {\mathcal {P}}\)
- \(\alpha \) :
-
Hyper-parameter to incentivize pre-loading of tomorrow’s orders
- \(z_i\) :
-
Whether order \(i \in {\mathcal {V}}_O\) is delivered by the owned fleet
- \(x_{hij}^m\) :
-
Whether a truck of type \(h \in {\mathcal {H}}\) travels from customer location \(c^i\) (after performing delivery of order \(i \in {\mathcal {V}}_O\)) to location \(v^{jm1}\) (if \(j=0\), this location represents the depot; else, it represents the first plant from which to pick up part of order \(j \in {\mathcal {V}}_O\) in sequence \(m \in {\mathcal {M}}_j\))
- \(u_{ip\ell }\) :
-
Whether time slot \(\ell \in {\mathcal {T}}_p\) is in effect when loading (part of) order \(i \in {\mathcal {V}}_O\) at plant \(p \in {\mathcal {P}}_i\)
- \(a_{ip}^m\) :
-
Loading start time at plant \(p \in {\mathcal {P}}_i\), if order \(i \in {\mathcal {V}}_O\) is picked up in sequence \(m \in {\mathcal {M}}_i\) (equal to 0, otherwise)
- \({\tilde{a}}_{ij}\) :
-
Loading start time at the first plant associated with order j if a truck traverses arc \((i, j) \in {\mathcal {A}}\) (equal to 0, otherwise)
- \(y_{ih}\) :
-
Amount of overtime for the truck of type \(h \in {\mathcal {H}}\), if that truck returns to the depot immediately after delivering order\( i \in {\mathcal {V}}_O\) (equal to 0, otherwise)
References
Annouch, A., Bouyahyaoui, K., Bellabdaoui, A.: A literature review on the full trackload vehicle routing problems. In: 2016 3rd International Conference on Logistics Operations Management (GOL), pp. 1–6. IEEE (2016)
Arunapuram, S., Mathur, K., Solow, D.: Vehicle routing and scheduling with full truckloads. Transp. Sci. 37(2), 170–182 (2003)
Ball, M.O., Golden, B., Assad, A., Bodin, L.: Planning for truck fleet size in the presence of a common-carrier option. Decis. Sci. 14(1), 103–120 (1983)
Desrosiers, J., Laporte, G., Sauve, M., Soumis, F., Taillefer, S.: Vehicle routing with full loads. Comput. Oper. Res. 15(3), 219–226 (1988)
El Bouyahyiouy, K., Bellabdaoui, A.: An ant colony optimization algorithm for solving the full truckload vehicle routing problem with profit. In: 2017 International Colloquium on Logistics and Supply Chain Management (LOGISTIQUA), pp. 142–147. IEEE (2017)
Grimault, A., Bostel, N., Lehuédé, F.: An adaptive large neighborhood search for the full truckload pickup and delivery problem with resource synchronization. Comput. Oper. Res. 88, 1–14 (2017)
Gronalt, M., Hartl, R.F., Reimann, M.: New savings based algorithms for time constrained pickup and delivery of full truckloads. Eur. J. Oper. Res. 151(3), 520–535 (2003)
Imai, A., Nishimura, E., Current, J.: A Lagrangian relaxation-based heuristic for the vehicle routing with full container load. Eur. J. Oper. Res. 176(1), 87–105 (2007)
Li, H., Lim, A.: A metaheuristic for the pickup and delivery problem with time windows. Int. J. Artif. Intell. Tools 12(02), 173–186 (2003)
Li, J., Lu, W.: Full truckload vehicle routing problem with profits. In: CICTP 2014: Safe, Smart, and Sustainable Multimodal Transportation Systems, pp. 864–875 (2014)
Montané, F.A.T., Galvao, R.D.: A Tabu search algorithm for the vehicle routing problem with simultaneous pick-up and delivery service. Comput. Oper. Res. 33(3), 595–619 (2006)
Pankratz, G.: A grouping genetic algorithm for the pickup and delivery problem with time windows. Or Spectrum 27(1), 21–41 (2005)
Parragh, S.N., Doerner, K.F., Hartl, R.F.: A survey on pickup and delivery problems. J. Betriebswirtschaft 58(2), 81–117 (2008)
Pessoa, A., Sadykov, R., Uchoa, E., Vanderbeck, F.: A generic exact solver for vehicle routing and related problems. Math. Program. 2020, 1–41 (2020)
Reinhardt, L.B., Spoorendonk, S., Pisinger, D.: Solving vehicle routing with full container load and time windows. In: International Conference on Computational Logistics, pp. 120–128. Springer (2012)
Ropke, S., Cordeau, J.F.: Branch and cut and price for the pickup and delivery problem with time windows. Transp. Sci. 43(3), 267–286 (2009)
Soares, R., Marques, A., Amorim, P., Rasinmäki, J.: Multiple vehicle synchronisation in a full truck-load pickup and delivery problem: a case-study in the biomass supply chain. Eur. J. Oper. Res. 277(1), 174–194 (2019)
Toth, P., Vigo, D.: Vehicle Routing: Problems, Methods, and Applications. SIAM, Philadelphia (2014)
Acknowledgements
The authors would like to acknowledge Braskem’s sponsorship to the Center for Advanced Process Decision-making at Carnegie Mellon University. Akang Wang also gracefully acknowledges support from the James C. Meade Graduate Fellowship and the H. William and Ruth Hamilton Prengle Graduate Fellowship at Carnegie Mellon University.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Wang, A., Ferro, N., Majewski, R. et al. Mixed-integer linear optimization for full truckload pickup and delivery. Optim Lett 15, 1847–1863 (2021). https://doi.org/10.1007/s11590-021-01736-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11590-021-01736-x