An Improved Discrete Jaya Algorithm for Shortest Path Problems in Transportation-Related Processes

: Shortest path problems are encountered in many engineering applications, e


Introduction
The shortest path problem (SPP) is among the most fundamental ones in graph theory. It is concerned with finding the shortest path from a specified origin to a destination in a given graph or network. In general, each edge's distance, time, and price is called cost. This paper uses "cost" to indicate the distance, time, and other physical attributes of a network. It is applied in a variety of domains (both as a stand-alone model and as a subproblem in complex problems), such as transportation [1][2][3], biological networks [4], social networks [5], circuit board layout [6], and robotic search/navigation processes [7][8][9][10][11][12][13]. In recent years, the rapid development of sensing and Internet of Things (IoT) technology has allowed us to obtain environmental changes rapidly [14,15]. Since such changes impact SPP solutions, it becomes increasingly important for us to find SPP solutions efficiently. Efforts are required to develop faster algorithms than traditional and existing ones to solve SPP.
Many classical algorithms and a series of their variants are proposed, e.g., Dijkstra [16][17][18], Bel, Floyd [19,20], Dreyfus [21], and A-Star [22,23], to solve SPP. There are some other ways to solve SPP, such as simple heuristics, meta-heuristics, and neural networks. Otte and Correll (2013) [24] propose a parallel framework of the shortest path planning algorithm based on single-query sampling. Zhang, et al. (2014) [25] propose a novel parameter-free minimum resource neural network framework to solve shortest path problems for various graph types. Jan, et al. (2014) [26] present a method based on Delaunay triangulation, improved Dijkstra algorithm (DA), and Fermat points to construct a new graph that can obtain near-shortest paths in a short computational time. Lei, et al. (2015) [27] propose a parallel field-programmable gate array implementation to solve SPP. An extended systolic array priority queue is proposed to allow large-scale priority queue processing. Wang,  [28] suggest an improved A-star algorithm to solve SPP with position-based learning effects. Huang, et al. (2017) [29] adopt a position-based pruning strategy to reduce the number of node pairs. An algorithm based on point-to-point shortest path calculation is presented to improve efficiency.   [30] designed an efficient shortest-path algorithm that compresses an original network into a small one that preserves the graph properties used to calculate a path. Yang, et al. (2020) [31] present an ant colony algorithm to solve the shortest path problem. Krauss, et al. (2020) [32] propose three different approaches for solving SPP using a quadratic unconstrained binary optimization formulation suitable for development on a quantum annealing machine.
SPP expansions are also widely studied. Examples of other generalizations of SPP are the K-shortest path problem [33], the shortest time path problem with time windows [34], and the traveling salesman problem [35][36][37][38]. The application of the SPP extends to the realm of industrial automation. The SPP has been used to optimize and streamline processes, e.g., the design of mechanical components for automation platforms [39], measurement of industrial robot poses [40], and solution of characteristic equations for the elliptical trajectories of industrial robots [41]. Chen, et al. (2013) [42] present a stochastic travel speed model to express the problem of finding the minimal expected time path in stochastic time-dependent road networks. Feng and Korkmaz (2015) [43] propose a new Lagrangian relaxation algorithm to solve a multi-constrained multiple SPP. Talebi, et al. (2017) [44] study online shortest path routing over multi-hop networks. Chemodanov et al. (2018) [45] propose a novel neighborhood method for a constrained SPP. The neighborhood method uses a search space reduction technique and has a theoretical quadratic speed-up that allows it to reach solutions faster than its peers.   [46] present an index-based A-Star algorithm to solve the SPP in a weighted directed acyclic graph with unknown vertex coordinates. Ganganath, et al. (2018) [47] designed a heuristic search algorithm to find solutions to the shortest path on uneven terrains. Su, et al. (2019) [48] propose a multi-stage meta-heuristic algorithm for solving the SPP with must-pass nodes. Kou, et al. (2019) [49] propose two algorithms for a single-constrained SPP. Jie, et al. (2019) [50] establish an information transmission time expectation-variance shortest path model and a fuzzy shortest path critical edge model. An improved ant colony algorithm with traffic congestion factor and random variables is developed to solve the SPP in an uncertain environment. Binh, et al. (2019) [51] suggest an improved evolutionary algorithm that reduces the search space to overcome massive resource consumption in solving clustered shortest-path tree problems. Liu, et al. (2019) [52] propose an optimal path selection algorithm that applies reinforcement learning strategies and designs a new length-first optimal path selection method based on prior knowledge. Xiong, et al. (2020) [53] present an integer programming model for one-to-one pickup and a delivery problem. Two different splitting strategies are proposed to solve the split demand one-to-one pickup and delivery problem with the shortest-path transport along real-life paths. Krauss and McCollum. (2020) [32] designed three different ways to implement the formula of the SPP on a quantum annealing computer. Thanh, et al. (2021) [54] proposed a new method to solve clustered shortest-path tree problems based on a multifactorial evolutionary algorithm. Cosma, et al. (2021) [55] designed a novel genetic algorithm to solve the clustered shortest path tree problem that defines meaningful genetic operators and uses an initial hybrid population.
Although the SPP is studied extensively, researchers face a challenging task when handling large and complex networks in engineering applications. Its various extension problems, such as k-shortest paths, traveling salesman problems, shortest path with time windows, and multiobjective shortest path, are all NP-hard problems. The SPP is frequently invoked when solving these problems. Reducing the running time of the SPP can greatly improve the efficiency of these algorithms. The proposal of a meta-heuristic algorithm to solve the SPP can be regarded as laying the foundation for solutions to other NP-hard problems involving the SPP. In many specific cases, practitioners just need high-quality paths within a very short time instead of the shortest ones but an unacceptably long time during which any parameter/environmental changes may void an optimal one. In other words, they need the shortest possible time or real-time response to obtain an approximate shortest path. For example, a number of attributes affecting the optimal path in an urban road can change at any time. Such changes require a real-time update of the optimal path. If the guidance is not given quickly, a driver might end up missing an intersection or entering the wrong path. A meta-heuristic algorithm becomes a preferred choice due to its controllable and limited running time and ability to find a high-quality solution [56,57]. The work [58] proposes a simple meta-heuristic algorithm called Jaya to solve continuous optimization problems. Compared with other meta-heuristic algorithms, Jaya is easier to be applied because it does not need to consider complex parameters but just needs to set the number of iterations and population size as its outstanding feature. Jaya is highly competitive in comparison with other heuristic algorithms, e.g., particle swarm optimizer (PSO), genetic algorithm (GA), differential evolution (DE), artificial bee colony (ABC), and teaching-learning-based optimizer (TLBO). It has been extensively used in various fields, such as photovoltaic systems [59], electricity theft detection [60], power transmission [61], unmanned aerial vehicle control [62], manufacturing [63], and scheduling [64,65].
We propose to adopt Jaya to solve the SPP for the first time because of its excellent performance and successful engineering optimization problems. The SPP aims to find the shortest path on a given network that requires connecting discrete points in series and finally giving a set of nodes and their order. It is a discrete problem. The original Jaya algorithm is not suitable for solving discrete problems. Gao, et al. (2016) [57] propose a discrete Jaya algorithm by improving the strategy for new solution generation and applying it to manufacturing process scheduling problems. This work proposes an improved discrete Jaya (IDJaya) algorithm for solving the SPP. Figure 1 shows the flowchart of our proposed method. This work contributes to the field of the SPP by (a) developing a discrete version of Jaya to solve it and a local search operator to improve the performance of the discrete Jaya algorithm (DJaya) and (b) comparing the proposed IDJaya with its peers. algorithm to solve the SPP can be regarded as laying the foundation for solutions to other NP-hard problems involving the SPP. In many specific cases, practitioners just need highquality paths within a very short time instead of the shortest ones but an unacceptably long time during which any parameter/environmental changes may void an optimal one. In other words, they need the shortest possible time or real-time response to obtain an approximate shortest path. For example, a number of attributes affecting the optimal path in an urban road can change at any time. Such changes require a real-time update of the optimal path. If the guidance is not given quickly, a driver might end up missing an intersection or entering the wrong path. A meta-heuristic algorithm becomes a preferred choice due to its controllable and limited running time and ability to find a high-quality solution [56,57]. The work [58] proposes a simple meta-heuristic algorithm called Jaya to solve continuous optimization problems. Compared with other meta-heuristic algorithms, Jaya is easier to be applied because it does not need to consider complex parameters but just needs to set the number of iterations and population size as its outstanding feature. Jaya is highly competitive in comparison with other heuristic algorithms, e.g., particle swarm optimizer (PSO), genetic algorithm (GA), differential evolution (DE), artificial bee colony (ABC), and teaching-learning-based optimizer (TLBO). It has been extensively used in various fields, such as photovoltaic systems [59], electricity theft detection [60], power transmission [61], unmanned aerial vehicle control [62], manufacturing [63], and scheduling [64,65].
We propose to adopt Jaya to solve the SPP for the first time because of its excellent performance and successful engineering optimization problems. The SPP aims to find the shortest path on a given network that requires connecting discrete points in series and finally giving a set of nodes and their order. It is a discrete problem. The original Jaya algorithm is not suitable for solving discrete problems. Gao, et al. (2016) [57] propose a discrete Jaya algorithm by improving the strategy for new solution generation and applying it to manufacturing process scheduling problems. This work proposes an improved discrete Jaya (IDJaya) algorithm for solving the SPP. Figure 1 shows the flowchart of our proposed method. This work contributes to the field of the SPP by (a) developing a discrete version of Jaya to solve it and a local search operator to improve the performance of the discrete Jaya algorithm (DJaya) and (b) comparing the proposed IDJaya with its peers.  The remainder of this paper is organized as follows. The mathematical model of the SPP is formulated in Section 2. Section 3 introduces the IDJaya to solve the SPP. Section 4 presents the experimental results and their comparisons with their competitive peers. Finally, Section 5 concludes this paper.

