international journal of
production economics
ELSEVIER
Int. J. Production Economics
Component
kitting in semi-automated assembly M. Gronaltb,
H.O. Giinther”,“, a Department
43 (1996) 213-226
of Industrial Management,
Received
F. Pillerb
ofBerlin, Wilmersdorfer Germany b University of Vienna, Austria
Technical University
20 February
printed circuit board
1995; accepted
for publication
Str. 148, Sekr. WIL-B-l-1,
in revised form 19 January
D-10585 Berlin,
1996
Abstract The component kitting problem in semi-automated printed circuit board (PCB) assembly concerns the allocation of components among various identical assembly stations while taking production time and component magazine capacity constraints into account. Before a component kit can be generated, jobs must be arranged in groups for processing at the same assembly station. Changeover from one kit to another requires considerable setup time. Therefore, the main objective is to minimize total operator time. This problem, although prevalent in industry, has not been researched extensively. In this paper, we describe the component kitting problem faced by an electronics manufacturer. A heuristic solution procedure is developed, which is computationally very efficient even for large-scale problems encountered in industry. Computational experience demonstrates that the heuristic tends to produce solutions which are close to the optimum. Keywords:
Printed circuit board assembly; Component
1. Introduction In electronics manufacturing, printed circuit boards (PCBs) are used as the most convenient device for interconnecting and mounting electronic components. Assembly techniques have been changing dramatically over recent years [ 1,2]. Initially, manual assembly of component leads inserted through-the-hole was the common technique. Subsequently, it became widespread practice to em-
* Corresponding
author.
0925-5273/96/$15.00 Copyright SSDI 0925-5273(96)00044&8
c
kitting; Batching of orders; Heuristics; Bin packing
ploy semi-automated processes using machines which can internally store a limited number of component bins. The next step was the introduction of universal NC-insertion machines, permitting the computer-driven retrieval of components from a magazine as well as their insertion at prespecified positions on the board. At the same time, there has been an evolution from components using leads for contacting to the PCB to surface-mounted devices (SMDs) which are attached directly onto the PCB. Because SMDs are much smaller in size and more difficult to handle, they usually require fully automated and computer-controlled assembly techniques.
1996 Elsevier Science B.V. All rights reserved
214
H.O. Giinther et ul.lInt.
J. Production
Due to the large number of components that have to be placed on a single board, automation is presently viewed as an economic necessity. However, we found that there is often a mix of latest surface mount technology and conventional assembly methods. In our opinion, this is due to the following reasons: (a) Many boards require various odd-shaped components and special devices, such as transformers, connectors, sockets etc. which are unsuitable for automated assembly. (b) Usually, the number of components to be mounted onto the various boards is much higher than the magazine capacity of an automated assembly machine. Therefore, a board can first pass through an automated assembly process, during which the majority of components is mounted, and afterwards additional components are assembled in a semi-automated process. The goal is to assign components with low usage rate to the semi-automated process in order to save setup time on highspeed automated placement machines. (c) Semi-automated assembly processes provide a very flexible capacity, since they consist of a certain number of separate assembly stations which can be run independently according to specific demand situations. Furthermore, semi-automated assembly equipment often provides stand-by capacity which may be used during peak periods and in the case of breakdowns of automated machines. (d) In many small and medium-sized companies investment in assembly automation is directed towards the most recent surface mount technology. In such cases, it often appears economical to assemble leaded components using an “old” technology. In recent years, highly automated PCB assembly systems have attracted considerable interest in the literature (e.g. [3-51). Thus far, however, little attention has been paid to semi-automated assembly systems (e.g. [6, 71). The problem addressed in this paper arose at a company producing a high mix of PCBs, each in a relatively low volume (see [8,9]), A detailed simulation study revealed that efficient use of the semi-automated assembly equipment available resulted in a strong impact on the overall performance of the assembly process. In particular,
Economics
43 (1996) 213-226
the problem investigated in this paper encompasses the following highly interrelated subproblems: Component kitting: What is the right mix of components to be supplied at each semi-automated assembly station while taking material handling and magazine capacity constraints into account? Job assignment: How should jobs be assigned to assembly stations while taking production capacity constraints into account? Operator scheduling: What is the minimum number of assembly stations needed to perform the required assembly operations for a given set of jobs and how many operators are required during a shift? In practice, each assembly station is run by an individual operator. At the beginning of a shift, a number of component kits and the corresponding sets of jobs are allocated to an assembly station. Each job is a customer order that requires assembly of a certain quantity of a specific PCB type. The respective workload is expected to be completed by the operator during that shift. Therefore, minimizing the number of assembly stations is equivalent to minimizing the number of operators required in the semi-automated assembly process. This paper is organized as follows. First, semiautomated assembly methods used in electronics manufacturing are described briefly. In Section 3, the component kitting problem is described in more detail. A computationally efficient heuristic solution procedure, designed for practical application in industry, is developed in Section 4. In Section 5, numerical results are evaluated and analyzed. Benchmark solutions for small-sized test problems are obtained by solving the mixed-integer linear programming model presented in the Appendix. In the final section, the conclusions of this study are given.
2. Light-guided,
semi-automated
assembly systems
In many industrial applications, NC-machines for SMDs and through-the-hole inserted components are used in combination with light-guided semi-automated assembly systems. This is due to the need to assemble additional components, which are either uneconomic or impossible to handle by
H.O. Giinther et al. /Int. J Production
machine. Light-guided semi-automated assembly systems have the advantage of increasing the speed of assembly over purely manual methods, while maintaining the same degree of accuracy as automated assembly, The mode of operation of a typical light-guided assembly system can be described as follows [ 11. Prior to assembly; the operator mounts a board onto the machine and enters the board identification number into a computer terminal. Components to be assembled are stored in an internal binning system consisting of a multi-level carousel of trays. Under the control of a computer programme, the machine identifies the bin containing the first part that is needed, opens a trap door, and presents the bin to the operator. The operator then removes a component from the bin, while at the same time a light beam projected onto the board indicates the location where the component is to be inserted. By pressing a button the operator indicates that another component is now needed. This process continues until all of the required components have been inserted. However, the binning system inside the assembly station has a limited capacity (typically 96 bins). Therefore, in many applications external binning systems are added to such assembly systems in order to increase the number of components held in the system and to store special types of devices. In this case, the bin holding the component to be placed next is indicated by a light or shown on a display. While the board setup time is comparatively short, it takes considerable time to change the assignment of components to bins, as such changes involve the physical replacement of components in both the internal and external binning system. Obviously, the right mix of components depends on the set of jobs to be processed by a particular assembly station. Thus, the grouping of jobs must be performed before the machine and the external bins are supplied with a new kit of components. In industry, two different policies, uniform and variable kit mix, are applied for assigning components to semi-automated assembly stations. In the first approach, the mix of components at each assembly station is held constant for a certain period [6]. In this case, boards may have to visit an additional assembly station in order to collect all the
Economics
43 (1996) 213-226
215
required components. A variation of a uniform kit mix is reported in [7]. The study demonstrates that considerable reductions in economic production lots and inventories could be achieved by vitalizing JIT concepts in improving the component supply in PCB assembly operations. In the variable kit approach, components are supplied at each assembly station according to the specific job mix. Following this policy, boards normally only pass through a single station in the semi-automated assembly process. A uniform kit mix is more advantageous in situations with a limited variety of boards. In this paper, we deal with a variable kit mix, which is usually preferred when the mix of boards being assembled varies from day to day. The corresponding problem of assigning components to assembly stations and to specific bins within the binning system is referred to as the component kitting problem throughout the remainder of this paper. The main objective in solving this problem is to minimize total operator time.
3. The component kitting problem A more precise definition of the specific decision problem in the practical example considered here is as follows. Assume that a given set of jobs is available to be scheduled for assembly at the beginning of a shift and that each job corresponds to a specific PCB type. In the industrial application considered in this paper, the average order size of a job is about 40. Each board within a production order requires a certain number of assembly operations. The total set of components to be assembled can be divided into three subsets. These subsets refer to regular components, odd-shaped components and integrated chips (ICs), respectively. Each of the assembly stations available is equipped with three magazines. The first one is an internal binning system with a total number of 96 bins and is designed to hold regular components only. The second one is an external binning system with a capacity of 20 individual bins. This magazine is primarily used for odd-shaped components, but can also store regular components if the capacity of the internal binning system runs short. Finally, there is a third (external)
216
H.O. Giinther et al. lint. J. Production
magazine which is used solely for ICs, as this type of component requires special feeders. A maximum of 20 different ICs can be supplied by the magazine. Fig. 1 shows the allocation of component types among magazines of a typical assembly station. Specifically, the component kitting problem is the assignment ofjobs to assembly stations and the supply of each assembly station with the right mix of components while taking various side constraints into account. (Kitting problems are discussed in a more general context in [10P12].) A kit is a specific collection of components which is assigned to an assembly station and stored in its various magazines. Kits must be generated before any boards can be assembled. It is not possible to change the set of components on the machine until all jobs belonging to that kit have been assembled. Changing to another kit requires considerable setup time. Furthermore, the following modelling assumptions are required: (1) In the semi-automated assembly process, various identical assembly stations exist. Each assembly station consists of a single machine. (2) Each bin position in the internal and external magazine contains only a single type of component. (3) Since bins belonging to the internal binning system are arranged in sequential order, a certain type of component required for various board types occupies several bins. As a consequence, bins 1 to b, hold components for board type 1, bins b1 + 1 to b2 for board type 2, etc. However, for both external magazines no such restriction exists, as they allow random access to any bin or feeder.
Economics
43 (1996) 213-226
(4) The capacity of each individual position in the magazine is sufficient to store all the required components of a particular type. (5) Components may be inserted in arbitrary order. (6) The operation time per insertion is assumed to be identical for all assembly operations. Learning curve effects are usually negligible in semi-automated electronics assembly. (7) For simplicity, the board setup time is assumed to be zero. (8) At any assembly station, a kit of components may be changed during a shift. However, changing a kit is a time-consuming activity. (9) All jobs assigned at the beginning of a shift must be processed during that shift. Jobs are not split among several assembly stations. (10) Once an assembly station is put into operation it is run for a whole shift. Thus, a machine capacity constraint of 8 h per shift has to be considered. It is desired to operate as few assembly stations as possible. The component kitting problem comprises three subproblems which we attempt to solve simultaneously: The grouping of jobs to be processed at each assembly station. The generation of kits which contain a collection of components to be assigned to individual positions within the various magazines of an assembly station. Finally, the combination of kits to be loaded onto each individual assembly station. A mixed-integer linear optimization model of the entire decision problem is presented in the Appendix. This model can be solved by use of a standard optimization code. However, because of its problem size the computational time required to optimally solve the model is prohibitive in most industrial applications. Therefore, we develop a fast heuristic solution procedure which is designed for practical application in industry and for implementation on a personal computer.
4. Heuristic solution procedure Fig. 1. Allocation a typical assembly
of component station.
types
among
magazines
of
The component kitting problem in electronics assembly is similar to the loading problem in
H.O. Giinther et al. /Int. J. Production
43 (1996) 213-226
217
number of assembly stations is treated as a decision variable, contrasting with the FMS loading problem where the number of machining centers and their tool magazines is fixed. Fig. 2 shows the effects of capacity allocation in more detail. The figure displays two batches, each consisting of three jobs. Between the two batches a setup time is required. In viewing component kitting as a two-dimensional bin-packing problem, jobs can be expressed as rectangles, where the associated widths denote the number of positions needed in one of the component magazines, and the heights denote processing time requirements. In the case of the internal binning system, the same type of component common to several board types does not share the same position in the magazine. This effect is shown in the left part of Fig. 2. In contrast, odd-shaped components and ICs stored in one of the external magazines may be accessed randomly, thus allowing components which are common to several board types to be supplied by the same bin or feeder. The resulting effect of commonality is
flexible manufacturing systems (FM%), where tools are allocated to machining centers while taking both tool magazine and processing capacities into account. The FMS loading problem is often modelled as a two-dimensional bin-packing problem and solved heuristically [ 13, 141. In this paper, we apply this approach to the component kitting problem as defined above. In semi-automated assembly systems, the two dimensions of the binpacking problem refer to the magazine capacity of an assembly station and to its production capacity. Thus, when a job is assigned to an assembly station, it consumes both capacity in the component magazine and processing time, depending on the number of component types and assembly operations required. The problem is to sequentially allocate jobs to assembly stations in such a way that processing time and component magazine capacity constraints are not exceeded. In contrast to the FMS loading problem and as outlined in Section 3, several classes of components and their corresponding magazines must be considered. Furthermore, the
Internal binning system
Economics
External binning system
IC feeders
setup time
I-
component Fig. 2. Alloction
magazine of magazine
capacity and processing
time capacity
of an assembly
station
among
two batches
of jobs.
218
H.O. Giinther et al. lint. J. Production
denoted in the middle and right part of Fig. 2 by one or more rectangles, which are disconnected horizontally. As in [13], the basic idea for the development of a heuristic solution procedure is obtained from the bin-packing analogy shown in Fig. 2. Essentially, variations of a basic heuristic procedure are developed, each consisting of a combination of priority rules which is applied to sequentially select available assembly stations and jobs to be scheduled. In the definition of priority rules, greatest attention is paid to available processing time and capacity usage in the internal binning system, since these resources appear to be most critical in the industrial application considered here. Attention is also paid to the different nature of the required resources. While processing time capacity must be considered a nonrenewable resource, it is generally possible to expand magazine capacity at the expense of additional setup time. In small-lot PCB assembly, it is quite common that kits are changed once or twice a day. Following the bin-packing interpretation of the component kitting problem, it also seems plausible to assign jobs with high capacity requirements first and then to fill capacity up by adding jobs with smaller order sizes. For selecting jobs, the following priority rules are applied: (1) Longest processing time of a job. (2) Largest number of regular components to be assembled. (3) Highest time component ratio ofa job defined as the ratio of processing time required to the number of different regular components to be assembled. (4) Lowest time component ratio of a job. For assigning available assembly stations, priority rules are defined as follows: (5) Maximum slack time of a machine, where slack time is defined as the difference between available production time per shift and the workload already allocated to that machine. (6) Maximum number of unassigned positions in the internal binning system of a machine. (7) Highest time component ratio of a machine defined as the ratio of slack time to the number of unassigned positions in the internal binning system. (8) Lowest time component ratio of a machine.
Economics
43 (1996) 213-226
Furthermore, we use the following composite decision rules in order to simultaneously select a job and assign it to an assembly station: (9) Component commonality for any combination of assembly stations and jobs is computed as the number of positions in the component magazines which can be shared if the respective job is allocated to that assembly station. The combination showing the highest commonality index is preferred. (10) Balance of time component ratio for any combination of assembly stations and jobs: the combination showing the least deviation of the time component ratio of a particular assembly station from the time component ratio of all unassigned jobs is preferred. It is possible to construct 16 different heuristics by combining job selection rules (l)-(4) with machine selection rules (5))(8). Thus, each heuristic is characterized by a combination of a particular job selection rule, used in step (lb) and (2) of the heuristic algorithm stated below, and a particular machine selection rule, used in step (3) of the heuristic algorithm. Additional heuristics can be obtained by applying the composite decision rules (9) and (10). The basic steps of the heuristic algorithm are as follows: Step 1: Initialization. (a) A lower bound lb on the number of assembly stations required is computed as the ratio of total assembly time required for the entire set of jobs to available production time of a single machine, rounded up to the nearest integer. (b) The first job is assigned to each assembly station by use of the particular job selection rule. Step 2: Job selection. Assign the next job using the particular job selection rule. Step 3: Machine selection. By applying the particular machine selection rule, determine an assembly station that has sufficient slack time to process the selected job. If no such machine exists, lb is increased by one and the algorithm restarts with step (lb). Step 4: Capacity allocation. If the available magazine capacity is sufficient to store all of the required components, then the job is assigned to the selected machine. Otherwise, the savings in magazine capacity achieved by transferring regular
H.O. Giinther et al. lint. J. Production
components from the internal to the external binning system are calculated. If feasible, the job is assigned to the selected machine after rearranging the component allocation in the internal and external binning system. (Note that components which are common to different jobs may share the same bin in the external magazine.) If magazine capacity is still insufficient, a new kit is established provided that the production capacity available is sufficient for changing the component kit and processing the selected job. Otherwise, the minimum number of assembly stations lb is increased by one and the algorithm restarts with step (lb). Step 5: Termination. If all jobs have been allocated, the algorithm terminates. Otherwise, proceed with step (2). Note that in the case of a composite decision rule, a combination of jobs and assembly stations is selected. Thus, steps (2) and (3) have to be combined. As stated above, there are several variations of the basic heuristic obtained by combining job selection rules (l)-(4) and machine selection rules (.5)-(g). In addition, heuristics based on composite decision rules (9) and (10) are available. Actually, we achieve four variations of the composite decision rule (9) by applying one of the rules (1) to (4) in step (1 b) of the heuristic algorithm in order to select the first job to be assigned to an assembly station. Since all of the heuristics are computationally very fast, they can be executed sequentially within one procedure. In the numerical study presented in the next section we also evaluate this type of combined heuristic which simply records the best solution obtained by any of the individual heuristics. An overview of the entire set of heuristics is given in Table 1.
5. Computational 5. I. Generation
evaluation of problem
instances
The heuristic solution procedure previous section was implemented gramming language and tested on IBM RS/6000-340 running the AIX
outlined in the in the C proa workstation operating sys-
Economics Table I Overview Job selection (1) (2) (3) (4) Composite Combined
43 (1996) 213-226
219
of heuristics Machine rule
(5)
(6)
selection (7)
rule (8)
Composite rule (9)
Hl H5 H9 H13
H2 H6 HlO H14
H3 H7 Hll H15
H4 H8 H12 H16
HI7 H18 H19 H20
rule (lO):H21 heuristic:H22
tern. To evaluate the performance of the various heuristics, five sets of test problems were randomly generated, each consisting of ten individual sample problems. The parameters most relevant for our experiments are shown in Table 2. Furthermore, jobs corresponding to a specific printed circuit board type j are characterized by two parameters, the number of distinct component types per board (Nj) and the number of components to be assembled from each type (~j). Throughout our experiments, we generated parameter fij from a discrete uniform distribution U [l, 51 giving a mean usage rate of 3.0 components per type. Our guidelines for selecting major factors in the experimental design were as follows. Test Set A consists of small-sized problems allowing benchmark solutions to be derived by solving the mixed-integer linear optimization model presented in the Appendix. The set of distinct component types to be assembled on a particular board type (parameter LYE)was randomly selected among 12 different regular component types, four odd-shaped component types and four IC types (see the first row of Table 2). We assume that 10 different jobs have to be processed and order sizes are randomly selected in the range of 1 to 10 PCBs per job. Problems in Test Sets B, C, D, and E were generated in order to apply the heuristic to problems of realistic size. Therefore, we consider a larger number of distinct component types and jobs, typical magazine and processing time capacities as well as realistic operation and setup times. No optimal solution is available for these sample problems. Throughout Test Sets B, C, D, and E, a total of 120
220
H.O. Gihther
Table 2 Major experimental Test set
A B C D E
Table 3 Characteristics Test set
B C D
E
et al. /ht.
J. Production
Economics
43 (1996) 213-226
parameters
No. of different
component
types
Magazine
capacity
Regular
Odd-shaped
ICS
Internal
External
ICS
Processing time capacity
12 120 120 120 120
4 30 30 30 30
4 30 30 30 30
10 100 100 100 100
4 20 20 20 20
4 20 20 20 20
40 480 480 480 480
Assembly time per component
Setup time
0.1 0.1 0.1 0.1 0.1
4 30 30 30 30
of jobs No. of different
component
types per board
No. of components from each type
No. of jobs
Order size
U [lS, 251
U C&12]
u [30.503 u [30, SO] U [60, 1001
u C4,161 u 14761 u f&81
Regular
Odd-shaped
ICS
u [20,40] u [lo, 503 u [20,40] u [lo, 501
5 5
5 5
rJ Il> 51 u Cl, 51
5 5
5 5
u Cl>51 rJ ct. 51
different types of regular components, 30 types of odd-shaped components, and 30 IC types were considered (see Table 2). From these sets of component types, we randomly generated the individual sets of components to be assembled on a board (see Table 3). It was assumed that each PCB requires a constant number of five different odd-shaped component types and five different IC types. The number of different regular component types per board was drawn from a uniform distribution as indicated in Table 3. Essentially, the four test sets differ by the factors summarized in Table 4. In Test Set B the number of distinct component types per board xj was drawn from a discrete uniform distribution U [20,40]. Taking odd-shaped components and ICs into consideration, the average number of component types per board equals 40 (see Table 3). The number of jobs and order size were also generated randomly from a discrete uniform distribution as noted in Table 3. Given an average of 20 jobs to be processed and 100 locations available in the internal binning system, the average number of different kits to be supplied is given by 30.20/100 = 6. (Note that components
Table 4 Overview
of experimental
factors
Test set
Average no. of assembly stations
Average no. of component kits per assembly station
Average of jobs per kit
B C D E
6 12 6 12
1 1 2 2
3.33 3.33 3.33 3.33
no.
common to various boards do not share the same position in this magazine.) Using Tables 2 and 3, we derive a mean usage rate of 3 components per type, a mean order size of 10 and an assembly time per component of 0.1. The expected total capacity required to process all jobs can thus be calculated as 20~40~3~10~10~0.1= 2400. In addition, a total mean setup time of 6.30 = 180 is required. If we assume a total slack capacity of 300 (equivalent to 8.6% of total processing and setup time), we can derive an average requirement of 2880/480 = 6 assembly stations with a single component kit assigned to each
H.O. Giinther et al. lint. J Production
of these assembly stations, and an average number of 3.33 jobs per kit for Test Set B. Problems in Test Set C are similar to those in B with the following exceptions (see Table 3). First, the number of different regular component types per board was generated as integers from the uniform distribution U [lo, SO]. Second, the number of jobs was drawn from the discrete uniform distribution U 130, SO], and, finally, order sizes were generated from U [4, 161. As a result, we achieve a greater variability ofjobs compared to Test Set B. By doubling the average number of jobs, we now require an average of 12 assembly stations, each with a single component kit, in order to process the increased production volume. Test Sets D and E were derived from B and C, respectively, in order to evaluate the effect of increasing the average number of component kits per assembly station. To study this effect, the average number of jobs in each test problem was increased from 20 to 40 in Test Set D, and from 40 to 80 in Test Set E. The average order size was reduced from 10 to 5 for both test sets (see Table 3). Hence, the average number of component kits per assembly station equals two, while the average processing time requirements remain unchanged.
5.2. Computational
results
Benchmark solutions for Test Set A were obtained by applying the CPLEX 3.0 standard optimization code to the mixed-integer linear optimization model presented in the Appendix. AMPL, a general algebraic modelling language for mathematical programming, was used to convert the model into a computer-readable form. Since in Test Set A the numbers of different odd-shaped component types and IC types do not exceed the respective magazine capacities, the corresponding variables and constraints were eliminated from the optimization runs. The model obtained consisted of Table 5 Job processing Job Processing
time
times for problem 1 24.8
A4 (arranged 2 24.3
in descending 3 22.5
Economics
43 (1996) 213-226
221
approximately 350 variables (260 of them binary), 280 constraints and 2300 nonzero matrix elements. Our first computational experiments revealed that CPLEX was not able to achieve feasible integer solutions within 20 min of CPU time on a Pentium 60 MHz personal computer for most of the test problems. Obviously, this is due to the extremely complex nature of the combinatorial optimization problem and the inferiority of the LP-relaxation. However, we observed that computational efforts could be reduced considerably by introducing the following additional constraint: obj 3 LB, where LB is a lower bound on the number of assembly stations required and obj is the objective function value to be minimized. Finally, CPLEX computations were terminated after 1 h of CPU time. As we have already discussed in the previous section, a lower bound on the number of assembly stations is computed as the ratio of total assembly and estimated setup time required for the entire set of jobs to available production time of a single machine, rounded up to the nearest integer. For some test problems (e.g. A4), it is even possible to derive a stronger lower bound, as can be seen from the job processing times in Table 5. Assuming a processing time capacity of 40 min per assembly station and a setup time of 4 min, a ratio of 188.8/36 = 5.2 assembly stations is achieved. However, in this example it is only possible to combine the last two jobs 9 and 10 with other jobs of greater processing time within the capacity limit of 36 min. Therefore, at least LB = 8 assembly stations are required in this example. All lower bounds for problems in the various test sets are modified in this way. The results for Test Set A are summarized in Table 6. Optimal solutions could only be obtained for eight of the ten test problems within 1 h of computer time. However, it can be seen from
order)
4 20.7
5 20.3
6 19.8
7 18.9
8 17.6
9 14.5
10 5.4
H.O. Giinther et al. Jlnt. J. Production
222 Table 6 Comparison Set A Problem
Al A2 A3 A4 A5 A6 Al A8 A9 A10
of optimal
MIP computation time (s)
8 > 3600 2 > 3600 3 1363 152 5 3 203
(MIP) and heuristic
solutions
No. of assembly
43 (1996) 213-226
for Test
stations
Lower bound
MIP solution
Best heuristic solution
4 4 3 8 4 6 4 4 4 6
4 5 3
4 5 3 8 4 6 5 4 4 6
4 6 4 4 4 6
Economics
Table 6 that five of the optimization problems could be solved within less than 10 s of CPU time, whereas other problems appeared to be computationally extremely complex. Since CPU times for the heuristic solution procedure are in the order of milliseconds, even for realistic problem sizes, these times are not set out in the tables given below. The best solution obtained by any of the heuristics HllH21 is indicated in the final column of Table 6. Except for problems A2 and A7, these solutions are optimal, since they equal the lower bound on the number of assembly stations required. In particular, one heuristic solution procedure provides an optimal solution to problem A4, whereas CPLEX was not even able to find a feasible integer solution within 1 h of CPU time. Furthermore, it is interesting to note that a lowerbound solution to problem A2 can easily be found by trial and error, whereas no optimal solution to this test problem was obtained by CPLEX or any of the various heuristics. Table 7 summarizes the results for Test Sets B, C, D, and E. Entries in this table indicate how often a particular heuristic achieved the lower-bound solution, with each experiment being replicated 10 times. In general, the various heuristics perform considerably better for data sets B, D, and E than for C. Data sets B and C primarily differ from D and E in their average number of component kits
2m n” d ti
H.O. Giinther et al. JInt. J. Production
per assembly station while B and D primarily differ from C and E in the average number of assembly stations required. Hence, the results may indicate that lower-bound solutions are more difficult to obtain by the various heuristics when problems involve a greater number of assembly stations and a smaller number of component kits per assembly station. The best overall performance is achieved by heuristics H3 and H19 with a total of 30 lower-bound solutions. Fig. 3 shows a ranking of the heuristics with respect to the total number of lower-bound solutions obtained. On average, heuristics using job selection rules (1) and (2) perform considerably better than those using rules (3) and (4). Among the different machine selection rules, (7) achieves better solutions on average than its counterparts (5), (6) and (8). Obviously, it makes sense to apply the
Fig. 3. Ranking
of heuristics
Economics
43 (1996) 213-226
223
“highest time component ratio” rule either for selecting assembly stations or for assigning jobs. These rules pay major attention to processing time capacity and consider the fact that component magazine capacity can be reallocated after a new component kit has been generated. In general, the group of composite decision rules H17-H21 shows a good overall performance. H 19, in particular, performs extremely well even compared to the combined heuristic, which simply records the best of the individual heuristic solutions. Optimal solutions (i.e. lower-bound solutions) were achieved in 33 of the 40 test problems. In none of the remaining test problems did the solution obtained by the combined heuristic differ by more than one assembly station from the lower bound. Finally, it should be remarked that feasible lowerbound solutions do not necessarily exist.
with respect to the total number
of lower-bound
solutions
obtained.
224
H.O. Giinther et al. JInt. J. Production
6. Summary and conclusions This article has examined a typical problem of component kitting in semi-automated printed circuit board assembly. The objective was to minimize the number of assembly stations taken into operation. Generally, kitting problems, although prevalent in industry, have not been researched extensively. It is shown in the Appendix how the kitting problem arising at a major plant for electronic assemblies can be formulated as a mixedinteger linear optimization problem. However, addressing the problem by means of a standard optimization code, like CPLEX, XPRESS MP, or OSL, provided rather disappointing results. Computational run times of standard optimization codes could be reduced considerably by the explicit introduction of lower bounds on the objective function value into the model formulation. Nevertheless, several of the randomly generated small-sized test problems could not be optimally solved within 1 h of CPU time on a powerful personal computer. To solve the decision problem within reasonable computational run time, a heuristic solution procedure consisting of a combination of job selection and machine selection rules has been developed. Furthermore, two composite decision rules have been investigated. To evaluate the performance of the various heuristics, several problem instances have been randomly generated. Heuristics based on the “highest time component ratio” rule provided better solutions than most of the other heuristic decision rules investigated. The numerical evaluation showed that optimal solutions could be obtained for most of the test problems within less than a second of CPU-time. Industrial application of the heuristics will facilitate coordination of material flow and operator scheduling by prescribing kitting schedules that effectively use available shop capacities. The kitting concept suggested provides considerable potential for improving the overall productivity of the assembly shop due to reduced setup times and better synchronization of material supply and end-item production. Finally, the heuristics developed in this article are applicable in many industrial settings. The procedures are also adaptable to other industrial environments, like flexible manufacturing sys-
Economics
43 (1996) 2135226
tems where part types and tools must be allocated among various workstations.
Appendix The component kitting problem under consideration can be formulated as a mixed-integer linear optimization model. The notation is as follows: Indices, index sets iEI component kits jEJ jobs (board types) k E K, components of type t (t = 1; regular components; t = 2: odd-shaped components; t = 3: ICS) m E M magazine (m = 1: internal magazine for regular components; m = 2: external magazine for odd-shaped components; m = 3: external magazine for ICs) nEN assembly stations Parameters a operation time per component to be assembled number of locations in magazine m &I BIG number $0 C production capacity of each assembly station per shift total number of components per unit of dj board type j total number of regular components per ej unit of board type j maximum number of kits per assembly staP tion order size of job j % = 1, if component k is required for board rjk type j; 0 otherwise S setup time incurred for changing the component setup of an assembly station Decision variables total number of regular components of job j assigned to kit i to be stored in the internal magazine (m = 1) total processing time required for kit i at assembly station n 1, if assembly station n is taken into operation; 0 otherwise 1, if component k is assigned to magazine m (m = 2, 3) in kit i; 0 otherwise
H.O. Giinther et al.lInt.
J. Production
1, if job j is assigned to kit i; 0 otherwise 1, if kit i is assigned to assembly station n; Zin 0 otherwise The component kitting problem is given by: Minimize
Yij
(A.l)
c wn EN
subject 2
Yij
to =
12
j E J,
(-4.2)
iEI XikZ
3
Yij,
iEI,jEJ,kEK21rjk=1,
(A.3)
i E I, j E J, k E K3 1rjk = 1,
(A.4)
i E I, j E J,
(A.5)
Economics
43 (1996) 2135226
Xikm
I},
E
(0,
iE I, ke K,uK3,
YijE (0, l},
iEl,je
Zin E (O9
i E I, n E N.
l},
J,
225
m = 2,3,
(A.17) (A.18) (A.19)
The objective function (A.l) simply minimizes the number of assembly stations taken into operation. Furthermore, it may be desirable to first minimize the number of assembly stations, and then to minimize the total number of required component kits with variables w, fixed at their optimal values. As an alternative objective function (A. 1’)
Xik3 3 Yij, uij
3
ejyij
k&l
5
Uij
<
C
B1
Xik2,
1
+
1 r,k=
1
(1 - zi,)BIG,
Xik2~B2+(1_Zin)BIG,
i E I, n E N,
(A.6)
iEZ,nreN,
kEKIuK>
(A.7) kzn Xik3 < B, + (1 - z,)BIG,
i E I, n E N,
(A.8)
+ SZin - (1 - Zin) BIG,
Uin > C qjdjayij jd
icI,nEN, g vin d CW,,
zzin
2 yij,
zzin
d
C
Zin d
1,
(A.lO)
n E N,
iEJ,jE
iEI,
(A.9)
J,
(A.1 1)
(A.12)
n E N,
(A.13)
i E I, j E J,
(A.14)
i E I, n E N,
(A.15)
PWm
is1 Uij
3
0,
Vin 3 0,
W, E 10, l),
n E N,
(A.16)
E ZZin could be minimized, in order to reduce total setup time assuming that each component kit requires the same setup time, independent of the kit size and the individual number of component types in the kit. The first constraint (A.2) ensures that each job is assigned to exactly one component kit. Constraints (A.3) and (A.4) state that if a job is assigned to a kit, then all required components of type 2 and 3 are assigned to the corresponding magazines in that kit. Due to the sequential access mode, the approach to modelling the component allocation for the internal magazine is slightly different. In constraint (A.5), the number of regular components needed for board j in kit i is calculated as being the difference between total component requirements and those regular components which have already been assigned to the external magazine (m = 2). Thus, decision variables uij express the number of bins needed in the internal magazine, if board j is included in kit i. Constraints (A.6)-(A.8) limit the number of positions in the various magazines to which a component type may be assigned. Note that these constraints are only binding if zin = 1 (i.e. component kit i is actually assigned to assembly station n). In constraint (A.9), decision variables vin express the time required to process component kit i at assembly station n including the corresponding setup time. Again, this constraint is only binding if Zin = 1. Production capacity limitations are considered in (A.lO). This constraint also sets the binary variable w, to 1 if assembly station n is
226
H.O. Giinther et al. /I&. J. Production
operated in order to meet the capacity requirements. Constraint (A.1 1) forces component kit i to be set up on the machines available if one or more jobs are assigned to that kit, while constraint (A.12) ensures that each component kit is assigned to at most one assembly station. Finally, constraint (A.13) serves to ensure that at most p component kits are assigned to any assembly station and that no assignment is made if w, = 0.
Acknowledgements This research was supported by the Austrian Science and Research Foundation (FWF) under project number P09847-OTE.
References Cl1 Noble,
P.J.W., 1989. Printed Circuit Board Assembly. Open University Press, Milton Keynes. VI Brindley, K., 1990. Newnes Electronics Assembly Handbook. Heinemann-Newnes, Oxford. c31 Bard, J.F., Clayton, R.W. and Feo, Th.E., 1994. Machine setup and component placement in printed circuit board assembly. Int. J. Flexible Manuf. Systems, 6: 5-31. c.41Van Laarhoven, P.J.M. and Zijm, W.H.M., 1993. Production preparation and numerical control in PCB assembly. Int. J. Flexible Manuf. Systems, 5: 187-207.
Economics
43 (1996) 213-226
I51 Zijm, W.H.M. and van Harten, A., 1993. Process planning for a modular component placement system. Int. J. Prod. Econom., 30-31: 123-135. M.L. and Billington, C.A., 1991. Design of C61 Brandeau, manufacturing cells: Operation assignment in printed circuit board manufacturing. J. Intell. Manuf. Systems, 2: 955106. [71 Carlson, J.G., Yao, A.C. and Girouard, Wm.F.. 1994. The role of master kits in assembly operations. Int. J. Prod. Econom., 35: 2533258. PI Gunther, H.O., Gronalt, M. and Piller, F., 1994 (in German). Computergestiitzte Simulation eines hochautomatisierten Montagesystems. Mgmt. Comput., 2: 25-32. 191 Gunther, H.O., Gronalt, M. and Piller, F., 1995. A linear programming model for workload planning in printed circuit board assembly. Oper. Res. Proc. 1994. Springer, Berlin, pp. 312-317. Cl01 Bozer, Y.A. and McGinnis, L.F., 1992. Kitting versus line stocking: A conceptual framework. Int. J. Prod. Econom., 28: 1-19. of 1111 Chen, J.F. and Wilhelm, W.E., 1993. An evaluation heuristics for allocating components to kits in small-lot, multi-echelon assembly systems. Int. J. Prod. Res., 31: 283552856. 1121 Chen. J.F. and Wilhelm, W.E., 1994. Optimizing the allocation of components to kits in small-lot, multiechelon assembly systems. Naval Res. Logist., 41: 2299256. Cl31 Kim, Y.-D. and Yano, C.A., 1993. Heuristic approaches for loading problems in flexible manufacturing systems. IIE Trans., 25: 26639. algorithm [I41 Spieksma, F.C.R., 1994. A branch-and-bound for the two-dimensional vector packing problem. Comput. Oper. Res., 21: 19-25.