Multi-strategy improved salp swarm algorithm and its application in reliability optimization

: To improve the convergence speed and solution precision of the standard Salp Swarm Algorithm (SSA), a hybrid Salp Swarm Algorithm based on Dimension-by-dimension Centroid Opposition-based learning strategy, Random factor and Particle Swarm Optimization’s social learning strategy (DCORSSA-PSO) is proposed. Firstly, a dimension-by-dimension centroid opposition-based learning strategy is added in the food source update stage of SSA to increase the population diversity and reduce the inter-dimensional interference. Secondly, in the followers’ position update equation of SSA, constant 1 is replaced by a random number between 0 and 1 to increase the randomness of the search and the ability to jump out of local optima. Finally, the social learning strategy of PSO is also added to the followers’ position update equation to accelerate the population convergence. The statistical results on ten classical benchmark functions by the Wilcoxon test and Friedman test show that compared with SSA and other well-known optimization algorithms, the proposed DCORSSA-PSO has significantly improved the precision of the solution and the convergence speed, as well as its robustness. The DCORSSA-PSO is applied to system reliability optimization design based on the T-S fault tree. The simulation results show that the failure probability of the designed system under the cost constraint is less than other algorithms, which illustrates that the application of DCORSSA-PSO can effectively improve the design level of reliability optimization.

reliability optimization; T-S fault tree

Introduction
Optimization algorithm refers to the process of finding the best combination for a set of decision variables to solve a specific problem. For the complex optimization problems emerging in various fields such as engineering, economy, and medicine, it is not easy to find the optimal global solution by using traditional methods of mathematical optimization. However, the swarm intelligence optimization algorithm, which simulates the behavior of natural organisms, has successfully solved many complex optimization problems [1][2][3][4]. With the in-depth understanding of biological organisms, researchers have successively developed a series of swarm intelligence optimization algorithms, such as Particle Swarm Optimization (PSO) [5], Ant Colony Optimization (ACO) [6], Artificial Bee Colony (ABC) [7], Firefly Algorithm (FA) [8], Grey Wolf Optimizer (GWO) [9], Seagull Optimization Algorithm (SOA) [10], Slime Mould Algorithm (SMA) [11] and so on.
Mirjalili et al. [12] proposed a Salp Swarm Algorithm (SSA) in 2017, which is a new swarm intelligence optimization algorithm. Its optimization idea came from the population mechanism of the salp swarm chain foraging in the ocean. Once the SSA was proposed, it has attracted the extensive attention of many scholars because of its simple principle and easy implementation. Currently, this algorithm has been widely used in the fields of feature extraction [13,14], image segmentation [15,16], dispatch optimization [17], nodes localization [18], and so on.
The essence of the SSA is a random search optimization algorithm. It has the shortcomings of low accuracy in the later stage of iteration and is easy to get stuck at local optima. As a meta-heuristic algorithm, the searching behavior of SSA is divided into two main phases: exploration and exploitation phases. In exploration phase, it can efficiently discover the search space mostly by randomization, but it may face abrupt changes. In exploitation phase, it converges toward the most promising region. But, SSA often traps into local optima due to its stochastic nature and lack of balancing between exploration and exploitation. Thus, from this point, many studies have been presented to improve the performance of SSA and to overcome these defects.
Some improvement of single strategy has applied to enhance the performance of SSA by scholars. Sayed et al. [19] used a chaotic mapping sequence to take place the random parameter, which significantly improved the convergence rate and resulting precision of SSA. Abbassi et al. [20] proposed an Opposition-based Learning Modified Salp Swarm Algorithm (OLMSSA) for the accurate identification of circuit parameters. Singh et al. [21] updated the position of the salp swarm by sine cosine to enhance the exploration and exploitation capability. Syed et al. [22] proposed a strategy based on the weighted distance position update called the Weighted Salp Swarm Algorithm (WSSA) to enhance the performance and convergence rate of the SSA. Singh et al. [23] proposed a Hybrid SSA-PSO algorithm (HSSAPSO) by adding the speed optimization method of particle swarm optimization algorithm in the position update stage of salp swarm to avoid premature convergence of the optimal solution in the search space.
Moreover, multi-strategy improvement is adopted to enhance the SSA and has achieved good results with the development of research and application of SSA. Zhang et al. [24] used the Gaussian Barebone and stochastic fractal search mechanism to balance the global search ability and local search ability of the basic SSA. Liu et al. [25] proposed a new SSA-based method named MCSSA, in which the structure of SSA is rearranged using a chaos-assisted exploitation strategy and multi-population foundation to enhance its performance. Zhang et al. [26] proposed an ensemble composite mutation strategy to boost the exploitation and exploration trends of SSA, as well as a restart strategy to assist salps in getting away from local optimum. Zhao et al. [27] made an improvement of SSA called AGSSA, in which an adaptive control parameter is introduced into the position update stage of followers to boost the local exploitative ability of the population, and the elite gray wolf domination strategy is introduced in the last stage of the population position update to help the population find the global optimal solution faster. Zhang et al. [28] presented a chaotic SSA with differential evolution (CDESSA), and in the proposed framework, chaotic initialization is utilized to produce a better initial population aim at locating a better global optimal, and the differential evolution is used to build up the search capability of each agent. Xia et al. [29] proposed a QBSSA, in which an adaptive barebones strategy help to reach both accurate convergence speed and high solution quality and a quasioppositional-based learning make the population away from trapping into local optimal and expand the search space. Zhang et al. [30] proposed an enhanced SSA (ESSA), which improves the performance of SSA by embedding strategies such as orthogonal learning, quadratic interpolation, and generalized oppositional learning.

