Fleet readiness: Stocking spare parts and high-tech assets

Abstract We consider a maintenance shop that is responsible for the availability of a fleet of assets; e.g., trains. Unavailability of assets may be due to active maintenance time or unavailability of spare parts. Both spare assets and spare parts may be stocked in order to ensure a certain fleet readiness, which is the probability of having sufficient assets available for the primary process (e.g., running a train schedule) at any given moment. This is different from guaranteeing a certain average availability, as is typically done in the literature on spare parts inventories. We analyze the corresponding system, assuming continuous review and base stock control. We propose an algorithm, based on a marginal analysis approach, to solve the optimization problem of minimizing holding costs for spare assets and spare parts. Since the problem is not item separable, even marginal analysis is time-consuming, but we show how to efficiently solve this problem. Using a numerical experiment, we show that our algorithm generally leads to a solution that is close to optimal and that it is much faster than an existing algorithm for a closely related problem. We further show that the additional costs that are incurred when the problem of stocking spare assets and spare parts is not solved jointly can be significant. A key managerial insight is that typically the number of spare assets to be acquired is very close to a lower bound that is determined only by the active maintenance time on the assets. It is typically not cost-effective to acquire more spare assets to cover spare parts unavailability.


Introduction
Many important services and operations depend on the availability of a sufficiently large fleet of assets. An airline, for example, depends on a fleet of aircraft to service all planned flights, whereas a railway company depends on a fleet of rolling stock to make the train schedule work. Other examples exist in the defense and maritime industries. In all such cases, the availability of assets (the fraction of time that they are available to operate) is not the most appropriate measure of fleet performance. For example, consider a train operator that requires 90 trains to run its schedule as planned, and it owns 100 trains that achieve a 90% availability. The train operator seems to do fine, but it could be that half of the time there are 95 trains available, whereas the other half of the time there are 85 trains available: during the latter half of the time, the train operator cannot run its schedule. Similarly, consider an air force that has brought a number of airplanes to a war zone. To fly a relatively safe mission, it requires 40 airplanes to be available. If the average availability of its 50 airplanes is 80%, the target seems to be achieved. However, it may be that most of the time about 35 airplanes are available, whereas sometimes there are almost 50 available. Then very often there are not enough airplanes available to fly a safe mission. In both examples, a more accurate measure of performance is the fraction of time that sufficient assets are available to fulfill the function of the fleet; i.e., the probability that sufficient assets CONTACT Rob J. I. Basten r.j.i.basten@tue.nl Color versions of one or more of the figures in the article can be found online at www.tandfonline.com/uiie.  The Dutch word is rompenpolitiek; see, e.g., Tjepkema ().
are available at an arbitrary moment in time. We refer to this performance measure as fleet readiness.
When k assets are needed to fulfill the function of the fleet, then typically N > k assets need to be acquired to achieve a high fleet readiness, since assets are subject to failures and need maintenance. The maintenance time of an asset consists of two main parts: the active maintenance time, in which the actual maintenance operations occur (usually the replacement of line replaceable units), and the maintenance delay time, which is the waiting time for maintenance resources to become available (some authors call this time to support). A major culprit for maintenance delay is a lack of spare parts needed for replacement.
High fleet readiness can be achieved by a combination of the following: (i) buying assets in addition to what is necessary to run daily operations; (ii) reducing the maintenance delay time by stocking spare parts; (iii) reducing the required number of maintenance actions by increasing asset reliability; or (iv) improving the speed of maintenance/replacement operations. This article focuses on the first two options, as these amount to investment decisions of a logistical nature. The last two options can usually only be achieved by making asset engineering modifications that are specific to the technology of the asset.
Buying as many assets as a given budget allows is a popular method to increase fleet readiness but is not always effective. The money needed to buy assets and spare parts usually comes from the same budget. In the last decades of the previous century, the Dutch armed forces engaged in what has come to be called "carcass politics. " 1 Under carcass politics, the available budget to establish a fleet is spent as much as possible on buying complete assets, and the remainder is spent on spare parts. Spare parts become short in supply soon after this and, as a result, technicians start using parts from complete assets, leaving only a "carcass" behind. This practice is often referred to as cannibalization. Clearly, this practice does not necessarily lead to high fleet readiness. There is a trade-off between investing in assets and spare parts to meet a certain fleet readiness, and this article explores this trade-off, using a model of a single stock point with continuous review, stochastic lead times, and base stock control.
The trade-off between investing in assets or spare parts to realize a certain fleet readiness objective is non-trivial. In general, this problem is non-convex and the analysis cannot be separated into an analysis per spare part type and asset: Its evaluation requires the convolution of backorder distributions per spare part type. This is in stark contrast with many spare part inventory problems, in which the resulting optimization problems are convex and separable per item (see, e.g., Sherbrooke, (2004) ;Muckstadt, (2005); Basten and van Houtum, (2014)). Assets and spare parts achieve a certain fleet readiness jointly, and so their analysis cannot be separated. In fact, we will show that their joint analysis is mathematically a generalization of multi-echelon inventory theory, even though we consider only a single stock point. Unfortunately, this generalization is not susceptible to standard tools such as Clark and Scarf decomposition (Clark and Scarf, 1960) and METRIC-type inventory models (Sherbrooke, 1968).
Our main contributions in this article are the following: We consider the problem of deciding on asset investment and spare part investment jointly, whereas previous work considers them separately (see also Section 2), which we also often see in practice. However, both are sizeable investments that serve a common purpose: achieving high fleet readiness. Fleet readiness is usually not used as a service measure in this setting, as it is computationally demanding to evaluate and difficult to optimize. We show that evaluation requires performing a large number of convolutions, but we also show how the number of convolutions can be lowered exponentially. We next develop a greedy heuristic for this problem that is computationally efficient. In a numerical experiment, we compare our heuristic with enumeration on small instances and find that our heuristic finds the optimal solution of 51% of our test instances and has an average optimality gap on the other instances of 3.7%. Our algorithm is 50 times faster on medium-sized instances than an existing algorithm that was developed for a related problem. (The existing algorithm takes too much time to perform a comparison on large instances.) Our key managerial insight is that spare assets should be acquired to cover active maintenance time on the assets; it is typically not cost-effective to acquire more spare assets to cover spare parts unavailability. In other words, the use of "carcass politics" is not cost-effective.
The remainder of this article is organized as follows. We discuss related literature in Section 2 and position our work with respect to previous work. In Section 3, we explain the model and the optimization problem that is our focus. We analyze the model in Section 4; we show that the problem is not convex and we prove some other properties. We use those to construct an algorithm to solve the optimization problem in Section 5. In Section 6, we perform a numerical experiment, and we conclude in Section 7.