Problem Description and Mathematic Formulation
In this section, we illustrate our concerned SPP. A network is represented by an undirected and connected graph G = (V, E), where V = {v 1 , v 2 , . . ., v n } represents the set of nodes and E = {e 1 , e 2 , . . ., e m } represents the set of edges. |V| = n and |E| = m represent the total number of nodes and edges in graph G, respectively. An edge between nodes v a and v b is denoted by e ab . Each edge has a cost c ab (e.g., representing distance, time, or price) that indicates the cost between nodes v a and v b . p od ∈ P is a path connecting origin (v o ) and destination (v d ), where P is the set of paths. The cost of p od is represented by C od , which is calculated by summing the costs of each edge in p od .
Definition 1 (Shortest Path): For a given graph G, the shortest path from v o to v d is defined as the path with the smallest C od .
The remainder of this paper is organized as follows. The mathematical model of the SPP is formulated in Section 2. Section 3 introduces the IDJaya to solve the SPP. Section 4 presents the experimental results and their comparisons with their competitive peers. Finally, Section 5 concludes this paper.

Problem Description and Mathematic Formulation
In this section, we illustrate our concerned SPP. A network is represented by an undirected and connected graph G = (V, E), where V = {v1, v2, …, vn} represents the set of nodes and E = {e1, e2, …, em} represents the set of edges. |V| = n and |E| = m represent the total number of nodes and edges in graph G, respectively. An edge between nodes va and vb is denoted by eab. Each edge has a cost cab (e.g., representing distance, time, or price) that indicates the cost between nodes va and vb. pod ∈ P is a path connecting origin (vo) and destination (vd), where P is the set of paths. The cost of pod is represented by Cod, which is calculated by summing the costs of each edge in pod.
Definition 1 (Shortest Path): For a given graph G, the shortest path from vo to vd is defined as the path with the smallest Cod.

