CMIT, capacitated multi-level implosion tool

CMIT, capacitated multi-level implosion tool

European Journal of Operational Research76 (1994) 511-528 North-Holland 511 Theory and Methodology CMIT, Capacitated Multi-level Implosion Tool L.F...

1MB Sizes 0 Downloads 9 Views

European Journal of Operational Research76 (1994) 511-528 North-Holland

511

Theory and Methodology

CMIT, Capacitated Multi-level Implosion Tool L.F. E s c u d e r o

WITESA Iberdrola Group and Mathematical Sciences School, Universidad Complutense de Madrid, Madrid, Spain Received September 1991 Revised July 1992 Abstract: We present an LP model for resource deployment decisions in a multi-product, multi-level, multi-period manufacturing network with multiple demand sources, alternate bill of materials, substitution components, effective periods segments and capacity constraints. Typical instances require over 25000 constraints. We describe a decomposition approach that does not necessarily require consideration of all constraints simultaneously. Cases with above dimensions can be solved in few minutes in host computers by using this type of active set strategy. Computational results for large-scale real-life problems are presented. Keywords: Manufacturing network; Production planning; Multi-level; LP decomposition I. Introduction Production planning is concerned with determining production and stock levels to meet fluctuating demand requirements. See [5,6,17]. If resources can be acquired as needed and plant capacity is infinitely expandable and contractible at no cost, then the optimal production schedule consists of producing end products according to the demand schedule, and producing subassemblies (i.e., intermediate products) exactly when needed as input to the next assembly process. However, in many real assembly systems, the supply of some raw materials is tightly constrained, with long production a n d / o r procurement lead-times. The demand for products fluctuates, both in total volume and in product mix. As a result, just-in-time production is not usually feasible, and when feasible, may result in poor utilization of resources. In these circumstances, the production planning consists of deciding on the best utilization of the available resources given the current forecast of demand requirements. There is a broad of literature on production planning systems; see hierarchical approaches in [13,20,21], single-level based systems in [3,23-25], multi-level based systems in [9,18,19,28,29], systems for line balancing in [2,25,27,35], systems with lot size, inventory holding and setup cost considerations in [1,8,11,24,31-33,35-37,39,40] for single-level based systems and [1,7,19] for multi-level based systems. All of the above approaches assume deterministic product demand along the planning horizon. The model to be described in this paper includes most of the features referenced above, but lot size and setup considerations. The model is intended for mid-term planning horizons (typically, 26 weeks) and so, its aggregate level does not require lot size and setup considerations. Additionally, our approach

Correspondence to: L.F. Escudero, MathematicalSciences School, UniversidadComplutensede Madrid, Madrid, Spain. 0377-2217/94/$07.00 © 1994 - Elsevier Science B.V. All rights reserved SSDI 0377-2217(92)00387-D

512

L.F. Escudero / CMIT, capacitatedmulti-levelimplosion tool

allows multiple demand sources, substitution components, effective periods segments, capacity constraints, subassemblies, etc. We are not aware of any other system for large-scale time-sensible resource deployment in a multi-period, multi-product, multi-level manufacturing network environment with so many capabilities as our model has. We have developed an LP decomposition approach that enables us to solve instances with dozens of thousands of constraints without too much computational effort, see Section 9. This encourages us to extend the scope of our work to include different demand outlooks per product and period in a scenario aggregation approach, see [15,16]. The paper is organized as follows. Section 2 describes the problem to be addressed in the following sections. Section 3 deals with the goals to be attained. Sections 4, 5 and 6 give the data that is required as well as the options that can be exercised and the type of output that can be produced. Section 7 presents the formal LP model. Section 8 outlines our LP model decomposition approach for multi-period, multi-component usage planning problems. Section 9 reports some computational experience. And, finally, in Section 10 we draw some conclusions and outline future directions of research.

2. Problem description Our problem can briefly be stated as follows. A planning horizon is a set of (consecutive and integer) time periods of equal length. An end product is the final output of the manufacturing network. Let us use the term component to describe any part number that is required for the production. We will name raw component to a component whose supply is only from outside sources. A transferable component is a component whose available volume at the end of any period can be transferred to the next period (e.g., materials, parts, etc.). A non-transferable component is a component whose volume that is not used in a period cannot be transferred to the next one (i.e., energy, machine time, etc.). A subassembly is a product that is assembled by the manufacturing network and, together with other components, is used to produce another product. (External demand a n d / o r supply for the subassemblies is also allowed.) By the term product we will refer to both end products and subassemblies. By the term component we will refer to both raw components and subassemblies. The stock of a product is the available volume at the end of a given period. The cycle time of a product is the number of (consecutive and integer) periods that are required for its completion, from the release of the product in the assembly line until it is available for use. Let us call Bill of Materials (BOM) the structure of the set of components required by a product. Note that a subassembly is a product (i.e., it has its own BOM) that belongs to the BOM of some other product(s). On the contrary, a raw component is not assembled by the network and, then, it is supplied from outside sources only. Cases with external demand sources for raw components can be handled by allowing a pseudo end product per raw component, such that the product has its own external demand, its cycle time is one period and its BOM is only included by the raw component. A production period is a period in the product's cycle time. We assume that each component in a BOM is only required in one specific production period (e.g., the second week in a 3-week cycle time). High-tech products are subject to design and engineering changes and, then, the set of components used in a product (e.g., its BOM) may change during the planning horizon. Instead of considering multiple BOMs, we associate an effective periods segment (EPS) with each of the components in a BOM. Each segment is defined by the earliest period and the latest period where the component can be used in the product. Engineering changes are the most frequent reason for having an EPS that is smaller than the length of the planning horizon. Note that the avoidance of assembling a product with obsolete components does not prevent its use for satisfying external demand or as a component in other BOM's. The using of obsolete products can be prevented by forcing a no stock at the appropriate period. Alternatively, a mandatory effective periods segment does not allow to produce, nor using old (i.e., obsolete) technology. Notes: 1) An engineering change (EC) is marked by the latest period, say It, where the prime component is allowed to be used in a given product. The EC is mandatory if the product with the old technology is not allowed to be used after period It, even if the product was assembled in

L.F. Escudero / CMIT, capacitated multi-level implosion tool

513

