Document 11039477

advertisement
M.I.T.
LIBRARIES
-
DEWEY
Dewey
HD28
.M414
Bottleneck Resource Allocation in Manufacturing
Anantaram Balakrishnan
Richard L. Francis
Stephen J. Grotzinger
#3729-94-MSA
October 1994
uiASSACHUSETTS UMSTiiure
OF TECHNOLOGY
DEC 01
1994
LIBRARIES
Abstract
Many
resource-allocation problems in manufacturing and service operations require
selecting integer-valued levels for various activities that
limited resources.
System productivity,
(bottleneck) activity.
We
first
to
consume "nondecreasing amounts" of
be maximized,
is
limited by the least productive
review a basic bisection method that can solve
this discrete,
monotonic resource-allocation problem even with nonlinear objective and constraints.
We
then
generalize the basic algorithm to solve an enhanced version of the problem containing
additional coupling constraints on the allocation decisions.
assembly-release planning (ARP)
commonality. The
ARP
in a
multiproduct assemble-to-foreccist environment with part
problem requires finding feasible amounts of each product to release
for assembly in each period using the available parts.
minimum
periods.
and part
This generalization applies to
The
objective
is
difference between the actual and desired service levels over
We
also consider extensions of the
substitutability,
and show how
to
ARP
to
all
maximize the
products and time
model incorporating precedence constraints
modify the bisection method to solve these problems.
1
.
Introduction
Many
resource-allocation problems in manufacturing and service operations require
choosing integer-valued levels for various activities that compete for limited,
resources
in
minimum
order to maximize the
return or productivity over
ail
common
the activities.
Applications of bottleneck (max-min or min-max) resource-allocation models include line
balancing, raw material allocation, maintenance planning, and storage allocation.
These problems have the following general formulation. Let
activity levels X:.
Sj
Each
activity
consumes varying amounts of
and gj(X) denote, respectively, the
resource
consumed by
the system's productivity f(X)
f(X) = min
{fj(Xj): j
=
1, ...,
i
For
(Cj).
=
1, ...,
and the amount of
We
must select
m,
let
this
denotes the "productivity" of activity
If fi(Xj)
activity levels that
j,
i.e.,
maximize system
productivity while satisfying resource constraints, and lower and upper bounds,
=
i
limited by the least productive or "bottleneck" activity,
is
n}.
be an n-vector of integer
resources.
of resource
total availability
the activity levels in X.
m
X
B =
(Bj) and
C
This discrete, bottleneck resource-allocation problem has the following nonlinear,
integer
programming formulation:
f"'"
maximize f(X) =
[P]
j=l,
f-(x:)
...,
n
J
(1)
J
subject to
gi(X)
<
Sj
B
X
<
<
Xj
We
assume
not decrease,
foralli=
for
i
=
1,
...,
m,
m.
(2)
C.and
(3a)
for all
integer
that as the activity levels increase the
i.e.,
1,...,
j
=
1,
...,
(3b)
n.
amount of each resource consumed does
the resource-usage function gj(X) satisfies the following
monotonicity (nondecreasing) property: given any two integral vectors X' and X" satisfying the
upper and lower bounds (3a), gi(X') < gi(X")
applications satisfy this assumption.
model economies of scale
setup time, and so on).
in the
The
if
X'
< X". Most
practical resource-allocation
Nondecreasing functions are quite general; they can
resource constraints, including fixed charges
(e.g.,
productivity functions f:(Xj) need not be monotonic.
fixed cost,
We
only
require fj(Xj) to be real-valued and defined for all integer activity levels in the closed interval
[Bj, Cj].
We
assume
that the
problem
is
feasible,
-
1
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
the
this literature)
has addressed continuous-variable versions of
problem and/or models with special structure
(e.g.,
a single resource or linear functions).
For the discrete allocation problem with one linear resource constraint
(i.e.,
a knapsack
Porteus and Yormark
constraint), Jacobsen (1971) proposed a marginal allocation approach.
Brown
[1972] developed an improved bisection search algorithm to solve this special case, and
[1979] described efficient solution procedures for knapsack-sharing problems with piecewise
linear
and nonlinear productivity functions.
For problems with multiple resources. Tang [1988] developed an
linear
model
in
which the resource-usage functions gj(X) are
all
variable coefficients), and the productivity fj(x:) of each activity
function.
The method
finds an optimal integer solution
problems without integer
restrictions.
0(m
n^) algorithm for a
linear (with nonnegative
is
a
strictly increasing linear
by solving a sequence of relaxed
Tang described various manufacturing
applications of
this
model, including a storage space-allocation problem (also called the reel-allocation model,
see
Ahmadi, Grotzinger and Johnson [1988]). All of these applications
monotonicity (nondecreasing) assumption.
bisection search
and easy
to
method
Recently, Francis and Horak [1993] described a
to solve the storage space-allocation
implement, and although
its
problem.
computational complexity
method was quicker than Tang's algorithm
satisfy the
in
computational
is
The method
is
robust
data-dependent, the
tests.
This paper, motivated by some resource-allocation decisions
in electronics
manufacturing
and assembly, explores extensions of the bisection approach to address these decision
problems.
One of
these applications
is
a cleanroom sampling problem described and
formulated by Grotzinger and Cooper [1992] as a bottleneck resource-allocation model with a
nonlinear objective function and a monotonic resource constraint.
activity levels are the
sample sizes for n samples
samples are required for an inspection plan
varies by location, and increases with the
at
In this application, the
n specified locations of a cleanroom. These
to certify the
cleanroom.
The
cost of sampling
number of samples. The cleanroom has a
fixed
budget for sampling. To meet the federal standard for certification as a particular class
cleanroom, the sample average contaminant concentration
prespecified class limit.
at
each location must be
less than a
Since the variance of the sample average at any location varies
inversely with the size of the sample at that location, a larger sample size will increase the
probability that the 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 the cleanroom will be certified,
2-
i.e.,
the
likelihood that the sample average will be below the class limit at aU locations.
effective inspection plan, Grotzinger and
maximum
minimize the
sizes that
Cooper proposed a bottleneck model
variance of the sample averages over
to a linear financial resource (budget) constraint.
the continuous relaxation of this problem
proposed heuristic adjustments
In Section 2
we review
(i.e.,
To develop
to select
They developed a method
to optimally solve
permitting fractional sample sizes), and
to the fractional solution to obtain
an integer solution.
the basic bisection algorithm to solve discrete,
monotonic
model even with
nonlinear (but nondecreasing) sampling cost functions that reflect economies of scale.
3,
we
O'Connor [1993]
serviceability constraints introduced by Grotzinger and
resource-allocation
discuss
how
consider more general
Section 4,
we
ARP
motivate
first
approach to solve
this
model. In Sections 4 and 5
we
parts substitutability.
from the interaction of
production planning decisions across products and time periods.
We
particular part,
part
we can
from a specified
still
set
to solve this
when
assembly-release decisions
In
models with general precedence constraints governing the
allocation of resources; these precedence constraints might stem
modify the bisection approach
We
the allocation decisions.
models with precedence constraints and
ARP
for an assemble-to-
This problem can be formulated as a monotonic
model with additional coupling constraints on
to adapt the bisection
In
(ARP) problem with
describe a multiperiod assembly-release planning
forecast environment with part commonality.
sample
the locations subject
all
(nonlinear) resource-allocation problems such as the cleanroom sampling
Section
an
new
class of problems.
part substitutions are permitted,
produce products that normally use
of substitutes.
incorporate substitutability of parts.
We
then describe
In Section 5,
i.e., if
this part
we
how
we
to
consider
run out of a
by using an alternate
further extend the bisection algorithm to
To our knowledge,
multiperiod
precedence constraints and substitutable parts are unstudied.
ARP
problems with
Our concluding
discussion in
Section 6 includes a broad interpretation of the various extensions to the monotonic resourceallocation
2.
problem
[P] that this
paper has addressed.
Bisection Method for Discrete, Bottlenecit Resource Allocation
The
bisection
method
for discrete, bottleneck resource allocation, although originally
proposed for problems with linear productivity functions and resource constraints, also applies
to the nonlinear,
we must
monotonic version
[P]
of the problem.
However, before applying
the method,
replace any productivity functions that are not nondecreasing with equivalent
nondecreasing functions.
In this section,
we
first
the bisection algorithm.
-3-
describe the transformation, and then present
Suppose a given productivity function fX^\)
it
We
nonmonotonic or decreasing.
is
transform
into an "equivalent" nondecreasing function fj(Xj) by setting
= max
fj(Xj)
(fj(y):
x}
=
for all x
Bj.
Bj+I
Cj.
(4)
problems with linear knapsack
for bottleneck
also valid for problems with nonlinear, nondecreasing resource-usage functions.
constraints,
is
To confirm
its
and
validity, first note that fj()
smallest value of
Using
Bj+1
Bj,
Brown [1991]
This transformation, proposed by
versa.
=
y
Xj that
maximizes
fj(x:) is
we can show
this property,
f-()
have the same
maximum
values, and the
also the smallest value maximizing
that, if the
fjCx:),
and vice
resource-usage functions gj(X) are
nondecreasing, then the optimal objective function value of the transformed problem [P], with
fj() instead of fj(), equals the optimal value of the original problem.
optimal solution
X*
to the transformed
(Since the objective has the
problem
max-min form and
also optimal for the original problem.
is
the resource-usage functions are
nondecreasing, problem [P] has an optimal solution
equal to
solution.
Our
other alternate optimal solutions.)
all
For convenience, we
assume
will
productivity functions are nondecreasing
Moreover, the smallest
in all
X*
that is
bisection
component-wise
method
less than or
finds this smallest optimal
of our subsequent discussions that the
the transformation (4) has been applied, if
(i.e.,
necessary).
We
refer to any vector
X
satisfying constraints (2) and (3) as a feasible solution.
an optimal feasible solution (OFS) X*,
f(X*).
i.e.,
a feasible solution that maximizes f(X).
We
seek
Let z*
=
Since the productivity functions are nondecreasing, f(B) < f(X) < z* < f(C) for any
feasible solution X.
Given any value z e
yj(z)
Thus, yj(z)
is
=
rain {xj: z
<
[f(B), f(C)], define yj(z)
fj(Xj). Xj
=
Bj,
Bj+1
the smallest value of the j'" activity level
of this activity equals or exceeds
z.
When
Cj}
by
for all j
=
I. .... n.
(5)
needed to ensure that the productivity
X:
the inverse of the function fj() exists (for instance,
if
fj() is linear), then
yj(z)
where ful
is
=
rfj"'(z)1 for all fj(Bj)
the smallest integer
bisection search over the
maximum
Horak [1993] showed
less than u.
domain of
Given any positive number
within e of the
no
e,
value,
that,
we
<
z
<
Otherwise,
fj(Cj),
we can compute
yj(z) using
fj().
call
i.e., if
a feasible solution
z* - e
< f(X) <
z*.
X an e-OFS
if its
objective value
For the linear model, Francis and
given a value z e [f(B), f(C)], the following three conditions are
-4-
is
equivalent:
z*.
(i)
Y(z) =
This result
Y(z) satisfies constraints
(y:(z)) is a feasible solution; (ii)
Both the
the basis for their bisection algorithm.
is
(2);
and
(iii)
<
z
and the algorithm
result
extend directly to discrete resource-allocation problems with nonlinear, nondecreasing
resource-usage and productivity functions.
The underlying idea of
at the
X
the algorithm
midpoint of the current search
with f(X) >
needed
We
z.
check
is
to iteratively select a trial objective function value z
and check
interval,
feasibility
by
first
the
if
problem has a feasible solution
determining the smallest possible value yj(z) of
to ensure that the overall objective function value f(X) equals or
verify if the solution Y(z)
=
(yj(z)) satisfies the resource constraints (2).
a feasible solution to the problem, and so the
z* (actually, f(Y(z))
initialize the
>
z
is
value z
= (LB + UB)/2, determine
termination, the vector
If
it
We
z.
then
does, then Y(z)
is
a lower bound on the optimal value
is
We
z*. We
a better valid lower bound); otherwise, z overestimates z*.
depending on whether or not Y(z)
One
trial
algorithm with lower and upper bounds,
iteratively select z
exceeds
Xj
Y(LB)
is
LB =
f(B) and
Y(z), and update
satisfies (2).
LB
UB
=
f(C),
to f(Y(z)) or
Iterations repeat until
UB
on
UB
- LB <
to z
e.
At
an e-OFS.
potential disadvantage of this 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
not so big as to
literature
approach
3.
view
make
this
bisection impractical.
assume special
is
disadvantage as principally theoretical
data
The polynomial-order algorithms proposed
structure (e.g., linear resource constraints),
is
in the
whereas the bisection
quite general.
The Assembly-Release Planning Problem
In this section,
we review
a production planning problem in an assemble-to-forecast
environment with part commonality.
this
in nature; typically, the
Grotzinger and O'Connor [1993] described and modeled
problem as a continuous, bottleneck resource-allocation problem. In
consider the integer version of this model.
The problem
is
this paper,
we
formulated using variables for
cumulative production quantities instead of monthly (or weekly) production quantities.
resource constraints,
when expressed
the nondecreasing property.
in
first
The
terms of these cumulative production variables, satisfy
The model contains
additional coupling constraints to ensure that
the solution corresponds to a feasible production plan.
We
algorithm to incorporate these constraints.
4 and 5 we consider enhancements of
In Sections
extend the basic bisection
the assembly-release planning
model
to
account for precedence constraints and parts
substitutability.
Assemble-to-forecast (ATF) or make-to-stock refers to systems that produce goods based
on 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 customer
lead time
the time
(i.e.,
between placing an order and shipping the product to the customer).
Electronics assembly facilities producing personal computers provide one example of an
environment.
several
In this context, the
months
ATF
procurement and assembly lead times could range from
few weeks whereas
(to procure certain specialized integrated circuits) to a
customer lead times might be only a few days. The personal computer assembly example also
illustrates
another feature, part commonality, found in
same
refers to using the
several personal
component)
part (or
many ATF environments. Commonality
for several different products.
computer models might require
For instance,
same microprocessor. Increasing
the
part
commonality provides many benefits including decreasing ordering and inventory
administration expenses, and reducing safety stocks of parts due to risk pooling (see, for
instance, Bagchi and Gutierrez [1992], Baker,
Magazine and Nuttle [1986], Collier [1982],
Gerchak and Henig [1989], Gerchak, Magazine, and Gamble [1988], and Grotzinger
et al.
[1993]).
In
ATF
regarding
facilities that
how many
products, and
produce multiple products with part commonality, decisions
parts to procure in each period,
how many
"kits"
(component
sets for
how
to allocate these parts to different
each product) to release for assembly
in
each period must be based on estimates of probable future demands for each product, service
level requirements,
and inventory considerations. To address these decisions, Grotzinger and
O'Connor [1993] developed a general nonlinear optimization model, and formulated a
program for a
subproblem" incorporating the parts allocation and assembly-
"feasibility
release decisions.
We
focus on the integer version of this feasibility problem, which
as the assembly-release planning
Consider a
parts).
parts,
facility that
(ARP) problem.
is
L
periods for
all
products.
and the same assembly lead time
are easy to incorporate.
We
The
is (p-t-l)
time periods for
(t
=
refer to
m
all parts,
part types (or
and the assembly
For simplicity, the same procurement lead time for
for all products,
is
parts ordered during the past
beginning of the current period
we
next describe this problem.
assembles to forecast n (finished) products using
Suppose the procurement lead time
lead time
linear
assumed. Item-dependent lead times
p+1 periods
0) and subsequently for periods,
-6-
all
t
will arrive at the
=
1, ..., p.
We
are
concerned with how to allocate these parts (including those currently on-hand)
products, and
1
how many
assume
Figure
events: procurement decisions, part arrivals, release of
and assembly completion.
parts for assembly,
We
assembly during each of the next p periods.
kits to release for
shows a timeline depicting various
to various
that the probability distribution of
the next (L+p) periods
for every product during each of
These distributions are revised each period based upon current
given.
is
demand
market conditions and trends, and so the assembly-release plans must be updated each period.
Since the assembly lead time
assembly
at
time
for
t,
L
is
=
t
time units, the number of kits for each product released for
p,
must be chosen
product in period (L+t). The planner's objective
every period L,
L+p
...,
We
time
t
is
that the unsatisfied
demand
is
than the
is less
plus the total output
(i.e.,
t
target service level
is
equals or exceeds
the desired
product and time period.
We
determine
if
t
is
demand during
t
>
as
its
model maximizes
if
the
minimum
its initial
inventory at
to period
The
t.
t.
The
value for this probability; this target might vary with
between the actual and
target service levels
Grotzinger and O'Connor [1993] developed a linear program to
not to determine the
minimum
we
that period,
cumulative demand up to and including time
the target service level can be achieved for all products
available parts, and
for each product in
the probability that the cumulative availability of
refer to the difference
as the service-level difference.
for that
If the available
completed assemblies) from period
actual service level for a product at time
that product at time
demand
backlogged.
define the cumulative availability of a product at time
=
demand
to satisfy the
with a given probability or target service level.
inventory of a finished product in any period
assume
to service the probable
minimum
and time periods using the
possible deviation from target.
service-level difference over
integer version of this model, the Assembly-Release Planning
all
The
products and periods.
The
(ARP) problem, has the following
formal definition.
Given
the current parts inventory, the quantities
next p periods, the
bill
next (L+p) periods, the
the
minimum
on order and
of materials for each product, and the
ARP
to be received during the
demand
distributions for the
probl-^m seeks integer assembly-release quantities to maximize
service-level difference over all products
and time periods
subject to parts
availability.
If the
optimal objective function value
is
nonnegative, then the currently available parts
plus the anticipated receipts (based on prior procurement decisions) are adequate to provide
the desired service levels for
products
all
periods
in
L through
specifies a set of assembly-release quantities that meets the targets.
value
Otherwise
case, the assembly-release quantities specified by the
ARP
solution
(if
future parts procurement quantities based on the
ARP
In this
solution ensure that the actual service
how
Grotzinger and O'Connor [1993] discuss
level is as close to target as possible.
the optimal
more products.
negative), the target service level cannot be attained for one or
is
ARP
(L+p); the
to decide
solution.
Problem formulation:
For
=
j
number of
m,
and
n,
1
=
t
0,
units of product
....
p,
we
define nonnegative, integer variables
denote the number of units of part
let Hjj
through
time
which
is
equal to product
j's
decide to release
+
Let D:
...
i.e.,
-Kljt)
through
periods
j^^j
for all
j
For
t
Sj^ is the
t
=
=
0,
...,
p, the total
in
The minimum
that
=
define
n,
1
•
fjtCqio"'"
and
qjQ
+
t
...
=
•''^it)
0,
+
service-level difference f(Q)
each
f:,(),
Q' implies f(Q)
fjj(q:Q+
The
p, let S^^
the initial on-
...
+qj()
ARP
is
= min{fj,(qjQ+
...,
qjj
period (L-
in
assemblies just
f(Q').
is
(i.e.,
amount of product
periods
L through
^
j
(L+t))
j
j
that
is
in
from
*^^ service level difference for product
j
p,
> Dj
l^,}
— Target
service level for product
j
period (L+t).
is:
...+qjt): j
and hence f(Q),
<
j
be the cumulative demand (a random variable) for product
= Prob{ Aj l_, +
f(Q)
Q<
1, ...,
the cumulative availability of product
in
Note
sum of
0, including
(and will complete
t
amount gives
to this
We
to period (L+t).
time (L+t),
fjj(qjO+
in
Adding A: j^j
q:j.
period (L+t).
at
i.e..
t
quantity released for assembly during the past (L-1) periods
to period -I inclusive).
period
t,
current inventory (at time
from period (-L+1)
...
time
at
For
=
denote the (known) cumulative availability of (finished) product
j_^_|
total
qjQ+
i
j.
=
i
plus the total anticipated receipts of this part during periods
completed) plus the
we
For every part
t.
t.
Let Aj
I),
at
i
period
in
used per unit of product
i
denote the (known) cumulative supply of part
hand inventory of part
assembly
to be released for
j
representing the
q:.
=
n,
1
and
t
=
p}.
a nondecreasing function of the release quantities,
(6)
i.e.,
Also, for a given vector Q, every service-level difference function
nonnegative
if
and only
if
f(Q) > 0.
problem, is formulated as follows:
8
-
[ARP]
maximize f(Q)
subject to:
n
Z
ajj
j=l
+
(q:Q
+
...
<
q-,)
i
=
1, ...,
m, and
all j
=
1
n,
for all
Sj,
q^ >
and integer
for
Constraints (7) ensure that the total amount of each part
through
t
does not exceed
its
cumulative supply
maximize
release quantities qj^ to
all
t
=
the
We
Sjj.
minimum
used
i
and
in all
t
=
(7)
p,
^
•*
0,
....
(8)
p.
products during periods
wish to find nonnegative, integer
service-level difference over
all
products and
periods.
Although formulation [ARP] has
solution
method (described
in the
^]0
+
1j
1
+
•••
S,
assuming
Q' = (qL) and
i.e., if
^jt
next section) also applies to problems with nonlinear
G(Q) <
resource constraints of the form
nondecreasing (TND),
linear parts-availability constraints (7), our bisection
- IjO
"^ ^Ij
+
i
+
•••
Q" =
TND,
but this property
is
are
TND
any two feasible solutions
=
fo"" all j
Note
not necessary.
productivity function with an equivalent
analogous to equation
(qj'j)
'Ijt
then G(Q') must be less than or equal to G(Q").
(6) is also
that the vector function G(-) is tier-
I
n,
and
t
that satisfy
=
p.
by
that the objective function f() defined
We
can replace any given
non-TND
function, obtained by applying a transformation
(4).
Formulation [ARP] uses the service level differences as the productivity functions.
However, the enhanced bisection method
that
we
describe in the next section applies to the
broader class of problems in which each productivity function
defined function (not necessarily
ARP
a special case, consider the
each product
j,
we
TND)
of the cumulative availability of product
The
additional
maximum
bisection
TND
Q
ARP
denote the
= max[f(Q):
Q
set
penalty over
method can solve
at
time
t.
As
for
this
all
products and time periods
is
problem, and can also
resource constraints, such as labor and budget constraints with
economies of scale and/or fixed charges.
Let
j
assign a penalty n- per unit shortfall of cumulative availability relative to
the objective function.
Solving the
any real-valued and well-
problem with known, deterministic demands. Suppose,
cumulative demand; minimizing the
accommodate
f:j() is
In Section 4,
we
consider further model extensions.
problem:
of
g Q}. Set
all
Q
is
Q satisfying constraints (7) and (8), and let z*
is a feasible ARP solution) and finite.
(since Q =
feasible solutions
non-empty
-9
and so z*
exists.
therefore,
we
LB =
The
f(0) is a valid
if
we
(qjo
is
J
and
+
...
< S^
qj,)
monotonic,
for all
i,
and
j,
Q
e Q,
t.
= min{LSjj/ajJ:
=
i
such that
>
aj:
0},
(9)
1,
...,
U=
Let
t.
n and
=
t
(Uj,).
0,
...,
(J)
Since each function
p}
is
is
+
+
...
<
q-^
\i^
nondecreasing,
a valid upper bound on z*.
for all products
UB
=
f(U)
Furthermore, q^ <
yx-^
j
= min
for all
t.
To
how
better understand
Xjt
=
+
qjo
-
+
=
forallj
qjt
1, ....
denote the cumulative release quantity of product
[ARP] with
variables in formulation
r(X) =
approach to the
to adapt the original bisection
reformulate the problem by transforming the variables.
we
is
obtain an upper bound, note that for every
the largest integer less than or equal to h, then, qjQ
and time periods
{fjj(Ujj): j
+
Since the function f()
z*.
define
Ujj
where LhJ
To
lower bound on z*.
search interval for the optimal value;
initial
develop upper and lower bounds on
first
ajj
Thus,
method requires an
bisection
j
in
ARP
model,
we
Let
andt =
n,
0, 1,
through
periods
(10)
p,
...,
t.
Replacing the q-
the x-variables, and defining
min{fjj(Xj,):
j
=
t
=
0,
i
=
1
for all
j
=
1
...,n,
and
t
=
1, ...,p,
for all
j
=
1
...,n,
and
t
=
0,1,
for all
j
=
I
...,
n,
1
and
...,
p}
get the following equivalent model:
[ARP']
subject
maximize f'(X)
to:
n
Z
<
ajj Xjj
for
Sjj
all
m, and
=
t
(11)
p,
j=l
-
'^jt
Xjj
<
x-j
>
The coupling constraints
assembly
at
time
t
''j,t-l
Ujj
and integer
must equal or exceed
its
cumulative release quantity
in
formulation [ARP].
not require the resource constraints (11) to be linear;
G"(X) < S
andt =
and
as long as the function
satisfy constraints (12), (13)
G"(X)
it
is
and (14) (requiring G"()
-
10-
(13)
(14)
0,1,... ,p.
(12), specifying that the cumulative quantity of product
nonnegativity constraints on the variables q^
constraints
n,
...,p,
(12)
j
released for
time (t-1), reflect the
at
Our
solution
method does
can also handle nonlinear resource
nondecreasing for
to
all
be nondecreasing
vectors
is
X
that
equivalent to our
previous
TND
condition on the resource-usage function G(Q)).
Luss and Smith [1988] have
considered a multiperiod model similar to [ARP'] but with continuous variables, linear resource
constraints, and hnear productivity functions fjt(Xj,) that represent the relative deviation of
cumulative production from cumulative demand.
Observation
1:
X
Every feasible solution
the
Q
[ARP'] has a corresponding feasible solution
to
same objective value) and vice
[ARP] (with
to
versa.
Proof:
Q
Given a feasible solution
we
value by setting q^
i.e.,
<
X'
X
= \^ -
x- j_j
for
all
t
=
=
(q-j) to
p,
1
model
Note
[P].
if
[ARP] with
that the function hjj(X)
the
=
satisfies the constraints
of
same objective function
all j
=
1,
....
n.
the basic monotonic
X: j_|
Let us
now
explain intuitively
how
to
G"(X) <
-
S, but
not monotonic in
Xj^ is
resource-allocation variable
which ensures
x-
However, these values might not
we modify
need
to treat
them
modify the bisection method described
Recall that, for a given
objective function value, the value yj(z) defined using equation (5)
is
trial
value z of the
the smallest value of the
that the objective value equals or
exceeds
satisfy the coupling constraints (12) in formulation
the definition of the y-values as follows.
For
in
all j
=
1,2,
....
n,
z.
[ARP].
and
t
=
0,
p, let
1
Wjj(z)
We
is
does not necessarily imply that hjj(X') < hjj(X). Therefore, we cannot include
Section 2 to handle these additional constraints.
Therefore,
X
and q:Q = Xjq for
constraints (12) in the set of general resource constraints
separately.
obtained using equation (10)
model [ARP'] from
constraints (12) differentiate
resource-allocation
X,
Q
obtain a feasible solution
The coupling
X
[ARP], the solution
and has the same objective value. Conversely,
feasible in [ARP']
[ARP'], then
to
= min
{xjj:
z
<
fjt(Xjj), Xjj
then successively compute yu(z), for
Note
yjo(z)
=
yjj(z)
= max{yjj_,(z).
that
Let
each
il'
t
=
0. I,
....
=
1,
p, as:
...,
^i^^}.
(16a)
Wjq(z), and
yi((z) is a
ift>l.
Wjj(z)}
nondecreasing function of
denote the set of
all
(15)
vectors
X
z.
satisfying (12), (13), and (14).
-
11
(16b)
Observation
2:
For a given value
z
e [LB, UB], the vector Y(z) obtained using equations (16a) and (16b)
the smallest element of Q' with an objective value of at least
and Y(z) < Y'
for
any other vector Y' e Q' with f "(Y) >
z, i.e.,
Y(z) e
equivalently define yjt(z) for
= min
yj,(z)
(Xj,:
z
t
=
<
Note
that, instead
f '(Y(z)) >
z,
z.
This observation stems from the monotonicity property of each function
proven using a contradiction argument.
ii',
is
fjj(),
and can be
of using equation (16b),
we can
p, as
1
fj,(Xj,), Xjj
=
yj
,_,(z),
yj
j_,(z)+l,
....
(16c)
Ujj}.
Observation 2 and the monotonicity of the resource-usage functions G"(X) defined by (11)
enable us to perform binary search to find an e-optimal solution to problem [ARP'].
algorithm before justifying
state this
its
procedure to evaluate Wjj(z) (defined
in
validity.
We
The algorithm contains an embedded search
equation (15)).
We
refer to this procedure as the
evaluation subroutine.
Bisection algorithm for
Step
Step
0:
ARP problem
:
Initialization
P <— 0;
{initial
vector of lower bounds on Y(z*)}
Y<— U;
(initial
vector of upper bounds on Y(z*)}
LB
<r- f'(0);
(initial
lower bound on z*}
UB
<r-
(initial
upper bound on z*}
1:
Search process
r(U);
REPEAT
z <-
(LB + UB)/2;
Compute W(z) in
FORj = l, ...,n.
[P,Y];
(call
W-evaluation subroutine}
Set yjQ(z) <- Wjq(z);
FORt=l,....
p.
Set yj((z) <-
max
wjj(z)};
|yj ,_i(z),
IF Y(z) satisfies constraints (11)
THEN
set
LB
<- r(Y(z)) and p <- Y(z);
ELSE set UB <- z and Y <UNTIL (UB - LB) < e;
Y(z);
-
first
12-
(z
< z* and Y(z) < Y(z*))
(z
>
z* and Y(z*) < Y(z)}
W-
Step
e-optimal solution
2:
FORj=l
Set
n.
= yjo(LB);
qjo
FORt=
1,..., p,
Setqj, = yj,(LB)-yj,_,(LB);
Q
=
e-optimal.
(qj() is
W-evaluation subroutine To compute
:
FORj =
FOR =
0,
<
...,
X
Initialize
IF z
j
and
t.
n,
1
t
wjj(z) in [^^, y^] for all
p.
<r-
and
pj^
\) <r-
Yjp
<
{pj,
Wjj(z)
<
Yjt}
fj,(X)
THEN
setv<r-X;
ELSE
REPEAT
Set u <-
IF z
<
L(A.
+
a))/2j;
fjt(u)
THEN
set\><-u;
ELSE
set
A.
{Wj,(z)<u}
<— u+1;
(u
<
Wj,(z) implies
u+1 < Wjj(z)}
UNTIL X>\);
Set Wjj(z) <—
X);
Starting with
(LB+UB)/2,
constraints
LB =
for all
( 1 1 ),
j
we
r(0) and
and
t;
update
UB
Y(z) =
let
LB
<—
=
f'CU), the algorithm
(yj((z)).
r'( Y(z));
computes
yjjCz),
these values satisfy the resource capacity
If
otherwise,
we
set
UB
<—
z.
We also
and lower bounds on the optimal values of \^ (thus narrowing the search
We
for
(UB - LB) <
repeat this procedure until
We
problem [ARP'].
each period
release quantities (given by the solution
yj,(z),
quantity for product
j
we
at
first
time
equations (16a) and (16b).
t
t
interval for Wjj(z)).
At termination, the solution Y(LB)
Y(LB))
in
periods
t
and
determine the smallest value Wjj(z) of the cumulative release
to achieve the objective function value z,
and then apply
is
The parameters
not necessary
Pj^
and
y-^
if
we can
U:,.
If the
in the interval
directly evaluate the
respectively denote the current lower
and upper bounds on the optimal value of the cumulative release quantity
=
e-optimal
(t-1).
The W-evaluation subroutine employs binary search
inverse of the functions fJ).
Yj,
is
equal to the difference between the cumulative
[PjpYjJ to determine Wjj(z). This subroutine
and
update the upper
recover the e-optimal solution to the original problem [ARP] by
setting the release quantity in
To compute
e.
with z =
Xjj.
Initially, Pj,
=
solution Y(z) at a particular iteration satisfies the resource constraints (11),
13
then Y(z)
Therefore, z* >
a feasible solution to [ARP'j.
is
z,
and since the productivity
functions fjj() are nondecreasing, the problem must have an optimal solution
> Y(z). Hence, we
(1
X* <
D),
bound
increase the lower
we reduce
Y(z) and
the upper
(3
to Y(z).
bound y
Otherwise
to Y(z).
and updating scheme, the lower and upper bounds
(if
Notice
X*
satisfying
X*
Y(z) does not satisfy
with this initialization
that,
satisfy the following condition at every
iteration:
Pj,t-1
We
emphasize
-
^"'^
Pjt
Yj,
^
for all
Yj.,-1
that, since the release quantities
j
must be
=
1. ...., n,
and
integral, the
t
=
1, ...,
p.
W-evaluation subroutine
finds the exact value of Wjj(z).
The
validity of the bisection
Proposition
ARP
For the
method
rests
upon
the following result:
3:
problem with nondecreasing resource-usage functions, a
function value z
is
a lower bound on the optimal value z*
if
equations (16a) and (16b), satisfies the resource constraints,
trial
and only
i.e., iff
if
objective
Y(z), defined by
G"(Y(z)) <
S.
Proof:
Let
X*
is
be any optimal solution to [ARP'] with optimal value z* = f'(X*).
X*
nonnegative, integral, and satisfies the resource capacity constraints
coupling constraints (12) and upper bounds (13).
equal to z*.
By observation
2,
Y(z)
constraints (12), (13), and f'(X)
G"()
is
nondecreasing and
G"(Y(z)) < G"(X*) < S,
X*
i.e.,
suppose for a given value of
>
z;
is
[ARF], z* > f '(Y(z)) >
Computational
To
trial
value z
therefore, Y(z)
< X*. Since
difference of
more than 21
limited by
two
satisfies the resource constraints,
Y(z) <
X*
less than or
X
satisfying
implies that
the solution Y(z) satisfies the resource constraints.
z,
well as the
By
Y(z) satisfies the resource constraints (11).
Since z < r(Y(z)) and Y(z)
is
Conversely,
definition, Y(z)
a feasible solution
z.
effort:
(i.e.,
number of repeats
probabilities,
in
Step
I).
-2 < fXO) - r(U) <
iterations are required.
memory
is
solution
the resource-usage function
most log2((r(U)-F'(0))/e)
find an e-optimal solution, the bisection algorithm requires at
"major" iterations
(I I) as
the smallest nonnegative, integral vector
also satisfies constraints (12), (13), and (14).
to
Suppose the
The
As problem
2.
Since each service level difference
Therefore,
if
size increases, the
rather than speed.
14-
e
is
the
= 2"^^ = 1/1,048,576, no
method
will likely
be
At each
iteration, the
method
most
calls the
W-evaluation subroutine n(p+l) times. Each
We
evaluation requires
at
search effort
W-evaluation subroutine by modifying the overall algorithm as follows.
each
in the
iteration in
Step
we
first
yjj(z) values,
sequence,
max{yj
we
log2(Yjt~Pit) iterations within the subroutine.
instead of
1,
Observe
bound of
(15)).
t
=
p in
1
the search interval for the W-evaluation subroutine as
that the values returned
directly correspond to the yj((z) values
At
evaluating aU the w-j(z) values before computing the
evaluate Wjq(z), and set yjo(z) = Wjq(z). Subsequently, for
specify the lower
t_i(z). Pjt)-
first
can reduce the
by the W-evaluation subroutine
they are not the Wjj(z) values
(i.e.,
defmed
in
now
equation
Since the search intervals are shorter, this modified method has lower computational
effort.
Notice
that, unlike
some
linear
programming-based methods, the bisection method does
not introduce cumulative floating point errors.
value of z* but only want to
know
if
z* >
levels for all products in all periods), then
Finally,
(i.e.,
we can
if
we
whether we
are not interested in the exact
Ccin
achieve the target service
terminate the procedure as soon as
LB
becomes nonnegative.
The next two
sections consider
two types of generalizations of
the
ARP
model, namely,
precedence constraints and part substitutability, that the bisection method can solve.
4.
Model Extensions
ARP
The
problem
is
I:
Precedence-constrained resource allocation
a constrained version of the basic resource-allocation model [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 us
now
broader class of "precedence" constraints that generalize the coupling constraints.
development leads
to
our next generalization, (20) below, which
is
consider a
Our
initial
applicable to multistage
production settings.
Suppose the production context requires
at time
t
that the
cumulative release quantity of a product
must equal or exceed the cumulative release quantity of product
must add constraints of the following type
ordered product-time index pairs
xjj
>
to formulation
j'
at
time
t',
i.e.,
j
we
[ARP'] for a prespecified subset IP of
<(j',t'),(j,t)>:
Xj-f
for all <a',t'). (j.t)>
15
e
IP.
(17)
6
If <(j',t'), (j,t)>
IP,
we
say that
(j'.t) 's
a predecessor of
We
(j,t).
will refer to discrete resource-
allocation problems with precedence constraints (17) instead of the coupling constraints (12) as
precedence-constrained resource-allocation problems.
PG
Let us define a precedence graph
to
encode the required relationships specified
This graph has one node for each product-time index
set IP.
from node
(j',t')
DC. To
circuit
necessarily set
N(DC)
to
node
(j,t)
for every pair
(j,t)
= min
DC, we can reduce
in the circuit
{fjt(X[)c): all
we
eliminate
(j,t)
fjt(Xjj)
for
e N(DC)}. Note
all (j,t)
substitution corresponds to contracting
all
the nodes
in the
transformed graph.
By
Since
(j.t) all its
PG
We
predecessors occur before
it
analogous to the node indexing scheme for
computations, where
lEl is
the
in
for all
and
j
=
1,
n,
and
t
=
p,
we
N(DC)
node DC;
are incident to node
manner, we obtain
graph to be connected.
nodes such that for each node
its
networks, requires O(IEr)
We
will refer to
can easily modify the bisection method
these precedence constraints as follows:
...,
in
PG; see Lawler [1976].)
We
problem by
(This node sequencing operation,
PERT/CPM
such a sequence S as a y-evaluation sequence.
accommodate
this
sequence.
number of edges
if
resource constraints
all circuits in this
we can sequence
in the
Thus,
In the precedence graph, the
any node
to
do not require
contains no directed circuits,
in the
value.
in the circuit into a single
successively eliminating
a circuit-free precedence graph PG.
same
we must
that this substitution preserves the
(j,t)
N(DC)
arcs originally incident from nodes not in
DC
contains a directed
e N(DC) and instead introduce
monotonicity of the resource-usage and productivity functions.
all
PG
the size of the
e N(DC) by a single variable, say, \^q
(11); in the objective function,
^DC^'^DC^
Suppose
IP.
the variables corresponding to the circuit's nodes to the
all
for every
X:j
and contains a directed edge
(j,t),
precedence constraints (17) implied by the circuit
satisfy all the
denotes the set of nodes
replacing
g
<(j'.t'). (j,t)>
in the
in
consider the indices
Step
after
1,
(j,t) in
computing W(z)
to
in [p.y]
the y-evaluation sequence S,
set:
= max
yj((z)
The remaining
[wjj(z),
max
{yj.t.(z): all (j'.f)
steps of the algorithm are unaltered.
from the nondecreasing property of
For our
ori ginal
<(j,t-l), (j,t)> for all
ARP
j
=
and
t
=
in
1, ...,
p.
<(j',t'),0,t)>
e IP)].
Again, the validity of
the resource-usage
problem (described
1, .... n,
such that
this
(18)
method stems
and productivity functions.
Section 3), the set IP consists of index pairs
Observe
that the
precedence graph
PG
for this
special case of precedence-constrained resource allocation consists of n "line" subgraphs, one
corresponding to each product; the adjacent nodes on each line
-
16-
j
correspond to release
quantities for product
j
consecutive time periods.
in
The
does not require any further reduction.
satisfies the required
we use
identical if
Let us
now
is
j
natural sequence
this
how
consider
time
t'
parameter
h-^
and
t'
1, ...,n,
=
t
0,
p)
...,
j'
that the
might differ
if
the
for discrete resource-allocation
more general than
that are
an accessory board and product
(t
method
to adapt the bisection
is
the
mother board
bjj
:.j.
Suppose
constraints (17).
for a personal computer.
cumulative release of product
equal or exceed a certain (nonnegative) proportion
at
=
j
sequence as the y-evaluation sequence S.
The production policy might specify
j'
for
((j,t)
and
circuit-free,
is
precedence property; the original and enhanced bisection methods are
problems with precedence constraints
product
This precedence graph
j at
time
t
must
of the cumulative release of product
two board types have
assembly lead times). The
different
might be based upon the relative yields of the two board types, spare parts
•^>
Modeling
requirements, and so on.
adding precedence constraints of the
this policy requires
form:
Xjj
A
>
for all <(j,t),
bjt j.f Xj.j.
more general version of these forcing constraints
where product j
is
a subassembly that
lead time for subassembly
per unit of final assembly
is
j
is
used
k time units,
in final
b::.
(19)
IP.
arises in multi-stage
assemblies
jj, J2,
assembly settings
If the
...., j^-
assembly
denotes the number of units of product
and Lq represents the
j',
6
(j'.t')>
inventory of product
initial
j,
then
needed
j
we
require:
"jt
"^
^jO
-
''jji
''ji.t+k
+
+
''jjr '^jr.t+k-
This constraint specifies that the cumulative release of subassembly
j
at
time
t
plus the opening
inventory must equal or exceed the cumulative requirements of this subassembly to meet the
final
assembly release quantities. In general, the precedence constraints might contain a
(nonnegative) weighted combination of several variables of the form:
where the parameter
The
variable
x-^
right-hand sides.
e-^ is
unrestricted in sign, but the coefficients
b-^
•^•
in the
as a predecessor of
let P:,
be the set of
every
(j',t')
e
all
indices
such that
(j'.f)
Xj.^.
right-hand side of at least one constraint of n(j,t).
(j,t).
The precedence graph PG
one node corresponding to each product-time index
<(j'.t'),0.t)> for
are all nonnegative.
Let n(j,t) denote the subset of precedence constraints (20) that contain the
with positive coefficient
(j',t')
:.j.
might be governed by several such precedence constraints, each with different
variable Xj^ in the left-hand side, and
refer to
b^
P^^.
17
(j,t);
node
for this
(j,t)
occurs
We
enhanced problem has
has incident arcs
To
apply the bisection method for resource-allocation problems with the general
precedence constraints (19) or (20), we will assume
PG
that the
corresponding precedence graph
(With constraints (19) or (20), we cannot always make the
contains no directed cycles.
precedence graph acyclic using the successive substitution procedure we described for
The
constraints (17).)
assumption. Since
that the index
y:j(z) in this
y:,(z) as the
(j,t)
PG
is
assumed
we
described earlier satisfies this
we can sequence
to be acyclic,
occurs after the indices of
We
predecessors.
all its
the product-time indices such
then determine the values
This version computes
sequence S using a generalized version of equation (18).
maximum
constraints in n(j,t).
values of
multi-stage assembly example that
By
for all
y:','(z)
of w-j(z) and the highest right-hand side value over
considering the variables
in the correct
the precedence
all
we
sequence,
ensure that the
e P^ are available before we compute the value of
(j',t')
We
yjt(z).
can
extend 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
corresponding precedence graph
5.
Model Extensions
In Section 4,
some
substitutability
product
is
acyclic.
is
Part substltutablllty
we showed how
to
problems with general
discuss modifications to incorporate another complicating
electronics assembly environments, namely, part substitutability.
we mean
not available.
using a designated alternative part (or parts)
Allowing substitution yields risk-pooling
achieving desired service levels; however,
quality and reliability.
it
may
if
it
is
benefits,
Our approach
to achieve service levels.
parts
and contributes to
also increase product costs
more
desirable to allow no
By
the preferred part for a
Products with substitute parts, although functional,
thoroughly as the nominal design. Thus,
needed
method extends
the bisection
We now
precedence constraints.
feature of
II:
long as the functions h U) are non-decreasing and the
and reduce product
may
not be tested as
substitution than
incorporates this preference,
i.e., it
is
exploits the
risk-pooling benefit of substitutability while maintaining cost, quality and reliability objectives.
For any desired (and achievable) service
minimum
substitution necessary by solving a
Suppose we can replace
the products.
part
i
with
we minimize
the total
i.e.,
one
unit of a part
commonality, provides
risk
i'
i,
some other
e
i.e.,
RB(i)
(or cost) of
part without affecting the functionality of
=
(i":
R(i) replaces
pooling benefits.
amount
cost network flow problem.
Let R(i) be the index set of parts that can replace part
of parts that can be replaced by part
substitution,
level,
If part
18
i
€ R(i")}.
one unit of
i
is
i,
and
We
part
i.
let
RB(i) be the
set
assume one-for-one
Part substitutability, like
not available in stock,
we can
still
assemble products
by using an alternate part from
that require this part
Rothblum [1993] developed an
aigonthm
efficient specialized
Klein, Luss, and
R(i).
to solve linear,
continuous
resource-allocation problems with substitutions.
Let us
formulate the assembly-release planning problem with part substitutability,
first
APS
which we abbreviate as the
quantity of product
bjQ be the
periods
j in
initial availability
through
of part
i
in
period
t
before,
for
t,
=
j
1
denote the cumulative release
let x-^
and
n,
...,
,
=
1, ...,
p, let bjj
0,
...,
in
i
For every
p.
period
part
=
and
Sjq,
=
h^^
Sjj
let
i,
plus the
be the number of units of part
In terms of our previous notation, bjQ
t.
=
t
opening inventory of part
(i.e.,
quantity received in period 0), and for
received
As
problem.
-
i
Sj j_[ for
=
t
t
1,
...,
where
p,
cumulative availability of part
Sj^ is the
i
period
in
Note
t.
that Sjj
=
Z
bjj.
for
t'=0
all
i
and
t.
As
=
before, \x^
For simplicity, we
equal or exceed
min{LSjj/ajjJ:
i
will consider the simple
for every product
x- j_|
we
version of the bisection method that
j
such that
aj:
>
0}
a valid upper bound on
is
precedence constraints (12) specifying that
and periods
t
=
The model and
p.
1
x-^.
x-j
must
the modified
describe later can also incorporate the more general
precedence constraints (19) or (20).
To model
...,
m,
i'
part substitutability,
e RB(i), and
during period
t.
t
=
0,
...,
p,
we
new
introduce
denoting the
"substitution" variables
number
The APS problem then has
of units of part
i
Vjji|,
for all
=
i
used to replace part
the following nonlinear, integer
1,
i'
programming
formulation.
[APS]
maximize
r(X) =
j
=
bj,,
+
min{fjf(Xjf):
and
n,
1
t
=
0,
(21)
p}
...,
subject to:
n
I
j=l
t
t
a'J
X-j
J'
+
I
I
Vij.
,
<
t=Oi'eRB(i)
Xjj
>
Xj
Xjj
<
Ujj
Xjj
>
Vjj.j
>
j_j
and integer
and integer
I
t
1
I
Vj,.;
,
f=Oi"€R(i)
t'=0
for all
i
=
I,
for all
j
=
1, ...,n,
and
t
=
forall
j
=
1, ...,n,
and
t
=
for all
j
=
1
foraU
i
=
1,
19-
...,
m, and
n,
....
m,
and
i'
=
t
t
0,1,
1
(24)
p,
0,1,
g RB(i).
(23)
p,
0,1
=
(22)
...,p.
...,p,
t
=
and
0,1,
...,p.
(25)
(26)
Formulation [APS]
now
similar to our previous formulation [ARP'I except that constraints (22)
is
incorporate parts substitutability. and constraints (26) impose nonnegativity and integrality
on the new substitution variables \-^. Constraints (22) have
particular part
i
and period
"outflow" of part
and the
part
i
t,
period
in
total quantity
the following interpretation.
For a
the left-hand side of this constraint represents the cumulative
t
demand of products
both to satisfy the cumulative
of part
i
used to replace other parts
i'
e RB(i)
j
that use this
periods 0,
in
The
..., t.
right-hand side of the constraint represents the cumulative "inflow," consisting of the opening
inventory and cumulative receipts of part
i"
e R(i)
periods 0,
in
....
plus the
i
number of
units of part
replaced by parts
i
Constraints (22) specify that the cumulative outflow must not
t.
exceed the cumulative inflow for each part and every period. Formulation [APS]
is
clearly
feasible (set all variables to zero).
To
we
solve problem [APS]
search, a
trial
and (25) such
r(X) with
that
products
yjt(z) for all
X
= Y(z) =
quantities with substitutions permitted.
Y(z).
we
This step
we must
explain next,
APS
for the
more complicated
is
We
for
j
and periods
z,
and
the available parts can
i.e., if
required
satisfying constraints (23),
t
equals or exceeds
(yjt(z))
the desired release quantities yjt(z) are feasible,
of
minimum
value z of the objective function, (b) determining the
cumulative release quantities
(24),
will follow the previous strategy of: (a) selecting, via bisection
(c) verifying if
meet these release
refer to Step (c) as verifying the resource-feasibility
model [APS] than
for the basic
model [ARF]. As
solve a network flow subproblem to verify resource-feasibility of Y(z)
problem.
Given a vector
X
=
(x-^)
(= (yjj(z)) in our bisection method). Step (c) requires verifying
if
A
the partial solution
X
has a "feasible completion" in [APS],
nonnegative integer values for the variables
Xj,
and
=
we must determine
that satisfy constraints (22) after
we
if
there are
substitute
'^
A
Xjj in
if
Vjj.j
i.e.,
these constraints.
To
motivate the procedure for checking resource-feasibility of
so determining feasible v-values,
additional set of variables kj| for
all
i
=
let
X
us reformulate constraints (22) by introducing an
m, and
1
t
=
We
p-1.
will define these
variables via the following equations:
•^iO
=
bjo
+
.„
1
kit
=
2
Vi,.io
-
I
for all
Vij-o
i
=
1
m, and
(27)
m,t=l,...,H-
(28)
igRB(i)
gR(i)
^ + ^,t-l + .„^„,/i"it-.,
eR(i)
foralli=l
£,/ii't
lERfi(i)
1
Notice that using these k-variables,
we can
simplify constraints (22)
to:
n
Z
j=l
a:: Xj,
'J
J'
<
for all
k:,
-
20-
i
=
1
.
...,
m,
t
=
p-1.
(29a)
n
^
^p-^'^i,p-l+.„^,./np
I
.^,
eR(i)
foralli=l,...,m.
^ij^jp
^^
j=l
(29b)
"
A
X entails
Therefore, verifying the resource-feasibility of a given cumulative release vector
A
/\
determining a solution (V(X),K(X)) satisfying constraints (26) through (29) or proving
that no such solution exists.
We now
explain
how we can
and (28) as the familiar flow
interpret constraints (27)
conservation equations of a network flow problem, £ind constraints (29) as lower limits on the
A
A
flows on certain arcs. For a given vector X, consider a directed network G'(X) containing
nodes
corresponding to each product
(i,t)
network contains two types of
=
1
=
1,
m,
i'
G RB(i), and
m, and
....
=
t
can replace part
i,
.....
=
i
1,
m, and every period
...,
from node
arcs: (i) "substitution" arcs
0,
from node
p; and, (ii) "k-arcs"
...,
=
t
can replace part
i".
Each k-arc from
node
node
to
(i,t)
The
p.
,
to
(i,t)
Figure 2 shows a portion of this network.
p-1.
while part
=
(i',t)
t+1) for
(i,
limit LLjj(X)
=
p) has a
for
i
=
1,
on
its
....
m
demand (minimum
lower
flow,
and
t
i.e.,
=
0,
minimum
the
p,
....
required flow on this arc
has a supply of
For
bjj units.
i
=
LLjj(X).
is
m, node
1
required extemal outflow) of
Z
a^jX:
(Since this node also
.
j=I
n
has a supply of
units, its net
bj
demand
Z
is
ajjX:
-
b-
.)
j=l
A
Consider the following y7ow/(?a.s/Z?j7/ry problem defined over the network G'(X).
A
Find a feasible flow on G'(X) satisfying the demand, supply, and
minimum
arc flow
constraints, or prove that no feasible flow exists.
The mathematical formulation of
this
flow feasibility problem contains flow conservation
A
equations
k-arcs,
at
each node, constraints imposing the
minimum flow
and nonnegativity constraints on the flow variables.
substitution arcs as the v-variables,
If
requirements LLjj(X) on the
we
interpret the flows
on the
and the flows on the k-arcs as the k-variables, then we see
that:
(i)
all
i
=
1
m are
for all
i
=
I, ...,
m, and
the flow conservation equations at nodes (i,0) for
the
same
as constraints
(27);
(ii)
the flow conservation equations at nodes
same
(iii)
(iv) for
i
(i,t)
t
=
1
p-1, are the
as constraints (28);
minimum
the
=
I, ...,
i
i'
n
(i,
i
A
2- a^: Xj^
(i,t),
all
In this figure, part
to (i,t+l) has a
(i,t)
for all
"
A
Every node
0,
t
i
flow requirements on the k-arcs correspond to constraints (29a); and,
m, the demand constraints
at
-
nodes
21
(i,p) are the
same
as constraints (29b).
Notice
that, if the
(assuming
network G'(X) has a feasible flow, then
the parameters a-
all
easily incorporate upper
and
are integral),
b|j
i.e.,
it
must have an
integral flow
constraints (26) are satisfied.
We
can
bounds on the substitution variables and k-variables; these upper
A
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 vector
X
has a feasible completion
if
and only
the
if
A
corresponding network flow problem defined over G'(X) has a feasible solution.
A
Note
that as
A
X
changes, only the
minimum
flow requirements LLjj(X) change; the node
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
if
A
G'(X) has a feasible solution. Max-flow algorithms are commonly used for
max-flow problem can be solved very
the
number of nodes and edges
At each
in the
iteration, the bisection
efficiently in 0(INI ViEl) time,
where
this purpose.
INI
and
IE!
The
denote
network (Ahuja, Magnanti, and Orlin [1993]).
method applies
the
max-flow algorithm
to verify the
resource-feasibility of the cumulative release vector Y(z) corresponding to the current target
value
the
We
z.
restate this iterative step (Step 1) of the
APS problem
with general precedence constraints (20) (assuming these constraints satisfy
the acyclic precedence graph property).
are the
same as
modified bisection algorithm for solving
The remaining
steps and the W-evaluation subroutine
before.
Modified bisection algorithm for the
APS problem
with general
precedence constraints:
Step
1:
Search process
Construct a y-e valuation sequence S.
REPEAT
z f-
(LB + UB)/2;
Compute W(z)
FOR
successive
y:j(z)
= max
in [p,Y];
(j,t) in
[wjj(z),
{call
W-evaluation subroutine)
the sequence S, set
{max RHS value over
all
Construct the network G'(Y(z));
-22
precedence constraints (20)
in n(j,t)}];
IF the network flow problem defined on G'(Y(z))
THEN
ELSE
LB
set
UB
set
<r-
i.e., z' is
<- Y(z);
e;
e (LB, UB] be the
z'
(3
<- z and y <- Y(z);
UNTIL (UB - LB) <
Let
r(Y(z)) and
feasible,
is
value
final feasible target
when
the target value corresponding the last iteration in
defined on G'(Y(z')) was feasible.
feasible v-values
disadvantage of
maximum
from the
As we noted
maximum
this solution is that
earlier,
the bisection algorithm terminates,
which the network flow problem
we can determine
the appropriate
it
might entail "unnecessary" substitutions,
flow algorithm might route flows on certain substitution arcs when
problem has an
alternate
maximum
One
flow solution corresponding to network G'(Y(z')).
i.e.,
the
in fact the
flow solution that does not use these arcs.
In practice,
production managers might prefer to reduce substitutions, as far as possible, subject to the
requirement that the objective value must be z.
at the
We
can incorporate
this preference
by solving
end a minimum cost flow problem defined over the network G'(Y(z')). The node
supplies,
demands, and arc flow lower bounds are as shown
for flow along substitution arcs,
that arc.
We
i.e.,
in
Figure
We
2.
each substitution arc has a cost 5 >
assign a penalty
per unit of flow on
seek the min-cost network flow solution that meets (or exceeds)
using the available supplies subject to the
min-cost flow problem
is
minimum flow
feasible since Y(z')
is
all
the
demands
requirements on the k-arcs. This
resource-feasible.
Since
all
substitutions are
penalized equally, the optimal solution minimizes the total number of parts used as substitutes.
The model can
Adding flow costs on
also incorporate part-dependent substitution penalties.
the k-arcs allows modeling product-dependent finished goods inventory holding costs.
Note there
is
a tradeoff between the value of z and the (minimal) total
substitution needed.
Let
MCF(z) denote
the min-cost flow substitution
G'(Y(z)), with minimal objective function value v(z).
MCF(zj), so
that v(z,)
<
As we
v(z2).
problem on the network
Since Y(z)
is
monotonic
Thus
Zj
<
increases the arc lower bounds LLjj(Y(z)) also increase.
restriction of
amount of
increase z
target service levels, but our substitution cost also increases.
if
Z2 then
we come
in z, as z
MCF(Z2)
is
a
closer to achieving our
Clearly this approach could lead to
a formal tradeoff of serviceability and substitutability.
The following proposition
the
APS
establishes the validity of the modified bisection algorithm for
problem.
-
23
Proposition
5:
The APS problem has
a feasible solution with objective value z if
and only
the network
if
flow problem defined over G'(Y(z)) has a feasible solution.
Proof:
As we previously
explained, for any value of
the vector
z,
X
= Y(z) computed
in
the smallest nonnegative integer vector with objective value less than or equal to z
satisfying the precedence constraints (20) (or (23)), and the upper
flow subproblem defined over G'(Y(z))
V(Y(z)))
is
feasible, then
is
by
Lemma
Hence, f'(Y(z)) > z
feasible in formulation [APS].
is
bounds
Step
is
and
network
If the
(24).
1
4 the solution (Y(z),
a valid lower bound on the
optimal value of [APS].
To complete
the proof
we need
subproblem defined over G'(Y(z))
[APS] does not have any
to
show
for
if,
infeasible, then z
is
some value of
is
z,
the network flow
a valid upper bound,
i.e.,
the
feasible solution with objective value greater than or equal to
establish this property via contradiction.
does not have a feasible flow, but the
say, X'
that
Suppose, for a given value
APS problem
z.
We
the network G'(Y(z))
has a feasible assembly-release solution,
whose objective function value f '(X') equals or exceeds
functions are nondecreasing and since Y(z)
z,
model
z.
Since the productivity
the smallest vector of release quantities that
is
achieves the objective function value of z while satisfying (20), (24), and (25), X' must be >
Y(z).
Therefore, the arc flow lower limits LLjj(X') in G'(X') must equal or exceed the lower
limits LLjj(Y(z)) in G'(Y(z)).
feasible flow (by
<
Lemma
4).
Since X'
is
The same flow must
LLjj(X')), contradicting the hypothesis.
on
G'-(Y(z))
Finally,
is
infeasible, z is a valid
we
feasible in [APS], the
network G'(X') must have a
also be feasible in G'(Y(z)) (since LLj,(Y(z))
Therefore,
if
the network flow subproblem defined
upper bound on the optimal value of [APS].
note that the modified bisection method can handle nonlinear, nondecreasing
resource constraints as well.
6.
Conclusions
This paper has discussed a
set of increasingly
complex planning problems
assemble-to-forecast environments with part commonality, and
problems using bisection methods. The bisection approach
is
showed how
in
to solve these
a simple and versatile method to
solve a wide class of discrete, monotonic bottleneck resource-allocation problems.
worst-case computational complexity depends on the data
-
24
multi-product
(e.g., the
Although
its
values of the upper bounds
Uj(),
it
can efficiently solve practical problems. The method offers the considerable advantage
of finding integer solutions to problems with nonlinear productivity functions
fj,().
This
advantage stems from the fact that we only need to verify the feasibility of iterative solutions
Y(z) with respect to the nonlinear, nondecreasing resource constraints, rather than
The nondecreasing
incorporating these constraints directly in the optimization process.
requirement for the resource-usage functions
many
G()
is
a relatively weak condition that holds for
practical applications.
The
basic assembly-release planning
model added coupling constraints (12)
monotonic bottleneck resource-allocation problem
[P].
In Section 4,
we
to the original
generalized these
constraints to include a large class of precedence constraints (e.g., (19) and (20)) that satisfy
the acyclic precedence graph property.
In Section 5,
we
introduced additional susbstitution
variables in the problem formulation.
Let us
now
provide a broader interpretation of these developments as enhancements to the
generic discrete, monotonic bottleneck resource-allocation model [P].
variables in this
on these
model
variables.
as the
The
We
will refer to the x-
primary variables; the bottleneck objective function depends only
ARP
problem's coupling and precedence constraints create
dependencies between the primary variables.
In general,
we might
represent these restrictions
as the following set constraint:
X
The condition
that constraints (20)
e
must
0.
precedence graph property
satisfy the acyclic
essentially translates into the following general requirement for the set
of the objective function,
it
must be "easy"
0: for any
target value z
to identify the smallest vector Y(z) in
that
achieves the target value. For instance, the acyclic precedence graph property permits us to
compute
The
y:(z) easily after
we determine
the y-e valuation sequence S.
introduction of part substitutability generalized the basic model [P] along another
dimension. In addition to the vector
X
of primary variables,
we
included a vector
auxiliary variables that appear in the resource-usage constraints.
resource constraints for the
ARP
model with
V
of
Instead of constraints (2), the
part substitutability have the following general
form:
gj(X)
-h
hi(V)
<
Sj
for all
i
=
1, ...,
m.
(30)
Furthermore, the auxililary variables might have additional restrictions:
V
€ Q.
(31)
-25
For the parts substitutability case, the
set
Q
was
the set of
all
We
nonnegative integer vectors V.
A
defined the concept of resource-feasibility of any vector
A
constraints (30) must have a feasible completion
constraints.
With
V(X) e
the general resource constraints (30)
X
e
Q
when we
as the requirement that
A
substitute
X
=
X
in these
and auxiliary variables V, the original
nondecreasing property of resource-usage functions for the bottleneck activity variables
X
is
replaced by the following general monotonic resource-feasibility requirement:
If
X
a vector
e
is
not resource-feasible then neither
is
any other vector X' e
with
X>X.
Finally, in order to apply the bisection
allocation model,
we
method
also require a subroutine that can efficiently find a feasible completion
A
V(X) e
to this generalized bottleneck resource-
A
i2 for
any bottleneck activity vector
X
g
problem, the network flow subproblem served as
To summarize,
the bisection
method
is
that
is
resource-feasible.
For the
APS
this subroutine.
effective for solving bottleneck resource-allocation
problems with discrete variables, nonlinear productivity functions, and nonlinear resource
constraints under the following three conditions:
vector Y(z) e
(i)
determining the smallest bottleneck activity
that achieves the target objective value z is relatively easy;
(ii)
usage functions satisfy the monotonic resource-feasibility requirement; and
the resource-
(iii)
finding a
A
feasible completion for any bottleneck activity vector
proving that
Xe
that
this vector is not resource-feasible) is relatively easy.
is
resource-feasible (or
The assembly-release
planning model with precedence constraints and part substitutability meets these conditions.
26-
REFERENCES
J., S. Grotzinger, and D. Johnson, "Component Allocation and Partitioning for a Dual
Delivery Machine," Operations Research, 36 (1988) 176-191.
Ahmadi,
H., and H. Matsuo, "The Line Segmentation Problem," Operations Research, 39
(1991) 42-55.
Ahmadi, R.
Ahuja, R. K., T. L. Magnanti, and
Applications, Prentice Hall,
J.
B. Orlin,
Englewood
Network Flows: Theory, Algorithms, and
Cliffs,
New
Jersey (1993).
Bagchi, U., and G. Gutierrez, "Effect of Increasing Component Commonality on Service Level
and Holding Cost," Naval Research Logistics, 39 (1992) 815-832.
Baker, K. R., "Requirements Planning" in Handbook of Operations Research and Management
Science, Volume 4 (Logistics of Production and Inventory), S. C. Graves, A. H. G. Rinnoy
Kan, and P. H. Zipkin (eds.), North-Holland, Amsterdam (1993).
Baker, K. R., M. J. Magazine, and H. L. W. Nuttle, "The Effect of Commonality on Safety
Stock in a Simple Inventory Model," Management Science, 32 (1986) 982-988.
Brown,
J.
"The Knapsack Sharing Problem," Operations Research
R.,
,
27 (1979) 341-355.
Brown, J. R., "Solving Knapsack Sharing Problems with General Tradeoff Functions,"
Mathematical Programming 51 (1991) 55-73.
,
Collier, D. A.,
Management
"Aggregate Safety Stock Levels and Component Part Commonality,"
Science, 2S (1982) 1296-1303.
Francis, R. L., and T. Horak,
to
appear
HE
in
"An
Transactions
Efficient Algorithm for Solving the Reel Allocation Problem,"
( 1
994)
Gerchak, Y., and M. Henig, "Component Commonality in Assemble-to-Order Systems: Models
and Properties," Naval Research Logistics, 36 (1989) 61-68.
Gerchak, Y., M. J. Magazine, and B. Gamble, "Component Commonality with Service Level
Requirements," Management Science, 34 (1988) 753-760.
Grotzinger, S. J., and D. W. Cooper, "Selecting a Cost-Effective
Preselected Locations," Journal of the lES, (1992) 41-49.
Number of Samples
to
Use
at
Grotzinger, S. J., R. Srinivasan, R. Akella, and S. Bollapragada, "Component Procurement and
Allocation for Products Assembled to Forecast: Risk Pooling Effects," IBM Journal of
Research and Development, 37 (1993) 523-536.
Grotzinger,
S.,
and M. O'Connor, "Procurement and Release with Uncertain Demands,"
RC 18890, IBM Thomas J. Watson Research Center, Yorktown Heights, NY,
Research Report
May
1993.
and N. Katoh, Resource Allocation Problems: Algorithmic Approaches, The
Cambridge, Massachusetts (1988)
Ibaraki, T.,
Press,
Jacobsen, S.,
Science,
n
"On Marginal Allocation
in
Single Constraint
MIT
Min-Max Problems," Management
(1971)780-783.
Klein, R. S., H. Luss, and U. G. Rothblum, "Minimax Resource Allocation Problems with
Resource Substitutions Represented by Graphs," Operations Research, 41 (1993) 959-971.
27
Lawler, E.
L.,
New York
Combinatorial Optimization: Networks and Matroids, Holt, Reinhart and Winston,
(1976).
Luss, H., "Minimax Resource Allocation Problems: Optimization and Parametric Analysis,"
European Journal of Operational Research, 60 (1992) 76-86.
Luss, H.. and D. R. Smith, "Multiperiod Allocation of Limited Resources:
Approach," Naval Research Logistics Quarterly, 35 (1988) 493-501.
Porteus, E. L., and
J.
S.
A Minimax
Yormark, "More on the Min-Max Allocation Problem," Management
Science, 18 (1972) 502-507.
Tang, C. S., "A Max-Min Allocation Problem:
Research 36 (1988) 359-367.
Its
.
-28
Solutions and Applications," Operations
o
c
>
0)
oo
o
E
0)
(/)
CO
0>
c
o
«
o
o
"O
u
3
o
c
CO
E
o
p
o
0)
0>
E
3
U.
<
Figure
2:
Network configuration to
verify resource-feasibility for
MIT LIBRARIES
pi
III
I
II
Illllljlll
llllllllljll
3 9080 00897 4864
APS problem
2
176
nk q
Date Due
Download