Related literature
Since our main contributions are the combination of the fleet sizing and spare part investment decisions subject to a servicelevel constraint that is not often used, this literature review is structured as follows: We discuss the fleet readiness measure in Section 2.1, fleet sizing in Section 2.2, and spare parts optimization in Section 2.3. In Section 2.3, we specifically focus on a closely related paper by De Smidt-Destombes et al. (2011).

Fleet readiness
Fleet readiness as a performance measure is not as common as availability. Some authors, however, have already noted that in many instances readiness is a more appropriate performance measure. Safaei et al. (2011), for instance, consider a deterministic maintenance scheduling problem subject to a manpower constraint and a fleet readiness constraint. Jin and Wang (2012) use the fleet readiness measure in the context of performancebased contracting. They approximate this measure by using the availability as the probability that a vehicle is available at an arbitrary moment in time and then use the binomial distribution to compute the fleet readiness. This approximation is more tractable than actual fleet readiness but it assumes that the availability of different vehicles is uncorrelated at any particular time point. A similar approach has been followed by Costantino et al. (2013) in a multi-echelon, multi-indenture spare parts inventory setting. Some authors use the term fleet readiness as the average number of vehicles of a fleet that are available; e.g., Sherbrooke (1971) and Salman et al. (2007). That is, these authors consider the availability times the size of the fleet rather than the fleet readiness as we define it.
A closely related concept from the reliability engineering literature is the availability of a k-out-of-N system (e.g., De Smidt-Destombes et al., 2004). In this setting, a system consists of N components and only functions if at least k out of those N components are operational. The availability is then defined as the probability that at least k out of the N components are operational. In our setting, we would say that a fleet is ready if at least k out of N assets are operational or, alternatively, if not more than N − k assets are unavailable. Thus, these measures are equivalent.

Fleet sizing
Fleet sizing for vehicles has been studied in different settings. Hoff et al. (2010) and Pantuso et al. (2014) provide a review of these models in a general and maritime setting, respectively. Most of these models are deterministic and are concerned with calculating the minimum fleet size necessary to perform daily operations. Our model takes this minimum number of vehicles needed as an input and supports the investment decision in additional vehicles (or other assets) and spare parts to make sure that the fleet is operationally ready with a certain probability at any moment in time. Hoff et al. (2010) already note that dealing with uncertainty is an important aspect to incorporate when making the fleet sizing decision. Our work partially fills this gap by providing a model that deals with the uncertainty in the number of vehicles down due to maintenance or lack of a spare part.

