optimal capacity expansion and contraction with uncertain ...metin/research/capacityor1.pdfa real...

36
Optimal Capacity Expansion and Contraction with Uncertain and Cyclical Demand Metin C ¸ akanyıldırım * School of Management, University of Texas at Dallas Phone: (972) 883.6361. Fax: (972).883.2089. Robin O. Roundy School of Operations Research and Industrial Engineering, Cornell University Phone: (607) 255.9137. Fax: (607).255.9129. October 6, 2003 * For correspondence: [email protected]

Upload: others

Post on 03-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

Optimal Capacity Expansion and Contraction

with Uncertain and Cyclical Demand

Metin Cakanyıldırım ∗

School of Management, University of Texas at Dallas

Phone: (972) 883.6361. Fax: (972).883.2089.

Robin O. Roundy

School of Operations Research and Industrial Engineering, Cornell University

Phone: (607) 255.9137. Fax: (607).255.9129.

October 6, 2003

∗For correspondence: [email protected]

Page 2: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

Optimal Capacity Expansion and Contraction

with Uncertain and Cyclical Demand

Abstract

This paper presents a novel approach to compute optimal machine capacity expansion/contraction times

under uncertain demand. It considers multiple machine types and allows for positive lead times for each

type. Each type may also have a nonzero installation lead time. The paper uses bottleneck policies

(BP); Always buy machines of the bottleneck machine type to increase capacity and always retire

machines in the reverse order. This order is used to optimally sequence machines types for expansion

and contraction for regular service and capacity costs. Lost sales costs are used as a measure of the

service. Capacity costs are computed through three components of machine specific costs: purchase

and retirement costs that are independent of the usage, and machine rent that is proportional to the

usage. Polynomial time algorithms are developed to solve the expansion and contraction problems

when the demand is first stochastically increasing and then stochastically decreasing. Extension of

the algorithms to several demand cycles is discussed and is shown to approximate true costs when the

demand is not stochastically monotone. A real life example drawn from the semiconductor industry is

solved to illustrate one of the algorithms.

Keywords: Capacity planning, uncertain demand, capacity delivery and installation lead times.

1

Page 3: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

1 Introduction

This paper models and illustrates an optimal solution strategy for a capacity expansion and contraction prob-

lem. A single product family experiences stochastic demand. The product family requires various operations

on different machine groups. As demand increases new machines must be purchased to increase capacity.

Conversely, machines are retired when the demand falls down.

Our model is motivated by equipment intensive industries, in which capacity expansion and contraction

is critical and costly. For example, a new semiconductor fab costs around one billion dollars, and a single

lithography machine costs around 4-5 million dollars. It is predicted that machine prices will continue to

increase as products become more complex (known as Moore’s Law, Standard and Poor’s Industry Surveys

[27] p.7). Finding the means to finance new capacity is a major problem. After the capacity is acquired, upper

management naturally asks for high utilization. However machine purchase lead times are long (for example

6-12 months is common in the semiconductor industry [28] p.116), and future needs are affected by a variety

of uncertainties. Consequently it is very important to buy and retire the correct set of machines at the correct

times, so that demand matches productive capacity. The main purpose of this paper is to provide decision

makers with a decision support tool to achieve such a match.

In many equipment intensive industries demand is volatile. Especially demand forecasts beyond the purchase

lead times carry substantial uncertainty. The semiconductor industry and electric utilities are good examples. In

the case of the semiconductor industry, for capacity planning purposes the most relevant demand figures are the

ones extending from about 6 months to about 3 years into the future. The volatility of these figures are discussed

in Cakanyıldırım and Roundy [9]. Due to rapid technology shifts there is a high risk that inventoried products

will become obsolete. Consequently semiconductor companies carry only minimal inventories (Cakanyıldırım

and Roundy [10]), and inventory provides only minimal protection against uncertainty. In the case of electric

utilities, short term capacity planning is mostly done daily against uncertain demand reaching its peak about

early evenings. There can be substantial uncertainty in the hourly power demand. The product is a commodity

and will not become obsolete. However inventories cannot be used to smooth out demand fluctuations because

the storage is not efficient or economical. Summarizing, demand should be matched by regulating capacity

because relying on inventory, except in the short term, is generally not economical.

We are assuming that all products have the same or very similar processing requirements, i.e. we have a

single product family which might be obtained by aggregating several products. In many industries a single

product family is often composed of many different product versions. When a new manufacturing technology

2

Page 4: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

becomes available, existing products are often migrated from an older technology to a newer one. New products

undergo a verification process before they are ready for production. Thus the uncertainty in the total demand

for a product family arises from several major sources - uncertainty in total marketplace demand, uncertainty

in the company’s market share, uncertainty in the timing of migrations of a product from one technology to

another, and uncertainty in the time when new products will be ready for production. We model the variability

in the total demand for the product family, without differentiating between the different sources of uncertainty.

Customer demands generally cycle with the economic climate, increasing in economic booms and decreasing

in economic slumps. Even high-tech industries which traditionally experience strong demand growth cannot

escape from these cycles. For example, the semiconductor industry hardly had 4-5 years of growth in the last

25 years while 2-3 years of growth followed by decline is common. Therefore, capacity contractions must be

studied along with expansions. Our model has a finite time horizon, treats time as a continuous variable, and

allows random demands. It does not permit any accumulation of inventory as motivated by the semiconductor

industry and electric utilities where unfilled demand is lost. Each machine type (or generator in electric utilities)

has a lead time for delivery and installation. We assume that machine capacities remain constant over the

decision horizon. We next discuss previous research. The mathematical model is presented in section 3. In

section 4, solution algorithms are discussed and illustrated with a real life example. We introduce the concept

of cyclical demand in section 5 and provide a brief conclusion in section 6.

2 Literature Survey

An extensive survey, capturing application areas and multi-location models, is in Luss [20], we discuss the mod-

els that appeared thereafter. Initially, capacity expansion work generally focused on models with deterministic

demands. Neebe and Rao [21] provides a shortest path formulation and a Lagrangian relaxation scheme to

sequencing and selecting expansion options. There have also been efforts to convert the stochastic expansion

problem to an equivalent deterministic problem in the sense that both problems have the same optimal solu-

tions. When product demands are transformed Brownian motion or transformed birth-death processes, Bean,

Higle and Smith [4] provide an equivalent formulation by replacing stochastic demand with its deterministic

counterpart and reducing the interest rate. Fong and Srinivasan [14] study a transportation problem where

the capacity of facilities is expanded as the deterministic demand grows. Li and Tirupati [19] explicitly con-

sider flexible and dedicated capacity expansions for multiple products and provide heuristics. Rajagopalan [23]

presents a capacity model by assuming that a combination of machines exist whose total capacity is exactly

3

Page 5: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

equal to the demand. The model captures capacity expansions, disposals and replacements.

If time is a continuous variable rather than a discrete one, the expansion problem becomes an optimal con-

trol problem whose objective is usually the integral of cost (production, expansion, inventory) over time,e.g.,

Khmelnitsky and Kogan [18] provide an algorithm to calculate the optimal expansion rate function for deter-

ministic demand. Davis, Dempster, Sethi and Vermes [11] regulate the expansion rate with an investment rate

function. As soon as the cumulative investment reaches the random price of a discrete capacity unit, that unit

becomes available. This paper enriches classical approaches by introducing a nonconstant investment rate and

random capacity prices which are more common in infrastructure industries than in manufacturing. Bena-

vides, Duley and Johnson [5] study the optimal expansion times for semiconductor fabs without differentiating

between machine groups.

In the economics community, the capacity expansion problem is recently addressed by works of Dixit [12],

and Eberly and Van Mieghem [13]. The latter establishes structural properties for expansion and contraction

policies for multiple factors contributing to capacity. It provides a closed form solution of the optimal policy in

the case of i.i.d. stochastic processes and stationary costs. It also introduces the concept of ordering expansions

of different factors of capacity (see Proposition 3), which inspires the Bottleneck Policies of the current paper.

Harrison and Van Mieghem [15] revisit Eberly and Van Mieghem [13] and study manufacturing costs explicitly.

Their model is for discrete-time, continuous-capacity-expansion and multi-product case whereas the current

paper proposes a model for continuous-time, discrete-capacity-expansion and single-product case. Angelus,

Porteus and Wood [1] consider semiconductor fab capacity expansion with fixed costs, and stochastically

increasing and correlated demand and apply inventory theory. They show that the optimal expansion policy

is (s,S) type where both parameters depend on the most recently observed demand. Rocklin, Kashper and

Varvaloucas [25] prove the optimality of (s,S) capacity expansion/contraction policies under certain conditions

on the cost function and for a specific case (when demand exceeds the capacity, capacity is installed in an

amount at least as large as the capacity deficit).

Rajagopalan, Singh and Morton [24] study the replacement of old vintage machines with new ones, under

both certain and uncertain technology arrival times, and with deterministic, nondecreasing demand. They show

some structural properties of the optimal solution and exploit those with a dynamic program. In competitive

markets, companies pay attention to each other’s capacity expansions to avoid too much slack capacity. Using

game-theoretic techniques, Bashyam [2] models a duopolistic market with a few stochastic demand scenarios

under two cases. In the first (second) case, each company makes decisions without (with) the knowledge of the

4

Page 6: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

other company’s decisions. The learning effect sometimes is not negligible, bringing per-unit costs and manu-

facturing times down. Under the learning effect, Hiller and Shapiro [16] provide a mixed integer programming

formulation of capacity expansion where concave manufacturing costs are approximated by piecewise linear

functions.