Original Jaya Algorithm
Jaya is a novel and simple algorithm. It produces new solutions and constantly tries to find the solutions closer to the optimal solution but away from the worst one. Note that "Jaya" means victory in Sanskrit. Its performance relies on only two parameters, i.e., the number of iterations and population size. It can be viewed as being parameter-free when compared with other popular nature-inspired algorithms such as PSO and ACO. Its simplicity makes it convenient to implement in any programming language, and it is also easy to convert codes between different programming languages. It has the following steps according to [58]: 1. Initializing the population size (K), termination condition (i.e., number of iterations), and number of decision variables.
2. Finding the best and worst solutions in population.
3. Generating new solutions via: 4. If the new solution is superior to the best solution, then replace the latter with the former.
5. Comparing original solutions with new ones and saving top K results. 6. Determining whether a pre-given termination condition is met. If so, output results. Otherwise, repeat Steps 2-6.

Discrete Jaya Algorithm for SPP
Jaya is proposed to solve a continuous optimization problem. Since the SSP is discrete, we have to design a new solution generation strategy to make Jaya suitable for the SPP. Therefore, a discrete Jaya algorithm (DJaya) for solving the SPP is proposed. An additional term that can randomly generate adjacent nodes is added to increase the exploration ability of DJaya, called IDJaya. The difference between IDJaya and DJaya is that IDJaya adds a local search algorithm to improve its solution accuracy. Due to the particularity of the SPP, a newly produced node may not be in an original path, and parameters ∼ ϕ j,k,i /φ j,k,i /φ j,k,i are thus added to ensure the connectivity of the generated paths. IDJaya generates a set of points and builds a path as follows: where r i is a binary random number taking 0 or 1 at random and satisfying that only one of them be 1, implying that only one of them is selected to produce a new node; ∼ ϕ j,k,i ,φ j,k,i and ϕ j,k,i are introduced to prevent IDJaya from being unable to continue running since newly generated nodes are not in the paths. They are used to determine whether the node is in the initial path, best path, and worst path, respectively. They are binary decision variables. ∼ ϕ j,k,i = 1 when the node can be found in the initial path, and otherwise zero. So areφ j,k,i and ϕ j,k,i . For example, a newly generated node is 6. Assuming that the initial path and best path contain node 6, we have: ∼ ϕ j,k,i =φ j,k,i = 1 andφ j,k,i = 0. v j,k,i is a newly generated node and v j,k,i is an alternative one that is the next node on the selected path. v j,best,i and v j,worst,i represent the next node on the best and worst paths, respectively. v j,random,i includes all nodes accessible by the previous point (except the points that are already in the path). We later give a simple example to show how it works.
Unlike Jaya's solution generation strategy, (7) generates a node in a new path instead of a complete solution. It is constantly called until a new complete path is generated from the origin to the destination. These newly generated nodes build a new path, as shown in (8). The remaining process of the IDJaya is the same as that of the original Jaya. Figure 3 shows the flowchart of IDJaya.
are , , and , , . For example, a newly generated node is 6. Assuming that the initial path and best path contain node 6, we have: , , = , , = 1 and , , = 0. , , is a newly generated node and , , is an alternative one that is the next node on the selected path. , , and , , represent the next node on the best and worst paths, respectively. , , includes all nodes accessible by the previous point (except the points that are already in the path). We later give a simple example to show how it works.
Unlike Jaya's solution generation strategy, (7) generates a node in a new path instead of a complete solution. It is constantly called until a new complete path is generated from the origin to the destination. These newly generated nodes build a new path, as shown in (8). The remaining process of the IDJaya is the same as that of the original Jaya. Figure 3 shows the flowchart of IDJaya. IDJaya requires initial solutions for operation. Initial solutions refer to random paths between an origin to a destination. In order to overcome the difficulty of initial path acquisition in large networks, we propose a random path generation method based on orientation. It always visits a new point in the same direction toward the destination to ensure that a random path can be found quickly.
The idea of our algorithm is based on Jaya. We propose a new solution generation strategy such that Jaya can solve the path problems. A node in a new path is generated when the strategy is invoked. (7) is repeatedly used until the destination is visited and a new path is produced. Its complete procedure is described in pseudo-code of IDJaya with the following steps: (1) set parameters, i.e., population size and the number of iterations; (2) calculate the cost of initial paths and find out the best and worst solutions; (3) select a path in sequence and generate a new point according to Step 6; (4) repeat steps 5-7 until the destination is visited, thus resulting in a new path; (5) use this method to produce corresponding new paths for all initial ones; (6) call the local search algorithm to generate new solutions; (7) compare all paths and select the top K optimal solutions as the latest path group. (8) repeat the above steps until termination conditions are met, i.e., the maximum number of iterations is reached.; (9) output a path with the lowest cost. {Rk} is a set of paths that is constantly being updated as the algorithm is executed (Algorithm 1). IDJaya requires initial solutions for operation. Initial solutions refer to random paths between an origin to a destination. In order to overcome the difficulty of initial path acquisition in large networks, we propose a random path generation method based on orientation. It always visits a new point in the same direction toward the destination to ensure that a random path can be found quickly.
The idea of our algorithm is based on Jaya. We propose a new solution generation strategy such that Jaya can solve the path problems. A node in a new path is generated when the strategy is invoked. (7) is repeatedly used until the destination is visited and a new path is produced. Its complete procedure is described in pseudo-code of IDJaya with the following steps: (1) set parameters, i.e., population size and the number of iterations; (2) calculate the cost of initial paths and find out the best and worst solutions; (3) select a path in sequence and generate a new point according to Step 6; (4) repeat steps 5-7 until the destination is visited, thus resulting in a new path; (5) use this method to produce corresponding new paths for all initial ones; (6) call the local search algorithm to generate new solutions; (7) compare all paths and select the top K optimal solutions as the latest path group. (8) repeat the above steps until termination conditions are met, i.e., the maximum number of iterations is reached.; (9) output a path with the lowest cost. {R k } is a set of paths that is constantly being updated as the algorithm is executed (Algorithm 1).
A local search algorithm is applied to IDJaya to expand the scope of solution exploration and improve the quality of solutions. In the local search algorithm, α is a randomly selected point in p od . ε represents newly extended points that form a segment. Its steps are as follows: (1) randomly select a node in a path generated by IDJaya; (2) randomly access adjacent nodes from a node selected in the previous step; (3) stop access when a newly accessed node belongs to the initial path or the number of iterations reaches a set value; (4) connect several segments to form a new path; (5) repeat the above steps until the number of paths generated reaches the set value. It ends when the iteration is completed or a newly generated segment returns to the original path. Its time complexity is O(nβγ), and T Local ≈ O(n) can be obtained. T Local is the time complexity of a local search algorithm. n is the number of nodes. β and γ are two parameters in a local search algorithm. They mean that a local search algorithm is executed to generate at most β paths by exploring no more than γ nodes. Their settings need to prevent the algorithm from wasting too much computing time. As β and γ increase, more paths are generated, and accordingly, more high-quality solutions are likely to be obtained. However, as they increase, so does the running time. β and γ are not sensitive to the size of a network. Their values directly affect the selection range of alternative paths. Larger networks may require more alternative paths to find the optimal solution, but the size of a network does not affect β and γ values.
Obtain the best value of C (i.e., (C OD ) best ) and the worst value of C (i.e., (C OD ) worst ) 3.
for k = 1 to K 5.
for j = 1 to c 6. v j,k,i = ∼ ϕ j,k,i r 1 v j,k,i +φ j,best,i r 2 v j,best,i +φ j,worst,i r 3 v j,worst,i + r 4 v j,random,i 7. end for 8.
end for 13.
output min C{R k }

