1 Introduction

Resource allocation is one of the most commonly used methods in system design and exploitation. It allows optimally using available resources and respecting product specifications. Industrial plants consist of many components and their system dependability (RAMS + C: reliability, availability, maintainability, safety, and cost) should be optimized [1,2,3,4,5]. In the last few decades, efforts have been devoted to the question of optimal allocation in system dependability. These efforts may be divided into two categories depending on the nature of the formulated problems: single objective and multi-objective optimization problems. Most solution approaches are based on bio-inspired optimization techniques, also called soft computing methods or artificial intelligence methods, as these methods proved their effectiveness in practice.

In [6], the reliability of parallel–series systems has been optimized by the redundancy allocation with component choices under the constraints of cost and weight. Several authors proposed solution approaches for the optimal system reliability–redundancy allocation subject to cost, volume, and weight [7,8,9,10,11,12,13]. Chen [7] and Hsieh and You [8] developed immune algorithms. Garg et al. [9] and Garg [10] used the artificial bee colony and cuckoo search, respectively. Mellal and Zio implemented a penalty guided stochastic fractal search for 10 case studies in [11], whereas a pharmaceutical plant consisting of 10 subsystems connected in series has been investigated in [12] using the above algorithm, the cuckoo optimization algorithm with penalty function, and the genetic algorithm. A large-scale reliability–redundancy allocation problem has been solved in [13] using the cuckoo optimization algorithm, particle swarm optimization, and the genetic algorithm. The optimization problem of the reliability–redundancy allocation has been simplified in [14] by resorting to the theory of survival signature. On the other hand, Juybari et al. [15] and Mellal and Zio [16] considered the cold-standby strategy for the redundant components. Chebouba et al. [17] considered the reliability and cost as objectives under data uncertainties. In [18,19,20], the goal was to allocate the optimal number of redundant components, failure rates and repair rates in each subsystem for maximizing the system availability under the cost limit and design constraints. The author of [18, 19] used the Tabu-genetic algorithm, whereas in [20] the authors used five optimization techniques: cuckoo optimization algorithm, genetic algorithms, flower pollination algorithm, differential evolution, and particle swarm optimization. The study showed that the cuckoo optimization algorithm provided better results. In [21, 22], the authors considered both the system availability and the cost function described in [18,19,20] as objective functions using the weighted sum methods and the non-dominated sorting genetic algorithm II (NSGA-II), respectively. The bi-criteria problem has been tackled by converting it into a single objective optimization one using two weighted sum methods. The system cost under availability constraint with failure dependencies has been optimized in [4, 23] using an adaptive cuckoo optimization algorithm and the genetic algorithm, respectively. The optimum number of redundant components and repair teams have been allocated in each subsystem for this purpose.

The aim of the present work is to consider the conflicting and nonlinear objectives of availability and cost of parallel–series systems when redundancy, failure rate, and repair rate allocations are considered as design variables. An implementation of a multi-objective optimization algorithm, called multi-objective strawberry algorithm, is presented in order to generate the Pareto front. A fuzzy method is applied to select the best compromise solution for the decision maker. The remainder of the paper is organized as follows: Sect. 2 describes the multi-objective optimization problem. Section 3 presents the principles of the multi-objective strawberry algorithm. Section 4 highlights the method applied for selecting the best compromise solution. A numerical case study with results and discussion are illustrated in Sects. 5 and 6, respectively. Finally, the last section concludes the paper.

2 Problem Description

The design of the parallel–series system shown in Fig. 1 when considering the redundancy, failure rate and repair rate allocations as design variables is given as follows [18,19,20,21]:

  • System cost

    $$C_{\text s} (n,\lambda ,\mu ) = \sum\limits_{i = 1}^{m} {\left[ {\left( {\alpha_{i} \left( {\lambda_{i} } \right)^{{ - \beta_{i} }} + \mu_{i} mc_{i} } \right)\left( {n_{i} + \exp (n_{i} /4)} \right)} \right]}$$
    (1)
  • Asymptotic system availability

    $$A_{\text s} (n,\lambda ,\mu ) = \,\prod\limits_{i = 1}^{m} {\left[ {1 - \left( {1 - \frac{{\mu_{i} }}{{\lambda_{i} + \mu_{i} }}} \right)^{{n_{i} }} } \right]}$$
    (2)
  • System design configuration

    $$\sum\limits_{i = 1}^{m} {p_{i} (n_{i} )^{2} } \le D_{1}$$
    (3)
    $$\sum\limits_{i = 1}^{m} {w_{i} n_{i} \exp(n_{i} /4)} \le D_{2}$$
    (4)
    $$\begin{aligned} & n_{i} \ge 1 \, (n_{i} \in \mathbb{Z}^{ + } ) \hfill \\ & \lambda_{i} \in [\lambda_{i}^{L} ,\lambda_{i}^{U} ] \subset \Re^{ + } ,\mu_{i} \in [\mu_{i}^{L} ,\mu_{i}^{U} ] \subset \Re^{ + } \hfill \\ & A_{\text s} \ge A_{\text s}^{\ast} \hfill \\ &C_{s} \le C_{s}^{\ast} \hfill \\ \end{aligned}$$
    (5)

