Introduction

In today’s world with rapid technological developments and the increasing complexity of system structure, any failure in any component can lead to malfunction or serious failure to the system. Availability of the system is a suitable scale for measuring the reliability of a repairable system. Repairable system represents a system that can be repaired to operate normally in the event of any failure (Juang et al. 2008). The importance of designing reliable systems, which normally present high availability, is increasing, due to the engineering requirements of products with better quality and a higher safety level (Castro and Cavalca 2003).

Availability is the most important terminology used for evaluation on the effectiveness of any industrial plant, where most of the machines are repairable systems (Murty and Naikan 1995). It is therefore important to keep the equipments/systems always available and to lay emphasis on system availability at the highest order. System availability represents the percentage of time the system is available to users (Yusuf 2014).

A series–parallel system consists of a few subsystems connected in series, whereas each subsystem consists of a few components connected in parallel. A subsystem is failed if all the components in the subsystem are failed. Failure of any subsystem causes the failure of the whole system (Hu et al. 2012). The common structure of a parallel–series system is illustrated in Fig. 1.

Fig. 1
figure 1

The structure of series–parallel system

On the subject of evaluating the availabilities of a system and its components, there are commonly two kinds of procedures. First, the aim of availability modeling is to develop an availability model to appraise system availability. Second, availability allocation, allocates the availability for each component based on the system’s requirements or objectives (Chiang and Chen 2007).

Due to limitation in technology, the second way is better. Redundancy in a system means that the components are structured in parallel. The Redundancy allocation problem (RAP) is the most common method to meet the optimization of reliability and availability subject to the realistic constraints such as cost, weight, volume, etc. (Yahyatabar Arabi et al. 2014). Since the first paper on the redundancy allocation problem in a series–parallel system by (Fyffe et al. 1968) many researchers have tried to develop this knowledge. Two main approaches in the development of the RAP literature could be seen. First, proposing a fresh method to solve the previous optimization models on redundancy allocation problems. Second, develop the new optimization models for redundancy allocation problems (Amiri et al. 2014).

By investigation of literature reveals that many researchers study on the RAP in a series–parallel system for reliability optimization (Khalili-Damghani et al. 2014; Dolatshai-Zand and Khalili-Damghani 2015; Coit and Smith 1996; Wang et al. 2009; Yeh 2014; Hsieh and Yeh 2012; Azizmohammadi et al. 2013). Different heuristic and meta-heuristic methods such as genetic algorithm (GA), simulated annealing (SA), and particle swarm optimization (PSO) were proposed in this area (Khalili-Damghani and Amiri 2012; Chambari et al. 2012; Khalili-Damghani et al. 2013). A few of researchers (Elegbede and Adjallah 2003; Galikowski et al. 1996; Srivasvata and Fahim 1998; Varvarigou and Ahuja 1997) have studied on availability allocation and availability optimization. Busacca et al. (2001) presented Multi-objective optimization to maximize net profit with respect to certain availability. Elegbede and Adjallah (2003) proposed multi-objective availability allocation model and solved through Genetic Algorithm (GA). Chiang and Chen (2007) resolved the availability problem via simulated annealing (SA) based multi-objective genetic algorithm to determine the optimal solution of failure rates, repair rates, and the number of components in each subsystem, according to multi-objectives, such as system availability, system cost and system net profit. Castro and Cavalca (2003) presented an availability optimization problem of an engineering system assembled in a series configuration which has the redundancy of units and teams of maintenance as optimization parameters. They used GA for maximized availability and considered installation and maintenance costs, weight, volume and available maintenance teams as constraints.

Yahyatabar Arabi et al. (2014)modeled availability optimization of series–parallel system using Markovian process by which the number of maintenance resources is located into the objective model under constraints such as cost, weight, and volume. They proposed meta-heuristic SA algorithm to find good results in an efficient time. Tewari et al. (2012) used genetic algorithm for calculation of the steady-state availability and performance optimization for the crystallization unit of a sugar plant. Amiri et al. (2014) investigate a multi-objective optimization model for series–parallel system with repairable components. The suggested optimization model has two objectives: maximizing the system mean time to first failure (MTTFF) and minimizing the total cost of the system. Finally a multi-objective approach of Imperialist Competitive Algorithm (ICA) is proposed to solve the model.