Although capacity expansions can be made at any time, quite a few models discretize time. Ong and Adams

[22] examine the effects of granularity of time on cost for three cases: certain demand without shortage, certain

demand with shortage, and uncertain demand. It is noted that the uncertain demand case is more sensitive to

time granularity. The study advises using nonuniform granularity i.e., decisions are made more frequently in

the short run than in the long run. In addition to making time discrete, another modeling practice is curtailing

the decision horizon. It is valuable to know the shortest decision horizon such that the first period’s decisions

do not change in response to events beyond that (decision) horizon. Bean and Smith [3] establish some criteria

for the existence of a finite decision horizon and provide an algorithm to calculate it. Recently, Van Mieghem

[29] has put together some of the work above and many others in an extensive review article.

3 Multiple Machine Capacity Expansion and Contraction Model

In this section we provide a mathematical description of the machine capacity expansion and contraction

model. Consider a single product family over a decison horizon [0, T ]. The family demand at time t is Dt(ω)

(ω ∈ Ω), a nonnegative and bounded random variable. We assume that Dt first stochastically increases and

then stochastically decreases, i.e. P (Dt ≥ y) is unimodal for any y ≥ 0. P (Dt ≥ y) can be set to increase

(decrease) to model the situation where demand only expands (contracts).

Let S be the earliest time P (Dt ≥ y) is maximized. Name [0, S] and [S, T ] as the expansion and contraction

intervals. If S depends on demand scenarios, we consider the conditional distribution of demand [Dt|S] for

every scenario. It may be convenient to specify our demand process in two steps, first specify S and then [Dt|S].

From these, we can construct Dt via unconditioning as ES [Dt|S]. Fortunately, P (Dt ≥ y) can still be unimodal

even when S depends on specific demand scenarios. For example, let T = 3 and suppose [Dt|S = 1] is U(0, 1) if

t ∈ [0, 1]∪ [2, 3], it is U(0, 2) if t ∈ [1, 2] and it is zero everywhere else. Suppose that [Dt|S = 2] = [Dt−1|S = 1]

and [S = 1] ([S = 2]) happens with probability p1 (p2). Then it follows that P (Dt ≥ y) = ESP (Dt ≥ y|S)

is unimodal with maximum at S = 1 (S = 2) if p1 ≥ p2 (p1 ≤ p2). A sufficient condition for concavity (so

unimodality) of P (Dt ≥ y) in t is that each P (Dt ≥ y|S) is concave. In summary, in an application where

expansion interval depends on demand scenarios, we can still have unimodal P (Dt ≥ y) and that is all we

5

Page 7: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

assume: We allow for some specific demand realizations to increase (decrease) after (before) S.

We consider M machine types indexed by i, and assume that all machines of a type are identical and work

in parallel. If a machine of type i is purchased at time t then the machine is available at time t + L(i) for

installation and qualification. L(i) is the nonnegative machine delivery lead time for machines of type i, but it

does not include machine installation and process set up/qualification times. In practice, machine installation

teams (generally maintenance workers) install machines while machine operators handle the manufacturing.

Typically machines are installed one by one. There generally is an installation lead time τ(i) for each machine

of type i. The installation team concentrates on each machine of group i during τ(i) to set up / qualify that

machine. A machine of type i purchased at t is delivered at t + L(i) and is available for regular production at

t + L(i) + τ(i). L(i) restricts the delivery time of a machine of type i independent of all other machines. On

the contrary, τ(i) restricts the availability time of a machine of type i depending on the most recently installed

machine’s availability time. Because of this dependence, τ(i) and L(i) should not be lumped together. This

subtle point will become clearer when we formally state our problem.

When a machine is retired at time t, it immediately becomes unavailable at time t. We use machine

purchases (retirements) for capacity expansion (contraction) as demand fluctuates. In our model machine

capacities are fixed and given, capacity expansions and contractions can only be made in these fixed quantities.

Each type of machines constitute a machine group whose capacity is of interest to us. When a machine of a

group is installed (retired), that group’s total capacity jumps up (down) by a constant amount. The overall

system capacity at any time is minimum of all machine group capacities. Thus, system and machine group

capacities are step functions. Figure 1 depicts the capacities for two machine groups, and a realization of the

demand Dt. The vertical bars in Figure 1 stand for the amount produced at time t, i.e. the minimum of the

capacity and the demand.

– Figure 1 –

The installation of the k-th machine of type i at time t will raise the capacity of machine group i to a(i, k),

where a(i, k) is simply the number of machine type i available at time t multiplied by the capacity of a machine

of type i. If this k-th machine is purchased at time t(i, k) − L(i) − τ(i) and the installation team is available

for installation at t(i, k) − τ(i), capacity goes up at the availability time t(i, k). Thus L(i) ≤ t(i, k) ≤ T and

t(i, k) can happen only τ(i) time after the completion of the last installation before t(i, k). For machines that

are available initially, t(i, k) = 0. Similarly, the retirement of the kth machine of type i at time u(i, k) will

6

Page 8: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

lower the capacity of machine group i from a(i, k) down to a(i, k − 1). Naturally, 0 ≤ t(i, k) ≤ u(i, k) ≤ T . If

t(i, k) = u(i, k) then the k-th machine of type i is never purchased.

Let K be an upper bound on the capacity that we would consider installing before time in [0, T ]. The set

of machines, including the existing machines, (i, k) : a(i, k) < K is sorted in increasing order of a(i, k) and

indexed by n, 1 ≤ n < N , so that a(in, kn) =: an ≤ an+1 and let tn := t(in, kn). Ties are broken arbitrarily.

Define Ln := L(in), τn := τ(in) and un := u(in, kn). We set tn = 0 for all existing machines, tN = uN , u0 = T

and aN = K. A bottleneck policy (BP) is a policy in which machines are made available for production in

increasing order of n and are retired on a decreasing order of n, i.e., tn ≤ tn+1 and un+1 ≤ un.

We model two kinds of costs, capacity costs and lost-sales costs. Capacity costs include the cost of financing

the purchase and installation of machines, and maintenance costs for the machines. The lost-sales cost is used

to measure service - the company’s ability to meet market demand. Other service measures could be used,

such as the expected number of weeks during which demand is fully met, etc. A service cost (measure) is called

regular if it depends on the machine purchase / retirement schedule only through the capacity, and postponing

the purchase or earlier retirement of a machine cannot decrease it. The measures described above are regular.

We limit attention to regular service measures. Capacity costs are called regular if postponing the purchase or

earlier retirement of a machine does not increase them.

Lemma 1 If the machine purchasing problem has regular cost functions, a bottleneck policy minimizes the total

cost with respect to any demand sample path realization under the following conditions:

i) Installation lead times are zero.

ii) Maintenance costs accumulated during τn and τm are the same for any two machines n and m.

Proof: Suppose that we are given an instance of the machine purchasing problem and a set of machine avail-

ability and retirement times tn, un : 1 ≤ n ≤ N, 0 ≤ tn ≤ un ≤ T. First, let n be the smallest integer such

that tn > tn+1. If (i) holds, we set tn+1 equal to tn. If (ii) holds, we switch the values of tn and tn+1. In case

of i), the capacity over [0, T ] is not affected while in case of ii) it may increase. However, in both cases service

costs do not increase. In case of i), the capacity costs do not increase since they are regular. The condition

(ii) directly implies that switching tn and tn+1 do not affect the maintenance or capacity costs. Iterating this

procedure we put availability times in BP order without increasing the cost. To complete the argument for

the retirement times, let n be the smallest integer such that un+1 > un and then set un+1 = un. Iterating the

above arguments, we can obtain a BP policy that does not cost more than the initial solution. Finally observe

that our arguments can be applied to any demand sample path. 2

7

Page 9: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

A direct corollary of the lemma says that the BP minimizes the total expected cost under i) and ii). The

BP can be implemented in a manner such that the most recently purchased machine is not retired first when

demand starts falling. BP merely says that the most recently purchased machine and the first machine to retire

must be of the same type. This distinction is important to avoid retiring new machines which may be slightly

more efficient than older ones in practical applications, although our model assumes that all characteristics

of the machines of the same type are the same. The assumption of identical machines in a group allows us

to build BP order. If the optimal purchasing and retirement order is given a priori, this assumption is not

required. If both i) and ii) of the lemma fail, the BP is not necessarily optimal but still can be used to obtain

approximately optimal costs. Only BPs is considered in the remainder.

For now we assume that there are no existing machines, we will relax this assumption later on. The BP

determines the sequence in which machines are brought on line and are retired, but we still need to select the

availability times tn and retirement times un, subject to the constraint

tn ≥ tn−1 + 1[0≤tn<un]τn and un−1 ≥ un for 1 ≤ n ≤ N where t0 = 0, tN = uN and u0 = T. (1)

The indicator function 1[0≤tn<un] takes value of 1 if the nth machine is installed. If machine n is not installed,

then tm = um for all m ≥ n. The capacity of the system over [tn, tn+1) ∪ (un+1, un] is an, see Figure 1.

Note that E[(Dt − a)+] is the expected amount by which the demand at time t exceeds a. Let ∆n(Dt) =

E[(Dt − an−1)+]− E[(Dt − an)+] where Dt is emphasized to indicate that the expectations are taken against

Dt. Then we take the expected value of the total unmet demand in [0, T ) as our service measure:

N∑

n=1

(∫ tn

t=tn−1

E[(Dt − an−1)+]dt +∫ un−1

t=un

E[(Dt − an−1)+]dt

)

=N∑

n=1

