^^ UBRARIES o/ teC^^ DEWEY HD28 .M414 rto. 3-55/- ALFRED P. WORKING PAPER SLOAN SCHOOL OF MANAGEMENT Setup Optimization and Workload Balancing for Mixed-model Electronics Assembly Operations Anantaram Balakrishnan and Fran<;ois WP# Vanderbeck 3551-93-MSA April, 1993 MASSACHUSETTS INSTITUTE OF TECHNOLOGY 50 MEMORIAL DRIVE CAMBRIDGE, MASSACHUSETTS 02139 Setup Optimization and Workload Balancing for Mixed-model Electronics Assembly Operations Anantaram Balakrishnan and Frangois Vanderbeck WP# 3551-93-MSA April, 1993 !dVHD:IH M.I.T. LIBRARIES Setup Optimization and Workload Balancing for Mixed-model Electronics Assembly Operations^ Anantaram Balakrishnan Sloan School of Management M. I. T., Cambridge, MA Francois Vanderbeck* Center for Operations Research and Econometrics Universite Catholique de Louvain Louvain-la-Neuve, Belgium April Supported in part by 1993 MTTs Leaders for Manufacturing program by the College Interuniversitaire d'etudes doctorales dans du Management (CIM), Belgium Partially supported les sciences Abstract To cope lifecycles, with the rapid technological advances, product proliferation, shorter product and increasing competition, electronics companies strategies using multiple surface are adopting flexible mount assembly modules to assembly produce many different products in small batches. The component placement machines account for over half the investment in surface mount assembly lines, and also require considerable setup time (comparable to the actual processing time for small one product volume lot sizes) to changeover production from to another. This paper addresses a tactical planning problem for high mix, low electronics assembly facilities containing several placement machines (modules) operating in parallel. We propose an optimization assemble on each machine in model to decide which product families order to minimize the total setup cost per ensuring that none of the machines is To simultaneously considers both these conflicting factors. grouping decisions on setup cost, implement in practice, demand period while overloaded. Unlike strategic and operational models emphasize either workload balancing or setup optimization, our that to we tactical capture the impact of product consider a panial setup policy that and convenient to incorporate planning model in the tactical is both easy to planning model. The policy consists of reserving cenain slots on each placement machine for permanent components, and loading the remaining comiX)nents as needed to assemble each product. We formulate the tactical planning problem as an integer program, and the special case of minimizing the setup cost on a single products is machine show that even for a given assignment of NP-hard. For the general model, we develop an optimization-based method, combining column generation, heuristics, and lower bounding procedures, solve the problem and assess the quality of the solution. As to approximately part of our development, we describe solution methods for two practical subproblems-a single machine, product selection subproblem, and the setup optimization subproblem-that might apply directly to short-term production planning. Our computational experience with medium-sized test problems provides insights regarding the effective implementation of column generation strategies in this problem context, and Keywords: identifies some opportunities for improvement. Electronics assembly, tactical planning, column generation 1. Introduction Rapid advances in electronic product and process technologies, proliferation of products, shorter product lifecycles, and competitive pressures to reduce cost, lot sizes, and lead time have prompted many electronics companies to adopt flexible assembly strategies using many multiple assembly modules that can each assemble the advent of the level of mount and other advanced interconnect technologies, surface With products. assembly automation has increased considerably, requiring sophisticated equipment for high speed and precision can component placement. The investment total several millions for a single surface mount assembly line of dollars, with placement machines (with associated tooling) alone costing over a million dollars each. On the other hand, as companies strive towards "lot size of one" production to better meet the customers' needs, asset utilization decreases due to more setups. To cope with these trends and maintain their competitive position, electronics companies require principled planning methods and operating practices and effective use of their manufacturing resources. This paper addresses a medium-term, tactical decision facing electronics assembly facilities containing several surface more placement machines different sites. that ensure efficient high mix, low volume mount assembly modules (one or in series, see Section 2.1) operating in parallel, possibly at We consider facilities in which each module can assemble several products (with appropriate setups), and modules have overlapping capabilities, product, we have a choice of for individual products is modules to common as telecommunications, in for each assemble that product. Furthermore, the demand not adequate to justify using dedicated, single-product modules. Operations with these characteristics, which operations, are i.e., different we refer to as mixed-model assembly companies producing electronic subsystems computer peripherals, consumer electronics, for applications such and medical systems. We will focus on the component placement operation since the automatic placement machines are very expensive and also require considerable setup time. For convenience, words machine, module, and line interchangeably. capacity of each machine, and the projected Given demand the we use the equipment configuration and for various products, the tactical plan determines which products to assemble on each machine. In making this tactical decision, managers must address two conflicting objectives: reducing the setup or changeover times, and distributing the workload evenly across the parallel machines (relative to their available capacities). or hundreds of boards per lot), When lot sizes are small (say, tens equipment changeover times can equal or exceed the actual processing (placement) times. For instance, the time to change over production from one board type to another on a placement machine can vary from 15 minutes to over an hour depending on the number of new components components for a batch of 50 boards with, say, to be loaded, whereas placing all the 200 placements per board, might require less than an hour of processing time. Reducing setup times is, therefore, an important concern both to increase productive capacity, and to provide quick response with minimal On inventories. the other hand, balancing the workload has several benefits including reducing overtime expenses, decreasing the lead time to supply board sets board types that are assembled into a single unit) for final To minimize common components solely based To parallel total setup time, we might same machine; however, to the on component commonality can we develop address this tradeoff, placement machines (or modules) result in multiple assembly, and providing safety capacity on each machine to accommodate contingencies. contradictory. (i.e., These two objectives can be assign products that share this strategy of grouping products imbalances due to uneven group either sizes. an optimization model that assigns products to in order to minimize the total setup cost while ensuring that the processing workload on each machine does not exceed a prespecified Most previous models many limit. emphasize equal workload allocation but capture the setup implications only indirectly, or optimize the setup time for each line assuming a predetermined assignment of products to way to simultaneously consider setup setup policy that is lines. In contrast, our model provides a structured and workload balancing issues. We propose a simple both practical, and enables us to decouple the medium-term product assignment decisions from the detailed (weekly or daily) sequencing and scheduling The decisions. slots policy, which we of reserving certain call the partial setup policy, consists on each placement machine for permanent components, and loading the remaining components as needed to assemble each product. By treating the workload balancing requirements as constraints while optimizing setups, our model provides the capability to generate alternative scenarios with different setup-workload characteristics that managers can evaluate before deciding the best tactical plan for their specific operation. We formulate the tactical planning problem as an integer program, and develop an optimization-based methodology, combining column generation, heuristics, and lower bounding procedures, to approximately solve the problem and assess the quality of the solution. We optimally. interesting As can embed this method in a branch-and-bound scheme part of our algorithmic development, subproblems-a profit we to solve the problem describe solution methods for two maximizing product selection problem, and a setup minimization subproblem-that can apply directly to support shon-term planning and scheduling decisions. Our computational experience using medium-sized problems containing upto 20 products, 60 component types, and 4 machines provides insights regarding the effective implementation of column generation strategies for this problem context, and identifies The tactical rest of this some paper planning model. opportunities for improvement. is organized as follows. We Section 2 motivates and describes our briefly review the process flow in electronics operations, justify the structure of our model, discuss introduce the problem formulation. Section 3 first We also discuss its assembly scope and assumptions, and model variants and special cases. provides an overview of the solution methodology before describing its various components, including heuristics, lower bounding techniques, and optimization procedures for the two subproblems. Section 4 repons computational results for our test problems, discussing implementation variants and the performance impact of different algorithmic options and parameters. Section 5 offers concluding remarks. 2. Tactical We first Planning for Mixed-model Electronics Assembly present an overview of electronics assembly operations, with particular emphasis on component placement, and briefly describe the hierarchy of planning and scheduling decisions for electronics assembly operations. Section 2.2 defines the scope of our tactical planning model, motivates the problem and our modeling approach, and justifies the assumptions. We discuss the modeling challenges in capturing the impact of product assignment decisions on setup times, and describe the panial setup policy that our model assumes. Section 2.3 presents an integer programming formulation for the tactical planning problem, and discusses model variants and special cases. 2.1 Overview of Electronics Assembly Operations 2.1.1 Process flow and compbnent placement operations Electronics assembly refers to the process of populating bare printed circuit boards with electronic and mechanical components. This paper focuses on the assembly of surface mount components; most new products use surface mount technology (SMT) whenever possible (instead of the older through-hole technology) due to its numerous benefits including smaller board size, lower weight, reduction in electrical noice, improved shock and vibration resistance, and lower board fabricadon costs. Broadly, surface mount assembly consists of five major steps-solder paste application, high-speed and precision component placement, soldering, cleaning, and testing. Prasad [1989] describes the process flows for three types of surface mounting, and discusses each assembly operadon 3- in detail. We define a placement "module" as a single component placement machine or several placement machines connected in series by conveyors; a module might also contain dedicated stations to perform other operations such as screen printing, manual assembly, reflow soldering and so on. Thus, a complete assembly line corresponds dedicated stations for all the surface Mixed-model assembly testing. to a module with mount assembly operations from screen facilities employ placement modules printing to in a variety of configurations ranging from a purely functional layout (containing parallel placement modules as one complete assembly lines. For exposidonal ease, we assume placement machine, and so we refer we note ovens as the next stage, and so on) stage, parallel reflow to the investment in a typical SMT operations. machines instead of modules or are the main components: (ii) (i) 50% of in mixed-model assembly facilities have three feeder input positions or slots on the periphery of the table to hold component it operator must requires, the first circuit component board has a type, bill and (iii) one or more component of components specifying the types of number of components of each type, and the placement location particular board type or product, the ensure that the feeders carrying each of the required component types are in appropriate slots component from a feeder at the in series. sequential or sequential/simultaneous on the board for each component. To assemble a it as a table (stationary or movable) to hold the the board (or a panel of placement heads. Each printed mounted However, most expensive (accounting for over The numerically-controlled feeders, each containing a reeP of one components lines. SMT line) and often require the highest changeover time relative to placement machines (see Prasad [1989]) used boards), each module has a single our model can also incorporate multiple placement machines later, The automatic placement machines other that to mini-lines or on the machine. The placement head position, inspects (optional) sequentially picks a and orients the component, and places appropriate location on the board. These "pick-and-place" operations are governed by a process plan in the machine's controller which specifies the component type, X-Y coordinates, and orientation for each placement location on the board, the location of the feeder containing each component type, and the sequence of operations. planning, we For tactical use two parameters-slot capacity and placement speed or placement time per board-to characterize each machine. The the slot capacity (sometimes called the component staging capacity) of a machine maximum number of feeders that terms of "standard" slots ^ SMT components are refer to all the (e.g., it can hold. number of 8mm dispensed in a variety of formats, We can is represent this capacity either in tape feeder input slots) or in terms of the e.g., component presentation and handling formats tape and reel, tubes, trays. For simplicity, as reels. we total first width of feeders that can be loaded at one time; for convenience, we will assume the representation. We refer to the total initial time to place all the components on a board setup time to locate the fiducials, for that board. This placement time is particular board (including the placement time or cycle time etc.) as the a function of numerous machine-specific and product- dependent parameters including the board area, number of components to be placed board, size of the components, relative location of the component feeders, of the placement heads (and feeder movements, X-Y table), and placement head configuration, intermediate operations and placement sequence. Ball and on the number and speed component pickup mechanism (e.g., inspection, pin alignment), Magazine [1989], Bard, Clayton and Feo [1989] and Gavish and Seidmann [1987] develop cycle time models for different placement machines. We assume that, for each available machine, the planner can incorporate these factors to estimate the average placement speed for each component type or the average placement time per board for every product. We will use these placement time estimates to quantify each machine's workload. By changing component feeders and the assemble a wide variety of products. A the process plan, the machine's types required for each product, then common component slots to certain times. 2.1.2 The setup policy that we we can determines slot capacity requirements. If the machine has a large slot capacity relative to the same machine can its setup number of component reduce changeover time by assigning dedicated types, and keeping these reels on the machine at all describe in Section 2.2 exploits this observation. Planning hierarchy The growing emphasis on reducing setups, optimizing cycle time, eliminating work-in- process inventories, and improving asset utilization has motivated considerable management science research in recent years on models to support shon-term production planning The decisions. vast majority of this literature deals with optimizing feeder- to- slot assignment and placement sequencing decisions instance, to reduce the cycle time for a single product (see, for Ahmadi, Grotzinger and Johnson [1988], [1989], Drezner and Nof [1984], Francis et These optimization models tend contribute most to the to al. Ball and Magazine [1988], Bard [1989], and Gavish and Seidmann [1987]). be very machine-specific, incorporating features that placement time on each machine (e.g., single versus dual delivery of components, Euclidean versus Manhattan distance metrics to compute head At et al. travel time, etc.). a higher level in the planning hierarchy, researchers have studied short-term board sequencing problems for a single machine or line, 5- and setup strategies to reduce changeover time to produce a given set of products Maimon and Dar-El Some models [1989], and Daskin, (e.g., Lofgren and McGinnis [1986], Carmon, Maimon and Shtub recent literature has begun to address that consider both multiple products more [1991]). strategic issues in and multiple assembly Matsuo [1992] address equipment configuration decisions A using mini-lines. facilities placement, soldering, mini-line is in assembly using lines. Ahmadi and mixed-model assembly a series of assembly stages, with each stage (e.g., containing multiple parallel machines. etc.) PCB Ahmadi and Matsuo propose a hierarchical approach to decide the number of mini-lines, group the product and allocate machines families, Ahmadi and Kouvelis to each mini-line. [1992] describe a mathematical programming formulation to represent alternative design approaches-flexible flow and hybrid lines-for electronics assembly. These models minimize lines, mini-lines, makespan do not (i.e., the maximum processing time over all the lines) to balance the workload, but explicitly incorporate the setup interactions across product families since they are concerned mainly with long-term configuration decisions. 2.2 Tactical Planning: 2.2.1 We Scope Problem Definition and Modeling Issues model of consider an intermediate level of decision -making that incorporates the workload balancing feature of the strategic decision models on the one hand, but also considers a finer grain representation of individual placement machines to capture the setup costs in a high mix, low volume environment. For medium-term planning, configuration is fixed, i.e., respective capabilities. we know We the number of are given the bill of parallel of components)^. (e.g., that the equipment placement machines, and components processing time (see Section 2.2.3) on every machine. board type or a fainily of similar board types we assume By for each product, "product" we mean mother boards with nearly their and its a single identical bill Unlike short-term production planning models that require detailed information regarding the size, release date, and due date for each batch of products, medium-term planning must two parameters demand in rely on aggregate forecasts of production requirements. to represent the production requirement for each product: terms of total number of boards required per period^, and (i) its (ii) its We use projected anticipated 2 Double-sided boards require two passes through the assembly line, and so we consider them as two separate products. If necessary, we can specify that both sides must be assembled on the same or different machines. ^The demand period (or lime unit) might be considerably shorter than the planning horizon; period is long enough to ensure that every product is assembled at least once per period. -6- typically, the production frequency'^ or the average number of batches assembled during The tactical planning problem involves deciding which products each machine workload. weights We in assemble on order to minimize setup costs while maintaining a balanced use the estimates of production frequencies and demands, respectively, as in the setup cost discussion on to this period. how and workload functions of the to represent the setup cost tactical and workload planning model. in order to We defer first clarify the model's inputs, and motivate the decision problem. We anticipate reviewing and revising the product-to-machine assignment decisions whenever the demand pattern changes or new equipment annually). of demand The choice of planning horizon depends on for different products; if demand is installed (e.g., quarterly or the relative stability and seasonality is volatile, the planning horizon is shoner. Maintaining stable medium-term product assignments has several advantages over dynamically assigning individual production batches to different machines in real-time. First, if the machines are located at different sites, then we must decide in advance which products to assemble in each machine in order to ensure proper supply chain coordination and timely deliveries. Second, as Skinner [1974] and others have suggested, creating "factories within the factory" by appropriately panitioning the products and processes reduces the complexity of managing the operations, decreases flow times, and exploits learning effects since each module assembly context, adhering specializes in a subset of products. to fixed In the electronics product-to-machine assignments offers additional advantages such as lower inventories of components and tooling, fewer component retrieval and storage transactions, lesser congestion on the floor, simpler materials handling requirements due to streamlined flow, and easier process planning. We emphasize, however, that the medium-term product assignment decisions merely provide guidelines or preferred production choices, and might only apply to a subset of regular products. In the short-term, shop floor supervisors might override the product assignment plan due to contingencies (unexpected surges in demand, rush orders, equipment downtime, and so on); similarly, the supervisors might make real-time assignment decisions for one-time (e.g., prototype boards) or low volume products based on the current status and capabilities of different modules. We assume that the input data-product families, demand projections, production frequency estimates, and processing time-have the level of aggregation and accuracy that "* is electronics assembly facilities use periodic scheduling policies (e.g., produce high volume products once every week, low volume items once every four weeks, and so on) to facilitate due-date seuing, raw materials procurement, and production scheduling. The production frequency is, therefore, a natural Many parameter that planners can relate to easily. appropriate for the chosen planning horizon. For instance, computer manufacturers often produce a vast number of "part numbers", but many part numbers are minor variations or enhancements of a base model, differing only programmable software. Managers in a few model-specific components or typically group the individual product families, and prefer to use a common processing path for models all simplifies the demand few natural members of family in order to simplify scheduling and exploit economies of scale. In each family as a single "product". into a in the a product this case, we treat This aggregation of product variations into families forecasting requirements (forecasting the demand for individual product variations is often difficult and quite inaccurate), and reduces the size of the planning model. Similarly, if a subset of components always occurs as a group, then component type a single equivalent (this we can consider "component" would, of course, require multiple feeder slots on the machine). The next two sections motivate and discuss how we represent setup cost and workload in the tactical planning model. Setup management strategies 2.2.2 Preparing the placement machine(s) process (unless the total is often the major bottleneck in the changeover number of component types is small relative to the slot capacity). Setting up a placement machine to assemble a different product involves loading component types required unloading some or all all the for that product in appropriate slots on the machine, after of the feeders used for the previous product; we ignore other elements of the setup operation such as loading the process plan for the next product into the machine's controller. Thus, the time to setup the machine for a new batch the number of feeders that must be loaded/unloaded. setup policy that the facility uses, and the Let us first bill In turn, this allocation product slots), slots. of components for different products. and is (ii) component all the feeders This policy has two advantages: to (i) we can fine tune the feeder- to- slot minimize the cycle time per board for each by loading the components needed for successive placements the process plan for a product does not tyf)e from completed, and mounting the next product's components in and placement sequencing decisions (e.g., the consider two extreme feeder changeover policies-complete setup and machine when a batch appropriate proportional to number depends on incremental setup. The complete setup policy involves unloading the is change from batch always has a fixed feeder location(s) for in consecutive to batch since that product. each However, the complete setup policy ignores the commonality of components for successive products, thus incurring long setup times. -8 At by loading only those new component types selectively unloading While component commonality the other extreme, the incremental setup policy exploits some of the unnecessary that are not akeady on feeders to release slots for depends on proper production sequencing (i.e., we must sequence (after new components). can reduce the number of load/unload operations, this strategy machine the its effectiveness the products to minimize sequence-dependent changover times), necessitating sophisticated scheduling methods. More importantly, since the location and composition of feeders can vary from batch to batch, the operator must dynamically decide which unnecessary feeders machine, and which free have the ability to slot to use for each new component to unload from the type; in turn, the system dynamically change and optimize the process plan with respect must to the feeder locations for the current batch. Also, the cycle time per board can degrade since the incremental setup policy permits only limited flexibility in selecting the slots for the new components, and the dynamic unloading and loading operations increase the chances of operator error (e.g., unloading the wrong feeder, loading incorrect feeder location in the process plan). dynamic process planning and in the Since most slot allocation capabilities, wrong facilities slot, do not specifying an currently have and since the degradation in cycle time might outweigh the benefits of reduced setup time, the incremental setup policy as have described it is rarely implemented in practice. Between these two extremes of complete and incremental setups, intermediate policies such as the group setup schemes proposed by attempt to use a When all the common we we might Carmon et al. consider [1989] that setup of components to assemble a group of similar products. components (on a single side of the board) must be placed in a single pass through the placement machine, the group setup scheme corresponds to partitioning the products assigned to a machine into groups (such that the number of component types needed for each group does not exceed the slot capacity), setup policy for each group. This scheme requires: (i) and implementing the complete a methodology to group products in order to minimize setup time while ensuring that the number of component types required for all the products in each group does not exceed the machine's slot capacity (Daskin et [1991] propose an integer programming model and algorithm for this problem), to optimize the feeder locations for each placement time for all group (for example, to (ii) a al. method minimize the weighted products in the group given their relative demands), and (iii) the close coordination of production plans so that products in a group are assembled consecutively. The group setup policy is difficult to incorporate in a tactical planning model since we cannot directly express the total setup time under this policy in terms of the product- to-machine assignment decisions. 9- We propose the following alternate policy, which policy, that is We component types needed all The setup policy only On when needed. Thus, consists of loading the other hand, temporary to all to the previous product, We have described a for the next product. version of the partial setup policy, i.e., we unload completing each batch. Other variants of all we components during each changeover operation. Similarly, common "complete temporary setup" components after an incremental version that new (temporary) a group setup version would use setup of temporary components for selected groups of products (Daskin et We [1991]). machine and load the temporary the temporary this policy include the assume that the to will unload all the selectively unloads unnecessary temporary components, and loads only a to that permanent the components remain on changeover from one product to another, temporary components corresponding components required assemble the products assigned on the machine; we never unload these feeders except in preassigned slots replenish components. to two categories: "permanent" components, and will partition this set into "temporary" components. components refer to as the partial setup both easy to implement and convenient to model. For a particular machine, consider the set of machine. we al. complete temporary setup version provides an adequate approximation of the setup cost for medium-term planning purposes. to machines, the partial setup policy requires two slots to dedicate for permanent components, and which components For a given assignment of products decisions: are how many permanent or temporary. model. Note that if We will incorporate both these decisions in our optimization the available slots on a machine can accommodate types required for every product that the machine assembles, then components as permanent; otherwise, our ciioice of (proportional to designate all constrained by the total plus the temporary components required for that product. products that are assigned to the same machine. as is component must equal or exceed The choice of permanent and temporary components captures components we can permanent components the requirement that, for each product, the slot capacity number of permanent components all the the setup interactions between But, once we have classified the permanent and temporary, the setup time becomes separable by product its number of temporary components), and we can develop optimized feeder locations and process plans that are invariant with production sequence. setup policy provides a practical commonality, and modeling its way to reap the setup time benefits Thus, the partial due to component cost does not require a detailed representation of product sequencing decisions (the incremental setup policy requires such a representation). We define the setup cost per period of a product as the components for that product times its production frequency. number of temporary Planners might wish to use other product-specific weights (instead of production frequency) to define setup cost. If the 10 load/unload time is approximately the same for all components, then multiplying the setup cost by the load/unload time per feeder gives the setup time per assemble the product (if different sum of redefine the setup cost as the multiplied by the component types have period). incurred to we can different load/unload times, load/unload times for number of batches per demand period The setup all temporary components cost also serves as a surrogate metric for other important manufacturing performance indicators such as the number of materials transactions and handling operations (to retrieve and return storage), the number of spare and reel/feeder storage), reels to feeders required (to prepare components for the next product), on the assembly the congestion component floor (due to material movement, feeder loading operations, and the in-process component inventories. Minimizing setup therefore, not only reduces the manhours change over from one batch to cost, to the next but also improves several other aspects of the electronics assembly operation. Balancing the workload The total processing time per demand 2.2.3 period to assemble a product depends on and number of components demand, the types different component it requires, and the placement speed for The exact placement or cycle time per board types. its is sensitive to the of various component feeders) and placement slot allocation (i.e., the relative locations sequencing decisions. For medium-term planning purposes, we require only a rough cut estimate of cycle time per board (including board setup time to locate fiducials, etc.) for each product on every machine, obtained using, say, average placement rates for different component types Thus, (e.g., 2 components per second for small, passive components, etc). if dj = demand (number of boards) per period m^j = number of type j components Sjjj = average placement machine gjj^ = time k, for product i, per board required for product (number of components/unit time) rate i, for component j on and to setup each board (or a panel of boards) on the machine, including the time to locate fiducials, and so on, then, the cycle time per board for product p^ i S —Sjk = i^ on machine k -(- gjj^ is time units per board, j and the total processing time time units per demand period. to produce all dj boards using machine k We might optionally add to P^j^ is Pj,^ = djPjjj. an estimate (or lower bound) of the line changeover time per batch multiplied by the production frequency to account for the time to setup the screen printer and other equipment, change the reflow oven's temperature profile, and assemble and test a few 11 pilot boards. We workload define the of a machine as the products assigned to that machine. imposing a user- specified upper assigned to each machine k. We limit model T^ on sum of processing times the total processing time for all products utilization level. refer to as the processing limit, For instance, using performance metrics such as "placements per unit time", managers can compute the to meet the projected demand for all total operating hours needed products; allocating the total operating hours to the placement machines (subject to the actual available processing time for each parallel machine), and adding an allowance for limited imbalances, gives one limits. all) all workload balancing requirement by the The parameter T^, which we depends on the desired machine P^^ for By of processing set parametrically varying these limits, the user can generate several (if necessary, pareto-optimal product assignment scenarios with different setup and workload characteristics. If the we operating time) processing limits are "tight" expect some degradation To summarize, our tactical (i.e., in the total close to the minimum required setup cost and vice versa. planning model minimizes setup cost for total all products subject to upper limits on the processing time for each machine (workload balancing constraints) as well as component loading and The workload slot capacity constraints. balancing constraints provide a user-controllable means to influence the overall allocation of products to machines. The setup cost objective represents not only the time to changeover production from one product to another but also other factors, such as labor requirements, materials handling effort, and component inventory we Next, levels. formulate the tactical planning problem as an integer program. 2.3 Integer The Programming Formulation tactical of the Tactical Planning planning problem has two sets of decision variables: assignment decisions, specifying which products the component loading to constraints. (ii) decisions representing the choice of permanent and temporary constraints, To product the assemble on each machine, and components for each machine. The model has workload balancing assignment (i) Problem component constraints, loading constraints, and formulate the problem as an integer program, we slot product capacity introduce the following notation. We ..., are given N products K, respectively, index set of the model requires to and K parallel machines; we index the products and machines. M component types needed to assemble the following input parameters: -12 all use Let J i = = 1,2, ...,N and k = {1,2, ...,M} products. The 1,2, denote the tactical planning Pjlj = Processing time (hours per period) for product T|j = Processing limit of machine k (hours per period); Ck = Slot capacity of bj = Anticipated production frequency of product on machine i machine k (number of standard feeder i k; slots); (number of batches per period); and, J (i ) = Subset of component types required for product We define I(j) as the i component types for at least one We assume that each product subset of products that use component]. must be assembled pass through the machine^, implying that the number of in a single IJ(i)l i. needed for this product must less than or equal to the machine k (otherwise, the problem is infeasible). slot capacity C^ The model's decision variables are: 1 '^ if we assign product i to machine k, lo otherwise; 1 yjk .0 1 if we designate component j as permanent on machine k, otherwise; and, if we load comp. j€ J(i) temporarily on machine k to assemble prod, Z: ''j*^ lo otherwise. We can then formulate the tactical planning problem as the following integer program N [P] Z* ™" = [P]: K lb, i=l { I I (1.1) Zjj^} J JGJ(i)k=l subject to Product assignment constraints: K Z Xit > 1 for all < T^ for all k i = 1,2, ...,N, (1.2) k=l Workload balancing constraints: N Z PjXj^ = 1,2, ...,K, (1.3) i=l mount assembly facilities prefer single-pass assembly whenever possible since permitting multiple passes increases routing complexity, and introduces additional board handling operations that can increase the defect rate (e.g., due to vibrations) and flow time. If a product requires multiple passes, we assume that the subset of components to be placed in each pass is predetermined, and so we treat each subset as a 5 Surface separate product -13- i. Component loading constraints: and k = (1.4) 1,2, ...,K, Slot capacity constraints: S . jeJ + + Yit yjk Z ^,., . H < ^ Zjit ^ijk Cv j6J(i) for all k = i = 1,2, ...,N, 1,2, ...,K, and and (1.5) Integrality constraints: '^ik' ^°^^ = yjk' ^ijk for all i = andk = The 1,2, ...,N, (1.2) specify that each product must be assigned (1.6) is the weighted The product assignment products. all J(i), 1,2, ...,K. objective function (1.1) minimizes the total setup cost which temporary component assignments for 6 j sum of constraints one machine. Since we minimize to at least setup cost, formulation [P] must have an optimal solution that assigns each product to The workload balancing exactly one machine. upper bounds i, T,^ component loading the (i.e., if Xjj^ = 1), constraints (1.4) ensure that, then each of its components permanently or as a temporary component for Zjj^ = The 1. feasible; it slot capacity constraint (1.5) specifies that, for every product permanent components (the first term if g J(i) assign product i.e., and machine i k, the in the left-hand side to machine k we must set either yj^, either = 1 or i (the second term i to number of slots reserved for of (1.5)) plus the number of in the left-hand side, which is machine k) must not exceed the Model variants to formulation [P] we can model several variants of the tactical planning problem. For instance, to permit product splitting more than one machine) we can assignment variables Xjj^^ (in assigned to machine product's demand. machines, ^ i slot capacity C^. By making minor changes is For every product must be loaded on machine k that product, the optimal solution does not assign product machine's 2.3.1 j we if k. ensures that the component loading decisions are temporary components required for product zero constraints (1.3) impose the user-specified on the total processing time assigned to each machine e.g., if k), To (i.e., assigning a product to either relax the integrality constraints which case Xjj^ denotes the fraction of product or define multiple products whose total on the product i's demand demand equals that the original incorporate predetermined assignments of certain products to product i is preassigned to machine k due to We retain the integrality restrictions on the y and z variables. -14- its special processing requirements, variables machine Xj.^ Xji^, k's we can add the constraint either for all k = 1,2, ...,K, processing limit Tj,. We machine. modules In this case, the slot capacity of the < x,.^) from P^^. assignment constraints 1 Xj^ machines k = for all must or must not be assigned and the that contain module is the = 1,2, same to the i in module Finally, our k''. model slot capacity constraints. more than one machine combined and the processing time P^^ equals product board for product slot capacity of demand times i's treats the number of permanent slots or specify Z y:^ < the in series. machines slots allocated to we can exogenously limit, say, Uj. for the an upper permanent components on machine k by adding the all The the cycle time per number of (implicit) decision variable. Alternatively, permanent components as a set the i' in the objective function also applies to placement in series, and i + (xj,^ processing time i's can incorporate component-dependent setup costs and feeder widths by changing the coefficients model to formulation [P] or eliminate the Similarly, adding the joint that products models the conditions 1 and subract product or the exclusive assignment constraints ...,K, = Xjj^ number of constraints: forallk= U,^ 1,2, ...,K. jeJ By solving the model for different values of permanent to the model slot reservation decisions. variants; however, we Uj^, we can Our solution assess the sensitivity of setup cost methodology extends will consider only the basic model fP] in to all these our subsequent discussions. 2.3.2 Special cases Formulation [P] also has several interesting special cases. very large (e.g., C,^ ^ M for machines all permanently on each machine, and if all C^ are the required components machines have the same processing limit, say, T, k) so that the If the slot capacities we can load all then problem [P] reduces to the following recognition version of the nonpreemptive, parallel machine scheduling problem: makespan is less is than or equal to there an assignment of products to T? Even with same processing time on every machine), this identical problem machines is machines such (i.e., that the each product has the NP-complete (see, for instance, Lawler, Lenstra, and Rinnooy Kan [1982]). Another interesting special case sum we '' of the processing times for seek the best grouping of the If the the module contains L machines machines are equally cycle time per board, we all N arises when we choose large values (say, greater than the the products) for the processing limits T^. products into at most K In this case, groups such that the in series, the smallest possible cycle total setup time per board (achieved when all lA. times the total placement time per board. To estimate the actual might inflate this lower bound to account for possible variations in the placement utilized) is time of each machine. 15- cost is minimized. Unlike traditional group technology approaches based, for instance, on DeWitte [1980J, Rajagopalan and Batra [1982]) or rank similarity indices (see, for example, order clustering (e.g.. King [1980] and King and Nakomchai [1982]) commonality as a surrogate for setup cost, the optimization model that use component [P] provides a more complete representation (including an explicit setup cost function) of the grouping problem by accounting for the limited Of each product. combined with 2.3.3 we might course, parallel slot capacity of each machine, and the production frequency of consider adapting the group technology approach, machine scheduling methods, to solve problem [P] heuristically. Subproblems We now consider two single-machine subproblems of [P]-the product selection problem and the setup optimization problem-that are central to product we i generates a "profit" (or opportunity cost) for any subset of products is if our solution strategy. Suppose each decide to assemble the total profit for all products in this subset setup cost to assemble the products on a single machine. problem determines which products Given N it. to accept for The minus The following product net profit the total selection assembly on the machine: available products, each with a profit value, select a subset of products to assemble on a single machine order to maximize net profit, subject to the workload in balancing constraint (1.3), component loading constraints (1.4), and slot capacity constraints (1.5). This product selection problem "profit center" line relevant for surface is mount assembly subcontractors or managers who must decide which of several available products to accept for assembly. For a given assignment of products to a machine, we refer to problem of selecting permanent and temporary components as the setup optimization problem, and define as it follows: Given the set of products to be assembled on a machine, decide which components must be loaded permanently in order to minimize the total setup cost for the remaining temporary components subject to the component loading constraints (1.4) and the slot capacity constraints (1.5). This model has direct application for short-term process planning, and of the product selection problem. As part of our algorithmic describe solution procedures for both these subproblems. 16 is also a development subproblem in Section 3, we Solving the Tactical Planning Problem 3. Formulation [P] is a large-scale integer program that As we show general-purpose integer programming methods. optimization subproblem is optimally using difficult to solve is in Section 3.2, even the setup NP-hard. We, therefore, focus on developing an optimization- based procedure that exploits the problem's embedded special structure to construct a good bound feasible solution, and also generates a lower Our solution to assess the quality of this solution. method combines column generation with greedy and and other lower bounding techniques. heuristics, we Before describing the column generation algorithm, note that the linear programming relaxation of formulation [P] can have arbitrarily poor performance, optimal setup cost and For instance, suppose LP value, as a proportion of the K machines all are identical, C, processing limit T, and processing times M improvement local K than or equal to is less C. Pj, i.e., LP they the i.e., gap between the value, can be arbitrarily large. all have the same capacity slot and suppose the number of component types Then, the following fractional solution solves the LP relaxation of formulation [P] optimally: for ^ik for all for This solution assigns does not exceed the limit T M/K slot LP j € J, i=l,2, ...,N, total to € J(i) , and k=l,2, ...,K. each machine, which by assumption processing time required to assemble objective function value its all the products; Since the solution satisfies the workload balancing constraint. is LP zero; solution however, can make the optimal setup cost arbitrarily large by considering products with low component commonality and high values for the production frequency parameters Since formulation [P] has a very weak based branch-and-bound method the j capacity C. For the original problem to be feasible, the processing does not require any temporary components, we ...,K, and k=l,2,...,K, and permanent components must exceed 1/Kth the hence, the all and k=l,2, i=l,2, ...,N, all problem as a capacitated set is LP relaxation, solving it using a standard LP- not likely to be very effective. Instead, covering model, and solve LP relaxation its bj. we reformulate using a column generation algorithm (see, for instance, Lasdon [1972] or Bradley, Hax, and Magnanti [1977]). Column generation have proved to be an effective technique for solving difficult crew scheduling, cutting Vance et al. stock, and vehicle routing problems [1992], and Desrochers et al. [1992]). 17- For the (e.g., Bamhart tactical et al. [1992], planning model, the column generation procedure subproblem iteratively solves the product selection heuristically and/or using branch-and-bound. The method generates lower bounds on the optimal setup cost, and also enables us to construct good feasible The next solutions. three sections describe the various components of our algorithm to approximately solve the tactical planning problem. Section 3. 1 reformulates the tactical planning problem as a capacitated set covering problem, and provides an overview of the solution approach. Sections 3.2 and 3.3 discuss solution procedures for the two subproblems-the product selection and setup we must optimization subproblems-that the set covering formulation. solve in order to dynamically generate columns for Section 3.4 integrates these subproblem solution methods in the overall algorithmic framework, and discusses our heuristic and lower bounding strategies. Overview of the Solution Approach 3.1 Let us first reformulate the tactical planning problem. Suppose feasible assignment patterns for each machine. often abbreviate as "pattern") for machine k is A. we can enumerate all the feasible assignment pattern (which we a subset of products time on machine k does not exceed the machine's processing limit number of feasible patterns for machine k. vector or "column" corresponding to the h product i minimum is For h = 1,2, ...,H|^, let pattern for machine assigned to machine k in this pattern, and setup cost for the h problem assuming pattern, obtained that all products i with ajj^j^ = k, whose total processing Let H|^ be the total T|^. a,^ be the characteristic with elements otherwise. Let Sj,jj ajj^^, = 1 if denote the by optimally solving the setup optimization 1 are assigned to machine k. We can interpret the tactical planning problem as the process of choosing K patterns, one for each machine, such that every product Using binary decision variables the h*^ pattern for machine problem as the following IP'l set k, is included in at least one of the chosen X^ to represent the choice of patterns {X^ is and is otherwise), we can if we choose formulate the tactical planning covering model with side constraints, which V 1 patterns. we denote as [F]: (3.1) Pattern selection constraints: i- K^ < ^hk ~ for 1 all k = 1,2, ...,K, and = 1,2, ...,K, and (3.3) n=i Integrality constraints: or 1 for all k all The h = objective function (3.1) minimizes the total setup cost of all selected patterns. product covering constraints (3.2) ensure that every product belongs to we cannot choose more Constraint (3.3) specifies that pattern. (3.4) 1,2, ...,Hk. at least The one chosen than one pattern for each machine. To we simplify our subsequent discussions, identical, i.e., will assume that The methodology extends all is it When for these problems. feasible for other machines. the machines are Pj, and in series) identical, an although we assignment one machine must also be feasible and have the same setup cost for Hence, we can drop the subscript k for the problem parameters and decision variables in formulation [P], and combine the into a single "capacity" constraint. patterns. machines are easily to problems with non-identical machines (including modules containing multiple placement machines pattern that K they each have the same slot capacity C, processing times processing limit T. have not tested all Let H denote K pattern the total selection constraints (3.3) number of feasible assignment Performing these simplifications, we get the following Capacitated Set Covering formulation, denoted problem with as [CSC], for the electronics assembly tactical planning identical parallel machines. H [CSC] Z* = min Z slXu (3.5) h=l subject to Product covering constraints: foralli= 1,2, ...,N, (3.6) (3.7) As h, before, the binary variable and constraints X^^ denotes whether (k^^ = or not 1) (k^^ (3.6) ensure that every product belongs to at least no longer associate a pattern with a particular machine, i.e., = 0) pattern one chosen pattern. we can We arbitrarily assign the number of chosen selected patterns to the available machines; constraint (3.7) limits the patterns to we choose K since we cannot assign more than one pattern to each machine. Let [LCSC] denote the linear programming relaxation of the integer program [CSC], obtained by replacing the integrality restrictions (3.8) with nonnegativity constraints. Since formulation [CSC] contains a very large number of columns (exponential in the number of products N), enumerating impractical. the all Therefore, we: (i) columns and solving the integer program optimally solve LP its relaxation generation procedure to generate lower bounds, and We procedures to generate good feasible solutions. containing all the columns of [CSC], containing only a subset of its as the columns is [LCSC] using an (ii) iterative is column apply heuristic and optimization refer to the linear program [LCSC], master problem, a restricted version of [LCSC] called a restricted master problem Our . solution procedure consists of the following three phases: Phase 1 : Heuristic Solution Initial Using some greedy and local improvement assignment patterns that together cover all heuristics we the products. find K (or fewer) feasible We refer to this solution as the initial heuristic solution. Phase 2 : LP Solving the relaxation of [CSC] The optimal value [LCSC] solve this LP is a lower bound on relaxation optimally via defined by the Z . We attempt to column generation. Starting with initial heuristic solution, the columns by solving the optimal setup cost method the columns iteratively generates additional the product selection subproblem; this subproblem uses "profit" values derived from the optimal dual solution to the restricted master problem containing only the columns generated previous iterations. in This phase provides: • feasible solutions at intermediate iterations restricted master problem is integral. We whenever the optimal LP solution to the refer to these solutions as intermediate feasible solutions; • intermediate lower bounds on the minimum total setup cost, based on the optimal dual solution to the restricted master problem at intermediate iterations, and • a final lower bound if we solve [LCSC] optimally. 20- Phase 3 Final Feasible Solution : Since the column generation procedure patterns, we first Phase 2 generates many promising assignment the available columns. all two phases require solving (for every candidate the setup optimization assignment pattern). method before returning We first subproblem numerous times discuss this subproblem and its solution to the overall solution procedure. The Single Machine Setup Optimization Subproblem 3.2 The Setup Optimization (SO) subproblem selection problem and the original products to a machine, the the CSC construct a final feasible solution by optimally solving the restricted integer program using The in components SO tactical is For a given assignment of planning model. model determines the for both the product model a core number of permanent slots to be loaded in these slots subject to the slot capacity constraints, in order to minimize the setup cost for the remaining "temporary" components. simplifies the formulation of the SO problem, and shows that this This section problem Adding an explicit constraint to enforce this upper programming relaxation of the SO We model. first NP-hard. is then develop an upper bound on the number of permanent components solution. and selects We any feasible in bound strengthens the linear also describe a heuristic solution procedure, develop a lower bounding method, and propose a branching scheme to solve the problem optimally. Notation and problem formulation 3.2.1 Consider any feasible assignment pattern a that assigns the product subset machine. To of products selected by pattern all we omit simplify the notation, components required to a, i.e., I = the argument a, {i = assemble products 1,2,.. .,N: a^ and = in this subset, let 1 ). and now denote I Similarly, J I(j) c of products requiring component]. Since the given assignment pattern processing time for the all the products in component loading, I is slot capacity, without the machine index k since less than or equal to T. 1(a) to a single The I is the subset the set of denotes the subset is feasible, the total SO problem contains and integrality constraints of formulation we now consider only a single machine; we [P], but restate the SO formulation for convenience. The model contains two sets of binary decision variables z- and y:, value for every product 1 if we component j i e I and all components j € J. The decision designate component j as a permanent component, and must be loaded temporarily decision variables, the SO problem has for product i, and the following formulation: -21- is variable yj takes the otherwise; z- otherwise. is 1 if Using these [SO'] = s*(a) Z min b: Z { iel (3.9) Z::) J6J(i) ^ subject to Component loading constraints: yj + Zjj > 1 for all i e I, and < B fof all 1 G I, End = Oorl for all i 6 I, and all j e J(i), (3.10) Slot capacity constraints: Z JeJ y: Z + J z:: (3.11) J JGJ(i) Integrality constraints: yj.zjj all j e J(i). (3.12) In the capacitated set covering formulation [CSC], the objective coefficient for the pattern selection variable X^ corresponds to the [SO'] for the h^ minimum s (a^) obtained by solving pattern a^. Since the production frequency parameters b- optimal solution that designates each component not both, setup cost are non-negative, formulation [SO'] has an j e permanent or temporary but J as either i.e., = Z-- Using (3.13) we can eliminate the foraIli€ 1-yj I, andallje from formulation [SO'] z variables J(i). (3.13) to get the following more compact formulation [SO]: [SO] = s*(a) Z Z b: - max jeJielCJ) Z Z ( jeJ bOy: (3.14) ^ ielO) subject to Z y: JeJ(i) yj The objective function number of slots C-IJ(i)l for all i e I, = Oorl for all je J. now maximizes components permanently. The the < and (3.15) ^ (3.16) the savings in setup cost obtained by assigning slot capacity constraints (3.15) state that, for each product occupied by permanent components that are not needed for product must be no greater than the remaining slot capacity after loading all of product components. 22- i, i i's SO problem Computational complexity of the 3.2.2 Proposition 1 The : setup optimization problem NP-hard. is Proof : We will prove this result by transforming any instance of the following recognition version [SP] of the set packing problem into a recognition version of formulation [SO], which refer to as the equivalent SO problem, in we polynomial time. Set Packing problem: [SP] Given a set p = for E = { 1,2, 1,2,. ..,P, is ,..., of elements, and integer lEI) x€ Boolean vector there a L < and P subsets Sp lEI, c E, {0,1}^ satisfying the following conditions? P E x_ > Xp < Z L, and (3.17) forallee 1 (3.18) E. pxeS P Given any instance of [SP], we will consider an equivalent products and M > 2P components. The from one corresponding each element of the 1 to lEI, product. We to first lEI define the component set J as J' SO SP problem instance, and J" is u J", set E, where and product J' = a set of special N dummy a is P} {1,2 the set of is each subset Sp to components that we add every product requires the same number of component types. to ensure that IEI+1 products are regular products, indexed regular components, containing one component p corresponding original N= problem with We in in the order construct the set J" as follows. For every regular product contain the i**" element of E i = in the 1,2, ..., given |E|, let ttj SP denote the number of subsets Sp that instance. For each regular product i, we create lEI (P-cXj) special components; let J- denote this set of special components. If Z {P + (P-a,) i=l El < 2P, we create P -Z(P-a;) additional special components. The set J" contains all the 1=1 special (P+1). components created Note equivalent that in this manner; these components are indexed consecutively from by construction, the total number of components SO problem instance is greater than or equal -23 to 2P. M (= IJ'I + IJ"I) in the For every regular product = i we 1,2, ...,IEI, define the set of components J{i) that it requires as follows: = J(i) The dummy component, We Sj}u {jeJ':i€ product requires every regular component, but does not use any special J(N) = i.e., J'. Observe M - P for equal to M - P that IJ(i)l i = 1,2, ...,N, The production frequency dummy = i C of the machine the SO problem is feasible. set the slot capacity products {J"U;'}. product has b^ = bj is = 1,2, ...,IEI, + 1. MN+1. The SO equivalent i = j solution y feasible for the equivalent is e J) and the following such that the minimum total Z Z bjy: We we to get the corresponding and y: = = L(MN+1), bj,^ all i.e., a constraints (3.15), (3.16), and only if the equivalent by showing SO SO solution by SO problem, problem has a that given a feasible solution to setting y = x any feasible SP components we set for all the regular > j x^ = y P. for Conversely, all p = 1,2, ...P solution. SO problem the savings for selecting a regular is between (MN+1) and (MN+l+N-1), while the savings for each special at most (N-1) product has h^ = component but no savings even values for (3.19) for all the special note that, in the equivalent component j component is dummy SP (i.e., y; feasible solution to the other problem. For given a feasible solution y to the equivalent First, if will establish this claim 1,2, ...,P, but the a recognition is L(MN+1). > construct the corresponding components p = if it satisfies for all IJ(i)l ^ problem we can construct a solution X, problem [SP] has a feasible solution feasible solution. either SO L least is at P. setup savings constraint: JGJielO) We claim that setup savings = IJ(N)I 1,2, ...,IEI, problem, which version of formulation [SO], seeks a choice of permanent components components C> Since for every regular product 1 and if 1)(M-P) which special we can is less since: (i) each of the (N-1) regular products MN+1, and (iii) the dummy component. Ignoring the select all the regular than bj^ =MN+1. i has bj = 1, (ii) the product requires every regular dummy product, the maximum possible and special components as permanent Therefore, in order to satisfy the savings constraint (3.19), every feasible solution y to the equivalent is minimum SO (N- setup problem must dummy product's savings for at least L permanent components, i.e., it must at least L regular components. Hence, the corresponding SP solution satisfies (3.17). capture the select Conversely, since every feasible savings for the corresponding minimum SO SP solution x sets at least solution exceeds setup savings constraint (3.19). 24- L L(MN+1), of the x i.e., variables to 1, the this solution satisfies the We now show SO corresponding that the and SP solutions satisfy constraints (3.15) and (3.18) respectively. Note that the slot capacity constraint (3.15) for every regular product in our equivalent SO problem S P SO i = 1,2, ...,IEI. The must < C-tJ(i)l = (M-P+1)-(M-P) = 1 " (3.20) slot capacity constraint for the dummy SP SO special components. solution x satisfies constraints (3.18), the corresponding Similarly, for any feasible satisfythe slot capacity constraints (3.15). solution y to the equivalent product specifies that the more than B-IJ(N)I = (M-P+1) - P solution must select no solution y: J6J":j«J(i) Therefore, since every feasible SO becomes I y_ + p£j':ieSp for all instance i problem, the corresponding SP solution satisfies constraints (3.18). These arguments show problem has a feasible solution. optimization problem [SO] and only that [SP] has a feasible solution if is Since the set packing problem if the equivalent SO NP-complete, the setup is NP-hard. Greedy heuristic for the SO problem Although the SO problem is intractable in theory, our computational 3.2.3 that its linear relaxation provides a tight greedy heuristic described lower bound, and the following adaptation of the Nemhauser and Wolsey [1988] in experiments indicate We generates good component loading plans. for the set packing X = define SC: b-^ problem as the setup cost for ie I(j) SC is the total setup cost we incur if component component j. an optimal solution, any component Uiat temporary for all Uie products that use The The denominator of covered by component] savings per in row covered temporary maximize heuristic seeks to savings at each step by permanentiy loading components SCj/(N-II(j)l). is (recall that, in loaded temporarily for one product must be is it). j C: represents the j that the setup cost have high values of Oj = number of rows (constraints (3.15)) formulation [SO]. Hence, the parameter Oj represents the setup if we assign a permanent slot to component Starting with j. no permanent components, the procedure successively examines every component j in decreasing order of C. (in case of ties, we give priority to components with higher values of SCj), and makes component j permanent if feasible, i.e., if previously chosen permanent components (3.15) for any product i. j' setting yj does not violate the Using a worst-case example similar 25- = 1 and yj. = 1 for all slot capacity constraint to the set packing example in Nemhauser and Wolsey heuristic can be arbitrarily 3.2.4 bad we can show performance of that the we method describe a this greedy SO However, the method seems relative to the optimal value. in practice. Next, perform quite well optimal setup cost [1988], to lower bound on the to generate a Sj,. Lower bound on optimal setup cost Let Q^jn denote the minimum number of slots required for temporary components in order to ensure feasibility of the slot capacity constraints for all products. R^^^^ == C - Q^^jj^ maximum number of permanent slots in any feasible component loading scheme. We develop a lower bound on the minimum setup cost by fu^t determining a lower limit Q on = C - Q is an upper bound on R^ax' ^^^ ^" ^^ ^^^ possible scenario we Qmin- T^cn, R is the can choose the R components minimum Hence, the for the remaining with the largest setup costs SCj as permanent components. sum of setup setup cost on the machine must equal or exceed the costs (M-R) components. For any given subset of products S required to assemble the products in S. c I, u J(S) = let To compute Q, we J(i) be the set of all components use the following proposition. Proposition 2 : r'^^^lforall ^ Qmin subsets of boards Scl with ISI>2. (3.21) Proof: Let / = ISI, induction on / and without loss of generality assume S = that every feasible SO solution > IQ^-^ must { First, 1,2,...,/}. satisfy Z IJ(S)I- (3.22) y:. Consider a subset S containing only two products, say, S = {1,2}. temporary slots must be greater than or equal we prove by to the The number of number of temporary components for each product Hence, > Q^i„ Summing inequalities (3.23) for 2Q^i„ ™" > = i = IJ(1)I IJ(i)l- I for alii 6 y: (3.23) I. jeJ(i) 1,2 gives + IJ(2)I- I JGJ(I) yjJ I yj JGJ(2) IJ(l)uJ(2)l + IJ(l)nJ(2)l- ^ Z JGJ(l)uJ(2) -26 yjJ S JGj(l)nJ(2) = IJ(S)l I + IJ(l)nJ(2)l- > IJ(S)I Z - J y: since y, J J jeJ(S) Hence, every subset S containing two products Now, suppose 3). product < 1 for all j containing /products, and {1,2,...,/) " e J. satisfies inequality (3.22). the inequality (3.22) corresponding to subset / Yj jeJ(l)r\I(2) that (3.22) is valid for all subsets containing (/-I) or Consider a subset S = Adding I y:- jeJ(S) fewer products let S' = (/ > {1,2,...,/-!}. and the inequality (3.23) for S', gives = IJol + IJ(S') jeJ(S) jeJ(0 n J(/)l - X y:J jeJ(S) > Z IJ(S)I- is a valid inequality for C subsets S O > 1 ^ forallJ€ J. J J all y: sincey, < y: J6J(S) Therefore, (3.22) Z jeJ(S')nJ(0 S + c I with ISI > 2. Note also that v J€J O > Adding this inequality to (3.22) we an integer) shows that (3.21) is (/ Z V. get (/-l)Q^i„> Dividing both sides of (3.24) by + - 1), and rounding up the right-hand side (since Q^,j, a valid inequality for the Proposition 2 suggests one way (3.24) IJ(S)I-C. SO problem. lower bound to determine the number of temporary components Qmin- compute Q(S) = I Q on the minimum (IJ(S)I-C)/(ISI-1) I for every subset S (where fgl denotes the smallest integer greater than or equal to g), and set to the maximum value over completely enumerate all all subsets. the subsets S, Note i.e., that this the approach maximum two of the following Methods to three lower the following three computational tests, valid even if we do not We exploit this observation bounding procedures. compute the lower bound Each of is Q equal value of Q(S) over any limited family of subsets S also provides a valid lower bound on Q^^^. in is Q methods generates a valid lower bound on Q^^^^- In our none of these three methods systematically outperforms the others -27- in terms of producing a superior lower bound for Qf^^J^^, so we apply three all methods and set = 2), Q equal to the maximum lower bound. 1. The all and 2. pairs method computes Q(S) for selects the maximum value all pairs of products we all S with ISI as the lower bound. The maximal set method attempts to identify a subset S components IJ(S)I. Initially, the set Sj^j contains all ...,2, for (i.e., obtain a subset S^ containing / maximum number of requiring the Then, for the products. = N-1, / elements by dropping from the current subset S^^j the product that results in the smallest reduction in IJ(Spi (we break ties by dropping the product with the fewest components). subsets provides a lower 3. For any The maximum value of Q(S) bound on Q^in- Q instance cannot have a feasible solution with only Q until current value it is is infeasible To prove permanent permanent slots test fails to Q = 0, the method value of needed prove the is test, components if we can show that to assemble Q is that Q that the trial value of all Q is products in I if try to that temporary must necessarily be permanent if slots is we cannot prove if Q Q slots are is less number of temporary. The slots are temporary). test, which Q slots are C-Q than or equal to prove the infeasibility of thcpermanent component identification say that the infeasible, the procedure first only slots available if C-Q, we Q acceptable is We value. having just infeasible if the underestimate number of permanent trial successively increases to underestimate the fewest slot reservation test underestimate exactly equals second trial the other hand, the current value infeasible. applies a (which Q On inadequate. that Starting with a slots. (or fewer) slots devoted to can no longer prove the infeasibility of the current it N-1 value of Q, the infeasibility method attempts to show that the problem trial temporary for these Q If the by applying a identifies specific temporary. Appendix A contains the detailed description of the infeasibility method. To apply the permanent slot reservation available product i* e I' that has the eliminate all its number of slots that all we have (i.e., if mj* exceeds the 0), then we we this 28- trial Q then value of amount, remove product component set J', i* and repeat Step l\l' cannot satisfy the limit the components, say, must be loaded permanently. Hence, we y by the current If reserved for the products in y< the products if J'). i* slot capacity components from permanent capacity (3.15) for set - Q) components of product reduce the available permanent (Step 2), the procedure selects the maximum number of remaining m^* (belonging to the current component at least (m^* test from 2. I', If the exceeds the available slot capacity constraints number of temporary components to a maximum of Q. In this case, we increment the value of the infeasibility checking procedure. If mj* current value of Finally, if the Q is Q by 1 (in less than or equal to Step 4), and reapply Q in Step 2b, then the appears to be large enough and the procedure terminates (Step number of available permanent slots (C-Q) is just enough (i.e., 5). y = in we Step 2c and the subsets of remaining products and components are not empty), then apply the permanent component identification consider any remaining product other component principle for If 3c). IJ"I temporary two all e j If the i At the end of Step Q components from J'; every must be made permanent. Using build the set J" of permanent components that if we and as before we increment procedure reaches Step this 5, Q (in 2, (in this Step Q Step 4) and reapply the we cannot prove that the current value as the lower bound on the minimum slots required. apply the set heuristic at size two methods we I', and so we use infeasible, number of temporary maximal € slots is infeasible, Q is Observe that requires exactly 3). exceeds the available permanent capacity (C-Q), then the current value of infeasibility tests. value of i I' needed for product J(i)\I' products e i (Step test as the initial = / pairs heursitic all 3, first, we can stop the search in the and then use the better of the bounds produced by these value in the infeasibility method. Our implementation follows trial this strategy. The sum of setup costs SC components except for all the first with the highest setup costs gives a valid lower bound on the R = C - Q components minimum setup cost s,^ of the SO problem. We can also add the following maximum permanent slots constraint N I to formulation two (i) [SO] in < y; 1=1 R (3.25) J order to strengthen its relaxation. Adding this valid inequality raises interesting issues: Does constraint (3.25) eliminate any fractional solutions to the LP relaxation of formulation [SO]? (ii) Does this constraint define a conv({y G I (0,1)'^': y: C- IJ(i)l for all i e I))? ^ j«J(i) We < high dimension face of the slot allocation polyhedron can construct problem instances for which adding constraint (3.25) eliminates the fractional LP solution to [SO]. The example described capacity of 6, has this property. maximum value R^a^ °^ strengthened formulation ^^^ For this Vanderbeck [1993], but with a slot R equals the true optimal LP solution to the example, the upper bound number of permanent is integral. in slots and the Vanderbeck [1993] also shows -29 that: (a) using up the maximum number of permanent defined by (3.25) not a facet of the setup optimization polyhedron. is always optimal, and slots is not (b) in general, the face This section has focussed on the setup optimization model, which to generate lower bounds as well as heuristic solutions for the simplified the SO problem formulation, showed it a core subproblem maximum number NP-hard, described a greedy is of permanent slots. If this lower bound equals the cost of the heuristic slot allocation, then the heuristic solution Otherwise, to solve the problem optimally, heuristic solution serves as the initial maximum permanent we incumbent in this procedure, slots constraint (3.25) in the adding a new variable that defining constraint W= Z j€j y:, W, optimal. SO In and we incorporate the problem formulation first on in order to our computational experience, denoting the number of permanent and branching is use a branch-and-bound scheme. The greedy improve the intermediate LP-based lower bounds. found We planning problem. and developed a lower bound for the setup cost heuristic to generate a feasible slot allocation, based on an estimate of the that tactical is this variable slots, we with the improves the performance J of the branch-and-bound scheme. The size of the branch-and-bound tree tends to be quite small (no branching was necessary for over LP relaxation 95% of the SO problems we solved) since the of the enhanced formulation (with inequality (3.25)) produces In the next few sections, we tight bounds. describe upper and lower bounding techniques for the higher level problems-the product selection subproblem, and the overall tactical planning model. 3.3 Initial Product Phase Assignment Heuristic of our overall solution procedure for the 1 finding a heuristic assignment of products to machines. the better of the two solutions tactical We planning problem requires apply two methods and select as our initial heuristic solution. Both these methods require repeatedly solving (approximately or optimally) the setup optimization subproblem. 3.3.1 List processing heuristic This method successively assigns products, potential setup cost bj step. We IJ(i)l, to machines so as to in decreasing order of their minimize the incremental setup cost use a slightly different ranking of products in the first K at each steps in order to heuristically differentiate the product groups that are assigned to each of the -30 maximum K machines. Assigning the first product to each machine: The first product assigned to a machine serves as a "seed" for similar products that are subsequendy assigned machine based on incremental setup cost considerations (which to that depends on pan commonality). To needed K for the machines using we product groups, final components heuristically reduce the overlap in the set of We the following procedure. maximum potential setup we recompute the maximum potential K assign "dissimilar" seed products to the begin by assigning to the machine the first At every subsequent step k = 2, k, for product with the cost. ...,K, setup cost for each of the remaining products, ignoring the components required by the the largest (potential) cost to the k first (k-1) products, and assign the product with machine. Assigning the remaining products: We then sort the remaining products in increasing order of h^ this rule has according to the longest processing time rule since minimizing makespan, which is set Let Ij^ product i to \. on machine k i to denote the current If J(i) is 0. machine k c J,^, optimal subsets total setup cost Ij^ and Ij^ufi). on the actual setup cost problem only or if Otherwise, assembles every product SO when product set we We define Jy. is the the incremental cost of on machine k when we add < C, then the incremental setup cost for product we must solve the SO I,;^ u (i). assign product for product we machine with the lowest incremental to machine assembles that this machine k, get upper then On TS2-TS1 is the product bound a lower the other hand, if bounds on TSj and TS2. i's actual setup cost if it k, is we solve the We use the I,^ and assigned to machine and assign product i k. to the cost. assignment of products to machines suggested by the might violate the workload constraint (1.4). If it does, overloaded machines to others that have slack capacity. most overloaded machine, we machine k that the difference in the heuristic setup costs for is i Let TSj and TS2 denote, respectively, the in the final solution. i heuristically, dien which i problem assuming We compute the heuristic incremental cost for every machine to the k; u J(i)l IJ,^ I,jU{i}, as an approximarion for product final proven effective for the next product to be assigned the increase in setup cost is in the set heursitic incremental cost, The Ties are broken of products assigned to machine on machine k assuming If is i of components needed to assemble these products. assigning product in an implicit objective to meet the workload balancing constraints. Consider an intermediate step list. and assign them that requires the smallest incremental setup cost. sequence to the machine from the sorted IJ(i)l, select the product we list processing heuristic attempt to transfer products from From among the products assigned whose removal gives the maximum reduction in setup cost on that machine, and can be feasibly accommodated on another machine, i.e., the processing time for this product 31 must be no more than the slack time available on at least one other machine. we choose machine the Among the machines have adequate slack time, that that incurs the lowest (heuristic) incremental setup cost, the product to this machine. Because myopic, this strategy is and reassign might terminate without it producing a feasible product-to-machine assignment. 3.3.2 Smallest setup-to-processIng This method better suited than the previous is workload balancing constraints are machine same the is loaded machine k, as before. and assigns to apply the SO Initially, to i machine heuristic to we set P= balancing constraints, k, we it the unassigned product and the exponent If the final (5 is [1984]). For makespan; hence, b^ that i is minimizes the of our 5^/?^ Again, a user-specified parameter. at each if we we step. product-to-machine assignment violates the workload makespan all ratio the incremental setup cost As p increase the value of P and repeat the algorithm. effective for minimizing the the product for each to select the first approximate the incremental setup cost 0. when processing heuristic Subsequently, the algorithm iteratively selects the least the algorithm resembles the Longest Processing Rinnooy Kan list The procedure tight. of the incremental setup cost to processing time, where add product heuristic ratio Time (LPT) for parallel test machines heuristic (see, for which has proven example, Frenk and problems, the processing Hmit this setup-to-processing ratio heuristic increases, T exceeds the LPT always generates a feasible heuristic solution. We select the better (i.e., having lower heuristic setup cost) of the smallest ratio heuristic solutions as the its develop many SO problems optimally. We can other heuristic procedures for the product assignment problem such as the group technology methods that we outlined in Section 2, or analogs of bin packing and machine scheduling algorithms. strategies since processing and solution for the tactical planning model, and optimal setup cost by solving the corresponding evaluate parallel initial list we use the initial heuristic We have not pursued these alternate heuristic solution mainly as a starting point for the column generation algorithm. 3.4 The Column Generation Algorithm Having constructed an relaxation [LCSC] of initial heuristic solution. the capacitated set covering formulation lower bounds on the optimal setup cost Recall that the Phase 2 attempts H columns of formulation Z , [CSC] in to solve the LP order to generate and possibly improve the feasible solution. [CSC] correspond to all the assignment patterns with total processing time less than or equal to the processing limit T. -32 The h' pattern consists of assigning in [CSC] is the all products with aj^ = minimum 1 to a single machine; its cost coefficient setup cost, obtained by solving the corresponding SO s (a^) problem optimally. Starting with the K assignment patterns of the initial heuristic solution as the initial set of columns, the column generation procedure iteratively generates new "promising" columns as needed until the linear programming optimality conditions of [LCSC] denote the number of assignment patterns or columns available column generation procedure. Initially, H^ = K, incumbent, and the current best upper bound iteration t, we first of iteration t H of the the initial heuristic solution is the current the total setup cost of this solution. Zi^ = far: min Z h=l subject to at the start Let At solve the following restricted master problem, denoted as [RM'], containing the H' columns generated thus [RM*] is are satisfied. s*(aj,) \ (3.26) value Z* of the tactical planning problem. Otherwise, we generate one or more columns with negative reduced cost, add these columns to the restricted master problem, and perform the next iteration. we iteration, To check for optimality and generate negative reduced cost columns at each solve the product selection subproblem. The product selection subproblem 3.4.1 At iteration cost s*(a) t, the reduced cost of any column or assignment pattern a with optimal setup is N = p(a) s*(a) Z - aj 7i| + o\ (3.30) i=l Note that every column master [RM'] must have nonnegative reduced in the current restricted cost since k\ and a' are the optimal dual values for [RM']. [LCSC] has negative reduced single machine that cost, minimizes we To verify if any other column of attempt to find a feasible assignment of products to a (3.30). We can formulate this minimization problem as the following product selection subproblem [PS'] using binary variables similar formulation [P], but for a single machine. selection {x^), permanent The variables of component loading (y.), to those in [PS'] correspond to product and temporary component loading (z-) decisions: N [PS(7iS] = L(7t') Z min iGl b, * { Z - Z::} ' jeJ(i) Z z (3.31) 7t| X: i=l subject to Maximum workload constraint: N ZPjXi < T, > Xj for all i = < B for all 1 = 1 for all i = 1,2, ...,N, all (3.32) i=l Component loading constraints: y- + Zjj 1,2, ...,N, all j € J(i), (3.33) Slot capacity constraints: 1 Z jeJJ y: •* ^ + Z z:: jeJ(i) ieJ(i) ,2, . . .,N, and (3.34) ^ Integrality constraints: xj. Yj, Zjj = or 1 -34- j g J(i). (3.35) We interpret k\ as the reward or profit for assembling product products to accept which "net profit", Having selected = (xj is 1 if we accept product i, and we must also decide which of that uses these minus the the required permanently; the remaining components are temporary, and each chosen product must decide which otherwise) in order to maximize the the total profit for all accepted products the products, We i. we total setup cost. components incur their setup costs for components. Since each column in the optimal basis of [RM^] has zero reduced cost, and for [PS(7t')], the optimal that PS subproblem value must be L(7i') less than or equal to with the next iteration of the master problem as long as we can proceed some negative reduced methods (the LP to find we (although lower bound for formulation select the products heuristically, heuristic patterns that If the we SO problem is initiate the we generate first is very time apply heuristic we compute If this the pattern's true setup cost effon is unsuccessful we must by (i.e., all solve [PS(n')] we can add next iteration. the corresponding Otherwise, column if L(7r') = - a\ to the restricted the current LP optimal for [LCSC], and the current optimal value of the restricted master a valid lower some we weak), generate have nonnegative reduced cost), bound on Z . Before describing our heuristic method discuss -a\ Note branch-and-bound procedures generates a pattern with negative reduced master problem, and is PS(;i') is problem optimally). cost (at an intermediate or final stage), solution X^ feasible one or more product assignment patterns with negative reduced cost solving the corresponding optimally. is cost column, not necessarily the optimal solution to [PS(Ji')]. Since solving [PS(7i')] optimally using a general-purpose branch-and-bound method consuming to load strategies that to solve the product selection subproblem, let us might improve the performance of the column generation procedure by reducing the number master of iterations needed to converge to the optimal solution. First, initiate the although generating just one negative reduced cost column next iteration of the master problem, Desrochers et generating multiple columns recommend at al. is sufficient to [1992] have noted that each iteration can accelerate convergence. Furthermore, they generating disjoint columns to improve the chances of obtaining an integer optimal solution to the restricted master problem. In our problem context, disjoint columns correspond to feasible single machine assignments of mutually exclusive product subsets. A second improvement strategy consists of adapting Magnanti and Wong's [1984] acceleration technique for Benders' decomposition to the column generation algorithm. When method the Benders' subproblem has alternate optima, the solutions to by optimizing a subsidiary selects pareto optimal objective. This pareto optimality principle also extends our column generation procedure; however, 35 it requires optimally solving the difficult product selection subproblem twice. Instead, we use insights from the principle to modify our heuristic procedure. In particular, Magnanti and Wong's pareto optimality among that optima for the product selection subproblem the alternate a pattern that assigns more products with the lowest setup cost, or (ii) to the machine, with ties [PS(7i')], result implies we prefer: (i) resolved in favor of the pattern a pattern that has the smallest possible setup cost, with preference for a pattern that assigns more products to the machine (see Vanderbeck [1993]). We incorporate these preferences in the heuristic column generator that we describe next. Product Selection (PS) Heuristic For any feasible board assignment pattern satisfying setup cost minus the total profit for all SO problem corresponding we its optimal To compute the reduced we must evaluate its its reduced cost. by solving the true optimal setup cost However, an approximate optimally. will refer to Adding o^ to the net setup cost of an assignment pattern gives cost of an assignment pattern, (3.32), the chosen products as the net setup cost. SO method (that provides an upper bound on the setup cost) might be adequate for evaluating alternative assignment patterns during the heuristic search process. bound on for a particular assignment pattern, the upper net setup cost obtained using the approximate true reduced cost for this pattern column If, to the restricted The PS (after evaluating its true minimize net setup sequential selection heuristic to first select cost. this heuristic solution or reduced The method has two components: a to further decrease the At any step method has chosen / which is Tij we 1/ is less maximum is negative, and repeat the procedure we until incremental For every remaining product than the current slack capacity, maximum reduced cost denote the subset of (/-I) products that the if we add we i whose evaluate the incremental net product i to I^. estimate the incremental setup cost by applying the product with the incremental net profit to I^ minus the incremental setup cost heuristic procedure, i* be the let in the previous (/-I) steps. processing requirement profit of the procedure, maximum The Sequential generate other negative reduced cost columns. Selection heuristic successively selects products that provide the benefit. cost). a subset of products that satisfies the workload constraint, and a neighbor scanning procedure of less than -a', then the is must be negative, and so we can add the corresponding master problem heuristic seeks to SO method in the initial SO heuristic. Let product i*'s (heuristic) incremental net profit. terminate the procedure; otherwise, As If we add product no remaining product has processing requirement i* less than or equal to the residual time on the machine. We attempt to satisfy the pareto optimality conditions by: it maximize the (i) selecting product i* even if number of products assigned with the lowest incremental setup cost has zero marginal benefit to the machine), when two benefit. 36 or and (ii) (in order to selecting the product more products have the same marginal When SO chosen products by solving the add the corresponding column we reduced apply problem optimally. to the restricted heuristic consists of applying a solution; If the reduced cost neighbor scanning procedure procedure even this evaluate the true setup cost of the is negative, to the sequential heuristic sequential heuristic solution has negative if the Starting with the sequential heuristic solution as the initial incumbent, the cost. neighbors of the incumbent. and 2-exchange operations We define the heuristic) the reduced cost for all the neighborhood of an incumbent via remove one or two that SO 1 -exchange currently chosen products and add upto 3 products. If the procedure finds any promising pattern with an estimated reduced cost that is negative or lower than the incumbent's reduced cost, pattern through a recursive call to it scans the neighborhood of this itself. Consider an incumbent pattern whose neighborhood we want to search. Let the set of products chosen in this pattern, and products. N'; we master problem. The second phase of the PS neighbor scanning procedure estimates (using the new we the sequential selection heuristic terminates, we Initially I' is let I" c N' the subset of products chosen delete products from the candidate neighbor scanning procedure in 1' denote be the current set of candidate by the sequential heuristic, and set I" at selected intermediate steps I" = of the order to generate disjoint columns. The neighbor scanning procedure jjerforms the following steps: Neighbor Scanning Procedure Stage 1: 1 -exchange: For each product lA: check the i € if the I', and every pair of products j,k e solutions I\{i}, I\{i}u{j), I\{i}u{k), and I\{i)u{j,k) satisfy maximum workload constraint (3.32); IB: evaluate the heuristic reduced cost of each IC: if a new pattern; its exact setup and reduced cost; the exact reduced cost negative, add the corresponding column to the master problem, and remove the products chosen by that pattern from the set of if candidate products call the is I". IE: if the exact reduced cost If new pattern has a negative or lower heuristic reduced cost than the incumbent, evaluate ID: I", is negative or lower than the incumbent's reduced cost, Neighbor Scanning Procedure with the new pattern none of the new patterns generated by than the incumbent pattern, go to Stage 1 as incumbent; -exchange have negative or lower reduced cost 2. Stage 2 2-exchange: : For every pair of products i, j € I', and every 37- triplet of available products u, v, w e I", 2A: check if the solutions \\{i,i), I\{i,j}u{u}, I\{i.j)u{v}, A{i.j)u{w}, I\{i.j}u{u,v}, I\{i.j}u{v,w), I\{i.j)u{u,w)and I\{i,j}u{u,v,w} satisfy the maximum workload constraint Apply Steps IB, IC, ID, and IE (3.32); to each new pattern. recursively searches the neighborhood whenever The neighbor scanning procedure it generates an improved product assignment pattern with lower or negative reduced cost (see Step IE) since this pattern is likely to have promising neighbors. Therefore, the procedure can potentially generate numerous negative reduced cost columns at each iteration, thus decreasing the number of master iterations, reducing the number of times the PS subproblem final iteration. maximum to solve optimally, and also providing a wider choice of promising columns we impose an upper In order to limit the search process, depth of search on the number of recursive at the limit called the calls. a particular master iteration, the PS heuristic fails to generate a negative reduced If, at cost column, values we need 7t' and we must o'. We solve the PS subproblem optimally for the current set of optimal dual use branch-and-bound to solve [PS(7t')] optimally; since the columns in the current optimal basis have zero reduced cost and are feasible for -a' bound as the a priori upper for the [PS(jt')], we specify LP-based branch-and-bound procedure. Our implementation uses a standard branch-and-bound code (CPLEX), and therefore does not incorporate the iterative upper and lower bounding methods (described in Section 3.2) for the setup optimization subproblems at each node of the branch-and-bound tree. permits us to assign branching priorities to different variables; assignment variables components, and If the PS x-, finally next on an auxiliary variable we list all selection heuristic or the optimal set y;. branch-and-bound algorithm produces a negative attempt to generate other disjoint negative reduced cost columns by deleting from the product reduced we branch first on the product number of permanent for the on the permanent component loading variables heuristic or the subsequent reduced cost column(s), W The code PS the products chosen previously by the sequential solution, and reapplying the PS heuristic with the of products. 3.5 Intermediate Lower Bounds on Z* LP relaxation [LCSC] of the capacitated set covering formulation lower bound Z^p on the optimal value Z of the original tactical planning problem. Optimally solving the gives the In the column generation scheme, the value Zlp of 38- the restricted master problem at an intermediate iteration only at the final t is Z not a valid lower bound on master iteration when ; we we have proved get the that LP lower bound Z^p no other single machine assignment pattern has negative reduced cost. As we explain implementation limits the number of nodes in the branch-and-bound in Section tree, our 4, and so might terminate without solving the PS subproblem, and hence [LCSC], optimally. However, as the following discussion shows, we can use the optimal values (or lower bounds on these values) of the product selection subproblem at intermediate iterations to develop lower bounds on Z . Consider the original formulation [P] dualize the product assignment constraints (1.2) using Lagrangian multipliers 1,2,...,N. machine machine Then, the problem decomposes into k, the that minimizes the net setup cost subject for all same product assignment is i.e., P^^ = P^, Tj, optimal for single-machine Lagrangian subproblem = all K is the workload balancing constraint to the T, and C|^ = C for all machine k. = same we (1.3), If all that the subproblem as the product selection if this k =1,2,. ..,K, then the Lagrangian subproblems. Observe of the column generation scheme. Therefore, the restricted master i subproblems, one for each machine. For constraints (1.4), and slot capacity constraints (1.5) for the machines are identical, [PS(7t)] K Tij Lagrangian subproblem seeks a subset of products to assemble on component loading we of the tactical planning problem, and suppose use the optimal dual values k\ of problem [RM'] as the Lagrangian multipliers, we get the following valid Lagrangian-based lower bound N Z = Zii Ji| + KL(7i^ (3.36) i=l on Z^p at every iteration frequency parameters In our bj we can round column generation scheme, we can compute (recall that heuristic cannot identify Assuming of the master problem. are integers, PS subproblem optimally PS t we solve the that all the production t bound on Z Z^jg up to get a valid lower this lower bound whenever we could generate a lower bound on the optimal value Lagrangian relaxation method for this for L(7t') in (3.36) to get a valid lower L(7C^) subproblem), then of the PS subproblem we can . solve the PS subproblem optimally only when any negative reduced cost column). Note, however, * the that if we (using, say, a substitute this lower bound bound on Z^g, and hence Z^p. We update the current best lower bound if the new integer lower bound is higher, i.e.. Best lower bound If this integer problem, then at iter, t = max Best lower bound { at iter, (t-1 ), TZlqI } . ( 3.37) lower bound exceeds the current optimal value of the restricted master we can terminate the column generation procedure since pursuing the optimal 39- solution of [LCSC] will not Z produce a tighter lower bound on Z^g, we can potentially eliminate several master Thus, by rounding up . iterations at the end. This strategy can provide considerable computational savings since the optimal value of the master problem tends to converge very slowly towards the end, and the final iterations are computationally intensive (since they frequently require solving the and-bound). Finally, although [RM'] at Z^g intermediate iterations t is less PS subproblem optimally using branch- than the optimal value Z^j> of the master problem of the column generation procedure, (assuming we pursue the column generation procedure restricted master -a^f. Note also iteration. 3.6 Summary Figure 1 optimal solution to the until the problem solves [LCSC]) the lower bound Z^^ equals Z^p since that each at the final iteration tf Z^p decreases monotonically, whereas Z^g can summarizes our solution procedure by generating an initial heuristic L(7t'0 = increase or decrease at for the tactical planning model. We begin solution using the greedy heuristic, with the setup optimization method as a subroutine. This solution provides the first K columns of the master problem for the column generation algorithm. Each iteration of the column generation method entails solving the product selection current master iteration. We first subproblem using the optimal dual values for the attempt to generate negative reduced cost columns heuristically using the sequendal selection and neighbor scanning procedures; this heuristic also uses the setup optimization If we method (approximate and optimal) as a subroutine. cannot find any single-machine product assignment with negative reduced apply branch-and-bound to solve the PS subproblem optimally. compute the Lagrangian-based lower current best lower column as in (3.37). to the restricted master problem, reapply the If the integral, bound bound (equation PS LP we obtain an intermediate feasible solution. round we add it also up, and update the a negative reduced cost the products chosen by this problem We at column and an intermediate iteration update the current incumbent is if this the then construct a final feasible solution by solving the restricted master to this integer program is optimal to [CSC] since the restricted master problem does not contain On we the current optimal value of the restricted master problem as an integer program. The solution columns. we The column generation procedure terminates when bound equals or exceeds We we remove solution to the restricted master solution has lower total setup cost. problem. Also, whenever In this case, cost, heuristic in order to generate disjoint columns. optimal best lower (3.36)), PS the other hand, since the final set of -40 not necessarily all of [CSC]'s columns includes the product assignments belonging to the and intermediate feasible solutions, the initial final solution must have equal or lower setup cost than the current incumbent. The setup optimization subroutine component loading plans cost. The lower bound as well as a is incorporates heuristic procedures to develop good method to compute a lower bound on based on an underestimate of the slots necessary to ensure feasibility of the the optimal setup minimum number slot capacity constraints. We of temporary also add a valid inequality limiting the that strengthens the relaxation of the maximum number of permanent components SO problem formulation. To solve the setup optimization problem optimally estimate the true reduced cost of candidate columns), (e.g., to bound (unless the lower bound equals we LP use branch-and- the setup cost of the heuristic solution); the heuristic upper and lower bounds serve to limit the enumeration process. Finally, note that all nonhomogenous machines with of columns in iteration we have described extend specifying that we must 4. to different processing speeds, processing limits, and slot are not identical, each machine has solve K we now have K its own set we can separate select at constraints (3.3) (with corresponding dual most one pattern for each machine. PS subproblems, and At every the procedure terminates only none of the machines has an assignment pattern with negative reduced bound exceeds easily formulation [CSC] and in the restricted master [RM']; instead of a single pattern selection constraint (3.7), Oj^) that For instance, when the machines capacities. values methods the cost, or the best when lower the optimal value of the restricted master problem. Computational Experiments In implementing solution methods such as column generation, we are faced with a variety of tradeoffs and algorithmic options that can impact the performance of the algorithm. These tradeoffs raise issues such as the following: What is the impact of initializing the procedure with columns corresponding to a good heuristic solution versus, say, randomly generated columns? Should we invest more reduced cost columns or is it better to solve the effort in heuristically generating negative subproblem optimally at each iteration? To address some of these issues and verify the column generation method's viability and effectiveness for the electronics assembly tactical planning context, method and performed several computational experiments. column generation applications discussed tactical in the literature that We note that unlike the many have easy subproblems, for the planning model even the core setup optimization subproblem -41 we implemented is NP-hard. We implemented the heuristics and column generation procedure using programming language on the CPLEX a hnear optimizer (CPLEX problem the restricted master SPARC Sun optimization problems whenever calls subroutines Optimization Inc. [1991]) to solve the each at The program workstation. iteration, we need the LP C from relaxation of and the product selection and setup to solve these subproblems optimally. To solve these latter integer programs, our implementation only provides an initial upper bound, and branching priorities for different variables; we rely on CPLEX's general purpose sets the LP-based procedure 4.1 lower bounds during the branch-and-bound process. to generate Test Problems The tactical planning model requires the following input data (assuming identical machines): N: number of products; M: number of component total N products; types required to assemble the K: number of available machines; capacity of each machine; C: slot T: processing limit of each machine; bj: expected number of batches per demand period for product Pji total processing (placement) time to assemble all set of component types required for product i. J(i): Table 1 shows the problem size i; required units of product and other parameters for 20 specifies the number of products and component distinguish between multiple instances of the other problem parameters). The components first same problem we 1 8 to 60. The problem use the trailing letter to size (these instances differ in detailed data for the problems with 9 products, 10 products, and 20 products, 20 components are given generated the types; and, problems. The number test of products varies from 9 to 20, and the number of components from name i; in Vanderbeck [1993]. Of the 20 problems, we 5 problems manually in order to study the impact of different structures. In bill of problems P10/18A and P10/18B, the 10 products form 3 groups with modest overlap in the component requirements for each group; in contrast, problems P09/18A and P09/18B have 3 groups of products with problem P09/18C has a block diagonal To bill no component overlap. Finally, of components matrix. generate larger problems (with 15 and 20 products), we used a random problem generator that constructs a detailed problem instance based upon user-specified values for the desired problem size, a seed for the random number parameters that determine the structure of the 42 bill generator, and certain control of components. The problem size parameters are N, M, K, and C. To influence the degree of minimum and maximum number product i, the the interval problem generator the of component types required for each product. For every randomly first number of components mj from selects the [Mmin'^maxl' ^^^ ^^^^ chooses m^ component indices randomly (without replacement) from the set the slot capacity C { 1,2,. ..,M}; these component types define must be greater than or equal to Mj^^^ product can be assembled in a single pass on a machine. the total component commonality among two parameters-Mj^jj^ and M^^^-that define different products, the user specifies number of component commonality; in By in order to Note J(i). M, we can generate problem M^j^ = M^j^^^ = M < C, then that ensure that every M^in and M^^^ setting close to instances that have high types particular, if the set all components can be permanendy loaded on each machine, and the optimal value Z is zero. At the other extreme, if Mj^jjj and M^^^ are very small relative to M, then the products are likely to have low component commonality. problem Specifying small M^j^^ and large M^^^^ will likely increase difficulty since the bill of commonality components bj do not have any from uniform selects the processing times Pj ~ Unif distributions: Pj and (5,20), b, in sequence to the first where that each a (> 1) that is at [1969]). For our test problems, is balancing constraints. most we minimum makespan. at least For most of our - 1/3K) times (4/3 and assigns the minimum T equal to a This method of choosing T ensures set the a user-specified tolerance factor. problem instance has then available machine. This heuristic produces a product-to- machine assignment with a makespan Tj^pj makespan (Graham We (l,Pj). heuristic (Baker [1974]) sorts the products in decreasing order of Pj, each product T^jyj-, and the number of - Unif apply the LP*T (longest processing time) heuristic to approximate the The LPT special structure. The problem generator randomly batches for different products processing limit one feasible solution satisfying the workload test runs, experimented with problem instances having "tight" a = we also (a = 1.05) and "loose" (a = 1.5) we set 1.2, although processing limits. The random problems P20/20A to P20/20E enable us to assess the sensitivity of the algorithm's performance to slot capacity, and the level of variation in the component types per board. variants. Problems 15/20 to We number of also use these 5 problems to test several algorithmic P20/60 enable us performance. 43- to evaluate the impact of problem size on 4.2 Variants of the Solution Procedure Using a relatively flexible implementation, planning algorithm described in Section tactical one negative reduced cost column at columns with positive reduced cost at we were able to test several variants of the These variants include 3. each master each master iteration, iteration, (ii) (iii) (i) discarding generating only all the current varying the tolerance factor a, (iv) changing the depth of search and the criterion for recursive calls in the neighbor scanning procedure of the PS heuristic, and (v) reapplying the column generation procedure using the columns of the best feasible solution (obtained after applying a standard version of the algorithm) as the initial set of columns. Recall that the PS we heuristic, as described it in Section 3, first applies the sequential search heuristic, and then invokes the neighbor scanning procedure. The neighbor scanning procedure recursively explores the neighborhood of each generated pattern that has negative reduced cost or a lower reduced cost than we call the heuristic. Our initial Our standard version performs neighbor scanning maximum procedure predecessor. implementation, which basic version, does not incorporate the neighbor scanning procedure recursive calls to at most 2. for the its we We PS number of also performed computational tests using different values depth of search, and tested a variant of the neighbor scanning reduced cost updating version. call the but limits the in the If the current incumbent has nonnegative reduced cost, the reduced cost updating version explores the incumbent's neighborhood only reduced cost if its than the reduced cost of its is lower than the current lowest reduced cost (rather predecessor, as in the standard version; however, both versions explore the neighborhood of every incumbent with negative reduced cost). Therefore, the reduced cost updating version explores much fewer neighbors than the standard version. Our standard version each master iteration, variants of this generates and retains (if all possible) multiple negative reduced cost the columns in the restricted master. We columns tested at two column generation strategy-a single column version, which generates only one column per master iteration, and a condensed master version, which the master problem by discarding all the columns with positive reduced limits the size of cost, i.e., we only include in the restricted master formulation those columns belonging to the current optimal basis plus prior and new columns that price out negatively using the current dual values. Section 4.3.2 presents the comparative results for all these algorithmic variants, as well as other sensitivity analyses. We now discuss If the PS some features of our implementation that heuristic fails to is common produce any negative reduced cost column, 44 to all the variants. we solve the PS subproblem exactly using CPLEX's computational tests, specified a limit of 10,000 nodes for the branch-and-bound tree. column generation also terminate improvement we 2N optimally solving the PS subproblem (i) the branch and fmding a negative reduced cost column, the node limit the PS subproblem optimally and is solution to the we we (ii) and continue the solution procedure can, therefore, its node limit without generate a negative reduced cost column, but problem (iii) In case cost. new column (i), the is not a valid lower bound on new the Case we solve column generation for the restricted master. generation terminates due to stagnation, the optimal we add iterations. (iii) find a negative reduced cost column, or (iv) the optimal did not generate a when column and does not produce any if it bound procedure reaches lower bound obtained during previous iterations (ii) The PS times. PS subproblem has zero reduced the current master In cases i.e., reached before finding and/or verifying the optimal solution, procedure stops since case and also "stagnates", if it We master value for 500 consecutive master iterations or after in the restricted have four outcomes: For our branch-and-bound procedure. built-in (iv) Z LP In this value of and so we must rely on the best to assess the quality of the heurisic solution. negative reduced cost column to the restricted master, proves the optimality of the current master solution for [LCSC], and so column generation terminates. To generate the final feasible solution Phase (in annealing algorithm to select a good subset of the restricted master problem K 3), we initially implemented a simulation assignments from the at the final iteration. set However, we found solving the integer version of the restricted master using branch-and-bound since the LP all columns to all the test problems. at each master We iteration). We, in that optimally is relatively easy relaxation provides tight bounds and almost integral solutions (because generate several disjoint columns method of we therefore, applied this expect the quality of the final feasible solution to improve as the number of columns available at the final iteration increases. 4.3 Computational Results We first present the computational results using the standard version of the column generation procedure for our 20 some variants. We test problems before discussing the relative performance of are interested in assessing both the algorithm's effectiveness in generating near-optimal solutions, and the computational effort effectiveness in terms of the % gap, which we it requires. We measure define as the difference between the best upper and lower bounds, expressed as a proportion of the best lower bound. The % gap consists of three components: (i) the gap between the optimal value of [LCSC] and the best lower bound (computed using (3.36) and (3.37)), which we call the -45- dual optimality gap. This gap is positive when the column generation procedure terminates prematurely due bound node limit or stagnation of the restricted master value. to the branch-andIf the procedure terminates because the best lower bound exceeds the current value of the restricted master problem, then the dual optimality gap (ii) the gap between the optimal value [LCSC], which we (iii) the gap call the duality Z is negative; and the optimal value Z^p of the LP relaxation gap; and between Z* and the setup cost of the fmal feasible solution, which we call the primal optimality gap. Thus, small overall gaps indicate that both the upper and lower bounding methods are effective. To determine improve upon the if the column generation-based initial heuristic solution, we examine the feasible solutions significantly improvement in setup cost (i.e., the difference in the setup costs of the initial and best fmal solutions) as a % of the initial solution's setup cost. To measure computational effort and identify bottlenecks, and Orlin's [1993] suggestion to use computation counts major segments of the algorithm rather than actual it CPU we (e.g., follow Ahuja, Magnanti, number of iterations) for time which can be misleading since depends on the programming language, quality of implementation, computer system used, and other characteristics of the computing environment. For each test problem we examine the following statistics (see Table 2): (i) number of columns generated (ii) (iii) (iii) (iv) number of times we solved the PS subproblem exactiy using branch- and- bound, SO subproblem exactly using branch-and-bound, percentage of instances when the SO heuristic produced the optimal slot allocation number of times we solved (i.e., number of nodes restricted master 4.3.1 probem, number of iterations of the master problem, proved optimality (v) for the master when in the problem the heuristic cost was equal branch-and-bound to the and lower bound), and tree to solve the integer version of the at the final step. Results for standard version Table 2 shows the results for the 20 algorithm. The able to solve the first test problems using the standard version of our column (labeled "[LCSC] Solved?") shows whether LP relaxation [LCSC] the procedure was optimally. For 4 out of the 20 problems the algorithm terminated prematurely because the branchand-bound procedure for the PS subproblem reached reduced cost column or verifying optimality. The problems. Recall that, when the its node limit before finding a negative % gap is less than 4% for 3 out of these 4 column generation procedure terminates prematurely, we 46- % gap relative to the best lower bound that is computed at intermediate iterations measure the of the column generation procedure (whenever the PS subproblem is solved optimally). Therefore, the actual gap between the optimal value of [LCSC] and the final feasible solution is likely to much We be lower. suspect that, for Problem P20/40A, the final feasible solution closer to optimality than the The 20% gap solved 10 out of the 20 suggests. column generation approach results in Table 2 suggest that the relaxation of [CSC] is tight, to-machine assignments. The capacity, the range of one test and the procedure % is very effective. It This result indicates that the able to generate near-optimal product- gap does not show any systematic variation with the number of component types per board, or problem For size. slot all but problem, the best column generation-based feasible solution, obtained as a byproduct of solving the restricted master problem, has lower the initial heuristic solution obtained using the On is problems optimally, and excluding Problem P20/40A the average test % gap for the remaining problems (with positive gap) is 4.6 %. L? is average, the final solution had 22 we can develop (admittedly, assignment heuristics that we % As we The LP at note later solution initial heuristic ad hoc heuristics that improve upon the applied). when we repon product initial the results for each iteration produces better intermediate solution to the restricted master problem in the final iteration integral (in 12 out of the to processing and smallest ratio heuristics. lower cost than the algorithmic variants, generating more columns solutions. list compared total setup cost 20 problem instances); if not, is often the branch-and-bound procedure solves the integer program within less than 100 nodes. For all the test problems we observed that solving the PS subproblem exactly is main the computational bottieneck, requiring one or two orders of magnitude more time than the other components of times; we did the algorithm (this assessment is not record the actual computation times). In contrast, the to be easy to solve. Although Table 2 shows and-bound increases as the problem bound (based on enough size increases, the underestimate of the 85% branch-and-bound appears problems requiring branchthat the SO heuristic of the instances; however, the lower tree for the number of products compared initial iterations SO SO problem minimum number of temporary components) of the cases. These observations suggest that the sensitive to the of we observed to prove optimality of the heuristic solution. to verify optimality, the during the % that the actually generates the optimal solution in over tight based on a rough sampling of the elapsed total to the When we SO problem computation is not apply branch-and-bound has nodes in over effort will likely be number of component types. 90% more Finally, of the master problem the PS heuristic readily find numerous negative reduced cost columns. Indeed, a vast majority of the columns are quickly generated in these initial iterations. Although the algorithm finds good assignment patterns early 47 in the iterative column generation process, proving very time consuming especially since the the near-optimality of the feasible solution later iterations require solving the is PS subproblem optimally using branch-and-bound. 4.3.2 Results for algorithmic variants Table 3 contains the computational results using several variants for selected problems. For each in terms of % gap; if test problem, indicate with a "**" the method that we two methods produce the same is test most effective % gap, we prefer the method that entails fewer applications of the branch-and-bound procedure to solve the PS subproblems optimally. The basic which does not incorporate the neighbor scanning procedure version, branch-and-bound more often heuristic, applies fewer columns at to solve the in its PS PS subproblems, generates each iteration thus requiring more master iterations to converge, and often produces inferior Similarly, the single final feasible solutions. effective as the standard version. Our third variant, the column version is not as condensed master version, has the advantage of reducing the time to solve the restricted master problem, but greatly increases the number of master iterations. Interestingly, although the procedure often terminates prematurely (because the restricted master value stagnates), thus producing better final solutions (we include all the it generates many more columns, columns before solving the integer version of the restricted master problem at the final step). The fourth and fifth versions reported in Table 3 represent problem instances with tight and loose processing basic version. limits (with tolerance factor problems, but increase the gap for others. maximum which we apply the opposing effects reduce the set, but also % gap for some We also experimented with different settings for maximum depth of 3, and maximum depth of With a maximum depth of 3, we also considered depth of search-unrestricted^, 2-in the neighbor scanning procedure. results with 1.05 and 1.5) to Tightening the processing limit reduces the feasible solution limits the flexibility in optimizing setups; these the a= and without the "reduced cost updating" option (i.e., the criterion for initiating a recursive call to the neighborhood search subroutine, see Section 4.2). The unrestricted depth and depth 3 versions generate more columns than the standard depth 2 version, and require solving considerably superior solutions (i.e., the % more setup optimization subproblems, but do not produce gap is often equal or lower for the depth 2 version). Finally, impact of selecting good to study the initial columns exchange reduced cost is we we do not impose an explicit limit on the number of recursive However, because we only search the neighborhood if the incumbent's negative or improves upon its predecessor's, the actual depth of search is naturally limited. In the "unrestricted" depth of search option, calls to the for the restricted master problem, heuristic. -48- compared the results using our standard version (which uses the assignments produced by the better of our two initial greedy heuristics as the initial set of columns) with those of a second application of the solution procedure when we use the best feasible solution from the standard version to initialize the restricted master. This strategy does not produce lower % gaps than the other methods, and can sometimes require considerably more computational effort. Improvements 4.4 Potential Algorithmic Our computational experience suggests improve the capabilities and that efforts to performance of the algorithm should mainly focus on solving the single machine product selection problem more of formulation [PS(7i)] and attempt effectively. In particular, because the linear is weak, relatively to strengthen the we must programming relaxation incorporate special bounding procedures problem formulation by adding valid inequalities that eliminate fractional solutions. As we noted previously, our implementation relies on bound procedure to solve the PS subproblem special structure of this subproblem. CPLEX's optimally, and therefore does not exploit the problem- specific bounding procedures has the potential to substantially improve performance. Let us some branch-and-bound tree, let Ij, Iq, akeady chosen, eliminated, and (i) Using the method described the maximum possible introduce If all free, i.e., Xj = 1 for all in Section 3.2.4, products in we can add at each node some notation At any node of the denote, respectively, the subsets of products that are number of permanent capacity constraints for decrease this value, first inequalities that strengthen the formulation. and branch-and- Implementing a custom branch-and-bound procedure to incorporate valid inequalities and/or before describing built-in Ij. we i € Ij, and Xj = for all i € Iq. can compute an upper bound R(I() on slots in order to ensure feasibility of the slot Since selecting more products from the valid inequality that the can only number of permanent We chosen in the current partition must not exceed R(Ij). If have observed slots that this inequality markedly improves the performance of the setup optimization branch-and- bound procedure; we expect to be equally effective for the it PS subproblem when If contains relatively few products. (ii) Pochet and Wolsey [1992] suggested the following class of valid inequalities strengthen formulation [PS(7t)]. Consider two products require more components than the slot capacity, -49 i.e., IJ(i) i and u i' J(i')l u 6 Ij > C. If If that we to together select both products and i minimum number then a certain i', of components must be designated as temporary. The following constraint encodes this condition: I j€j(i)nj(i') y^^ J When added Z z..^ jeJ(i) 'J ^'-^ I z,>min{lJ(i)nJ(i-)l. 'J j€j(r) to the original problem formulation 3. We product pairs can include these constraints a priori i, i' with IJ(i) u J(i')l machine) described in in formulation [PS(7i)] for all the formulation size grows by 0(N ) custom branch-and-cut procedure, we can generate Instead, with a constraints. > B; however, (4.1) [P], these constraints eliminate the fractional solution (assigning 1/K th of each product to every Section 1' }(x,.x,). '^^^^'^'f 2 (perhaps, using a heursitic separation routine) and add selected constraints in this class that are violated by the LP solution at each node. inequalities for product triples (instead of pairs), The knapsack (iii) I J. Suppose r is can possibly extend these and so on. workload balancing constraint (3.32) motivates a structure of the class of inequalities. Let We TPj denote the total processing time for third products in the set all a subset of free products such that Z T-TPj < Pj but T-TPj-Pj.. > (4.2) iel' for some i" € Ij\I'. Then, we can impose a valid inequality that limits the number of products selected from the set Z I' u {i") to at < Xj most II'I, i.e., in. (4.3) ie I'ui" Again, a tailored branch-and-cut procedure can dynamically add these inequalities as needed. The previous three classes of inequalities exploit the special structure of the constraints in the product selection subproblem. We can also use objective function information to perform problem preprocessing and develop valid inequalities. Consider, for instance, the following method to limit the number of temporary components associated with a product. For a given set of dual values Jij, let 6j = LTti/bjJ for each product i € If where LgJ is the largest integer less than or equal to g. Clearly, if an optimal solution in the current branch- and-bound partition selects product temporary; otherwise, therefore, we i, then no more than Q^ of its components must be can decrease the net setup cost by setting add the following valid constraint to the -50 problem formulation Xj = 0. We can, at the current node: Z Furthermore, suppose < z:: jeJ(i) Q- we have two products and i IJ(i) u - J(i')l we both products, i.e., select both products we can add we can all ie (4.4) L. i' 6 > Gj.) with I^ C; (4.5) minimum number and of permanent slots needed to Therefore, an optimal solution cannot select i'. the constraint: + Xj Again, i + (6, the left-hand side of (4.5) represents the satisfy (4.4) if for ^ < Xj. (4.6) 1. extend inequality (4.6) to more than two products. In addition to strengthening the formulation for the product selection problem, other improvement options to consider include heuristically generating a wide variety of "promising" columns before initiating the column generation procedure (our implementation uses only the K columns generated by the initial heuristic solution), lower bounding procedure for the PS subproblem so that Z^p even if we do not solve the we PS subproblem optimally generate a lower bound for the PS subproblem, Lagrangian relaxation procedure that dualizes the and implementing a generate valid lower bounds on (see Section 3.5). For instance, to we might consider implementing a component loading constraints, and applies subgradient algorithm to approximately solve the Lagrangian dual. Finally, our primary goal has been to generate and verify the near-optimality of our planning problem optimally, good product-to-machine assignments, feasible solution via lower bounds. we might To solve the tactical LP consider using our algorithm to solve the relaxation and generate upper bounds at each node of an overall branch-and-bound We procedure. can use the following branching strategy whenever the procedure cannot fathom a node. Consider two columns with fractional pattern selection values optimal the We LP solution at this node) that have at least one product in common product, and suppose product 2 belongs to the first X. (in the common. Let product column but not 1 be the second. then create two successor nodes in the branch-and-bound tree, one requiring that products 1 and 2 must both be assigned be assigned to different machines. Using and e\c\usi\tassignment constraints this node. We can to the same machine, and this strategy, at the other requiring each node that reflect the previous we have to a set of joint branching decisions leading to apply the column generation procedure to solve the -51 them LP relaxation of the "constrained" CSC model corresponding to this node and generate feasible solutions. The previously generated columns that satisfy the assignment constraints can serve as the set of columns master problem, and in the restricted constraints to the PS subproblem; we can we add initial the node's assignment modify our PS solution procedure easily to account for these constraints. 5. Concluding Remarks Electronics assembly poses Much many of the management science important but challenging optimization problems. literature dealing with electronics assembly has focussed on operational problems of single-product cycle time optimization and single-machine setup The minimization. as electronics flexibility, tactical companies planning issues raised in strive this paper become increasingly important towards agile manufacturing- emphasizing quick response, high quality, and cost effective assembly of many different products in small lot sizes-in order to maintain their competitive position and cope with the rapid changes in the product and process technologies. We have presented a model that incorporates both workload balancing and setup optimization methods that focus issues. on component commonality, our model demands, production frequencies and machine considered families. is Unlike traditional group technology practical, and enables us Managers might capacities. The partial setup policy that we to capture the setup interactions across product find our tactical planning model inherently useful as a framework to address product grouping issues in electronics assembly. capable of incorporating explicitly considers product many compHcating The model is quite versatile, feanjres of practical problems. We developed a composite solution procedure that integrates several successful discrete optimization techniques-column generation, lower bounding procedures, and adding valid inequalities-to exploit the special structure of the problem. We showed that even the setup optimization subproblem, which assumes a predetermined assignment of products to a single machine, is NP-hard. We, therefore, focussed on developing a combination of heuristics, lower bounding methods, and enumeration to solve the product selection and setup optimization subproblems. These techniques have direct application to short-term production planning. Although we described the solution method for a simplified problem context (e.g., identical machines, with no prespecified assignments), more complex settings such as non-identical series in each module. generation method is Our we can readily modify it for machines with multiple placement machines limited computational experiments effective in generating show that the column good upper and lower bounds, but has identified several opportunities for improvement. -52- in also Test results for several algorithmic variants reinforce previous experience regarding effective as generating more than one negative reduced computational botdeneck has a weak linear is cost column generation column per strategies such iteration. The main solving the single machine, product selection subproblem which programmig relaxation. Promising directions to pursue include exploring some of the algorithmic improvement opportunities described in Section 4, and studying the polyhedral structure of the problem. Acknowledgments: We thank Professors Thomas Magnanu, Yves Pochet, and Laurence Wolsey for illuminating discussions on solving the tactical planning problem. -53- Appendix A Method to Compute a Lower Bound Infeasibility for the Setup Optimization Problem The method starts with a trial value of for the lower bound Q on the minimum number of temporary slots Q^jj, needed to satisfy the slot capacity constraints, and performs the following steps. Step Initialization 1: Y = number of permanent slots currently r = current set of candidate products <— J' = current Step 2a: If I' Else, let i* e Step 2c: I' empty, current value of is be the product with the Q is acceptable; i.e., i* = argmax{IJ(i) J'l: to Step 5. I'} i J'l J'l Y > 0, go to Step 2a; If Y < 0, then current value of Q go maximum number of remaining n € < Q, current value of Q is acceptable; go to If IJ(i*) n Else, update y 4- y- (IJ(i*) n -Q), <- Ni*}, and components, Step 2b: J slot reservation test n J(I') or J C -Q I of remaining components <— set Permanent Step 2: available <— J' I' Step ^ 5. J'\J(i*): If Else (Y if = r or else, J go go to Step 5; go to Step 5. to Step 3. component identification test <— slots C-Q current set of permanent components <— Step 3b: If I' or J n J(r) is empty, current value of Q is acceptable; Else, let i* e components, n I' be the product with the i* i.e., = argmax{IJ(i) n maximum number of remaining J'l: i e I'}; < Q, current value of Else, if IJ(i*) n Jl = Q, then every component permanently, i.e., 3d: If IJ(i*) IJ"! > R, update J" <- J" then current value of update !'<- I\{i*). Q is acceptable; J'l Step 3c: If Step to Step 4. n J(r) is empty, current value of Q is acceptable; R = candidate number of permanent = go infeasible; 0), Step 3: Permanent Step 3a: Initialize J" is go to Step 5; in J(i*)rJ\J' must be loaded u J(i*)nJ\J'. Q is infeasible; go to Step 4. Else go to Step 3b. Step 4: Infeasibility Current trial value of Q is infeasible. Step 5: Termination Current trial value of Q is acceptable. Stop. Increment Q by 1, and go to Step 1. Figure 1: Flowchart of Column Generation Algorithm Initial • • Heuristic Solution: List Processing heuristic Smallest setup- to-processing ratio heuristic choose best solution ^T / / selected products Setup Optimization Subroutine • • • • . y assignment patterns Column Generation: / Apply Greedy Heiunstic Compute max perm slots setup cost lower bound F • & • • Initialization master with K colimins lower bound = best feas soln = initial heur solution initialize restricted initial heur. cost=lower bound, opt soln found Else, to solve optimally, -add max perm, comp constraint If -flpply hranch-antl-hfiund I'ennAemp. . slot allocation \ Column Generation!: Iterative procedure (^LP relaxation of LP relaxation of CSC LP value lower bound = fopt <; solved optimally } of master prob Rnal Feasible solution ' solve final restricted Master as integer program using branch-and-bound update best feasible solution CSC not solvedj Table Problem Name 1: Test Problem parameters c o c CO a> c 0) O c E 3 O o o « 0) > (0 T3 C a CO c w 3 0> ^^ 3 (0 0) oc a c o 3 a E o u 2 *- References J., S. Grotzinger, and D. Johnson. 1988. Component Allocation and Partitioning Dual Delivery Placement Machine. Oper. Res., 36, 176-191. Ahmadi, for a H., and P. Kouvelis. 1992. An Analytical Framework for the Design of Electronic Assembly Lines: Comparison of Different Design Approaches. ORSA/TIMS Joint National Meeting, San Francisco, November. Ahmadi, R. Ahmadi, R. H., and H. Matsuo. 1992. A Mini-Line Approach Paper, Anderson Graduate School of Management, UCLA. Ahuja, R. K., T. L. Magnanti, and and Applications. Prentice Hall, J. for Pull Production. Working B. Orlin. 1993. Network Flows: Theory, Algorithms, Englewood Cliffs, New Jersey. Baker, K. R. 1974. Introduction to Sequencing and Scheduling. John Wiley and Sons, York. M. O., and M. J. Magazine. 1988. Sequencing of Insertions Assemblies. Oper. Res., 36, 192-201. Ball , Bard, J. R. F., Component W. in Printed Circuit New Board Clayton, and T. A. Feo. 1989. Optimizing Machine Setup and Board Assembly. Working Paper, University of Insertion in Printed Circuit Texas, Austin. Bamhart, C, E. Johnson, R. Anbil, and L. Hatay. 1992. Solution Techniques for LongHaul Crew Assignment Problem. Working Paper, Cuomputational Optimization Center, Georgia Instimte of Technology, Atlanta, Georgia. P., A. C. Hax, and T. L. Magnanti. 1977. Applied Mathematical Programming, Addison -Wesley, Reading, Massachusetts. Bradley, S. Carmon, T. F., O. Z. Maimon, and E. M. Dar-El. 1989. Group Set-Up Board Assembly. Intl. J. Prod. Res., 27, 1795-1810. CPLEX for Printed Circuit Optimization, Inc. 1991. Using the CPLEX Linear Optimizer, version Optimization, Inc., Incline Village, Nevada. 1.2. CPLEX O. Maimon, and A. Shtub. 1991. A Branch and Bound Algorithm for in Printed Circuit Board Production. Working Paper. Depanment of Civil Engineering, Northwestern University, Evanston, Illinois. Daskin, M. S., Grouping Components Desrochers, M., J. Desrosiers, and M. Solomon. 1992. A New Optimization Algorithm for the Vehicle Routing Problem with Time Windows. Operations Research, 40, 342-354. DeWitte, J. 1980. The Use of Similarity Coefficients Prod. Res., 18, 505-514. in Production Flow Analysis. Int. J. Drezner, Z., and S. Nof. 1984. On Optimizing Bin Packing and Insenion Plans for Assembly Robots. HE Trans., 16, 262-270. -Rl W. Hamacher, C-Y. Lee, and S. Yeralan. 1989. On Automating Robotic Workplace Planning. Research Repon, Industrial and Systems Engineering Assembly Francis, R. L., H. Department, University of Florida, Gainesville. J. B. G., and A. H. G. Rinnooy Kan. 1984. The Asymptotic Optimality of the Rule. Report 8418/0, Econometric Institute, Erasmus University, Rotterdam. Frenk, LP Gavish, B., and A. Seidmann. 1987. Printed Circuit Boards Assembly AutomationFormulations and Algorithms. Proc. ICPR, Cincinatti, Ohio. Graham, R. L. 1969. Bounds on Multiprocessing Timing Anomalies. SIAM Journal of Applied Math., 17, 263-269. J. R. 1980. Machine-component Grouping in Production Flow Analysis: Approach using a Rank Order Clustering Algorithm. Int. J. Prod. Res., 18, 213-232. King, King, J. R., and V. Nakomchai. 1982. Machine-component Group Formation Technology: Review and Extension. Int. J. Prod. Res., 20, 1 17-133. Lasdon, L. S. Optimization Theory for Large Systems. Macmillan, in An Group New York Lawler, E. L., J. K. Lenstra, and A. H. G. Rinnooy Kan. 1982. Recent Developments in Deterministic Sequencing and Scheduling: A Survey. In Deterministic and Stochastic Scheduling, M. A. H. Dempster, J. K. Lenstra, and A. H. G. Rinnooy Kan (eds.), Reidel, Dodrecht. Lofgren, C. B., and L. F. McGinnis. 1986. Optimizing Electronics Assembly System. Proc. HE Elec. Assembly Conf.. Magnanti, T. L., J. F. Shapiro, and M. H. Wagner. 1976. Generalized Linear Programming Solves the Dual. Management Science, 11, 1 195-1203. Magnanti, T. L., and R. T. Wong. 1981. Accelerating Benders Decomposition: Algorithmic Enhancement and Model Selection Criteria. Operations Research, 11, 464-482. Nemhauser, G. L., and L. A. Wolsey. 1988. Integer and Combinatorial Optimization. John Wiley and Sons, New York. Pochet, Y., and L. A. Wolsey. 1992. Personal communication. Prasad, R. P. 1989. Surface Reinhold, New York Mount Technology: Principles and Practice. Van Nostrand Rajagopalan, R., and J. L. Batra. 1982. Design of Cellular Production Systems: theoretic Approach. Int. Journal of Prod. Res., 13, 567-579. Skinner, W. 1974. The Focused Factory. Harvard Business Review, 1 A Graph- 13-122. Vance, P. H., C. Bamhart, E. L. Johnson, and G. L. Nemhauser. 1992. Solving Binary Cutting Stock Problems by Column Generation and Branch-and-Bound. Working paper, Computational Optimization Center, Georgia Institute of Technology, Atlanta, Georgia. R2- A Decomposition Approach for Parallel Machine Assignment and Setup in Electronics Assembly. Master's thesis. Operations Research Center, Massachusetts Institute of Technology, Cambridge. Vanderbeck, F. Minimization R3- ^ ilHiii Date Due Lib-26-67