Spare parts optimization
The optimization of spare part inventory decisions has a long history that started with the work of Feeney and Sherbrooke (1966) and Sherbrooke (1968). This line of research has led to a large stream of literature that has been consolidated in the books by Sherbrooke (2004) and Muckstadt (2005) and the review papers by Guide and Srivastava (1997), Kennedy et al. (2002), and Basten and van Houtum (2014). Here, we focus on the most closely related work, which is the paper by De Smidt-Destombes et al. (2011). In that paper, the authors consider a fleet that is taken on a mission with a package of spare parts. The objective is to minimize the investment in this spare parts package subject to a constraint on the probability that the fleet remains ready throughout the mission. We will show that that constraint is mathematically equivalent to the fleet readiness constraint as used in this article. We extend the model in two ways: (i) we also consider the size of the fleet as a decision variable and (ii) we account for the fact that maintenance itself requires time and renders an asset unavailable. We show that, even for a fixed fleet size, optimizing the spare parts package is not a separable and convex problem. Despite this, De Smidt-Destombes et al. (2011) use a marginal analysis approach and we pursue a similar approach. As a new contribution, we benchmark this approach with respect to the optimal solution found by enumeration. We find that our algorithm yields high-quality solutions. Furthermore, we provide results that make algorithms based on marginal analysis more tractable, by giving easy-tocompute bounds so that gradients do not need to be computed for every direction of ascent. In addition, we provide an algorithm that computes the gradient in O(log n) time instead of O(n) time, with n being the number of distinct spare part types.

Model description
The system that we analyze is shown in Figure 1. We consider a fleet of assets that are composed of Line Replaceable Units (LRUs). We let I denote the set of LRUs and we reserve the index 0 for the assets; we denote the set of LRUs and assets by I 0 = I ∪ {0}. Assets fail randomly due to a failure in exactly one LRU i ∈ I; such failures occur according to a Poisson process with intensity λ i and the total intensity over all LRUs is denoted by λ 0 = i∈I λ i . λ i indicates the failure rate of LRU i over the complete fleet and it is constant over time; i.e., it is not influenced by the number of assets that are operational at any point in time.
The assumption of a constant failure intensity is regularly made in the spare parts inventory literature; see, e.g., Basten and van Houtum (2014, p. 40). This is reasonable, since the required fleet readiness is typically high. Furthermore, when there is a shortage of operational assets, which would lead to a slightly lower failure intensity, often some workload is routed to the operational assets, so that their failure intensity increases. An asset is repaired by replacement of the failed part by a functioning spare part. In the remainder of this article, if we refer to (spare) parts, components, or items of LRU type i, we say parts of LRU i. We assume that disassembly of the failed part takes negligible time (i.e., is instantaneous); assembly of the functioning spare part into the asset takes exactly μ i time units for LRU i ∈ I if a spare part is available immediately from stock (i.e., μ i is deterministic). After being repaired, the asset is sent to the pool of standby assets. We also refer to this pool as the stock of spare assets.
The failed part of LRU i ∈ I is sent to the repair shop; its repair lead time is generally distributed with mean T i time units. Repair times of parts of the same LRU are independent and identically distributed (i.i.d.) and repair times of parts of different LRUs are independent of each other. In other words, we assume that the repair shop has an infinite number of servers or that the repair shop is able to schedule repairs and hire capacity such that it can guarantee a certain average repair time (we have made an analogous assumption for the maintenance shop). After being repaired, a part is returned to stock. Repairs may be performed at an internal repair shop or they may be outsourced to an external repair shop. In fact, the model can also be used if parts are discarded and replaced by new parts. In that case, the repair lead time should be read as supply lead time or order-and-ship time.
All stock points are controlled using a continuous review (S i − 1, S i ) base stock policy (i.e., one-for-one replenishment) with S i being the base stock level for LRU i ∈ I or the asset (i = 0). (Notice that S 0 does not indicate the fleet size; if, say, 100 assets are required in the primary process of the user and the base stock level, S 0 , is equal to 10, then the fleet size is 110.) Our assumptions mean that failed assets or parts are not batched but immediately sent into maintenance or repair. If the setup costs for a repair are low, this is a reasonable assumption. As a result, this assumption is commonly made in the spare parts literature (see, e.g., Basten and van Houtum, (2014), p. 40); we come back to this assumption in a Remark.
Under this policy, the dynamics of the system can be described as follows: Let D i (t , t ) denote the demand for LRU i (or, equivalently, the number of failures in parts of LRU i) between times t and t. Let X i (t ) denote the number of parts of LRU i ∈ I in repair, also called the pipeline of LRU i, at time t. Then, if the repair lead time T i is deterministic, the pipeline at time t consists of all demands between times t − T i and t; i.e., Due to Palm's theorem (Palm, 1938), this equality still holds in distribution if the repair lead time is not deterministic. The number of backorders for In other words, there are backorders if the number of parts in the pipeline is higher than the base stock level, with the number of backorders being equal to the difference. We denote by Y 0 (t ) the number of assets in the maintenance shop that are actively being maintained at time t (i.e., the assets that are waiting for a spare part are not included). Since the assembly time μ i is assumed to be deterministic, this is the summation over all LRUs of the demands for that LRU between times t − μ i and t; i.e., Y 0 (t ) = i∈I D i (t − μ i , t ). For notational convenience, we introduce S as the vector of all base stock levels S i for i ∈ I. The pipeline X 0 (t, S) of assets in the maintenance shop at time t is equal to the number of assets that came in for maintenance after time t − μ i , plus the number of assets that should have finished maintenance but were delayed due to backordered spare parts: while the number of assets short is denoted by B 0 (t, S 0 ) = [X 0 (t, S) − S 0 ] + , with S 0 being the vector of all base stock levels S i for i ∈ I 0 . (This can also be interpreted as the number of backordered assets.) The readiness, R(S 0 ), is the probability of not being any assets short in steady state: R(S 0 ) = lim t→∞ P{B 0 (t, S 0 ) = 0}. In other words, the readiness is the long-term probability that the number of assets in maintenance (i.e., in the pipeline) does not exceed the number of spare assets.