Algorithm 2. Local search algorithm
Input: A path generated by IDJaya (p od ) Output: A set of paths 1.
Randomly select a node α β in p od (except origin and destination) 3.
Disconnect α β from the other points in p od 4.
If ε is close to origin than α 1  Proof of Theorem 1. First of all, we summarize the complexity of each step in IDJaya in Table 1. Obtain the best value of f (x) (i.e., (C OD ) best ) and the worst value of f (x) (i.e., (C OD ) worst ) O(K) 3. for i = 1 toÎ (-) 4. for k = 1 to K (-) 5.
v j,k,i = ∼ ϕ j,k,i r 1 v j,k,i +φ j,best,i r 2 v j,best,i +φ j,worst,i r 3 v j,worst,i + r 4 v j,random,i O(4ÎcK) Based on Table 1, we formulate the computational complexity of IDJaya as follows: whereÎ is the number of iterations and K is the population size. c is the number of nodes on a path. In the worst case, a path passes through all nodes in a network, i.e., c = m. On average, c << m. n is a constant.

Experimental Results and Discussion
In this section, we illustrate IDJaya via a simple example and then perform two experiments to evaluate the proposed method.
As shown in Table 2, alternative paths 1 and 2 are the best and worst solutions, respectively. New paths are generated according to (7) and (8). For example, the first iteration of a new path corresponding to alternative path 1 is generated as follows: Processes 2023, 11, 2447 9 of 18 Processes 2023, 11, x FOR PEER REVIEW 9 of 19 7-11" and C1-11 = 13. Since SPP is a minimization problem, the minimum value of C is regarded as the best solution, and the maximum value of C is the worst solution. As shown in Table 2, alternative paths 1 and 2 are the best and worst solutions, respectively. New paths are generated according to (7) and (8). For example, the first iteration of a new path corresponding to alternative path 1 is generated as follows:  1-2-3-4-9-10- 11 21 The above process gradually visits points in a network through the repeated calls of (7) to form a complete path. Similarly, new paths based on other initial paths are produced. Note that a newly produced node may jump out of the original path. For example, in Step 2), since node 6 has been visited, the original path and optimal solution do not include node 6, so let , , = , , = 0. Local search produces neighboring solutions for each new solution. For example, "1-6-5-8-11" is selected, in which node 5 is chosen at random. A segment "5-4-9-8" is generated by randomly accessing adjacent nodes starting at node 5. Here node 5 is closer to the origin than node 8. A new path is generated, i.e., "1-6-5-4-9-8-11". These newly generated paths are compared, and the top 3 best solutions are put in Table 3. Compare the values of C1-11 in Tables 2 and 3, and place the top 3 best solutions in Table 4. This completes the first iteration.  1-6-5-2-3-4-9-10-11 29 worst 3 1-2-3-4-9-10- 11 21 The above process gradually visits points in a network through the repeated calls of (7) to form a complete path. Similarly, new paths based on other initial paths are produced. Note that a newly produced node may jump out of the original path. For example, in Step 2), since node 6 has been visited, the original path and optimal solution do not include node 6, so let ∼ ϕ 2,1,1 =φ 2,best,1 = 0. Local search produces neighboring solutions for each new solution. For example, "1-6-5-8-11" is selected, in which node 5 is chosen at random. A segment "5-4-9-8" is generated by randomly accessing adjacent nodes starting at node 5. Here node 5 is closer to the origin than node 8. A new path is generated, i.e., "1-6-5-4-9-8-11". These newly generated paths are compared, and the top 3 best solutions are put in Table 3. Compare the values of C 1-11 in Tables 2 and 3, and place the top 3 best solutions in Table 4. This completes the first iteration. Table 3. New paths and the corresponding C during first iteration.
Compare the values of C 1-11 in Tables 4 and 5, and obtain the top 3 best solutions shown in Table 6. The second iteration is completed. IDJaya is terminated whenÎ = 2, and the optimal solution is output, i.e., "1-6-7-11". It is determined that "1-6-7-11" is the optimal solution in this example by comparing the result with DA [16]. Table 5. New paths and the corresponding C during second iteration.

