A deterministic and nature-inspired algorithm for the fuzzy multi-objective path optimization problem

Increasing evaluation indexes have been involved in the network modeling, and some parameters cannot be described precisely. Fuzzy set theory becomes a promising mathematical method to characterize such uncertain parameters. This study investigates the fuzzy multi-objective path optimization problem (FMOPOP), in which each arc has multiple crisp and fuzzy weights simultaneously. Fuzzy weights are characterized by triangular fuzzy numbers or trapezoidal fuzzy numbers. We adopt two fuzzy number ranking methods based on their fuzzy graded mean values and distances from the fuzzy minimum number. Motivated by the ripple spreading patterns on the natural water surface, we propose a novel ripple-spreading algorithm (RSA) to solve the FMOPOP. Theoretical analyses prove that the RSA can find all Pareto optimal paths from the source node to all other nodes within a single run. Numerical examples and comparative experiments demonstrate the efficiency and robustness of the newly proposed RSA. Moreover, in the first numerical example, the processes of the RSA are illustrated using metaphor-based language and ripple spreading phenomena to be more comprehensible. To the best of our knowledge, the RSA is the first algorithm for the FMOPOP that can adopt various fuzzy numbers and ranking methods while maintaining optimality.


Introduction
The path optimization problem (POP) is fundamental to various practical applications, such as transportation [1], supply chain management [2], telecommunication [3], and robot control [4]. The shortest path problem (SPP) is the most well-studied in the field of POP, and many classical algo-B Xiao-Bing Hu huxbtg@163.com Yi-Ming Ma xavier_mayiming@163.com Hang Zhou enzo-zhouhang@hotmail.com 1 rithms have been proposed [5,6]. The SPP aims to minimize the summation of deterministic weights associated with each arc. With the fast development of the network modeling, each arc may have multiple criteria [7], which forms the multiobjective path optimization problem (MOPOP).
Generally, the weights of each arc represent the cost, time, and reliability that are assumed to be deterministic. However, in many real-world situations, some kinds of weights are uncertain and difficult to be represented by crisp numbers. For example, the traversing time of a road greatly depends on traffic conditions [8]. Zadeh et al. [9] proposed the fuzzy set theory, which is a typical way to handle uncertainties. An element of a universe discourse is characterized by a membership degree between 0 and 1 [10]. The fuzzy set theory has emerged as a powerful platform for various real-world applications with uncertainties, such as decision making [11], network modeling [12], and pattern recognition [13]. The POP on fuzzy networks has been widely studied in recent years on account of its application values. Moreover, a network may have both crisp and fuzzy weights simultaneously. For example, path length and population exposure are two evaluation indexes for hazardous material transportation [14]. The path length can be measured accurately, while the population exposure depends on the population density, which is always time-varying. Therefore, providing complete solutions efficiently to the MOPOP with crisp and fuzzy weights may make a difference in numerous real-world problems.
The MOPOP belongs to the scope of the multi-objective optimization problem (MOOP), whose primary goal is to find Pareto optimal solutions [15]. There exist mainly four categories of MOOP algorithms: (1) using an aggregate function to combine objectives into a single one [15,16]; (2) optimizing one objective while treating the others as constraints [17]; (3) evolutionary algorithms based on Pareto ranking [18]; (4) evolutionary algorithms based on decomposition [19]. The first two categories decompose the MOOP into singleobjective optimization problems that deem partial objectives more important than the others. Therefore, they may miss some Pareto optimal solutions [20]. The last two categories are based on evolutionary algorithms, which are stochastic and cannot guarantee optimality [21]. In addition, some specific algorithms for MOPOPs have been proposed, such as the two-phase method [22], labeling method [23], and ranking method [24]. These algorithms are logic-based and extended from SPP algorithms. Moreover, they mainly focus on bi-objective problems. For this reason, these MOPOP algorithms have relatively low flexibility to be adapted to fuzzy graphs with more than two objectives.
Recently, researchers have shown a growing interest in POPs with fuzzy weights. Dubois et al. [25] first proposed an algorithm based on the Floyd algorithm to solve the SPP in a fuzzy network (FSPP), in which each arc is characterized by a fuzzy number. Various algorithms for the FSPP have been proposed [26], such as the dynamic programming [27], fuzzy Dijkstra algorithm [28], fuzzy Physarum algorithm [29], and fuzzy genetic algorithm [30]. Furthermore, some researchers also investigate MOPOPs with fuzzy weights. Kim et al. [31] proposed a quantum-inspired evolutionary algorithm to plan robotic paths considering three objectives. In [32], fuzzy objectives are aggregated using sum-weighted functions. Adhikari et al. [33] planned 3D UAV paths with a multi-objective fuzzy logic controller using fuzzy adaptive differential evolution. Zero et al. [14] modified Martin's Algorithm and A * algorithm to solve a bi-objective POP with a crisp objective and a min-max fuzzy objective. Abbaszadeh et al. [34] implemented the fuzzy inference system to find a path considering three objectives while respecting resource constraints. Bagheri et al. [35] devised fuzzy efficiency scores to convert fuzzy objectives to a single objective and implemented the data envelopment analysis.
The ripple-spreading algorithm (RSA) is an agent-based and deterministic algorithm that consists in solving various POPs [36][37][38][39]. The RSA is proposed by simulating the following natural phenomena: a ripple spreads out on a disturbed water surface and triggers new ripples when encountering obstacles. Different RSAs share the same optimization principle: the traveling path of the first ripple reaching a node is the shortest path, which is consistent with natural phenomena. Although this principle makes the RSA a deterministic algorithm, the RSA can also be implemented as an agentbased model whose primary merit is flexibility [40]. All ripples can have their spreading motions and triggering conditions, and their combined behaviors help solve a specific problem. We can modify the triggering condition and termination judgment of the RSA to make it solve the SPP [36], the POP on dynamic networks [37], the k shortest paths problem [38], and the MOPOP [39].
The primary goal of this paper is to provide complete solutions efficiently to MOPOPs with multiple crisp and fuzzy weights. We define the fuzzy MOPOP (FMOPOP), in which each arc has at least one crisp weight and multiple fuzzy weights. Each fuzzy weight can be represented by a triangular fuzzy number (TFN) [41] or a trapezoidal fuzzy number (TrFN) [42]. Moreover, we adopt two methods to rank fuzzy numbers. The first method is based on fuzzy graded mean values [28,30], and the second method is based on the distances between fuzzy numbers [27,29,43]. Motivated by the RSA, we adapt the triggering condition to make it solve the FMOPOP. A ripple triggers another ripple on a water surface when reaching a stone. In the RSA, we define the Pareto optimal ripple (POR), and only PORs can trigger new ripples at nodes. The newly proposed RSA is a deterministic algorithm that ensures optimality. Furthermore, the RSA can determine all Pareto optimal paths from the source node to all other nodes within a single run. Different kinds of fuzzy numbers and ranking methods can be adopted using the RSA while maintaining optimality.
The remainder of this paper is organized as follows. The second section provides preliminaries about the fuzzy set theory, Pareto concepts, and the RSA. The mathematical formulation of the FMOPOP is provided in the third section. In the fourth section, the RSA is adapted to solve the FMOPOP.
Several numerical examples and comparative experiments are presented in the fifth section. Finally, the paper ends up with some conclusions the in the last sections.