Motivation and innovation
Although the basic SSA enriches some characteristics like fast convergence speed and simple implementation, it may trap at sub-optimal solutions easily in some cases when handling the more complex optimization problems. Some improved algorithms of SSA have been provided by scholars mentioned as above, but each algorithm has its own merits and drawbacks. Hence, there is no guarantee which algorithm is best suited for a specific problem according to the "No free lunch" theorem [31]. In practical applications, there are special requirements on the accuracy or the convergence speed of the algorithm, so it is necessary to adopt more strategies.
In basic SSA, when the whole swarm of salps falls into a sub-optimal solution, the algorithm is trapped at that local solution and eventually stagnate at that suboptimal solution. So, we proposed a strategy of using dimension-by-dimension centroid opposition-based learning to make the slap population get more wide search space. Moreover, a random factor is used to increase the randomness of the population distribution and PSO's social learning strategy is added to speed up convergence.
The main contributions of this paper are as follows: 1) An improved algorithm which combines dimension-by-dimension centroid opposition-based learning, random factor, and PSO's social learning strategy (DCORSSA-PSO) is proposed.
2) The performance of proposed DCORSSA-PSO is verified by comparing it with several wellknown algorithms in benchmark functions.
3) The proposed DCORSSA-PSO is used to the design of system reliability optimization based on T-S fault tree and has achieved good result.
The remainder section of this article is structured as follows. Section 3 introduces the basic principles of SSA. Section 4 introduces the mathematical principles of dimension-by-dimension centroid opposition-based learning, the addition of random factor and PSO' social learning, and proposes DCOSSA, DCORSSA and DCORSSA-PSO. Section 5 contains simulation experiment and result analysis. In Section 6, the efficacy of the proposed DCORSSA-PSO is assessed on engineering design of system reliability optimization. Finally, conclusions and future works are summarized in Section 7.