Alternate
Path 1-6-7-11 13 Table 6. Final paths and the corresponding C at the end of second iteration. 1-6-7- 11 13 In the above example, it can be observed that the optimal solution is obtained in the first iteration. Although there is a small size network, it can reflect the simplicity of IDJaya. Subsequent computations may yield as good results as we have, but excellent solutions are retained by comparing original solutions with new ones. With the increase in population size and iterations, high-quality solutions can be obtained even if the size of a network continues to grow.

Experiment Setting
In this section, seven road networks from Macao and seven dense graphs are used to verify the performance of IDJaya. Maps of Macao are given from ArcMap 10.2, and dense ones are generated at random. The sizes of actual instances arrange from 82 nodes and 135 edges to 1281 nodes and 1822 edges. Dense graphs arrange from 82 nodes and 676 edges to 1281 nodes and 151,397 edges. They are generated by ArcMap based on real road networks and with the same nodes as real road networks. All graphs have only non-negative costs. The algorithms devised in this paper are implemented in IDEA 2018.3 (the programming language is Java). We conduct the experiments on a laptop running Microsoft Windows 10 with an Intel/2.5 GHz Core (TM) i5-7300HQ CPU, 8 GB of RAM, and 1 TB of hard disk.
IDJaya is compared with typical Dijkstra [16] and very recent methods based on ant colony optimization (ACO) [31,66,67]. This work selects an improved ACO in [31] for comparison. Similarly, it also uses a swarm intelligence algorithm to solve the SPP, which is the latest and most relevant research to our work. The quality and running time of solutions are used to evaluate the performance of an algorithm. The solution quality is defined as follows: where ζ is the quality of the solutions. The longer the path, the smaller the value. c andč represent the cost of a path and the shortest path, respectively. DA is parameter-free, IDJaya has two parameters, and ACO has five main parameters. IDJaya has the least number of super-parameters among all the meta-heuristic algorithms. Its two parameters are easy to determine. Increasing them tends to improve the quality of its solutions but takes more calculation time. Increasing the maximal iteration count may not necessarily improve the quality of solutions since IDJaya may fall into a local/global optimum. The increase in population size can effectively reduce the possibility of IDJaya falling into a local optimum. We set K = 50 andÎ = 1000 in our experiment. The values of these parameters are determined based on some tests; acceptable near-optimal solutions can be obtained without spending a lot of running time. All instances are executed 50 times, and the averages are retained and compared.