Basic definitions
Definition 1 (Fuzzy set) Let X denote a non-empty set, and A denote a subset of X . IfÃ is a fuzzy set, it can be described as: where μÃ : X → [0, 1] is the membership function ofÃ. For ∀x ∈ X , μÃ(x) denotes the membership degree of x iñ A.
We provide Figs. 1 and 2 to illustrate an example of TFN and TrFN and their α-cut. From the two figures, we can quickly determineÃ + α andÃ − α .
Definition 7 (Fuzzy graded mean value) For a TFNÃ = (a 1 , a 2 , a 3 ), its fuzzy graded mean value is defined as: And for a TrFNÃ = (a 1 , a 2 , a 3 , a 4 ), its fuzzy graded mean value is defined as: Definition 8 (Fuzzy distance) We adopt a non-negative function to calculate the distance D p,q (Ã,B) between two fuzzy numbersÃ andB, where p > 1 and 0 < q < 1 [44]: The first parameter p determines the analytical features of D p,q , while the second parameter q describes the subjective weight attributed to the end points of support, i.e., (Ã − α ,Ã + α ) for the fuzzy numberÃ [27]. When q is close to 0, the left side of the support is given more consideration. The value q = 1/2 is adopted in this study as the significance of the end points of the support of fuzzy numbers is assumed to be the same. Moreover, p = 2 is the most frequently used for fuzzy distance [27,29,43].
, when p = 2 and q = 1/2, their distance is calculated as: And for two TrFNsÃ = (a 1 , a 2 , a 3 , , their distance is calculated as:

Ranking methods of fuzzy numbers
How to rank the fuzzy path cost is of great importance in solving the FSPP. A number of studies have investigated how to rank fuzzy numbers [45][46][47]. In this paper, we adopt two methods: Ranking method 1 The fuzzy numbers are ranked according to their fuzzy graded mean values [28,30].

Pareto concepts
Pareto concepts are firstly applied in economic research [48] and become the core concept of the MOOP [15]. For a MOPOP with q objectives, it aims to minimize all of them. Let P 1 and P 2 be two feasible paths, and f (P)(i) denote the i th objective value of path P, i = 1, · · · , q. If P 1 is no worth than P 2 on all objectives and better than P 2 on at least one objective, P 1 Pareto dominates P 2 . We use P 1 ≺ P 2 to Fig. 3 An illustration of two TrFNs denote that P 1 Pareto dominates P 2 , and its mathematical formulation is: "Pareto optimal" means that the progression on one objective must lead to regression on the others. Let a set P contain all possible paths. If a path P * is Pareto optimal, there is no path P that Pareto dominates P * . The mathematical relation is: All Pareto optimal paths construct the Pareto set. The projection of a Pareto optimal path in the objective space is a Pareto point, and all Pareto points form the Pareto front of the MOPOP [7].

Basic ideas behind the RSA
The RSA is proposed by simulating natural ripple patterns on a water surface: all ripples spread out in all directions at the same speed. A ripple triggers another ripple when encountering an obstacle. The basic principle behind this phenomenon is that the first ripple that reaches a node travels along the shortest path [36]. From the perspective of algorithm design, each ripple has basic features: the epicenter, state, and radius. The epicenter is the node where the ripple is generated. Only ripples in the active state spread out. In the RSA, ripples spread out on a network where the distance between two nodes is represented by a crisp number. We present the basic steps of the RSA for the SPP as follows: 1. An active ripple is initialized at the source node. 2. At each time, all active ripples spread out at the same speed. 3. If a ripple reaches an unvisited node first, it triggers another ripple. 4. If an active ripple has visited all nodes connected to its epicenter, it becomes inactive. 5. If a ripple has visited the destination node, the SPP is solved. The traveling path of this ripple is the shortest. Figure 4 provides a toy example of the RSA for the SPP, and only active ripples are plotted. Following the steps mentioned above, ripple R 3 reaches the destination node d first and becomes inactive . Its traveling path s-2-d is the shortest path. We can observe that the whole processes resemble a ripple relay race.
= 0, the first active ripple R 1 is initialized at . = 3, R 3 is the first to visit and becomes inactive. Its traveling path -2-is the shortest path.
= 2, R 1 triggers R 2 at node 1 and R 3 at node 2. R 1 becomes inactive as it visits all nodes connected to .

Mathematical formulation
In this section, we provide the mathematical formulation of the FMOPOP. We consider a directed network G = {V , E}, where V is the node set, and E is the arc set. V = {1, 2, · · · , n n } contains n n different nodes, and E = {(i, j) | i ∈ V , j ∈ V } contains n a different arcs. The arc from node i to node j is denoted as (i, j). Moreover, there are n c crisp weights and n f fuzzy weights associated with each arc, and n w denotes the total number of weights. For arc (i, j), its m th crisp weight is denoted as c m i j , and its n th fuzzy weight isc n i j . A path P sd from the source node s to the destination node d is a sequence of nodes P sd = {s = n 1 , n 2 , · · · , n m−1 , n m = d}, where (n h , n h+1 ) ∈ E holds for ∀h = 1, · · · , m − 1. The mathematical formulation of the FMOPOP is: In model (18), x i j = 1 denotes that arc (i, j) is a part of the path, otherwise x i j = 0. Moreover, we define the objective function of a path P = {n 1 , n 2 , · · · , n m−1 , n m } as: In Eq. (19), f (P, i)( j) denotes the j th objective value of the sub-path of P from node n 1 to node n i . The objective value is stored in a list structure, in which the first n c components denote crisp values, and the last n f components denote fuzzy values. For simplicity, we use f (P) to denote f (P, m) hereafter.

The adapted RSA
This section proposes an adapted RSA for the FMOPOP and conducts theoretical analyses to demonstrate its optimality and efficiency.

Algorithm description
Different from the RSA for the SPP illustrated in Subsection "Basic ideas behind the RSA",we need to adapt the triggering condition and termination judgment for the FMOPOP.
We first introduce a new definition of Pareto optimal ripple (POR): Definition 9 (POR) If a ripple R reaches node n along path P, and the traveling paths of other ripples that reach n before R do not Pareto dominate P, then R is a POR at node n.
The new triggering condition is that if an incoming ripple is a POR at this node, it triggers a new ripple. Moreover, the termination judgment is modified as all ripples are inactive. Other notations used in the RSA are listed in Table 1.
Algorithm 1 is the RSA for the FMOPOP. The flowchart in Fig. 5 uses metaphor-based language to illustrate the processes of the RSA step by step. After executing the RSA, the traveling paths of all PORs at the destination d are exactly all Pareto optimal paths of the FMOPOP. According to Line 3 of Algorithm 1, ripples spread out on the network described by the k th crisp weight. The ripple spreading speed v is chosen as the minimum value of the k th crisp weight, which can increase efficiency while maintaining optimality [39]. The new ripple triggering condition is Line 12, where n / ∈ P(i) is to avoid loops in paths, c k E(i)n ≤ R(i) < c k E(i)n +v denotes that ripple The current ripple number v The ripple spreading speed f (P(n r )) 5: n t = n r 6: while ∃i ∈ [1, · · · , n t ], S(i) = 1 do 7: t = t + 1 8: for i = 1, · · · , n t do 9: if S(i) = 1 then 10: for n ∈ F(E(i)) do 12: if (n / ∈ P(i))∧(c k E(i)n ≤ R(i) < c k E(i)n +v)∧ IsPOR(i) then 13: if n = d then 15: n t = n r 25: end while Step 1: Initialize all variables to record ripples' information. Set time = 0 and a constant ripple spreading speed (line 1-3).
Step 2: Initialize the first active ripple at the source node with radius 0 (line 4).
Step 3.2: Time updates a time unit (line 7).
Step 3.4: If an incoming ripple at node is assessed as a POR, it triggers a ripple at (line 11-13).
Step 4: The traveling paths of all PORs at the destination node are Pareto optimal (line 14-16).

Yes No
Step 3.5: If an active ripple has reached all nodes connected to its epicenter, it becomes inactive (line 19-21).

Fig. 5
The flowchart of the RSA using the metaphor-based language i is an incoming ripple at node n in this period, and IsPOR(i) is to judge whether ripple i is a POR or not. Algorithm 2 provides the pseudo code of determining whether path P 1 Pareto dominates P 2 using ranking method 2, in which f (P) denotes the objective value of P according to (19). Actually, we can adopt any fuzzy number ranking method. As long as the Pareto domination relation between two paths can be determined, the RSA can solve the FMOPOP. Algorithm 2 Determine whether P 1 ≺ P 2 Input: f (P 1 ), f (P 2 ), n c , n w Ouput: True or False 1: num ⇐ 0 2: for i = 1, · · · , n w do 3: if i ≤ n c then 4: if f (P 1 )(i) > f (P 2 )(i) then 5: return False 6:

Theoretical analysis
In this subsection, we prove that the traveling paths of PORs at each node are exactly all Pareto optimal paths to this node. Moreover, the time complexity of the RSA is calculated.

Lemma 1 In the RSA, the i th ripple that reaches a node travels along the i th shortest path.
Lemma 2 A Pareto optimal path P = {s = n 1 , · · · , n m = d} is formed by Pareto optimal sub-paths, i.e., {n 1 , · · · , n i } is Pareto optimal from s to node n i . Lemma 1 states the basic optimization principle of RSAs, which directly comes from the theorems in [38]. And Lemma 2 comes from the theorems in [49]. Readers can get the detailed proof in these two papers.

Lemma 3 The traveling path P of a POR at node n is a Pareto optimal path from the source node s to n.
Proof The proof is divided into two scenarios: (1) According to Definition 9, the traveling paths of all ripples that reach n before the POR do not Pareto dominate P. (2) If a ripple reaches n after the POR along path P 1 . We assume that ripples spread out on the network described by the k th crisp weight. According to Lemma 1, its k th objective value is greater than the k th objective value of P, i.e., f (P 1 )(k) > f (P)(k). According to relation (16), it is impossible that P 1 ≺ P. Therefore, Lemma 3 holds.

Theorem 1
After executing the RSA, the traveling paths of all PORs at a node are all Pareto optimal paths to this node. In other words, we can determine all Pareto optimal paths from the source node s to all other nodes within a single run.
Proof According to Lemma 2, all the sub-paths of a Pareto optimal path are also Pareto optimal. According to Definition 9, the ripple traveling along a Pareto optimal path is assessed as a POR. Step 3.4 in Fig. 5 denotes that if an incoming ripple is a POR, it triggers a new ripple. All Pareto optimal paths are traveled by PORs at this node, i.e., the RSA does not miss any Pareto optimal path. Moreover, Lemma 3 guarantees that the traveling paths of PORs are Pareto optimal. Therefore, Theorem 1 is true.

Theorem 2 The time complexity of the RSA for the FMOPOP is O(n w × n a × n 2 P O R ), where n P O R is the average number of PORs at each node.
Proof In the RSA, only active ripples need computational steps. There are n n nodes and n a arcs on the network, so each node has n a /n n arcs on average. Each active ripple takes average n at time units to travel through the longest arc connected to its epicenter, and then it becomes inactive. During its active state, there are three parts of computational  Fig. 6 The undirected network for Example 1 steps: (1) ripple spreading and comparing its radius with the arc's length; (2) determining the objective value of its traveling path; (3) determining whether it is a POR at its visiting node. The first part executes every time unit, which takes (2 × n at × n a /n n ) steps. The second and third parts only execute when reaching a new node, and there are average n P O R ripples to be compared with on n w objectives. These two parts take ((1 + n P O R ) × n w × n a /n n ) steps. There are (n n × n P O R ) active ripples ever generated, so the whole process of the RSA takes n cs computational steps: In large-scale problems, the number of PORs is much greater than n at and 1. So the time complexity is calculated as O(n w × n a × n 2 P O R ).

Examples and comparative experiments
In this section, we present two numerical examples and some comparative experiments to demonstrate the capability and robustness of the newly proposed RSA.

Numerical examples
Example 1 We first consider an undirected network shown in Fig. 6, consisting of 5 nodes and 8 arcs. A crisp weight and a fuzzy weight described by a TFN are associated with each arc, as shown in Table 2. The crisp weight of an arc represents its length. The source node is node 1, and all other nodes are destination nodes. The aim is to find all Pareto optimal paths from node 1 to destination nodes.
At t = 0, the first active ripple R 1 is initialized at the source node s. The ripple spreading speed v is chosen as min(c 1 i j ) = 32. At t = 1, R 1 spreads out, and its radius becomes 32, as shown in Fig. 7.  At t = 2, R 1 reaches node 3 and triggers a new ripple R 2 (red, radius = 20). R 1 reaches node 2 and triggers a new ripple R 3 (yellow, radius = 2), as shown in Fig. 8.
At t = 3, R 1 reaches node 4 and becomes inactive as it has visited all nodes connected to node 1, and we eliminate it from the network. R 2 reaches node 2, node 4, and node 5 and also becomes inactive. R 1 triggers R 4 (blue, radius = 29) at node 4. R 2 triggers R 5 (green, radius = 20) at node 4 and triggers R 6 at node 5 (black, radius = 0), as shown in Fig. 9. It is worth noticing that R 2 reaches node 2, and R 3 reaches node 3, but they do not trigger any ripple. Take R 2 as an example: when it reaches node 2, its objective value is {77, (9,14,27)}. It is Pareto dominated by the existing POR R 2 at node 3, whose objective value is {62, (3, 10, 20)}. So

Fig. 11
The ripple spreading motion at t = 5 R 2 is not a POR at node 3. According to Step 3.4 in Fig. 5, it does not trigger any ripple. At t = 4, R 3 reaches node 5 and becomes inactive. At node 5, R 3 triggers R 7 (red, radius = 14), and R 4 triggers R 8 (yellow, radius = 7), as shown in Fig. 10.
At t = 6, R 7 , R 8 , and R 9 reach all nodes connected to node 5 and become inactive. Moreover, they are not PORs at   methods 1 and 2 in the second section. After comparison, we observe that all the traveling paths of PORs at each node are exactly all Pareto optimal paths to this node. Moreover, the RSA determines Pareto optimal paths to all other nodes within a single run.

Example 2
The directed network of this example is shown in Fig. 12, consisting of 12 nodes and 23 arcs. Each arc has two crisp weights and two fuzzy weights, as shown in Table 5. Crisp 1 and Crisp 2 denote two crisp weights. Likewise, Fuzzy 1 and Fuzzy 2 denote two fuzzy weights, as shown in Table 5. The source node is node 1, and the destination node is node 12. Table 6 lists all Pareto optimal paths determined by the RSA. Example 2 demonstrates that the RSA also can provide

Comparative experiments
This subsection conducts comparative experiments to evaluate the computational efficiency of the RSA on large-scale networks. To the best of our knowledge, there is no exact algorithm to solve the FMOPOP using various fuzzy number ranking methods. Given the complexity of calculating the distance between two fuzzy numbers, as shown in relation (11), it is difficult to adapt existing MOPOP algorithms to solve the FMOPOP. We choose one of the most classic multi-objective evolutionary algorithms, the NSGA-II, as the benchmark for its outstanding flexibility [18]. Each path is encoded in the same method as [50]. To adapt the NSGA-II, we combine the fast-non-dominated-sort with Algorithm 2, which can determine the Pareto domination relation of two paths. Moreover, the crowding-distance-assignment in the NSGA-II is only conducted on crisp objective values. The parameters of the NSGA-II are set up as follows: the population size is 100, the number of generations is 100, the crossover probability is 0.9, and the mutation probability is 0.15. The test networks are randomly generated and contain at least one Hamiltonian cycle. The source and destination are randomly chosen. Each arc has n c crisp weights uniformly distributed between 1 and 20 and n f fuzzy weights described by TFNs . For each TFN (a 1 , a 1 , a 3 ), a 1 , a 2 , and a 3 are distributed between 1 and 20. To evaluate the efficiency of the RSA under different numbers of nodes and objectives, we set n n in the range of 50 and 500 with the increment of 50 and n c = n f ∈ [1,3,5,10]. For each instance, we set n a = 4 × n n . There are 40 instances in total, and we conducted ten experiments for each instance. The results of the two algorithms are gathered after solving the same problem. Using the fast-non-dominated-sort [18], all non-dominated solutions are true Pareto optimal paths, and the others are false Pareto optimal paths. We record the running time (RT) in seconds, the number of Pareto optimal paths (APN), and the number of true Pareto optimal paths (TPN). Table 7 presents the experimental data, from which one may conclude that: • The RSA has outstanding computational efficiency. The average RTs of the RSA and NSGA-II are 1.67 s and 28.69 s, which implies that the RSA solves the FMOPOP 17.18 times faster than the NSGA-II on average. • Due to the random features of the NSGA-II, its APN is no greater than that of the RSA. Moreover, the TPN of the NSGA-II is lower than the APN. It implies that the NSGA-II may miss some Pareto optimal paths or output some false Pareto optimal paths. On the contrary, the RSA finds all Pareto optimal paths. • With the increment of n n and n c , the percentage of the Pareto optimal paths found by the NSGA-II decreases. The parameters of the NSGA-II should be readjusted according to the problem scale. Otherwise, it may lose computational efficiency or miss Pareto optimal solutions. Under different numbers of weights and nodes, the RSA finds all Pareto optimal paths within a reasonable computation time. What is striking about the RSA is its robustness, as it maintains optimality without readjusting any parameters.
Up to now, the existing studies have not dealt with the oneto-all FMOPOP, which aims to determine all Pareto optimal paths from the source node to all other nodes. We provide a comparative experiment of the one-to-all FMOPOP. We select one node as the source node from a network with 50 nodes and 200 arcs, and the others are destination nodes. Each arc has 10 crisp weights and 10 fuzzy weights. We can solve the one-to-all FMOPOP using the RSA within a single run. However, the NSGA-II needs to run 49 times to find the Pareto optimal paths from the source node to all other nodes. We ran the two algorithms on a one-to-all FMOPOP and recorded the TPN to each destination node. Fig. 13 presents the comparative results, in which the TPN of the RSA is shown in black, and the NSGA-II is in red. From the figure, the RSA finds all Pareto optimal paths to other nodes, while the NSGA-II misses some of them. Moreover, the RT of the RSA is 0.36 s, while the NSGA-II is 1752.11 s. For the FMOPOP with multiple destination nodes, the advantage of the computational efficiency of the RSA is further increased compared to other algorithms.
From two numerical examples and comparative experiments, we can obtain the following observations: • The proposed RSA can find all Pareto optimal paths to all other nodes within a single run. Moreover, the RSA only finds true Pareto optimal paths. • The RSA maintains its optimality when the number of objectives is more than two. • Various fuzzy numbers and ranking methods can be adopted in the RSA on account of its flexibility. • We can use metaphor-based descriptions and figures to explain the detailed processes of the RSA, which is more comprehensible. • The RSA is an efficient and robust algorithm for the FMOPOP. • The main limitation of the RSA is that there must be at least one crisp weight. We need a network described by crisp weights to conduct the ripple relay race.

Conclusion
Networks with crisp and fuzzy weights are of interest within a wide range of scientific and industrial processes. In this paper, we define this optimization problem as the fuzzy multiobjective path optimization problem (FMOPOP). Each arc has multiple crisp weights denoted by positive real numbers and multiple fuzzy weights denoted by triangular fuzzy numbers (TFNs) or trapezoidal fuzzy numbers (TrFNs). We adopt two different methods to rank fuzzy numbers based on their fuzzy graded mean values and distances from the fuzzy minimum number. The main contribution of this paper is to propose an algorithm that can determine all Pareto optimal paths from the source node to all other nodes within a single run. To this end, a nature-inspired algorithm, the ripple-spreading algorithm (RSA), is proposed. The RSA simulates ripple spreading and triggering motions on a water surface. We adapt the triggering condition of new ripples to make the RSA solve the FMOPOP. We prove the optimality of the RSA theoretically and calculate its time complexity.
Two numerical examples of the FMOPOP are provided. In the first example, we illustrate how the RSA solves the FMOPOP step by step using metaphor-based language and figures. The second example demonstrates that the RSA can solve the FMOPOP where the number of weights is more than two. Comparative experiments imply the high computational efficiency and robustness of the RSA for the FMOPOP.
In the future study, we want to extend the RSA to path optimization in vague, intuitionistic, and neutrosophic environments [26]. More ranking methods and interval-valued fuzzy sets could be adopted. Finally, the RSA can combine with some problem-specific operations to solve real-world applications. Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecomm ons.org/licenses/by/4.0/.