Basic principles of salp swarm algorithm
The salp swarm algorithm was proposed by Mirjalili et al. in 2017 [12], which is a heuristic swarm intelligent optimization algorithm that simulates the navigating and foraging behavior of salps. The salp chain consists of two types of salps: leader and follower. The leader is the salp at the head of the salp chain, and the other salps are considered followers. To enhance the population diversity of the algorithm and enhance the ability to jump out of the local optima, half the salps are selected as the leaders.
The position update equation of the leader is as follows [32]: where i j x is the position of the ith leader in the jth dimension; Fj is the position of food source in the jth dimension; ubj and lbj indicate the upper and lower bound of the jth dimension, respectively; c2 and c3 are random numbers in the range [0,1], which decide respectively the moving step and the moving direction (positive or negative) of the jth dimension. c1 is the convergence factor, which is used to balance the exploration and exploitation ability of the algorithm in the iterative process. c1 is defined as follows: where t is the current number of iterations and T is the maximum number of iterations. The position update equation of followers is as follows: where i ≥ 2 and i j x is the position of the ith follower in the jth dimension. Eq (3) shows that the ith follower in the jth dimension is updated according to the center of the previous generation of the ith follower and the i-1th follower in the jth dimension.

An improved salp swarm algorithm
Although the SSA is experienced to reach good accuracy compared with recent meta-heuristics, it may still face the shortcomings of getting trapped in local optima and is not suitable for highly complex optimization functions. To extend the search capability of SSA, a new hybrid salp swarm algorithm based on dimension-by-dimension centroid opposition-based learning strategy, random factor, and PSO's social learning strategy (DCORSSA-PSO) is proposed to solve engineering problems.

Opposition-based learning
Opposition-based learning is a novel learning strategy proposed by Tizhoosh in 2005 [33]. The principle is that the current optimal solution and the opposition-based learning solution are searched for simultaneously during the population iteration and the better one in these two solutions is retained to the next generation according to the fitness value. This searching method improves the population diversity and enhances the ability of the algorithm to jump out of the local solutions.
Definition 1: Let x∈R be a real number and x∈ [lb, ub]. The opposite number x  is defined as follows: x lb ub x     (4) Analogously, the opposite number in a multidimensional case is also defined.

Centroid opposition-based learning
When the opposition-based learning method calculates the opposite point, two boundaries (min and max) are taken from two extreme points in the population for every dimension. The remaining points of the population are not considered, so this represents a weakness in terms of convergence speed. A Centroid Opposition-Based Computing (COBC) was proposed by Rahnamayan [34], which takes the entire population to generate the opposite points and hence improves the convergence speed and solution accuracy.
Let (X1, ..., Xn) be n points in D-dimensional search space with each point in that space carrying a unit mass. Then the centroid of the body can be defined as follows: where then we have , 1 where xi, j is the jth dimension of ith point, Mj is the jth dimension centroid of all n points. The opposite-point i X  of the point Xi is calculated as follows: , ,

Dimension-by-dimension centroid opposition-based learning
At present, most algorithms adopt the method of variation for all dimension information of the population and select or eliminate evolution by comparing the fitness values of different individuals as a whole for all dimension, however, it is difficult to ensure that each selected dimensional information of the evolutionary individual is better than that of the eliminated individual. Therefore, there is often inter-dimensional interference in the calculation of the fitness value, which masks the information of evolution dimension and reduces the quality of solution and the convergence speed.
The dimension-by-dimension update evaluation strategy refers to evaluating the fitness value separately for each dimension, which can reduce the inter-dimensional interference between each dimension of the individual and avoid the problem of low variation efficiency. This operation for population individuals can more accurately evaluate the fitness value in each iteration. However, for the high-dimensional test functions, it will greatly increase the time complexity of the algorithm. Through the test, it is found that better results can still be achieved by updating the dimensional information of the optimal individual instead of each individual.

DCOSSA
This paper combines the dimension-by-dimension update strategy with the centroid oppositionbased learning strategy, and proposes a Dimension-by-dimension Centroid Opposition-based learning Salp Swarm Algorithm (DCOSSA). The basic step is: Firstly, calculate the opposite point of the centroid of the current population through Eqs (4)- (8). Then, replace the information at the first dimension of the food source with the first dimension of the opposite point of the center of gravity. If the fitness value of the new food source is better than the fitness value of the original food source, the opposite solution information of the population center of gravity of this dimension is retained, otherwise, the update result of this dimension is discarded. At last, update the next food source information in dimension order until all dimensions are updated.
The pseudo-code of the strategy of dimension-by-dimension centroid opposition-based learning is as follows: Calculate the center position M of the iterative population according to Eq (6) for j = 1: Dim Calculate opposite solution of the food source position j F  according to Eq (8)