Algorithm Performance
Experiments are carried out on real road networks and dense graphs, respectively. We randomly assign connections to generate dense graphs corresponding to real road networks, which have the same number of nodes. IDJaya, DJaya, Dijkstra algorithm (DA), and ACO are compared in terms of running time and accuracy. Note that DA always finds the shortest path as an exact algorithm. The results are reported in Tables 7-10. DJaya is an original discrete Jaya algorithm. It can be seen from Table 7 that IDJaya and DJaya are always superior to DA in running time, and their advantage is increasing with the expansion of the network scale. The running times of IDJaya and DJaya are half of the DA when there are 82 nodes. When the number of nodes is 1281, their running time is only about one-seventh of the latter. Similarly, compared with ACO, our methods can give solutions of higher accuracy faster. DJaya's running time is slightly less than IDJaya's since IDJaya runs a local search algorithm to increase accuracy. Figure 5 shows that their advantages in terms of calculation time become more and more significant as network size increases. As shown in Table 8, IDJaya and DJaya can always find the shortest paths in the first four instances. They both find the same near-optimal path in the fifth instance. The accuracy of IDJaya becomes more advantageous compared with DJaya and ACO as the network scale increases. Significantly, IDJaya can easily adjust parameters, and users can adjust them according to the SPP's characteristics. Accuracy can be improved by increasing population size and iterations to meet higher accuracy requirements at the cost of longer running time.   Table 8. Accuracy of all compared algorithms in real networks. We use high-density networks in Tables 9 and 10. Similarly, IDJaya takes much less running time than DA and ACO and a bit more than DJaya. The increase in edges has a more significant impact on the calculation time of DA and ACO. The running time spent by IDJaya in dense graphs increases by only a tiny fraction compared to real road networks. Its solution accuracy has decreased but not significantly, falling within an acceptable range. The sixth instance is less accurate than the seventh at the maximum value of accuracy since IDJaya, as a meta-heuristic algorithm, is stuck at a local optimum at running and cannot find a better solution. This locally optimal solution is produced with some randomness. It is possible to obtain a better result in a more complex network.

