Journal of Manufacturing Systems 44 (2017) 1–11
Contents lists available at ScienceDirect
Journal of Manufacturing Systems journal homepage: www.elsevier.com/locate/jmansys
Modified artificial bee colony algorithm for scheduling optimization for printed circuit board production Cheng-Jian Lin a , Mei-Ling Huang b,∗ a Department of Computer Science & Information Engineering, National Chin-Yi University of Technology, No. 57, Sec. 2, Zhongshan Rd., Taiping Dist., Taichung 41170, Taiwan, ROC b Department of Industrial Engineering & Management, National Chin-Yi University of Technology, No. 57, Sec. 2, Zhongshan Rd., Taiping Dist., Taichung 41170, Taiwan, ROC
a r t i c l e
i n f o
Article history: Received 9 January 2017 Received in revised form 11 April 2017 Accepted 12 April 2017 Keywords: Printed circuit boards (PCB) Surface mount technology Placement machine Pick-and-place sequence Artificial bee colony algorithm (ABCA)
a b s t r a c t The production scheduling of placement machines strongly influences the efficiency of printed circuit board (PCB) production. This study focuses on the scheduling optimization for PCB production, that is, on maximizing throughput and minimizing total assembly time and head moving distance. Three problems—the automatic nozzle changer (ANC) assignment problem, the nozzle assignment problem, and the component pick-and-place sequence problem—are investigated using a modified artificial bee colony algorithm (MABCA) to enhance the production efficiency of placement machines. The proposed scheduling optimization algorithm comprises three phases. First, the proportional distribution method is applied to optimize ANC assignment. Second, considering the component height as well as the pick, simultaneous pickup, and component shape restrictions, the MABCA generates the nozzle assignment. Third, under the constraints of place restriction and the predetermined nozzle assignment, the MABCA and the 2-opt algorithm generates the place sequence with the minimal PCB assembly time. Finally, the proposed algorithm is experimentally demonstrated. The average number of pickups in the solutions generated by the proposed method, the onsite engineer, and two related studies are 159.3, 167.2, 208.6, and 210.6, respectively. The proposed approach yields the least PCB assembly time. The average total assembly time (Ttotal ) improved between on-site engineer and the proposed MABCA is 4.08%. © 2017 Published by Elsevier Ltd on behalf of The Society of Manufacturing Engineers.
1. Introduction Rapid technological advances have spurred the electronics industry and in turn the electronic parts manufacturing–related industries, placing them among the most active industries worldwide. Enhancing the efficiency of printed circuit board (PCB) production, in which the critical constraint is the scheduling of placement machines, has become a crucial issue in the electronics industry. Scheduling optimization for placement machines, which usually entails solving the feeder assignment problem, the nozzle assignment problem, and the component pick-and-place sequence problem, has been widely investigated. Neammanee et al. [1] applied a memetic algorithm (MA) for optimizing the scheduling of a single placement machine. Compared with commonly used distribution rules, MAs present more effective solutions but involve high
∗ Corresponding author. E-mail address:
[email protected] (M.-L. Huang).
computational costs. Tiemei et al. [2] combined improved shuffled frog-leaping algorithm and tabu search to significantly enhance production efficiency and to obtain an optimal place sequence. Sun et al. [3] used genetic algorithms (GAs) and greedy algorithms to optimize pick sequence; they maximized the number of simultaneous pickups and mutation and selection operations and evaluated the performance of each scheduling solution in terms of total assembly time. Du et al. [4] proposed hybrid GAs (HGAs), a combination of heuristic algorithms and GAs, to optimize the efficiency of PCB assembly and evaluated the total moving distance for each feasible solution. The aforementioned studies have focused on the feeder assignment and component pick-and-place sequence problems. Ashayeri et al. [5] and Chen and Shen [6] applied linear programming and heuristic algorithms to reduce the number of nozzle exchanges, the nozzle work load, and the moving distance as well as to maximize the moving speed. Jiang et al. [7] investigated the component place sequence problem in multihead placement machines as a traveling salesman problem (TSP) [8] by using an improved
http://dx.doi.org/10.1016/j.jmsy.2017.04.006 0278-6125/© 2017 Published by Elsevier Ltd on behalf of The Society of Manufacturing Engineers.
2
C.-J. Lin, M.-L. Huang / Journal of Manufacturing Systems 44 (2017) 1–11
Table 1 Summary of studied problems of related references. Authors
Methods
Neammanee et al. [1] Tiemei et al. [2] Sun et al. [3] Du et al. [4] Ashayeri et al. [5] Chen and Shen [6] Jiang et al. [7] Lin et al. [9] Zhu et al. [10] Jiang et al. [11] Chen et al. [12]
memetic algorithm shuffled frog-leaping algorithm and tabu search genetic algorithms and greedy algorithms heuristic algorithms and genetic algorithm linear programming heuristic algorithms
Loh et al. [13] Our study
Pick and place sequence √ √ √ √ √
ant colony algorithm genetic algorithms differential evolution algorithm MAX–MIN Ant System diversification perturbation operator mutation operator modified tabu search genetic algorithm
ant colony algorithm. Lin et al. [9] used GAs to solve the TSP and evaluated the solutions in terms of total assembly time. Zhu et al. [10] employed a differential evolution algorithm to improve total assembly time. By using a MAX–MIN Ant System, Jiang et al. [11] proposed a novel optimization method to resolve the TSP and the component place sequence problem in order to enhance component placement speed. Chen et al. [12] analyzed the component place sequence problem by using diversification perturbation operator and mutation operator as well as a modified tabu search and successfully reduced placement speed. Loh et al. [13] simultaneously solved feeder assignment and component sequencing problems by GA. The aforementioned studies have focused on the nozzle assignment and the component pick-and-place sequence problems and have approached the place sequence problem as a TSP. To decrease complexity, most studies have ignored such restrictions as component height, pick-and-place, simultaneous pickup, and component shape restrictions as well as time costs of nozzle change. Table 1 displays the discussed problems of related studies. Kechadi et al. focused specifically on modeling a cyclic job shop problem and developed an efficient neural network approach to minimize the cycle time of a schedule [14]. An artificial immune
component height
simultaneous pickup
component shape
√
√ √ √ √ √ √
√
√
√
system (AIS) was proposed to minimize the total completion time for a two-stage multi-machine assembly scheduling problem [15]. Except the field of scheduling optimization, some of the importance of optimization and optimized values in other fields are listed below. Valipour [16] has studied the variations of land use and irrigation for next decades under different scenarios to establish a link for more important parameters in agricultural water management. The evolution of the major achievements in water lifting devices on the modern technologies was discussed [17]. A forecasting model of monthly rainfall was created by studying the effect of the length of the recorded data. Determining the proper length of rainfall month in each climate condition for agriculture schedule is recommended [18]. A study developed and compared several models on a spatial and temporal estimation of potential evapotranspiration according to the peak and low events and climate change alarm [19]. The annual precipitation was forecast by a non-linear autoregressive neural network (NARNN), non-linear input–output (NIO) and NARNN with exogenous input (NARNNX) [20]. This study considers the following hardware restrictions: (1) component height restrictions, (2) time costs of nozzle change, (3) pick restrictions, (4) place restrictions, (5) simultaneous pickup restrictions, and (6) component shape restrictions. A modified arti-
Fig. 1. Machine architecture.
C.-J. Lin, M.-L. Huang / Journal of Manufacturing Systems 44 (2017) 1–11
3
Fig. 2. Pick-and-place restrictions in SMT machine operation.
ficial bee colony algorithm (MABCA) is proposed and is used to solve practical production problems for generating feasible solutions with efficient production yield. 2. Problem statement 2.1. Machine description Surface mount technology (SMT) placement machines are complex surface mount devices that automatically pick up electric components and place them in appropriate positions on a PCB at high speed and accuracy. They are crucial in PCB assembly. The application of the proposed algorithm to a multi-head gantry machine (Fig. 1) is discussed in this paper. The major components of an SMT machine and their functions are as follows. (1) (2) (3) (4) (5) (6) (7) (8) (9)
Head: Houses nozzles, which pick up components Nozzles: Different nozzles pick up different components Automatic nozzle changer (ANC): Stores and exchanges nozzles Feeder: Stores and provides SMT components; different feeders are used for different components Feeder slots: spaces to insert feeders Feeder station: houses the feeder slots PCB table: workspace on which the PCB is placed Arm: moves the heads to appropriate positions for picking and placing components Fly vision: confirms that appropriate and undamaged components are used as well as resets the X-Y axis for precision component placement
As shown in Fig. 1, the SMT machine has eight heads that can house one nozzle each, one ANC with space for sixteen small nozzles and four large nozzles, and ninety feeder slots for tape and stick feeders. The heads move along the X–Y axis to first pick specific components from the feeders and then place the picked components at the appropriate positions. This pick-and-place process is termed the “pick-and-place work cycle” and in short as the “cycle.” To preclude the generation of infeasible solutions, the following restrictions are considered in this study:
(2) Time costs of nozzle change: Components differ in their shapes and thus require different nozzles for pickup. The heads must therefore change nozzles to pick certain components, which entails time costs. (3) Pick restrictions: The heads have physical limitations in picking components off the feeder station; that is, certain heads cannot access certain feeders. For example, in Fig. 2, Heads 2–8 cannot reach Slot a. (4) Place restrictions: Similar to restriction (3), certain heads cannot place components on certain positions. For example, in Fig. 2, Heads 7 and 8 cannot place components on Position b. (5) Simultaneous pickup restrictions: The number of pickups, and thus assembly time, can be decreased if the heads can pick up components simultaneously. The following conditions must be satisfied to enable simultaneous pickups: (a) the necessary components are in the tape feeder, (b) one of the neighboring feeder slots of each filled feeder slot must be empty, (c) the components must have the same pickup angles, and (d) the same camera must be used for image recognition. In the examples illustrated in Fig. 3, the numbers of simultaneous pickups in 3(a) and 3(b) are 7 and 3, respectively. Optimal pickup sequences are those that have a large number of simultaneous pickups and thus entail fewer pickups. (6) Component shape restrictions: The components differ in shape and size. Components larger than 15 mm in diameter enter the operational space of the adjoining head. For example, in Fig. 4, Head 7 cannot pickup components because Head 8 is picking and placing a large component. 2.2. Problem statement and assumptions The objective of this study is to generate the optimal scheduling (i.e., the shortest processing time) for PCB assembly. In practice, the on-site engineers determine the feeder station configuration, and this configuration is not changed even when the PCB configuration changes. Therefore, feeder station configuration is not considered in this study. We discuss the following three inter-effect problems in this study. (1) ANC assignment problem
(1) Component height: Because the components have nonuniform heights, the shortest component must be picked and placed first to prevent collisions during head movement.
The ANC has 16 small cells and 4 large cells for placing nozzles. The number of ANC cells assigned to each nozzle crucially influ-
4
C.-J. Lin, M.-L. Huang / Journal of Manufacturing Systems 44 (2017) 1–11
Fig. 3. Examples illustrating restrictions in simultaneous pickup.
(1) Pick time (T1 ), (2) Place time (T2 ), and (3) ANC change time (T3 ). Sets c i j
Fig. 4. Example illustrating component shape restrictions.
ences the assembly performance; therefore, ANC assignment must be effective. (2) Nozzle assignment problem Components differ in shape and therefore require specific nozzles for pickup. To generate nozzle assignment with the fewest pickups and nozzle changes, the type and number of nozzles mounted to the heads of the SMT machine must be determined under the constraints of simultaneous pickup as well as place restrictions. (3) Component pick-and-place sequence problem A feasible component pick-and-place sequence must be generated under the constraints of minimal moving distance and component height and time costs of nozzle change restrictions. Fig. 5 summaries the relationship among three problems. Different ANC configurations yield different nozzle assignments, which in turn alter the pick-and-place sequence. 2.3. Problem formulation A mathematical time model of PCB assembly was developed according to the practical operation of placement machines. This model comprises three components:
Cycle, c= 1, 2 . . . , tc. The ith component in this cycle, i = 1, 2 . . . , N The last component in this cycle, j = N
Parameters N Number of heads Number of pickups at present P v Vacuum on delay time u Pick up waiting time Blow time b o Load wait time a Time for nozzle changes The specific nozzle changing at present z P Component placing position on PCB S Ongoing slot position A Ongoing ANC position for nozzle changes Time for head movement T() Tz (c) Total time for moving up and down for z axis Decision Variables tp Number of pickups in this cycle cn Number of nozzle changes d() Distance for head movement Total number of cycles for the scheduling tc Min(Ttotal ) The objective function is to minimize the total assembly time
Min Ttotal =
tc
(T1 (c) + T2 + T3 )
c=1
s.t . (1) T1 Time for picking up the components
(1)
C.-J. Lin, M.-L. Huang / Journal of Manufacturing Systems 44 (2017) 1–11
T1 (c) =
⎧ ⎪ ⎪ ⎪ ⎪ ⎨
tp−1
T d Sp , Sp+1
5
+ Tz (p + 1) + vp+1 + up+1 , c = 1
p=1
(2)
tp−1 ⎪ ⎪ ⎪ T d + T + P , S v + u + T d Sp , Sp+1 + Tz (p + 1) + vp+1 + up+1 , otherwise ⎪ (1) z 1 1 1 j ⎩ p=1
(2) T2
looking for new food sources and adopt random search in their neighborhood. Search formulas are described as follows.
Time for placing the components
Vij = xij + ij xij − xkj
T2 = T d Sj , P1
+ Tz (1) + b1 + o1 +
j
Xi =
(3) T3
(3)
Time for nozzle changes when needed
T3 = T d Pj , A1
+ T (d (Acn , S1 )) +
cn
T (d (Az , Az+1 )) + az
fiti
SN
n=1
(4)
3. Using an MABCA for scheduling optimization for PCB assembly
(7) fitn
where SN represents the total number of food source. When employed or onlooker bees are not updated during a specific period of time, the scout bees adopt a random search to find new food source. j
In 2005, Karaboga proposed the artificial bee colony algorithm (ABCA) [21], a heuristic algorithm that imitates the behavior of bees for optimizing numerical problems to find the best parameter vector that minimizes an objective function. There are employed bees representing specific food sources, onlooker bees choosing food sources, and scout bees searching for food randomly in ABCA. A general ABCA consists of initialization phase, employed bees phase, onlooker bees phase, and scout bees phase. Employed bees are
(6)
Xi , otherwise
where Vij is the jth dimension for food source i, Onlooker bees select a new food source according to the probability value (Pi ) associated with that fitness value (fiti ) of the employed bee. Pi and the search rule are defined as follows: Pi =
z=1
(5)
Vi , iff (Vi ) > f (Xi )
i=2
(T (d (Pi−1 , Pi )) + Tz (i) + bi + oi )
j
j
j
Xi = Xmin + rand [0, 1] Xmax − Xmin
where Xi is the abandoned food source and j is the dimension. This study is to minimize the total assembly time for placement machine under consideration of pick-and-place sequence, component height, simultaneous pickups, and component shape. The feasible solution of traditional ABCA could be real numbers. In the scenario that this study focuses, the solutions should be integers. Instead of vector subtraction in the traditional ABCA, if the original
Maximize benefit of nozzle assignment ANC assignment
Nozzle assignment
Components place sequence Minimize head moving distances
(8)
Minimize the number of nozzle changes Maximize the number of simultaneous pickup
Components pick sequ ence The component assignment of cycles
Minimize the number of pickup Maximize the number of simultaneous pickup
Minimize the number of nozzle changes Maximize the number of simultaneous pickup
Total assembly time of the schedu ling Fig. 5. Relationships among sub-problems in the scheduling optimization for an SMT machine.
6
C.-J. Lin, M.-L. Huang / Journal of Manufacturing Systems 44 (2017) 1–11
Table 2 The input and output of three phases. Phase
Input
Output
1
The number of components The number of ANC types Output from Phase 1 Component height, Component width Restriction of head movement Feeder assignment Component type and number of components
ANC assignment
2
3
Output from Phase 1 and 2 Position of components
Total number of cycles Number of pickups for each cycle Sequence of pickups for each cycle Selected ANC for each cycle Selected head for each cycle Selected feeder for each cycle Output from Phase 2 Component place sequence for each cycle
Table 3 The information of components and nozzles. Component Type A B C D E F G
Nozzle No. 20 20 30 70 105 10 5
Type AN2 AN2 AN3 AN4 AN4 AN6 AN7
Size small small small small small large large
Total Number of usage 40 30 175 10 5
feeder slot number of 2 arrays are the same, the cell in the new array must be left blank; otherwise, copy the slot number of Xk to the new array. The third modification of MABCA is the application of randomization if not generating numbers between 0 and 1; it is to swap two positions randomly. This study modified the ABCA for optimizing the scheduling of PCB assembly in the following three phases. Phase 1: Proportionally allocate nozzles to the ANC according to the working components. Phase 2: Apply the MABCA to minimize both the number of pickups and the number of nozzle changes under the constraints of (1) component height restrictions, (2) pick restrictions, (3) simultaneous pickup restrictions, and (4) component shape restrictions. Phase 3: For the nozzle assignment in Step 2, use the MABCA and the 2-opt algorithm to generate the component place sequence that yields the minimal PCB assembly time. The architecture of the proposed MABCA is presented in Fig. 6. Software C++ was used in this study. The three phases of optimization work in series, and to clearly illustrate the operating procedure, the input and output among these three phases are displayed in Table 2. 3.1. Phase I: proportionally allocate nozzles to the ANC Nozzle assignment, which crucially affects PCB assembly scheduling, is performed proportional to nozzle use. An example is illustrated herein. Step 1: Table 3 lists the working components and their basic information. Components of different types must be picked by a nozzle of the corresponding type. For this example, consider nozzle types AN2, AN3, and AN4. Of the total components, determine the proportion of the components corresponding to the selected nozzle types and nozzle size (i.e., small and large). Among small nozzles, the proportion of components requiring nozzles of type AN4, AN2, and AN3 are 72%, 16%, and 12%, respectively (Fig. 7). Accordingly, 10, 3, and 2, nozzles of type AN4, AN2, and AN3, respectively, are assigned to pick and place small components. Step 2: If the number of nozzles for the component type with the largest proportion exceeds the number of heads, assign the excess nozzles to the component type with the second largest proportion. Repeat this process until none of the assigned numbers exceed the number of heads. In the example, 10 nozzles are initially assigned to
Fig. 6. Scheduling optimization for PCB assembly using the MABCA.
component type AN4, whereas only 8 heads are available. Therefore, the 2 excess nozzles are assigned to AN2. Thus, the revised assignment is as follows: 8, 5, and 2 nozzles for components of type AN4, AN2, and AN3, respectively. Step 3: Determine whether any ANC cells are left unassigned in Step 3. Assign unassigned cells to the nozzles for the component type with the largest proportion. Subsequently, perform Steps 3 and 4 again until all cells are assigned. In the example, one cell remains unassigned after Step 3. We initially assign this cell to AN4, bringing the total AN4 nozzles to 9, which is infeasible. Therefore, the vacant
C.-J. Lin, M.-L. Huang / Journal of Manufacturing Systems 44 (2017) 1–11
AN2 16% AN3 12% AN4 72%
AN2
AN3
AN4
Fig. 7. The proportion of small size nozzles.
cell is assigned to AN2. The final allocation is 8, 6, and 2 for nozzles for AN4, AN2, and AN3, respectively. Fig. 8 depicts the step-wise progress in nozzle assignment. 3.2. Phase II: nozzle assignment and component pick sequence The flowchart for nozzle assignment and component pick sequence is presented in Fig. 9. The generated results are evaluated in terms of the number of pickups generated by the MABCA. Shorter components must be picked up and placed first to avoid collisions among heads during operation. As an example, consider the component heights listed in Table 4. Components are grouped according to component height restriction. In this example, this restriction is 2 mm; therefore, components of height 0.5–2.4 mm form the height group. The encodings are in 2 arrays. The upper array records the feeder slot numbers (e.g., in Fig. 10, encoding numbers 35, 37, 39,. . ., 49 represent the feeder slot numbers), and the lower array indicates the component shape (1 = small component; −1 = large component). Nozzles require more space when picking and placing large components, meaning that the adjoining nozzles become nonoperational. The traditional ABCA cannot solve the PCB assembly problem; hence, the modified ABCA is proposed for optimizing PCB assembly scheduling. The MABCA uses the following expression:
Vij = Xij ⊕ random ∗ Xkj Xij
(9)
where Vij is the final food location; Xij is the position for the ith bee in dimension j before the move; and Xkj is the kth bee in dimension j have been chosen. Xkj Xij states that if the original feeder slot number of 2 arrays are the same, the cell in the new array must be left blank; otherwise, copy the slot number of Xk to the new array (Fig. 11). As illustrated in Fig. 12, to prevent the solution from being trapped in the local optimal, the MABCA randomly exchanges two points in the new array on the basis of the muta-
Fig. 9. Flowchart for nozzle assignment and component pick sequence.
Fig. 8. Number of nozzle assignment on ANC by proportional distribution.
7
8
C.-J. Lin, M.-L. Huang / Journal of Manufacturing Systems 44 (2017) 1–11
Table 4 Component height list.
Component height
Component type(No.)
nozzle
Component shape
slot
Coordinate
0.5mm
R1(35)
AN2
large
35
(378,11)
R3(44)
AN2
small
37
(402,11)
H2(20)
AN3
small
39
(426,11)
H1(30)
AN2
small
41
(450,11)
H5(10)
AN1
small
43
(474,11)
R5(15)
AN4
small
45
(498,11)
R4(18)
AN5
small
47
(522,11)
H3(25)
AN5
small
49
(546,11)
H4(20)
AN2
small
33
(354,11)
H2(35)
AN7
large
50
(558,11)
R6(10)
AN6
large
51
(570,11)
1.2mm
1.7mm
2.4mm
2.6mm
Fig. 10. The encoding of component pick sequence.
Fig. 11. Updating the food source location.
Fig. 13. New food source location.
Fig. 12. Mutation operation.
tion operator random ∗ Xkj Xij . The repeated numbers are then skipped, and the slot numbers are sequentially copied to the new array. The final food source location Vij is shown in Fig. 13. Fig. 14 illustrates the decoding of the food source. Sequentially assign feeder slots to the heads and determine the space requirements and corresponding nozzles under the considerations of component type and size. For example, Head 1 uses nozzle AN2 to pick the component in the feeder slot 35. This large component occupies additional space and thus, the adjacent head (Head 2) becomes nonoperational until Head 1 completes its operation. The larger the fitness value is, the fewer the number of pickups and
Fig. 14. Decoding of food Source: (a) p = 7, (b) p = 2.
C.-J. Lin, M.-L. Huang / Journal of Manufacturing Systems 44 (2017) 1–11
Fig. 15. Example nozzle assignment and component pickup sequence.
nozzle changes. The corresponding fitness value (fit pc) is defined in as follows: fit pc =
1 p+c
(10)
where p and c are the number of pickups and the number of nozzle changes, respectively. Head 1 uses nozzle AN2 to perform the first pick, following which Heads 3–8 use nozzles AN2, AN3, AN2, AN1, AN4, and AN5, respectively, to pick components in the second round, as presented in Fig. 14(b). The number of pickups in Fig. 14(a) and (b) are 7 and 2, respectively. The solution with the fewest pickups is the optimal solution.The decoding process generates a nozzle assignment and a component pickup sequence. The corresponding component is first assembled, and before the next move, another nozzle assignment and component pickup sequence is generated. In the example presented in Fig. 15, if slot 35 has 10 components, the system first completes 10 cycles, following which the procedure is repeated to generate a new nozzle assignment and component pickup sequence until all components are assembled. 3.3. Phase III: component place sequence Under the constraints of the predetermined nozzle assignment and component pickup sequence (as determined in Sec. 3.2) as well as place restrictions, the place sequence is optimized next. The proposed MABCA applies the mathematical model to evaluate the total assembly time. The solution with the shortest total assembly time is the optimal solution. Fig. 16 depicts the flowchart of this solution process. In the decoding process, the MABCA sequentially places components at the food source according to component type. For example, in Fig. 17, feeder slot 35-1 to 35-35 represents the PCB placement coordinates of all components. The fitness value (fit total) is defined according to component type in Eq. (11). fit total = 1/Ttotal
(11)
where Ttotal is the total assembly time and has been defined in Sec. 2.3. The decoding process sequentially schedules the same components in the place sequence. For the example scenario in Table 3, Head 1 is arranged to pick up the component in slot 35. This component is large and occupies the operational space of Head 2. Therefore, Head 2 cannot pick any component in this cycle and hence is marked “X” in Table 5. After generating the initial scheduling, the place sequence in each cycle is treated as a TSP, and the proposed method uses the 2-opt algorithm to optimize the local search. The 2-opt algorithm sequentially exchanges 2 place sequences and records the fitness value of the new sequence. This procedure is repeated until the optimal solution is found. An example is presented in Fig. 18. 4. Experimental results Table 6 summarizes the information pertaining to ten PCBs. In this section, experimental results from the on-site engineer and
Fig. 16. Flowchart of components place sequence generation.
9
10
C.-J. Lin, M.-L. Huang / Journal of Manufacturing Systems 44 (2017) 1–11
Fig. 17. Encoding of component place sequence.
Table 5 The placement machine scheduling.
Table 6 The data of PCB .
Cycle
Head
Pick sequence
Place sequence
No
slot
nozzle
PCB
Components
Component types
Nozzle types
feeders
1 1 1 1 1 1 1 1 2 2 2 . . . 90 90 90
1 2 3 4 5 6 7 8 1 2 3
1 X 2 2 3 2 2 2 1 X 2
1 X 2 3 4 5 6 7 1 X 2
35-2 X 37-3 39-1 41-10 43-5 45-9 47-17 35-3 X 37-5
35 X 37 39 41 43 45 47 35 X 37
AN2 X AN2 AN3 AN2 AN1 AN4 AN5 AN2 X AN2
PCB-1 PCB-2 PCB-3 PCB-4 PCB-5 PCB-6 PCB-7 PCB-8 PCB-9 PCB-10
48 62 78 100 177 204 316 396 720 796
3 8 2 11 7 3 6 14 7 6
1 3 1 3 2 1 1 4 2 1
3 8 2 11 7 3 6 14 7 6
1 2 3
1 X 2
2 X 2
50-2 X 51-2
50 X 51
AN7 X AN6
Table 7 The initial parameters of MABCA and GA. MABCA Population 100 GA Population 100
Cycle 3000
Limit 20
Component height range 2mm
Generation Crossover rate Mutation rate Component height range 3000 0.8 0.2 2mm
tially dominates the others when the number of components is high. The average number of pickups in the solutions generated by the proposed method, the onsite engineer, and the related studies [3] and [4] are 159.3, 167.2, 208.6, and 210.6, respectively. In addition, the proposed MABCA results in the least number of nozzle changes, especially when higher numbers of nozzle types are used in the experimental PCBs. The numbers of nozzle types required for PCB-2, PCB-4, and PCB-8 are 3, 3, and 4. The proposed MABCA generates the least number of nozzle changes 3, 6, and 10, respectively, when comparing with other methods. The average total assembly time (Ttotal ) improved between on-site engineer and the proposed MABCA is 4.08%.Apart from the number of pickups and nozzle changes, the moving distance of heads substantially affects total assembly time. A shorter moving distance may reduce total assembly time. Moving distances in the proposed and other methods are compared in Table 9. Compared with the other methods, the proposed method has a substantially shorter moving distance; moreover, the distances in the proposed approach are the shortest in eight of the ten experimental scenarios. Even in the case of the two exceptions (PCB-2 and PCB-6), the proposed method yields the minimal total assembly time 603.66 (in Table 10) when considering the number of pickups and nozzle changes. The total assembly
Fig. 18. An example of the 2-opt process.
results from two related studies that used GAs [3,4] as well as from the proposed method are compared.The initial parameters settings for the MABCA and GA are listed in Table 7. The total assembly time increases with the number of pickups and nozzle changes. As can be seen from Table 8, the proposed algorithm outperforms the other methods. In particular, the proposed approach substanTable 8 Comparison results of numbers of pickup (tp) and nozzle change (cn). PCB
Onsite Engineer Number of pickup
PCB-1 19 58 PCB-2 59 PCB-3 60 PCB-4 93 PCB-5 140 PCB-6 177 PCB-7 267 PCB-8 455 PCB-9 344 PCB-10 The average number of pickup167.2
Loh et al. [13]
Sun et al. [3]
Proposed MABCA
Number of nozzle change
Number of pickup
Number of nozzle change
Number of pickup
Number of nozzle change
Number of pickup
Number of nozzle change
0 6 0 9 0 0 0 11 0 0
26 50 58 85 111 143 240 289 588 516 210.6
0 9 0 11 3 0 0 12 5 0
34 46 63 83 120 137 223 315 574 491 208.6
0 9 0 14 6 0 0 13 11 0
19 38 58 59 96 134 178 234 447 330 159.3
0 3 0 6 3 0 0 10 5 0
C.-J. Lin, M.-L. Huang / Journal of Manufacturing Systems 44 (2017) 1–11 Table 9 Comparison results of the head moving distance (d()). PCB
Onsite Engineer
Loh et al. [13]
Sun et al. [3]
Proposed MABCA
14319.4 18997.3 9128.17 32089 30182.7 53294 81966 105624 84211.5 200228
11502.8 15880.6 8032.555 22225.1 22034.9 47357.9 71878.2 80223.8 76571.2 183794
Head Moving Distance (mm) PCB-1 PCB-2 PCB-3 PCB-4 PCB-5 PCB-6 PCB-7 PCB-8 PCB-9 PCB-10
12255.6 12596.7 9716.34 23997.5 24799 46511.7 72998.9 83538.7 98349.4 190422
14539.5 19364.3 9033.89 34597.2 29265.4 52649.2 83583.1 103185 83868.9 199049
Table 10 Comparison results of total assembly time (Ttotal ). PCB
Onsite Engineer
PCB-1 PCB-2 PCB-3 PCB-4 PCB-5 PCB-6 PCB-7 PCB-8 PCB-9 PCB-10
34.2381 112.718 140.505 168.727 311.798 146.268 221.835 631.713 1292.53 553.289
Loh et al. [13]
Sun et al. [3]
Proposed MABCA
40.1539 140.3446 141.839 236.143 373.795 162.449 249.747 711.205 1341.29 619.504
32.4067 106.82 131.217 161.204 306.05 145.33 220.303 603.66 1177.29 538.745
Total assembly time (s) 38.6468 141.315 138.234 245.167 351.586 160.807 259.24 745.796 1346.26 622.377
times (Ttotal ) for 10 experimental PCBs are listed in Table 10. Obviously, the proposed MABCA, with the least total assembly times, dominates the others for all PCBs. The proposed MABCA produces a feasible solution within 10 min; while on-site engineers usually spend hours on working one feasible scheduling. The on-site engineers are pleased to apply the proposed MABCA for saving working time for generating feasible solutions. 5. Conclusions This study optimized the scheduling of placement machines by solving three sub-problems − the ANC assignment problem, the nozzle assignment problem, and the component pick-and-place sequence problem − under considerations of (1) component height restrictions, (2) time costs of nozzle changes, (3) pick restrictions, (4) place restrictions, (5) simultaneous pickup restrictions, and (6) component shape restrictions. The proposed approach has three phases. First, the proportional distribution method is applied to optimize ANC assignment. Second, considering restrictions (1), (3), (5), and (6), the MABCA generates the nozzle assignment. Third, considering restrictions (4) and the nozzle assignment determined in the second phase, the MABCA and the 2-opt algorithm generates the place sequence with the minimal PCB assembly time. Experimental results of assembling ten PCBs by using a multihead placement machine showed that the proposed method generates the shortest total assembly time when compared with related studies. The proposed method thus enhances production efficiency and reduces production costs. Problem of feeder assignment is not included in this study, and could be included in the future research. The proposed MABCA uses
11
randomization in the study. Definitely, the experimental results are not guaranteed to be repeated at next iteration. To reduce the uncertainty (increase the reliability), careful experiment designs or increasing the number of iteration are suggested in the experiments. One more consideration is on the convergence rate. When the number of components grows dramatically, execution time for the convergence could be long. How to increase the convergence rate without deteriorate the solution quality could be investigated in the future. Acknowlegment This study is partially supported by Ministry of Science and Technology, Republic of China under grant number MOST 1052221-E-167-012. References [1] Neammanee P, Reodecha M. A memetic algorithm-based heuristic for a scheduling problem in printed circuit board assembly. Comput Ind Eng 2009;56:294–305. [2] Chen T, Luo J, Hu Y. Component placement process optimization for multi-head surface mounting machine based on tabu search and improved shuffled frog-leaping algorithm. IEEE Intell Systd Appl (ISA) 2001:1–4. [3] Sun DS, Lee TE, Kim KH. Component allocation and feeder arrangement for a dual-gantry multi-head surface mounting placement tool. Int J Prod Econ 2005;95:245–64. [4] Du X, Li Z. Placement process optimization of dual-gantry turret placement machine. Adv Intell Mechatron 2008:1266–71. [5] Ashayeri J, Ma N, Sotirov R. An aggregated optimization model for multi-head SMD placements. Comput Ind Eng 2011:99–105. [6] Chen S, Shen Y. An integrated mathematical model for optimizing the component placement process with a multi-heads placement machine. Proceedings of the 29th Chinese Control Conference (CCC) 2010:1839–42. [7] Jiang J, Liu C, Zhang K, Wang Z, Tan Z, Chen X. Program of route optimization for surface mount. IEEE Intell Syst Appl (ISA) 2010:1–4. [8] Flood MM. The traveling salesman problem. Oper Res 1956;4:61–75. [9] Lin WQ, Zhu GY. A genetic optimization approach to optimize the multi-head surface mount placement machine. Lect Notes Comput Sci 2008;5315:1003–12. [10] Zhu GY, Chen ZJ. A differential evolution optimization approach to solve the pick-and-placing problem. Fifth International Conference on Natural Computation 2009;4:66–70. [11] Jiang J, Chen X, Zang M, Wang Z, Tan Z. Optimization of the surface mount technology based on the max-min ant system. IEEE Future Comput Commun (ICFCC) 2010;2:45–7. [12] Chen T, Luo J, Du J, Hu Y. A modified tabu search algorithm for component placement process optimization of multi-head surface mounting machine. Proceedings of the 31st Chinese Control Conference 2012. [13] Loh TS, Bukkapatnam S, Medeiros D, Kwon H. A genetic algorithm for sequential part assignment for PCB assembly. Comput Ind Eng 2001;40:293–307. [14] Kechadi M, Low KS, Goncalves G. Recurrent neural network approach for cyclic job shop scheduling problem. J Manuf Syst 2013;32(4):689–99. [15] Al-Anzi F, Allahverdi A. An artificial immune system heuristic for two-stage multi-machine assembly scheduling problem to minimize total completion time. J Manuf Syst 2013;32(4):825–30. [16] Valipour M. Variations of land use and irrigation for next decades under different scenarios. Irriga: Braz J Irrig Drain 2016;1(1):262–88. [17] Yannopoulos S, Lyberatos G, Theodossiou N. Etc. evolution of water lifting devices (Pumps) over the centuries worldwide. Water 2015;7(9):5031–60. [18] Valipour M. How much meteorological information is necessary to achieve reliable accuracy for rainfall estimations? Agriculture 2016;6(4 p):p53. [19] Valipour M, Defidkouhi M, Sarjaz M. Selecting the best model to estimate potential evapotranspiration with respect to climate change and magnitudes of extreme events. Agric Water Manage 2017;180:50–60. [20] Valipour M. Optimization of neural networks for precipitation analysis in a humid region to detect drought and wet year alarms. Meteorol Appl 2016;23(1):91–100. [21] Karaboga D. An idea based on honey bee swarm for numerical optimization, Technical Report TR06, Erciyes University, Engineering Faculty. Comput Eng Dep 2005.