A branch-and-bound approach for spare unit allocation in a series system

A branch-and-bound approach for spare unit allocation in a series system

European Journal of Operational Research 75 (1994) 217-232 North-Holland 217 Theory and Methodology A branch-and-bound approach for spare unit allo...

974KB Sizes 0 Downloads 26 Views

European Journal of Operational Research 75 (1994) 217-232 North-Holland

217

Theory and Methodology

A branch-and-bound approach for spare unit allocation in a series system * C.S. Sung and H.K. Lee Department of Industrial Engineering, Korea Aduanced Institute of Science and Technology, P.O. Box 150, Cheongryang, Seoul 130-650, Korea Received November 1990; revised May 1992

Abstract: This paper analyzes a spare unit allocation model for the availability of a system (composed of multiple stages in series) under some structural constraints where each stage is allowed to carry many spare units in addition to a single operating unit having exponentially-distributed failure time but generally-distributed repair times, and all the stages are stochastically independent. In the model, the system availability is derived as a 0-1 knapsack program with an infinite number of variables involved, for which an efficient branch-and-bound solution procedure is constructed on the basis of a bounding procedure exploited in a fathoming mechanism. The bounding procedure determines both the lower bound and the upper bound of the number of spare units so as to make the solution search easier. The overall solution procedure is tested for its efficiency with various numerical examples.

Keywords: Series system; Spare unit; Availability; Branch-and bound procedure I. Introduction This paper considers an availability model for a system where m different subsystems (stages) operate in series and n i spare units are allowed to stock (standby) at stage i (i = 1, 2 . . . . . m) so as to increase the system availability by making any operation unit replaced instantaneously with one of the spares immediately after it fails, and where all stages are stochastically independent and every operating unit has exponential failure-time (life) and general repair-time distributions. It is further assumed that each stage is equipped with its own repair facility (not subject to its own serious failure) providing repair service to every failed unit at the stage in the first-come-first-served rule and that any spare unit is not subject to failure while remaining in standby (spare inventory) state. Each repaired unit is put back in standby state. The system is depicted in Fig. 1. In the system, the objective is to determine the optimal number of spare units allocated to each stage under various resource (managerial) constraints such as financial restrictions, volume limits and weight restrictions. The system considered can be realized in an assembly plant (system) where each work stage employs a machine (or tool) subject to work precision adjustment requiring a generally-distributed adjustment time. * This work was supported in part by the Korea Advanced Institute of Science and Technology under Grant Number P08680. Correspondence to: Prof. C.S. Sung, Department of Industrial Engineering, Korea Advanced Institute of Science and Technology, P.O. Box 150, Cheongryang, Seoul 130-650, Korea. 0377-2217/94/$07.00 © 1994 - Elsevier Science B.V. All rights reserved SSDI 0 3 7 7 - 2 2 1 7 ( 9 2 ) 0 0 0 7 1 - 9

218

C.S. Sung, H.K. Lee / Spare unit allocation in a series system

~Bm [] []

O

[]

[]

0

[]

Operation Stages in Series Stage 1 I I I

Repair Facilities

Stage 2 I I I I I

I--m-I_ _

Stage m I I I

4,

I--m--I_ _

Figure 1. A system configuration. [] Units in standby or in operation. • Failed units waiting for repair service or u n d e r the service

The plant may be economical to carry some spare units at each stage for the whole system performance improvement by incorporating a spare replacing mechanism during such precision adjustment work. Lie et al. [9] have computed the availabilities of single-stage maintenance systems. Cohen et al. [2] have investigated a single-stage resource availability problem for the stocking of spare units. Several other authors [7,14,16] have analyzed availability problems for various system structures such as series and k-out-of-n systems where each stage component has exponentially-distributed life time and repair time and, in addition, time of re-installing after repair. In order to solve these multi-stage system problems, they have applied conventional non-linear programming techniques including the Lawler-Bell algorithm and the sequential unconstrained minimization technique (SUMT). Kumagai [8] has discussed a single-stage n-spares system with exponential life times and general repair times, for which an asymptotic expression of the stationary availability was derived in the semi-Markov process approach. Srinivasan and Gopalan [15] have computed the availability of a 1-spare system with general life time and general repair time. Some other authors have considered a problem of determining the optimal number of parallel redundant units to improve system reliabilities (see [18,19]). This reference review provides us with the motive for considering a series spare stocking model with general repair-time distribution allowed and exploiting an efficient search procedure for the optimal solution. For such a series system, even the availability function has not been explicitly derived yet. The model considered assumes further that the life time (time to failure) distribution of the operating unit at stage i (i = 1, 2 , . . . , m) is exponential with failure rate ,ti, and that each failed unit has a general repair-time distribution with nondecreasing repair rate such that the time to repair completion (the residual repair time) of a unit currently being under repair process does not increase as the elapsed time from the beginning of repair work increases. Under these assumptions, this paper wants to derive the steady state availability of the given series system in the approach of analyzing all the stages individually, and using the M / G / 1 / K queue model. In the approach, the given problem is formulated as a nonlinear integer programming (NLIP) where the system availability is the objective measure to be maximized at the optimal number of spare units allocated to each stage under various resource constraints. For the maximization problem analysis, the integer programming problem is transformed into a 0-1 knapsack program with an infinite number of variables involved, for which the optimal solution properties of the availability measure are characterized to exploit an efficient branch-and-bound solution algorithm. The algorithm is tested for its efficiency with various numerical examples.

C.S. Sung, H.K. Lee / Spare unit allocation in a series system

219

2. Problem analysis Denote by A s ( N ) and Ai(n i) the system availability and the availability of stage i where N represents the solution set defined as U = {(n 1, n 2 . . . . . nm) lall n i are non-negative integers}. Since stages are stochastically independent, the series system availability can then be expressed as in the following optimization problem: (Pl) m