Instances Accuracy
In Figure 6, the running time of the three algorithms applied to different network types is compared. The increase in the number of edges has little effect on the running time of our algorithm, and DA needs to spend extra time dealing with massive edges. ACO is Processes 2023, 11, 2447 13 of 18 less affected than DA. As can be seen from the trend in Figure 6, as the number of nodes increases, the impact of the network density on running time is minimal for IDJaya. The time complexity of IDJaya also supports this result. Its time complexity is O(ÎcK), and thus IDJaya has good performance on density graphs. As shown in Table 11, the main ideas of IDJaya are introduced. Compared to existing heuristic algorithms, IDJaya is simpler and easier to implement since we only need to set two parameters for it. In the process of solving the SPP, just two equations need to be used to generate new solutions. IDJaya's time complexity is O( cK), while the compared approach is O(n 2 ). It can be seen that IDJaya's time complexity is mainly affected by the maximal iteration count ( ) and population size (K). When a network is large, the number of nodes far exceeds and K; thus IDJaya has an advantage in terms of running time. Solution quality Near-optimal solution (over 97%) Optimal solution Solution quality is worse than IDJaya As shown in Table 11, the main ideas of IDJaya are introduced. Compared to existing heuristic algorithms, IDJaya is simpler and easier to implement since we only need to set two parameters for it. In the process of solving the SPP, just two equations need to be used to generate new solutions. IDJaya's time complexity is O(ÎcK), while the compared approach is O(n 2 ). It can be seen that IDJaya's time complexity is mainly affected by the maximal iteration count (Î) and population size (K). When a network is large, the number of nodes far exceedsÎ and K; thus IDJaya has an advantage in terms of running time.