Remark 1.
If the asset consists of one LRU only, our system simplifies to a two-echelon serial inventory system, the Clark-Scarf model (Clark and Scarf, 1960). Specifically, when |I| = 1, Y 0 (t ) can be interpreted as the number of orders in transit from the upstream stock point to the downstream stock point at time t, while B 1 (t − μ 1 , S 1 ) represents the orders from the downstream stock point that are backordered at the upstream stock point at time t − μ. By allowing |I| > 1, we are dealing with a generalization of a two-echelon serial inventory system under base stock control. Since base stock policies are optimal in the Clark-Scarf model and many of its generalizations, including some convergent systems (for an overview, see Van Houtum, 2006) our assumption of base stock control seems reasonable.

Remark 2.
When μ i = 0 and T i = T for all i ∈ I, then R(S 0 ) can also be interpreted as the probability that the fleet remains ready during a mission of length T when a spare parts package of size S is brought on the mission. (Note that T i = T for all i ∈ I implies that spare parts cannot be repaired during the mission.) For a fixed asset base stock level S 0 , this is the setting that De Smidt-Destombes et al. (2011) consider.
The costs of holding spare assets and LRUs are linear in their base stock level: c i per unit for asset or LRU i ∈ I 0 . Our goal is to find the base stock levels that minimize the total costs C(S 0 ) = i∈I 0 c i S i , such that the target readiness R obj is achieved. Formally, our optimization problem, Problem (P), is being the set of non-negative integers. We emphasize that Problem (P) is not separable per item because R(S 0 ) cannot be written as a sum of terms that depend on one S i only. Further note that the costs can also include initial investment costs instead of holding costs.