max

As(N ) = l-[Ai(ni) i=1

~ g i j ( n i )
s.t.

j=l,2,...,h,

i--1

n i>_0 and integers,

i=l,2,...,m,

where h different resource constraints are incorporated and gij(ni) represents the j-th resource requirement function at stage i (i = 1, 2 , . . . , m; j = 1, 2 . . . . . h) and d i denotes the available amount of the j-th resource. In order to specify the objective function of problem (P1), the steady state availability of each stage needs to be derived first. Consider an arbitrary stage i with n i spare units. For convenience, unless specified otherwise, let

S(t)=Si(t),

A=Ai,

~=1-£i,

P=Pi,

T=Ti,

n = n 1, / = 1 , 2 . . . . . m ,

where, at stage i, T~ and Ai denote the repair time for each failed unit and the failure rate, respectively, and Si(t) Pr{T/< t} with its derivative si(t) = ( d S i ( t ) / d t ) , / z i = 1/E[T/], and Pi = Ai/lxi. Since inter-failure (life) times of the operating unit at each stage are exponentially distributed, arrivals of the failure units at repair facility occur in a Poisson process with p a r a m e t e r A. Moreover, the repair time of each failed unit is assumed to have a general distribution S(t). Therefore, at each stage the associated failures and repair processes are jointly represented by an M / G / 1 queue process where the failure units and the repair facility are considered as customers and a server, respectively. If there are n + 1 failed units in the queue system (one unit under repair process and all the others in waiting state), no additional arrival at the queue system can occur until the current repair work on the earliest-arrived unit is completed. In other words, if a unit fails, the corresponding stage queue is blocked, and there are no working spares, then the stage stops and hence the overall series system stops. Therefore, the M / G / 1 / n queue model with n waiting spaces can be applied for the given problem analysis. Let r k be the probability that k failed units remain in repair state (i.e., in the queue system), and qk be the probability that a just-arriving unit finds k failed units (including itself) in repair state. Then the stage availability can be defined as =

A ( n ) = Pr[the stage is operative at any time] = 1 - Pr[all the n + 1 units are in repair state] = 1 - r n + 1. According to Wolff [21], it holds that qk = rk for every k (k = 1. . . . , n + 1) under such a Poisson arriving process of failures, and hence A(n) = 1 - qn+l. By the way, when all of the n + 1 units are failed and remain simultaneously in repair state, no additional failure (arrival) can occur until the current repair work on a unit is finished, which represents a random period of discontinuing the Poisson arrival process. This situation has to be taken into account by considering the average arrival rate measured over the combined actual and discontinuing period of the Poisson arrival process. The average arrival rate is called the 'effective arrival rate', measured as A(1 - q n + 1) representing rather the Poisson arrival rate A spread over the combined period. Similarly, the 'effective departure rate' from the queue system (repair facility) can be expressed as /x(1 - r0). These effective rates are then used to determine qn + 1 in

220

C.S. Sung, H.K. Lee / Spare unit allocation in a series system

view of the property (see [6]) that the queue system can reach the steady state as the effective arrival rate gets balanced at the effective departure rate; that is, A(1 - q n + l ) = / z ( 1 - r 0 ) . Moreover, it follows that r o = 1 / ( A b ( n ) + 1), and so the availability function is derived as

A(n)

Izb(n)

(1)

Ab(n) + 1

where b(n) represents the mean busy period length of the queue system M / G / 1 / n . Now, let pj = Pr[j Poisson arrivals occur during a single repair period T] t-~ (At)J =Jo ~ e-at d S ( t ) . Then, b(n) can be figured out by the following recursive equation (see [3,13]): (

1 -

n=l,

P0 "/-~ b(n-1)-

~pn_jb(j) j=l

n=2,3 ....

This implies that each availability function can be figured out only in recursive functions. Hence, the whole system availability cannot be described in an explicit expression, so that a direct approach for the solution characterization may not be feasible. For example, Thakur [17] has studied a solution procedure for general convex separable programs but only in an approximation approach. Therefore, we will newly try to solve our problem by deriving an equivalent expression. Namely, the equivalent transformation approach of the availability function into a 0-1 knapsack program will be considered here. Before doing this, the concavity property of A ( n ) shall be analyzed first. The repair time is characterized as having "nondecreasing repair rate (NDRR)' distribution if and only if s ( t ) / { 1 - S(t)} (defined as repair rate) is a nondecreasing function in t. The N D R R property is commonly adapted in most service time distributions because of the property that the longer served, the sooner completed. Moreover, the repair time is assumed to be stochastically smaller than the inter-arrival time, that is, Pr[repair time < inter-failure time] >_ Pr[repair time > inter-failure time]. This implies that P0 > ½, by recalling that P0 = Pr[repair time < inter-failure time]. This is similar to the common assumption that P < 1 in most queueing systems for the situations where the repair time is less than the inter-arrival time in sense of the mean value. Under those assumptions, it can be shown that b(n) is an increasing concave function, and so the following important property is easily derived. 1

T h e o r e m 1. A ( n ) is an increasing concave function in n if p o > -~ and the repair time distribution satisfies

the N D R R property.

3. S o l u t i o n procedure

In this section, the equivalent transformation of problem (P1) into a 0-1 knapsack problem and its solution search procedure will be studied. In problem (P1), a feasible solution represents an element of the set of the numbers of spare units N = {(n 1, n 2. . . . . nm) l all n i are non-negative integers} satisfying all the constraints for which each

C.S. Sung, H.K. Lee / Spare unit allocation in a series system

221

resource requirement function gij(ni) is assumed to be an increasing convex function so as to incorporate a real situation of charging the same cost for each spare unit addition (or increasingly-rated cost due to budget restriction, system weight balance, etc.). As commented earlier, it is, however, not possible yet to characterize the optimal solution, since the objective function of (P1) is given in recursive functionals for which an immediate solution description is not possible. By the way, by taking the logarithm, the objective function can be expressed as the sum of m single-integer-variable functions, so that it can be replaced with a piecewise linear function connecting break points at all stage-corresponding ni-values. This is because such break points represent the solution domain of the given problem with concave objective function A(n). Similarly, the convex constraints g~j(n i) are all replaced with piecewise linear functions. Therefore, the optimal solution shall be characterized with respect to such a piecewise linearization. The given non-linear integer programming problem (P1) is now transformed into the following 0-1 knapsack problem (P2): (P2) m

max

Z = ~, ~ CikXik i=1 k=l

s.t.

~


j=l,2,

..

.,h,

i=1 k=l

xik=0orl,

i - - 1 , 2 . . . . . m,

k=l,2

.....

where Cik = l o g ( A i ( k ) ) - l o g ( A i ( k - 1)), a]k = g i j ( k ) - g i j ( k - 1), bj = d j - E~'=lgi~(0). It is easily seen that cij > ci.k+ 1 and aik < ai,k+ ~ 1, for all i, j and k, since Ai(k) is a concave function (from T h e o r e m 1) and gij(k) (for each j ) is a convex function in k. Hence, in the optimal solution of (P2), if Xik = 1, then it must hold that xil = ... =xi,k_ 1 = 1. In other words, the relations of x~.k_ ~ >xik (for all i,k) are satisfied at the optimal solution of (P2). Therefore, the optimal solution of (P2) corresponds to that of (P1) even fi the constraints xi, k_ 1 ~-- Xik for all i,k) are not explicitly incorporated. Furthermore, it is obvious that the optimal solution of (P1) can be calculated from the optimal solution of (P2) as follows:

N* = {n* In* = a i, i = 1 . . . . . m},

(3)

where a~ = the largest index of k such that Xik = 1 for stage i. It is not possible yet to solve (P2) immediately, because infinitely many variables are involved in problem (P2). Therefore, a bounding procedure for finding a finite number of meaningful variables is exploited here so as to adapt even ordinary integer programming algorithms for the programming solution. The procedure is composed of two steps, say 'Initial step' and 'bounding step'. The initial step is designed to find a good initial solution so as to improve the efficiency of eliminating meaningless variables. The schematic idea for the procedure can be described as "Any feasible solution worse than a feasible solution obtained in the initial step should be eliminated from further consideration, by which the larger portion of useless feasible solutions can be cut off as a better solution is found in the initial step". The bounding step is designed to determine the lower and upper bounds on each integer variable n i so that the optimal value n* should be contained within the range between the bounds. This makes possible a further reduction on the number of 0-1 integer variables involved, because only the xih-variables with a finite number of k-indices specified within the bound range should be considered for the optimal values the xik*' s. No reference work has been reported on such decision variable bounds but Fischetti and Toth [4] have proposed a bounding procedure only for lower bounds on the objective function values of combinatorial minimization problems.

3.1. Initial step In order to search for a good feasible solution, the next heuristic algorithm is proposed with reference to Aggarwal et al. [1], which is a variation of the well known 'greedy algorithm' (Cohen et al. [2]). For the

C.S. Sung, H.K. Lee / Spare unit allocation in a series system

222

algorithm, define the following:

Fi(ni) = { A A J A C i } ,

i = 1, 2 .... , m , h

A A i = log(Ai(n i + 1)) - l o g ( A i ( n i ) ) ,

A C i = H { g i j ( n i "[- 1) j~l

-gij(ni)}.

Initial step (algorithm 1)

Step 1. N = (nl, n 2. . . . . n m) = (0, 0,... ,0). Step 2. Calculate Fi(n i) for all i, and then select the stage having the largest Fi(ni). If the i-th stage is selected, then n i ~- n i + 1. Step 3. Check to see if the constraints are violated, that is, if ~ira=lgiy(ni ) > dr, for any j. (a) If all constraints are satisfied, then go to Step 2. (b) Otherwise, n i ~ n i - 1 and exclude the selected stage from further consideration. When all stages are excluded from further consideration, the current solution N is defined as the initial feasible solution N. The above algorithm can be described as designed to improve the initial feasible solution search efficiency on the basis of marginal contribution maximization such that the addition of a spare unit at the associated stage is determined to give the greatest ratio of 'increment in the stage availability' to 'product measure of the associated incremental resource usage'. Moreover, the algorithm can be terminated in a finite number of steps since gij(ni) are increasing convex functions and d r are finite values for all j.

3.2. Bounding step Let /~ and X be a feasible solution and the associated objective function value generated from the Initial step, respectively. Then, since the optimal system availability A s ( N * ) should be equal to or greater than X and the system availability is represented by the product measure of all the stage availabilities, the following relation should be satisfied, for stage q:

As(N* ) A q ( n * ) > l-[j.qA/(ny)

X > I-Ij.qAj(ny)

(4)

where ny is an upper bound of nj and so n* should be less than or equal to n~. Therefore, the lower bound, nla of nq can be determined as nq' -- min

(

-)

A

nq I Aq(nq) > l-I~.qA/(n~)

.

(5)

Equation (5) shows that the lower bound n o1 is dependent on the values of both n)~ (j ~ q) and ~ but it does not decrease as X increases. Therefore, an efficient way of determining such upper bounds can be found by use of the relations

log{Ai(nli + 1 ) } - log{Ai(nl) } K j = miax gij(nli + 1 ) - g q ( n ~ ) and

Rq/=K/d/-

Y'~ { K j g i i ( n l i ) - l o g ( A i ( n ~ ) ) } - l o g

A,

i~q

where K/ may be interpreted as maximum marginal contribution to availability from unit addition of resource j and Rq/ is just an artificial value associated with X and n i (i ~ q). Now, let

n q' = max{nq [ n q >_no,l" Kjgqi( n a) _ log( Aq( n q) ) <_Rqj ,

W}"

(6)

C.S. Sung, H . ~

L e e / S p a r e u n i t a l l o c a t i o n in a series s y s t e m

223

Theorem 2. Under the assumptions given in Theorem 1, the set {n q [ n q > n'q} can be eliminated f r o m further ! consideration, where n q, determined in (6), is a finite number. Due to the feasibility condition, any number contained in the set {nq]gqj(nq)> d2 should be eliminated. Thus, the upper bound of nq c a n be determined as

--

~i~ugij(

n 1i)}

i ~eq

These lower and upper bounds are further characterized in T h e o r e m 3, which gives the basic idea for Algorithm 2 and the branch-and-bound procedure presented in the next section.

Theorem 3. (a) The value Of nqi defined in (5) does not decrease as the values o f n ~ (i -~ q) decrease. (b) The value o f nq defined in (7) does not increase as the values o f nli (i v~ q) increase.

It is further noticed that, as X i n c r e a s e s , n~ does not increase since Rqj decreases. the above discussions on the lower and upper bound values of nq c a n now be summarized as giving the basis for finding the optimal value nq* such that (a)

_1 < . ~ , < . u _ rtq _ rtq,

rtq

(b) each nq-value can be determined at specific n~'-values (i ~ q) given, (c) each nq-value can be determined at specific nli-values (i # q) given, and (d) the larger lower bounds lead to the smaller upper bounds, and vice versa. Based on these relations between the lower and upper bounds, an efficient search procedure for the bounds, n i and n ui (i = 1, 2, . . . , m), is proposed.

Bounding step (Algorithm 2) Step 1. Set k = 1, Ai(nUo) = 1 (i.e., nU0 = ~), where the index k represents iteration number. And A is given by Algorithm 1. Step 2. Calculate the nli~-values (i = 1 . . . . . m) by substituting nuk_l for n~ ( j ~ i) in (5). Step 3. Calculate the n/~-values (i 1,.. , m) by substituting n~.k for n~ ( j 4: i) in (7). If ni~ = niU~_, for all i, then go to Step 4; otherwise, set k = k + 1, and then go to Step 2. 1 n~ = nik, u and then terminate the procedure. Step 4. Set n i1 = nik,

It can now be shown that the lower (upper) bounds determined from Algorithm 2 cannot be greater (lower) than the initial feasible solution N found from Algorithm 1.

Theorem 4. The initial solution N satisfies the relations nql _
q = 1, 2, . . . , m .

Corollary 5. In Algorithm 2, it holds that n qll

-
...

< n qik -<- f i q <

n quk -<-

. . . <_n qu2 <_n q~l

foreveryq,

q=l,2,.

''

,m.

The result of Corollary 5 implies that the bound values, nq1 and nq, can be obtained by Algorithm 2 in a finite number of steps. Applying these bound values, problem (P2) can be reformulated as follows: (P3) m

max

Z=

~

]~

ci~xi~

i=1 k=n~+l

n? s . t . ~ Y ' ~ a i Jk X i k< -b- : - ~- n i=1 k=n~+ 1

x~k = 0 or 1

'i ) '

gij(

j=l,2,

•. .,s,

i=1

for i = 1, 2,

..

.,m

,

k

-- -- h i +1

l,...,ni.

u

224

C.S. Sung, H.K. Lee / Spare unit allocation in a series system

I I I

I I I

,

I

II

II F i g u r e 2. A s o l u t i o n t r e e

3.3. Branch-and-bound procedure This section gives a branch-and-bound procedure which solves the NLIP problem (P3) very efficiently. The branch-and-bound procedure is based on the results of Algorithms 1 and 2. Figure 2 depicts a solution tree of which each level represents the stages sequenced in smaller-gap-first order such that u _nl(i) represents the gap between the lower and n(u 1 ) - - nll)_< n ( u 2 ) - - n (~ 2 ) -<- . . . < n ( u m) -- n(n m ) , where n(i) upper bounds at stage i. A set of node indices on a path from top level node S O to one of bottom level nodes corresponds to a solution candidate to be examined in the procedure, and there are FIi~=~(n'~ - n i1 + 1) paths in the tree. Martello and Toth [11] have suggested a branch-and-bound algorithm for a problem only with single constraint, even without characterizing any solution bound property. Let or be a partial stage sequence in gap order and P be its complementary sequence, say ~r= {(1) . . . . . ( i - 1)} and ~ = {(i) . . . . ,(m)}, and N(~i-l) denotes a partial solution corresponding to the partial sequence ~r, say, {n(~). . . . ,n(~_l~}. Let n* and a* be the current best feasible solution and the associated objective function value, respectively, which should be replaced immediately after a better solution is obtained. Moreover, let l(~) and u(~) denote the newly calculated bounds from (5) and (7), respectively, with replacing A by a* and both nli ) and ntU~) by n(~) for k ~ r , where the n(k)'s are specified values in N~ °, but the values of nl(j) and n(~) for j ~ ~ are not changed. Then it can be seen from Theorem 3 that l(i ) >~n~(i~ and u(i ) _ u(o should be eliminated from further consideration. Based on these properties, the following 'Branching' and 'Fathoming' strategies can be derived for the branch-and-bound procedure.

Branching strategy. Consider a current partial stage sequence cr = {(1), (2) ..... , (i - 1)} and its complementary 6 = {(i) . . . . , (m)}. Branch a stage with the smallest gap in Y (that is, stage (i)) into n(]) - n~(i) + 1 1 u nodes, say n(i), nn~i)+ 1 , . . . , n(i), and select a node with the largest nci ) (not fathomed). Then the stage is included in ~r, and the selected node n(ii) is put in N~(i), that is, cr ~ o" U (i) and N (i) 4-- N J - 1) to n(i ). Fathoming strategy. Given that a stage, say stage i, is branched into several nodes in the above partitioning (branching) step, every branched node satisfying at least one of the following conditions needs to be fathomed:

225

C.S. Sung, H.K. Lee / Spare unit allocation in a series system

(a) A node indexed with n(i ) such that n(g) ~ {x ] x < l(m or x >//(g)}. (b) A node which has not been itself fathomed yet but all its immediately-following subsequent nodes are fathomed. If a node indexed with n(i ~ is fathomed, then its associated whole partial solution N~ i- u U n~i) must be excluded from further consideration. Backtracking strategy. If a node indexed with n(g) is fathomed by the fathoming condition (b), then the node with n ( i ) in N~ i) is replaced with its neighbor node at the same level (closest neighbor first) from which the branching process continues again. If all the neighbor nodes at the same level (stage (i)) are already fathomed, then the branching process moves to start at the upper level (stage ( i - 1)) in the same fashion, while stage (i) must be excluded from ~r but included in ~ so that the upper level node (indexed with n(g_ i)) associated with the fathomed stage (i) must be fathomed by condition (b), and hence the node indexed with n(i_t) is replaced with its closest neighbor node in N~ i- 1). Once the branching process reaches the bottom level through a feasible solution path and finds some bottom nodes which are not fathomed by condition (a), the node with the largest node index is selected from among the bottom nodes and included in N~m) to form a new current best solution if A s ( N ( m ) ) > a*; otherwise, all the bottom nodes need to be excluded without making any current best solution updating. This backtracking process continues until all the branched nodes are examined for the best solution (which is in fact optimal). These strategies are now put together to formulate the overall branch-and-bound procedure.

Branch-and-bound procedures (Algorithm 3) Step 0. (Initialization) Step 1.

Step 2.

Step 3.

Step 4.

Put N and A to n* and a*, respectively. Arrange all stages in the gap-ordered sequence, and set ~r = ~b, ~ = {(1), (2) . . . . . (m)}. (Branching) Branch at the stage having the smallest gap in ~ to include all nodes (say, n~i),~ n~g)+~ 1,...,n~o)u by the branching strategy. (Fathoming) Apply the fathoming strategy to the currently-branched stage. If all the branched nodes are fathomed, then go to Step 3; otherwise, go to Step 1. (Backtracking) If all the branched node are examined for the best solution, then go to Step 4; otherwise, implement the backtracking strategy and then go to Step 1. (Termination) Terminate the search process with the current best solution as the optimal solution.

