Abstract
Planning of distribution processes has been represented by vehicle routing problems (VRP), where objective functions are commonly related to the cost of routes and delivery times involved in those processes. However, other objectives, such as equity of demand satisfaction, are of particular interest in social or non-profit distribution systems. This study addresses a VRP focused on an egalitarian distribution among all demand centroids considering a heterogeneous fleet. In particular, our goal is to maximize the minimum fraction of fulfilled demand to foster the equity of demand satisfaction while minimizing the delivery times as a secondary objective. We formulate our optimization problem as a mixed-integer linear program that is intractable by using a commercial solver for large instances. Therefore, we design three variants of the biased random-key genetic algorithm, and one of them can obtain near-optimal solutions for instances up to 120 demand points and 15 routes in less than one minute of computational time. Finally, we present an analysis of the trade-off between egalitarian demand satisfaction and total delivery time for a scenario based on an economically deprived region in Mexico.
Similar content being viewed by others
References
Toth, P., Vigo, D.: Vehicle Routing. Society for Industrial and Applied Mathematics, Philadelphia (2014)
Huang, M., Smilowitz, K., Balcik, B.: Models for relief routing: equity, efficiency and efficacy. Transp. Res. Part E Logist. Transp. Rev. 48(1), 2–18 (2012)
Matl, P., Hartl, R.F., Vidal, T.: Equity objectives in vehicle routing: a survey and analysis. 5th Workshop of the EURO Working Group on Vehicle Routing and Logistics optimization, pp. 2–43. Nantes, France (2016)
Wang, X.-J., Zhang, J.-Y., Shahid, S., Elmahdi, A., He, R.-M., Wang, X.-G., Ali, M.: Gini coefficient to assess equity in domestic water supply in the Yellow River. Mitig. Adapt. Strat. Glob. Change 17(1), 65–75 (2012)
Mourgaya, M., Vanderbeck, F.: Column generation based heuristic for tactical planning in multi-period vehicle routing. Eur. J. Oper. Res. 183(3), 1028–1041 (2007)
Kritikos, M.N., Ioannou, G.: The balanced cargo vehicle routing problem with time windows. Int. J. Prod. Econ. 123(1), 42–51 (2010)
Liu, R., Xie, X., Garaix, T.: Weekly home health care logistics. In: Proceedings of the 10th IEEE International Conference on Networking, Sensing and Control (ICNSC), pp. 282–287, XX (2013)
Balcik, B., Beamon, B.M., Smilowitz, K.: Last mile distribution in humanitarian relief. J. Intell. Transp. Syst. 12(2), 51–63 (2008)
Sahin, F., Narayanan, A., Robinson, E.P.: Rolling horizon planning in supply chains: review, implications and directions for future research. Int. J. Prod. Res. 51(18), 5413–5436 (2013)
Lin, Y.-H., Batta, R., Rogerson, P.A., Blatt, A., Flanigan, M.: A logistics model for emergency supply of critical items in the aftermath of a disaster. Socio Econ. Plan. Sci. 45(4), 132–145 (2011)
Huang, K., Rafiei, R.: Equitable last mile distribution in emergency response. Comput. Ind. Eng. 127, 887–900 (2019)
Nair, D.J., Grzybowska, H., Fu, Y., Dixit, V.V.: Scheduling and routing models for food rescue and delivery operations. Socio Econ. Plan. Sci. 63, 18–32 (2018)
Orgut, I.S., Ivy, J., Uzsoy, R., Wilson, J.R.: Modeling for the equitable and effective distribution of donated food under capacity constraints. IIE Trans. 48(3), 252–266 (2016)
Lien, R., Iravani, S., Smilowitz, K.: Sequential resource allocation for nonprofit operations. Oper. Res. 62(2), 301–317 (2013)
Balcik, B., Iravani, S., Smilowitz, K.: Multi-vehicle sequential resource allocation for a nonprofit distribution system. IIE Trans. 46(12), 1297–1297 (2014)
Nair, D.J., Rey, D., Dixit, V.V.: Fair allocation and cost-effective routing models for food rescue and redistribution. IISE Trans. 49(12), 1172–1188 (2017)
Gonçalves, J.F., Resende, M.: Biased random-key genetic algorithms for combinatorial optimization. J. Heuristics 17(5), 487–525 (2011)
Resende, M.: Biased random-key genetic algorithms with applications in telecommunications. TOP 20(1), 130–153 (2012)
Ibarra-Rojas, O.J., Hernandez, L., Ozuna, L.: The accessibility vehicle routing problem. J. Clean. Prod. 172, 1514–1528 (2018)
Toso, R.F., Resende, M.G.C.: A C++ application programming interface for biased random-key genetic algorithms. Optim. Methods Softw. 30(1), 81–93 (2015)
Ehrgott, M.: Multicriteria Optimization, 2nd edn. Springer, Berlin (2005)
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
A Example of decoder algorithms
A Example of decoder algorithms
This section presents an example of each decoder algorithm using a small instance of our proposed VRPE. To define that instance, we consider four demand points and the depot (i.e., \(I=\{0,1,2,3,4\}\)), two vehicles (\(K=\{1,2\}\)), and a supply of \(s=500\). Moreover, the demand parameters are set as \(b_1=126\), \(b_2=251\), \(b_3=191\), and \(b_4=206\). Finally, vehicle capacities are \(c^{1}=350\) and \(c^2=380\).
1.1 A.1 Example of Decoder1
Each decoder’s input is a random-key Y of a predefined size based on the decoder’s definition. In the case of Decoder1, the random-key has \(2\left| I'\right| +|K|=2(4)+2=10\) elements, see an example in Fig. 8.
At the beginning of Decoder1, parameters are initialized as \(\overline{c}_1=350\), \(\overline{c}_2=380\), and \(\overline{s}=500\). Moreover, the set \(I'\) is increasingly ordered in terms of the values \(Y_i\), for \(i\in I'\); thus, \(\overline{I}=\left\{ 1,3,4,2\right\} \).
Analogously, the last two elements of Y define the order to construct the vehicles’ routes, i.e., \(\overline{K}=\{2,1\}\).
Now, we describe the iterations of Decoder1. Notice that there is available supply (\(\overline{s}=500>0\)) and there are vehicles with positive capacity (\(\left| \overline{K}\right| =2>0\)). Then, we construct the route of the first vehicle \(k=2\) in \(\overline{K}\). First, demand point 1 is chosen (first element in \(\overline{I}\)), and we compute \(w_1^2=\min \left( \lceil b_{1}Y_{|I'|+1}\rceil ,\overline{c}^{2},\overline{s}\right) =\min \left( \lceil (126)(0.78)\rceil ,380,500\right) =99\). Next, the demand point 1 is assigned to the route of vehicle 2, and parameters are updated as \(\overline{c}_2=281\), \(\overline{s}=401\), and \(\overline{I}=\left\{ 3,4,2\right\} \). We continue adding demand points since we did not reach the stop criteria, i.e., \(\overline{c}_2>0\) and \(\overline{s}>0\). We take first element \(i=3\) in \(\overline{I}\) and we compute \(w_3^2=\min \left( \lceil b_{3}Y_{|I'|+3}\rceil ,\overline{c}^{2},\overline{s}\right) =\min \left( 165,281,401\right) =165\). Next, we add the demand point 3 to the route of vehicle 2, and we update parameters as \(\overline{c}_2=116\), \(\overline{s}=236\), and \(\overline{I}=\left\{ 4,2\right\} \). Similarly, demand point 4 is the last point in the route of vehicle 2 with a delivered demand of \(w_4^2=\min \left( 186,116,236\right) =116\). Notice that the stop criterion of the vehicle’s capacity is reached (\(\overline{c}^2 = 0\)), and available supply is \(\overline{s}=120\). Since there are demand points not visited by routes (\(|\overline{I}| > 0\)) and vehicles with positive capacities (\(|\overline{K}|>0\)), we construct the route of the next vehicle \(k=1\), leading to the solution in Table 3.
1.2 A.2 Example of Decoder2
The main idea of Decoder2 is to compute the minimum fraction of fulfilled demand using the last element of a random-key of size \(\left| I \right| \). Figure 9 shows an example of a random-key of five elements for our example instance.
In the first step of Decoder2, we initialize as Decoder1, i.e., \(\overline{c}_1=350\), \(\overline{c}_2=380\), \(\overline{s}=500\), and \(\overline{I}=\left\{ 1,3,4,2 \right\} \). Then, we construct routes for each vehicle \(k=1,\dots , |K|\). To define the route of vehicle \(k=1\), we take the first demand point \(i=1\) in \(\overline{I}\), and we compute the number of products to delivery as \(\lceil b_1 Y_5\rceil =\lceil \left( 126\right) \left( 0.78\right) \rceil =99\). Since we have enough capacity in vehicle 1 (\(350\ge 99\)) and supply (\(500\ge 99\)) to deliver that demand, the point \(i=1\) is assigned to de route of vehicle \(k=1\), with \(w_1^1=99\). Next, we update \(\overline{c}_1=251\), \(\overline{s}=401\), and \(\overline{I}=\{3,4,2\}\). Since \(\overline{c}_1>0\), it is possible to add more demand points to the route of vehicle 1. We take \(i=3\) and compute \(\lceil b_3 Y_5\rceil =\lceil \left( 191\right) \left( 0.78 \right) \rceil =149\). Similarly to point 1, we add demand point 3 to the route of vehicle 1 and we update \(\overline{c}_1=102\), \(\overline{s}=252\), and \(\overline{I}=\left\{ 4,2\right\} \). Notice that in the case of the next demand point \(i=4\), we have \(\lceil b_4Y_5\rceil = \lceil (206)(0.78)\rceil =161\), which is greater than the capacity; thus, we can not satisfy the demand represented by \(Y_5\) and we end the route of vehicle \(k=1\) by updating \(\overline{c}^1=0\). In the case of vehicle 2, we first add point \(i=4\) leading to \(\overline{c}_2=219\), \(\overline{s}=91\), and \(\overline{I}=\left\{ 2 \right\} \). Notice that the last demand point \(i=2\) can not be added to the route since \(\lceil b_2 Y_5 \rceil =\lceil \left( 251\right) \left( 0.78 \right) \rceil =196\) is greater than the available supply \(\overline{s}=91\). Then, demand point \(i=4\) is not visited and \(r=0\). Table 4 shows the solution obtained by Decoder2.
1.3 A.4 Example of Decoder3
Our Decoder3 considers three phases to create the vehicles’ routes satisfying that the fraction of fulfilled demand is greater than 0 for all demand points. The input of algorithm is a random-key with size \(2\left| I\right| =2\left( 4 \right) =8\) and p as a parameter in \(\left( 0,1\right) \), but we will use \(p=0.2\) in our example. A random-key example is shown in Fig. 10.
At the beginning of Decoder3, we initialize as Decoder1, i.e., \(\overline{c}_1=350\), \(\overline{c}_2=380\), \(\overline{s}=500\), and \(\overline{I}=\left\{ 1,3,4,2 \right\} \). Moreover, we define a set of potential delivered demand as follows.
\(\overline{b}=\{\lfloor b_{1}Y_{5}\rfloor ,\ \lfloor b_{2}Y_{8}\rfloor ,\ \lfloor b_{3}Y_{6}\rfloor ,\ \lfloor b_{4}Y_{7}\rfloor \}=\{98, 225, 74, 177\}\)
In Phase I, we verify if demands in \(\overline{b}\) can be satisfied in terms of the total vehicles’ capacity and the supply. In this example, it is not possible since \(\sum _{i\in I'}\overline{b}_i=574\), which is greater than \(\min \left( 730, 500\right) =500\). Then, we iteratively take the fraction \((1-p)\) for each demand \(\overline{b}_i\) until demands in \(\overline{b}\) can be satisfied. In particular, we update \(\overline{b}_1=\lfloor (1-0.2)98\rfloor =78\), \(\overline{b}_2=\lfloor (1-0.2)225\rfloor =180\), \(\overline{b}_3=\lfloor (1-0.2)74\rfloor =59\), and \(\overline{b}_4=\lfloor (1-0.2)177\rfloor =141\). Notice that, we finish Phase I since \(\sum _{i\in I'}\overline{b}_{i}=402\) and \(402<500\).
In Phase II, the vehicles’ routes are constructed as follows. We take vehicle \(k=1\) with capacity \(\overline{c}^1=350\), and we choose the first demand point \(i=1\) in \(\overline{I}\). Since \(\overline{b_1}=78\) does not exceed the capacity \(\overline{c}^1=350\), we add point 1 to the route of vehicle 1 by fixing \(w_1^1=78\) and updating \(\overline{c}^1=272\), \(\overline{s}=422\), and \(\overline{I}=\{3,4,2\}\). Similarly, we add demand points 3 and 4 leading to \(\overline{c}^1=72\), \(\overline{s}=222\), and \(\overline{I}=\left\{ 2\right\} \). Since demand \(\overline{b}_2=180\) is greater than capacity \(\overline{c}^{1}=72\), the vehicle 1 can not visit the demand point 2, and we explore the next vehicle. We have \(\overline{c}^2=200\) for vehicle 2 and \(\overline{s}=222\); thus, we add point 2 to the route by fixing \(w_2^2=180\) and we update \(\overline{c^2}=20\), \(\overline{s}=42\), and \(\overline{I}=\emptyset \) (we finish Phase II). At the end of this phase, vehicle 1 visits the points 1, 3 y 4, and vehicle 2 visits point 2 as shown in Table 5.
Phase III is not done since all demand points are visited.
Rights and permissions
About this article
Cite this article
Ibarra-Rojas, O.J., Silva-Soto, Y. Vehicle routing problem considering equity of demand satisfaction. Optim Lett 15, 2275–2297 (2021). https://doi.org/10.1007/s11590-021-01704-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11590-021-01704-5