(∫ tn

t=tn−1

N∑

k=n

E[(Dt − ak−1)+]−E[(Dt − ak)+]+ E[(Dt − aN )+]dt

)

+N∑

n=1

(∫ un−1

t=un

N∑

k=n

E[(Dt − ak−1)+]− E[(Dt − ak)+]+ E[(Dt − aN )+]dt

)

=N∑

k=1

k∑

n=1

(∫ tn

t=tn−1

∆k(Dt)dt +∫ un−1

t=un

∆k(Dt)dt

)

+N∑

n=1

∫ tn

t=tn−1

E[(Dt − aN )+]dt +N∑

n=1

∫ un−1

t=un

E[(Dt − aN )+]dt

=N∑

k=1

(∫ tk

t=0∆k(Dt)dt +

∫ T

t=uk

∆k(Dt)dt

)+

∫ T

t=0E[(Dt − aN )+]dt

8

Page 10: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

=N−1∑

k=1

ηk(tk) + ζk(uk) + SC

where

ηk(tk) :=∫ tk

t=0∆k(Dt)dt , ζk(uk) :=

∫ T

t=uk

∆k(Dt)dt and SC :=∫ T

t=0∆N (Dt)dt.

Since SC is a sunk cost, independent of the timing of machine purchases, we will not include it in our objective

function. Actually by choosing N sufficiently large, SC can be brought down to zero. We obtain the following

lemma and illustrate lost sales functions with an example below.

Lemma 2 Total lost sales cost is separable by machines: It can be written as a sum of N functions, each of

which has only tn, un as argument.

Explanatory example: Suppose that T = 1 and the product demand is Uniformly distributed i.e., Dt ∼U(0, t) for t ∈ [0, 1]. Since the demand grows, the capacity is not contracted. First note that,

E[(Dt − a)+] =

t/2− a + 0.5a2/t if t ≥ a

0 otherwise

for 0 ≤ a, t ≤ 1.

Since ηn(tn) = 0 for tn < an−1, we study ηn(tn) only over tn ≥ an−1:

ηn(tn) =∫ tn

0∆n(Dt)dt =

(an − an−1)tn − 0.5(a2n − a2

n−1) ln tn + Constant if an ≤ tn

t2n/4− an−1tn + 0.5a2n−1 ln tn + Constant if an−1 ≤ tn < an

where Constant’s do not change with the availability time tn so they can be ignored. We will return to this

example in the next section. 2

We express the capacity costs as

N−1∑

n=1

Gn · 1(0≤tn<un) + hn(un − tn) + Hn · 1(tn<un<T )

where Gn is the time-independent fixed cost (perhaps a portion) of buying and installing machine n. Gn is

incurred if the machine is purchased, i.e., 0 ≤ tn < un. Hn is the salvage cost. It can take positive or negative

values but typically −Hn ≤ Gn. Hn is incurred if the machine is bought and retired before T , i.e., tn < un < T .

hn captures usage (un − tn) dependent costs: such as the amortized cost of the capital (perhaps a portion of

it) required to purchase and install the nth machine, plus the periodic maintenance cost. It is assumed to be

a convex and a nondecreasing function. The convexity may be due to the fact that older machines cost more

to maintain. We coin the term machine rent function for hn. Another interpretation of this cost structure is

9

Page 11: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

via subcontracting; Machine n is subcontracted at tn by paying the fixed transaction cost Gn. Machine is used

until un by paying a rent of hn per unit time. Subcontracting is terminated at time un by incurring the fixed

transaction cost Hn.

The problem of expanding / contracting facility capacities in a supply chain can be attacked with this

cost structure. Then machine types correspond to production or transportation facilities and each machine

corresponds to a chunk of capacity. BP order can be based on the minimum capacity facility in the chain.

Moreover, this cost structure can be used to study a simplified version of Unit Commitment Problem ([26]) of

power generators. Then machine purchases (retirements) will correspond to turning the generators on (off).

In order to apply this model to Unit Commitment Problem, an optimal sequence for the activation and the

retirement of generators must be known. This is trivially the case when generators are similar enough to be

treated identical. Otherwise, this model can be used to evaluate optimal costs for given sequences, perhaps

as a part of a (sequence) search heuristic and it can be used to obtain bounds on the optimal cost. Note

that decision horizons for unit commitment problem is significantly shorter than machine or facility capacity

expansion / contraction problems. Also S and T are easier to find out in the unit commitment problem as

demand for power peaks early in the evening and dwindles early in the morning.

For now, assume that Gn = Hn = 0 for all n. In the next section, we discuss how to treat nonzero purchase

costs and salvage values. Recall that Ln, 0 ≤ Ln < T is the lead time required for purchase, installation and

qualification of the nth new machine. We model the total cost associated with the purchase and retirement of

nth machine as

fn(tn, un) =

ηn(tn) + ζ(un) + hn(un − tn) if Ln ≤ tn ≤ un ≤ T

∞ otherwise

, 1 ≤ n ≤ N (2)

When the tool purchase budget is limited but unused budgets are transferred to the coming time periods,

budgets may imply financial lead times on machine purchases: the purchase of the nth machine is delayed until

the budget is sufficient enough to cover for∑

i≤n Gi. Then we must use the maximum of financial and delivery

leadtimes in (2). It is instructive to compare how τn and Ln are incorporated into our formulation respectively

via (1) and (2).

Without loss of generality, we assume that capacity costs Gn, hn and Hn are already scaled by the unit lost

sales cost so that we can add capacity and lost sales costs without further manipulation. We use (2) in our

computational study, but our algorithm does not require fn(., .) to have any particular algebraic form. The

10

Page 12: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

machine capacity problem (P) then becomes

(P) minN∑

n=1

fn(tn, un) : (1) holds.

We break ties by favoring larger values of tn and smaller values of un.

It is evident from (P) that all tn and un are determined at t = 0 against the demand distribution available

then. When the demand distribution is updated, we resolve (P). In the execution mode, at any time we imple-

ment only those expansions / contractions that have to be done before the next demand update. Consequently,

we advocate a rolling horizon approach.

The next section describes an algorithm for the computation of optimal machine purchasing and retirement

times. The algorithm requires that cost functions are convex and concave only once in [0, T ].

Lemma 3 Cost fn(t, u) is jointly convex over 0 ≤ t ≤ S ≤ u ≤ T .

Proof: It suffices to show that each of ηn, ζn and hn is jointly convex. Since hn is assumed to be convex,

hn(u− t) is jointly convex. We discuss the joint convexity only for ηn, similar arguments apply to ζn. It suffices

to study the derivative of ηn(t) in t .

dηn(t)dt

= ∆n(Dt) =∫ an

an−1

P (Dt ≥ y)dy. (3)

The integrand is nondecreasing over 0 ≤ t ≤ S so ηn(t) is convex. 2

Unimodality plays a central role in Lemma 3, however it may not hold over the entire horizon [0, T ]. We

later treat the case where P (Dt ≥ y) is unimodal within demand cycles which span the entire horizon when

concatenated together. Lemma 3 is used to restrict machine expansions (contractions) to demand expansion

(contraction) intervals. This observation is formalized with the next lemma.

Lemma 4 There exists an optimal solution t∗n, u∗n to (P) such that

i) Effectively all installations happen during demand expansion: For any machine n, either 0 ≤ t∗n ≤ S or

t∗n = t∗n−1 + τn (4)

ii) All retirements happen during demand contraction interval: S ≤ u∗n ≤ T .

Proof: i) Suppose we have an optimal solution with n0 as the smallest index such that S < t∗n0≤ T and (4)

fails. Then let ε = t∗n0− τn0 − t∗n0−1. Let C = n0, n0 + 1, . . . N be the set of all expansions happening at

or after t∗n0. We argue that the following modification on installation and retirement times does not increase

11

Page 13: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

the objective function: Pull both expansion and contraction times of machines in C by ε amount towards S

i.e. by setting tn = t∗n − ε and un = u∗n − ε for all n ∈ C. Observe that new expansion and contraction times

still satisfy (1). The costs associated with expansions and contractions outside C are not affected with this

modification so we focus on costs due to machines in C. Since un − tn does not change with the modification,

let xn = un − tn = u∗n − t∗n ≥ 0, then

n∈C

fn(t∗n, t∗n + xn) =∑

n∈C

(∫ t∗n

0∆n(Dt)dt +

∫ T

t∗n+xn

∆n(Dt)dt + hn(xn)

)

This cost cannot increase as we decrease t∗n because

d

dtfn(t, t + x) = ∆n(Dt)− ∆n(Dt+x) =

∫ an

an−1

P (Dt ≥ y)− P (Dt+x ≥ y)dy ≥ 0.

The last inequality follows from stochastically decreasing demand for t ≥ S. Since our modification does not

increase costs and yields a better or equivalent solution with tn0 = tn0−1 + τn0 . The argument for ii) is simpler

and is omitted. 2

Lemma 4 implies that most capacity expansions and all capacity contractions happen respectively during

demand growth and fall. There can be some machine installations happening after demand starts dropping

because installation team does not have the capacity to complete installations earlier. In that case, the in-

stallation team works full time from S to the installation of the last machine. Actually we can trace back

the availability time of machines installed after S to a machine m installed before S in the following sense. If

t∗n > S, then there exists another machine m such that

t∗n = t∗m +n∑

i=m+1

τi and t∗m ≤ S.

In the special case of τn = 0 for each machine n, without loosing any generality we can set

tN = S = uN . (5)

This constraint will later allow us to split (P) into expansion and contraction problems. Next, an algorithm is

devised to solve (P) without splitting it.

4 Calculation of Optimal Expansion and Contraction Times