Now, the bounding procedure is illustrated with a numerical example which considers a series system composed of four stages each having its own repair facility where each operating unit at each stage has exponential life-time distribution with parameter 1 and pdf s~(t), of repair times at stage i (i = 1, 2, 3, 4) are given as follows: s~(t) = 1, 0 < t _< 1 (uniform distribution) s2(t) = 4 t . e -2'2, 0 _< t < ~ (Weibull distribution).

Table 1 Values of ci, w i and v i i

1

2

3

4

ci wi L'i

2 1 3

3 2 1

4 1 2

1 2 2

C.S. Sung, H.K. Lee / Spare unit allocation in a seriessystem

226

Table 2 Bounds computed at each iteration of Algorithm 2 Iteration

Lower bound

Upper bound

1

(1, 1, 1, 2)

(4, 4, 3, 6)

2 3 4

(1, 2, 2, 3) (2, 2, 2, 5) (2, 2, 2, 5)

(3, 2, 2, 6) (3, 2, 2, 6) (3, 2, 2, 6)

s3(t) = 9t" e -3t, 0 < t < ~ (Gamma distribution). s4(t) = e -t, 0 ~ t < ~ (exponential distribution). The individual availability function values can be computed by applying (1) and (2). Then, the whole system availability is ot be examined under the following constraints of costs (cj), weights (wi), and volumes (u i) which are associated with standby units (see Table 1: max