Main idea
It always tries to move closer to the best solution and move away from the worst solution. Thus, the optimal solution is constantly approached.
Finding the shortest path by accessing and updating the distance of all points from an origin.
Mimicking ants' foraging behavior. The shorter the path, the more pheromones. Eventually, the whole colony will converge on the optimal path.
Number of parameters 2 -6 Number of related equations 2 2 5 Solution quality Near-optimal solution (over 97%) Optimal solution Solution quality is worse than IDJaya

Conclusions
The SPP is a combinatorial optimization problem widely seen in various engineering applications, especially transportation-related processes. To use the Jaya to solve the SPP, we have to discretize it and improve a generation strategy to make it suitable for the SPP. In this work, we successfully design an improved discrete Jaya algorithm to solve the SPP. We first adjust the discrete Jaya algorithm in [57], and a new solution generation strategy is given to make it suitable for the SPP. Then, we present a local search algorithm to increase the accuracy of this proposed method. The proposed IDJaya has the characteristics of short running time and excellent accuracy validated in many experiments with network sizes ranging from 82 to 1281 nodes. Computational results on seven real road networks and corresponding density graphs demonstrate that the proposed algorithm can yield high-quality solutions for the SPP with up to 1281 nodes and 151,397 edges in a short time. It should be noted that IDJaya performs very well in dense graphs. The results of its time complexity analysis show that increasing the number of edges has little influence on it.
Author Contributions: Conceptualization, algorithm realization, and original draft preparation by R.W.; Result analysis, research supervision, and paper review and editing by M.Z. and K.G.; paper revision by J.W. All authors have read and agreed to the published version of the manuscript.

Conflicts of Interest:
The authors declare no conflict of interest.

Nomenclature
The following abbreviations are used in this manuscript: Symbol Description V A set of nodes E A set of edges P A set of paths v i i-th node e ij An edge between nodes v i and v j p ij A path form node v i to node v j C ij Cost of p ij c ij Cost of e ij {p} A set of all nodes along that path Y j,k,i The value of the j-th variable for the k-th candidate in the i-th iteration Y j,best,i The value of the j-th variable for the best candidate in the i-th iteration Y j,worst,i The value of the j-th variable for the worst candidate in the i-th iteration Y j,k,i The updated value of Y j,k,i R A random number in [0, 1] v j,k,i The j-th node on the k-th path of the i-th iteration v j,best,i The j-th node on the best path of the i-th iteration v j,worst,i The j-th node on the worst path of the i-th iteration v j,random,i The j-th node randomly generated of the i-th iteration v j,k,i An updated node of v j,k,i p k An updated path of the k-th path A binary decision variable. When a path passes through e ij , x ij = 1; otherwise, x ij = 0 r i A binary decision variable that has one and only one term equal to 1 from r 1 to r 4 ∼ ϕ j,k,i /φ j,k,i /φ j,k,i A binary decision variable. When a newly generated node is not in the original path, it is zero; otherwise, one