where Cs(•) is the total system cost, ni is the number of identical redundant components to be used in the ith subsystem, λi is the failure rate of the components in the ith subsystem, μi is the repair rate of the components in the ith subsystem, m is the total number of subsystems in the system. βi and αi are parameters representing the physical features of each component in each subsystem i. pi is the product of weight and volume per component in each subsystem i, and wi is the weight of one component in each subsystem i. D1, D2, \((A_{\text s}^{\ast} \;\text{and}\;C_{\text s}^{\ast}\) are the design limits. λiL, μiL, λiU and μiU are the lower and upper bounds for the failure and repair rates, respectively. It should be noted that the weight constraint given in Eq. (4) is increased by the interconnecting links modeled by exp(ni/4).

Fig. 1
figure 1

Parallel–series system

In [18,19,20], the authors solved the problem by considering the system availability as a single objective problem, whereas in [21] the objectives of system availability and cost have been converted into a single objective by resorting to two weighted sum methods. In the present work, both objectives are considered in a Pareto front. Therefore, the above problem is formulated as follows:

$${\text{Minimize }}C_{\text s} (n,\lambda ,\mu )$$
(6)
$${\text{Maximize }}A_{\text s} (n,\lambda ,\mu )$$
(7)

subject to

$$\text{Equations (3)-(5)}$$

3 Multi-objective Strawberry Algorithm

First introduced by Salhi and Fraga [24], the strawberry algorithm also known as the Plant Propagation Algorithm or PPA is a Nature-Inspired heuristic that emulates the way plants and in particular the strawberry plant propagation. The strawberry plant can propagate through seeds, but as a hybrid, it relies more on runners. A runner is a long branch that grows over ground. When it touches the ground, it produces roots which then give rise to another strawberry plant. Strawberry plants use runners to explore the landscape where they happen to be to find good places to grow and propagate. Typically, a good place is one which is sunny, has enough nutrients and humidity. Note that we are not explicitly concerned with these growth factors. To improve its chances of survival in nature, a strawberry plant implements a very basic strategy which is:

  1. 1.

    In a good spot, send many short runners (exploitation);

  2. 2.

    In a poor spot, send few long runners (exploration).

This strategy which is not unique to the strawberry plant can be implemented for any type of optimization/search problem including those involving two or more objective functions. For min f(x), where f(x) is a vector function, PPA can be described as shown in Algorithm 1 [25].

Algorithm 1

Pseudo-code of the implemented MOPPA [25].

figure c

Only N, the population size has to be set arbitrarily and possibly the number of generations for the stopping criterion. So, PPA only requires two arbitrary parameters. Compare this with the seven parameters that the genetic algorithm implementation requires and the five parameters that the simulated annealing implementation requires [26].

PPA has been shown to be competitive in continuous global optimization [27]. It has also been shown to work well on discrete optimization problems such as the TSP [26]. A variant of PPA which emulates propagation by seeds has been implemented and shown to work also very well on continuous problems [28]. Another variant that combines propagation via runners and seeds has also been introduced in [29, 30].

From its inception, PPA [24] has been considered for multi-objective optimization. Indeed, in [25], a bi-criterion optimization problem arising in chemical engineering has been considered. The two objectives were combined in an additive fashion using a couple of parameters λ1 and λ2 such that λ1 + λ2 = 1. Here, we are concerned with the design of the parallel–series system problem (see Fig. 1). As described in Sect. 2, it involves two objectives namely the cost and the availability. The issue is to optimize with respect to these two conflicting objectives with the aim of providing the system designer with an optimum or near optimum decision. This decision is found in a Pareto Front which is a set of potential solutions. An approach to choosing the best solution from the PF is described below.

4 Best Compromise Solution

Solving multi-objective optimization problems is confronting its main disadvantage which is the Pareto Front (PF). PF is a set of optimal solutions and selecting a single solution is challenging for the decision maker. Several works have been devoted to the development of methods allowing the selection of the best compromise (called also preferred) solutions. An overview of these methods is listed in [31,32,33,34,35,36].

In this paper, the fuzzy set method is used to determine the best compromise solution from the obtained PF. When the multi-objective strawberry algorithm has generated the PF, the following algorithm is implemented [35,36,37,38]:

  • Perform fuzzy-based mechanisms:

    • For system cost (minimizing function),

      $$\mu_{j} = \left\{ \begin{aligned} &1, \, F_{j} \le F_{j}^{\min } \hfill \\ &\frac{{F_{j}^{\max } - F_{j} }}{{F_{j}^{\max } - F_{j}^{\min } }}, \, F_{j}^{\min } < F_{j} < F_{j}^{\max } \, \hfill \\& 0, \, F_{j} \ge F_{j}^{\max } \hfill \\ \end{aligned} \right.$$
      (8)
    • For system availability (maximizing function),

      $$\mu_{j} = \left\{ \begin{aligned} & 0, \, F_{j} \le F_{j}^{\min } \hfill \\ & \frac{{F_{j} - F_{j}^{\min } }}{{F_{j}^{\max } - F_{j}^{\min } }}, \, F_{j}^{\min } < F_{j} < F_{j}^{\max } \, \hfill \\ & 1, \, F_{j} \ge F_{j}^{\max } \hfill \\ \end{aligned} \right.$$
      (9)

      where μj is the membership function, Fj is the jth objective function, and \((F_{j}^{\min } ,F_{j}^{\max } )\) are its minimum and maximum values, respectively.

  • Calculate the normalized membership value:

    $$\mu^{k} = \frac{{\sum\limits_{j = 1}^{2} {\mu_{j}^{k} } }}{{\sum\limits_{l = 1}^{M} {\sum\limits_{j = 1}^{2} {\mu_{j}^{l} } } }}$$
    (10)

    where M is the number of solutions in PF. The solution having the maximum value of μk represents the best compromise solution.

5 Case Study

The parallel–series system (see Fig. 1) studied here contains 10 subsystems. Table 1 reports its data. The limits of the system design are: \(C_{\text s}^{\ast}=250;\;D_1=200;\;D_2=300,\) in arbitrary units, and As = 0.9 [20, 21]. The lower and upper bounds for the design variables are: \(n_i \ge1\;(n_i \in \mathbb{Z}^{+}),\;\lambda_i \in [10^{-7},10^{-3}] \subset \mathbb{R}^{+},\;\text{and}\;\mu_i \in [32 \times 10^{-7},32 \times 10^{-3}] \subset \mathbb{R}^{+}.\)

Table 1 Data of the system

6 Results and Discussion

The multi-objective strawberry algorithm and fuzzy set method have been encoded using MATLAB 2017 and run on a PC (Intel Core I5-7300U vPro 7th Gen, 2.7 GHz, 8 GB of RAM). The optimization algorithm has been run under two values of the number of runners (3 and 4) with the same population size (100) and maximum number of iterations (200). These values are called Conditions 1 and Conditions 2, respectively. The above parameters have been fixed by trial-and-error and based on experience. Ten independent runs have been performed with each value of number of runners in order to select the run with the highest number of non-dominated solutions. From Tables 2 and 3, it can be observed that the maximum number of non-dominated solutions is 91 and has been obtained with four runners. The consumed CPU time was 6.9165 s. Figure 2 shows this Pareto front, whereas the values of the system cost and availability of the 91 solutions are reported in Table 4. The points are relatively extensive on front.

Table 2 Number of non-dominated solutions (Conditions 1)
Table 3 Number of non-dominated solutions (Conditions 2)
Fig. 2
figure 2

Best Pareto front

Table 4 Best Pareto front

The normalized membership value has been calculated for each value of Table 4 and is reported in Table 5. From this table, it can be observed that the maximum value is those of the solutions 42 and 52 (μk = 0.0117856). The related solutions represent the best compromise solutions of the obtained PF. The values of the decision variables of these solutions are given in Table 6. Therefore, this is the best compromise solution for the decision maker, where the system cost and availability are 219.7293 and 0.9459, respectively.

Table 5 Values of the normalized membership
Table 6 Best compromise solution

7 Conclusions

In this work, the multi-objective system availability and cost have been investigated. The problem has been solved by using the multi-objective strawberry algorithm which requires a few parameters. It was the first implementation of this efficient algorithm to solve this kind of problem. A fuzzy method has been used to determine the best compromise solution from the Pareto front for helping the decision maker. A numerical case study consisting of a system with 10 subsystems has been solved in order to highlight the applicability of the proposed solution approach.

In the future, this proposed approach will be hybridized with other methods to provide better performance metrics.