DCORSSA
According to the position update Eq (3) of followers in the salp swarm algorithm, the position of follower takes the center of gravity of the corresponding position of the salp in the previous generation and the position adjacent to the previous salp. The head follower uses the information of the leader slap besides its information of previous generation, so the whole population of followers are affected gradually by the leader slap. It can be seen from Eq (1) that the leader's position is updated near the food source. Therefore, when the food source does not fall into the local solutions, this end-to-end search mechanism can enable the followers to fully carry out local exploitation, but the gradual transmission of the global optimal information is not conducive to the rapid convergence of the algorithm. Moreover, when the food source falls into the local solutions, the followers will fall into the dilemma of invalid region search, that is, the lack of population diversity, so the algorithm is easy to fall into the local extremes.
The above searching mechanism is fixed and lack of dynamic adjustment. Therefore, this paper proposes a DCORSSA algorithm on the basis of DCOSSA, that is, a random factor is added to the update equation of its followers to enhance the update randomness, so that population can get more chance to jump out of the local optima.
A random factor c4 between 0 and 1 replaces the constant 1 of Eq (3). So, the new position update equation of followers is as follows:

DCORSSA-PSO
As mentioned above in Section 4.2, the one-by-one transfer mechanism of salp chain makes the convergence speed is slow. So, in this section, we introduce the social learning strategy of PSO on the basis of DCORSSA. The Particle Swarm Optimization (PSO) is a very practical swam optimization algorithm proposed by Kennedy and Eberhart [5]. Particles search for optimization through information sharing mechanism. That is, particles obtain their own historical experience (individual optimal p i ) and group experience (global optimal p g ) through information exchange between individuals to achieve the purpose of optimization. The update formula of velocity and position are as follows: x is the position of the ith particle in the jth dimension, t refers to the iteration number, w is inertia weight that aims at determining the effect of previous velocities on current velocity, c 1 represents the individual learning factor and c 2 represents the social learning factor, r 1 and r 2 are random variables used to increase the randomness of particle flight, whose values are normally distributed in [0, 1], i j p and g j p indicate the elements of individual optimal location and global optimal location in the jth dimension, respectively. Equation (10) includes three parts: the first part is the "inertia" part, which is the motion inertia of particles, reflecting the tendency of particles to maintain their previous velocity; the second part is the "individual learning", which reflects the trend of particles moving to their previous best position in history; the third part is the "social learning", which reflects the trend of particles moving to the best position in the previous history of the population.
Finally, based on DCORSSA, this paper further proposes a DCORSSA-PSO algorithm. That is, the social learning strategy of PSO which is the third part of Eq (10) is introduced to the position update equation of the followers of DCORSSA. On the basis of increasing the random distribution of its own position, the improved algorithm makes full use of the global information and strengthens the tendency of individuals to move to the food source.
The position update equation of followers of proposed DCORSSA-PSO is as follows: where i j x is the position of the ith follower in the jth dimension updated by Eq (9), Fj is the food source position of the jth dimension, c4 is random number between 0 and 1, c5 is the social learning factor, taken c5 = 1.49.
The flow chart of the algorithm DCORSSA-PSO is shown in Figure 1. Initialize the population randomly, calculate the fitness value of each individual, and take the position with the optimal fitness value as the food source position F; for t = 1: T Update the position of leader by Eq (1)  else Update the position of followers by Eqs (9) and (12) end if end for Update the food source position F and its fitness value Calculate the center position M of the iterative population according to Eq (6) for j = 1: Dim Calculate opposite solution of the food source position j F  according to Eq (8)