One way to solve (P) is to pose it as a comvex minimization problem. This can be achieved by eliminating

indicator functions in (1). Let s be the index of the last machine installed in [0, T ], 0 ≤ s < N . Let (Ps) be a

12

Page 14: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

smaller version of (P) where the machines from s + 1 to N are removed from consideration because they will

not be installed. This can be achieved by setting tn = un for all n > s. Clearly (Ps) is a convex minimization

problem. For every s known and fixed, there is a unique set of KKT conditions whose solution yields the

optimal solution to (Ps). For every s, we attempt to construct a solution to KKT conditions. For n = 1 . . . s,

let λen−1 be the dual variable associated with constraint tn−1 + τn− tn ≤ 0 with the understanding that t0 = 0.

Define λcn similarly for constraint un − un−1 ≤ 0. Also associate λec for ts ≤ us. KKT conditions for a given s

are

(KKT-E): For 1 ≤ n ≤ s, ∇1fn(tn, un) = λen−1 − λe

n , tn−1 + τn ≤ tn , (tn−1 + τn − tn)λen−1 = 0 , λe

n−1 ≥ 0.

λes = λec , t0 = 0;

(KKT-C): For 1 ≤ n ≤ s, ∇2fn(tn, un) = λcn+1 − λc

n , un ≤ un−1 , (un − un−1)λcn = 0 , λc

n ≥ 0.

λcs+1 = λec , u0 = T.

(KKT-EC): ts ≤ us , (ts − us)λec = 0 , λec ≥ 0

where ∇ifn denotes the derivative with respect to the ith argument of fn. The KKT conditions are specific

to a given s. For now suppose that (P) is to be solved for a given s so that we can suppress the dependence

on s in our notation. When machine rents are nonlinear functions of usage, finding a solution to the KKT

conditions is challenging. It may require iterative algorithms whose complexity is exponential in N .

In the remainder of this paper, only those problems with linear machine rents are discussed. Linearity of

machine rents allow us to split machine n related costs fn(tn, un) into two

fen(tn) := ηn(tn)− hntn and f c

n(un) := ζn(un) + hnun.

This split simplifies the KKT conditions, which will next be specialized for nonzero and zero installation lead

times.

4.1 Nonzero Installation Lead Times

In this case, it is convenient to reindex retirement n as 2s − n + 1 so that retirement indices start from s + 1

and go upto 2s. Furthermore define generic cost function fn as

fn(t) =

fen(t) if 1 ≤ n ≤ s

f cn(t) if s + 1 ≤ n ≤ 2s

, 1 ≤ n ≤ N

13

Page 15: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

Note that we use t for retirement times after reindexing. Because of reindexing primal constraints associated

with retirements become tn ≤ tn+1 for s < n ≤ 2s where t2s+1 = T . Define zero installation lead times for

retirements, i.e. τn = 0 for n > s, to write primal constraints

tn ≥ tn−1 + τn for 1 ≤ n ≤ 2s , where t0 = 0 and , t2s+1 = T. (6)

Let λn−1 be associated with (tn−1 + τn − tn), i.e. λn−1 = λen−1 for n ≤ s and λn−1 = λc

2s−n+1 for n > s.

KKT-E, KKT-C and KKT-EC can be combined into a single set of KKT conditions

(KKT): For 1 ≤ n ≤ 2s, ∇fn(tn) = λn−1 − λn , tn−1 + τn ≤ tn , (tn−1 + τn − tn)λn−1 = 0 , λn−1 ≥ 0,

λ2s ≥ 0 , t0 = 0 , t2s+1 = T.

An algorithm will be presented to find a solution to these KKT conditions.

The capacity increment that results from installing machine n is an − an−1. Since machines are usually of

different types, the ratio of an − an−1 to the cost of machine n can be very small or very large. In isolation,

machines with small (large) capacity increment to cost ratio would be made available late (early). However,

because of the BP order, expansion times of machines collide and certain sets of machines may share the

same availability time. Then the total capacity increment that results from making a set of machines simul-

taneously available becomes commensurate with the total cost of these machines. Similar comments can be

made for machine retirements. Consequently, it is reasonable to expect that some machines are made available

simultaneously while some others are retired simultaneously. These group of machines are called clusters.

A cluster is a set of consecutive machines p, p + 1, . . . , q. Machines in the same cluster are installed one

after another without any idle time for the installation team, that is

n ∈ p, . . . , q ⇒ tn = tp +n∑

i=p+1

τi

Machines in the same cluster are all retired simultaneously. Let C be a generic cluster. Because of our cluster

definition all clusters except for one are either composed of installments (indices ≤ s) or retirements (indices

> s). There can exist at most one cluster that includes both installments and retirements. For each cluster

define ∧C := minn : n ∈ C and ∨C := maxn : n ∈ C. The root of a cluster is always ∧C. The root is

always the first installment or retirement in the cluster. The availability or retirement time of the root can be

used to obtain all the other availability or retirement times in a cluster:

n ∈ C ⇒ tn = t∧C +n∑

i=∧C+1

τi (7)

14

Page 16: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

Define expansion and lost sales costs attributed to clusters as follows

fC(tC) :=∑

n∈C

fn

tC +

n∑

i=∧C+1

τi

(8)

The availability or the retirement time associated with a given cluster C is computed by solving the following

problem, called (PC).

(PC)

minfC(tC) : 0 ≤ tC ≤ S if ∧ C ≤ s

minfC(tC) : S ≤ tC ≤ T if ∧ C > s

(9)

There can be machine retirements associated with indices in C even when ∧C ≤ s. However, the availability

time of the root of C is tC and all other availability and retirement times are related to tC via (7). Restriction

tC ≤ S still allows for some expansions and all retirements to happen after S. However, the restrictions

0 ≤ tC ≤ S and S ≤ tC ≤ T ensures that fC is convex over its domain. Thus, (PC) is a convex minimization

problem of only one variable. Moreover, these restrictions are satisfied by optimal availability and retirement

times; recall Lemma 4.

Let (Pp,s,q) be a smaller version of (Ps); In (Pp,s,q) the first p machines are initially available, the last

machine purchased is s and the last machine retired is q − 1. The indices must satisfy 0 ≤ s < N , 0 ≤ p ≤ s,

s < q ≤ 2s + 1. For example, in (Pp,s,s+1) no machines are retired while in (Pp,s,2s+1) all machines are retired.

To define (Pp,s,q) formally, add the following equalities to the constraints of (Ps)

0 = t0 = t1 = . . . = tp and tq = . . . = t2s = t2s+1 = T.

Let the optimal cost of (Pp,s,q) be cp,s,q.

Problems of type (P) can be solved to optimality with the class of PAV (pool adjacent violators) algorithms

in Best, Chakravarti and Ubhaya [7]. We use the general principles of PAV algorithms: (i) Machine availability

or retirement times that violate the constraints in (6) are pooled together into machine clusters. (ii) The

solution at the end of each iteration is optimal for a problem defined for a subset of machines. (iii) Clusters

are never split. A specialized PAV algorithm called the cluster algorithm is provided in Table I to solve

(Pp,s,q) : s < q ≤ 2s + 1 for given p and s. The algorithm increases the indices of the machines by one in

each iteration, which can be visualized as introducing a machine to the right hand side of existing clusters.

If J is a set of clusters that constitute a partition of 1, . . . , 2s, then C(n) is the cluster in J containing the

nth machine. Thus ∧C(n) ≤ n ≤ ∨C(n) for all n. Note that for each n ≤ q, a partition J of machines in

[p + 1, n − 1] is available from the computations in step n − 1 of the algorithm. The cluster C(k) containing

15

Page 17: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

machine k is defined with respect to partition J . The validity of the cluster algorithm is established by showing

that KKT conditions are satisfied if the dual variables are defined as

λ∨C = 0 , λn =∨C∑

i=n+1

∇fi(tC) for each n ∈ C and each C ∈ J

where J is the final partition reported by the algorithm.

- Table I -

We now examine the running time of the cluster algorithm. The cluster algorithm never splits an existing

cluster. Since there are N machines, it can perform at most O(N) unions. Whenever there is a union or

the index n increases by one, an fC must be minimized. Thus, at most O(N) function minimizations are

performed while solving all of the subproblems in (Pp,s,q) : s < q ≤ 2s+1 for fixed p and s. A total of O(N3)

minmizations are done to solve all the subproblems for all p and s. Moreover,

n∈E

ηn(t) =∫ τ=t

τ=0E[(Dτ − a∧E−1)+]−E[(Dτ − a∨E)+]dτ,

n∈C

ζn(t) =∫ τ=T

τ=tE[(Dτ − a∧C−1)+]− E[(Dτ − a∨C)+])dτ.

Thus fC(t) can be evaluated in time that is constant in |C|. Since fC(t) is convex, each minimization takes T ,

i.e. constant time in the number of machines in |C|. However, T can increase with the desired accuracy of the

minimizers. As a result, the cluster algorithm runs in O(N3 T ) and computes cp,s,q : 0 ≤ p ≤ s < N, s < q ≤2s + 1. The algorithm stores only one availability or retirement time per machine so it requires only O(N)

memory while computing each cost cp,s,q. Once the cost cp,s,q is computed and stored into O(N3) memeory all

the availability and retirement time data can be cleared from the memory. In summary, when the installation

lead times are nonzero, the cluster algorithm computes cp,s,q : 0 ≤ p ≤ s < N, s < q ≤ 2s + 1 in O(N3 T )

time and stores them in O(N3) memory space.

Nonzero fixed costs Gn and Hn are now incorporated into computations. Let I0 be the existing machine