Tsarouhas (2015) developed analytical probability models for an automated serial production, which consists of n-machines in series. Both failure and repair rates are assumed to follow exponential distribution. In this study mathematical models of the production line have been developed using Markov process. Chandna and Ram (2014) applied fuzzy time series to forecast the availability of a standby system incorporating waiting time to repair. Faghih-Roohi et al. (2014) developed a dynamic model for availability assessment of multi-state weighted k-out-of-n systems and optimized by the genetic algorithm. For availability assessment, universal generating function and Markov process are adopted. Aggarwal et al. (2015) applied Markov modeling and reliability analysis for urea synthesis system. Lin and Droguett (2009) paired Multi-objective GA with Monte Carlo simulation to solve a bi-objective optimization of availability and cost in repairable systems.

Jiansheng et al. (2014) considered decision variables as vague factors and developed uncertain multi-objective RAP of repairable systems. They suggested artificial bee colony (ABC) algorithm to search the Pareto efficient set and showed this algorithm outperforms Non-dominated Soring Genetic Algorithm II (NSGA-II) greatly and can solve the multi-objective RAP efficiently. Srinivasa Rao and Naikan (2014) presented a hybrid approach called as Markov system dynamics (MSD) which combined the Markov approach with system dynamics simulation for reliability analysis of repairable systems.

In this paper, the RAP in repairable series–parallel systems is considered, with two objectives (1) maximizing the system asymptotic availability (2) minimizing the total cost. Furthermore, in each subsystem only one component type is allowed to be used. Each choice has different levels of failure rate, repair rate, weight and cost. The decision variables are to select the component choice and the level of redundancy. Since the considered optimization problem was proven NP-hard (Chern 1992) and Heuristic algorithms do not provide an assurance for optimization of the problem (Bashiri and Karimi 2012), therefore, meta-heuristic algorithms used to generate near optimal solutions. In this paper, proposed a Pareto-based meta-heuristic algorithm called NSGA-II to solve the problem.

The remainder of the paper is organized as follows. The mathematical formulation of the problem is introduced in “Problem description” section. The solution algorithm is presented in “Solution method” section. The numerical example is introduced in “Numerical example” section. Finally, conclusion and recommendations for future research are in “Conclusion” section.

Problem description

In this study, the mathematical model of the series–parallel system with k subsystem and repairable components is illustrated. The suggested optimization model has two objectives: maximizing the system availability and minimizing the total cost of the system. The notations and assumptions of the model are presented in the following.

Notation

k :

Total number of subsystems;

m i :

The set of components in the i-th subsystem;

x ij :

Number of type j component in subsystem i;

n i :

Total number of component in subsystem i;

λ ij :

Failure rate of component j in subsystem i;

μ ij :

Repair rate of component j in subsystem i;

c ij :

Cost of component j in subsystem i;

w ij :

Weight of component j in subsystem i;

W :

Total weight of system;

A s :

Availability of system;

C s :

Cost of system.

Assumptions

  • The state of each component at any point of time is one of the “good” or “failed” states.

  • The state of each component is independent of the other components.

  • For each subsystem, there are m i functionally equivalent component choices that can be selected. In each subsystem only one component type is allowed to be used.

  • The system conducts its function perfectly when each subsystem has at least one operable component. Therefore, for each subsystem at least one component should be selected.

  • The failure and repair rate of each alternative component available for each subsystem has exponential distribution with failure rate λ ij and repair rate μ ij.

Mathematical model

$${\text{Maximize}} A_{s} = \mathop \prod \limits_{i = 1}^{k} (1 - (\frac{{\lambda_{i} }}{{\lambda_{i} + \mu_{i} }})^{{n_{i} }} );$$
(1)
$${\text{Minimize}} C_{s} = \mathop \sum \limits_{i = 1}^{k} \mathop \sum \limits_{j = 1}^{{m_{i} }} c_{ij} x_{ij}$$
(2)

Subject to the following constraints:

$$\mathop \sum \limits_{i = 1}^{k} \mathop \sum \limits_{j = 1}^{{m_{i} }} w_{ij} x_{ij} \le W$$
(3)
$$\lambda_{i} = \mathop \sum \limits_{j = 1}^{{m_{i} }} \lambda_{ij} y_{ij} ;$$
(4)
$$\mu_{i} = \mathop \sum \limits_{j = 1}^{{m_{i} }} \mu_{ij} y_{ij} ;$$
(5)
$$\mathop \sum \limits_{j = 1}^{{m_{i} }} y_{ij} = 1 ;$$
(6)
$$0 \le x_{ij} \le My_{ij} ;$$
(7)
$$n_{i} = \mathop \sum \limits_{j = 1}^{{m_{i} }} x_{ij} ;$$
(8)
$$1 \le n_{i} \le n_{\hbox{max} ,i}$$
(9)

The objective functions (1) and (2) maximizes the availability of system and minimizes total cost of system, respectively. The formulation of system availability is presented by Elegbede and Adjallah (2003). Constraint (3) represents the total weight of the system. The Constraints (4)–(7) make it possible to select only one type of components for each subsystem. The constraints (8) and (9) imply minimum and maximum number of components selected for each subsystem.

Solution method

There are two general approaches to multiple-objective optimization. One is to combine the individual objective functions into a single composite function or move all, but one objective to the constraint set. Determination of a single objective is possible with methods such as utility theory, weighted sum method, epsilon constraint, etc., but the problem lies in the proper selection of the weights or utility functions to characterize the decision-maker’s preferences.

In the second approach, a Pareto optimal set is determined. A Pareto optimum set is a set of solutions that are non-dominated with respect to each other. Pareto optimal solution sets are often preferred to single solutions because they can be practical when considering real-life problems since the final solution of the decision-maker is always a trade-off (Konak et al. 2006). Multi-objective evolutionary algorithms (MOEA) are employed to solve the multi-objective problems and generate Pareto frontiers. Among MOEAs, NSGA-II proposed by Deb et al. (2002) is elitist and fast multi-objective genetic algorithm. NSGA-II was one of the best methods because it carried out an elite-preserving strategy and explicit diversity preserving mechanism (Li et al. 2015).

In an evolutionary cycle of the NSGA-II, a mating pool is first created and filled using binary tournament selection. Then, crossover and mutation operators apply to the members of the mating pool. Next, the old set of solutions and newly created solutions are merged to create a larger population. This new population is sorted based on two criteria: (1) rank and (2) crowding distance. Finally, a certain amount of individuals in the sorted population is selected and others are deleted. These steps are repeated until a stopping condition is met. After NSGA-II terminates, non-dominated solutions of the final population are the approximate Pareto frontier of multi-objective optimization problem (Pasandideh et al. 2013). The procedure of evolution cycle in NSGA II is shown in Fig. 2.

Fig. 2
figure 2

An evolution cycle in NSGA II (Galikowski et al. 1996)

Selection algorithm is the most important part of NSGA-II that specifies the direction of search for finding optimal solutions. Those of solutions with better ranking are transferred to the next step. If two solutions are same rank, the solution with the larger crowding distance is selected. Figure 3 illustrates the ranking and crowding distance used in NSGA-II. In the following subsection, the steps of this algorithm are described.

Fig. 3
figure 3

a Non-dominated ranking and b the crowding distance calculation (Kumar et al. 2009)

Solution representation

A series of genes that arrange sequentially is called a chromosome. The number of genes in a chromosome is equal to the number of decision variables. Chromosome description is one of the most significant parts of the algorithm that is taken into account as the code form. In this paper, the solution encoding for this problem is a 2 × s matrix. The elements of the first row illustrate the type of component, selected for the related subsystem. The element in the second row of each subsystem column, verifies the number of selected components for related subsystem. An example of the solution representation is illustrated in Fig. 4.

Fig. 4
figure 4

Structure of the solution representation

Initial population

The generation of an initial population is necessary to start solving the optimization problem with a GA. The size of any population is given and remains the same in each generation. The main difficulty in the initial population is that the individuals may not satisfy all or part of the constraints of the problem (Elegbede and Adjallah 2003). In this paper, initial population size is considered 100. This population size has been used for a lot of researches like safari (2012), zoulfaghari et al. (2014) and Deb et al. (2002). As mentioned safari (2012), in problems with very large solutions paces, the population size must be selected no <100.