Computational complexity of DCORSSA-PSO
According to the literature [12], the computational complexity of the SSA algorithm is O(t(d * n + Cof * n)) where t shows the number of iterations, d is the number of variables (dimension), n is the number of solutions, and Cof indicates the cost of the objective function. In the DCORSSA-PSO, the fitness function is recalculated for each dimension of the food source with the dimensionby-dimension centroid opposition-based learning, so the amount of operation of O (Cof * d) is increased; simultaneously, to increase the search vitality of the algorithm and improve the search speed of the algorithm, random factor and PSO's social learning strategy are introduced. Still, the number of code execution is not increased. So the computational complexity of DCORSSA-PSO algorithm is O(t(d * n + Cof * n + Cof*d)). It can be seen that the computational complexity of the DCORSSA-PSO algorithm is higher than that of standard SSA, and it increases with the increase of population dimension.

Testing environment
Test environment: the hard disk running environment is CPUi5-7200U, the memory is 12GB, the software running environment is windows10 system, and the running software is MATLAB 2019b. These parameters of different algorithms are set the same: population sizes N = 30, population dimensions Dim = 30, and the maximum number of iterations T = 500. Respective parameter settings for involved algorithms are shown in Table 1.

Test function
Ten classical benchmark functions, as shown in Table 2, are used to evaluate the performance of DCORSSA-PSO. SSA, PSO, DCOSSA and GWO are the algorithms for comparison. In the ten functions, f1~f4 are unimodal test functions that can test the optimization accuracy of the algorithms, f5~f8 are multimodal test functions that can test the global optimization ability and convergence speed of the algorithms, f9~f10 are ill-conditioned test functions that can test the exploration and exploitation capabilities of the algorithms.  Note: the mark "*" at the top right of the data indicates the best result obtained by all algorithms.

