1 Introduction

Bio-inspired computation [1] is a collection for stochastic optimization algorithms inspired by biological phenomenon, such as particle swarm optimization [2, 3], brain storm optimisation [4], ant colony optimization [5, 6], fruit fly optimization algorithm (FOA) [7], elephant herding optimization [8], artificial physics optimization [9], social emotional optimisation algorithm [10], cuckoo search [11,12,13,14], firefly algorithm (FA) [15,16,17,18], and artificial bee colony (ABC) [19,20,21].

Bat algorithm (BA) [22] is a novel population-based stochastic bio-inspired computation inspired by bat behaviors. In the standard BA, bats fly in the search domain to seek food and avoid the emergent dangers from other bats, especially for the largest bat. Since the development of BA, different BA variants have been proposed to improve the performance. Li and Zhou [23] proposed a complex-valued bat algorithm where each bat is coded in complex number. The real and imaginary parts are updated as the same as the standard version. Due to this two-dimensional characteristic, the diversity and performance are both improved significantly. Saha et al. [24] introduced opposition-based learning (OBL) strategy into bat algorithm. The opposite position of each bat is investigated, then, the next population is selected from the current population and their opposite positions under the evaluation process of objective function. Chaos is a character of nonlinear systems and is generated randomly by simple deterministic systems. Currently, chaotic sequences are always applied to evolutionary algorithms to increase the global search capability. Gandomi and Yang [25] implemented several general chaotic sequences in BA, such as frequency, velocity disturbance, loudness and pulse emission rate. Similarly, Jordehi [26] also used chaos to improve the performance of BA.

To improve the local search capability, four differential evolutionary strategies [27, 28]: DE/rand/1/bin, DE/randToBest/1/bin, DE/best/2/bin and DE/best/1/bin were employed to replace the original local search pattern in the standard BA [29]. To enhance the local search region, the historical best position is replaced by one position obtained with optimal forage strategy [30].

Different from the local search strategy, the global search capability is dominated by the velocity update equation, which is divided into two different parts: inertia and avoidance. The inertia is employed to describe the influence of the previous velocity, and the avoidance is used to collide with the largest bat. Generally, the velocity update equation plays an important role in directing the search for each bat. Many improvements aimed to change the current version. Xie et al. [31] used a random part associated with Lévy distribution to replace the avoidance. Khan et al. [32] added a new item associated with personal historical best position in the velocity update equation to improve the convergence speed. Furthermore, Bahmani-Firouzi and Azizipanah-Abarghooee designed four different velocity updating strategies to provide a balance between exploitation and exploration [33]. The swarm historical best position also plays an important role for many algorithms, for example, Xue et al. [34] incorporated this position to improve the performance of articial bee colony algorithm for global optimization. Similarly, Jaddi et al. [35] recognized the personal historical best position and the swarm historical best position as exploitation and exploration, respectively. Then, a different balance strategy was proposed to weight the two positions. Inspired by PSO [36, 37], the inertial weight was introduced into the velocity update equation [38, 39].The inertia influence can be controlled when the bats fall into local minima. With the control theory, the velocity update equation with inertia weight can be viewed as a special case of oscillation element, and one selection strategy is designed [40]. Furthermore, Yilmaz and Kucuksille [41] added a random item with two randomly selected bats to explore more search space.

Different from the inertia weight, some researchers suggest removing the inertia part so that the bats can fly with more selections. To increase the search space, the frequency is replaced by a random number generated with Lévy distribution [42]. Xie et al. [43] also incorporated the Lévy flight in the velocity update equation, but four randomly selected bats were used to guide the search pattern. Zhu et al. [44] replace the swarm historical best position with the mean best position to enhance the convergence speed.

Due to its simple concept, BA has been widely applied to many problems. Networks in real world more or less have overlapping community structure [45], however, Ma et al. [46] found that traditional community detection algorithms assumed that one vertex can only belong to one community. To solve this problem, Hassan et al. [47] designed a discrete bat algorithm to solve it, and experiments on real life networks show the ability of the proposed algorithm. Satellite images are a reliable source for investigating the temporal changes in crop cultivated areas, Senthilnath et al. [48] proposed a novel bat algorithm (BA)-based clustering approach for solving crop type classification problems using a multispectral satellite image. There are still many applications, such as visual tracking [49], distribution feeder reconfiguration [50], and redundancy allocation problem [51], due to the page limitation, please refer to the corresponding references.