advance. 2) The mandatory EC's for subassemblies must be performed in cascade up to end products or subassemblies that are non-prime components. Let us define backlog of a product at the end of a period as the (non-negative) difference between the cumulated demand and shipment up to that period. Multiple external demand sources for a product (either end product or subassembly) are allowed. A practical model should allow the replacement of some components in a BOM by using other components. Let us term prime component to the component listed in a BOM. The other components will be termed substitution components. The latter ones can be either replacement components or alternate components. Replacement components are used when prime components availability is not enough to satisfy the (external or internal) demand. Multiple substitutions for a prime component are allowed. The substitutions for a prime component may depend on both the component and the product. Each substitution has its own unit usage, effective periods segment, priority if any, and fallout. In any case, a prime subassembly can be substituted by another subassembly or by a raw component. A raw component can also be substituted by another raw component or even by a subassembly. Note that in-house production and vendor sourcing can be modeled by using the substitution mechanism. Although we only allow substitutions for (prime) components, substitutions for external demand serviceability can also be handled by creating appropriate pseudo end products whose cycle time is one period. An alternate of a prime component in a given BOM is any other component that can substitute the prime component, depending upon the availability of both components and the requirements from other BOM's over the planning horizon. The difference between alternates and replacements is that the prime component has not priority over the alternates, nor the alternates have internal priority. As an illustration, the utilization of the capacity of non-dedicated manufacturing lines can be modeled by using the concept of non-transferable alternate components. (See that the release of a given product can be diverted to different lines, each line has its own capacity, e.g., time availability, and a processing time is given for each product and line.) Alternate BOM's for a given product can be handle by creating one pseudo subassembly per BOM's, labelling one alternate BOM as prime component and using the others as alternate components. Note that single-level production requires that the components are assembled sequentially' along the cycle time of the product. By contrary, a multi-level production allows that subsets of components are assembled independently and, then production resources can be better utilized. The main alternative goals that we can consider are as follows. 1. Determining the production quota per period and product so that a cost/penalty function is minimized and a set of constraints is satisfied. 2. Estimating the performance of a decision about the production quotas, given a set of economical and technological constraints. 3. Determining the usage of substitution components. The basic output that we consider includes the following: 1. The Master Production Schedule, which specifies the production quota for each product and period in the planning horizon. 2. The WIP (Work-In-Progress) for each product and period. 3. The amount of each end product and subassembly with external demand to be shipped in each period. 4. The usage of substitution components per prime component, product and period. 5. The stock at the end of any period for each product and raw component. The model allows to assign products to so-called product groups. An aggregate capacity constraint (weighted Product Going Rate, PGR) for any group (usually, a manufacturing line) can be considered per period. The rates may vary by period to reflect either the varying time scale, or capacity increases in the line. So-called raw component groups are also allowed, such that the total amount that is used per group and period can be bounded. We should point out that the concept of non-transferable components allows to consider resources such as machine capacity, tool and manpower availability, etc. (see [14]). The following data can be given

514

L.F. Escudero / CMIT, capacitatedmulti-levelimplosion tool

for each product and resource: unit usage, production period, EPS (representing, e.g., equipment changeover), substitution resources, etc. 3. Model goals and constraints

The following types of constraints are included in our model: 1. The shipment of a product cannot exceed the current demand plus backlog for any period. 2. The backlog for a demand source cannot exceed a given upper bound per period. 3. The production levels must be within allowed lower and upper bounds. 4. The stock level of a product at the end of any period must be within allowed lower and upper bounds. 5. A product must use the components specified in its BOM. The constraints related to the effective periods segment (EPS) must be satisfied. 6. The available volume of a subassembly due to external supply should be left unused after any period where its stock is not allowed (usually, due to mandatory EPS). 7. A replacement component in a given BOM can only be used whenever there is not available volume of its prime component at a given time period. 8. The lower and upper bound on the usage of the aggregate capacity (PGR) for each product group and period cannot be violated. 9. The usage of each component can not exceed the maximum availability for each period. 10. The lower and upper bounds on the usage of each raw component group and period cannot be violated. Subject to the constraints given above, the components are allocated to achieve one of the following goals: 1. Maximize total shipment value. (A unit shipment value is associated with each product and period.) 2. Maximize weighted serviceability, defined as the weighted sum of the ratio of the cumulated shipment and demand for each product and period. 3. Minimize backlog penalty, defined as the weighted sum of the difference between the cumulated demand and shipment for each product and period. 4. Minimize the maximum backlog of any product at any period to obtain a balanced production. 5. Minimize backlog via priority allocation (see below). A solution that achieves the specified goals should be used dynamically; in other words, only the decisions related to the first few periods are to be implemented. As new demand and resource availability data, new BOMs, product weights and cycle times, etc. become available, the model should be updated and re-run. 4. Model data

The following data is used in the model: 1. For each raw component: (a) transferable/non-transferable flag; (b) availability per period; (c) component group, if any. 2. For each product (end product or subassembly): (a) Market information. For each type of external demand and period: 1) Volume. 2) Unit shipment and serviceability values. 3) Unit backlog penalty. 4) Maximum allowed backlog. 5) Priority level for component allocation, if any.

L.F. Escudero / CMIT, capacitated multi-level implosion tool

515

(b) Production logistics information. For each period: 1) Initial stock and WlP. 2) Lower and upper limits on release quantities. 3) Minimum and maximum stock to keep. (c) Technology information. 1) Cycle time. 2) Product group, if any. 3) Unit group capacity usage per period. 4) Yield per period. 5) BOM. For each component (raw or subassembly): a) usage; b) production periods; c) earliest and latest effective periods; d) mandatory effective periods segment flag; e) fallout; f) for each substitution component (raw or subassembly), if any: (i) usage; (ii) earliest and latest effective periods; (iii) fallout; (iv) priority for replacement. (Note: No priority means that the substitution component is an alternate.) 3. Lower and upper bounds on the total usage for each raw component group and period. 4. Lower and upper bounds on the aggregate capacity (PGR) for each product group and period. 5. Model options

The flexibility of the model permits to exercise the following options: 1. Selection of the objective function to optimize: Minimize maximum backlog, maximize shipment value, maximize serviceability, minimize backlog value and priority allocation. 2. Build ahead vs. build for current demand and backlog. 3. Components usage: prime components only vs. primes and replacements. 4. Components availability: all components vs. critical components only. 5. Earliest product shipment: Shipment at the same production completion period vs. shipment after a given number of periods following production completion (also called shipment lag-! period policy). 6. Model output