Experimental results and analysis
To objectively test the optimization performance of the algorithm of DCORSSA-PSO, the same initial population is selected for all algorithms, and the average fitness value, optimal fitness value, standard deviation of fitness value, and the average running time of each algorithm for 30 times independently are counted to evaluate the algorithm comprehensively. The comparison results of each algorithm are shown in Table 3.
From the experimental results of 30 independent runs in Table 3, it can be seen that the optimization performance of each algorithm in the standard test functions is different. The optimal value and average value can measure the accuracy of the optimization algorithm. In multimodal functions f5 and f6, DCORSSA-PSO and DCORSSA can search the theory optimal value 0, showing excellent optimization ability. In the test functions f1~f3, f7, the DCORSSA-PSO algorithm is superior to other algorithms in terms of both the average value and the optimal value. In the test functions f8 and f10, DCORSSA-PSO is superior to other algorithms in terms of the average value. In the unimodal test function f1, DCORSSA-PSO is more than 10 orders of magnitude higher than other algorithms in the accuracy of the optimal value. Compared with SSA, the convergence accuracy of DCORSSA and DCORSSA-PSO is also greatly improved, which indicates that adding different optimization strategies is very helpful to improve the optimization of SSA. At the same time, in the ill-conditioned function f9, the optimization accuracy of DCORSSA-PSO reaches 7.12 × 10 -6 ; although its accuracy is improved compared with SSA, it is worse than DCORSSA. In the ill-conditioned function f10, although the DCORSSA-PSO algorithm improves the mean optimization accuracy compared with the SSA algorithm, the optimal value search is still insufficient compared with the SSA algorithm. In unimodal function f4, DCORSSA-PSO inferiors to DCOSSA in terms of average value and optimal value. These cases which DCORSSA-PSO does not get the best performance indicate that the DCORSSA-PSO algorithm is still insufficient in search of some functions.
The standard deviation can measure the optimization stability of the optimization algorithm. Except for f4 and f9, the standard deviation of the DCORSSA-PSO algorithm calculated 30 times independently is always less than that of other algorithms, which shows that the improved DCORSSA-PSO algorithm can ensure the optimization stability of the algorithm when dealing with unimodal, multimodal, even ill-conditioned functions.
In terms of average running time, the SSA algorithm has a shorter running time than PSO algorithm and GWO algorithm, which shows that the improved DCOSSA, DCORSSA and DCORSSA-PSO have inherent advantages in operation speed. The average running time of DCORSSA-PSO algorithm is slightly longer than that of the DCOSSA, which does not cause a significant increase in running time, indicating that the addition of random factor and PSO's social learning strategy have little impact on the time complexity of the algorithm. The average running time of DCORSSA-PSO algorithm and DCORSSA is longer than that of the SSA algorithm, mainly due to the addition of dimension-by-dimension centroid opposition-based learning strategy.
The Wilcoxon signed-rank test [35] with a significance level of 0.05 was used to judge the statistical difference between the improved algorithm DCORSSA-PSO and the comparative algorithms such as SSA. The statistical results are shown in Table 4, in which: "+" indicates that the test result of DCORSSA-PSO is superior to the corresponding comparison algorithm. "=" indicates that the performance of the DCORSSA-PSO test result is similar to the corresponding comparison algorithm, and there is no statistically significant difference. "-" indicates that the DCORSSA-PSO test result is inferior to that of the corresponding comparison algorithm. According to the Wilcoxon signed-rank test results described in Table 4, it can be learned that DCORSSA-PSO wins in 45(= 9 + 9 + 7 + 10 + 10) cases, loses in 2 cases and shows a tie in the other cases in the total 50 (=5*10) cases. In general, the DCORSSA-PSO algorithm is better than other algorithms such as SSA algorithm in most functions, which proves the effectiveness of the proposed improved method.
In addition, in order to further evaluate the statistical comparison of the optimization performance of each algorithm, Friedman test [36] is used to study the difference between each algorithm as is shown in Table 5. The average ranking value (ARV) represents the average ranking value of the Friedman test of an algorithm that runs 30 times of all test functions independently. The smaller the ARV, the higher the optimization performance of the algorithm. r a n k 5 4 2 1 6 3 From Table 5, we can clearly see the statistical results of the Friedman test. The ARV of DCORSSA-PSO integrating the three learning strategies is 1.4300, and the rank is No.1, which indicates that DCORSSA-PSO is significantly better than other comparison algorithms in solving these test functions. In addition, the rank of DCORSSA and DCOSSA combining the other strategies are No.2 and No.4 respectively, indicating that the above-mentioned optimization strategies are of great help in improving the optimization accuracy of the SSA algorithm. Figure 2 shows the average convergence curve of each algorithm in 10 standard test functions. To better observe the optimization effect of the algorithm, the logarithm based on 10 is taken for the optimization fitness values of f1~f10.  dimension-by-dimension centroid opposition-based learning strategy are greatly improved compared with SSA, which shows that the dimension-by-dimension centroid opposition-based learning strategy is of great benefit to improve the population diversity and the ability to jump out of the local solutions. Compared with DCOSSA and the other three algorithms, DCORSSA-PSO which adds a random factor and integrates the social learning strategy of PSO, declines rapidly in the middle of the iteration, and its optimization speed is significantly ahead. Especially in the middle and early iterations of the function, the DCORSSA-PSO algorithm can almost quickly search for the optimal value, and continues to show high search activity in the later iterations. Even in multimodal functions f5 and f6, the curves are interrupted because the DCORSSA-PSO algorithm searches the theoretical optimal value 0 (the independent variable of lg cannot be 0). All the above show that the DCORSSA-PSO algorithm is effective in dealing with unimodal, multimodal, and ill-conditioned test functions, and it has better optimization accuracy and speed, which is very helpful to solve the problems to be optimized in engineering practice.