Although there are many modifications for velocity update equations, however, there is still some room for it. In this paper, we provide several different velocity update equations to improve the performance.

The rest of this paper is organized as follows: Sect. 2 provides a brief description of the standard BA. Some analyses for the standard BA are illustrated in Sect. 3. Our proposed approach is presented in Sect. 4. Numerical experiments on the CEC2013 benchmark set are conducted in Sect. 5. Finally, some conclusions are given in Sect. 6.

2 Standard bat algorithm

In this paper, we only consider the following problem:

$${\rm min} \;f(\vec {x}),\;[\vec {x}=({x_1},{x_2}, \ldots ,{x_k}, \ldots ,{x_D}) \in E],$$
(1)

where \(E={[{x_{{\rm min} }},{x_{{\rm max} }}]^D} \subseteq {R^D}\) is the domain space, and \({x_{{\rm min} }} \leqslant {x_k} \leqslant {x_{{\rm max} }}(k=1,2, \ldots ,D).\)

Assume that there are N virtual bats, and the ith bat (i = 1,2,…,N) can be represented as

$$<{\overrightarrow x _i}(t),{\overrightarrow v _i}(t),f{r_i}(t),{A_i}(t),{r_i}(t)>,$$
(2)

where \({\overrightarrow x _i}(t)=({x_{i1}}(t),{x_{i2}}(t),...,{x_{ik}}(t),...,{x_{iD}}(t))\) and \({\overrightarrow v _i}(t)=({v_{i1}}(t),{v_{i2}}(t),...,{v_{ik}}(t),...,{v_{iD}}(t))\) are the position and velocity of the ith bat in generation t, respectively, frequency \(f{r_i}(t),\) loudness \({A_i}(t)\) and emission rate \({r_i}(t)\) are three required parameters.

In the next generation, the velocity is updated as follows:

$${v_{ik}}(t+1)={v_{ik}}(t)+({x_{ik}}(t) - {p_k}(t)) \cdot f{r_i}(t),$$
(3)

where \(\overrightarrow p (t)=({p_1}(t),{p_2}(t), \ldots ,{p_k}(t), \ldots ,{p_D}(t))\) is the best position found so far by the entire swarm. Equation (3) can be viewed as a combination of the inertia part \({v_{ik}}(t)\) and the influence of \(\overrightarrow p (t).\) The frequency \(f{r_i}(t)\) is calculated as follows:

$$f{r_i}(t)=f{r_{{\rm min} }}+(f{r_{{\rm max} }} - f{r_{{\rm min} }}) \cdot ran{d_1},$$
(4)

where \(f{r_{{\rm max} }}\) and \(f{r_{{\rm min} }}\) are the maximum and minimum values of frequency, respectively, and \(ran{d_1}\) is a random number uniformly distributed within [0, 1].

To reflect the bat decision, the position is changed with some randomness. Let \(ran{d_2}\) be a random number uniformly distributed within [0, 1], if \(ran{d_2}<{r_i}(t)\) is satisfied, the ith bat will execute the following global search pattern:

$$x_{{ik}}^{'}(t+1)={x_{ik}}(t)+{v_{ik}}(t+1).$$
(5)

Otherwise, the local search pattern is adopted as follows:

$$x_{{ik}}^{'}(t+1)={p_k}(t)+{\varepsilon _{ik}} \cdot \overline {A} (t),$$
(6)

where \({\varepsilon _{ik}}\) is a random number generated by uniform distribution within [–1], \(\overline {A} (t)\) is the average loudness of all bats, and

$$\overline {A} (t)=\frac{{\sum\nolimits_{{i=1}}^{n} {{A_i}(t)} }}{n}.$$
(7)

After the \(\overrightarrow x _{i}^{'}(t+1)=(x_{{i1}}^{'}(t+1),x_{{i2}}^{'}(t+1), \ldots ,x_{{ik}}^{'}(t+1), \ldots ,x_{{iD}}^{'}(t+1))\) is obtained by Eqs. (5) and (6), the new \({\overrightarrow x _i}(t+1)\) is updated as follows:

$${\overrightarrow x _i}(t+1)=\left\{ \begin{gathered} \begin{array}{*{20}{c}} {\overrightarrow x _{i}^{'}(t+1),}&{\operatorname{if} {\kern 1pt} {\kern 1pt} {\kern 1pt} ran{d_3}<{A_i}(t){\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \wedge {\kern 1pt} {\kern 1pt} {\kern 1pt} f(\overrightarrow x _{i}^{'}(t+1))<f({{\overrightarrow x }_i}(t))} \end{array} \hfill \\ \begin{array}{*{20}{c}} {{{\overrightarrow x }_i}(t),}&{{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \operatorname{otherwise} } \end{array} \hfill \\ \end{gathered} \right.,$$
(8)

where \(ran{d_3}\) is a random number generated by uniform distribution within [–1]. Similar with cuckoo search [52, 53], Eq. (8) implies that the position is updated only when the following two conditions are required: (1) a better position is obtained; and (2) the probability \({A_i}(t)\) is satisfied. If the position of the ith bat is updated, the corresponding loudness and emission rate \({r_i}(t+1)\) are replaced as follows:

$${A_i}(t+1)=\alpha {A_i}(t),$$
(9)
$${r_i}(t+1)=r(0) \cdot (1 - {e^{ - \gamma t}}),$$
(10)

where \(\alpha>0\) and \(\gamma>0\) are two predefined parameters, and A(0) and r(0) are two initial values for loudness and emission rate, respectively.

The pseudo code of the standard bat algorithm is listed as follows:

figure a

3 Analysis for the standard bat algorithm

We only consider the global search pattern (Eqs. 3, (5), and will ignore the local search pattern (Eq. 6). From Eq. (8), the new position is updated when two conditions are satisfied (\(ran{d_3}<{A_i}(t)\) and \(f(\overrightarrow x _{i}^{'}(t+1))<f({\overrightarrow x _i}(t))\)). It means that some bats in the swarm are not updated in some generations. However, if the position is not updated, the velocity should be zero because of \({\overrightarrow v _i}(t)={\overrightarrow x _i}(t) - {\overrightarrow x _i}(t - 1)=0.\) Under this circumstance, the corresponding velocity and position update equations should be changed as follows:

$${v_{ik}}(t+1)=({x_{ik}}(t) - {p_k}(t)) \cdot {f_i}(t),$$
(11)
$${x_{ik}}(t+1)={x_{ik}}(t)+{v_{ik}}(t+1).$$
(12)

Based on Eqs. (11) and(12), we can get

$${x_{ik}}(t+1)={x_{ik}}(t)+({x_{ik}}(t) - {p_k}(t)) \cdot {f_i}(t).$$
(13)

To clearly illustrate the characteristics of Eq. (13), Fig. 1 presents the possible search manners. As seen, the search range of Eq. (13) is small. This is not beneficial for global search. To tackle this issue, we propose a triangle-flipping strategy to extend the search range of BA.

Fig. 1
figure 1

Possible search manners of Eq. (13)

4 Bat algorithm with triangle-flipping strategy

To avoid such problem, we can consider the following manner:

$${\overrightarrow x _i}(t+1)={\overrightarrow x _i}(t)+({\overrightarrow x _m}(t) - {\overrightarrow x _u}(t)) \cdot {f_i}(t),$$
(14)

where \({\overrightarrow x _m}(t)\) and \({\overrightarrow x _u}(t)\) are two randomly selected positions. Due to \({\overrightarrow x _i}(t),\) \({\overrightarrow x _m}(t)\) and \({\overrightarrow x _u}(t)\) have different fitness values, there are six different manners presented in Fig. 2.

Fig. 2
figure 2

Six different manners for Eq. (14)

To avoid the confusion, three positions are re-typed as:\({\overrightarrow x _{best}},\) \({\overrightarrow x _{mid}}\) and \({\overrightarrow x _{worst}},\) and it means

$$f({\overrightarrow x _{best}}(t))<f({\overrightarrow x _{mid}}(t))<f({\overrightarrow x _{worst}}(t)).$$
(15)

Figure 2a can be regarded as a heuristic search pattern, the vector \(\overrightarrow {{x_{best}}{x_{worst}}}\) is turned to \(\overrightarrow {{x_{best}}{x_{mid}}} ,\) while the final point from \({\overrightarrow x _{worst}}\) move to \({\overrightarrow x _{mid}},\) this process improves the performance significantly because \(f({\overrightarrow x _{mid}}(t))<f({\overrightarrow x _{worst}}(t)).\) With the same method, we can turn the circle further to next point \(\overrightarrow x ',\) but how to compute this point? For convenience, we assume rational, in other words, the following equation is satisfied:

$$(1 - \lambda ){\overrightarrow x _{mid}}+\lambda {\overrightarrow x _{best}}=(1 - \lambda ){\overrightarrow x _{worst}}+\lambda \overrightarrow x '.$$
(16)

It means

$$\overrightarrow x '={\overrightarrow x _{best}}+\frac{{1 - \lambda }}{\lambda }({\overrightarrow x _{mid}} - {\overrightarrow x _{worst}}).$$
(17)

Suppose \({f_i}(t)=\frac{{1 - \lambda }}{\lambda },\) we have

$$\overrightarrow x '={\overrightarrow x _{best}}+({\overrightarrow x _{mid}} - {\overrightarrow x _{worst}}) \cdot {f_i}(t).$$
(18)

With the same methods, Fig. 2c, e are also illustrated as:

$$\overrightarrow x '={\overrightarrow x _{mid}}+({\overrightarrow x _{best}} - {\overrightarrow x _{worst}}) \cdot {f_i}(t),$$
(19)
$$\overrightarrow x '={\overrightarrow x _{worst}}+({\overrightarrow x _{best}} - {\overrightarrow x _{mid}}) \cdot {f_i}(t).$$
(20)

As a heuristic search pattern, Eqs. (18)–(20) can be viewed as a local search pattern, while the last three figures can be viewed as the global search patterns listed as follow:

$$\overrightarrow x '={\overrightarrow x _{best}}+({\overrightarrow x _{worst}} - {\overrightarrow x _{mid}}) \cdot {f_i}(t),$$
(21)
$$\overrightarrow x '={\overrightarrow x _{mid}}+({\overrightarrow x _{worst}} - {\overrightarrow x _{best}}) \cdot {f_i}(t),$$
(22)
$$\overrightarrow x '={\overrightarrow x _{worst}}+({\overrightarrow x _{mid}} - {\overrightarrow x _{best}}) \cdot {f_i}(t).$$
(23)
  1. 1.

    Directing triangle-flipping strategy

It is obvious that the Eqs. (18)–(20) are meta-heuristic strategies aiming to improve the local search capability. Therefore, we call all of them (please refer to Fig. 2a, c, e) are directing triangle-flipping strategy. With this manner, \({\overrightarrow x _m}(t)\) is better than \({\overrightarrow x _u}(t).\) However, this strategy may mislead a wrong search direction, because we always want to provide a local search.

  1. 2.

    Random triangle-flipping strategy

For Eqs. (21)–(23), they provide an exploration capability. Therefore, to avoid the premature convergence, \({\overrightarrow x _m}(t)\) and \({\overrightarrow x _u}(t)\) are two randomly selected positions, and we call it random triangle-flipping strategy.

  1. 3.

    Hybrid triangle-flipping strategy

Generally, for an evolutionary algorithm, the global search capability and local search capability should be balanced dynamically. In the first period, the algorithm mainly focuses on exploring the potential area with more probability to contain the optimal solutions, while in the late period, the algorithm prefers to improve the solution quality. With this manner, we divide the total search period into two sections:

If \(t<\lambda \cdot L\arg est\_Generation\)

The random triangle-flipping strategy is performed;

Else

One special directing triangle-flipping strategy is performed as follows:

$${\overrightarrow v _i}(t+1)=(\overrightarrow p (t) - {\overrightarrow x _m}(t)) \cdot f{r_i}(t),$$
(24)
$${\overrightarrow x _i}(t+1)={\overrightarrow x _i}(t)+{\overrightarrow v _i}(t+1).$$
(25)

End

where \(\lambda\) is a threshold parameter used to divide the total generation. With this manner, only one random position \({\overrightarrow x _m}(t)\) should be required.

Note 1 In above mentioned three triangle-flipping strategies, all of them will occur in those bats with their positions which are not updated in previous generation. For other bats, their velocities and positions are still updated by Eqs. (3) and (5). Is it possible for all bats to update their velocities and positions with triangle-flipping strategies? In the following experiment, we will consider such cases.

Note 2 Due to the performance of the global historical best position \(\overrightarrow p (t),\) the triangle-flipping manners will provide a global search manner because only Eqs. (18)–(20) are satisfied. Therefore, to provide a large exploration capability, the following manner is considered:

$${x_{gk}}(t+1)={x_{{\rm min} }}+({x_{{\rm max} }} - {x_{{\rm min} }}) \cdot rand,$$
(26)

where \(rand\) is a random number generated by uniform distribution.

figure b

For a given problem f, we assume that O(f) is the computational complexity of its fitness evaluation function. Therefore, the computational complexity of the standard BA is O(G max  × N × f), where G max is the maximum number of generations, and N is the population size. Compared to the standard BA, our approach does not increase extra loop operations. So, both of them have the same computational time complexity.

5 Numerical comparison

The simulation is performed on the CEC2013 benchmark set [54], which contains 28 functions for real-parameter optimization (please refer to Table 1). These functions can be divided into three groups:uni-modal functions (F1–F5), multi-modal functions (F6–F20), and composition functions (F21–F28).

Table 1 Summary of the CEC2013 benchmark set

The simulation experiments is performed in Matlab 2011 environment. The population size, the maximum number of fitness evaluations, and the dimensional size are set to 100, 3.0E+05, 30, respectively. For each test function, each algorithm will run 51 times.

5.1 Determine of threshold parameter

To test the performance of our proposed hybrid triangle-flipping strategy, firstly, we focus on the threshold parameter value of \(\lambda .\) The parameters used in bat algorithm with hybrid triangle-flipping strategy are listed in Table 2.

Table 2 Parameter settings for bat algorithm

To provide a deep insight, the Golden section method is employed. The initial interval is [0.0,1.0], and 13 round experiments are conducted. The rankings achieved by the Friedman test show the corresponding index (the smallest ranking value means the best performance of the corresponding algorithm) [41]. Table 3 presents the ranking values under different values of \(\lambda .\) It can be seen that the final threshold parameter \(\lambda\) is obtained by the 13th round test and the best \(\lambda\) is equal to 0.258.

Table 3 Experimental results for threshold \(\lambda\)with golden section

5.2 Comparison of different triangle-flipping strategies

In this section, we will compare the performance of different triangle-flipping strategies:

  • Bat algorithm with directing triangle-flipping strategy (BA-DTFS);

  • Bat algorithm with directing triangle-flipping strategy for all bats without conditions (see Note 1) (BA-DTFS1);

  • Bat algorithm with random triangle-flipping strategy (BA-RTFS);

  • Bat algorithm with random triangle-flipping strategy for all bats without conditions(BA-RTFS1);

  • Bat algorithm with hybrid triangle-flipping strategy (BA-HTFS);

Table 4 provides the mean error function values achieved by BA-DTFS, BA-DTFS1, BA-RTFS, BA-RTFS1 and BA-HTFS, where w/t/l means that BA-HTFS wins in w functions, ties in t functions, and loses in l functions, compared with its competitors. From the results, BA-HTFS performs better than BA-DTFS and BA-DTFS1 on 26 functions and 27 functions, respectively, while BA-RTFS and BA-RTFS1 outperforms BA-HFTS on 0 function and 8 functions.

Table 4 Comparison results for different triangle-flipping strategies

For uni-modal functions (F1–F5), the hybrid triangle-flipping strategy performs better than the directing triangle-flipping strategy and the random triangle-flipping strategy. Especially for F1 and F4, BA-HTFS achieves much better solutions than other four algorithms. For multi-modal functions (F6–F20), though the hybrid triangle-flipping strategy can help BA find more accurate solutions than the directing triangle-flipping strategy and the random triangle-flipping strategy, these improvements are not obvious on most test cases. For F10 and F16, BA-HTFS can obtain reasonable solutions, while other four algorithms fall into local minima (except for BA-RTFS1 on F16). For composition functions (F21–F28), all BAs hardly search reasonable solutions, but BA-HTFS can find more accurate solutions than other four algorithms.

Table 5 presents the results of Wilcoxon test between BA-HTFS and other four algorithms [55, 56]. The p values for BA-DTFS, BA-DTFS1 and BA-RTFS are less than the significant level 0.05. It means the performance of BA-HTFS is significantly better than BA-DTFS, BA-DTFS1 and BA-RTFS.

Table 5 Wilcoxon Test for different triangle-flipping strategies

Table 6 shows the mean rankings achieved by Friedman test for five algorithms [57]. A smaller ranking value means that the corresponding algorithm is better. From the results, the performances of five BAs are ranked as follows: BA-DTFS, BA-DTFS1, BA-RTFS, BA-RTFS1, and BA-HYFS. The highest ranking demonstrates that BA-HTFS is the best algorithm among five algorithms.

Table 6 Friedman test for different triangle-flipping strategies

5.3 Comparison of BA-HTFS with other bat algorithms

To further verify the performance of BA-HTFS, we compare BA-HTFS with four other algorithms. The involved algorithms are listed as follows.

  • Standard bat algorithm (SBA);

  • Chaotic bat algorithm (CBA) [25];

  • Bat algorithm with lévy distribution (LBA1) [31];

  • Bat algorithm with lévy distribution (LBA2) [42];

  • Bat algorithm with hybrid triangle-flipping strategy (BA-HTFS).

For SBA, CBA, LBA1 and LBA2, we use the same parameter settings as in their corresponding references. Table 7 provides the mean error function values achieved by SBA, CBA, LBA1, LBA2 and BA-HTFS (the dynamic comparison can be viewed in Fig. 3). From the results, BA-HTFS performs better than SBA and CBA on 26 functions and 22 functions, while LBA1 and LBA2 outperforms BA-HTFS on 4 functions and 5 functions, respectively.

Table 7 Comparison results for BA-HTFS and other four bat algorithms
Fig. 3
figure 3figure 3figure 3figure 3figure 3

The convergence curves of different algorithms on the benchmark set

The standard BA can hardly find reasonable solutions on all test functions. For CBA, it only achieves promising solutions on F16. LBA1 and LBA2 obtain good solutions on two functions F1 and F5. BA-HTFS can find reasonable solutions on five functions F1, F4, F5, F10, and F16. For composition functions, all algorithms fall into local minima.

Tables 8 and 9 present the statistical results achieved by Wilcoxon and Friedman tests. From the results, the performance of the five algorithms ranks as follows: SBA, LBA1, CBA, LBA2and BA-HTFS. The highest ranking demonstrates that BA-HTFS is the best algorithm among five algorithms. The p values show that BA-HTFS is significantly better than SBA, CBA, LBA1 and LBA2.

Table 8 Wilcoxon test for five bat algorithms
Table 9 Friedman test for five bat algorithms

6 Conclusions and future work

Swarm intelligence is a phenomenon to describe the emergent behaviors for some species. How to utilize this emergent intelligence is one crucial problem for swarm intelligence. Different from particle swarm optimization and ant colony optimization, BA can be viewed as a new attempt. In BA, the position is updated only when a better position is found. Under this rule, the bats will be suspended when a better position is not found. To tackle this issue, this paper proposes several triangle-flipping strategies to improve the performance of BA. Simulation results show the hybrid triangle-flipping strategy is superior to other algorithms.

Future research topic includes self-adaptive search strategy and other practical applications.

In this paper, bat algorithm with hybrid triangle-flipping strategy achieves the best performance, this phenomenon implies that how to hybrid the different triangle-flipping strategies may influence the performance significantly. According to the No Free Lunch Theorem, the self-adaptive hybrid strategy should be considered to further improve the robustness.

How to apply BA to solve some hot research topics is very important. For example, the Internet of Things is a network in cyber-physical-social space connected with massive number of physical devices, sensors and buildings. There are many optimization problems required to be handled. Wang et al. [58] designed a back propagation neural network model to establish the relationship between solar radiation signal and air temperature error. Zhang et al. [59] proposed optimal cluster-based mechanisms for energy conservation with multiple mobile sinks. For Barrier coverage, relocation of sensors with minimum number of mobile sensors and formation of k-barrier coverage with minimum energy cost were optimized [60]. How to ensure the security of data sharing within a group and how to efficiently share the outsourced data in a group manner are formidable challenges? By taking advantage of the symmetric balanced incomplete block design, Shen et al. [61] presented a novel block design-based key agreement protocol that supports multiple participants. In our future work, how to modify BA to optimize these problems will be considered.