with the largest BP index. Assume that the set of existing machines respect the BP, i.e. if n is an existing

machine so are 1, . . . , n − 1. It may be profitable to retire some of the existing machines at time t = 0 and

purchase them at a later time. This operation will save some machine rent and can bring in some salvage value

(if Hn < 0) but will require payments for the fixed purchase costs later on. Let p + 1, . . . , I0 be the set of

machines to retire initially at t = 0 where I0 is known but p must be determined. Then the optimal cost of

16

Page 18: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

(P) would be

min0 ≤ p ≤ s < N

s < q ≤ 2s + 1

I0∑

n=p+1

Hn +s∑

n=∧p,I0+1

Gn + c∧p,I0,s,q +q−1∑

n=s+1

Hn

(10)

Note that when p > I0, no machines are retired at t = 0 so the first term in the objective function vanishes.

Once cp,s,q : 0 ≤ p ≤ s < N, s < q ≤ 2s+1 are computed, the cost in (10) can be evaluated for every possible

value of p, s and q. Thus the minimum cost can be found in O(N3 T ) time.

Theorem 1 If installation lead times are nonzero, the capacity expansion / contraction problem can be solved

in O(N3 T ) time.

Theorem 1 applies to the general case when I0, Gn and Hn can all be nonzero. If some of these parameters

are zero, we obtain the first 7 cases listed in Table II. The fifth column contains the set of problems to solve

for each case. These sets are determined by studying which of the indices p, s and q are necessary to evaluate

the cost in (10). The running times in the sixth column depend directly on how many of the indices p, s and q

are fixed in the problems. In Case 3, solving (P0,s,2s) : 0 ≤ s < N in O(NT ) requires modifying the cluster

algorithm in a manner that new machine indices are introduced into the middle of existing clusters instead of

to the right hand side as in Table I: Given optimal clusters for (Ps−1), installation and retirement indices s and

s + 1, both for machine s, are introduced one by one. Times ts and ts+1 are found by respectively minimizing

fs and fs+1. Clusters are united if ts and ts+1 violate the constraints ts−1 + τs ≤ ts ≤ ts+1 ≤ ts+2. Since no

clusters are ever split, there can be at most O(N) unite operations. The last two columns of Table II relates

to zero installation lead times which is discussed in the next subsection. This subsection is closed with an

example.

- Table II -

Explanatory Example continued: We revisit the example of uniform product demand presented before.

Suppose that machines A and B are both needed to manufacture the product and a single A (B) machine

has 0.3 (0.4) units of capacity. Further suppose that currently 1 A and 1 B are available so a0 = 0.3. The

bottleneck machine is A. After installing a single A at t(A, 1), B becomes the bottleneck with capacity 0.4 so

a1 = 0.4. After the first installation of B at t(B, 1), A becomes the bottleneck with capacity 0.6 so a2 = 0.6.

17

Page 19: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

Installing machines in BP order a3 = 0.8 with 3 A’s and 2 B’s, and a4 = 0.9 with 3 A’s and 3 B’s. Suppose

that K = 1 so we do not consider installing the third A machine and N = 5. We use bottleneck policy to get:

0 ≤ [t1 := t(A, 1)] ≤ [t2 := t(B, 1)] ≤ [t3 := t(A, 2)] ≤ [t4 := t(B, 2)] ≤ [t5 := t(A, 3)] = [S = 1]

Since the demand is stochastically increasing, S = T and no machines are retired. Suppose that all machine

capacity costs are zero except for the per-time operation costs and rents for machines A and B, namely hn = 0.05

for all machines. Furthermore set all installation lead times to zero.

Using the ηn(t) obtained before in the context of uniform demand, for any C ⊆ 1 . . . 5,

fC(t) =

(a∨C − a∧C − h(C))t− 0.5(a2∨C− a2∧C

) ln t + Constant if a∨C ≤ t

t2/4− (a∧C + h(C))t + 0.5a2∧Cln t + Constant if a∧C ≤ t < a∨C

−h(C)t if t < a∧C

where h(C) =∑

n∈C hn. In this example, hn values are chosen large enough so that tC ≥ a∨C for all the

clusters C considered below. Then the optimal availability time for cluster C is

tC = min

0.5(a2∨C

− a2∧C)

a∨C − a∧C − h(C), 1

.

Now we will use the Cluster algorithm to solve this 5 machine problem, (P) = (P1,5) so r = 1 and s = 5.

At the start R = 1, 2, 3, 4, 5 and n = 2. When we are solving subproblem (P1,2), t1 = 0.7 = tC(k) and

t2 = 0.66 = tC′ so we unite machine expansions into C = 1, 2 and set R = 1, 3, 4, 5. In the next two

subproblems (P1,3) and (P1,4), t1,2 = 0.675 = tC(k) and t3 = 0.93 = tC′ , and t3 = 0.93 = tC(k) and t4 = 1 = tC′

so no other unite operations are executed. Thus root set R = 1, 3, 4, 5 remains unaltered and it leads to

the optimal machine clusters 1, 2, 3, 4 and 5. In terms of expansion times, t(A, 1) = t(B, 1) = 0.675,

t(A, 2) = 0.93, t(B, 2) = t(A, 3) = 1, the second B machine is not purchased within the planning horizon. 2

4.2 Zero Installation Lead Times

In this case Lemma 4 can be used to trivially set λes = λc

s = λec = 0. Thus, KKT-EC is eliminated and

KKT-E and KKT-C are separated. Remaining KKT-E and KKT-C conditions correspond to expansion (PE)

and contraction (PC) problems

(PE) minN∑

n=1

fen(tn) : 0 = t0 ≤ t1 ≤ t2 ≤ . . . ≤ tN−1 ≤ tN = S,

18

Page 20: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

(PC) minN∑

n=1

f cn(un) : S = uN ≤ uN−1 ≤ . . . ≤ u1 ≤ u0 = T.

Note that the original indexing of retirements is kept unchanged. The cluster definition does not change but the

interpretation does: Machines in the same cluster are installed or retired simultaneously. Because of Lemma

4, each cluster can be considered either as an expansion cluster E or as a contraction cluster C. Cluster costs

and a cluster subproblems still can be respectively defined by (8) and (9).

Let (PEp,s) be a smaller version of (PE) where first p machines are initially available and the last machine

purchased is s, i.e add the constraints 0 = t0 = . . . = tp and ts+1 = . . . = tN = S to (PE). Also define (PCs,q)

as a smaller version of (PC) where first s machines are initially available and the last machine retired is q + 1,

i.e add the constraints S = uN = . . . = us+1 and uq = . . . = u0 = T to (PC) Suppose that fixed costs Gn

and Hn are zero. The cluster algorithm of Table I can be modified to solve (PEp,s) : 0 ≤ p ≤ s < N and

(PCs,q) : 0 ≤ q ≤ s < N separately. The algorithm can be validated by choosing the dual variables as

λe∨E = 0 , λe

n =∨E∑

i=n+1

∇fei (tE) for each n ∈ E and λc

∨C = 0 , λcm =

m∑

i=∧C

∇f ci (uC) for each m ∈ C.

Although expansion and contraction problems are solved separately, their solutions must be patched to-

gether with the Expansion/Contraction (EC) algorithm presented in Table III. With the cluster algorithm, all

the problems in (PEp,s) : 0 ≤ p ≤ s < N and in (PC

s,q) : 0 ≤ q ≤ s < N can be solved in O(N2 T ) and their

costs can be stored into O(N2) memory. Thus, step A of the EC algorithm can be completed in O(N2 T ).

- Table III -

To discuss the running times of the problems in Table II, consider nonzero I0, Gn and Hn. Let eI,s be the

cost of the expansion problem if machines in I + 1, . . . , I0 are retired at t = 0 and machines in I + 1, . . . , sare purchased:

eI,s =I0∑

n=I+1

Hn + eI,s +s∑

n=I+1

Gn for I ≤ I0, I ≤ s (11)

Note that salvage costs are incurred when retiring existing machines. Let

I∗(s) = arg min0≤I≤I0

eI,s and e∗,s = eI∗(s),s for 0 ≤ s < N (12)

where e∗,s is the optimal expansion cost with the option of retiring some of the existing machines immediately.

In particular, all of the machines in I∗(s) + 1, . . . , I0 are retired at t = 0 to achieve e∗,s. Analogous to e∗,s,

19

Page 21: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

let cs,∗ be the optimal cost of the contraction problem starting with machines in 1, . . . , s at t = S:

q∗(s) = arg min0≤q≤s

cs,q +

s∑

n=q+1

Hn

and cs,∗ = cs,q∗(s) +

s∑

n=q∗(s)+1

Hn for 0 ≤ s < N (13)

Finally, the optimal last machine s is found by combining expansion and contraction costs

s∗ = arg min0≤s<N

(e∗,s + cs,∗) (14)

Then the solution to the expansion contraction problem dictates retiring machines in I∗(s∗) + 1, . . . , I0 at

t = 0, installing machines in I∗(s∗)+1, . . . , s∗ at times given by the optimal solution to (PEI∗(s∗),s∗). Moreover,

machines in q∗(s∗) + 1, . . . , s∗ are retired at times given by (PCq∗(s∗),s∗).

The validity of the EC algorithm can be established by arguing: (i) All feasible solutions are considered

by the EC algorithm. (ii) Given a last machine s0 and the associated optimal solution, the optimal total cost

TC(s0) is less than or equal to e∗,s0 +cs0,∗. In particular, TC(s0) < e∗,s0 +cs0,∗ if ts0 = us0 in the given optimal