System reliability optimization model
Nowadays, more and more engineering problems are adopting optimization methods to get optimal performance [37], while system reliability optimization is one of the most useful engineering fields. System reliability optimization refers to finding an optimal design under certain resource constraints to obtain the highest reliability of the system or minimizing the investment while meeting specific reliability index requirements, thus obtaining the maximum economic benefits. At present, practice shows that the optimal redundancy allocation design is one of the most usually used methods to reduce system failure probability and improve system reliability. Redundancy design means that when a part of the system fails, the redundant part is activated through the monitoring and switching mechanism to complete the same function instead of the failed part, to reduce the failure probability of the system.
Many scholars have used intelligent optimization algorithms to solve reliability optimization problems. In literature [38], an enhanced nest cuckoo optimization algorithm was used to study the system reliability redundancy allocation with a cold-standby strategy. Literature [39] carried out reliability optimization of a fuzzy multi-objective system based on genetic algorithm and cluster analysis. Literature [40] proposed a new particle swarm optimization algorithm based on fuzzy adaptive inertia weight to solve the reliability redundancy allocation problem.

T-S fault tree construction
Fault tree analysis is one of the commonly used reliability analysis methods, which is oriented by system failure and unit failure. A fault tree is composed of events and gates. It is named fault tree because its fault logic relationship is graphically represented like a tree with the top event as root, event logic causality represented by the gate as a branch, and bottom event as a leaf. T-S model [41] was proposed by Takagi and Sugeno in 1985. Through if-then rules, a series of local linear subsystems and membership functions were used to accurately describe nonlinear systems. Song et al. [42] constructed T-S gates to describe event relations based on the T-S model, proposing the T-S fault tree analysis method. Yao et al. [43] proposed a new reliability optimization method based on the T-S fault tree and EPSO (Extended PSO).
Hypothetically, a mechanical system consists of two subsystems, each of which can improve the system reliability by adding a redundant design. In this paper, the T-S fault tree analysis method is used to construct the reliability allocation optimization model of the system, and the DCORSSA-PSO algorithm is used to optimize its reliability allocation. The T-S fault tree of the mechanical system is shown in Figure 3. Figure 3. T-S fault tree of a mechanical system.
In Figure 3, x1~x5 are the bottom events, y1~y2 are the intermediate events, and y3 is the top event. G1~G3 are T-S gates. Fuzzy numbers 0, 0.5 and 1 represent the three states of normal, semi failure, and complete failure of each part, respectively. The fault states of each part are independent of each other. According to expert experience and historical data, the rule tables of the T-S gate are defined as shown in Tables 6-8.       Taking Table 6 as an example, each row in rules1~27 represents a G1 gate rule. For example, in rule1, the fault states of bottom events x1, x2, and x3 are 0, 0, and 0 respectively, then the occurrence probability of fault state 0 of y1 is P 1 (y1 = 0) = 1, the occurrence probability of fault state 0.5 of y1 is P 1 (y1 = 0.5) = 0, the occurrence probability of fault state 1 of y1 is P 1 (y1 = 1) = 0. Under the same rule, the sum of the occurrence possibilities of each fault state of the superior event y1 is 1, that is, P 1 (y1 = 0) + P 1 (y1 = 0.5) + P 1 (y1 = 1) = 1.

System reliability optimization model
According to the T-S fault tree and the corresponding rule gate of the system, a system reliability optimization model is constructed with the lowest system fault probability as the objective function and the overall cost of the system as the constraint. Among them, the system cost is the sum of the expenses of each component unit, its connectors, and switching equipment. The unit cost increases nonlinearly with the improvement of its reliability. The objective function and cost constraint expression are as follows: where P(T = Tq) is the fault probability of top event T when its fault state is Tq; P l (T = 0.5) and P l (T = 1) respectively represent the probability when the fault state of top event T is 0.5 and 1 in the rule l; l P 0 is the execution degree of T-S rule; is the failure probability of bottom event xi when its failure state is i a i x ; ni is the redundancy number of the element; μ is the fault-free operation time, taken μ = 1000 h; C0 is the constraint value of system cost, taken C0 = 175. αi and βi can be seen in Table 9.