As(N ) 4

S.t.

E cini <~25 i=1 4 E wini <~20 i=1 4 E uini ~ 20 i=1

n i ~ 0 and integers,

i = 1, 2, 3, 4,

Then the initial feasible solution and its associated lower and upper solution bounds are found as = (2, 2, 2, 6) and A = 0.704 by Algorithm 1, and N ~= (2, 2, 2, 5) and N u = (3, 2, 2, 6) by Algorithm 2, and so n(~) = n3, n(2 ) = n2, n(3) = nl, n(4) = n 4 by the smaller-gap-first order sequencing. The computational procedure of Algorithm 2 is shown in Table 2. The corresponding solution tree and the solution search procedure are depicted in Figure 3 where the numbers in parentheses on the right side represent the branching order and the double slash marks mean that the associated branched nodes are fathomed by the fathoming conditions (a). Algorithm 3 starts with N = (2, 2, 2, 6) as the current best solution, and, at the fifth step, the current best solution is replaced with (3, 2, 2, 5), and then the backtracking strategy takes the search point to the node n, = 2. However, all its subsequent nodes are fathomed by the fathoming condition (a) so that the optimal solution is immediately found from the current best solution as N * = (3, 2, 2, 5) and the optimal system availability is A s ( N * ) = 0.708. The proposed bounding procedure is designed to find lower and u p p e r bounds on decision variables (number of standby units at each stage), so that in the measure of the solution search efficiency, it is superior to those in reference works which were designed rather to find bounds on their problem objective function values. Moreover, in the proposed procedure, the bound values are directly calculated only from a given feasible solution so that it is not necessary to solve any subproblem generated from the so-called constraint relaxation approach in reference works. Thus, the performance of the proposed procedure is evaluated as more efficient and simpler to use than all other methods provided in the references, and the complexity of the bound value computation is O(m2h), where m and h represent the n u m b e r of stages and the n u m b e r of constraints, respectively. The efficiency view on the proposed procedure can further be supported from its direct application to the reliability system of Luus [10]. Many methods such as branch and bound techniques (see Ghare and Taylor [5]), dynamic programming algorithms and heuristic algorithms have been suggested to solve such