solution and Gs0 > 0. That is because, the cost e∗,s0 + cs0,∗ includes Gs0 but does not necessarily use machine

s0. Then,

TC(s0) = minn≤s0

(e∗,n + cn,∗) (15)

Minimizing both sides of (15) over s0 : 0 ≤ s0 < N, we obtain the minumum in (14). Thus, the optimal last

machine index s∗ computed by the EC algorithm is correct.

Recall that step A of the EC algorithm generates all ep,s and cs,q. Once all ep,s and cs,q are available,

the computations in (11), (12), (13) and (14) can be done in O(N2). These are steps B, C and D of the EC

Algorithm. Thus, the EC algorithm solves the problem in Case 8 of Table II in O(N2 T ) time. In the special

case of I0 = 0 and Hn = 0, the cluster algorithm solves (PE0,s), (PC

s,0) : 0 ≤ s < N in O(N T ) in step A of the

EC algorithm. Steps B or C can be ignored. In step D, the sum in the right hand side of (14) is replaced by

eI0,s + cs,1, then s∗ can be found in O(N). In Cases 1 and 3, the EC Algorithm runs in O(N T ). In Case 5,

the cluster algorithm if directly applied to (Pp,N,2N ) yields a solution in O(N T ) while the EC algorithm takes

O(N2 T ). However, except for Case 5 the EC algorithm always has running times shorter than or equal to

those of the cluster algorithm; compare columns six and eight of Table II. In summary, zero installation lead

times give rise to faster algorithms by a factor of O(N) in Cases 6 and 8.

Real Life Example: We illustrate the EC algorithm with real life data from the semiconductor industry.

We obtained machine data from SEMATECH (SEmiconductor MAnufacturing TECHnology, sematech.org)

20

Page 22: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

databases. Machine data includes purchase prices, capacities (in number of wafers per month) and delivery

lead times (in months). There are about 40 machine types, each of which is necessary to manufacture a single

wafer. Machine delivery lead times range from 12 months to 24 months. Purchase prices are between $0.4

M and $11 M which are converted to monthly machine rents using fixed amortization. We assume that fixed

machine purchase costs and salvage values are zero, and set the lost sales costs at $1.2 K per wafer. Initial fab

capacity is about 5900 wafers per month. We plan for capacity starting 12 months from now and ending 67

months from now, so lead times shorter than or equal to 12 months are irrelevant. In each month, demand is

modelled by a symmetric trapezoid density with lower and upper bounds shown in Figure 4. The trapezoid

density has three intervals over which it linearly increases, stays constant and linearly decreases. We choose

these interval lengths equal so that a lower bound and an upper bound suffice to define the entire demand

process. Demand is stochastically increasing for the first 30 months (S = 30) and stochastically decreasing in

the remaining 25 months (T = 55). We plan to buy at most 82 machines in the 55 month planning horizon

(N = 82). According to the optimal solution shown in Figure 4, only 34 machines are installed in 5 different

months (5 clusters) in the first 30 months of demand growth. In the remaining 25 months, 31 machines are

retired in 5 different months (5 clusters) leaving a capacity of about 6600 wafers per month. A more detailed

study of capacity expansion heuristics and models for the Semiconductor Industry can be found in [10]. 2

– Figure 4 –

4.3 Remarks

Having presented algorithms to find an optimal solution to (P), we make several remarks which apply to

problems with zero and nonzero installation lead times.

• Existing machines may violate the BP order. Suppose that machines in 1, . . . , I0 and machine n exist

initially where n > I0 + 1 and there are no other machines. Since tn = 0 in this case, we concentrate

on the cost associated with un, i.e. ζn(un) + hnun. From the proof of Lemma 3, this cost is concave for

0 ≤ u ≤ S so it is minimized either at u = 0 or u ≥ S. To decide whether machine n should be retired

immediately or kept at least until S, it suffices to compare the costs of these two options. If n is retired

immediately, Hn is paid but then the existing machines respect the BP order. The cost of this option is

computed by adding Hn to costs in (10) or in (11). If n is notretired, set an−1 := an because as soon as

n− 1st machine is installed the overall production capacity becomes an. Remove the nth machine from

21

Page 23: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

the problem. Note that machine n’s rent is hnun−hntn, removing machine n from the problem causes tn

to drop from the cost expressions. The remaining term hnun reflects the true machine rent paid until un.

After these modifications, the existing machines respect the BP order and the costs can be computed in

ususal manner. This logic cannot be efficiently extended to the case with two or more existing machines

violating BP order; The costs must be computed separately by prsuming that a subset of machines in

violation are retired immediately. However, the number of machines violating the BP order is limited by

the number of machine types and in most practical applications there will be a few machines violating

the BP order. Moreover, once machines are put into BP order, the EC algorithm will retain the order.

• Machine rents may be nonlinear. Our algorithms can still be applied after approximating machine rents

with linear functions. Our solutions will not be optimal but can be used as a good starting point for an

iterative algorithm solving KKT-E, KKT-C and KKT-EC conditions. Since (Ps) is a convex program,

the iterative algorithms, if they converge, will always yield the global optimal solution.

• The size of (P) is determined primarily by the number of machines considered. Since capacity larger

than the largest demand is useless, minn : an−1 ≥ supω∈Ω DS(ω) is an upper bound on N . Another

meaningful upper bound on N can be derived from the total machine purchase budget available over

[0, S].

• The horizon T is determined by the availability of stochastic forecasts Dt : 0 ≤ t ≤ T. There can

be multiple demand expansion and contraction cycles in [0, T ]. In the case of Gn = Hn = 0 for all n,

solutions to cycles are independent by the special structure of (P); As far as the immediate decisions

are concerned, it is sufficient to myopically solve a single cycle problem. For nonzero Gn and Hn, cycles

affect each other and a reasonable effort must be made to consider all the demand cycles. We focus on

multiple demand cycles in the next section.

5 Demand Cycles with Linear Machine Rents

If several demand cycles are considered and Gn or Hn are nonzero, capacity expansions and contractions over

these cycles must be optimized together. We now provide a shortest path formulation for this purpose by

first starting with the demand characterization: Suppose there are K demand cycles and within each cycle

demand stochastically increases and decreases only once. Then [0, T ] can be partitioned into K expansion

22

Page 24: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

and contraction intervals following each other; Expansion during [Tk−1, Sk] and contraction during [Sk, Tk] for

k = 1 . . . K where T0 = 0 and TK = T .

In our formulation, stages correspond to the time epochs at the end of demand cycles. Adding these stages

to the starting stage at t = 0, we index stages from 0 to K. At each stage we have an integer Ik−1 as the state

variable indicating the existing machines at the beginning of demand cycle k. For example, 1, . . . , I0 and

1, . . . , I1 are the set of existing machines at t = 0 and t = T1. The shortest path problem is defined on a

network which has nodes that correspond to states; we use (k, n) to denote state Ik = n at stage k, 0 ≤ k ≤ K,

see Figure 2.

– Figure 2 –

The network has horizontal arcs among stages and vertical arcs inside stages. The length of each horizontal

arc denotes capacity expansion and contraction costs over a demand cycle. We let Eki,j be the cost of starting

demand cycle k with machines 1, . . . , i and ending it with machines 1, . . . , j, Eki,j does not include machine

retirement costs at the beginning of cycle k. Then j +1 is the BP index of the last machine retired. Depending

on whether installation lead times are zero or not, cycle costs are

Eki,j =

min∑sn=i+1 Gn + ck

i,s,2s−j+1 +∑2s−j

n=s+1 Hn : i ≤ s ≤ 2s− j + 1, s < N if τn > 0 for some n

min∑sn=i+1 Gn + ek

i,s + cks,j +

∑sn=j+1 Hn : ∨i, j ≤ s < N if τn = 0 for all n

Superscript k indicates that lost sales costs are computed against the demand during cycle k. Cost Eki,j is

assigned to arc from node (k − 1, i) to (k, j). In order to model retiring machines at the beginning of each

demand cycle we add vertical arcs from node (k, i) to node (k, j) where i > j and set their length to∑i

n=j+1 Hn.

If the demand process does not have jumps at the begining of cycles, there will be no need to decrease capacity

suddenly at the beginning of cycles. This is because any necessary decrease in capacity at the begining of a

cycle can be made at the end of the previous cycle. Then, we do not need to include vertical arcs at any stage

but stage 0. With or without vertical arcs, there will be O(N2K) arcs in the network.

To construct the network, we need to compute capacity expansion and contraction costs during demand

cycles. All the problems pertaining to a demand cycle can be solved in O(N3 T ) (O(N2 T )) when installation

lead times are nonzero (zero). Then it takes O(N) comparisons to compute each Eki,j or O(N3) to compute all

Eki,j in a given cycle. Thus, all arc lengths in a demand cycle can be computed in O(N3 T ) (O(N2 max(T , N))).

Because of the stage structure of the network, we can compute the shortest paths to nodes primarily in the

order of increasing k and secondarily in decreasing n. Each node has O(N) incoming arcs, so finding the

23

Page 25: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

shortest path to each node takes O(N) comparisons. In total, the shortest path can be found in O(K N2)

which is dominated by the time required to construct the network. Consequently, expansion / contraction

problems over K demand cycles can be solved in O(K N3 T ) (O(K N2 max(T , N))) if installation lead times

are nonzero (zero).

Many stochastic demand processes can be approximated fairly well by processes that stochastically increase

and decrease several times over [0, T ]. We use this assertion to approximately solve problems where demand

process is not monotone throughout the horizon. The assertion can be made concrete for a specific class of