Fitness function
The penalty function is one of the main constraint optimization methods available at present, whose core idea is to transform the original constrained optimization problem into an unconstrained problem by constructing auxiliary functions. In this paper, the cost constraint in the system reliability optimization model is transformed into an unconstrained optimization problem by introducing a penalty function. That is, a penalty factor is added to the fitness value of the salps that does not satisfy the cost constraints, so that the infeasible solution can be eliminated in the process of evolution. In this paper, the maximum probability value of system fault N (N = 1) is used as the penalty factor, and the failure probability fitness function is constructed as follows:

Results comparison and analysis
The DCORSSA-PSO algorithm is compared with SSA, PSO, and GWO algorithms. Set the maximum number of iterations of the above five algorithms T = 500. And the reliability optimization results of the algorithms are shown in Table 10. According to the optimization results in Table 10, when taking the minimum failure probability of the system as the objective function, the system failure probability optimized by the DCORSSA-PSO algorithm is lower than that of other algorithms including SSA, PSO, GWO, which proves the feasibility and superiority of the improved algorithm. In terms of running time, SSA has the shortest one, while DCORSSA-PSO has the longest one. This indicates that the multi-strategy improvement of DCORSSA-PSO spend more time, but the running time of DCORSSA-PSO is less than one second which can fulfill the needs of practical engineering.
In addition, in order to more intuitively show the reliability optimization process of the four algorithms, the iterative curve is shown in Figure 4. To test the stableness of the DCORSSA-PSO algorithm, let all the algorithms run 30 times at the same initial condition. Table 11 shows the statistical results of failure probability. From Table 11, we can find that in a statistical sense, DCORSSA-PSO compared with SSA, PSO and GWO still get the best result of failure probability including mean value, best value and standard deviation except for running time. The average failure probability obtained by DCORSSA-PSO algorithm relatively reduced by 46.14% compared to SSA, which shows that DCORSSA-PSO greatly improves the optimization performance of SSA by integrating the multi-strategy improvement.
In this paper, a box plot is used to analyze the data distribution of the system failure probability. The box plot consists of five parts: upper limit, upper quartile, median, lower quartile and lower limit. The upper limit is connected to the upper quartile with a dashed line, and same to the lower limit and the lower quartile. The center mark indicates the median. Figure 5 shows the boxplot of different algorithms. In the statistical result of Figure 5, y-axis P means the failure probability, and it can be found that DCORSSA-PSO has the lowest median of P value, which means that the reliability calculated by DCORSSA-PSO is the highest. In addition, the box obtained by DCORSSA-PSO is very compact, that is, the range of the box formed between the upper quartile and the lower quartile is the smallest, indicating that DCORSSA-PSO has less volatility compared to the datasets of other algorithms. Therefore, DCORSSA-PSO outperforms other algorithms. On the other hand, outliers (+) appear in the failure probability optimized by SSA, DCORSSA-PSO and PSO, indicating that further research in performance improvement is needed for DCORSSA-PSO.

Conclusions and future works
This paper proposes a DCORSSA-PSO algorithm that hybridizes dimension-by-dimension centroid opposition-based learning strategy, random factor and PSO's social learning strategy based on standard SSA. The improved algorithm mainly improves the standard SSA algorithm in three parts: a) a dimension-by-dimension centroid opposition-based learning strategy is added to the food source update, which can expand the population search range, strengthen the dimension evolution information, and enhance the ability to jump out of the local solutions; b) random factor is added in the update equation of followers to enhance the diversity of population distribution; c) drawing on the experience of PSO's social learning strategy, in the update equation of followers, the food source is added to directly guide the followers to improve the convergence speed of the algorithm. The comparison results in the synthesis of ten standard test functions and the reliability optimization example show that the DCORSSA-PSO algorithm is superior to other algorithms in optimization, which proves that the above improvement strategy has good feasibility and superiority to improve the optimization performance of the SSA algorithm. As a future plan, the method of increasing the diversity of the population will be introduced into the research of DCORSSA-PSO such as the levy-flight theory, chaos mapping. At the same time, DCORSSA-PSO can be employed to optimize pattern classification, fuzzy control, machine learning, etc.