The optimal solution and sensitivity analysis for a specified run can be as follows: 1. Optimal solution. (a) shipment volume per (external) demand source and period; (b) backlog volume per demand source and period; (c) production release per product and period; (d) allocation of transferable components; (e) usage of non-transferable components (i.e., resources); (D prime components substitution per product and period; (g) stock level to keep per product and period; (h) total usage per raw component group and period; 2. Sensitivity analysis: Analyze the implications of a variation on the optimal levels for the following items: components availability, components substitution, product demand, cycle time, backlog, raw component group usage, product group usage, product release and product stock.

516

L.F. Escudero / CMIT, capacitated multi-level implosion tool

As a referee points out, a crucial step in the applicability of the model is the way on which the output information is produced. However, it is out of the scope of this paper to describe how the output matrix is generated from actual production files. Another important issue that we do not develop here is the way to process the enormous amount of output from the model in order to provide a meaningful information to production planners. This work focusses on the formal representation of the model, and the decomposition approach for the algorithmic framework.

7. Formal representation

7.1. Elements Sets T: J: JE _ J: JS _ J : JSD ___JS: G:

Jg~J:

Set Set Set Set Set Set Set

of periods in the planning horizon. of products. of end products. of subassemblies. JE N JS = ¢ and J = JE u JS. of subassemblies with external demand. of product groups. of products that belong to group g for g ~ G ,

such that J g c J and J g n J g , = ¢

for

g,g' ~ G. Lj:

set of (external) demand sources for product j ~ JE U JSD, such that Lj N Ly, = ¢ for

j,j' ~ JE U JSD. L = I: IR ___I: IT ___IR:

U Ly for all j ~ JE U JSD. Set of components. Set of raw components, such that IR N JS = ¢ and I = IR u JS. Set of transferable raw components. (Note: I R - IT is the set of non-transferable raw components.) F: Set of raw component groups. IRFj __.IR: Set of raw (non-substitution) components that belong to group f for f ~ F , such that IRFf N IRFf, = ~ for f , f ' ~ F. Iy .c I: Set of prime components in the BOM of product j for j ~ J. I ',j c I: Set of components that may substitute prime component i in the BOM of product j for i ~ I and j ~ J. K= U I i'y, Vi ~ !J, J ~ J : Set of components that may substitute a prime component. (Note: IRFf N K = ¢.)

Demand Dt t:

D e m a n d from source 1 and period t for l ~ L and t ~ T. Cumulated demand from source l up to period t. Priority level for demand source l and period t for l ~ L and t ~ T. (Note: Smaller value, higher priority.) MBt,t: Maximum backlog on demand source l that is allowed at period t for 1 ~ L and t ~ T. l: Shipment time lag (i.e., the earliest period to ship an end product or a subassembly with external demand is the C-th period after its completion).

DLt: &t,t:

Bill of materials Pi,j:

Oli,j : hi,j:

Cycle time of product j for j ~ J. Production period in the cycle time of product j where prime component i is needed for i ~ I i and j ~ J. (Note: Substitution components have the same production period as the related prime component.) Amount of prime component i that is needed per unit of product j for i ~ Ij and j ~ J. Fallout for prime component i in the BOM of product j. Let ai, j give the net amount of

L.F. Escudero / CMIT, capacitated multi-level implosion tool

517

prime component i that is needed by one unit of product j for i ~ Ij and j ~ J, where ai, j = ai,j/(1 - O.O01hi,j). Earliest period and latest period, respectively, where prime component i or any of its , /,J ° substitutions can be used in the BOM of product j for i ~ Ij and j ~ J . (Note: p/,/< ~-},f) < -(+) --ui, j ~ [Tl-(cj+g)+pi,j.) MEPS~,j: Flag for the mandatory effective periods segment of prime component i in the BOM of product j for i ~ I i and j ~ J, such that MEPSij = 1 if the flag is on and, otherwise, it is 0. /3}'J: Amount of component f that is needed per unit of product j provided that it substitutes prime component i for f ~ I i'j, i ~ Ij and j ~ J. p~: Priority given to substitution of prime component i by component f in the BOM of product j for f ~ I iJ, i ~/1. and j ~ J . (Note: p ~ > 0 and integer.) By convention, O~j = 0 means that component f is an alternate for prime component i in the BOM of product j, and p~ < p~ means that component f has higher priority than component g. q}'J: Fallout for substitution component f for prime component i in the BOM of product j. Let b}'j give the net amount of component f that is needed per unit of product j, provided that it substitutes prime component i for f ~ I ~'j, i ~ lj and j ~ J , where b},J = 13i/J/ ( 1 - O.O01q},J). ~'~'J(-), r~'J(+): Earliest period and latest period, respectively, where component f can substitute prime component i for product j for f ~ I i'j, i ~ I t and j ~ J. (Note: ~.},7) __~ .~i'J(--) ~'~".~i'J(+) ~" ~( "i + j )'"~ f -- f -,

Technological constraints uj,~: Capacity usage of resources allocated to product group g per unit of product j that is released at period ~- for j ~ Jg, g ~ G, • ~ T. Components availability MAi,t: Amount of component i that is supplied from outside sources at (the beginning of) period t for /z/and t~T. Production and stock levels Sj,o: Initial stock level for product j for j ~ J. Xj,~_I: (Initial) WIP level for product j that was released at period ~- - 1 for ~"- 1 = - ( c j + f 1),..., - 2 , - 1 , and j ~ J . MGg,~, mGg,~: Maximum and minimum release capacity that is allowed for product group g at period ~for ~-~T and g ~ G . M F f , t, m F f , t: Maximum and minimum usage that is allowed for raw component group f at period t for f ~ F and t ~ T . MXj,~, mXj,~: Maximum and minimum release volume that is allowed for product j at period ~- for j ~ J and ~- ~ T. MSj.,t, mSj,t: Maximum and minimum volume of product j that is allowed to keep in stock at the end of period t for j ~ J and t ~ T. Note: 1) MSj, t = O, t = T~; ) -Pi,j + c~ + t for MEPSi, j = 1. 2) The MS = 0 implication should be carried on the BOM tree up to end products and subassemblies that are non-prime components. Then, M S g , t = 0 for t =- t 3 - p f , g + Cg + {, MSf,/3=0, f ~ l , , ( f , g ) ~ X ¢ i ..... ~), where a'~(i ..... g) is a Hamiltonian subpath in the BOM tree whose origin arc, say (i, j) has the attribute MEPSi,j = 1 and its destination arc is ( f , g). Note: t 3 is the appropriate time period that prevents to use obsolete components in cascade up to product g. yj,~: Final yield for product j provided that it is released at period r for j ~ J and r = - ( c j + t' 1) to I TI - ( c i + ~ - 1). (Note that the initial WIP is allowed to be yielded.) -

Objective function values and penalties Ct,t: Unit backlog penalty for demand source l and period t for l ~ L and t ~ T. Vt t: Unit shipment value for demand source l and period t for l ~ L and t ~ T. Vt'*: Unit serviceability value for demand source l and period t for l ~ L and t ~ T.

L.F. Escudero / CMIT, capacitated multi-level implosion tool

518

Variables Sj•: Production quota (volume to release) for product j at period ~" for j ~ J and ~"~ T. Z'/: Production quota for product j at period ~- whose prime component i is not substituted by any other component for i ~ Iy, I i'j ~ ¢, j ~ J and ~-~ T. Y/I : Production quota for product j at period ~- whose prime component i is substituted by component f for f ~ I i'j, i ~ Iy, j ~ J and ~"~ T. Sj,t Volume of product j to keep in stock at the end of period t for j ~ J and t ~ T. Backlog volume of demand source l at the end of period t for l ~ L and t ~ T. Bt,t: QI,,: Volume of product j to ship for demand source l at period t for l ~ L and t ~ T. KW/,t: Sink variable for the excess of the cumulated external supply at period t for subassembly i for t ~ T and i ~ J S . 7.2. Objective functions The function (7.1a) gives the total shipment value to maximize: Total Value = Y'. E Vt,tQl,,- PEN tET I~L

(7.1a)