demand processes that are uniformly distributed between piecewise linear bounds at and bt at time t, i.e.

Dt ∼ U(at, bt). Dt is stochastically increasing (decreasing) if both at and bt are nondecreasing (nonincreasing).

If this is not the case, we will create an approximate demand process DKt using K demand cycles as follows:

First divide the time horizon into short enough cycles [Tk−1, Tk] such that bounds are linear in each cycle. In

cycles where at and bt are nondecreasing (nonincreasing), set Sk = Tk (Sk = Tk−1), aKt = at and bK

t = bt

throughout the cycle. Then pick any cycle [Tk−1, Tk] where at and bt are moving in the reverse directions and

set Sk = (Tk−1 + Tk)/2. Also create approximate bounds aKt and bK

t such that they are linear on [Tk−1, Sk]

and [Sk, Tk], and agree with at and bt at the beginning and end of the cycle:

• If at is increasing and bt decreasing over [Tk−1, Tk],

aKTk−1

:= aTk−1, aK

Sk:= aTk

and aKTk

:= aTk; bK

Tk−1:= bTk−1

, bKSk

:= bTk−1and bK

Tk:= bTk

. (16)

• If at is decreasing and bt increasing over [Tk−1, Tk],

aKTk−1

:= aTk−1, aK

Sk:= aTk−1

and aKTk

:= aTk; bK

Tk−1:= bTk−1

, bKSk

:= bTkand bK

Tk:= bTk

. (17)

Figure 3 illustrates (a2t , b

2t ) and (a4

t , b4t ) for a given pair of (at, bt). By construction DK

t ∼ (aKt , bK

t ) is stochasti-

cally increasing over [Tk−1, Sk] and decreasing over [Sk, Tk] for each demand cycle k so our algorithms can be

used in each cycle.

– Figure 3 –

The lost sales costs can be approximated well by using DKt instead of Dt, indeed the approximate cost

converges to the actual cost as K increases. For any given instance of the problem, there exists a true

optimal solution and the associated cost. On the other hand, we can also compute the optimal shortest

path in the demand cycle network with approximate demands. The next lemma establishes that the latter cost

approximates the former and the proof is in the appendix.

24

Page 26: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

Lemma 5 Given uniformly distributed demand process Dt with piecewise linear bounds, suppose that DKt is

constructed according to (16) and (17). The length of the shortest path measured against DKt in a K cycle

network is nonincreasing in K and eventually converges to the true optimal cost measured against Dt.

For any finite K, the optimal approximate cost obtained from the cycle network is an upper bound on the

true optimal cost. This can be used to obtain bounds for budgeting purposes for capacity related costs.

Mixtures of specific demand distribution studied above can be used to mimic more complex demand pro-

cesses, e.g. uniform demand with nonlinear bounds and nonuniform demands. Fortunately, these complex

processes can still be approximated by patching together stochastically increasing and decreasing processes

over several demand cycles. In conclusion, approximating nonmonotone demands by monotone demands makes

our algorithms applicable for a wide range of problems.

6 Conclusion

We provided a polynomial time algorithm to optimally plan for capacity expansions / contractions and illus-

trated its use with a real life example drawn from the semiconductor industry. We first have assumed that

a single product family experiences stochastic demand that first stochastically increases and then decreases.

Machines are purchased while demand is growing and are retired later on. Machines can have delivery and

installation lead times. Unlike a good portion of the existing capacity expansion literature that deals with

single machine types, we model a multiple machine type problem by introducing BP order for the sequence of

purchases and retirements. BP order remains optimal for regular cost functions, in addition to our specific lost

sales and capacity costs. We have discussed that capacity cost structure is general enough to accommodate

several interperetations: machine purchases (with or without salvage values), subcontracting, simplified ver-

sions of unit commitment problem, facility capacity expansion / contraction in a supply chain. We also provide

a network formulation for optimal capacity expansion / contraction over several demand cycles. Later we have

established that this formulation can be used to approximately solve capacity problems when the demand is

not stochastically monotone.

Our model is motivated by equipment intensive industries such as the semiconductor industry and electric

utilities where capacity is costly and have considerable installation lead times. Capacity expansions and con-

tractions are the primary irreversible decisions that have long term effects on competitiveness and profitability.

Capacity plans must consider risks of undercapacity and overcapacity that arise from uncertainty, which can be

25

Page 27: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

built in via a general stochastic demand model. Managers always strive to match capacity with demand, often

by trading off service costs against capacity expansion and contraction costs. Since almost all the capacity

planning work deals with expansions and ignores capacity contractions, our model fills an important gap in

the literature by yielding an algorithm to automatically make this trade off. Moreover, it allows managers to

study the trade off under different capacity budgets, and demand processes with varying degrees of uncertainty.

Then managers can use the algorithm to substantiate capacity budget requests from the upper management.

Studying the trade off under different degrees of uncertainties will show the significance of (more) accurate

forecasting. Then managers can determine if more effort should be spent for forecasting.

Several managerial insights can be drawn. The optimality of BP order for machine expansions and con-

tractions is probably the most intuitive. The BP order can be used not only for capacity planning but also for

execution; for example when a machine delivery is late, managers may ask for the postponement of the deliveries

of all the machines coming after the late machine in the BP order. Another managerial insight is the optimality

of machine clusters. Sometimes managers use capacity expansion heuristics, for example they target to meet a

high percentage of the demand throughout the planning horizon. When the demand is growing continuously,

heuristics dictate installing machines one by one, i.e. by spreading installations. Spreading installations can

break down optimal clusters and can lead to suboptimal solutions. Besides, it actually is desirable to install

and retire machines in clusters to minimize disruptions to operations. Lastly, when installation lead times are

nonzero, it can be optimal to install machines even after demand starts falling.

26

Page 28: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

Appendix: Proof of Lemma 5

To establish the convergence of the shortest path length (computed with approximate demands) to the true

optimal cost, it is sufficient to show that the lost sales cost can be distributed to K cycles and they converge

to true costs as K increases. Suppose that in a solution machine n is installed at tn,1, . . . , tn,L and retired at

un,1, . . . , un,L where tn,l ≤ un,l ≤ tn,l+1 so a total of L installments and retirements occur during [0, T ]. Using

Lemma 2, instead of the total lost sales cost we can focus only on lost sales cost associated with machine n:∫ tn,1

0∆n(Dt)dt +

L∑

l=2

∫ tn,l

un,l−1

∆n(Dt) +∫ T

un,L

∆n(Dt)dt. (18)

If the cycles are sufficiently short (K is sufficiently large and K > L), there will exist a Tk between any

retirement time un,l and the next instalment time tn,l+1. Then there can be at most one retirement and one

installment in an arbitrary cycle [Tk−1, Tk]. To partition the cost in (18) to K cycles, define phony installments

and retirements for cycles which contain no installments or retirements. Start from cycle k = 1. If the first

cycle contains a retirement but no installment (machine is initially available), set tn,1 = 0 and un,1 = un,1 and

let k = 2. Otherwise keep k = 1.

• If [Tk−1, Tk] contains no installment time or retirement time, set tn,k = Tk and un,k = Tk.

• If [Tk−1, Tk] contains one installment time tn,l and no retirement time, let k be the first cycle after cycle

k that contains a retirement time. Thus, the lth instalment and retirement happens in cycles k and k.

Set tn,k = tn,l, un,k = Tn,l, tn,k′ = Tk′ and un,k′ = Tk′ for k′ < k, and set tn,k = Tk−1, un,k = un,l.

• If [Tk−1, Tk] contains one installment time tn,l and one retirement time un,l, tn,k = tn,l and un,k = un,l.

That is, an installment and a retirement happens in the kth cycle.

• Proceed to cycle k + 1.

The former instalment times tn,k and retirement times un,k indicate the same solution as tn,k and un,k so both

solutions yield the same capacity costs. However, the latter solution can be easily associated with demand

cycles. Recall that when computing Eki,j we allocated lost sale costs to cycles, we can now also partition the

lost sales costs in (18) to cycles as∫ tn,1

0∆n(DK

t )dt +K∑

k=2

∫ tn,k

un,k−1

∆n(DKt ) +

∫ T

un,K

∆n(DKt )dt =

K∑

k=1

(∫ tn,k

Tk−1

∆n(DKt )dt +

∫ Tk

un,k

∆n(DKt )dt

).

The cost within parentheses is the lost sales cost computed (via η(tn,k) and ζ(un,k) functions) and attached to

the horizontal arcs of the cycle network between stage k − 1 and k.

27

Page 29: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

As we increase the number of cycles, we can assess the lost sales cost more accurately. Moreover, as K

increases, aKt and bK

t converge from above to at and bt implying that ∆n(DKt ) converges from above to ∆n(Dt):

(K∑

k=1

∫ tn,k

Tk−1

∆n(DKt )dt +

K∑

k=1

∫ Tk

un,k

∆n(DKt )dt

)↓

(K∑

k=1

∫ tn,k

Tk−1

∆n(Dt)dt +K∑

k=1

∫ Tk

un,k

∆n(Dt)dt

)

This shows that paths in the cycle network compute the true costs for any given solution tn,l and un,l in the

limiting case. 2

Acknowledgment : This work was supported by grants from University of Texas at Dallas and Semicon-

ductor Research Cooperation under the task “Modeling Random Processes”.

28

Page 30: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

References

[1] A. Angelus, E.L. Porteus and S.C. Wood (1997). Optimal sizing and timing of capacity expansions with

implications for modular semiconductor wafer fabs. Research Paper No.1479. Graduate School of Business,

Stanford University.