C.S. Sung, H.I~ Lee / Spare unit allocation in a series system

227

1 3=2

n3 = 2

nz=2

u3 =2

(1)

I

(2)

12=2 u 2 =2

I

11=2 u1=3

(3)

II

L n4=5

[

n1= 2

I 14=7

(6)

n1= 3

•4=5

(4)

u 4 ---4

u 4 =5

in4:6

I n -6 1' '

(a* = 0.708) Figure 3. Branch-and-bound tree

reliability problems [18,19]. However, the reliability example of Luus [10] can be solved completely only by our bounding procedure, without further trying with the whole branch-and-bound procedure.

4. N u m e r i c a l r e s u l t s

In order to make an extensive test on the proposed solution procedures, 9 different problems sets are randomly generated on the computer. The problem sets are diversified into three groups by the number of in-series system stages including 5, 10 and 15 stages. In each problem groups, problems are further diversified by resources available at three different amounts figured out as W times the sum of all the resources required for each single-standby unit at all the stages, where W represents the t e r m dj/Y',im= lcij specified at 3 different values including 1, 2 and 3. Two linear constraints are incorporated in each problem. All the procedures are coded in FORTRAN 77, and implemented on a HP 9000/300 system. As the efficiency measure of Algorithm 2, the average gap ( ( 1 / m ) E ~ ' = l ( n ~ - nii)) and the number of iterations of Algorithm 2 implementation (until converge) are considered. At each stage, the optimal number of spare units is included within the stage gap. Therefore, the average gap measure implies that a smaller gap definitely requires less solution search effort. For the efficiency measure of Algorithm 3, a search ratio is considered, defined as the ratio of the number of nodes searched (not fathomed) to the total number of nodes required to be searched, that is, I]i~_~(n u - n 1i + 1). Then the test is made repeatedly on 20 problems randomly generated in each different (varied with stage number and W-value) problem set. The corresponding results are shown in Table 3. As the number of stages and W-values increase, the effectiveness of Algorithm 2 becomes worse, while the efficiency of Algorithm 3 becomes better. In other words, the initial gap between the lower and upper bounds computed through Algorithm 2 becomes larger, so that the number of nodes to be searched by Algorithm 3 increases. However, the whole procedure efficiency appears still to be good, since the fathoming effect measured in the search ratio gets greater. The overall procedure time in Table 3 represents the time required to implement the overall solution procedure, that is, Algorithms 1, 2 and 3.

