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