where PEN is given below. Frequently, the goal is to ship the production with a top-down philosophy (i.e., shipment should be made as earlier as possible). We model this situation by weighting the unit value Vt,t with the decreasing function ( I T l - t + 1) k on time period t, where k is a non-negative parameter (typically, 0 < k < 2), such that

V t , t ~ Vt,t( l T l - t

+ l) k.

(Alternatively, we may use a priority allocation based function as (7.1e).)

( AiJ Zi'j + E "'f,~'f,~ ~i,j v i , j l] {r} {(i,j)} f ~ l i,j

PEN= E

E

where Ai'j~_
E E S e r v = 100

t~TIEL

N - PEN

(7.1b)

where PEN is as in (7.1a), N = IT[ x ILl and D l't = Ets=lDl,s. The function (7.1c) gives the backlog value to minimize:

E E Cl,tnl,t + P E N (7.1c) tET IEL where PEN is as in (7.1a). It is easy to see that the functions (7.1a), (7.1b) and (7.1c) give the same optimal solution for appropriate coefficients. The function (7.1d) gives the minmax weighted backlog: Bottleneck = rain max {Ct,tBt,,, l ~ L , t E T} + PEN.

(7.1d)

(Note: The coefficients V t't and C~,t have the same type of weight factor as Vt,r) Good results are obtained by using the functions (7.1d) and (7.1c) in the following hierarchical scheme: (1) Optimize the function (7.1d) subject to the constraints (7.2)-(7.17), see below. (2) Minimize the function (7.1c) subject to the constraints (7.2)-(7.17), and the additional bound

nl,t ~ nl, t for l ~ L , t ~ T where Bt,t is the solution for step (1).

519

L.F. Escudero / CMIT, capacitated multi-level implosion tool

Note that nl,t can be used as a hot (feasible) start for the second optimization. As an alternative, a composite function with (7.1c) and (7.1d) can produce good results, although it may not guarantee the minmax value. The function (7.1e) gives the priority allocation based backlog to minimize:

E E Ul,tBl,t + PEN t~T I~L

(7.1e)

where

U~,,- tolZl( [ Z l - t ) + I g l - 6 t , t +l( I Z l - t + l) k and to is a big enough shifting parameter to avoid conflicts with function PEN (typically, 1 _<~o < 10). Note that the backlog of any demand source for a given period has higher penalization than the backlog of any demand source for a later period. See that higher priority (i.e., smaller ~bt,t), implies higher backlog penalty for the same period.

7.3. Constraints The balance equations for the shipment of end products are given by the constraints (7,2). These constraints state that for a given end product and period the stock level at the end of the previous period plus the production volume that has been completed at the given period minus the shipment volume must equate the stock level at the end of the current period. The constraints (7.3) are the balance equations for the demand serviceability. A source demand at a given period plus the backlog at the end of the previous period minus the shipment must equate the backlog at the end of the period. (Naturally, /3j,0 = 0.) The constraints (7.4) impose an upper bound on the backlog that is allowed for each demand source. The constraints (7.5) give the lower and upper bounds for the stock to keep for each end product and period.

Ej,t+Nj,t+Yj,TXj,r=Sj,~ + ~-~ at,t I~Lj

forj~JE,

(7.2)

t~T,

where

Ejt_~[yj,~._lXj,.r_ 1 for ~'< 0 and j ~ JE, '

k 0,

Sj,t-1 Nj't=

Sj,0

otherwise, for t > l , for t = l ,

.r=--t--cj+ l - - C , --Bl,t-1 + Ql,t + Bt,t = Dl,t 0
for l ~ L,

t ~ T,

(7.3)

t~T,

mZj, t <_ Sj, t ~_~MSj, t for j ~ JE,

(7.4)

t ~ T.

(7.5)

Note: By definition, the production quota of an end product is devoted to satisfy its own demand and minimum stock requirements. On the other hand, the production quota of subassemblies with external demand is split between the amount to satisfy its own demand and stock requirements and the amount to be used as a component for other products, see below. Component substitution balance equations. For a product to be released at a given period and each of its prime components, these constraints state that the product volume where the prime component is not substituted plus the product volume where it is substituted by other components must equate the product volume to be released at the given period.

Xj,7 =zi'j+ E yfii,,.j f o r ~ - ~ { 1 , 2 . . . . . [ T I - P i , j + l } , rE1 i,j

i~I]Ii'~-4:O,

j~J.

(7.6)

L.F. Escudero / CMIT, capacitated multi-level implosion tool

520

Component availabifity. The constraints (7.7) and (7.8) force the maximum availability per component and period. Potential substitutions are also considered. Note that raw components as well as subassemblies are considered. t ~ T, ni,t q- Wi,t + Si,t + Ri,t = Mi,t f o r i ~ J S , ni,t <_~Mi,t

(7.7) (7.8)

fori~IR,

t ~ T,

where 12

t2

t2

~_, ~ bk'JY .k'j Hi,t-- Z Z a i j X j , r d- Z E ai,jziz 'j qi i,'r jEJ 1 7 = 1 jlli,J~¢ ~'=1 k,jli~Ik,J ~'=1 bik'YYikt'Y2 ni,t = E ai,jSj,t2 + E ai,jz~2J + Z jEJI j[liJ#=¢ k,jli~l k,j t Wi,t- ~ ~ Q t , s for i ~ J S D , IEL i s = 1 t MAi, ~ - WUi, t for i ~ IT,

for i ~ IT U JS,

for i ~ I R - IT,

s=l

Mi,t =

WUi,t f o r i ~ I R - I T , t ~'1 Ai,t + Z M i i , s q- E Y i , s X i , s - WUi,t s=l s=l MAi,t-

for i ~ JS,

Ri, t - ~, KWi,s. s=l

Ai, t gives the amount of initial stock and cumulated initial WIP of subassembly i that was made available for being used as a component from period 1 to period t, WUi, t gives the net amount of component i that has been used as a prime component for the initial WIP Xj, on the set of products {j [ i ~ / j , j ~ J} from period 1 to period t, and Jl=--{jl~IjAli'J=~},

t2~t--pi,j+

l,

"rl=--t--ci+ l - - g .

Notes: 1. Constraint (7.7) is satisfied for any pair (i, t), i ~ IT, provided that Mi, t = Mi,t+ 1 and, then, it does not need to be explicitly included in the model [10]. 2. W4t for i ~ JSD in (7.8) gives the volume of subassembly i that is used to satisfy its own external demand up to period t. 3. There is a time lag of t periods between the completion time of a product and the period where it is available to satisfy its (internal or external) demand. This availability mechanism is valid even for the internal demand of the subassemblies and t = 0. So, it is suggested to increase the cycle time cj for those subassemblies that cannot satisfy the above requirement. 4. The sink variables KWh,s together with the penalty term (7.17) avoid infeasible solutions due to the excess of the cumulated external suply over the maximum stock allowed for given subassembly and period. (The case MSi, t = 0 due to engineering changes in components down in the BOM tree is a significant application of the sink variables). The constraints (7.9) give the lower and upper bounds for the stock to keep for each subassembly and period. mSj, t < Sj, t < MSj,~

for j ~ JS,

t ~ T.

(7.9)

Combining constraints (7.8) and (7.9) we may drop the variables Sj,t, such that the new constraint is as follows: Mi, t - MSi, t ~ Hi, t -b Wi, t -I- Ri, t ~ Mi, t - mSi, t

for i ~ JS,

t ~ T.

L.F. Escudero / CMIT, capacitated multi-level implosion tool

521

O u r current implementation does not m a k e further use of the S-variables for subassemblies and, so, they are dropped from the model. The constraints (7.10) force the lower and u p p e r bounds on the aggregate capacity per product group and period: mGg,~ < ~

uj,~Xj,~ < MGg,~ for g ~ G ,

~"~ T.

(7.10)

j~J~ The constraints (7.11) force the lower and u p p e r bounds on the usage per raw component group and period:

mF~,,_<



P/,t_
forfeF,

leT,

(7.11)

i ~ IRF/ w h e r e Pit - E y e j l a i j X j 7 + E j l l i J . o a i , j Z i ' j + Ek,Jli ~ Ik'Jui ~ k ' j v"ki,'r 'J J1 - {j I i'~/1./x I i,j ='¢} and ~- - t - P i j + 1. The lower and upper bounds on suffix for the X,Y,Z-variables are as follows.

Production quota. Variable Xj, for t I < z < t2

(7.12)

where

t]=-inf{,r(i,j)-pij+ 1, V i ~ I j } ,

t2-sup{~'},~f)-pij+ 1, Vi ~ I j } .

Production quota. Variable Z / J for (7.13)

t 3 _< ~" ~ t 4 where

t 3 --- "r~,f) - P i , j + 1 a n d t 4 = ,r t,.l .(+) - Pi,j + 1.

Production quota. Variable y/i~ for t 5 < z_< t 6

(7.14)

where t 5 = ~-~'J(-) - p i ~+ 1 and t 6 ~ "r/'-/(+) - - P i j + 1. ( - ) _< ~'?i,j(-'~ < (+~• 2) Co n"stra i nt (7.6) is not required for time periods in the brackets No t es.• 1 ) %,1- ~'?i,j(+) .( - ~'i,j [t3, inf{ts, V f ~ I i:j} - 1] and [ s u p { t 6 , V f ~ I i'j} + 1, t4]. C o m p o n e n t availability constraints (7.7) for t7 <_'r <_t 8

(7.15)

where t 7 = inf{~-~,~-), V j l i ~ Ij} and t 8 = sup{~'~,f ), V i i i ~ Ij}. Final remarks. Prime component i, for i ~ Ij, is not required for the production quota Xy,~, provided that either z < t 3 o r "r > t 4. It is also admissible a period, say ~- such that X~,~ does not need the allocation of any raw c o m p o n e n t or subassembly.

7.4. Preventing unnecessary product stock The following penalizations can be included in the objective functions (7.1) to prevent unnecessary build-ahead. Let P E N s denote the penalization for product stock. It can be expressed as follows: PEN s = e E

)-", Sj,t

(7.16)

j~JE t~T

where e > 0 is a given p a r a m e t e r that should be kept small enough to avoid conflicts with penalizations for component replacement (see the Appendix). Typically, e = 10E-4. Any way, see constraints (7.2) and (7.5) and note that (7,16) discourages building for stock in case of tie.

L.F. Escudero / CMIT, capacitatedmulti-levelimplosiontool

522

Let PEN x denote the penalization for subassemblies production release. It can be expressed as follows: t2

PENx = E j~JS

E e(ITl-t t=t

+ 1)Xj, t

(7.17)

I

Note that the model (7.1)-(7.15) does not explicitly deal with the stock for subassemblies and, then, (7.17) is needed to discourage to build-ahead in case of tie.

8. LP model decomposition Our typical cases involve 100-200 products, 1000-2500 raw components and 27 periods (weeks). Most of the constraints are component substitution balance equations (7.6) and component availability constraints (7.7). As an example, a case with 1000 components and 25 periods may require 25000 constraints (7.7). We have detected that many of these constraints are non-active at the optimal solution, that is, there is a positive net availability for many components and periods. So, a model decomposition strategy seems to be necessary for solving until optimality large-scale instances without too-much computational effort. This type of strategy does not consider explicitly all constraints and variables. It selects a subset of constraints and variables (so-called active set) at each (major) iteration and solves the related model until optimality. Next, the feasibility of the constraints that have not been included in the active set is checked and the LP model is enlarged by appending a subset of violated constraints. A new iteration is executed by solving the enlarged LP model. The current solution is used as a hot (but infeasible) start for the new model. The optimal solution for a LP model that does not violate any constraint is the optimal solution for the original problem, provided that it is guaranteed that adding more variables to the model does not give a better solution. Otherwise, a subset of variables is added, and a new iteration is executed again. The key steps in our decomposition strategy are as follows. 1. Selecting the set of constraints and variables for the first LP model. 2. Generating the first LP model. 3. Selecting the subset of violated constraints to be appended to the LP model. 4. Selecting the subset of variables to be added to the LP model. 5. Revising the LP model to accommodate the new constraints and variables.

8.1. Selecting the set of constraints and variables for the first LP model Let R denote the set of pairs (component, period) to be considered while generating the first LP model. We may obtain R as a by-product while using an heuristic algorithm for obtaining a feasible solution to the original problem (7.1)-(7.17). Formally, the pair (i, z) will be included in set R, provided that either the condition (8.1) is satisfied or the pair is labelled as a critical one (see below). i E JS i~F

(i.e., subassemblies), (i.e., components that belong to any group),

(8.1a) t 7 < r < t 8.

(8.1b)

Critical pairs (i, ~). Assume that the component critically is given by the heuristic solution. (Our heuristic only considers single-level problems.) It allocates components to products given higher priority to earlier periods. For each period the products are ordered according to the most favorable objective function coefficient. Let N~,~ denote the net availability of component i at the end of period r for i ~ IR, r ~ T. We may decide to include pair (i, r) in set R provided that 3 J l i ~Ij (i.e., it is a prime component) and N/.~ = 0 for t 7 _< ~"_
L.F. Escudero / CMIT, capacitated multi-leuel implosion tool

523

3 J I i ~ It; (b) 7- is one of the ~ earliest periods in set T, where ~ is a given parameter; and (c) component i satisfies any decision maker criterion for criticality (e.g., type of A, B, C, D, E class to which the component belongs, total component availability vs. total requirements, number of periods with outside supply along the planning horizon, etc.). Let P denote the set of pairs (i, 7-) whose component availability constraint (7.7) will be included in the first LP model. Formally, (i, 7-) will be included in set P, provided that any of the conditions (8.1) and (8.2) is satisfied.

(i,7-)~R,

i ~ I R - IT, or

(8.2a)

(i,~) ~R,

i ~ IT and condition (8.3) is satisfied, or

(8.2b)

i ~ I k'j V) ( I R - I T ) , i ~ I k'j (~ IT,

( k , 7-) ~ R ,

( k , "~) ~ R ,

'i-k'J~-) _< ~"< r k'i~+), or

7-i~'i~-) < ~ < ri~'j~+) and condition (8.3) is satisfied.

7.: earliest period such that ? < t 8 and MAi, ~ < MAi,~+ 1 and otherwise ¢ = t s.

(8.2c) (8.2d) (8.3)

See that the following components will be included in set P: subassemblies, (prime) components that belong to any group, and non-transferable raw components from set R. The pairs (component, period) for transferable components from set R must satisfy condition (8.2) to be included in set P. Substitution components are included appropriately.

8.2. Generating the first L P model

F:

Use the following additional notation. Set of raw (prime) components with substitution, that is, F = (i ~ IR such that 3 j ~ J I I i'j-~ ¢,

i

Ij}.

"r~-) - t + P i j - 1 for any i ~ I j , j ~ J 7.(+) =

ts

for any i ~ I j n I T ,

jEJ,

t+pi,j-1

foranyi~IjN(IR-IT),

jEJ.

The objective function (7.1) with the penalizations (7.16)-(7.17) and the constraints (7.2)-(7.5) and (7.8)-(7.11) will be permanently included in the LP model. The bounds (7.12)-(7.15)will be included and appropriately adjusted as required. The constraint (7.7) for (i, 7.) ~ P will be included in the first LP model. The constraint (7.6) for the tuple (i, j, t) will also be included in the first LP model for i ~ Ij, I i'j 4: ¢, j ~ J , t 3 < t ~ t 4 (7.13), such that (i, 7.~-))~R. Note that the variable Y/'tj, f ~ I i'j for 7. < t 5 or t 6 < ~ " (7.14) has a null coefficient in the constraint (7.6) for the tuple (i, j, t). The usage coefficient ai, j of the variable Xj, t for the tuple (i, j, t) whose constraint (7.6) is not generated, is included as multiplier of the X-variable in the availability constraint (7.7) for component i and period 7- for 7-~-) < 7- < ~x+), provided that (i, 7 - ) ~ P . Note that in this case the Z- and Y-variables are not generated. It means that the potential extra capacity provided by the substitution components is not used in the current iteration. In any case, see note 2) for (7.13) and (7.14).

8.3. Selecting ~'iolated constraints to be appended to the L P model Let Ni, ~ now denote the net availability of component i at period z in the optimal solution of the current LP model. Let R ' denote the set of pairs (i, 7-) such that Ni, ~ < 0, t 7 _< 7- _< t 8. (Note that 3j I i ~ Ij.) So, R n R' = ~. See that the availability constraint for (i, 7-) ~ R' is currently relaxed and it is violated by the LP solution. Note also that Ni, , < 0 and MAi, ~ = MAi,~+ 1 implies N/,~+~ < 0. So, forcing the constraint (7.7) for a given component and a subset of consecutive periods can (hopefully) reduce the chances of component availability violation for later periods in the planning horizon.

524

L.F. Escudero / CMIT, capacitated multi-level implosion tool

Let AR _cR' denote the subset of pairs (i, 7") where 7"< ~, and ~ is a given parameter for t < T. We append set A R to set R. Let Ap denote the set of pairs (i, 7") whose violated availability constraint (7.7) is to be appended to the current LP model. It is included by the pairs (i, 7") such that condition (8.2) is satisfied where R is replaced by A R. 8.4. Selecting new variables to be appended to the L P model

We should point out that N/,T > 0, Vi E I, 7- ~ T, does not imply that the current solution is optimal for the original problem (7.1)-(7.17). Note that the current solution is not guaranteed to be the optimal one, whenever N~,¢-~ = 0 and the variables Z[ 'j and related Y/j, f ~ I ~'j for a given tuple (i, j, t) are not in the current LP model. (Notice that the flexibility of the related constraint (7.6) has not yet been modeled.) On the other hand, the current LP model can even be infeasible, whenever the appropriate constraints (7.6) are not included. As an illustration, consider the case where the maximum backlog of a given product and the availability of a prime component are small enough and, so, the utilization of substitution components is needed; it is obvious that a model where the related constraint (7.6) is not included may not produce a feasible solution. Hence, the potential improvement due to the utilization of substitution components has not been explored for this type of cases. So, appropriate constraints (7.6) must be appended, and the related coefficients of the Z- and Y-variables in the objective function and the component availability constraints must be added as well. Formally, let R' now denote the set of pairs (i, 7-) such that R ~ R' ¢: ~ and Ni,~ = 0 for t 7 < 7" ~ t 8 and i ~ F. As above, let A R ~ R ' where the ~ earliest periods for each component are only included in A R. Finally, let Ap denote the set of pairs (i, 7"), such that condition (8.2) is satisfied for the current set A R. Note that P n Ap = ¢ by construction. 8.5. Revising the L P model to append the new constraints and variables

The following constraints will be appended to the current LP model: the component availability constraints (7.7) for (i, 7-) ~ d e, and the substitution balance equations (7.6) for (i, j, t), i ~ Ij, I iJ 4: ~, j ~ J , t3 <_t <_t4 and (i, T ( - ) ) ~ A R. As a consequence, the following modifications are introduced in the model, by considering note 2) for (7.13)-(7.14). 1. The coefficient of X i t for j ~ J in constraint (7.7) for i ~ I i, I i'i ~ ~J, t 3 < t < t4, (i, r) ~ P , 7-(-) < 7- < 7-(+) and (i, 7 (-)) ~ AR must be reset to 0 (currently, it is ai,i). Note that Xj, t is to be replaced by Z[ 'i in any availability constraint for component i. 2. The coefficient a i j for i ~ I i, j ~ J , is included in constraint (7.7) (i, 7-)~ Ap for 7-(-)< r < 7-(+) as a multiplier of the variable Xj, t for either I i'i = ¢ or (i, ~-(-))~R U AR, and as a multiplier of the variable Z~'j for I i ' i ~ ¢ and (i, 7-(-))eR and, in any cases, 7-~-)
By construction, the X,Y,Z-variables are integer. Given the large-scale nature of our problem, it is unrealistic to seek for the optimal integer solution. So, we relax the integrality condition of the variables.

L.F. Escudero / CMIT, capacitated multi-level implosion tool

525

Table 1 Computational results. [ T [ = 27

Case

P1 P2 P3 P4 P5 P6 P7 P8 P9

IJ I

87 87 105 105 173 167 251 183 183

II I

753 753 796 796 2146 2325 2452 2450 2450

NPRIJ

4314 4314 5842 5842 8629 9807 14432 11285 11285

Max LP model rn n

e

e%

20613 3789 24868 2612 6946 6075 4134 6285 4218

1238258 91239 1352442 32613 44677 259952 24424 285815 25633

0.22 0.30

6280 3930 6059 6059 6831 5290 5290 5518 5518

0,04 0,37 0,06 0.38 0.06

Hot start

Niter Major

Minor

CPU time (min)

Y Y Y Y Y N Y N Y

1 3 1 3 2 2 3 3 2

5891 998 12432 1314 1077 2424 1031 2816 1048

6.34 1.12 10.17 0.56 1.03 1.81 0.54 2.35 0.29

Under these circumstances a rough rounding of non-integer values should not produce an integer solution whose value in the objective function deviates too-much from the optimal continuous value. Let X denote the optimal solution for the current LP model. We round Xj, t to the nearest smaller integer [Xj,t], provided that no solution value Xj,t has a fractional part greater than 0.5 (i.e., ~ j [ .~j., [Sj,t] ~>0.5). Otherwise, the upper bound for Xj, t is reset to [-~/,t] for -~j,t > [Xj,t] (i_e., for the variables with non-integer values); and the modified LP model is solved again by using X/, t as a hot (primal infeasible, dual feasible) start. The values Y and Z are properly rounded to integers once the X-solution is integer.

9. Computational experience We have implemented the algorithm in ECL-MPSX V2.R2. The system, so-called CMIT, has been tested on a broad set of artificial instances, besides real-life problems. Table 1 summarizes the results of our experimentation on real problems drawn from production planning for computer assembly plants. The experimentation has been conducted in an IBM 3090-600S under V M \ C M S ; the system has been compiled with P L / I V2.R3. The column ' N P R I J ' displays the number of prime arcs (i.e., E i ~ jIj). m, n and e are the number of constraints, variables and elements in the last LP model submitted to the optimizing engine, respectively (e% is the related matrix density). A 'Hot start' is provided by the heuristic algorithm to create the set R for the Y-cases and, otherwise, the i-scheme is used for t = 3. (Recall that the set R is used for creating the first LP model, see Section 8.1.) 'Niter' is the number of iterations. 'Major' is the number of LP models that are solved, and 'Minor' is the total number of LP iterations (i.e., pricings). The column 'CPU time' includes i n p u t - o u t p u t operations. As an illustration of the effectiveness of our LP decomposition approach, note that P1 and P3 are full LP models (Major = 1) and P2 and P4 model the same instances, respectively, but using LP decomposition. The optimal solution for P1 and P2 is obviously the same (as it is the solution for P3 and P4), but the computational effort (measured in both storage needs and CPU time) is completely different. The effectiveness of the hot start can be analyzed by comparing P8 and P9. Both cases model the same instance and, then, give the same optimal solution, but P9 uses the heuristic algorithm for creating the set R, while P8 uses the t-scheme. Finally, we should point out that the full model for P8 and P9 has 32538 constraints and 1637657 nonzero elements in the LP matrix.

I0. Conclusion We have presented a model for resource deployment decisions in a capacitated multi-product, multi-level, multi-period manufacturing network. An active set strategy has been described. Computational experience for real-life problems with over 25000 constraints has been reported.

526

L.F. Escudero / CMIT, capacitated multi-level implosion tool

Based on the impressive results that we have obtained, we believe that LP decomposition methodologies as the one described in this paper allow the following extensions for the capabilities of production planning systems: • Natural extensions such as 1. Calendar time period-sensible cycle time; 2. Calendar time period-sensible component usage and fallout in BOM's; 3. Multiple use of a component in the cycle time of a product; 4. Planning horizon with time periods of different length; 5. WlP considerations for the end of the planning horizon. • Raw component inventory control by deaggregating the component availability constraints. • New objective function: Minimizing production and inventory cost while keeping a given serviceability level. • Goal programming extensions to allow hard, soft and fuzzy constraints. • Scenario aggregation extensions to allow different demand outlooks for product and period. See [15]. • Human-analytical interface to allow for non-quantitative, non-structured constraints and goals to achieve. • Merging the optimizing system with a simulation tool to analyze the performance of the proposed solution on non-deterministic environments (due to uncertainty on the demand, fallout, yield, cycle time, etc.).

Appendix. Replacement penalty function In Section 7.2 the penalty function is expressed as follows:

( AiJ zi'j Jr E ~i,j vi,JlI "'f,'r'f,r {r} {(i,j)} \ fEl i'j

PEN = E

E

(A.1)

where Aia~ _< AiJf,~_
(A.2)

Ai;j Jr A~(t < Ai~!.r + Ai;j,

(A.3)

A'){, + A/~J, < A/~J, + A){t ,

(A.4)

A~!~ < OFCj, r

(A.5)

for all j,t',

for ~" < t, pf < pg and integer for f , g ~ I. OFCj, t, stands for the appropriate objective function coefficient Vj,r, V j''', Ci, t, and Ut,,,.

L.F. Escudero / CMIT, capacitated multi-level implosion tool

527

It is easy to see that the conditions (A.2)-(1.5) only guarantee the proper working of the replacement mechanism for BOM's with identical structures for the given prime component. Currently, we use the following penalty values: (A.6)

h~.:j = e 2 ( 1 + El'T),

(

),)1,, = e2 (1

+

pf)2 q- 1 + pf ]'

(1.7)

where 81 and e2 are positive parameters (typically, e t = 0.01 and e 2 = 0.001). It is easy to see that the second part of condition (A.2) is satisfied. (Let us drop the suffixes i,j.) Given the values (A.6) and (A.7), condition (A.4) implies E1T

(1

ell

--+(l+pg)2+--<(l+pg) 1 -bpg

q_pf)2..]_ 1 q-pf

2

E1T

+ - -

1 +pg

+ (1 + p : ) 2 + -

Elt

1 +pf

and, then, E1

--(t-z) 1 q-pg

E1

<--(t-'c). 1 +pf

pg and z < t, it results that (A.8) holds true and, then, condition (A.4) is satisfied. On the other hand, A~ in (A.6) can be expressed as (1.7) for p£-= 0. (We may treat alternate components in a similar way.) So, the first part of conditions (A.2) and (A.3) are also satisfied by the values (A.6) and (A.7). Condition (A.5) can be trivially enforced. As an illustration, consider the following example. J = {j,k} where j and k are end products, Ly = {j}, L k = {k}, cj = 1, c k = 1, I: = I k = {i}, I id = {f}, I i'k = ~ and aid = ai, k = btf'j = 1. Assume there is enough availability of component f. The penalization (A.1) with (A.6) and (A.7) cannot prevent the deployment of the components f for Xj,., and i for Xk, t for high enough OFC's, provided that there is not enough availability of component i to satisfy completely the demands Dj,~. and Dk, t for r < t. In any case, for periods z and t close enough (e.g., t = r + 1) the result may be satisfactory. On the other hand, assume that I i'k = {f}. Then, the penalization mechanism works properly for the above case (i.e., component i is deployed for Xj,~. and component f is deployed for Xk,t). Finally, assume that the availability of component i at periods z and t is not enough to satisfy completely the demands Dj,~ and Dr,,. Then, (A.1) with (A.6) and (A.7) deploys i for Xi, ~ and deploys f for X~,r Since pf <

Acknowledgements Many people with different responsibilities have contributed with suggestions that have improved the quality and scope of this work. I would like to acknowledge many useful discussions with Joe Acevedo, Lucy Chow, Brenda Dietrich, Chris Dillenberger, Diana Forehand, Ranga Jayaraman, Pasumarti V. Kamesan, Win Orcutt, Karen Otto, Ramesh Srinivasan, Hercules Vladimirou and Mark Zaenglein.

References [1] Afentakis, P., Gavish, B., and Karmarkar, U., "Computational efficient optimal solutions to the lot-sizing problem in multistage assembly systems", Management Science 30 (1984) 222-239. [2] Bector, M.K., Husain, I., Chandra, S., and Bector, C.R., " A duality model for a generalized minmax program", Naval Research Logistics 35 (1988) 493-501. [3] Boxma, O.J., Rinnooy Kan, A.H.G., and Van Vliet, M., "Machine allocation problems in manufacturing networks", European Journal of Operational Research 45 (1990) 45-54. [4] Chand, S., and Sethi, S.P., "A dynamic lot sizing model with learning in setups, "Operations Research 38 (1990) 644-655. [5] Chu, S.C.K., "Aggregate MRP/MPS optimization modeling", in: Proceedings of International Conference on Optimization Techniques and Applications, Singapore, 1987, 597-516. [6] Cohen, M.A., and Lee, H.L., "Resource deployment analysis of global manufacturing and distribution networks", Journal of Manufacturing and Operations Management 2 (1989) 81-104.

528

L.F. Escudero / CMIT, capacitated multi-level implosion tool

[7] Cohen, M.A., and Moon, S., "An integrated plant loading model with economics of scale and scope", European Journal of Operational Research 50 (1991) 266-279. [8] Crowston, W.B., and Wagner, M.H., "A dynamic lot size models for multi-stage assembly systems", Management Science 20 (1973) 14-28. [9] Diener, A.G., "Near-optimal operation of a multi-plant manufacturing system with central procurement, "Technical Report SOL 89-8, Systems Optimization Laboratory, Stanford University, Stanford, CA, 1989. [10] Dietrich, B.L., Escudero, L.F., and Vladimirou, H., Private conversation, 1991. [11] Dillenberger, Ch., Escudero, L.F., Wollensak, A., and Zhang, W., "Different approaches to solve a large-scale resource allocation problem in production planning", European Journal of Operational Research (to appear). [12] Dzielinski, B.P., and Gomory, R.E., "Optimal programming of lot sizes, inventory and lot size allocations", Management Science 11 (1965) 874-890~ [13] Escudero, L.F., "Production planning in FMS", Annals of Operations Research 17 (1989) 69-104. [14] Escudero, L.F., "An inexact algorithm for part input sequencing and scheduling with side constraints in FMS", Intern Journal of Flexible Manufacturing Systems 1 (1989) 143-174. [15] Escudero, L.F., and Kamesan, P.V., "MRP modeling via Scenarios", in: T.A. Ciriani and R.C. Leachman (eds.), Optimization in Industry, Wiley, New York, 1993, 101-111. [16] Escudero, L.F., Kamesam, P.V., King, A.J., and Wets, R.J.-B., "Aggregate production planning and sourcing decisions via scenario modeling", Annals of Operations Research 43 (1993), in printing. [17] Florian, M., and Klein, M., "Deterministic production planning with concave costs and capacity constraints", Management Science 18 (1971) 12-20. [18] Goyal, S.K., and Gunasekaran, A., "Multi-stage production-inventory systems", European Journal of Operational Research 46 (1990) 1-20. [19] Goldberg, J., and Zhu, J., "Module design with substitute parts and multiple vendors", European Journal of Operational Research 41 (1989) 335-346. [20] Graves, S.C., "Using Lagrangean techniques to solve hierarchical production planning problems", Management Science 28 (1982) 260-275. [21] Graves, S.C., "A tactical planning model for a job shop", Operations Research 34 (1986) 522-533. [22] Graves, S.C., and Fine, C.H., "A tactical planning model for manufacturing subcomponents of mainframe computers", Journal of Manufacturing and Operations Management 2 (1988) 4-34. [23] Van Hoesel, S., Ramdas, K., and Rinnooy Kan, A.H.G., "A linear time algorithm for a capacitated multi-item scheduling problem", Working Paper 91-01-09, The Wharton School, University of Pennsylvania, Philadelphia, PA, 1989. [24] Karmarkar, U.S., "Capacity loading and release planning with work in progress and lead times", Journal of Manufacturing and Operations Management 2 (1989) 105-123. [25] Karmarkar, U.S., "Lot sizes, lead times and in-process inventories", Management Science 33 (1987) 409-423. [26] Kekre, S., and Kekre, S., "Work in Process considerations in job shop capacity planning", Working Paper, GSIA, Carnegie Mellon University, 1985. [27] Klein, R.S., and Luss, H., "Minimax resource allocation with tree structured substitutable resources", Operations Research 39 (1991) 285-295. [28] Klingman, D., Mote, J., and Phillips, N.V., "A logistic planning system at W.R. Grace", Operations Research 36 (1988) 811-822. [29] Lasdon, L.S., and Terjung, R.C., "An efficient algorithm for multi-echelon scheduling", Operations Research 19 (1971) 946-969. [30] Luss, H., and Smith, D.R., "Resource allocation among competing activities: A lexicographic minimax approach", Operations Research Letters 5 (1986) 227-231. [31] Magnanti, T.L., and Vachani, R., "A strong cutting plane algorithm for production scheduling with changeover costs", Operations Research 38 (1990) 456-473. [32] De Mata, R., "On solving production scheduling problems with changeover costs using Lagrangean relaxation", Working Paper 89-12-04, The Wharton School, University of Pennsylvania, Philadelphia, PA, 1989. [33] De Mata, R., and Guignard, M., "Production scheduling with sequence-independent changeover cost", ORSA/TIMS meeting, Denver, 1988. [34] Pang, J.-S., and Yu, C.-S., "A min-max allocation problem with substitutions", European Journal of Operational Research 41 (1989) 218-223. [35] Pocket, Y., and Wolsey, L.A., "Solving multi-item lot sizing problems using strong cutting planes", Management Science 37 (1991) 53-67. [36] Roll, Y., and Karni, R., "Multi-item, multi-level lot sizing with an aggregate capacity constraint", European Journal of Operational Research 51 (1991) 79-87. [37] Shapiro, J.F., "Mathematical programming models and methods for production planning and scheduling", in: S.C. Graves, A.H.G. Rinnooy Kan and P.H. Zipkin (eds.), Logistics of Production and Inventory, North-Holland, Amsterdam, 1993, 371-443. [38] Tang, C.S., "A min-max allocation problem: Its solutions and applications", Operations Research 36 (1988) 359-367. [39] Trigeiro, W.W., Thomas, L.J., and McClain, J.O., "Capacitated lot sizing with setup times", Management Science 35 (1989) 353-366. [40] Wolsey, L.A., "Uncapacitated lot-sizing problems with start-up costs", Operations Research 37 (1989) 741-747.