C.S. Sung, H.I(. Lee / Spare unit allocation in a series system

228

Table 3 Computational results of numerical test problems a Number of

Resource availability

Bound search (Algorithm 2)

stages

(W)

Average gap

1.0 2.0 3.0 1.0 2.0 3.0 1.0 2.0 3.0

0.31 0.65 1.23 3.42 3.64 4.08 3.47 5.03 6.35

5

10

15

a

Solution search (Algorithm 3)

Overall procedure

iterations

Search ratio

Time (sec)

3.2 3.1 3.1 2.2 2.2 2.0 2.5 2.0 2.0

0.11X 10 1 0.21 X 10-1 0 . 1 4 x 10 i 0.42 X 10 4 0.32 X 10 - 4 0.76 x 10-4 0.42 x 10-6 0.35 X 10 -6 0.15 X 10 -8

0.085 0.12 0.143 0.781 1.458 2.010 5.55 20.71 63.05

All the value in this table are arrived at by averaging out the results of 20 random samples investigated in each case.

With the generated set of problems, the larger-gap-first-order branching procedure is also tried in Algorithm 3 but found not to be better than the smaller-gap-first-order procedure. This is because, at a given node (partial solution) on a branch-and-bound tree, the number of its possible sub-tree (branching) nodes can be maximized by the smaller-gap-first-order policy which can provide a stronger fathoming effect due to the association of fathoming all its sub-tree nodes together as the given node is fathomed. No other reference works on the system availability subject are currently available to make any associated comparative study. However, a relative efficiency comparison to the work of Ghare and Taylor [5] for 10-stage reliability problems is made, with reference to the heuristic algorithm of Aggarwal et al. [1], to find that our optimal solution procedure is about ten times more efficient (see McLeavy [12]). Moreover, our procedure can handle nonlinear constraints, while the Ghare-Taylor algorithm requires completely linear constraints.

5. Concluding remarks In this study, a spare unit allocation model is analyzed which maximizes the availability of a system where m stages (each having its own repair facility) are operated independently but in series. Each operating unit has an exponential life time and a failed unit is repaired, at its corresponding repair facility, in a general repair time distribution having the nondecreasing repair rate property. The associated non-linear integer programming problem of the system availability is transformed into an equivalent 0-1 knapsack problem to solve, under the incorporation of convex constraints such as cost and volume, by exploiting a solution bounding procedure for the lower bounds and the upper bounds of decision variables. The lower and the upper bounds are effectively used to solve the NLIP problem in a size reduced 0-1 knapsack problem approach. However, the gap between the lower bound and the upper bound of each decision variable depends on the initial solution with which the bounding procedure starts, so that a better initial solution leads to a smaller knapsack problem. Numerical tests show that, in most cases, the proposed procedure of Algorithm 1 gives good initial solutions. The bounding procedure can widely be adaptable to NLIP problems which have increasing concave objective functions, for example, reliability optimization problems with separable convex cost constraint functions. The model considered in this study may immediately be applicable to such systems as those composed of combustion turbine units in emergency service and of pumps in emergency coolant injection systems and assembly (manufacturing) systems with each assembly (fabrication) stage employing a machine (tool) subject to maintenance.

C.S. Sung, H.K. Lee / Spare unit allocation in a series system

229

For further study, systems with operating units having general life time distributions may be considered. An extension to general network systems may also be attractive.

Appendix Proof of Theorem 1. Straightforward. Proof of Theorem 2. Let us define

P/k = Ciklaik" Then it holds that max,, k _>-I+,{Pi{} = Kj.

For any feasible solution of (P1), it holds that log(As(N)) =

E c,kx,k + i=l k=l

log(A,(o)) /=1

oo

= ~.~ E P ijk a i'k X i k q- ~ l o g ( A i ( O ) ) i=1 k = l i=1 e i kJ a i Jk X i k +

= i=1 k = u l + l

max{P/h} {P/h} < max

i=1 k=ui+l

<_K, b j -

a[kxik + i=1

=1

= K j bj --

~_, PikaikxikJJ i=1 k = l

1

P iJk a i;k X i k

i=1 k = l

aikXik i

+

l°g(Ai(0)) i=1

+

log(Ai(O)) i=1

PikaikXik i~q k = l

Uq

k=l

l m°'

~-, a{kXik + Y', E

<

i'k>~ui+l

~ e i kJ a i Jk X i k + log(Ai(O)) i=1 k = l i=1

Uq

m

aqkXqk + E P&aqkXqk + Y'~ log(Ai(0)), k=l

i=1

by taking ui= n i for all i (i 4: q) without loss of generality,

= K j[ dj - i~qgi j( nli ) ] + iy'~ 4-q {l°g( A i( n~) ) } - Kjgqj( Uq) + l°g( A q( Uq) )' and since xik = 1 for k < nli, - log Q (newly denoted by). This implies that the maximum objective value with the_solution which satisfies nq = uq cannot be greater than the defined value Q. Thus, if Q is less than A given in the initial step, then the solution nq = Uq should be eliminated from further consideration. Furthermore, the relation Q < A is equivalent to

Kjgqj(Ua) -- log( Aq(lgq)) > Rqj.

(A.1)

Since Kjgqj(nq)- log(Aq(nq)) is an increasing convex function for all n u > uq, it also holds that Kjgqj(nq)- log(Aq(nq))> Rqj. Hence, any nq greater than or equal to Uq should also be eliminated from further consideration if (A.1) is satisfied. This means that all the nq-values in the set {nq [r/q > n'q} can be eliminated. Moreover, a finite r/q exists, since Rqj is a constant and K j g q j ( r l q ) - log(Aq(na)) is an ¢

increasing convex function in nq. This completes the proof. Proof of Theorem 3. Since it is obvious that relation (a) holds, let us try only to show that relation (b)

holds.

230

C.S. Sung, H . K Lee / Spare unit allocation in a series system

Suppose that an arbitrary stage index q, say q = 1, is considered, and that the n~-value is found as the upper bound of n I from (7) at the given values of n il (i = 2, 3, ., m). Also, define .

Sa(n~) = dj

-- g l j ( H ~

-}- 1 ) --

g2j(nl)

--

~

gij(

.

nli ) ,

i=3

S2(n~) =

dj-glj(n~+l)-g2j(n~)-

Y'~gii(n i=3

+ log(Az(n~)) ]

- log ~'t + log(A 1( nr + 1) ) + ~'. log( Ai(nli)). i=3

Then, since any n 1 having value greater than n~ should not be considered further, it is required from (7) that Sl(n l) < 0 or S2(n ~) < 0 for some j. Now, assume that the lower bound of n 2 (for the arbitrarily chosen index i = 2) is increased by one unit, namely, increasing from n I to n I + 1 (others remain unchanged), and the new Kj associated with the (n I + 1)-value is denoted by Kj. Then it holds that Kj < K~, and $1(n~2+ 1) < $1(n~2), since g2~(n2) is an increasing function in n 2. Recall that from the definition, it is possible to have either Sa(n~) < 0 or Sl(nl2) > O. If the relation Sl(nJ2) < 0 holds, then it follows that Sl(nt2 + 1) < 0. This implies that under the situation where Sl(n l) < 0, the lower bound increase n~ + 1 cannot make the given bound n~ increase no matter what value S2(n 1) has. On the other hand, the relation Sl(n ~) > 0 requires S2(n 1) < 0 (otherwise, the upper bound of n 1 should be greater than n~'), while nothing can be stated about the value of S~(nl2 + 1). By the way, the case S~(nl2 + 1) < 0 does not satisfy condition (7), so that only the case Sl(n I + 1) > 0 need be considered. This leads to the relation S2(n I + 1) _
d j - g l j ( n ~ +1) - £mg i j ( n I)1 i=3

J

- K;g2/(n I + 1 ) + Kjg2j(nl2) + log(A2(n I + 1)) - l o g ( A 2 ( n l ) ) =

+

1 ) - g2;(4)] + log(A (. 1 + 1)) - log(A

(4)) _<0.

(ii) If K" < Ki, then the Kfvalue is attained at the index i = 2, since the change into K} incurs only from the n~-value increase, so that

Kj = [log(A2(n I + 1))--log(A2(nl2))]/[g2j(nl 2 + 1 ) + g 2 j ( n l ) ] and hence,

S2(nt2 + 1) - S2(nl2) = ( K] - Ki)S,(ni 2 + 1)_<0 is required, since Sl(n I + 1) _ 0. Thus, in the case S2(n 1) >_ 0, the lower bound increase n~ + 1 cannot make the given upper bound n~ increase, either. This completes the proof. P r o o f of T h e o r e m 4. Assume that at the k-th iteration in Algorithm 2,

nUi , k - 1 --> ni

for a l l i ,

(A.2)

C.S. Sung, H.K. Lee / Spare unit allocation in a series system

231

Then, for q (q = 1, 2 . . . . . m),

Aq(.'qk- 1)< this requires that

X

rli.~Ai(,, u) - A q ( n q ) L < ~ q + 1, s i n c e Aq(') nqk

"

i~*q( Ai(ni)

Ai(rl u i,k-1)

~Aq(Tlq).

is an increasing function, and hence

t <~q. nqk --

(A.3)

Furthermore, it holds that for constraint j ( j = I, 2 . . . . . h),

dj-i~lgij(ni)-k i~q{gij(ni)--gij(nlik)} >-KJ[~q

=Kj

( Since ~[ iSfeaSible SOthat d j -

=KJ[ E{gij(~i)-gi'(rl:k))

>E

i~l

f°rI=(ili--t=q'Fti>n:k}

~gij(Tti)

(since Hq > n:k)

Iog{ A i( n i ) } - log{ A i(nlik )} . {gij( ~i ) -- gij( nlk )} gij( Ttj) -- giy( ntik) = i~q ~-" [l°g{Ai(ni)}-l°g{Ai("Ik)}]]"

Thus,

K igqj(fiq) - log{Aq(Bq)} < Kj[ dj- 2 g,,(n',k)] + 2 log{A,(<~)} - log ~ t4=q

]

i4-q

This implies that, according to (7),

Fluqk >--~ q .

(A.4)

From the above results, it can be seen that, under assumption (A.2), relations (A.3) and (A.4) are i _< H i <_ satisfied. Moreover, at k = 1, nU0 = ~ > ~i, and hence (A.2) holds. Therefore, it holds that ni~. nUk, Vk. This completes the proof.

Acknowledgement The authors are grateful to anonymous referees for their invaluable comments.

References [1] Aggarwal, K.K., Gupta, J.S., and Misra, K.B., " A new heuristic criterion for solving a redundancy optimization problem", IEEE Transactions on Reliability R 24 (1975) 86-87. [2] Cohen, M.A., Kleindorfer, P.R., and Lee, H.L., "Near-optimal service constrained stocking policies for spare parts", Operations Research 37 (1989) 104-117.

232

C.S. Sung, H.I~ Lee / Spare unit allocation in a series system

[3] Cooper, R.B., Introduction to Queueing Theory, 2nd ed., North-Holland, New York, 1981. [4] Fischetti, M., and Toth, P., "An additive bounding procedure for combinatorial optimization problems", Operations Research 37 (1989) 319-328. [5] Ghare, P.M., and Taylor, R.E., "Optimal redundancy for reliability in series systems", Operations Research 17 (1969) 838-847. [6] Gross, D., and Harris, C., Fundamentals of Queueing Theory, 2nd ed., Wiley, New York, 1985. [7] Henley, E.J., and Kumamoto, H., Designing for Reliability and Safety Control, Prentice-Hall, Englewood Cliffs, NJ, 1985. [8] Kumagai, M., "Availability of an n-spare system with a single repair facility", IEEE Transactions on Reliability R 24 (1975) 216-217. [9] Lie, C.H., Hwang, C.L., and Tillman, F.A., "Availability of maintained systems: a state -of-the-art survey", AIIE Transactions 9 (1977) 247-259. [10] Luus, R., "Optimization of system reliability by a new nonlinear integer programming procedure", IEEE Transactions on Reliability R 24 (1975) 14-16. [11] Martello, S., and Toth, P., "A new algorithm for the 0-1 knapsack problem", Management Science 34 (1988) 633-644. [12] McLeavey, D.W., and McLeavey, J.A., "Optimization of system reliability by branch-and-bound", IEEE Transactions on Reliability R 25 (1976) 327-329. [13] Miller, L.W., "A note on the busy period of an M / G / 1 finite queue", Operations Research 24 (1975) 1179-1182. [14] Sasaki, M., Kaburaki, S., and Yanagi, S., "System availability and optimum spare units", IEEE Transactions on Reliability R 26 (1977) 182-188. [15] Srinivasan, S.K., and Gopalan, M.N., "Probabilistic analysis of a 2-units cold standby system with a single repair facility", IEEE Transactions on reliability R 22 (1973) 250-255. [16] Srivastava, V.K., and Fahim, A., "k-out-of-m system availability with minimum cost allocation of spares", IEEE Transactions on Reliability R 37 (1988) 287-292. [17] Thakur, L., "Successive approximation in separable programming: An improved procedure for convex separable programs", Naval Research Logistics Quarterly 33 (1986) 325-358. [18] Tillman, F.A., Hwang, C.L., and Kuo, W., "Optimization techniques for system reliability with redundancy: A review", IEEE Transactions on Reliability R 26 (1977) 148-155. [19] Tillman, F.A., Hwang, C.L., and Kuo, W., Optimization of System Reliability, Marcel Dekker, New York, 1980. [20] Tillman, F.A. and Liittschwager, J.M., "Integer programming formulation of constrained reliability problems", Management Science 13 (1967) 887-899. [21] Wolff, R.W., "Poisson arrival see time averages", Operations Research 30 (1982) 223-231.