Time-Dependent Multi-Center Semi-Open Heterogeneous Fleet Path Optimization and Charging Strategy
Abstract
1. Introduction
2. Problem Description and Assumptions
3. Model Construction
3.1. Symbol Description
3.2. Electric Vehicle Discharge Function
3.3. EV Partial Charging Model
3.4. Vehicle Travel Time Calculation
3.5. Objective Function
3.6. Constraints
4. Algorithm Design
4.1. Basic Components of ALNS
4.1.1. Probability of Accepting a New Solution Based on Simulated Annealing Algorithm
4.1.2. Adaptive Strategy
4.1.3. Algorithm Scoring Strategies
4.2. SOM Initialization
| Algorithm 1: SOM initialization |
| function kmeans_initial () global P [val, C] = kmeans (P.cor (2:P.node_N (1) +P. node_N (2),:), P. line_N, “Replicates,” 10) task = [] for n from 1 to P. line_N do rn = [1; find (val == n) + 1] tl = P.t_window (rn, 2) tl (1) = 0; tl(end) = 0 [~, ind] = sort(tl) route = [rn(ind)’ − 1, 0] if n == 1 then task = cal_one(route) else task(n) = cal_one(route) end if end for task = Amend(task) end function |
4.3. Destruction Operator Design
4.3.1. Greedy Destruction Operator
| Algorithm 2: Greedy destruction operator |
| function destroy_greedy(task) global P task = task. task task1 = task linen = length(task) destroy_n = random_integer (1, 5) node = [] for nn from 1 to destroy_n do df = [] for n from 1 to linen do for j from 2 to task1(n). len − 1 do route_n = task1(n). route route_n(j) = remove(route_n(j)) ret = cal_one(route_n) dfj = task1(n). fit − ret.fit df. append ([n, j, dfj]) end for end for [~, ind] = max (df [:, end]) n = df (ind, 1) j = df (ind, 2) route_n = task1(n). route node. append(route_n(j)) route_n(j) = remove(route_n(j)) task1(n) = cal_one(route_n) end for return task1 end function |
4.3.2. Random Destruction Operator
| Algorithm 3: Random destruction operator |
| function destroy_random(task) global P task = task. task task1 = task lineN = length(task) destroy_n = random_integer (1, 5) node = [] for nn from 1 to destroy_n do while true do n = random_permute (linen, 1) route = task1(n). route if task1(n). len > 2 then break end if end while k = random_permute(task1(n). len − 2, 1) + 1 node. append(route(k)) route(k) = remove(route(k)) task1(n) = cal_one(route) end for return task1 end function |
4.3.3. Vehicle Path Destruction Operator
| Algorithm 4: Vehicle path destruction operator |
| function destroy_route(task) global P task = task. task task1 = task linen = length(task) while true do n = random_permute (linen, 1) if task(n). len < 2 then continue end if route = task(n). route node = route (2: end-1) route (2: end-1) = remove (route (2: end-1)) task1(n) = cal_one(route) break end while return task1 end function |
4.4. Repair Operator Design
4.4.1. Greedy Repair Operator
| Algorithm 5: Greedy repair operator |
| function repair_greedy(s_destroy) global P task = s_destroy. task linen = length(task) for node in s_destroy. node do df = [] for n from 1 to linen do for j from 1 to task(n). len − 1 do route_n = insert(task(n). route, j, node) ret = cal_one(route_n) dfj = ret.fit − task(n). fit df. append ([n, j, dfj]) end for end for [~, ind] = min (df[:, end]) n = df (ind, 1 j = df (ind, 2) route_n = insert(task(n). route, j, node) task(n) = cal_one(route_n) end for return task end function |
4.4.2. Random Repair Operator
| Algorithm 6: Random repair operator |
| function repair_random(s_destroy) global P task = s_destroy. task linen = length(task) for node in s_destroy. node do df = [] for n from 1 to linen do for j from 1 to task(n). len − 1 do route_n = insert(task(n). route, j, node) ret = cal_one(route_n) dfj = ret.fit − task(n). fit df. append ([n, j, dfj]) end for end for df1 = df (df[:, 3] < 0,:) if not empty(df1) then val = -df1[:, 3] ind = roulette_choose(val) n = df1(ind, 1) j = df1(ind, 2) else [~, ind] = min (df[:, 3]) n = df (ind, 1 j = df (ind, 2) end if route_n = insert(task(n). route, j, node) task(n) = cal_one(route_n) end for return task end function |
4.4.3. Vehicle Path Repair Operator
| Algorithm 7: Vehicle path repair operator |
| function repair_route(current_solution) global P for iteration from 1 to max_iterations do node_to_repair = random_select_node(current_solution) neighborhood_solutions = [] for operation in [insert, delete, swap] do new_solution = apply_operation (current_solution, node_to_repair, operation) neighborhood_solutions. append(new_solution) end for best_neighbor = null best_improvement = ∞ for solution in neighborhood_solutions do improvement = evaluate(solution)—evaluate(current_solution) if improvement < best_improvement then best_improvement = improvement best_neighbor = solution end if end for if best_neighbor is not null then current_solution = best_neighbor if evaluate(current_solution) < evaluate(best_solution) then best_solution = current_solution end if end if end for return best_solution end function |
5. Algorithm Comparison Experiment
5.1. Parameter Settings
5.2. Algorithm Comparison Experiments for Different Sizes of Customer Points
6. Sensitivity Analysis
6.1. Simulation Experiment
6.2. Distribution Mode Sensitivity Analysis
6.3. Sensitivity Analysis of Fleet Configuration
6.4. Sensitivity Analysis of Charging Strategy
7. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Schneider, M.; Stenger, A.; Goeke, D. The electric vehicle-routing problem with time windows and recharging stations. Transp. Sci. 2014, 48, 500–520. [Google Scholar] [CrossRef] [Scilit]
- Ahmed, Z.; Yousefikhoshbakht, M. A hybrid algorithm for the heterogeneous fixed fleet open vehicle routing problem with time windows. Symmetry 2023, 15, 486. [Google Scholar] [CrossRef] [Scilit]
- Jiang, C.; Zhou, L.; Zheng, J.; Shao, Z. Electric vehicle charging navigation strategy in coupled smart grid and transportation network: A hierarchical reinforcement learning approach. Int. J. Electr. Power Energy Syst. 2024, 157, 109823. [Google Scholar] [CrossRef] [Scilit]
- He, M.; Yang, M.; Fu, W.; Wu, X.; Izui, K. Optimization of Electric Vehicle Routes Considering Multi-Temperature Co-Distribution in Cold Chain Logistics with Soft Time Windows. World Electr. Veh. J. 2024, 15, 80. [Google Scholar] [CrossRef] [Scilit]
- Veena Vani, B.; Kishan, D.; Ahmad, M.W.; Naresh Kumar Reddy, B. Bat Optimization Model for Electric Vehicle Route Optimization Under Time-of-Use Electricity Pricing. Wirel. Pers. Commun. 2023, 131, 1461–1473. [Google Scholar] [CrossRef] [Scilit]
- Wang, H.; Ran, H.; Zhang, S. Location-routing optimization problem of country-township-village three-level green logistics network considering fuel-electric mixed fleets under carbon emission regulation. Comput. Ind. Eng. 2024, 194, 110343. [Google Scholar] [CrossRef] [Scilit]
- Afsane, A.; Hossein, Z.; Hassanzadeh, S.A. Routing a mixed fleet of conventional and electric vehicles for urban delivery problems: Considering different charging technologies and battery swapping. Int. J. Syst.Sci. Oper. Logist. 2023, 10, 2191804. [Google Scholar]
- Wang, R.; Zhang, F.; Ding, L.; Jiang, J.; Han, Z. A Novel Approach for Optimizing Mixed Hazardous Material Fleet Vehicle Routing Problem Method Through Intermediate Bulk Container Sharing with Adaptive Intuitionistic Fuzzy Large Neighborhood Search. Int. J. Fuzzy Syst. 2024, 1–19. [Google Scholar] [CrossRef] [Scilit]
- Sarbijan, M.; Behnamian, J. Multi-fleet feeder vehicle routing problem using hybrid metaheuristic. Comput. Oper. Res. 2022, 141, 105696. [Google Scholar] [CrossRef] [Scilit]
- Sun, H.; He, M.; Gai, Y.; Cao, J. Optimization of fresh food logistics routes for heterogeneous fleets in segmented transshipment mode. Mathematics 2024, 12, 3831. [Google Scholar] [CrossRef] [Scilit]
- Nistha, D.; Ajinkya, T. A multi-depot vehicle routing problem with time windows, split pickup and split delivery for surplus food recovery and redistribution. Expert Syst. Appl. 2023, 232, 120807. [Google Scholar]
- Alaia, E.B.; Dridi, I.H.; Bouchriha, H.; Borne, P. Genetic Algorithm for Multi-Criteria Optimization of Multi-Depots Pick-up and Delivery Problems with Time Windows and Multi-Vehicles. Acta Polytech. Hung. 2015, 12, 155–174. [Google Scholar]
- Nunes, S.; Freitas, J.; Ricardo, S. A variable neighborhood search-based algorithm with adaptive local search for the Vehicle Routing Problem with Time Windows and multi-depots aiming for vehicle fleet reduction. Comput. Oper. Res. 2023, 149, 106016. [Google Scholar]
- Li, J.; Wang, R.; Li, T.; Lu, Z.; Pardalos, P.M. Benefit analysis of shared depot resources for multi-depot vehicle routing problem with fuel consumption. Transp. Res. Part D 2018, 59, 417–432. [Google Scholar]
- Ruiz, E.; Soto-Mendoza, V.; Barbosa, A.E.R.; Reyes, R. Solving the open vehicle routing problem with capacity and distance constraints with a biased random key genetic algorithm. Comput. Ind. Eng. 2019, 133, 207–219. [Google Scholar] [CrossRef] [Scilit]
- Ichoua, S.; Gendreau, M.; Potvin, J.Y. Vehicle dispatching with time-dependent travel times. Eur. J. Oper. Res. 2003, 144, 379–396. [Google Scholar]
- Gmira, M.; Gendreau, M.; Lodi, A.; Potvin, J.-Y. Tabu search for the time-dependent vehicle routing problem with time windows on a road network. Eur. J. Oper. Res. 2021, 288, 129–140. [Google Scholar]
- Hesam Sadati, M.; Çatay, B.; Aksen, D. An efficient variable neighborhood search with tabu shaking for a class of multi-depot vehicle routing problems. Comput. Oper. Res. 2021, 133, 105269. [Google Scholar]
- Stoia, S.; Laganà, D.; Ohlmann, W.J. Dynamic pickup-and-delivery for collaborative platforms with time-dependent travel and crowd shipping. Eur. J. Oper. Res. 2025, 322, 70–84. [Google Scholar] [CrossRef] [Scilit]
- Desaulniers, G.; Errico, F.; Irnich, S.; Schneider, M. Exact algorithms for electric vehicle-routing problems with time windows. Oper. Res. 2016, 64, 1388–1405. [Google Scholar]
- Meng, M.; Ma, Y. Route Optimization of Electric Vehicle considering Soft Time Windows and Two Ways of Power Replenishment. Adv. Oper. Res. 2020, 2020, 5612872. [Google Scholar]
- Wang, Z.; Ye, K.; Jiang, M.; Yao, J.; Xiong, N.N.; Yen, G.G. Solving hybrid charging strategy electric vehicle based dynamic routing problem via evolutionary multi-objective optimization. Swarm Evol. Comput. 2022, 68, 100975. [Google Scholar]
- Ying, L.; Flavien, L.; Kenneth, S. The electric on-demand bus routing problem with partial charging and nonlinear function. Transp. Res. Part C 2023, 157, 104368. [Google Scholar]
- Montoya, A.; Guéret, C.; Mendoza, J.E.; Villegas, J.G. The electric vehicle routing problem with nonlinear charging function. Transp. Res. Part B 2017, 103, 87–110. [Google Scholar]
- Yuan, P.; Luo, M.; Miao, G.; Li, J. Problem of patient transport route planning for battery electric vehicles considering a flexible charging strategy. Transp. Res. Rec. J. Transp. Res. Board 2024, 2678, 198–225. [Google Scholar]
- Liu, J.; Yang, X.; Zhuge, C. A joint model of infrastructure planning and smart charging strategies for shared electric vehicles. Green Energy Intell. Transp. 2024, 3, 100168. [Google Scholar]
- Zhang, S.; Zhou, T.; Fang, C.; Yang, S. A novel collaborative electric vehicle routing problem with multiple prioritized time windows and time-dependent hybrid recharging. Expert Syst. Appl. 2024, 244, 122990. [Google Scholar]
- Demir, E.; Bektas, T.; Laporte, G. An adaptive large neighborhood search heuristic for the pollution-routing problem. Eur. J. Oper. Res. 2012, 223, 346–359. [Google Scholar]
- Ma, B.; Hu, D.; Chen, X.; Wang, Y.; Wu, X. The vehicle routing problem with speed optimization for shared autonomous electric vehicles service. Comput. Ind. Eng. 2021, 161, 107614. [Google Scholar] [CrossRef] [Scilit]
- Zhang, S.; Gajpal, Y.; Appadoo, S.; Abdulkader, M. Electric vehicle routing problem with recharging stations for minimizing energy consumption. Int. J. Prod. Econ. 2018, 203, 404–413. [Google Scholar]
- Ropke, S.; Pisinger, D. An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transp. Sci. 2006, 40, 455–472. [Google Scholar] [CrossRef] [Scilit]
- Solomon, M. Algorithms for the Vehicle Routing and Scheduling Problems with Time Window Constraints. Oper. Res. 1987, 35, 254–265. [Google Scholar] [CrossRef] [Scilit]









| Sets | S | |||
| N | ||||
| M | ||||
| T | ||||
| K | denotes the kth r-vehicle, r = {1,2} | |||
| P0 | ||||
| P1 | ||||
| P2 | ||||
| 0–1 Variables | ||||
| Parameters | Fixed costs for r-vehicles | Air density | ||
| Sum of the cost of unit time uses and the cost of driver services per unit time for type r vehicles | Vehicle windward area | |||
| Unit cost of electricity | Actual vehicle load of vehicle type r | |||
| Waiting costs due to early arrival | Gravitational acceleration | |||
| Cost of fines due to tardiness | Rolling resistance coefficient | |||
| Maximum battery capacity | Battery discharge efficiency | |||
| Electric engine efficiency | ||||
| Euclidean distance from node i to node j | Electricity consumption of vehicle k on arc (i, j) | |||
| Demand at customer point i | Residual power of vehicle k on arc (i, j) | |||
| Average speed of unloading cargo | Time taken by the vehicle to travel from node i to node j | |||
| Driver mileage anxiety factor | Charging time at charging station i for vehicle k | |||
| Maximum vehicle capacity for type r vehicles | Right time window for customer i | |||
| Atmospheric drag coefficient | Left time window for customer i | |||
| Variables | Remaining power when vehicle k reaches node i | Actual load of vehicle k as it leaves node i | ||
| Remaining power when vehicle k leaves node i | Moment when vehicle k reaches node i | |||
| Actual load of vehicle k when it arrives at node i | Moment when vehicle k leaves node i | |||
| Parameters | Values (Type I Vehicles; Type II Vehicles) | Parameters | Values (Type I Vehicles; Type II Vehicles) |
|---|---|---|---|
| (500 CNY·per−1; 200 CNY·per−1) | 1.29 kg·m−3 | ||
| (120 CNY·h−1; 60 CNY·h−1) | (3.91 m3; 3.51 m3) | ||
| 1.4 CNY·kWh | 0.7 | ||
| (30 CNY·h−1; 20 CNY·h−1) | 9.81 m·s−2 | ||
| (50 CNY·h−1; 40 CNY·h−1) | 0.0115 | ||
| (48 kWh; 30 kWh) | (1.11; 1.08) | ||
| (0.12; 0.15) | (1.18; 1.15) | ||
| 20 kg·min−1 | (500 kg; 200 kg) |
| Dataset | IALNS | ALNS | Ins. | |||
|---|---|---|---|---|---|---|
| TC | t | TC | t | TC | t | |
| C101C25 | 2507.1527 | 92.436 | 2507.1527 | 112.28 | 0.00 | 21.47 |
| C103C25 | 1821.4426 | 145.332 | 1821.4426 | 167.043 | 0.00 | 14.94 |
| C105C25 | 2717.4024 | 99.215 | 2717.4024 | 143.555 | 0.00 | 44.69 |
| C101C50 | 4851.8332 | 188.968 | 5206.9964 | 227.213 | 7.32 | 20.24 |
| C103C50 | 4724.0328 | 206.680 | 5134.1859 | 238.782 | 8.68 | 15.53 |
| C105C50 | 4827.2524 | 276.534 | 4932.8465 | 245.15 | 2.19 | −11.35 |
| C101C100 | 13,534.4043 | 500.723 | 13,273.5574 | 489.387 | −1.93 | −2.26 |
| C103C100 | 13,026.9005 | 500.386 | 13,998.4177 | 586.701 | 7.46 | 17.25 |
| C105C100 | 13,760.7765 | 493.048 | 14,025.203 | 451.359 | 1.92 | −8.46 |
| R105C25 | 6502.7733 | 71.48 | 6509.0369 | 85.133 | 0.10 | 19.10 |
| R107C25 | 7976.5308 | 85.71 | 8200.3874 | 95.635 | 2.81 | 11.58 |
| R110C25 | 7111.6018 | 88.663 | 7357.6199 | 88.663 | 3.46 | 0.00 |
| R105C50 | 11,651.2543 | 161.694 | 13,292.8076 | 177.283 | 14.09 | 9.64 |
| R107C50 | 13,577.3446 | 149.259 | 13,857.5694 | 180.399 | 2.06 | 20.86 |
| R110C50 | 13,761.1364 | 164.915 | 15,690.317 | 152.677 | 14.02 | −7.42 |
| R105C100 | 27,993.4508 | 400.598 | 32,996.6325 | 405.344 | 17.87 | 1.18 |
| R107C100 | 22,490.1019 | 467.769 | 24,393.0926 | 473.911 | 8.46 | 1.31 |
| R110C100 | 23,035.6415 | 369.199 | 27,905.3409 | 441.377 | 21.14 | 19.55 |
| RC104C25 | 5228.2715 | 86.575 | 5267.3996 | 87.772 | 0.75 | 1.38 |
| RC106C25 | 6281.7663 | 81.522 | 6348.7673 | 80.211 | 1.07 | −1.61 |
| RC108C25 | 6033.8908 | 81.789 | 6171.3669 | 76.789 | 2.28 | −6.11 |
| RC104C50 | 12,601.0031 | 165.114 | 12,904.403 | 186.315 | 2.41 | 12.84 |
| RC106C50 | 9783.3137 | 155.214 | 10,662.1203 | 171.7 | 8.98 | 10.62 |
| RC108C50 | 8985.5025 | 159.668 | 9697.9461 | 167.277 | 7.93 | 4.77 |
| RC104C100 | 28,311.8593 | 423.962 | 31,501.0342 | 469.018 | 11.26 | 10.63 |
| RC106C100 | 21,866.2734 | 378.353 | 25,120.1135 | 404.316 | 14.88 | 6.86 |
| RC108C100 | 21,098.3037 | 354.898 | 21,829.6325 | 428.956 | 3.47 | 20.87 |
| Average | 11,705.971 | 235.174 | 12,715.659 | 253.12 | 6.02 | 9.19 |
| Vehicle Types | Vehicle Number | Routes |
|---|---|---|
| I | 1 | 1–4–62–35–21–48–33–36–66–13–55–45–17–58–3 |
| 2 | 2–60–7–22–63–24–9–51–38–3 | |
| 3 | 2–10–7–22–63–24–9–51–38–3 | |
| II | 1 | 1–42–57–59–44–31–1 |
| 2 | 1–19–47–46–67–23–2 | |
| 3 | 2–50–12–39–52–2 | |
| 4 | 2–37–26–54–28–65–16–30–15–43–2 | |
| 5 | 3–18–32–20–5–2 | |
| 6 | 3–6–49–61–34–8–3 |
| Cost Designation | Fixed Costs | Travel Costs | Electricity Costs | Time Window Penalty Costs |
|---|---|---|---|---|
| Costs (CNY) | 2400 | 11,642.5901 | 531.9212 | 1393.7825 |
| Distribution Mode | TC | Ins. | TD | Ins. | TE | Ins. | TT | Ins. |
|---|---|---|---|---|---|---|---|---|
| Semi-open with multiple distribution centers | 15,968.2938 | - | 1058.5312 | - | 305.8768 | - | 1856.172 | - |
| Multi-distribution center closed | 16,858.788 | 5.58 | 1228.5679 | 16.06 | 322.5451 | 5.45 | 2228.25 | 20.04 |
| Single distribution center (no. 0) | 19,862.7189 | 24.39 | 1245.3609 | 17.65 | 304.1211 | −0.57 | 2496.654 | 34.51 |
| Single distribution center (no. 1) | 20,263.5308 | 26.90 | 1568.3754 | 46.97 | 441.6646 | 44.48 | 3417.024 | 84.09 |
| Single distribution center (no. 2) | 19,941.3867 | 24.88 | 1567.3901 | 48.07 | 386.7289 | 26.43 | 3182.772 | 71.47 |
| Average (Ins.) | - | 20.44 | - | 32.19 | - | 18.95 | - | 52.53 |
| Vehicle Fleet Configuration | n | TC | Ins. | ||||
|---|---|---|---|---|---|---|---|
| I | 7 | 2800 | 13,786.2 | 511.1328 | 1001.2692 | 18,098.602 | 13.34 |
| II | 14 | 2800 | 12,323.7994 | 626.6864 | 721.8346 | 16,472.3204 | 3.16 |
| Heterogeneous fleet | (6/3) | 2400 | 11,642.5901 | 531.9212 | 1393.7825 | 15,968.2938 | - |
| Charging Strategy | n | CR | CT | TC | TE | TT |
|---|---|---|---|---|---|---|
| Partial Charging Strategy | 9 | 74.71 | 114.63 | 15,968.2938 | 305.8768 | 1856.172 |
| 82.86 | ||||||
| 61.75 | ||||||
| Full Charging Strategy | 9 | 100 | 157.5 | 17,278.7114 | 375.2441 | 2751.822 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Wen, T.; Meng, H. Time-Dependent Multi-Center Semi-Open Heterogeneous Fleet Path Optimization and Charging Strategy. Mathematics 2025, 13, 1110. https://doi.org/10.3390/math13071110
Wen T, Meng H. Time-Dependent Multi-Center Semi-Open Heterogeneous Fleet Path Optimization and Charging Strategy. Mathematics. 2025; 13(7):1110. https://doi.org/10.3390/math13071110
Chicago/Turabian StyleWen, Tingxin, and Haoting Meng. 2025. "Time-Dependent Multi-Center Semi-Open Heterogeneous Fleet Path Optimization and Charging Strategy" Mathematics 13, no. 7: 1110. https://doi.org/10.3390/math13071110
APA StyleWen, T., & Meng, H. (2025). Time-Dependent Multi-Center Semi-Open Heterogeneous Fleet Path Optimization and Charging Strategy. Mathematics, 13(7), 1110. https://doi.org/10.3390/math13071110
