Two-Phase Fuzzy Real-Time Approach for Fuzzy Demand Electric Vehicle Routing Problem with Soft Time Windows
Abstract
:1. Introduction
- For the first time, the EVRP is studied considering soft time windows (EVRPSTW), fuzzy demands (FD-EVRPSTW), and partial recharging while en route. The soft time windows are reflected by allowing the vehicles to visit customers outside of their time windows with a cost that is added to the total travel cost of the vehicles. Due to the uncertain nature of the customers’ demands, these demands are represented with fuzzy variables to account for their uncertainties. Due to the limited driving range of electric vehicles resulting from battery depletion and the large amount of time needed for recharging, partial recharging is allowed.
- Traffic conditions that may arise, especially due to congestion, are taken into consideration when planning EVRP routes. Hence, the fuzzy real-time electric vehicle routing problem with soft time windows and fuzzy demand (RT-FD-EVRPSTW) is studied for the first time. Real-time traffic conditions, represented by congestion, are modeled using a novel fuzzy-based model.
- A mixed-integer programming model is developed to represent the problem.
- A novel fuzzy real-time adaptive optimizer (FRTAO) is developed based on the proposed real-time traffic condition fuzzy-based model. FRTAO aims to overcome the challenges faced by electric vehicles due to the necessary recharging and real-time traffic conditions.
- A two-phase approach is developed to solve the above-mentioned problem. In phase I, a genetic algorithm is used for the first time to solve the FD-EVRPSTW with partial recharging. In phase II, FRTAO is utilized to improve the output of the GA that was obtained from phase I.
2. Problem Definition and Mathematical Model
2.1. Problem Definition
- There are enough vehicles at the central depot to serve all the customers.
- The depot has enough delivery units to satisfy all the customers’ demands.
- Any customer is visited only once with one vehicle.
- All the vehicles are fully charged when they are dispatched from the depot.
- The vehicles are identical.
- There are no time window restrictions on the central depot.
2.2. Mathematical Model
- Parameters:
- τ: A variable holding the current time.
- : The distance between nodes i and j.
- K: Set of vehicles, k = 1, 2, …, .
- Q: Maximum capacity of a vehicle.
- di: fuzzy demand of customer i.
- : Fuzzy-based estimation of travel time between nodes i and j at time τ.
- : Earliest allowable time to start service at customer node i.
- : Latest allowable time to start service at customer node i.
- [, ]: Time window of customer i.
- : Service time at customer i; = 0, where 0 is the central depot.
- N: Set of customers: 1, 2, …, n.
- O: Depot.
- : Set of artificial intermediate nodes for vehicles being en route at time τ.
- : Set of charging stations.
- NOCS = N .
- : Early penalty cost for customer i, if vehicle arrives before i , and = 0 where 0 is a central depot.
- : Late penalty cost for customer i, if vehicle arrives after i , and = 0 where 0 is a central depot.
- W: Battery capacity.
- : The remaining, i.e., actual, battery state of charge (SoC) on arrival at node i.
- : SoC on departure from node i.
- h: Constant charge consumption rate.
- g: Constant recharging rate.
- M: Large positive number.
- Decision variables:
- if vehicle k visits node j immediately after node i at time t and 0 otherwise; .
- = 1 if service start time for customer i < , i , and 0 otherwise.
- = 1 if service start time for customer i > , i , and 0 otherwise.
- : Arrival time at node i, i .
- The recharge quantity at recharging station i, i .
- Equation (1) is the objective function that aims to minimize the total travel cost for all the routes, including the penalties for arriving earlier or later than the time windows. Travel times are calculated as per real-time traffic conditions.
- Constraint (2) ensures that the total demand of customers who are assigned to a vehicle does not exceed the vehicle’s capacity.
- Constraint (3) ensures that each customer is visited by exactly one vehicle.
- Constraint (4) ensures that a vehicle arrives at and leaves a customer (flow conservation constraint).
- Constraints (5) and (6) ensure that each vehicle starts the trip from the depot at time 0 and ends the trip at the depot, respectively.
- Constraint (7) calculates the arrival time to a customer or a charging station from the depot or from another customer.
- Constraint (8) calculates the arrival time from a charging station (if visited) to the next visited customer.
- Constraints (9) and (10) determine the violation of an early arrival, if it exists, at customer i, i
- Constraints (11) and (12) determine the violation of a late arrival, if it exists, at customer i, i
- Constraint (13) ensures that the level of a battery’s charge never falls below 0 and calculates the SoC when arriving at a customer, a charging station, or the depot at the end of a trip after leaving from the depot or another customer.
- Constraint (14) calculates the SoC when arriving at the first customer after departing from the depot.
- Constraint (15) states that the vehicles depart from the depot fully charged, and the SoC of a vehicle when departing from the depot is greater than or equal to the SoC when arriving at the depot.
- Constraint (16) determines the SoC after partial/full recharging at a charging station.
- Finally, Constraints (17)–(20) define the nature of the decision variables.
3. Proposed Two-Phase Solution Approach
- Phase I: Optimize FD-EVRPSTW using GA to obtain the initial best routing plan.
- Calculate the corresponding initial solution’s objective function, i.e., the total cost of FD-EVRPSTW after inserting charging stations for partial recharging.
- Phase II: Repeat the following steps for each of the real-time working hours until all the customers are served.
- Update the travel times of the best solution generated from phase I, based on traffic congestion conditions using the proposed fuzzy real-time traffic conditions model.
- Decide re-routing (re-optimizing):
- At each , check the regions with traffic congestion; then, partially re-route some routes by re-arranging the charging stations’ locations (if any) on each route to eliminate or reduce the early and late penalties as much as possible.
- If is within non-congested regions and no early arrival penalties are detected, then there is no need to re-route.
- Provide the final routes and calculate the final real-time-based objective function value (total cost).
3.1. Phase I: Genetic Algorithm for FD-EVRPSTW and Partial Recharging
3.2. Phase II: Fuzzy Real-Time Adaptive Optimizer (FRTAO)
- Input:
- The initial best routing plan from phase I.
- , the time step to be used for real-time updates.
- Initialize .
- Repeat the following steps until all the customers are served:
- , update as explained above.
- For each vehicle k, perform the following steps:
- Check the vehicle’s current location; if it is between two customers, then create a new artificial, intermediate node on the route.
- Update the travel times according to the traffic congestion conditions using the proposed fuzzy real-time traffic conditions model.
- If the remaining portion of the vehicle’s route contains one or more charging stations (from phase I solution), perform the following:
- If τ is within a congested region (crowded or congested), perform the following:
- If ASoCi < W, , then re-route the vehicle to visit the nearest charging station to make use of the congestion in partial or full recharge, instead of waiting to recharge later en route. The aim is to reduce/remove the late penalties due to the need for future recharging as much as possible.
- If ASoCi = W, , then no re-routing takes place.
- If is not within a congested region, and there is an early arrival case at the next customer, and the battery’s ASoCi < W, , then visit a charging station such that the early penalty is reduced/removed as much as possible.
- Provide the final routes and, hence, calculate the final real-time-based objective function value.
4. Results and Discussion
4.1. Dataset
4.2. Comparative Study and Analysis
4.2.1. Phase I Comparisons
4.2.2. Phase II Comparisons
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Dantzig, G.B.; Ramser, J.H. The Truck Dispatching Problem. Manag. Sci. 1959, 6, 80–91. [Google Scholar] [CrossRef]
- Kassem, S.; Korayem, L.; Khorshid, M.; Tharwat, A. A hybrid bat algorithm to solve the capacitated vehicle routing problem. In Proceedings of the 2019 Novel Intelligent and Leading Emerging Sciences Conference (NILES), Giza, Egypt, 28–30 October 2019; pp. 222–225. [Google Scholar] [CrossRef]
- Toth, P.; Vigo, D. An Exact Algorithm for the Vehicle Routing Problem with Backhauls. Transp. Sci. 1997, 31, 372–385. [Google Scholar] [CrossRef]
- Worawattawechai, T.; Intiyot, B.; Jeenanunta, C.; Ferrell, W.G., Jr. A learning enhanced golden ball algorithm for the vehicle routing problem with backhauls and time windows. Comput. Ind. Eng. 2022, 168, 108044. [Google Scholar] [CrossRef]
- Sethanan, K.; Jamrus, T. Hybrid differential evolution algorithm and genetic operator for multi-trip vehicle routing problem with backhauls and heterogeneous fleet in the beverage logistics industry. Comput. Ind. Eng. 2020, 146, 106571. [Google Scholar] [CrossRef]
- Solomon, M.M. Algorithms for the Vehicle Routing and Scheduling Problems with Time Window Constraints. Oper. Res. 1987, 35, 254–265. [Google Scholar] [CrossRef]
- Ismail, B.; El Enin, M.A.; Osama, M.; Abdelhaleem, M.; Geris, M.; Kamel, M.; Kassem, S.; Fahim, I.S. A Heterogeneous Vehicle Routing Problem with Soft Time Windows for 3PL Company’s Deliveries: A Case Study. J. Eur. Des Syst. Autom. 2021, 54, 909–914. [Google Scholar] [CrossRef]
- Chen, H.-K.; Hsueh, C.-F.; Chang, M.-S. The real-time time-dependent vehicle routing problem. Transp. Res. Part E Logist. Transp. Rev. 2006, 42, 383–408, ISSN 1366-5545. [Google Scholar] [CrossRef]
- Okhrin, I.; Richter, K. Vehicle routing problem with real-time travel times. Int. J. Veh. Inf. Commun. Syst. 2009, 2, 59–77. [Google Scholar] [CrossRef]
- Gmira, M.; Gendreau, M.; Lodi, A.; Potvin, J.-Y. Managing in real-time a vehicle routing plan with time-dependent travel times on a road network. Transp. Res. Part C Emerg. Technol. 2021, 132, 103379. [Google Scholar] [CrossRef]
- 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]
- Yu, V.F.; Anh, P.T.; Chen, Y.-W. The Electric Vehicle Routing Problem with Time Windows, Partial Recharges, and Parcel Lockers. Appl. Sci. 2023, 13, 9190. [Google Scholar] [CrossRef]
- Cataldo-Díaz, C.; Linfati, R.; Escobar, J.W. Mathematical models for the electric vehicle routing problem with time windows considering different aspects of the charging process. Oper. Res. 2024, 24, 1. [Google Scholar] [CrossRef]
- Liu, Z.; Zuo, X.; Zhou, M.; Guan, W.; Al-Turki, Y. Electric Vehicle Routing Problem with Variable Vehicle Speed and Soft Time Windows for Perishable Product Delivery. IEEE Trans. Intell. Transp. Syst. 2023, 24, 6178–6190. [Google Scholar] [CrossRef]
- Hao, S. Electric Vehicle Routing Problem with Soft Time Window and Weight-related Discharging Using Adaptive Large-Scale Neighborhood Search Algorithm. In Proceedings of the 2021 IEEE 3rd International Conference on Civil Aviation Safety and Information Technology (ICCASIT), Changsha, China, 20–22 October 2021; pp. 711–715. [Google Scholar] [CrossRef]
- Zhang, X.; Yao, J.; Liao, Z.; Li, J. The Electric Vehicle Routing Problem with Soft Time Windows and Recharging Stations in the Reverse Logistics. In Proceedings of the Twelfth International Conference on Management Science and Engineering Management (ICMSEM 2018); Xu, J., Cooke, F., Gen, M., Ahmed, S., Eds.; Lecture Notes on Multidisciplinary Industrial Engineering; Springer: Cham, Switzerland, 2019. [Google Scholar] [CrossRef]
- Shao, S.; Guan, W.; Ran, B.; He, Z.; Bi, J. Electric Vehicle Routing Problem with Charging Time and Variable Travel Time. Math. Probl. Eng. 2017, 2017, 5098183. [Google Scholar] [CrossRef]
- Nafarieh, F.; Aghsami, A.; Rabbani, E.; Rabbani, M. A heterogeneous electric taxi fleet routing problem with recharging stations to maximize the company’s profit. RAIRO-Oper. Res. 2023, 57, 459–479. [Google Scholar] [CrossRef]
- Li, L.; Li, T.; Wang, K.; Gao, S.; Chen, Z.; Wang, L. Heterogeneous fleet electric vehicle routing optimization for logistic distribution with time windows and simultaneous pick-up and delivery service. In Proceedings of the 2019 16th International Conference on Service Systems and Service Management (ICSSSM), Shenzhen, China, 13–15 July 2019; pp. 1–6. [Google Scholar] [CrossRef]
- Zhang, S.; Chen, M.; Zhang, W.; Zhuang, X. Fuzzy optimization model for electric vehicle routing problem with time windows and recharging stations. Expert Syst. Appl. 2020, 145, 113123. [Google Scholar] [CrossRef]
- Wang, L.; Gao, S.; Wang, K.; Li, T.; Li, L.; Chen, Z. Time-Dependent Electric Vehicle Routing Problem with Time Windows and Path Flexibility. J. Adv. Transp. 2020, 2020, 3030197. [Google Scholar] [CrossRef]
- Küçükoğlu, İ.; Dewil, R.; Cattrysse, D. The electric vehicle routing problem and its variations: A literature review. Comput. Ind. Eng. 2021, 161, 107650. [Google Scholar] [CrossRef]
- Moghaddam, B.F.; Ruiz, R.; Sadjadi, S.J. Vehicle routing problem with uncertain demands: An advanced particle swarm algorithm. Comput. Ind. Eng. 2012, 62, 306–317. [Google Scholar] [CrossRef]
- Shen, Y.; Yu, L.; Li, J. Robust Electric Vehicle Routing Problem with Time Windows under Demand Uncertainty and Weight-Related Energy Consumption. Complex Syst. Model. Simul. 2022, 2, 18–34. [Google Scholar] [CrossRef]
- Zhang, J.; Lam, W.H.K.; Chen, B.Y. A Stochastic Vehicle Routing Problem with Travel Time Uncertainty: Trade-Off Between Cost and Customer Service. Networks Spat. Econ. 2013, 13, 471–496. [Google Scholar] [CrossRef]
- Pelletier, S.; Jabali, O.; Laporte, G. The electric vehicle routing problem with energy consumption uncertainty. Transp. Res. Part B Methodol. 2019, 126, 225–255. [Google Scholar] [CrossRef]
- Teodorović, D.; Pavković, G. The fuzzy set theory approach to the vehicle routing problem when demand at nodes is uncertain. Fuzzy Sets Syst. 1996, 82, 307–317. [Google Scholar] [CrossRef]
- Lučić, P.; Teodorović, D. Vehicle Routing Problem with Uncertain Demand at Nodes: The Bee System and Fuzzy Logic Approach. In Fuzzy Sets Based Heuristics for Optimization; Springer: Berlin/Heidelberg, Germany, 2003; pp. 67–82. [Google Scholar]
- Erbao, C.; Mingyong, L. A hybrid differential evolution algorithm to vehicle routing problem with fuzzy demands. J. Comput. Appl. Math. 2009, 231, 302–310, ISSN 0377-0427. [Google Scholar] [CrossRef]
- Muñoz, C.C.; Palacios-Alonso, J.J.; Vela, C.R.; Afsar, S. Solving a Vehicle Routing Problem with uncertain demands and adaptive credibility thresholds. In Proceedings of the 2022 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE), Padua, Italy, 18–23 July 2022; pp. 1–8. [Google Scholar] [CrossRef]
- Yang, T.; Wang, W.; Wu, Q. Fuzzy Demand Vehicle Routing Problem with Soft Time Windows. Sustainability 2022, 14, 5658. [Google Scholar] [CrossRef]
- Shalaby, M.A.W.; Mohammed, A.R.; Kassem, S. Modified Fuzzy C-Means Clustering Approach to Solve the Capacitated Vehicle Routing Problem. In Proceedings of the 21st International Arab Conference on Information Technology (ACIT), Giza, Egypt, 28–30 November 2020. [Google Scholar]
- Shalaby, M.; Mohammed, A.; Kassem, S. Supervised Fuzzy C-Means Techniques to Solve the Capacitated Vehicle Routing Problem. Int. Arab. J. Inf. Technol. 2021, 18, 452–463. [Google Scholar] [CrossRef]
- Zhu, J. Solving Capacitated Vehicle Routing Problem by an Improved Genetic Algorithm with Fuzzy C-Means Clustering. Sci. Program. 2022, 2022, 8514660. [Google Scholar] [CrossRef]
- Syafrizal, W.; Sugiharti, E. Electric Vehicle Routing Problem with Fuzzy Time Windows using Genetic Algorithm and Tabu Search. J. Adv. Inf. Syst. Technol. 2023, 4, 205–221. [Google Scholar] [CrossRef]
- Afroditi, A.; Boile, M.; Theofanis, S.; Sdoukopoulos, E.; Margaritis, D. Electric Vehicle Routing Problem with Industry Constraints: Trends and Insights for Future Research. Transp. Res. Procedia 2014, 3, 452–459. [Google Scholar] [CrossRef]
- Zhenfeng, G.; Yang, L.; Xiaodan, J.; Sheng, G. The electric vehicle routing problem with time windows using genetic algorithm. In Proceedings of the 2017 IEEE 2nd Advanced Information Technology, Electronic and Automation Control Conference (IAEAC), Chongqing, China, 25–26 March 2017; pp. 635–639. [Google Scholar] [CrossRef]
- Mavrovouniotis, M.; Ellinas, G.; Polycarpou, M. Ant Colony optimization for the Electric Vehicle Routing Problem. In Proceedings of the 2018 IEEE Symposium Series on Computational Intelligence (SSCI), Bangalore, India, 18–21 November 2018; pp. 1234–1241. [Google Scholar] [CrossRef]
Instance # | # of Vehicles | Total Cost FD-VRPSTW | FD-EVRPSTW | |
---|---|---|---|---|
Total Cost | Average Charging Percentage | |||
C101 | 13 | 4938.71 | 9801.26 | 42.5% |
C102 | 14 | 3668.45 | 5327.85 | 35.9% |
C103 | 13 | 3050.61 | 7143.34 | 42% |
C104 | 10 | 2099.26 | 2105.47 | 23.1% |
C201 | 4 | 6196.76 | 75,698.49 | 50.1% |
C202 | 5 | 4797.30 | 50,579.54 | 48.42% |
C203 | 6 | 4437.27 | 36,470.79 | 41.15% |
C204 | 9 | 3448.66 | 21,304.21 | 41.34% |
R101 | 22 | 4052.85 | 4052.85 | 0 |
R102 | 20 | 2589.77 | 2589.77 | 0 |
R103 | 18 | 2195.92 | 2195.92 | 0 |
R104 | 15 | 1623.10 | 1623.10 | 0 |
R201 | 6 | 3972.35 | 10,741.82 | 32.67% |
R202 | 7 | 3327.93 | 12,477.66 | 34.98% |
R203 | 5 | 2551.96 | 6862.29 | 35.27% |
R204 | 7 | 2037.93 | 3607.43 | 23.6% |
RC101 | 22 | 3173.91 | 3173.91 | 0 |
RC102 | 19 | 2631.14 | 2631.14 | 0 |
RC103 | 18 | 2235.19 | 2235.19 | 0 |
RC104 | 13 | 1690.46 | 1690.46 | 0 |
RC201 | 6 | 3821.62 | 14,940.31 | 44.56% |
RC202 | 6 | 3372.60 | 11,381.33 | 39.18% |
RC203 | 6 | 3083.73 | 8886.21 | 44.45% |
RC204 | 5 | 2251.77 | 6277.95 | 42.78% |
Instance # | # of Vehicles | Total Cost FD-VRPSTW | Total Cost RT-FD-VRPSTW |
---|---|---|---|
C101 | 13 | 4938.71 | 6727.45 |
C102 | 14 | 3668.45 | 7480.56 |
C103 | 13 | 3050.61 | 7341.66 |
C104 | 10 | 2099.26 | 6281.43 |
C201 | 4 | 6196.76 | 14,634.51 |
C202 | 5 | 4797.30 | 14,805.14 |
C203 | 6 | 4437.27 | 13,993.68 |
C204 | 9 | 3448.66 | 13,766.47 |
R101 | 22 | 4052.85 | 3308.10 |
R102 | 20 | 2589.77 | 3004.66 |
R103 | 18 | 2195.92 | 2642.71 |
R104 | 15 | 1623.10 | 2445.28 |
R201 | 6 | 3972.35 | 5716.81 |
R202 | 7 | 3327.93 | 5503.64 |
R203 | 5 | 2551.96 | 4531.08 |
R204 | 7 | 2037.93 | 3913.75 |
RC101 | 22 | 3173.91 | 3708.49 |
RC102 | 19 | 2631.14 | 3442.93 |
RC103 | 18 | 2235.19 | 2579.31 |
RC104 | 13 | 1690.46 | 2090.32 |
RC201 | 6 | 3821.62 | 6095.43 |
RC202 | 6 | 3372.60 | 5804.21 |
RC203 | 6 | 3083.73 | 5337.07 |
RC204 | 5 | 2251.77 | 4143.73 |
Instance # | # of Vehicles | Total Cost Using GA FD-EVRPSTW | Total Cost Using GA RT-FD-VRPSTW | Total Cost Using GA and FRTAO FD-EVRPSTW |
---|---|---|---|---|
C101 | 13 | 9801.26 | 6727.45 | 6356.99 |
C102 | 14 | 5327.85 | 7480.56 | 6548.37 |
C103 | 13 | 7143.34 | 7341.66 | 6537.25 |
C104 | 10 | 2105.47 | 6281.43 | 6199.97 |
C201 | 4 | 75,698.49 | 14,634.51 | 17,461.16 |
C202 | 5 | 50,579.54 | 14,805.14 | 16,063.09 |
C203 | 6 | 36,470.79 | 13,993.68 | 15,593.02 |
C204 | 9 | 21,304.21 | 13,766.47 | 13,888.57 |
R101 | 22 | 4052.85 | 3308.10 | 3308.10 |
R102 | 20 | 2589.77 | 3004.66 | 3004.66 |
R103 | 18 | 2195.92 | 2642.71 | 2642.71 |
R104 | 15 | 1623.10 | 2445.28 | 2445.28 |
R201 | 6 | 10,741.82 | 5716.81 | 5532.90 |
R202 | 7 | 12,477.66 | 5503.64 | 4956.75 |
R203 | 5 | 6862.29 | 4531.08 | 4480.25 |
R204 | 7 | 3607.43 | 3913.75 | 3682.90 |
RC101 | 22 | 3173.91 | 3708.49 | 3708.49 |
RC102 | 19 | 2631.14 | 3442.93 | 3442.93 |
RC103 | 18 | 2235.19 | 2579.31 | 2579.31 |
RC104 | 13 | 1690.46 | 2090.32 | 2090.32 |
RC201 | 6 | 14,940.31 | 6095.43 | 5847.10 |
RC202 | 6 | 11,381.33 | 5804.21 | 5237.86 |
RC203 | 6 | 8886.21 | 5337.07 | 4765.76 |
RC204 | 5 | 6277.95 | 4143.73 | 4049.86 |
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. |
© 2024 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
Shalaby, M.A.W.; Kassem, S.S. Two-Phase Fuzzy Real-Time Approach for Fuzzy Demand Electric Vehicle Routing Problem with Soft Time Windows. Computers 2024, 13, 135. https://doi.org/10.3390/computers13060135
Shalaby MAW, Kassem SS. Two-Phase Fuzzy Real-Time Approach for Fuzzy Demand Electric Vehicle Routing Problem with Soft Time Windows. Computers. 2024; 13(6):135. https://doi.org/10.3390/computers13060135
Chicago/Turabian StyleShalaby, Mohamed A. Wahby, and Sally S. Kassem. 2024. "Two-Phase Fuzzy Real-Time Approach for Fuzzy Demand Electric Vehicle Routing Problem with Soft Time Windows" Computers 13, no. 6: 135. https://doi.org/10.3390/computers13060135
APA StyleShalaby, M. A. W., & Kassem, S. S. (2024). Two-Phase Fuzzy Real-Time Approach for Fuzzy Demand Electric Vehicle Routing Problem with Soft Time Windows. Computers, 13(6), 135. https://doi.org/10.3390/computers13060135