HD28
.M414
Dewey
Bottleneck
Resource
Allocation in
Manufacturing
Anantaram
Balakrishnan
Richard
L.Francis
Stephen
J.Grotzinger
uiASSACHUSETTSUMSTiiure
OF
TECHNOLOGY
DEC
01
1994
Abstract
Many
resource-allocation problems in manufacturing and service operations require selecting integer-valued levels for various activities thatconsume
"nondecreasingamounts"
of limited resources.System
productivity, to be maximized, is limited by the least productive (bottleneck) activity.We
first review a basicbisectionmethod
that can solve thisdiscrete,monotonic
resource-allocationproblem
even with nonlinear objectiveand
constraints.We
then generalize the basic algorithm to solve anenhanced
version oftheproblem
containingadditional coupling constraints on the allocation decisions. This generalization applies to assembly-release planning
(ARP)
in a multiproduct assemble-to-foreccist environment with partcommonality.
The
ARP
problem
requires finding feasibleamounts
of each product to release forassembly in each period using the available parts.The
objective is tomaximize
theminimum
differencebetween
the actual and desired service levels over all products and time periods.We
also consider extensions of theARP
model
incorporating precedence constraints1.
Introduction
Many
resource-allocationproblems
in manufacturingand
service operations requirechoosing integer-valued levels for various activities that
compete
for limited,common
resources in orderto
maximize
theminimum
return or productivity over ail the activities. Applications of bottleneck(max-min
ormin-max)
resource-allocationmodels
include linebalancing,
raw
material allocation, maintenance planning, and storage allocation.These
problems have the following general formulation. LetX
be an n-vector of integer activity levels X:.Each
activityconsumes
varyingamounts
ofm
resources. For i=
1, ..., m, letSj and gj(X) denote, respectively, the total availability of resource i and the
amount
ofthisresource
consumed
by
the activity levels in X. If fi(Xj) denotes the "productivity" ofactivity j,the system's productivity f(X) is limited by the least productive or "bottleneck" activity, i.e.,
f(X)
= min
{fj(Xj):j=
1, ..., n}.We
must
select activity levels thatmaximize
systemproductivity while satisfying resource constraints,
and
lower and upper bounds,B
=
(Bj) andC
=
(Cj). This discrete, bottleneck resource-allocationproblem
hasthe following nonlinear,integer
programming
formulation:[P]
maximize
f(X)=
f"'" f-(x:) (1)j=l, ..., n J J
subject to
gi(X)
<
Sjforalli=
1,...,m.
(2)B
<
X
<
C.and
(3a)Xj integer for allj
=
1, ..., n. (3b)We
assume
that as the activity levels increase theamount
ofeach resourceconsumed
doesnot decrease, i.e., fori
=
1, ...,m,
the resource-usage function gj(X) satisfies the followingmonotonicity (nondecreasing) property: given any
two
integral vectors X' andX"
satisfying the upper and lowerbounds
(3a), gi(X')<
gi(X") if X'<
X".Most
practical resource-allocationapplications satisfy this assumption.
Nondecreasing
functions are quite general; they canmodel
economies
ofscale in the resource constraints, including fixed charges (e.g., fixed cost,setup time,
and
so on).The
productivity functions f:(Xj)need
not be monotonic.We
only require fj(Xj) to be real-valuedand
defined for all integer activity levels in the closed interval [Bj, Cj].We
assume
that theproblem
is feasible, i.e.,X
=
B
satisfies constraints (2).Past research on bottleneck resource allocation (see, for instance, Luss [1992] and Ibaraki and
Katoh
(1988) for reviews of this literature) has addressed continuous-variable versions ofthe
problem
and/ormodels
with special structure (e.g., a single resource or linear functions). For the discrete allocationproblem
with one linear resource constraint (i.e., a knapsack constraint), Jacobsen (1971) proposed a marginal allocation approach. Porteus andYormark
[1972] developed an
improved
bisection search algorithm to solve this special case, andBrown
[1979] described efficient solution procedures for knapsack-sharing
problems
with piecewise linearand
nonlinear productivity functions.For problems with multiple resources.
Tang
[1988] developed an0(m
n^) algorithm foralinear
model
inwhich
the resource-usage functions gj(X) are all linear (with nonnegativevariable coefficients), and the productivity fj(x:) of each activity is astrictly increasing linear
function.
The
method
finds an optimal integer solutionby
solving a sequence ofrelaxedproblems
without integer restrictions.Tang
described various manufacturing applications of this model, including a storage space-allocationproblem
(also called the reel-allocation model,see
Ahmadi,
Grotzinger andJohnson
[1988]). All ofthese applications satisfy themonotonicity (nondecreasing) assumption. Recently, Francis
and
Horak
[1993] described a bisection searchmethod
to solve the storage space-allocation problem.The
method
is robustand
easy to implement, and although its computational complexity is data-dependent, themethod was
quicker than Tang's algorithm in computational tests.This paper, motivated
by
some
resource-allocation decisions in electronics manufacturing and assembly, explores extensions ofthe bisection approach to address these decisionproblems.
One
ofthese applications is acleanroom
samplingproblem
describedand
formulated by Grotzinger and
Cooper
[1992] as a bottleneck resource-allocationmodel
with a nonlinear objective function and amonotonic
resource constraint. In this application, the activity levels are the sample sizes for n samples atn specified locations ofa cleanroom.These
samples are required for an inspection plan to certify the cleanroom.
The
cost ofsampling varies by location,and
increases withthenumber
of samples.The
cleanroom
has a fixedbudget for sampling.
To
meet
the federal standard for certification as a particular class cleanroom, thesample
average contaminant concentration at each locationmust
be less than a prespecified class limit. Since the variance ofthesample
average atany
location variesinversely with the size ofthe sampleat that location, alarger sample size will increasethe
probability thatthe sample average at that location will be less than the class limit.
However,
the limited sampling budget introduces tradeoffs in allocating samples to various locations as
we
attempt to increase the overall likelihood that thecleanroom
will be certified, i.e., thelikelihood that the sample average will be
below
the class limit ataU
locations.To
develop aneffective inspection plan, Grotzinger and
Cooper
proposed a bottleneckmodel
to select sample sizes that minimize themaximum
variance ofthe sample averages overall the locations subjectto a linear financial resource (budget) constraint.
They
developed amethod
to optimally solvethe continuous relaxation ofthis
problem
(i.e., permitting fractional sample sizes), and proposed heuristic adjustments to the fractional solution to obtain an integer solution.In Section 2
we
review the basic bisection algorithm to solve discrete,monotonic
(nonlinear) resource-allocation problems such as thecleanroom
samplingmodel
even with nonlinear (but nondecreasing) sampling cost functions that reflecteconomies
of scale. InSection 3,
we
describe a multiperiod assembly-release planning(ARP)
problem
withserviceability constraints introduced by Grotzinger and
O'Connor
[1993] for an assemble-to-forecast environment with part commonality. Thisproblem
can be formulated as amonotonic
resource-allocationmodel
with additional coupling constraintson
the allocation decisions.We
discuss
how
to adapt the bisection approach to solve this model. In Sections4
and 5we
consider
more
generalARP
models
with precedence constraintsand
parts substitutability. InSection4,
we
first motivateARP
models
with general precedence constraints governing theallocation of resources; these precedence constraints might
stem
from
the interaction ofproduction planning decisions across products
and
time periods.We
then describehow
tomodify
the bisection approach to solve thisnew
class of problems. In Section 5,we
consider assembly-release decisionswhen
part substitutions are permitted, i.e., ifwe
run out of aparticular part,
we
can still produce products that normally use this partby
using an alternate partfrom
a specified set ofsubstitutes.We
further extend the bisection algorithm toincorporate substitutability of parts.
To
ourknowledge,
multiperiodARP
problems withprecedence constraints
and
substitutable parts are unstudied.Our
concluding discussion in Section6
includes a broad interpretation ofthe various extensions tothemonotonic
resource-allocationproblem
[P] that this paper has addressed.2.
Bisection
Method
for
Discrete, Bottlenecit
Resource
Allocation
The
bisectionmethod
for discrete, bottleneck resource allocation, although originally proposed for problems with linear productivity functionsand
resource constraints, also appliesto the nonlinear,
monotonic
version [P] ofthe problem.However,
before applying the method,we
must
replace any productivity functions that are not nondecreasing with equivalentnondecreasing functions. In this section,
we
first describe the transformation,and
then presentthe bisection algorithm.
-3-Suppose
a given productivity function fX^\) isnonmonotonic
or decreasing.We
transformit into an "equivalent" nondecreasing function fj(Xj) by setting
fj(Xj)
=
max
(fj(y): y=
Bj, Bj+1 x} forall x=
Bj. Bj+I Cj. (4)This transformation, proposed by
Brown
[1991] for bottleneck problems with linearknapsack
constraints, is also valid for problems with nonlinear, nondecreasing resource-usage functions.
To
confirm its validity, first note that fj() and f-() have thesame
maximum
values, and thesmallest value ofXj that
maximizes
fj(x:) is also the smallest valuemaximizing
fjCx:), and viceversa.
Using
this property,we
canshow
that, ifthe resource-usage functions gj(X) arenondecreasing, then the optimal objective function value ofthe transformed
problem
[P], withfj() instead of fj(), equals the optimal value ofthe original problem. Moreover, the smallest
optimal solution
X*
to the transformedproblem
is also optimal for the original problem.(Since the objective has the
max-min
form and
the resource-usage functions arenondecreasing,
problem
[P] has an optimal solutionX*
that iscomponent-wise
less than or equal to all other alternate optimal solutions.)Our
bisectionmethod
finds this smallest optimal solution. For convenience,we
willassume
in all ofour subsequent discussions that theproductivity functions are nondecreasing (i.e., the transformation (4) has been applied, if necessary).
We
refer to any vectorX
satisfying constraints (2) and (3) as a feasible solution.We
seek an optimalfeasible solution(OFS)
X*,
i.e., a feasible solution thatmaximizes
f(X). Let z*=
f(X*). Since the productivity functions are nondecreasing, f(B)<
f(X)<
z*<
f(C) for any feasible solution X.Given
any value ze
[f(B), f(C)], define yj(z) byyj(z)
=
rain {xj: z<
fj(Xj). Xj=
Bj,Bj+1 Cj} forall j=
I. .... n. (5)Thus, yj(z) is the smallest valueofthej'" activity level X: needed toensure that the productivity ofthis activity equals orexceeds z.
When
the inverse ofthe function fj() exists (for instance, iffj() is linear), then
yj(z)
=
rfj"'(z)1 forall fj(Bj)<
z<
fj(Cj),where
ful is the smallest integerno
less than u. Otherwise,we
cancompute
yj(z) using bisection search over thedomain
offj().Given
any positivenumber
e,we
call afeasible solutionX
ane-OFS
if its objective value is within e ofthemaximum
value, i.e., if z*-
e<
f(X)<
z*. Forthe linear model, Francis andequivalent: (i) Y(z)
=
(y:(z)) is a feasible solution; (ii) Y(z) satisfies constraints (2);and
(iii) z<
z*. This result is the basis for their bisection algorithm. Both the result
and
the algorithm extend directly to discrete resource-allocationproblems
with nonlinear, nondecreasing resource-usage and productivity functions.The
underlying idea ofthe algorithm is to iteratively select a trial objective function value zat the midpoint of the current search interval,
and
check if theproblem
has a feasible solutionX
with f(X)>
z.We
check feasibility by first determining the smallest possible value yj(z) ofXjneeded
to ensure that the overall objective function value f(X) equals orexceeds z.We
thenverify if the solution Y(z)
=
(yj(z)) satisfies the resource constraints (2). If it does, then Y(z) is a feasible solution to the problem, and sothe trial value z is a lowerbound
on the optimal value z* (actually, f(Y(z))>
z is abetter valid lower bound);otherwise, z overestimates z*.We
initialize the algorithm with lower and upper bounds,
LB
=
f(B) andUB
=
f(C), on z*.We
iteratively select z= (LB
+
UB)/2, determine Y(z), and updateLB
to f(Y(z)) orUB
toz dependingon
whether or not Y(z) satisfies (2). Iterations repeat untilUB
-
LB
<
e.At
termination, the vectorY(LB)
is ane-OFS.
One
potential disadvantage ofthis approach is that its effort is data-dependent.The
algorithm requires
up
to log2((f(C)-
f(B))/e) iterations, each requiring n evaluations of the yj(z) values.We
view
this disadvantage as principally theoretical in nature; typically, the datais not so big as tomake
bisection impractical.The
polynomial-order algorithms proposed in theliterature
assume
special structure (e.g., linearresource constraints),whereas
the bisectionapproach is quite general.
3.
The
Assembly-Release
Planning
Problem
In this section,
we
review a production planningproblem
in an assemble-to-forecastenvironment
with part commonality. Grotzingerand
O'Connor
[1993] describedand modeled
this
problem
as a continuous, bottleneck resource-allocation problem. In this paper,we
firstconsider the integer version ofthis model.
The
problem
is formulated using variables forcumulative production quantities instead of
monthly
(or weekly) production quantities.The
resource constraints,
when
expressed in terms ofthese cumulative production variables, satisfy the nondecreasing property.The
model
contains additional coupling constraints to ensure that the solution corresponds toa feasible production plan.We
extend the basic bisectionthe assembly-release planning
model
to account for precedence constraints and parts substitutability.Assemble-to-forecast
(ATF)
or make-to-stock refers to systems that producegoods
basedon
demand
forecasts rather than actual orders (see, for instance.Baker
[1993]) because the procurement and production (fabrication or assembly)Lad
times are longer than the customerlead time (i.e., the time
between
placing an order and shipping the product to the customer). Electronics assembly facilities producing personal computers provide oneexample
of anATF
environment. In this context, the procurement and assembly lead times could rangefrom
severalmonths
(to procure certain specialized integrated circuits) to afew
weeks
whereascustomer
lead times might be only afew
days.The
personalcomputer
assemblyexample
alsoillustrates another feature, part commonality, found in
many
ATF
environments.Commonality
refers to using the
same
part (orcomponent)
for several different products. For instance,several personal
computer models
might require thesame
microprocessor. Increasing partcommonality
providesmany
benefits including decreasing orderingand
inventory administration expenses, and reducing safety stocks ofpartsdue
to risk pooling (see, for instance, Bagchi and Gutierrez [1992], Baker,Magazine
and Nuttle [1986], Collier [1982],Gerchak
andHenig
[1989], Gerchak, Magazine,and
Gamble
[1988],and
Grotzingeret al. [1993]).In
ATF
facilities that produce multiple products with part commonality, decisions regardinghow
many
parts to procure in each period,how
to allocate these parts to differentproducts, and
how many
"kits"(component
sets for each product) to release for assembly ineach period
must
be basedon
estimates of probable futuredemands
for each product, servicelevel requirements,
and
inventory considerations.To
address these decisions, GrotzingerandO'Connor
[1993]developed
a general nonlinear optimization model,and
formulated a linearprogram
for a "feasibilitysubproblem"
incorporating the parts allocationand
assembly-release decisions.
We
focuson
the integer version ofthis feasibility problem,which
we
refertoas the assembly-release planning
(ARP)
problem.We
next describe this problem.Considera facility that assembles to forecast n (finished) products using
m
part types (orparts).
Suppose
the procurement lead time is (p-t-l) time periods for all parts, and the assemblylead time is
L
periods for all products. For simplicity, thesame
procurement lead time for all parts,and
thesame
assembly lead time for all products, is assumed. Item-dependent lead timesare easy to incorporate.
The
parts ordered during the past p+1 periods will arrive at the beginning ofthe current period (t=
0) and subsequently for periods, t=
1, ..., p.We
areconcerned with
how
to allocate these parts (including those currently on-hand) to various products,and
how
many
kits to release for assembly during each ofthe next p periods. Figure1
shows
a timeline depicting various events: procurementdecisions, part arrivals, release of parts for assembly,and
assembly completion.We
assume
that the probability distribution ofdemand
for every product during each ofthe next (L+p) periods is given.
These
distributions are revised each period basedupon
currentmarket conditions and trends,
and
so the assembly-release plansmust
be updated each period. Since the assembly lead time isL
time units, thenumber
ofkits foreach product released for assembly at time t, for t=
p,must
be chosen to service the probabledemand
for that product in period (L+t).The
planner's objective is to satisfy thedemand
foreach product inevery period L, ...,
L+p
with a given probability or target service level. Ifthe available inventory of a finished product in any period is less than thedemand
during that period,we
assume
that the unsatisfieddemand
is backlogged.We
define the cumulative availability ofa product attime t>
as its initial inventory attime t
=
plus the total output (i.e., completed assemblies)from
period to period t.The
actual service level fora product attime t is the probability that the cumulative availability of
that product attime t equals orexceeds its cumulative
demand
up
toand
including time t.The
target service level is the desired
minimum
value for this probability; this target might vary withproduct and time period.
We
refer to the differencebetween
the actualand
target service levels as the service-level difference. Grotzingerand O'Connor
[1993]developed
a linearprogram
to determine ifthe target service level can be achieved for all productsand
time periods using theavailable parts,
and
if not to determine theminimum
possible deviationfrom
target.The
model maximizes
theminimum
service-level difference over all productsand
periods.The
integer versionofthis model, the Assembly-Release Planning
(ARP)
problem, has the followingformal definition.
Given
the current parts inventory, the quantitieson
orderand
to be received during the next p periods, the bill of materials for each product,and
thedemand
distributions for the next (L+p) periods, theARP
probl-^m seeks integer assembly-release quantities tomaximize
the
minimum
service-leveldifference overallproductsand
timeperiods subject to parts availability.Ifthe optimal objective function value is nonnegative, then the currently available parts
the desired service levels forall products in periods
L
through (L+p); theARP
solutionspecifies a set of assembly-release quantities that meets the targets. Otherwise (ifthe optimal value is negative), the target service level cannot be attained for one or
more
products. In thiscase, the assembly-release quantities specified by the
ARP
solution ensure that the actual service level is as close to target as possible. Grotzinger andO'Connor
[1993] discusshow
to decidefuture parts
procurement
quantities based on theARP
solution.Problem
formulation:
Forj
=
1 n, and t=
0, .... p,we
define nonnegative, integer variablesq:. representing thenumber
ofunits of productj to be released for assembly in period t. For every part i=
1, ...,m,
let Hjj denote thenumber
ofunits ofpart i used per unit ofproductj. For t=
p, let S^^denote the
(known)
cumulative supply ofpart i at time t, i.e.. Sj^ isthesum
ofthe initialon-hand
inventory of part i at time plus the total anticipated receipts ofthis part during periodsthrough t.
Let Aj
j_^_| denote the
(known)
cumulative availability of (finished) productj in period (L-I),which
is equal to productj's current inventory (at time t=
0, including assembliesjust completed) plus the total quantity released for assembly during the past (L-1) periods (i.e.,from
period(-L+1)
to period -I inclusive). For t=
0, ..., p, the totalamount
of productj thatwe
decide to release in periods through t (and will complete in periodsL
through (L+t)) isqjQ+ ...
+
q:j.Adding
A:j^j to this
amount
gives the cumulative availability ofproductj inperiod (L+t). Let D: j^^j be the cumulative
demand
(arandom
variable) for product jfrom
period toperiod (L+t).
We
definefjtCqio"'" •
•''^it)
^
*^^ service level difference for productj attime (L+t), i.e., for allj=
1 n, andt=
0, ..., p,fjj(qjO+ ... -Kljt)
=
Prob{ Ajl_,
+
qjQ+
...+
qjj>
Djl^,}
—
Target service level for productj in period (L+t).The
minimum
service-level difference f(Q) is:f(Q)
=
min{fj,(qjQ+...+qjt):j
=
1 n,and
t=
p}. (6)Note
that each f:,(),and
hence f(Q), is a nondecreasing function ofthe release quantities, i.e.,Q
<
Q' implies f(Q)<
f(Q'). Also, fora given vector Q, every service-level difference functionfjj(q:Q+ ... +qj() is nonnegative if and only iff(Q)
>
0.[ARP]
maximize
f(Q) subject to:n
Z
ajj (q:Q+
...+
q-,)<
Sj, forall i=
1, ..., m, and t=
p, (7)j=l •* ^
q^
>
and integer for allj=
1 n, and t=
0, .... p. (8)Constraints (7) ensure that the total
amount
of each part i used in all products during periodsthrough t does notexceed its cumulative supply Sjj.
We
wish to find nonnegative, integerrelease quantities qj^ to
maximize
theminimum
service-level difference over all products andall periods.
Although
formulation[ARP]
has linear parts-availability constraints (7), our bisection solutionmethod
(described in the next section) also applies to problems with nonlinear resource constraints oftheform
G(Q) <
S,assuming
that the vector function G(-) istier-nondecreasing
(TND),
i.e., if Q'=
(qL) andQ" =
(qj'j) are anytwo
feasible solutions that satisfy^]0
+
1j1+
•••^jt-
IjO "^^Iji+
•••+
'Ijt fo""allj
=
I n,and
t=
p.then G(Q')
must
be less than orequal to G(Q").Note
that the objective function f() defined by (6)is alsoTND,
but this property is not necessary.We
can replace any givennon-TND
productivity function with an equivalent
TND
function, obtained by applying a transformationanalogous to equation (4).
Formulation
[ARP]
uses the service level differences as the productivity functions.However,
theenhanced
bisectionmethod
thatwe
describe in the next section applies to the broader class ofproblems
inwhich
each productivity function f:j() is any real-valued andwell-defined function (not necessarily
TND)
of the cumulative availability of productj at time t.As
a special case, considerthe
ARP
problem
withknown,
deterministicdemands.
Suppose, for each productj,we
assign a penalty n- perunit shortfall ofcumulativeavailability relative tocumulative
demand;
minimizing themaximum
penalty over all productsand
time periods isthe objective function.
The
bisectionmethod
can solve this problem,and
can alsoaccommodate
additionalTND
resource constraints, such as labor and budget constraints witheconomies
ofscale and/orfixed charges. In Section 4,we
consider furthermodel
extensions.Solving
the
ARP
problem:
Let
Q
denote the set ofall feasible solutionsQ
satisfying constraints (7) and (8), and let z*=
max[f(Q):Q
gQ}.
SetQ
isnon-empty
(sinceQ
=
is afeasibleARP
solution) and finite.and so z* exists.
The
bisectionmethod
requires an initial search interval for the optimal value; therefore,we
first develop upperand
lowerbounds
on z*. Since the function f() is monotonic,LB
=
f(0) is a valid lowerbound on
z*.To
obtain an upper bound, note that for everyQ
e
Q,
ajj
(qjo
+
...+
qj,)<
S^
forall i,j, and t.Thus, if
we
defineUjj
=
min{LSjj/ajJ: i such that aj:>
0}, (9)where
LhJ isthe largest integer less than or equal to h, then, qjQ+
...+
q-^<
\i^ for all productsj
and
time periods t. LetU
=
(Uj,). Since each function(J)
is nondecreasing,UB
=
f(U)= min
{fjj(Ujj):j=
1, ..., n and t=
0, ..., p} is a valid upperbound on
z*. Furthermore,q^
<
yx-^ forallJ
and
t.To
better understandhow
to adapt the original bisection approach totheARP
model,we
reformulate the
problem
by transforming the variables. LetXjt
=
qjo+
-+
qjt forallj
=
1, ....n,andt =
0, 1, ..., p, (10)denote the cumulative release quantity of productj in periods through t. Replacing the
q-variables in formulation
[ARP]
with the x-variables,and
definingr(X) =
min{fjj(Xj,): j=
1 n,and
t=
0, ..., p}we
get the following equivalent model:[ARP']
maximize
f'(X)subject to:
n
Z
ajj Xjj<
Sjj for all i=
1m,
and t=
p, (11)j=l
'^jt
-
''j,t-l forallj=
1Xjj
<
Ujj for all j=
1x-j
>
and integer forallj=
I...,n,
and
t=
1, ...,p, (12)...,n,
and
t=
0,1, ...,p,and
(13)..., n,
andt
=
0,1,...,p. (14)The
coupling constraints (12), specifying that the cumulative quantity of productj released forassembly at time t
must
equal or exceed its cumulative release quantity at time (t-1), reflect thenonnegativity constraints
on
the variablesq^
in formulation [ARP].Our
solutionmethod
doesnot require the resource constraints (11) to be linear; it can also handle nonlinear resource
constraints
G"(X)
< S
as long as the functionG"(X)
is nondecreasing for all vectorsX
that satisfy constraints (12), (13)and
(14) (requiringG"()
to be nondecreasing is equivalent to ourprevious
TND
conditionon
the resource-usage function G(Q)). Luss and Smith [1988] have considered a multiperiodmodel
similar to [ARP'] but with continuous variables, linearresourceconstraints, and hnear productivity functions fjt(Xj,) that represent the relative deviation of cumulative production
from
cumulativedemand.
Observation
1:Every feasible solution
X
to [ARP'] has acorresponding feasible solutionQ
to[ARP]
(withthe
same
objective value) and vice versa.Proof:
Given
a feasible solutionQ
to[ARP],
the solutionX
obtained using equation (10) isfeasible in [ARP'] and has the
same
objective value. Conversely, ifX
satisfies the constraints of [ARP'], thenwe
obtain a feasible solutionQ
=
(q-j) to[ARP]
with thesame
objective function value by settingq^
=
\^ -
x- j_j forall t=
1 p,and
q:Q=
Xjq for allj=
1, .... n.The
coupling constraints (12) differentiatemodel
[ARP']from
the basicmonotonic
resource-allocationmodel
[P].Note
that the function hjj(X)=
X: j_|-
Xj^ is notmonotonic
inX, i.e., X'
<
X
does not necessarily imply that hjj(X')<
hjj(X). Therefore,we
cannot include constraints (12) in the set of general resource constraintsG"(X) <
S, but need to treatthem
separately. Let us
now
explain intuitivelyhow
tomodify
the bisectionmethod
described inSection 2 to handle these additional constraints. Recall that, for agiven trial value z ofthe
objective function value, the value yj(z) defined using equation (5) is the smallest value ofthe
resource-allocation variable x-
which
ensures that the objective value equals orexceeds z.However,
these values might not satisfy the coupling constraints (12) in formulation [ARP].Therefore,
we
modify
the definition ofthe y-values as follows. Forallj=
1,2, .... n, and t=
0,1 p,let
Wjj(z)
=
min
{xjj: z<
fjt(Xjj), Xjj=
0. I, .... ^i^^}. (15)We
then successivelycompute
yu(z), fort=
1, ..., p, as:yjo(z)
=
Wjq(z), and (16a)yjj(z)
=
max{yjj_,(z).
Wjj(z)}ift>l.
(16b)Note
that each yi((z) is a nondecreasing function ofz.Let il' denote the setofall vectors
X
satisfying (12), (13), and (14).Observation
2:For agiven value z
e
[LB, UB], the vector Y(z) obtained usingequations (16a) and (16b) isthe smallestelement ofQ' with an objective value ofat least z, i.e., Y(z) e ii', f'(Y(z))
>
z,and
Y(z)<
Y' forany other vectorY' e Q' with f"(Y)>
z.This observation stems
from
the monotonicity property of each function fjj(), and can beproven using a contradiction argument.
Note
that, instead of using equation (16b),we
canequivalently define yjt(z) fort
=
1 p, asyj,(z)
=
min
(Xj,: z<
fj,(Xj,), Xjj=
yj ,_,(z), yjj_,(z)+l, .... Ujj}. (16c)
Observation 2
and
the monotonicity of the resource-usage functionsG"(X)
definedby
(11) enable us to perform binary search to find an e-optimal solution toproblem
[ARP'].We
first state this algorithm before justifying its validity.The
algorithm contains anembedded
searchprocedure to evaluate Wjj(z) (defined in equation (15)).
We
refer to this procedure as theW-evaluation subroutine.
Bisection
algorithm
for
ARP
problem
:Step
0:Initialization
P <— 0; {initial vector of lower
bounds
on Y(z*)}Y<—
U; (initial vector of upperbounds on
Y(z*)}LB
<r- f'(0); (initial lowerbound on
z*}UB
<r-r(U);
(initial upperbound on
z*}Step
1:Search process
REPEAT
z <-
(LB
+
UB)/2;Compute W(z)
in [P,Y]; (call W-evaluation subroutine}FORj
=
l, ...,n. Set yjQ(z) <- Wjq(z);FORt=l,....
p. Set yj((z) <-max
|yj,_i(z), wjj(z)}; IF Y(z) satisfies constraints (11)
THEN
setLB
<- r(Y(z))and
p <- Y(z); (z<
z*and
Y(z)<
Y(z*))ELSE
setUB
<- zand Y
<- Y(z); (z>
z*and
Y(z*)<
Y(z)}Step
2:e-optimal
solution
FORj=l
n. Set qjo=
yjo(LB);FORt=
1,..., p, Setqj,= yj,(LB)-yj,_,(LB);
Q
=
(qj() ise-optimal.W-evaluation
subroutine
:To
compute
wjj(z) in [^^, y^] for alljand
t.FORj
=
1 n,FOR
t=
0, ..., p.Initialize
X
<r- pj^ and \)<r- Yjp{pj,
<
Wjj(z)<
Yjt} IF z<
fj,(X)THEN
setv<r-X;
ELSE
REPEAT
Set u <-L(A.
+
a))/2j; IF z<
fjt(u)THEN
set\><-u;
{Wj,(z)<u}
ELSE
set A. <— u+1; (u<
Wj,(z) implies u+1<
Wjj(z)}UNTIL
X>\);
SetWjj(z) <— X);
Starting with
LB
=
r(0) andUB
=
f'CU), the algorithmcomputes
yjjCz), with z=
(LB+UB)/2,
forallj and t; let Y(z)=
(yj((z)). Ifthese values satisfy the resource capacityconstraints(1
1),
we
updateLB
<— r'(Y(z)); otherwise,we
setUB
<— z.We
alsoupdate the upperand
lowerbounds
on
the optimal values of\^
(thus narrowing the search interval for Wjj(z)).We
repeat this procedure until(UB
-
LB)
<
e.At
termination, the solutionY(LB)
is e-optimalfor
problem
[ARP'].We
recover the e-optimal solution to the originalproblem
[ARP] by
setting the release quantity in each period t equal to the difference
between
the cumulative release quantities (given by the solutionY(LB))
in periods tand
(t-1).To
compute
yj,(z),we
first determine the smallest value Wjj(z) ofthe cumulative releasequantity for productj at time t to achieve the objective function value z,
and
then applyequations (16a) and (16b).
The
W-evaluation subroutineemploys
binary search in the interval[PjpYjJ to determine Wjj(z). This subroutine is not necessary if
we
can directly evaluate theinverse ofthe functions
fJ).
The
parameters Pj^ and y-^ respectively denote the current lowerand upper
bounds
on the optimal value of the cumulative release quantity Xjj. Initially, Pj,=
and Yj,
=
U:,. If the solution Y(z) at a particular iteration satisfies the resource constraints (11),then Y(z) is a feasible solution to [ARP'j. Therefore, z*
>
z, and since the productivityfunctions fjj() are nondecreasing, the
problem must
have an optimal solutionX*
satisfyingX*
>
Y(z). Hence,we
increase the lowerbound
(3 to Y(z). Otherwise (ifY(z) does not satisfy(1 D),
X*
<
Y(z) andwe
reduce the upperbound
yto Y(z). Notice that, with this initializationand updating scheme, the lower
and
upperbounds
satisfy the following condition at every iteration:Pj,t-1 - Pjt ^"'^ Yj,
^
Yj.,-1 forall j=
1. ...., n, and t=
1, ..., p.We
emphasize that, since the release quantitiesmust
be integral, the W-evaluation subroutinefinds the exact value ofWjj(z).
The
validity ofthe bisectionmethod
restsupon
the following result:Proposition
3:For the
ARP
problem
with nondecreasing resource-usage functions, a trial objective function value z is a lowerbound on
the optimal value z* ifand only ifY(z), defined byequations (16a) and (16b), satisfiesthe resource constraints, i.e., iffG"(Y(z))
<
S.Proof:
Let
X*
be any optimal solution to [ARP'] with optimal value z*=
f'(X*).The
solutionX*
is nonnegative, integral, and satisfies the resource capacity constraints (II) as well as the coupling constraints (12) and upperbounds
(13).Suppose
the trial value z is less than or equal to z*.By
observation 2, Y(z) is the smallest nonnegative, integral vectorX
satisfyingconstraints (12), (13), and f'(X)
>
z; therefore, Y(z)<
X*. Since the resource-usage functionG"()
is nondecreasing andX*
satisfies the resource constraints, Y(z)<
X*
implies that G"(Y(z))<
G"(X*)
<
S, i.e., the solution Y(z) satisfies the resourceconstraints. Conversely, suppose for a given valueof z, Y(z) satisfies the resource constraints (11).By
definition, Y(z) also satisfies constraints (12), (13), and (14). Since z<
r(Y(z))and
Y(z) is a feasible solution to[ARF],
z*>
f
'(Y(z))>
z.Computational
effort:To
find an e-optimal solution, the bisection algorithm requires atmost
log2((r(U)-F'(0))/e)"major" iterations (i.e.,
number
of repeats in Step I). Since each service level difference is thedifference of
two
probabilities,-2
<
fXO)-
r(U) <
2. Therefore, ife= 2"^^
=
1/1,048,576, nomore
than 21 iterations are required.As
problem
size increases, themethod
will likely beAt each iteration, the
method
calls the W-evaluation subroutine n(p+l) times.Each
evaluation requires atmost
log2(Yjt~Pit) iterations within the subroutine.We
can reduce thesearch effort in the W-evaluation subroutine by modifying the overall algorithm as follows. At each iteration in Step 1, insteadof first evaluating
aU
the w-j(z) values beforecomputing
theyjj(z) values,
we
firstevaluate Wjq(z),and
setyjo(z)=
Wjq(z). Subsequently, fort=
1 p insequence,
we
specify the lowerbound
ofthe search interval for the W-evaluation subroutine asmax{yj
t_i(z). Pjt)-Observe
that the values returned by the W-evaluation subroutinenow
directly correspond to the yj((z) values (i.e., they are not the Wjj(z) values
defmed
in equation(15)). Since the search intervals are shorter, this modified
method
has lower computationaleffort. Notice that, unlike
some
linearprogramming-based
methods, the bisectionmethod
doesnot introduce cumulative floating point errors. Finally, if
we
are not interested in the exact value of z* but onlywant
toknow
ifz*>
(i.e., whetherwe
Ccin achieve the target servicelevels forall products in all periods), then
we
can terminate the procedure as soon asLB
becomes
nonnegative.The
nexttwo
sectionsconsidertwo
types of generalizations oftheARP
model, namely, precedence constraintsand
part substitutability, that the bisectionmethod
can solve.4.
Model
Extensions
I:Precedence-constrained resource
allocation
The
ARP
problem
is a constrained version ofthe basic resource-allocationmodel
[P], containing the additional coupling constraints (12) to ensure that the cumulative release in a period equals or exceeds the cumulative release in the previous period. Let usnow
consider abroader class of "precedence" constraints that generalize the coupling constraints.
Our
initialdevelopment
leads to our next generalization, (20) below,which
is applicable to multistageproduction settings.
Suppose
the production context requires that the cumulative release quantity ofa productj at time tmust
equal orexceed
the cumulative release quantity of productj' attime t', i.e.,we
must
add constraints ofthe following type to formulation [ARP'] for a prespecified subset IP ofordered product-time indexpairs <(j',t'),(j,t)>:
xjj
>
Xj-f forall <a',t'). (j.t)>e
IP. (17)If<(j',t'),(j,t)> 6 IP,
we
say that (j'.t) 's apredecessorof(j,t).We
will refer to discrete resource-allocation problems with precedence constraints (17) instead ofthe coupling constraints (12) as precedence-constrainedresource-allocation problems.Let us define a precedence graph
PG
to encode the required relationships specified in theset IP. This graph has one
node
for each product-time index (j,t), and contains a directed edgefrom node
(j',t') tonode
(j,t) for every pair <(j'.t'). (j,t)> g IP.Suppose
PG
contains a directedcircuit
DC.
To
satisfy all the precedence constraints (17) implied by the circuitwe
must
necessarily set all the variables corresponding to the circuit's nodes to thesame
value. Thus, ifN(DC)
denotes the set of nodes in the circuitDC,
we
can reduce the size oftheproblem
byreplacing X:jforevery (j,t)
e
N(DC)
by a single variable, say,\^q
in the resource constraints(11); in the objective function,
we
eliminate fjt(Xjj) forall (j,t)e
N(DC)
and instead introduce^DC^'^DC^
= min
{fjt(X[)c): all (j,t)e
N(DC)}.
Note
that this substitution preserves the monotonicity of the resource-usage and productivity functions. In the precedence graph, the substitution corresponds to contracting all the nodes (j,t) in the circuit into a singlenode
DC;
all arcs originally incident
from
nodes not inN(DC)
to anynode
inN(DC)
are incident to nodeDC
in the transformed graph.By
successively eliminating all circuits in this manner,we
obtain a circuit-free precedence graphPG.
We
do
not require this graph to be connected.Since
PG
containsno
directed circuits,we
can sequence its nodes such that foreachnode
(j.t) all its predecessors occur before it in the sequence. (This
node
sequencing operation,analogous tothe
node
indexingscheme
forPERT/CPM
networks, requiresO(IEr)
computations,
where
lEl is thenumber
ofedges inPG;
seeLawler
[1976].)We
will refer to such a sequenceS
as a y-evaluation sequence.We
can easilymodify
the bisectionmethod
toaccommodate
these precedence constraints as follows: in Step 1, aftercomputing
W(z)
in [p.y]for allj
=
1, ..., n,and
t=
p,we
considerthe indices (j,t) inthe y-evaluation sequence S, and set:yj((z)
=
max
[wjj(z),max
{yj.t.(z): all (j'.f) such that<(j',t'),0,t)>e
IP)]. (18)The
remaining steps ofthe algorithm are unaltered. Again, the validity ofthismethod
stemsfrom
the nondecreasing property ofthe resource-usageand
productivity functions.For our original
ARP
problem
(described in Section 3), the set IP consists of index pairs <(j,t-l), (j,t)> for allj=
1, .... n, and t=
1, ..., p.Observe
that the precedence graphPG
for this special case of precedence-constrained resource allocation consists of n "line" subgraphs, one corresponding to each product; the adjacent nodeson
each linej correspond to releasequantities forproductj in consecutive time periods. This precedence graph is circuit-free, and does not require any further reduction.
The
natural sequence ((j,t) forj=
1, ...,n, t=
0, ..., p)satisfies the required precedence property; the original and
enhanced
bisectionmethods
are identical ifwe
use this sequence as the y-evaluation sequence S.Let us
now
considerhow
to adapt the bisectionmethod
for discrete resource-allocationproblems with precedence constraints that are
more
general than constraints (17).Suppose
product j is an accessory board
and
productj' is themother
board for a personal computer.The
production policy might specify that the cumulative release of productj at time tmust
equal or exceed a certain (nonnegative) proportion bjj:.j. ofthe cumulative release of product
j' at time t' (t and t' might differ if the
two
board types have differentassembly lead times).The
parameter h-^•^> might be based
upon
the relative yields of thetwo
board types, spare partsrequirements, and so on.
Modeling
this policy requires adding precedence constraints ofthe form:Xjj
>
bjtj.f Xj.j. forall <(j,t), (j'.t')>
6
IP. (19)A
more
general version ofthese forcing constraints arises in multi-stage assembly settingswhere
productj is a subassembly that is used in final assembliesjj, J2, ....,j^- Ifthe assemblylead time for subassemblyj is k time units, b::. denotes the
number
of units ofproductj neededperunit offinal assemblyj', and
Lq
represents the initial inventory of productj, thenwe
require:"jt "^ ^jO
-
''jji ''ji.t+k+
+
''jjr'^jr.t+k-This constraint specifies that the cumulative release ofsubassemblyj attime t plus the opening
inventory
must
equal orexceed the cumulative requirements ofthis subassembly tomeet
thefinal assembly release quantities. In general, the precedence constraints might contain a (nonnegative) weighted combination ofseveral variables of the form:
where
the parameter e-^ is unrestricted in sign, but the coefficientsb^
:.j. are all nonnegative.The
variable x-^ might be governed by several such precedence constraints, each with differentright-hand sides. Let n(j,t) denote the subset of precedence constraints (20) that contain the
variable Xj^ in the left-hand side, and let P:, be the set ofall indices (j'.f) such that Xj.^. occurs
with positive coefficient b-^•^• in the right-hand side ofat least one constraint of n(j,t).
We
refer to (j',t') as apredecessor of(j,t).
The
precedence graphPG
for thisenhanced problem
hasone
node
corresponding toeach product-time index (j,t);node
(j,t) has incident arcs <(j'.t'),0.t)> forevery (j',t') e P^^.To
apply the bisectionmethod
for resource-allocation problems with the generalprecedence constraints (19) or (20),
we
willassume
that the corresponding precedence graphPG
contains no directed cycles. (With constraints (19) or (20),we
cannot alwaysmake
the precedence graph acyclic using the successive substitution procedurewe
described forconstraints (17).)
The
multi-stage assemblyexample
thatwe
described earlier satisfies thisassumption. Since
PG
isassumed
to be acyclic,we
can sequence the product-time indices such that the index (j,t) occurs afterthe indices ofall its predecessors.We
then determine the values y:j(z) in this sequenceS
using a generalized version of equation (18). This versioncomputes
y:,(z) as the
maximum
of w-j(z)and
the highest right-hand side value over all the precedenceconstraints in n(j,t).
By
considering the variables in the correct sequence,we
ensure that thevalues ofy:','(z) for all (j',t')
e
P^
are available beforewe
compute
the value ofyjt(z).We
canextend the
same argument
to handle even non-linear precedence constraints x^>
hjj(Yjj),where
Y:j=
{y:Y(z): all (j',t')e
Pj^} as long as the functions hU)
are non-decreasing and the corresponding precedence graph is acyclic.5.
Model
Extensions
II:Part
substltutablllty
In Section 4,
we
showed
how
the bisectionmethod
extends toproblems with generalprecedence constraints.
We
now
discuss modifications to incorporate another complicating feature ofsome
electronics assembly environments, namely, part substitutability.By
parts substitutabilitywe
mean
using adesignated alternative part (or parts) if the preferred part for aproduct is not available.
Allowing
substitution yields risk-pooling benefits, and contributes to achieving desired service levels; however, itmay
also increase product costsand
reduce productquality and reliability. Products with substitute parts, although functional,
may
not be tested as thoroughly as the nominal design. Thus, it is desirableto allowno more
substitution than isneeded
to achieve service levels.Our
approach incorporates this preference, i.e., it exploits therisk-pooling benefit of substitutability while maintaining cost, quality and reliability objectives. For
any
desired (and achievable) service level,we
minimize the totalamount
(or cost) of substitution necessary by solving aminimum
costnetwork
flow problem.Suppose
we
can replace part i withsome
other part without affecting the functionality ofthe products. Let R(i) be the index setofparts that can replace part i,
and
let RB(i) be the set ofparts that can be replaced by part i, i.e., RB(i)=
(i": i€
R(i")}.We
assume
one-for-onesubstitution, i.e., one unit ofa part i'
e
R(i) replaces one unit ofpart i. Part substitutability, likeassemble products that require this part by using an alternate part
from
R(i). Klein, Luss, andRothblum
[1993] developed an efficient specializedaigonthm
to solve linear, continuousresource-allocation
problems
with substitutions.Let us first formulate the assembly-release planning
problem
with part substitutability,which
we
abbreviate as theAPS
problem.As
before, let x-^ denote the cumulative releasequantity ofproductj in periods through t, forj
=
1, ..., n, and t=
0, ..., p. For every part i, let bjQ be the initial availability ofpart i (i.e., opening inventory ofpart i in period plus thequantity received in period 0), and fort
=
1, ..., p, let bjj be thenumber
of units ofpart ireceived in period t. In terms ofour previous notation, bjQ
=
Sjq, and h^^=
Sjj-
Sj j_[ fort=
t
1, ..., p,
where
Sj^ is the cumulative availability ofpart i in period t.Note
that Sjj=
Z
bjj. for t'=0all i and t.
As
before, \x^=
min{LSjj/ajjJ: i such that aj:>
0} is a valid upperbound on
x-^.For simplicity,
we
will consider the simple precedence constraints (12) specifying that x-jmust
equal or exceed x-j_| forevery productj and periods t=
1 p.The model and
the modifiedversion ofthe bisection
method
thatwe
describe later can also incorporate themore
generalprecedence constraints (19) or (20).
To
model
part substitutability,we
introducenew
"substitution" variables Vjji|, for all i=
1,..., m, i'
e
RB(i), andt=
0, ..., p, denotingthenumber
ofunitsofpart iused
toreplacepart i'during
period t.The
APS
problem
then has the following nonlinear, integerprogramming
formulation.
[APS]
maximize
r(X) =
min{fjf(Xjf):j=
1 n, and t=
0, ..., p} (21)subject to:
n t t t
I
a- X-j+
I
I
Vij. ,<
I
bj,,+
1
I
Vj,.; ,j=l 'J J' t=Oi'eRB(i) t'=0 f=Oi"€R(i)
forall i
=
I, ...,m, and
t=
0,1, ...,p. (22)Xjj
>
Xjj_j forallj
=
1, ...,n,and
t=
1 p, (23)Xjj
<
Ujj forallj=
1, ...,n,and
t=
0,1 p, (24)Xjj
>
and integer for allj=
1 n, and t=
0,1, ...,p,and
(25)Vjj.j
>
and
integerforaU
i=
1, .... m, i'g
RB(i). t=
0,1, ...,p. (26)19-Formulation
[APS]
is similar to our previous formulation [ARP'I except that constraints (22)now
incorporate parts substitutability. and constraints (26)impose
nonnegativity and integralityon
thenew
substitution variables \-^. Constraints (22) have the following interpretation. Foraparticular part i and period t, the left-hand side ofthis constraint represents the cumulative "outflow" of part i in period t both to satisfy the cumulative
demand
of productsj that use thispart and the total quantity of part i used to replace other parts i' e RB(i) in periods 0, ..., t.
The
right-hand side ofthe constraint represents the cumulative "inflow," consisting of the opening
inventory and cumulative receipts ofpart i plus the
number
ofunits of part i replaced by partsi"
e
R(i) in periods 0, .... t. Constraints (22) specify that the cumulative outflow must notexceed the cumulative inflow for each part and every period. Formulation
[APS]
is clearly feasible (set all variables to zero).To
solveproblem
[APS]
we
will follow the previousstrategy of: (a) selecting, via bisectionsearch, a trial value z of the objective function, (b) determining the
minimum
requiredcumulative release quantities yjt(z) for all productsj and periods t satisfying constraints (23),
(24), and (25) such that
r(X)
withX
=
Y(z)=
(yjt(z)) equals orexceeds z, and (c) verifying if the desired release quantities yjt(z) are feasible, i.e., ifthe available partscanmeet
these release quantities with substitutions permitted.We
refer to Step (c) as verifying the resource-feasibilityof
Y(z). This step ismore
complicated formodel [APS]
than forthe basicmodel
[ARF].
As
we
explain next,we
must
solve anetwork
flowsubproblem
to verify resource-feasibility ofY(z) for theAPS
problem.Given
a vectorX
=
(x-^) (= (yjj(z)) in our bisection method). Step (c) requires verifying ifA
the partial solution
X
has a "feasible completion" in [APS], i.e.,we
must
determine ifthere are nonnegative integer values for the variables Vjj.j that satisfy constraints (22) afterwe
substituteA '^
Xj,
=
Xjj in these constraints.To
motivate the procedure for checking resource-feasibility ofX
and
if so determining feasible v-values, let us reformulate constraints (22) by introducing anadditional set ofvariables kj|for all i
=
1m, and
t=
p-1.We
will define thesevariables via the following equations:
•^iO
=
bjo+
.„2
Vi,.io-
I
Vij-o forall i=
1m, and
(27) 1 gR(i) igRB(i)kit
=
^
+
^,t-l+ .„^„,/i"it-.,
£,/ii't
foralli=l
m,t=l,...,H-
(28)1 eR(i) lERfi(i)
Notice that using these k-variables,
we
can simplify constraints (22) to:n
Z
a:: Xj,<
k:, for all i=
1. ..., m, t=
p-1. (29a)n
^p-^'^i,p-l+.„^,./np
^
.^, ^ij^jpforalli=l,...,m.
(29b)I eR(i) j=l "
^^
A
Therefore, verifying the resource-feasibilityofa given
cumulative
release vectorX
entails/\ A
determining a
solution(V(X),K(X))
satisfying constraints (26)through
(29) orproving
thatno such
solutionexists.We
now
explainhow
we
can interpret constraints (27) and (28) as the familiarflow conservation equations ofa network flow problem, £ind constraints (29) as lower limitson
theA A
flows
on
certain arcs. Fora given vectorX, consider a directednetwork
G'(X) containingnodes (i,t) corresponding toeach product i
=
1, ...,m, and
every period t=
, p.The
network
containstwo
types ofarcs: (i) "substitution" arcsfrom node
(i,t) tonode
(i',t) for all i=
1m,
i'G
RB(i), and t=
0, ..., p; and, (ii) "k-arcs"from
node (i,t) tonode
(i, t+1) for all i=
1, .... m,and
t=
0, ... p-1. Figure 2shows
a portion ofthis network. In this figure, part i'can replace part i, while part i can replace part i".
Each
k-arcfrom
(i,t) to (i,t+l) has a lowerA " A
limit LLjj(X)
=
2- a^: Xj^ on its flow, i.e., theminimum
required flowon
this arc is LLjj(X).Every node
(i,t), for i=
1, ....m
and t=
0, .... p, has a supply ofbjj units. For i=
1m,
node
n
(i, p) has a
demand (minimum
required extemal outflow) ofZ
a^jX: . (Since thisnode
alsoj=I n
has a supply ofbj units, its net
demand
isZ
ajjX:-
b- .)j=l
A
Consider the followingy7ow/(?a.s/Z?j7/ry
problem
defined over thenetwork
G'(X). AFind a feasible flow
on
G'(X) satisfying thedemand,
supply, andminimum
arc flow constraints, orprove that no feasible flow exists.The
mathematical formulation of this flow feasibilityproblem
contains flow conservation Aequations at each node, constraints
imposing
theminimum
flow requirements LLjj(X) on the k-arcs, and nonnegativity constraints on the flow variables. Ifwe
interpret the flowson the substitutionarcs as the v-variables,and
the flowson
the k-arcs as the k-variables, thenwe
see that:(i) the flow conservation equations at nodes (i,0) forall i
=
1m
are thesame
as constraints(27);
(ii) the flow conservation equationsat nodes (i,t)for all i
=
I, ...,m, and
t=
1 p-1, are thesame
as constraints (28);(iii) the
minimum
flow requirementson
the k-arcs correspond to constraints (29a); and,(iv) for i
=
I, ...,m,
thedemand
constraints at nodes (i,p) are thesame
as constraints (29b).Notice that, ifthe network G'(X) has a feasible flow, then it
must
have an integral flow(assuming all the parameters a- andb|j are integral), i.e., constraints (26) are satisfied.
We
can easily incorporate upperbounds
on the substitution variables and k-variables; these upperA
bounds
become
arc capacities for the substitution arcs and k-arcs, respectively, in G'(X).These observations establish the following
lemma.
Lemma
4:A
A
given cumulative release vectorX
has a feasible completion ifand only ifthe Acorresponding network flow
problem
defined over G'(X) has a feasible solution.A A
Note
that asX
changes, only theminimum
flow requirements LLjj(X) change; thenode
A
supplies and
demands
do
not change, and neither does the topology of network G'(X).Any
algorithm used for checking feasibility of a transshipment
problem
can be used to determine ifA
G'(X) has a feasible solution.
Max-flow
algorithms arecommonly
used for this purpose.The
max-flow problem
can be solved very efficiently in 0(INI ViEl) time,where
INI and IE! denote thenumber
ofnodes and edges in thenetwork
(Ahuja, Magnanti, and Orlin [1993]).At each iteration, the bisection
method
applies themax-flow
algorithm to verify the resource-feasibility ofthe cumulative release vector Y(z) corresponding to the current targetvalue z.
We
restate this iterative step (Step 1) ofthe modified bisection algorithm for solving theAPS
problem
with general precedence constraints (20) (assuming these constraints satisfythe acyclic precedence graph property).
The
remaining stepsand
the W-evaluation subroutine are thesame
as before.Modified
bisection
algorithm
for
the
APS
problem
with
general
precedence
constraints:
Step
1:Search process
Construct a y-e valuation sequence S.
REPEAT
zf-
(LB +
UB)/2;Compute W(z)
in [p,Y]; {call W-evaluation subroutine)FOR
successive (j,t) in the sequence S,sety:j(z)
=
max
[wjj(z),{max
RHS
value overall precedence constraints (20) in n(j,t)}]; Construct thenetwork
G'(Y(z));IF the network flow problem defined
on
G'(Y(z)) is feasible,THEN
setLB
<r- r(Y(z)) and (3 <- Y(z);ELSE
setUB
<- z and y <- Y(z);UNTIL
(UB
-
LB)
<
e;Let z'
e
(LB,UB]
be the final feasible target valuewhen
the bisection algorithm terminates,i.e., z' is the target valuecorresponding the last iteration in
which
the network flow problemdefined on G'(Y(z'))
was
feasible.As
we
noted earlier,we
can determine the appropriatefeasible v-values
from
themaximum
flow solution corresponding tonetwork
G'(Y(z')).One
disadvantage ofthis solution is that it might entail "unnecessary" substitutions, i.e., themaximum
flow algorithm might route flowson
certain substitution arcswhen
in fact theproblem
has an alternatemaximum
flow solution that does not use these arcs. In practice, productionmanagers
might prefer to reduce substitutions, as faras possible, subject to the requirement that the objective valuemust
be z.We
can incorporate this preference by solving at theend
aminimum
cost flowproblem
defined over thenetwork
G'(Y(z')).The
node
supplies,
demands,
and arc flow lowerbounds
are asshown
in Figure 2.We
assign a penaltyforflow along substitution arcs, i.e., each substitution arc has a cost 5
>
per unitof flowon
that arc.
We
seek the min-cost network flow solution that meets (orexceeds) all thedemands
using the available supplies subject tothe
minimum
flow requirementson
the k-arcs. This min-cost flowproblem
is feasible since Y(z') is resource-feasible. Since all substitutions arepenalized equally, the optimal solution minimizes the total
number
ofparts used as substitutes.The
model
can also incorporate part-dependent substitution penalties.Adding
flow costson
the k-arcs allowsmodeling
product-dependent finishedgoods
inventory holding costs.Note
there is a tradeoffbetween
the value ofzand
the (minimal) totalamount
ofsubstitution needed. Let
MCF(z)
denote the min-cost flow substitutionproblem
on the networkG'(Y(z)), with
minimal
objective function value v(z). Since Y(z) ismonotonic
in z, as zincreases the arc lower
bounds
LLjj(Y(z)) also increase.Thus
if Zj<
Z2 thenMCF(Z2)
is a restriction ofMCF(zj),
sothat v(z,)<
v(z2).As we
increase zwe
come
closerto achieving our target service levels, but oursubstitutioncost also increases. Clearly this approach could lead toa formal tradeoffof serviceability and substitutability.
The
following proposition establishes the validity ofthe modified bisection algorithm forthe