Analysis
In this section, we give results on the behavior of the fleet readiness as a function of the number of spare parts and spare assets. We use these results to explain, in Section 5, why we make certain choices in the algorithm that we use to solve Problem (P).
Since we consider the system in steady state, we suppress the time parameter in the state variables from now on, and we show their distributions in Lemma 1. The results in this lemma are very similar to the derivation of results for the standard twoechelon model for spare parts (see, e.g., Graves, 1985;Basten and van Houtum, 2013 (ii) For i ∈ I, the distribution of the number of backorders, B i (S i ), is given by (iii) The number of assets that are actively being maintained, Y 0 , is Poisson distributed with mean i∈I λ i μ i ; that is, (iv) The distribution of the asset pipeline, X 0 (S), is given by (v) The distribution of the number of assets short, B 0 (S 0 ), is given by

Proof.
(i) Under a base stock policy, each demand for LRU i ∈ I triggers an order, and each order is delivered after an i.i.d. amount of time with mean T i . Therefore, the number of outstanding orders of LRU i ∈ I behaves as the number of customers in an M/G/∞-queue with arrival rate λ i and processing time with mean T i . By Palm's Theorem (Palm, 1938), the number of customers in such a queue in steady state is Poisson distributed with mean λ i T i . (ii) The number of backorders at time t is defined as (1) and the independent increments of the Poisson process, this implies that Y 0 and i∈I B i (S i ) are independent random variables. Now, using Equation (1) and letting t → ∞, we have where the final equality follows from the independence of Y 0 and i∈I B i (S i ). (v) This is analogous to part (ii).
We use additional notation in this section: Let e i be a vector of length |I 0 | with all zeros, except at the location corresponding to the base stock level of spare assets (i = 0: S 0 ) or spare LRUs (i ∈ I: S i ). Furthermore, notice that concavity of is not in general jointly concave in S 0 and S i with i ∈ I. As a counter-example, consider an asset consisting of one LRU, indexed 1, with λ 1 = 2 and μ 1 = T 1 = 1. Evaluating R(S 0 ) gives the following results: R(0, 0) ≈ 0.1353, R(1, 0) ≈ 0.4061, R(0, 1) ≈ 0.2707, and R(1, 1) ≈ 0.6090. It is easily seen that if either S 0 or S 1 is increased, the readiness increases. However, 3383. This means that R(S 0 ) is not jointly concave.
For larger values of S 0 , the inequalities required for concavity do typically hold.
As R(S 0 ) is not jointly concave in general, our algorithm enumerates the number of spare assets (see Section 5); Proposition 1 gives bounds on its optimal value. The lower bound, S LB 0 , is the number of spare assets that are required to achieve the target readiness if there are unlimited spare parts available. In Section 6, we show that this lower bound is usually tight, implying that spare assets are mainly stocked to cover the active maintenance time, while they are not stocked to cover spare parts unavailability.
Proposition 1. The optimal number of spare assets for Problem (P), denoted as S * 0 , is bounded as follows: For part (ii): S 0 represents a feasible solution, since R(S 0 ) ≥ R obj , and the associated cost of this solution is C(S 0 ). Stocking S + 1 spare assets costs c 0 (S + 1). If c 0 (S + 1) > C(S 0 ), then the optimal solution cannot contain S + 1 spare assets (or more), as there is a feasible solution with cost lower than c 0 (S + 1). This means that S is an upper bound on the number of spare assets in the optimal solution, S * 0 .
We show other convexity results in Proposition 2, which our algorithm uses to determine lower bounds. The proof can be found in Appendix A; it uses properties of the shape of the Poisson distribution.
Proposition 2. The second-order difference function for the number of spare LRUs i ∈ I, 2 i R(S 0 ) = i R(S 0 + e i ) − i R(S 0 ), behaves as follows: r The behavior of 2 i R(S 0 ) is not clear beforehand in all cases that are not covered by Proposition 2 (i.e., if both S i < λ i T i − 2 and S 0 + S i ≥ λ i T i − 2). Proposition 3 gives a result that allows our algorithm to avoid performing unnecessary calculations: Our algorithm uses a marginal analysis approach. In each iteration, an additional spare part is stocked of the LRU that gives the biggest "bang for the buck. " Proposition 3 gives an upper bound on how much this "bang for the buck" may have changed for a certain LRU from one iteration to the next. Our algorithm can thus quickly check if the "bang for the buck" of a certain LRU may be sufficiently high to perform time-consuming exact calculations. Since the proof is long and does not give insight into the problem, it is deferred to Appendix A.

Algorithm
We give the pseudo code of our algorithm in Figure 2 and we explain the complete algorithm in Section 5.1. Next, we focus on how to compute the convolutions in Line 11 of our algorithm in Section 5.2. This is a very time-consuming step in the algorithm and we propose a novel way to do this efficiently.

Overview
The algorithm functions as follows. It enumerates the asset base stock level between a lower bound (Line 1) and an upper bound (Line 3), based on parts (i) and (ii) of Proposition 1, respectively. Although those bounds are simple, we still find in our numerical experiment ( Table 7) that, typically, the number of enumerated spare asset levels is small; i.e., the difference between the lower and upper bounds is small. For each asset base stock level, each LRU base stock level is initialized at a lower bound based on part (ii) of Proposition 2 (Line 4). Notice that this lower bound guarantees that the readiness is concave in each LRU base stock level. However, notice further that it is not guaranteed that the optimal LRU base stock level is above this lower bound: Consider a system in which all LRUs are inexpensive, but there is one very expensive LRU i with a failure rate λ i and repair time T i such that λ i T i = 2 + , with being a very small number. The lower bound then ensures that S i = 1, while it may be optimal to have S i = 0. In practice, however, such examples are seldom encountered and each optimal LRU base stock level will typically be above the lower bound. Then, the probability mass functions of B i for i ∈ I and of Y 0 + i∈I B i (Line 5) are computed. Using a smart way of ordering and storing these computations results in a reduction of the computations that are performed per iteration of the marginal analysis approach that is used to stock additional spare parts (Line 12). We explain this in detail in Section 5.2. Further variables are initialized in Lines 6 and 7.
As long as the target readiness has not been reached (Line 8), for each LRU (Line 9) an upper bound on the increase in readiness per additionally invested dollar is calculated (Line 10), using the result in Proposition 3. If the upper bound is such that the current LRU would be the best option encountered thus far (Line 11), exact calculations are performed (Line 12) and whether it is really the best LRU encountered thus far (Line 13) is checked. In our numerical experiment (Table 6), we find that using the upper bound for a first check saves over 50% of computation time for problem instances with 256 LRUs and that the relative savings increase with an increasing problem size.
Notice that Line 7 ensures that in the first iteration of the while loop (Lines 8 to 17), the first condition of the if clause on Line 11 is always true. This means that the first LRU that is checked is by definition the best encountered thus far. The second condition of that if clause is required because Proposition 3, which is used in Line 10, applies only for i = j.
In Line 16, the base stock level of the right LRU is increased and the readiness is adapted. As soon as the target readiness is reached for the current asset base stock level (Line 8), the marginal analysis approach is stopped and whether a new best solution is found (Line 18) is checked. Next, the asset base stock level is increased by one (Line 21) so that a new iteration can start if the upper bound has not been reached yet (Line 3).

Convolutions
The computationally most demanding step in Algorithm 2 is the computation of i = (R(S 0 + e i ) − R cur )/c i (Line 12), specifically the evaluation of R(S 0 + e i ) = P{B 0 (S 0 + e i ) = 0} = P{U (S + e i ) ≤ S 0 }, with U (S) = Y 0 + i∈I B i (S i ). This requires computing the probability mass function of U (S + e i ) by convolution; we provide an algorithm to compute that using results that have already been computed for U (S). We require some additional notation. Let B i (S i ) be a vector containing the probability mass function of The complexity in computing U(S) lies in the computation of B 1,|I| (S) and its complexity increases with |I|. After computing B i (S i ) for all i ∈ I, the straightforward way to compute B 1,|I| (S) is to successively compute as follows: However, computing B 1,|I| (S + e i ), for some i ∈ I, can now be done efficiently by reusing most results in the tree: B a,b (S + e i ) = B a,b (S) whenever i < a or b < i. This is easily seen when we reconsider the example where |I| = 8: Figure 4 shows the tree that results when computing B 1,8 (S + e 3 ); if B 1,8 (S) is already evaluated, this only requires the evaluation of four nodes. Of those four nodes, one concerns the determination of B 3 (S 3 + 1) and 3 = log 2 (8) requires taking a convolution. The same reasoning can be applied for general |I| and yields the following result. The only thing that we have not explained yet is when to perform the convolution with Y 0 . It would be straightforward to do this at the end (i.e., at the root of the tree), but that would require an additional convolution each time an LRU stock level is increased. Therefore, this convolution is performed in the

Numerical experiment
We use the numerical experiment to answer four questions: 1. What is the quality of the solutions of our algorithm? 2. How should investments be divided between assets and spare parts? 3. What is the value of jointly optimizing spare assets and spare parts? 4. What is the computational effort required to run our algorithm? To this end, we generate two sets of problem instances. Set 1 consists of smaller problem instances and is mainly used to answer Question 1, by comparing the solution of our algorithm with the optimal solution, found by enumeration. Set 2 consists of larger problem instances and is used for two reasons. First, it is used to get managerial insights; i.e., to answer Questions 2 and 3. Second, it is used to compare the computation times of our algorithm with that of De Smidt-Destombes et al. (2011), thus answering Question 4. We explain how we generate both sets of problem instances in Section 6.1. We answer Question 1 in Section 6.2, Questions 2 and 3 in Section 6.3, and Question 4 in Section 6.4. 2 (When the number of LRUs is varied, also λ i is varied; we explain this below.) We use a full-factorial design per set and we generate 10 problem instances per combination of parameters. As a result, Set 1 and Set 2 consist of 2160 and 2880 problem instances, respectively. The way in which we generate problem instances leads to instances that are realistic in practice, and to a wide range of combinations of parameter values in the sets.

Setup
There are |I| LRUs and a value μ is drawn from a uniform distribution on the range [0, μ max ]. Then, for each LRU i ∈ I (see the explanation below): |I| in Set 1 and λ i ← 1,024 |I| in Set 2, and r c i is drawn from an exponential distribution with mean 1 c ave , and 10 is added. This effectively means that there are no LRUs with costs of less than 10, and the mean costs are c ave + 10. The same value μ can be used for all i ∈ I, since it influences only the number of assets in active maintenance, Y 0 . λ i is relevant only for calculating the distribution of the number of parts in resupply, X i for i ∈ I, and the distribution of the number of assets in active maintenance, Y 0 . Since the average number of parts in resupply is varied by varying T i , and since the average number of assets in the maintenance shop is varied by varying μ, λ i can be kept constant in each problem instance. However, when the number of LRUs is varied, λ i is also varied. Our aim is to get solutions in which the optimal number of spare assets and spare parts is realistic and higher than zero. We therefore show the average number of spare assets and spare parts in the solutions in the next section. The largest problem instances of Set 2 are the most realistic ones, with 1024 LRUs and a demand rate per LRU of one.
The costs of holding a spare asset are equal to c rel times the summation of the costs of holding one of each of the spare parts; i.e., c 0 = c rel i∈I c i . Finally, the target readiness, R obj , is varied.

Quality of solutions
Whenever we give results for multiple parameter settings in any of the tables in this or the next sections, the numbers are the averages over all problem instances with one of those settings. We sometimes additionally give a line with a maximum, which is then the maximum over all problem instances with one of those settings. For example, in Table 3, the first value on the top line gives the average number of spare assets in the solutions for the problem instances with 16 LRUs, while the second value on that line gives the maximum number of spare assets in any of the solutions to the problem instances with 16 LRUs. We use Table 2 to answer Question 1: It shows for the problem instances in Set 1 how our algorithm performs compared with the optimal solution. Many problem instances (51%) are solved to optimality by our marginal analysis approach, and the average difference with the optimal solution on the other instances is small: 3.7% on average. (The values vary depending on the problem size.) The maximum difference is large (93%) but large differences for these small instances can be caused by small mistakes. For example, for each of the three problem instances on which our algorithm incurs more than 50% additional costs, the number of stocked spare parts is correct, but one spare part is of the wrong LRU type. Furthermore, for all but one of the 14 problem instances on which our algorithm incurs more than 25% additional costs, the achieved readiness is at least two percentage points higher; i.e., there is a large overshoot (remember that the readiness target is at least 90% in our problem instances). The only exception is one problem instance with four LRUs, in which our algorithm stocks one asset too many. If we look at the problem instances for which our algorithm achieves a lower readiness than in the optimal solution, we see that the highest additional costs are 13% (the difference in readiness is 0.2 percentage point). All in all, we believe that our algorithm typically finds good solutions,

Managerial insights
To answer Question 2, Table 3 gives insight into the solutions that our algorithm finds (we explain the lower bound algorithm below). Recall that the lower bound in part (i) of Proposition 1, the lower bound that our algorithm uses, is such that the spare assets cover the active maintenance time. That means that if our algorithm stocks more spare assets, then, apparently, spare assets are also used to cover spare parts unavailability. However, this is not the case in our numerical experiment: The number of spare assets in the solution is close to the lower bound; it is the same for 82% of the problem instances (see Table 4). Furthermore, the gap becomes smaller when the problem size increases, to 0.04 on average for problem instances with 1024 LRUs. In fact, for more than 16 LRUs, the gap is never more than one. We further see that a gap of more than one only occurs if assets are relatively inexpensive; i.e., c rel = 0.5. However, this value of c rel will not be realistic in most practical settings. The other parameters have a very limited influence on the number of additional spare assets to stock. Table 5 shows that also in the optimal solution,   on Set 1, the number of spare assets is typically close to the lower bound. This suggests that the lower bound is useful in practice to get an idea of the fleet size to acquire, while it is easy to calculate. For that reason, we have also implemented what we call the lower bound algorithm. Our algorithm, as defined in Section 5 and Figure 2, stocks spare parts for a number of spare asset levels, starting at the lower bound in part (i) of Proposition 1. To show the value of jointly optimizing the spare asset and spare parts stock levels, we need to compare the solutions of our algorithm with those of an algorithm in which first the spare asset level is determined and then the spare parts stock levels. For a fair comparison, the spare asset level should be determined in a meaningful way. Since we have seen above that our algorithm often finds a solution in which the lower bound on the asset stock level is used, this is the asset stock level that the lower bound algorithm uses. Thus, the lower bound algorithm first sets the number of spare assets to stock equal to the lower bound from part (i) of Proposition 1 and then stocks spare parts in the same way as our algorithm. By comparing solutions of our algorithm with those of the lower bound algorithm, we answer Question 3. Table 3 shows the additional costs that the lower bound algorithm incurs for the different parameter settings. We see that the additional costs are sometimes large. Although the average additional costs decrease when the number of LRUs increases, there is still an instance with 1024 LRUs where using the lower bound algorithm leads to 43% additional costs. The lowest average additional costs are achieved when c rel = 2. This makes sense intuitively since assets are relatively expensive, so it is likely that it is more cost-effective to invest in spare parts than in spare assets. However, even when c rel = 2, the maximum additional costs are 24%. This clearly shows that joint optimization of spare asset levels and spare LRU levels is necessary in practice, since it is never certain upfront that it is safe to use the lower bound on the asset stock levels; i.e., the lower bound algorithm.

Computational effort
In this section, we answer Question 4. Table 6 shows the computation times for three algorithms: our algorithm that uses the bound based on Proposition 3, our algorithm that does not use that bound, and the algorithm by De Smidt-Destombes et al. (2011). Since the algorithm of De Smidt-Destombes et al. (2011) requires more computation time than our algorithms, we have only run the problem instances of up to 256 LRUs using their algorithm. Note that by construction, all three algorithms find identical solutions.
Given the number of convolutions that both algorithms perform for each LRU in each iteration of the marginal analysis approach, we would expect that, when not using the bound based on Proposition 3, the algorithm of De Smidt-Destombes et al. (2011) would require for 16, 64, and 256 LRUs four, 10.67, and 32 times as much computation time, respectively, being |I|/log 2 |I|. We find that the relative performance of our algorithm is about 70% of what we expected; i.e., their algorithm requires 2.7, 7.6, and 23.5 times as much computation time on average, respectively. This is probably due to our algorithm requiring more storage and overhead. We further see that using the bound that is based on Proposition 3 saves a considerable amount of computation time, with the savings increasing with an increasing problem size: For the instances with 256 LRUs, our algorithm that does not use the bound requires 2.2 times as much computation time on average as our algorithm that does use the bound. Table 7 shows the computation times on Set 2 for our algorithm that uses the bound. The computation times increase if the number of LRUs or the maximum resupply lead time increases. In both cases, this is due to the fact that more parts need to be stocked, so more iterations of the greedy algorithm need to be performed. In the former case, an additional reason is that more LRUs need to be checked in each iteration, since Problem (P) is not item-separable. If the relative costs of an asset increase, then the computation times decrease. The key reason for this is that fewer spare asset levels need to be enumerated. The influence of the other parameters on the computation time is limited.

Conclusions and recommendations
We have considered the problem of jointly optimizing the number of spare LRUs and spare assets; i.e., the spare parts inventories and fleet size. This is a problem that needs to be solved by companies that use a fleet of assets; e.g., railway operators, shipping companies, or defense organizations. We have found that the optimization problem is challenging, as it is not item-separable or jointly concave. Despite this challenge, we have been able to construct an efficient and effective algorithm. In a numerical experiment, we have shown that our algorithm typically finds solutions that are close to optimal and that our algorithm is relatively fast, both due to the order in which convolutions are performed and due to the bound based on Proposition 3 that is used to avoid performing unnecessary computations.
We have also shown that the asset stock level that our algorithm finds is often close to, or even the same as, the easily computable lower bound in Proposition 1. In fact, in all instances in our numerical experiment with more than 16 LRUs, our algorithm stocks exactly the lower bound or one more. Since the lower bound is the number of spare assets that are required to achieve the target readiness if there are unlimited spare parts available, our findings imply that spare assets should be acquired to cover the active maintenance time, while they should not be acquired to cover spare parts unavailability. This is the exact opposite of the "carcass politics" that we mentioned in Section 1: the policy of spending as much of the available budget on buying complete assets and spending only the remainder on spare parts. Still, setting the asset stock level to the lower bound and then stocking spare parts can lead to large additional costs. This means that joint optimization is necessary in practice.
It would be interesting to extend our work by modeling the maintenance processes more realistically. We have now assumed that the repair shop that repairs failed parts has ample servers. This may be realistic in many settings, since it can represent lead time agreements with the repair shop, but in other settings it may not be as applicable. We have further assumed that assets fail due to a failure in exactly one LRU and that only this LRU is replaced. In practice, often multiple LRUs are replaced at the same time; for example, since conditions of components are monitored. It may be interesting to model this process. It then becomes relevant to incorporate whether these replacements need to be performed sequentially; or can be performed in parallel.
Another interesting extension would be to consider the optimization of the LRU level itself: In case of a failure in a part of a certain LRU type, it may be possible to exchange and repair that part or a module in which the part is contained. This influences the exchange times, the required resources for the exchange, and the types and amounts of spare parts to stock. Some first results on that problem, without considering spare LRUs and spare assets, can be found in Parada Puig and Basten (2015).

Proof of Proposition 2
We first derive the difference function for the number of spare LRUs i ∈ I. For notational convenience, let Z i = Y 0 + k∈I\{i} B k . Then The fifth equation holds because if X i < S i + 1, then [X i − We next derive the second-order difference function: By Lemma 1, X i is a Poisson-distributed random variable with mean λ i T i so that we may express its probability mass function recursively as Now, for part (i): If S 0 + S i < λ i T i − 2, then P{X i = S i + 1 + b} > P{X i = S i + b} for b ∈ {1, . . . , S 0 + 1}, so that 2 i R(S 0 ) > 0. For part (ii): If S i ≥ λ i T i − 2, then P{X i = S i + 1 + b} ≤ P{X i = S i + b} for b ∈ {1, . . . , S 0 + 1}, so that 2 i R(S 0 ) ≤ 0.

Proof of Proposition 3
For notational convenience, let Z i j = Y 0 + k∈I\{i, j} B k . Then After the third equation, the case that z = S 0 + 1 − b is considered separately. Furthermore, we define c x=b a x = 0 if c < b.
We now require two results, which we prove below, that we combine to prove Proposition 3. The first result is that the first of the two terms in Equation (A1) is negative, while the second result is that the second term in that equation is smaller than P{X j = S j + 1}P{X i = S i + 1}. The summation of the two terms is then also smaller than P{X j = S j + 1} P{X i = S i + 1}.
1. X j in P{X j = S 0 + S j + 2 − b − z} and P{X j = S 0 + S j + 1 − b − z} ranges from S j + 1 and S j to S j + S 0 + 1 and S j + S 0 , respectively. Since S j ≥ λ j T j − 2, the first term in Equation (A1) must be negative (due to the properties of the Poisson distribution discussed in the proof of Proposition 2). 2. Since S i ≥ λ i T i − 2, it holds that As a result, the second term in Equation (A1) is smaller than P{X j = S j + 1}P{X i = S i + 1}.