Crossover

The crossover operator explores a new solution space and provides the possibility of generating new solutions called offspring through mating pairs of chromosomes (Pasandideh et al. 2015). The most common crossover techniques are: (1) One-point crossover (2) Two-point crossover (3) Uniform crossover. At a single crossover point, two parents selected and all data beyond that point with certain probability are swapped between two parents. The resulting chromosomes are the children. In this paper, one-point crossover is used. Figure 5 depicts the crossover performed in the NSGA- II.

Fig. 5
figure 5

Example of one-point crossover

Mutation

Mutation operator because of its ability to enter new genes into the chromosomes has extraordinary importance. The mutation operator is also used at a certain rate less than the crossover rate. The main purpose of applying the mutation operator is to increase diversity and avoid being trapping into local optimization (Zoulfaghari et al. 2014). Since, in reality, the mutation rarely happened, probability of mutation is considered very low. In this paper, one subsystem is selected. Then, type and number of components in this subsystem are replaced with each other. Figure 6 illustrated the mutation operator that applied in this paper.

Fig. 6
figure 6

Example of mutation

Stopping criteria

The algorithm terminates after certain iterations. Number of iterations in this problem considered 100 iterations.

Numerical example

In this section, to evaluate the performance of the proposed NSGA-II, the example that the data it is presented in (Amiri et al. 2014) has been used. In this paper, a series–parallel system with four parallel subsystems is considered, and each subsystem has three or four repairable components of choice. Failure and repair rates of all components are negative exponential. The maximum total weight of the system is 4500. Table 1 includes details of the problem. The objective is to maximize the system availability and minimize the system cost. The decision variables are to select the component choice and the level of redundancy in each subsystem.

Table 1 Subsystems alternative components

To solve the problem, the proposed NSGA-II was used. The NSGA-II was implemented using MATLAB software and was run on a computer with 2G of RAM. The parameters of NSGA-II approach are shown in Table 2. After solving the problem, like other multi-objective optimization models, the Pareto optimal solutions were obtained. The Pareto optimal solutions contain the solutions that were not dominated by other solutions. Table 3 showed the non-dominated solutions obtained with NSGA-II.

Table 2 The parameters for NSGA II
Table 3 The non-dominated solutions resulted from using the NSGA-II

Although determination of Pareto optimal solutions can be considered as one of strengths of multi-objective optimization algorithms, but the decision maker will be confused in choosing the best solution. There are some methods for determining the best solution in a Pareto set. The most widely used method that described in (Eschenauer et al. 1990) is the L P-norm. This technique minimizes the normalized distance from the Pareto set to an ideal solution (i.e., utopia point) to find the optimal solution according to the following formula (Kasprzak and Lewis 2000):

$${\text{Minimize}}\left( {\mathop \sum \limits_{i = 1}^{m} \left( {\frac{{f_{i} \left( x \right) - f_{i}^{ \hbox{min} } }}{{f_{i}^{ \hbox{max} } - f_{i}^{ \hbox{min} } }}} \right)^{p} } \right)^{{\frac{1}{p}}} , \quad p = 1,2, \ldots ,\infty$$
(10)

where f min i and f max i are the minimum and maximum value for the i-th objective function in the Pareto optimal set. In this formula all objective functions must be minimized.

In this paper, we apply L 2-norm. For using this method, first objective function (maximize system availability) must be transformed to minimization. For this purpose, system unavailability is calculated. The best non-dominated solution is shown at row 10 in Table 3.

Conclusion

In this paper, we have developed a bi-objective model for solving availability allocation problem in series–parallel systems with repairable components. The considered system in this study has components with constant failure and repair rate, therefore considering systems comprising of components without exponential distribution for their repair and failure times could be a good challenge for future studies.

In this study, the designed optimization model is solved by a meta-heuristic algorithm, NSGA-II; the main goal of the paper was to propose an optimization model and a solving algorithm to attain the optimal structure of a repairable series–parallel system. Using other algorithms to solve the proposed optimization model and comparing the results of the solutions resulted in this paper could be the goal for future works.