[2] T.C.A. Bashyam (1996). Competitive capacity expansion under demand uncertainty. European Journal of

Operational Research, Vol. 95: 89-114.

[3] J.C. Bean and R.L. Smith (1985). Optimal capacity expansion over an infinite horizon. Management Science,

Vol.31, No.12 : 1523-1532.

[4] J.C. Bean, J.L. Higle and R.L. Smith (1992). Capacity expansion under stochastic demands. Operations

Research Vol.40 Supp. No.2: S210-S216.

[5] D.L. Benavides, J.R. Duley and B.E. Johnson (1999). As good as it gets: optimal fab design and deployment.

IEEE Transactions on Semiconductor Manufacturing, Vol.12, No.3 : 281-287.

[6] M.J. Best and N. Chakravarti (1990). Active set algorithms for isotonic regression: a unifying framework.

Mathematical Programming, Vol 47: 425-439

[7] M.J. Best, N. Chakravarti and V. Ubhaya (2000). Minimizing separable convex functions subject to simple

chain constraints. SIAM Journal on Optimization, Vol.10, No.3: 658-672.

[8] M. Cakanyıldırım and R. Roundy (2001). Optimal Capacity Expansion and Contraction under Demand

Uncertainty. Working paper, School of Management, University of Texas at Dallas.

[9] M. Cakanyıldırım and R. Roundy (2002). SeDFAM: Semiconductor demand forecast accuracy model. IIE

Transactions, Vol.34, No.5: 449-465.

[10] M. Cakanyıldırım and R. Roundy (2002). Evaluation of capacity planning practices for the semiconductor

industry. IEEE Transactions on Semiconductor Manufacturing, Vol.15, No.3: 331-340.

[11] M.H.A. Davis, M.A.H. Dempster, S.P. Sethi and D. Vermes (1987). Optimal capacity expansion under

uncertainty. Advances in Applied Probability Vol.19: 156-176.

[12] A. Dixit (1997). Investment and employment dynamics in the short run and the long run. Oxford Economic

Papers, Vol.49 No.1: 1-20.

29

Page 31: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

[13] J.C. Eberly and J.A. Van Mieghem (1997). Multi-factor dynamic investment under uncertainty. Journal

of Economic Theory Vol.75: 345-387.

[14] C.O. Fong and V. Srinivasan (1986). The multiregion dynamic capacity expansion problem: an improved

heuristic. Management Science Vol.32 No.9: 1140-1152.

[15] J.M. Harrison and J.A. Van Mieghem (1999). Multi-resource investment strategies: operational hedging

under demand uncertainty. European Journal of Operational Research, Vol.113, No.1: 17-29.

[16] R.S. Hiller and J.J. Shapiro (1986). Optimal capacity expansion planning when there are learning effects.

Management Science, Vol.32, No.9 : 1153-1163.

[17] P.L. Jackson and R.O. Roundy (1991). Minimizing Separable Convex Objectives on Arbitrarily Directed

Trees of Variable Upper Bound Constraints. Mathematics of Operations Research, Vol.16, Iss.3: 504-533.

[18] E. Khmelnitsky and K. Kogan (1996). Optimal policies for aggregate production and capacity planning

under rapidly changing demand conditions. International Journal of Production Research, Vol.34, No.7 :

1929-1941.

[19] S. Li and D. Tirupati (1994). Dynamic capacity expansion problem with multiple products: Technology

selection and timing of capacity additions. Operations Research, Vol.42, No 5: 958-976.

[20] H. Luss (1982). Operations research and capacity expansion problems: a survey. Operations Research,

Vol.30, No.5: 907-947.

[21] A.W. Neebe and M.R. Rao (1986). Sequencing capacity expansion projects in continuous time. Management

Science, Vol.32, No.11: 1467-1479.

[22] S.L. Ong and B.J. Adams (1989). The effect of discretizing the planning period on the optimal cost of

capacity expansion systems. European Journal of Operational Research, Vol.43, No.3: 292-304.

[23] S. Rajagopalan (1998). Capacity expansion and equipment replacement: a unified approach. Operations

Research Vol.46, No.6: 846-857.

[24] S. Rajagopalan, M.R. Singh and E.M. Morton (1998). Capacity expansion and replacement in growing

markets with uncertain technological breakthroughs. Management Science, Vol.44, No.1 : 12-30.

30

Page 32: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

[25] S.M. Rocklin, A. Kashper and G.C. Varvaloucas (1984). Capacity expansion/contraction of a facility with

demand augmentation dynamics. Operations Research, Vol.32, No.1 : 133-147.

[26] G.B. Sheble and G.M. Fahd (1994). Unit Commitment Literature Synopsis. IEEE Transactions on Power

Systems, Vol.9, No.1 : 128-135.

[27] Standard & Poor’s Industry Surveys (1997). Semiconductors. Standard & Poor’s, New York, NY.

[28] The National Technology Roadmap for Semiconductors: Technology Needs (1997). Semiconductor Industry

Association, San Jose, California.

[29] J.A. Van Mieghem (2002). Capacity portfolio investment and hedging: review and new directions. Working

paper commissioned by MSOM, Northwestern University.

31

Page 33: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

t t tt t0 1 2 3 4

3 a

2a

1a

0a

=0

a4

Etcher Capacity

Ion Implanter Capacity

Demand

Time

Demand

Production=Min(Capacity,Demand)

u 4 u u3 2

a5

Capacityper time

Figure 1: Production capacity versus demand for a semiconductor fab.

0,1

0,2

0,i

0,N

k-1,1

k-1,2

k-1,i

k-1,N

k,1

k,2

k,j

k,N

K,1

K,2

K,i

K,N

Eki,j

Demand Cycle k

Stage k-1 Stage k

Figure 2: Demand cycle network with N machines and K cycles. Node (k−1, i) indicates starting cycle k with

i existing machines. Vertical arcs are to retire machines at the beginning of cycles.

32

Page 34: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

Cycle 1 Cycle 2

Cycle 1 Cycle 2 Cycle 3 Cycle 4

at

bt

bt2

at2

bt4

at4

0 T2T1S1 S2

S1

With 2 cycles

With 4 cyclesT10 S2 S3 S4T2 T4T3

Figure 3: Approximation to the original demand process U(at, bt) with 2 and 4 cycles.

33

Page 35: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

0 10 20 30 40 500

5000

10000

15000

Months

Uni

ts o

f Cap

acity

per

Mon

th

Upper bound of DemandLower bound of DemandOptimal Capacity

Figure 4: Optimal capacity as demand grows and falls.

• INITIALIZE: tp = t0

For n = p + 1 to n = 2s do

• SOLVE (Pp,s,n):

• C := n, UniteComplete := false

While UniteComplete = false do

• k := ∧C − 1

• Compute tC and remember tk from the memory

If tk > tC then

• Unite: C := C ∪ C(k)

else

• UniteComplete := true

endwhile

• Update tn for n ∈ C. Record cp,s,n.

endfor

Table I: Cluster Algorithm. For given p and s such that 0 ≤ p ≤ s < N , the algorithm solves (Pp,s,q) : s ≤q ≤ 2s and records the cost cp,s,q.

34

Page 36: Optimal Capacity Expansion and Contraction with Uncertain ...metin/Research/capacityor1.pdfA real life example drawn from the semiconductor industry is ... ministic demand. Davis,

Nonzero Installation Lead Times Zero Installation Lead Times

Case I0 Gn Hn Solve Running time Solve Running time

1 = 0 = 0 = 0 (P0,N,2N ) O(NT ) (PE0,s), (PC

s,0) O(NT )

2 = 0 = 0 > 0 (P0,s,q) O(N2T ) (PE0,s), (PC

s,q) O(N2T )

3 = 0 > 0 = 0 (P0,s,2s) O(NT ) (PE0,s), (PC

s,0) O(NT )

4 = 0 > 0 > 0 (P0,s,q) O(N2T ) (PE0,s), (PC

s,q) O(N2T )

5 > 0 = 0 = 0 (Pp,N,2N ) O(NT ) (PEp,s), (PC

s,0) O(N2T )

6 > 0 = 0 > 0 (Pp,s,q) O(N3T ) (PEp,s), (PC

s,q) O(N2T )

7 > 0 > 0 = 0 (Pp,s,2s) O(N2T ) (PEp,s), (PC

s,0) O(N2T )

8 > 0 > 0 > 0 (Pp,s,q) O(N3T ) (PEp,s), (PC

s,q) O(N2T )

Table II: Running times for various special cases of (P). Ranges for indices are 0 ≤ s < N, 0 ≤ p ≤ s < q ≤ 2s+1

for nonzero installation lead times. They are 0 ≤ s < N and 0 ≤ p, q ≤ s for zero installation lead times.

A: Solve Expansion and Contraction Subproblems:

for p = 0 to N − 1 do

Solve (PEp,s) : p ≤ s < N with the Cluster Algorithm

Set q = p and Solve (PCs,q) : q ≤ s < N with the Cluster Algorithm.

Record costs ep,s : p ≤ s < N and cs,q : q ≤ s < N.endfor

B: Use (11) and (12) to compute e∗,s and I∗(s) and record them.

C: Use (13) to compute cs,∗ and q∗(s) and record them.

D: Use (14) to compute the optimal total cost and s∗.

E: Retire [I∗(s∗) + 1, I0] at t = 0 and find optimal availability and retirement times using

the Cluster Algorithm on (PEI∗(s∗),s∗) and (PC

s∗,q∗(s∗))

Table III: EC Algorithm to solve (P) under linear machine rents and zero installation lead times.

35