Next Article in Journal
An Improved Taylor Algorithm for Computing the Matrix Logarithm
Next Article in Special Issue
Genetic Hybrid Optimization of a Real Bike Sharing System
Previous Article in Journal
Logistic Biplot by Conjugate Gradient Algorithms and Iterated SVD
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Using an Improved Differential Evolution for Scheduling Optimization of Dual-Gantry Multi-Head Surface-Mount Placement Machine

1
Department of Computer Science & Information Engineering, National Chin-Yi University of Technology, Taichung 41170, Taiwan
2
College of Intelligence, National Taichung University of Science and Technology, Taichung 404, Taiwan
3
Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan 701, Taiwan
*
Author to whom correspondence should be addressed.
Mathematics 2021, 9(16), 2016; https://doi.org/10.3390/math9162016
Submission received: 27 May 2021 / Revised: 4 August 2021 / Accepted: 20 August 2021 / Published: 23 August 2021
(This article belongs to the Special Issue Applications of Evolutionary Algorithms)

Abstract

:
The difference between dual-gantry and single-gantry surface-mount placement (SMP) machines is that dual-gantry machines exhibit higher complexity and more problems due to their additional gantry robot, such as component allocation and collision. This paper presents algorithms to prescribe the assembly operations of a dual-gantry multi-head surface-mount placement machine. It considers five inter-related problems: (i) component allocation; (ii) automatic nozzle changer assignment; (iii) feeder arrangement; and (iv) pick-and-place sequence; it incorporates a practical restriction related to (v) component height. The paper proposes a solution to each problem: (i) equalizing “workloads” assigned to the gantries, (ii) using quantity ratio method, (iii) using two similarity measurement mechanisms in a modified differential evolution algorithm with a random-key encoding mapping method that addresses component height restriction, (iv) and a combination of nearest-neighbor search and 2-opt method to plan each placing operation. This study reports an experiment that involved the processing of 10 printed circuit boards and compared the performance of a modified differential evolution algorithm with well-known algorithms including differential evolution, particle swarm optimization, and genetic algorithm. The results reveal that the number of picks, moving distance of picking components, and total assembly time with the modified differential evolution algorithm are less than other algorithms.

1. Introduction

Recently, the number of components placed on high-density printed circuit boards (PCBs) has been increasing, which has resulted in the increased use of surface-mount technology (SMT) during the production process of PCBs. Machines with SMT are called surface-mount placement (SMP) machines, which are advantageous for their precision, speed, and efficiency in PCB production compared with manual assembly methods. Therefore, manual assembly methods have been gradually replaced by SMP machines.
To simplify the complexity of such assembly problems, most studies on scheduling optimization for dual-gantry SMP machines have overlooked various limitations, such as problems related to automatic nozzle changer (ANC) assignment, nozzle setup, and height restrictions for components. Optimization of dual-gantry multi-head SMP machines creates various problems, and the main problem affecting operating efficiency is divided into three sub-problems, namely the component allocation problem, the feeder arrangement problem, and the component pick-and-place sequence problem. These problems are nondeterministic-polynomial (NP)-hard problems, which are high-dimensional and discrete; thus, an optimal global solution is difficult to obtain using conventional methods.
Production scheduling is a decision-making process that plays a critical role in manufacturing and production systems and has a markedly positive impact on the performances of manufacturing. Effective scheduling can result in improvements in throughput, inventory costs, utilization of manufacturing resources, and energy saving. In the past decades, various scheduling problems have been extensively solved by multi-population meta-heuristics such as artificial bee colony (ABC), imperialist competitive algorithm (ICA), and shuffled frog-leaping algorithm (SFLA). SMP scheduling is no exception; to optimize the dual-gantry multi-head SMP machine, scholars have proposed numerous approaches to solve the component allocation problem, the feeder arrangement problem, and the component pick-and-place sequence problem. Sun et al. [1] employed a genetic algorithm to optimize component allocation and feeder arrangement problems by maximizing the number of simultaneously picked-up components or equivalently minimizing the number of pickups, and equalizing workloads assigned to heads. Du and Li [2] combined heuristic method with genetic algorithm to optimize the placement process by minimizing the displacement of gantry and equalizing the workload between two gantries. Additionally, Ashayeri, Ma and Sotirov [3] developed a hierarchical approach of two stages for the multi-head surface-mounting device placement optimization problem. The first stage employed a mixed integer program model to decide the optimal sequence of batches of components to the placement heads. Then, the second stage was to determine the sequence of components using a heuristic method. The experimental results revealed that a near optimal solution was reached in reasonable computation time based on this hierarchical approach. Torabi et al. [4] formulated an integrated mathematical model to balance workloads over multiple heads. Firstly, the original bi-objective model was solved for small problem instances by the augmented ε-constraint method. Next, a multi-objective particle swarm optimization, tuned by Taguchi method, was introduced to generate a set of efficient solutions for medium- and large-sized problem instances. Zhu and Zhang [5] improved the basic shuffled frog-leaping algorithm (SFLA) for component pick-and-place sequence of the gantry multi-head surface-mounting machine. The three-way ANOVA was evaluated in parameters analyzing the improved SFLA; however, the experimental results noted that the advantages of improving SFLA were realized at the cost of CPU time. He et al. [6] innovated a hierarchical restricted balance (HRB) heuristic method to determine the optimal nozzle and feeder decisions in order to minimize the moving distance of gantries of a dual-delivery SMT placement machine. In optimization processing, the nozzle and feeder setups were searched using simulated annealing, and the pick-and-place sequence was solved by nearest neighbor and cheapest insertion heuristics. The results indicated that the HRB strategy improves the solution quality without increasing the computational time. Li and Yoon [7] proposed an adaptive nearest-neighbor tabu search to minimize the gantry moving distance in a high-speed single-gantry surface-mount device machine. The relationship among nozzle assignment, nozzle exchange scheduling, and the number of pick-and-place cycles was also analyzed in this study. The experimental results also declared that the proposed algorithm produced a 23.32% distance saving on average for the single-nozzle-type problem in comparison with the large clusters of operations heuristic method. He et al. [8] introduced workload balance between gantries and gantry cycle scheduling two decisions, and then the proposed heuristic multi-phase approach was used to minimize the moving distance of gantries by balancing the workload of a dual-delivery SMT placement machine. Huang et al. [9] developed a hierarchical multi-objective optimization model which set the nozzle optimization as an integer programming optimization model for the first master hierarchy. Additionally, component mounting sequence, feeder optimization and picking order are parallel-optimized based on the first hierarchy optimization as second hierarchical. Lastly, the authors proposed related algorithm strategies for the respective problems. Table 1 displays the discussed problems of related studies.
As shown in Table 1, most of the previous studies [1,2,4,8,9] have already considered problems such as component allocation, feeder arrangement, and pick-and-place sequence during surface-mount placement processing. Among those, many different evolutionary algorithms were applied to optimize SMP processing. Afterward, ANC assignment problem was also included as a part of optimization factors [3,6,7]. In those studies, algorithms were established in a hybrid way to improve the shortcomings of single algorithms. Nevertheless, the height of the component can also have a direct effect on the manufacturing process. When placing the components on a PCB, the relatively lower components have to be placed first; therefore, unlike those methods, the current study included the consideration of the height restrictions in SMP processing and proposed an effective modified differential evolution (MDE) algorithm to optimize the scheduling of SMP machines in order to cover processing problems more comprehensively.
Research objectives of this present study incorporate problems of (i) component allocation, (ii) ANC assignment, (iii) feeder arrangements, (iv) pick-and-place sequences, and (v) height restrictions for components into the proposed solutions on minimizing the total assembly time for PCB assembly. The major contributions of this study are listed as follows:
The component height restriction is considered in SMP processing.
The proposed modified differential evolution (MDE) algorithm with two similarity measurement mechanisms using a random-key encoding mapping method is designed for minimizing the number of picks in feeder arrangement.
A combination of nearest-neighbor search (NNS) and 2-opt method is applied to shorten the path in component placing operations.
The experimental results indicate that while using the MDE algorithm for feeder arrangement, at most 30% of the number of picks can be reduced; moreover, when adding a combination of NNS and 2-opt method for component placing sequence, the whole assembly time is decreased at most by 13% using the proposed method.
The remainder of this article is structured as follows: Section 2 describes key features of the SMP machine. Section 3 presents the problem definitions. Section 4 introduces the methodology of whole processing including component allocation, ANC assignment, feeder arrangement using the proposed MDE algorithm, component picking sequence, and component placing sequence using NNS and 2-opt method. Section 5 details the experimental results and discussions. Finally, Section 6 gives the conclusions.

2. Description of the SMP Machine

A dual-gantry multi-head SMP machine (Figure 1) employs two robot gantries, each of which contains six pick-and-place heads. Each head is equipped with one nozzle and moves to the ANC for nozzle changes when required. During operation, robot gantries move to the feeder stations to pick components. As illustrated in Figure 1, Gantry_1 picks components from the feeder station_1, and Gantry_2 picks components from the feeder station_2. The two gantries then carry the picked components and place them on a PCB alternately. This operating process is known as a pick-and-place work cycle.
The SMP machine’s key features are as follows:
(a)
Gantry: This moves above the surface-mount machine, allowing the pick-and-place heads to pick components from the correct feeder and then to place the components on the correct position of the PCB.
(b)
Pick-and-place head: Every pick-and-place head is equipped with a single nozzle, which is used to pick and place components.
(c)
ANC: This is where nozzles are placed and changed.
(d)
Nozzle: These are installed on pick-and-place heads for component picking and placing. Different nozzle types are required for different components. Accordingly, the pick-and-place heads move to the ANC for nozzle changes when required.
(e)
Feeder: The feeder is used to store and provide components. Every feeder stores only one component.
(f)
Feeder station: Feeders for placement operation here.
(g)
PCB table: PCBs are fixed and placed here.
(h)
Fly vision system: This is used to determine whether a component is damaged or faulty and confirm a component’s loading position by recalibrating the X–Y coordinate.
Figure 2 presents the picking sequence {7, 9, 11, 13, 15, 17} that finished picks when the least number of picks is one. If the component picking operations cannot be finished in one pick, the picking operation is repeated until all heads pick their components or until it is determined that the operation cannot proceed any further. As presented in Figure 3, a head is idle after the first pick. Thus, the second pick is conducted, with its picking sequence being {3, 3, 7, 9, 9, 13}.

3. Problem Definition

3.1. Problem Description

The purpose of this study was to optimize the operation of dual-gantry, multi-head SMP machines. The following section introduces problems, inter-relationships of problems, and their influences on SMP operations.
(i)
Component allocation problem:
Each gantry has its own feeder station. Gantry_1 cannot pick components from Gantry_2’s feeder station and vice versa. An inappropriate component allocation may lead to an excessive workload on one of the gantries, thus causing workload imbalance.
(ii)
ANC assignment problem:
The dual-gantry, multi-head SMP machine that we studied with an ANC comprising 20 seats was designed for 16 small nozzles and 4 large nozzles. Because the number of nozzles placed in an ANC is limited, how to allocate the number of seats for each nozzle type is crucial. It affects component picking process. A greater number of picks indicates a longer time required for the picking process.
(iii)
Feeder arrangement problem:
The assignment of components to the two feeder-slot stations for component storage mainly affects the picking process. Fewer picks indicate a shorter time required for this process. Therefore, an appropriate feeder arrangement enables picking up more components simultaneously, thus shortening the time required for this process.
(iv)
Component height restrictions:
Because the height of each component varies, placing an excessively high component before placing a shorter component leads to a collision. Therefore, the picking-and-placing order of components should be sequenced according to height (from low to high), in which the height differences between each two consecutive components should be less than 2 mm to avoid collision.
(v)
Component pick-and-place sequence:
Planning the shortest route for gantries to move from feeder-slot stations, where they pick components, to the position on PCBs to place components.

3.2. Establishment of a Mathematical Model

This study designed a mathematical model to calculate scheduling results according to the operation pattern of a dual-gantry multi-head SMP machine. We divided the entire operating process into four parts for discussion: number of cycles, pick time, placement time, and ANC change time.
Definition of symbols:
a: time required for a nozzle change
A: location of the ANC carrying replacement nozzle
c: cycle number, c = 1, 2, …, N
cn: number of nozzles needs to be changed, depends on sequence of picks
d ( S p c , S p + 1 c ) : moving distance of a head from location S p c to S p + 1 c
E: time required for picking component
F: time required for placing component
g: the gantry being used. g = 1 for Gantry_1; g = 2 for Gantry_2
i: the numerical order in which components are arranged in a particular cycle, i = 1, 2, …
j: the last component placed in a cycle
o: waiting time for placing component
p: index for picks
P: loading location on a semi-finished PCB
S: location of the slot to which the components to be picked have been assigned in the feeder station
T c h a n g e g : time required for nozzle changes
tp: the number of picks in a cycle
T t o t a l : total assembly time
T ( d ( S p c , S p + 1 c ) ) : moving time required for a head from location S p c to S p + 1 c
T ( d ( P j c 1 , S 1 c ) ) : moving time required for a head from the location where the final component is placed on cycle c−1 to the location where the first component is picked on cycle c
T z c : total time required for a z-axis (up–down) movement on cycle c
u: waiting time for picking up component
z: nozzle waiting to be changed
The numbers of cycles completed by the two gantries may differ. Because the operation of a dual-gantry, multi-head SMP machine alternates between its two gantries, to calculate the scheduling time, the gantry that complete the larger number of cycles is adopted as the NC for the entire scheduling time. The equation is represented as follows:
N = { C g : g = a r g m a x g = 1 , 2 { C g } }
where C 1 is the number of cycles for Gantry_1, C 2 is the number of cycles for Gantry_2, and N is the larger number of the two.
Because a dual-gantry, multi-head SMP machine alternates between its two gantries to place components, one gantry can only pick components when the other is placing components in a given area. The alternating of picking and placing for each head continues until all components are placed. Accordingly, the longest time required by the two gantries to finish their tasks was selected to design the time calculation equation. The difference between the shorter and longer times is denoted as waiting time, as depicted in Figure 4.
The equation for total assembly time ( T t o t a l ) required is presented as follows:
T t o t a l = E g 1 1 + c = 1 N ( m a x ( E g 1 c + 1 , F g 2 c ) + m a x ( F g 1 c , E g 2 c ) )
E g 1 1 is the time required by the first component pick performed by Gantry_1, and m a x ( E g 1 c + 1 , F g 2 c ) and m a x ( F g 1 c , E g 2 c ) compare the two gantries’ operation times to identify the longer time required between the two gantries.
By calculating the time spent on component picking, this study devised an equation for picking time, which is presented as follows:
E g c = { T z c ( 1 ) + u 1 c + p = 1 t p 1 ( T ( d ( S p c , S p + 1 c ) ) + T z c ( p + 1 ) + u p + 1 c ) , i f c = 1 T ( d ( P j c 1 , S 1 c ) ) + T z c ( 1 ) + u 1 c + p = 1 t p 1 ( T ( d ( S p c , S p + 1 c ) ) + T z c ( p + 1 ) + u p + 1 c ) , i f c > 1 c n = 0 . T c h a n g e g + T z c ( 1 ) + u 1 c + p = 1 t p 1 ( T ( d ( S p c , S p + 1 c ) ) + T z c ( p + 1 ) + u p + 1 c ) , i f c > 1 c n > 0
The operation of the first pick is denoted by c = 1. The time calculation starts from, after nozzle changes, the first pick from a feeder slot; thus, only the time spent on picking components from feeder slots is calculated. The condition of c > 1 and cn = 0 denotes picking operations without nozzle changes. T ( d ( P j c 1 , S 1 c ) ) denotes the time required for moving from the location where the final component is placed on cycle c-1 to the location where the first component is picked on cycle c. The final part of this equation is used to calculate the time required for picking components from feeder slots. The condition of c > 1 and cn > 0 represents picking operations involving nozzle changes. The calculation of T c h a n g e g , the time required for nozzle changes, is detailed in Equation (5).
The time required for placing components on a PCB is presented as follows:
F g c = T ( d ( S j c , P 1 c ) ) + T z c ( 1 ) + o 1 c + i = 2 j ( T ( d ( P i 1 c , P i c ) ) + T z c ( i ) + o i c )
T ( d ( S j c , P 1 c ) ) denotes the time required for movement from the location of the feeder slot where a gantry finishes picking components on cycle c to the location where the gantry places the first component. T z c ( 1 ) + o 1 c represents the time required for the z-axis movement of the first component and the waiting time for placing component on cycle c. T ( d ( P i 1 c , P i c ) ) denotes the time required for moving from the location where the preceding component is placed to the location of the subsequent placement.
The following equation, nozzle change time, is applied when a nozzle change occurs on cycle c.
T c h a n g e g = T ( d ( P j c 1 , A 1 c ) ) + z = 1 c n T ( d ( A z c , A z + 1 c ) ) + a z c + T ( d ( A c n c , S 1 c ) )
T ( d ( P j c 1 , A 1 c ) ) denotes the time required for movement from the location where the final component is placed on cycle c−1 to the location where the first nozzle change of the subsequent cycle c is conducted. T ( d ( A c n c , S 1 c ) ) denotes the time required for movement from the location where the last nozzle change is conducted on cycle c to the location where the first component is picked on cycle c.

4. Method

This section discusses the method for optimizing the scheduling of a dual-gantry SMP machine. To reduce complexity, the optimization problem was divided into four steps; the flow chart is presented in Figure 5. The first step involves identifying a method for solving the component allocation problem. Step two is to determine the number of nozzles available in the ANC according to the number and ratio of components required. In the third step, the MDE algorithm and a random-key encoding mapping approach were used for feeder arrangement by selecting operations with the fewest picks and picking cycles. The fourth step involves using the nearest-neighbor search approach to determine a tentative placing sequence, which is subsequently planned by the 2-opt method.

4.1. Component Allocation

The first problem encountered by dual-gantry, multi-head SMP machines is component allocation. Because a gantry cannot pick components from the other gantry’s feeder slots, achieving a component allocation solution that equalizes workloads for the two gantries is the main focus of this step. This study considers component height restriction, which complicates the component allocation problem.
First, the center point of a PCB on the y-axis was identified, and a horizontal line was drawn, dividing the components into those located in upper and lower areas of the PCB board. We calculated the difference between the numbers of components located in the two areas and accordingly adjusted the location of the center point along the y-axis to equalize the number of components for the two gantries.
For example, as presented in Figure 6, when equally dividing the PCB into two halves (Y = 50), both the upper and lower areas each contained 400 components. Gantry_1 was responsible for components in the lower area, and Gantry_2 was responsible for those in the upper area.

4.2. ANC Assignment Using a Quantity Ratio Method

The number and type of nozzles in the ANC were determined before scheduling. The ANC only have 20 seats: 4 of them are for large nozzles, and 16 are for small nozzles.
According to the number of each type of component to be placed on a PCB, this study used a quantity ratio method to determine the required number for each type of nozzle to be installed at each ANC.
  • Step 1:
The number of each type of nozzle is presented in Table 2. Four small nozzles (AN2, An3, AN4, and AN5) and one large nozzle (ANV1) are used in this example. Nozzle AN2 picks and places component types D and B; Nozzle AN3 picks and places component type A; Nozzle AN4 picks and places component type E; Nozzle AN5 picks and places component type C; Nozzle ANV1 picks and places component type F. A proportional pie chart (Figure 7) depicts the quantity ratios of the various types of small nozzles. The quantity ratio for each nozzle is calculated as (total number of components for the nozzle) divided by (total number of components for the same size of nozzle). For example, the total number of components for small nozzle is 50 + 20 + 80 + 100 = 250. The quantity ratio for AN2 is equal to 50/250 = 20%.
  • Step 2:
To ensure that the gantries can pick up all types of components, the ANC was assigned with at least one seat for each nozzle type (Figure 8).
  • Step 3:
Assign nozzles to the remaining seats in ANC according to the predetermined proportions. The calculated values are rounded to the nearest integers. For example, the calculated value for nozzle AN2 is 2.4, and we round it to 2. It means 2 more seats are assigned for nozzle AN2 in ANC. The other seats calculated for nozzles An3, AN4, and AN5 are as follows.
A N 2 : 12 × 0.2 = 2.4   ( round   to   2 ) , A N 3 : 12 × 0.08 = 0.96   ( round   to   1 )
A N 4 : 12 × 0.32 = 3.84   ( round   to   4 ) , A N 5 : 12 × 0.4 = 4.8   ( round   to   5 )
There is one more seat for nozzle AN3; 4 more seats for nozzle AN4; and 5 more seats for nozzle AN5. Since there is only one large nozzle used in this example, the four seats for large nozzle are all assigned for ANV1. The final nozzle assignment in ANC was presented in Figure 9.

4.3. Feeder Arrangement Using the MDE Algorithm

Evolutionary algorithms are inspired by natural phenomena, biological processes, and human and social behaviors and are widely used to solve scientific and engineering problems because of their simplicity and sensitivity. These algorithms have evolved to be applied in various existing algorithms, such as the genetic algorithm (GA) [10,11,12], particle swarm optimization (PSO) [13,14], and ant colony optimization [15]. The differential evolution (DE) algorithm was first developed by Storn and Price [16,17] in 1995. It is a population-based stochastic optimization algorithm which provides characteristics of simplicity, efficiency, and real coding. The optimization process is conducted through continuous mutation, crossover, and selection until converging to the optimized solution. The flow chart of DE is presented in Figure 10. To optimize the operation of dual-gantry multi-head SMP machines, the following section introduces problems, inter-relationships of problems, and their influences on SMP operations.
(a)
Initialization
The DE algorithm is similar to common heuristic algorithms. Such algorithms begin by initializing individuals and then generating NP individuals randomly in the solution search space. Subsequently, because individuals in a DE algorithm are real numbers, this study obtained random real numbers in the solution search space for each individual. The equation is presented as follows:
X i , G j = X m i n + r a n d [ 0 , 1 ] ( X m i n + X m a x )
In this equation, Xmin denotes the minimum value, and Xmax denotes the maximum value in a solution search space, and r a n d   [ 0 , 1 ] is a randomly selected real number between 0 and 1. Variable i (individual) represented the place of an individual in an order ( i = 0 N P ); G (generation) is the number of generations ( G = 0 G m a x ); and j (dimension) is the size of the dimension ( j = 0 D ).
(b)
Mutation
A mutation vector is obtained by calculating the vector difference between individuals, followed by referencing the vector of another individual and a scale factor. For example, randomly pick three individuals, X r 1 , G , X r 1 , G , and X r 3 , G , and then calculate the vector difference between X r 2 , G and X r 3 , G . Multiply this result by the scale factor, and subsequently add X r 1 , G to obtain the mutation vector, V i , G + 1 . The equation is presented as follows:
V i , G + 1 j = X r 1 , G j + F ( X r 2 , G j X r 3 , G j )
where r 1 , r 2 , and r 3 are different individuals required for determining the mutation equation, and r 1 r 2 r 3 . F is the scale factor. The 2D descript of mutation is shown in Figure 11. The purpose of this study was to optimize the operation of dual-gantry, multi-head SMP machines. The following section introduces problems, inter-relationships of problems, and their influences on SMP operations.
U i , G + 1 j = { V i , G + 1 j , i f r a n d j ( 0 , 1 ) C R X i , G j , o t h e r w i s e
where U i , G + 1 j is an individual after crossover, V i , G + 1 j is a mutated individual, and X i , G j is the individual before mutation. Regarding the CR ranges of [0,1], a lower CR indicates a smaller effect in enhancing mutation; by contrast, a higher CR implies a stronger effect in enhancing mutation. Most researchers have suggested that a CR range of [0.8,1] is most effective for a seeking solution.
(c)
Selection
Selection is the final step in a DE algorithm, which evaluates the fitness value of each individual after crossover. After comparing the individuals before and after crossover, which is exhibited, the higher fitness value is used for the next generation of evolution. The equation is presented as follows:
X i , G + 1 = { U i , G + 1 , i f   F i t ( U i , G + 1 ) > F i t ( X i , G ) X i , G , o t h e r w i s e

MDE Algorithm

This study chose a DE algorithm and a random-key encoding mapping method for feeder arrangement; however, conventional DE algorithm is often trapped in local solutions owing to its premature convergence. Many researchers have developed new methods for DE to ameliorate the premature convergence. For instance, Choi and Ahn [18] improved DE by monitoring the evolutionary progress of each individual and assigned two control parameters according to the evolution result. Choi and Lee [19] proposed an ex-tended self-adaptive differential evolution algorithm which increases the greediness of jDE algorithm searchability. Choi et al. [20] developed a sigmoid-based parameter control in order to alternate the failure threshold for performing the Cauchy mutation. In this case, the proposed algorithm, which advances the Cauchy mutation, can establish a good ratio between exploration and exploitation. Therefore, instead of monitoring the failure evolution individuals, an MDE algorithm which focuses on expanding the diversity of evolution individuals is proposed in this study. MDE aims to retain the diversity of DE algorithms via removing individuals with high similarity so that the algorithm has more of a chance to search for the optimal solutions. In other words, two similarity measurement mechanisms are introduced to ensure the diversity populations in MDE; therefore, the populations are able to expand the search space. The fitness values of picking sequences were evaluated to derive the least number of picks and picking cycles. The flow chart for MDE algorithm is presented in Figure 12.
(a)
Initialization
The initialization process adopted Equation (6) and the range [0,1] to generate individuals, specifically, X m i n = 0 and X m a x = 1.
(b)
Selection
In the calculation of fitness values, the random-key method was used to map the real numbers to integers, each of which represents the index of a feeder slot. The numbers of picks were employed as the fitness values.
Because integers are used for feeder slots, the conventional DE algorithm cannot be adopted directly. The random-key method [21,22] is used to map real numbers to integers. This technique was also applied in this study for mapping the real number of DE individuals to integers, which were subsequently used to number feeder slots.
The random-key method involves mapping real numbers to integers in ascending order. As presented in Figure 13, if an individual’s values are {0.17, 0.51, 0.32, 0.12, 0.35, 0.42}, sorting the real numbers from low to high and assigning an index to each, starting with 1 and indexing by 1 for each successive number, then the mapped integers range from 1 to 6, yielding a mapped result of {2, 6, 3, 1, 4, 5}.
On the basis of the integers determined from the random-key method, components were distributed to their corresponding feeder slots, as presented in Figure 14. Assuming that the feeder slot station has 20 slots and there are 10 components, the first 10 random-keys were selected as slot seats for 10 components.
After components were allocated to feeder slots, the least number of picks was adopted as the reference for picking sequence for each picking cycle. Before the picking process, component heights were examined to ensure they did not exceed the current height restriction. Shorter components must be picked up and placed first to avoid collisions among heads during operation.
(c)
Similarity
Conventional DE algorithms cannot be used to avoid local solutions, which impede the identification of the optimal solution. Therefore, this study applied two similarity methods, measuring the level of similarity between the global best solution ( G b e s t ) and others. When multiple individuals are similar to the G b e s t position, half of the individuals with inferior fitness values are eliminated and then generate possible offspring to increase the diversity. The remaining individuals are used in the local search to seek more favorable solutions.
This study proposed two similarity measurement mechanisms, both of which use the G b e s t position as the measurement criterion and measure its similarity with other individuals.
  • Similarity 1: This method measured the Euclidean distance between an individual and G b e s t to determine their level of similarity. The mean level of similarity ( A v g S i m i l a r i t y ) is the threshold value; individuals with levels of similarity lower than this value are defined as being similar to the G b e s t position. The equation is presented as follows:
    S i m i l a r i t y 1 = i = 1 N P j = 1 D ( G b e s t j X i , j ) 2
    A v g S i m i l a r i t y 1 = S i m i l a r i t y 1 N P
    where variable NP is the total number of individuals, D represents dimensions, G b e s t j is the G b e s t position, and X i , j represents individual j.
  • Similarity 2: Based on the Dice coefficient [23], feeder slots loaded with components are presented in sets to obtain a set-similarity metric function. The equation is presented as follows:
    S i m i l a r i t y 2 = 2 { X Y } { X } + { Y }
    where {X} represents set X, {Y} represents set Y, and { X Y } is the intersection of sets X and Y.
As presented in Figure 15, it is assumed that 20 feeder slots are allocated for 10 components and that only feeder slots to which components have been allocated are counted. This example used the first 10 dimensions as the reference for sets. The set of G b e s t position was {11, 3, 5, 6, 20, 12, 14, 1, 10, 2}, the set of Individual 1 was {1, 2, 8, 12, 10, 11, 6, 5, 14, 3}, and the set of Individual 2 was {5, 18, 19, 1, 7, 6, 9, 13, 12, 3}. Those with red grids denote the intersections between them; specifically, | G b e s t i n d i v i d u a l 1 | = {1, 2, 3, 5, 6, 11, 12, 14}, and | G b e s t i n d i v i d u a l 2 | = {1, 3, 5, 6}. The results of the set metric function on levels of similarity revealed that the similarity of Individual 1 with G b e s t was 80%, and the similarity of Individual 2 with G b e s t was 40%.

4.4. Determining Placing Sequence Using the Nearest-Neighbor Search and 2-Opt Method

Some heuristics have been studied for solving component-to-feeder assignment and component placing sequence problem. Heuristics such as nearest-neighbor search, nearest insertion, furthest insertion, and random generation were used to initialize a placing sequence. On the other hand, methods such as 2-opt, 3-opt, and Or-opt were used to improve the initial placing sequence [24]. There are many other mathematical optimization approaches for solving the placing sequence problem; however, providing a fast and simple algorithm is better for industrial implementation. Therefore, in this study, a nearest-neighbor search was applied to determine the shortest route for placement; subsequently, the placing routes were shortened by using the 2-opt method. Firstly, component 1 is placed by calculating the distance between the feeder slot and the first placing position. Then, the distance between the first placing position and the second placing position is calculated for component 2. Continue the above steps for all components that need to be placed on a cycle.
The shortest route between a feeder slot and the first component placing position of each cycle is determined independently because each component can be placed in more than one position. We used an example to illustrate how to determine the first placing position. As presented in Figure 16, it is assumed that the first component can be placed in one of the six possible positions, A, B, C, D, E, or F. Using the Euclidean distance to calculate the nearest position from the feeder slot revealed that A is the nearest position, that is, the first component placing position.
Based on the first component placing position, the nearest-neighbor search approach was used to identify the second component placing position, until the placing sequences of all components were determined in Figure 17. Figure 17a shows that the possible second component placing positions are S1–S6, and the nearest distance from the first component placing position A is S2. Therefore, S2 in Figure 17a is selected as the second placing position B. Figure 17b shows that the possible third component placing positions are S1–S6, and the nearest distance from the first component placing position B is S1. Therefore, S1 in Figure 17b is selected as the second placing position C. Continue the selecting process until all the placing positions are determined (Figure 17c–f).
After all placing sequences were obtained, the 2-opt method was used to optimize the route for these placing sequences of all cycles. As presented in Figure 18, the sequence on the top is ABCDEF, which was changed to the sequence on the bottom, ACBDEF, by changing the order of placing sequences C and B.

5. Experimental Results

To verify that the proposed methods are able to reduce the number of picks and shorten the assembly time, this study experimented on 10 PCBs with different numbers and types of components and examined the results. The description of the practical PCBs is presented in Table 3, and according to the literature reviews [1,2,3,4,5,6,7,8,9], three well-known algorithms including DE, PSO, and GA are compared with the proposed MDE algorithm under the same conditions, and the experimental results are presented in Table 4, Table 5, Table 6, Table 7 and Table 8. The parameter NP was 30, iteration time was 1000, CR was 0.8, and scaling factor was 0.9. Equation (6) was used for mutation calculation.
Table 4 and Table 6 compare the number of picks and moving distance of gantries during their component picking processes, respectively. Those two tables are mainly used to evaluate the feeder arrangement and picking sequence using the proposed MDE algorithm and other algorithms. Table 7 describes the assembly time for each PCB, which is focusing on assessing the performance of placing sequence using the NNS and 2-opt method.
According to Table 4 and Figure 19, MDE is better than DE, DE is better than PSO, and PSO is better than GA. The experimental results can be discussed in light of [25], where the solutions of GA are ranked based on the fitness values and the offspring solutions produced by crossover are more likely to be similar to the parents. In the other words, it is often found that GA operators cannot produce all potential solutions. For PSO, a new swarm of particles is generated via the velocity and position update equations, ensuring that all new particles can be very different than the old ones. Based on this observation, PSO could generate any potential values within the solution space. Since the best particle in the swarm is able to influence all the remaining solutions, this might lead to premature convergence of the population toward a particular solution. Similar to PSO, DE is also based on floating-point arithmetic; however, the diversification of DE is better because the best solution does not influence the other solutions. Moreover, the mutant vector is a solution that is not from the original population.
Nevertheless, to remedy the drawback of the tendency of those three algorithms to rapidly converge, a very frequently used alternative is to keep the global best particle and regenerate all or part of the remaining particles. In this study, the MDE algorithm, which removes populations with high similarity to retain the diversity of the solutions, is presented and the experimental results demonstrate considerably fewer average number of picks than conventional DE, PSO, and GA conducted by Gantry_1 and Gantry_2.
In Figure 19, compared with those three algorithms, the MDE algorithm is able to jump off the local optimal solution with less generations, which may be the reason the two similarity measurement mechanisms are used. In addition, the MDE with Euclidean distance similarity method can converge faster than the similarity method using the Dice coefficient; however, their final results of average number of picks are almost the same. From those experimental results, the MDE algorithm is shown to be the highest performance in feeder arrangement compared with DE, PSO, and GA. Moreover, Table 5 demonstrates the difference of number of picks using MDE in comparison with those of three well-known algorithms. A gantry can reduce at most 30% of the number of picks while using the MDE algorithm which meets the company’s needs, which provided the practical PCB data in this experiment; however, according to no free lunch theorem [26] once the number of components increased in each PCBs (>1000) or the types of components vary (>30), the training time of MDE might increase, which results in time-consuming manufacturing.
Table 6 displayed that the moving distances of two gantries for the picking process were decreased with the proposed MDE algorithm. From Table 4 and Table 6, the results reveal that in comparison to other evolutionary algorithms, the MDE algorithm provides a proper feeder arrangement which is able to reduce the number of picks and also reduce the gantries’ moving distances.
Table 7 presents the total picking-and-placing assembly time required for each of the 10 PCBs. A combination of NNS and 2-opt method is primarily involved in components placing operation. The total assembly time was calculated using Equation (6), which involved comparing the time required by the two gantries to finish their tasks. Figure 20 depicts the assembly of PCB-1 using Similarity 1 in the MDE algorithm as the example. When Gantry_1 was placing components and Gantry_2 was picking components, the longer time required between the two simultaneous operations was used in the calculation. Similarly, when Gantry_1 was picking components and Gantry_2 was placing components, as shown in Figure 21, only the longer time required between the two simultaneous operations was used in the calculation. Finally, the sum of the time represented the total assembly time, as presented in Figure 22. The proposed methods required less assembly time for PCBs tested as shown numerically in Table 7 and graphically in Figure 23. Table 8 demonstrates the difference of assembly time for each PCB using the MDE in comparison with those of the three well-known algorithms. The assembly time is decreased at most by 13% using the proposed method.

6. Conclusions

This study focuses on the component allocation and feeder arrangement for dual-gantry multi-head SMP machines and solves related scheduling problems using four approaches. The component allocation problem was solved using a workload equalizing approach, which equalized component allocation to the two gantries. The ANC assignment problem was solved using quantity ratio method to determine the required number for each type of nozzle to be installed at each ANC. Moreover, the proposed MDE algorithm identifying the picking sequence that gave the least number of picks was applied for the feeder arrangement. The nearest-neighbor search method was used for deriving initial solutions, and then the 2-opt method was applied to improve the tentative placement routes. Experimental results show that the number of picks, moving distance of picking components, and total assembly time with the proposed MDE algorithm are less than those from DE, PSO, and GA algorithms. This study provides a reference for SMP scheduling in PCB industry.
Practically, there are many types of components placed in a PCB, and sometimes the components are not equal in equal size. Larger component size occupies two head spaces, and the adjacent head cannot be used for other components. The restriction of component shape is not considered in the current study, and this can be conducted in the future work. Additional experiments are suggested to consider (i) the effect of components on shape and component orientation, and their impact on picking and placing; and (ii) whether other optimal algorithms such as modified PSO/GA can be implemented in the future to obtain comprehensive results and demonstrate whether the proposed MDE algorithm is superior.

Author Contributions

Conceptualization, C.-J.L.; methodology, C.-J.L. and C.-H.L.; software, C.-H.L.; data curation, C.-J.L.; writing—original draft preparation, C.-H.L.; writing—review and editing, C.-J.L.; supervision, C.-J.L.; funding acquisition, C.-J.L. Both authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Ministry of Science and Technology of the Republic of China, grant number MOST 109-2218-E-005-002.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interests regarding the publication of this paper.

References

  1. Sun, D.S.; Lee, T.E.; Kim, K.H. Component allocation and feeder arrangement for a dual-gantry multi-head surface mount placement tool. Int. J. Prod. Econ. 2005, 95, 245–264. [Google Scholar] [CrossRef]
  2. Du, X.; Li, Z. Placement process optimization of dual-gantry turret placement machine. In Proceedings of the 2008 IEEE/ASME International Conference on Advanced Intelligent Mechatronics, Xi’an, China, 2–5 July 2008; pp. 1266–1271. [Google Scholar]
  3. Ashayeri, J.; Ma, N.; Sotirov, R. An aggregated optimization model for multi-head SMD placements. Comput. Ind. Eng. 2011, 60, 99–105. [Google Scholar] [CrossRef] [Green Version]
  4. Torabi, S.A.; Hamedi, M.; Ashayeri, J. A new optimization approach for nozzle selection and component allocation in multi-head beam-type SMD placement machines. J. Manuf. Syst. 2013, 32, 700–714. [Google Scholar] [CrossRef]
  5. Zhu, G.-Y.; Zhang, W.-B. An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem. Expert Syst. Appl. 2014, 41, 6818–6829. [Google Scholar] [CrossRef]
  6. He, T.; Li, D.; Yoon, S.W. A Hierarchical Restricted Balance Approach for Workload Balance of a Dual-Delivery SMT Placement Machine. In Proceedings of the IIE Annual Conference, Nashville, TN, USA, 30 May–2 June 2015; pp. 808–817. [Google Scholar]
  7. Li, D.; Yoon, S.W. PCB assembly optimization in a single gantry high-speed rotary-head collect-and-place machine. Int. J. Adv. Manuf. Technol. 2017, 88, 2819–2834. [Google Scholar] [CrossRef]
  8. He, T.; Li, D.; Yoon, S.W. A multi-phase planning heuristic for a dual-delivery SMT placement machine optimization. Robot. Comput.-Integr. Manuf. 2017, 47, 85–94. [Google Scholar] [CrossRef]
  9. Huang, Y.; Zhao, L.; Liu, P. Applied Research of Hierarchical Multi-objective Optimization Method in High Speed and High Precision Placement Machine. J. Phys. Conf. Ser. 2020, 1605, 012029. [Google Scholar] [CrossRef]
  10. Lin, H.Y.; Lin, C.J.; Huang, M.L. Optimization of printed circuit board component placement using an efficient hybrid genetic Algorithm. Appl. Intell. 2016, 45, 622–637. [Google Scholar] [CrossRef]
  11. He, T.; Li, D.; Yoon, S.W. An adaptive clustering-based genetic algorithm for the dual-gantry pick-and place machine optimization. Adv. Eng. Inform. 2018, 37, 66–78. [Google Scholar] [CrossRef]
  12. Li, Z.; Yu, X.; Qiu, J.; Gao, H. Cell Division Genetic Algorithm for Component Allocation Optimization in Multi-Functional Placers. IEEE Trans. Ind. Inform. (Early Access) 2021. [Google Scholar] [CrossRef]
  13. Huang, X.; Li, C.; Chen, H.; An, D. Task scheduling in cloud computing using particle swarm optimization with time varying inertia weight strategies. Clust. Comput. 2019, 23, 1137–1147. [Google Scholar] [CrossRef]
  14. Hsu, H.P. Solving feeder assignment and component sequencing problems for printed circuit board assembly using particle swarm optimization. IEEE Trans. Autom. Sci. Eng. 2017, 14, 881–893. [Google Scholar] [CrossRef]
  15. Zhao, H.; Gao, W.; Deng, W.; Sun, M. Study on an Adaptive Co-Evolutionary ACO Algorithm for Complex Optimization Problems. Symmetry 2018, 10, 104. [Google Scholar] [CrossRef] [Green Version]
  16. Storn, R. On the usage of differential evolution for function optimization. In Proceedings of the Biennial Conference of the North American Fuzzy Information Processing Society (NAFIPS), Berkeley, CA, USA, 19–22 June 1996; pp. 519–523. [Google Scholar]
  17. Storn, R.; Price, K. Differential evolution—A simple and efficient adaptive scheme for global optimization over continuous spaces. J. Glob. Optim. 1997, 11, 341–359. [Google Scholar] [CrossRef]
  18. Choi, T.J.; Ahn, C.W. An Improved Differential Evolution Algorithm and Its Application to Large-Scale Artificial Neural Networks. J. Phys. Conf. Ser. 2017, 806, 012010. [Google Scholar] [CrossRef] [Green Version]
  19. Choi, T.J.; Lee, Y. Asynchronous differential evolution with self- adaptive parameter control for global numerical optimization. Matec Web Conf. 2018, 189, 03020. [Google Scholar] [CrossRef] [Green Version]
  20. Choi, T.J.; Togelius, J.; Cheong, Y.-G. Advanced Cauchy Mutation for Differential Evolution in Numerical Optimization. IEEE Access 2020, 8, 8720–8734. [Google Scholar] [CrossRef]
  21. Bean, J.C. Genetic Algorithms and Random Keys for Sequencing and Optimization. INFORMS J. Comput. 1994, 6, 154–160. [Google Scholar] [CrossRef]
  22. Faria, H.; Resende, M.G.; Ernst, D. A biased random key genetic algorithm applied to the electric distribution network reconfiguration problem. J. Heuristics 2017, 23, 533–550. [Google Scholar] [CrossRef] [Green Version]
  23. Dice, L.R. Measures of the Amount of Ecologic Association Between Species. Ecology 1945, 26, 297–302. [Google Scholar] [CrossRef]
  24. Hsu, H.-P. Printed Circuit Board Assembly Planning for Multi-Head Gantry SMT Machine Using Multi-Swarm and Discrete Firefly Algorithm. IEEE Access 2020, 9, 1642–1654. [Google Scholar] [CrossRef]
  25. Kachitvichyanukul, V. Comparison of Three Evolutionary Algorithms: GA, PSO, and DE. Ind. Eng. Manag. Syst. 2012, 11, 215–223. [Google Scholar] [CrossRef] [Green Version]
  26. Wolpert, D.H.; Macready, W.G. No free lunch theorems for optimization. IEEE Trans. Evol. Comput. 1997, 1, 67–82. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Dual-gantry, multi-head SMP machine.
Figure 1. Dual-gantry, multi-head SMP machine.
Mathematics 09 02016 g001
Figure 2. One pick sequence.
Figure 2. One pick sequence.
Mathematics 09 02016 g002
Figure 3. Multiple picks.
Figure 3. Multiple picks.
Mathematics 09 02016 g003
Figure 4. Alternating operations of the two gantries.
Figure 4. Alternating operations of the two gantries.
Mathematics 09 02016 g004
Figure 5. Research flow chart.
Figure 5. Research flow chart.
Mathematics 09 02016 g005
Figure 6. Component allocation.
Figure 6. Component allocation.
Mathematics 09 02016 g006
Figure 7. Proportions of the types of nozzles used.
Figure 7. Proportions of the types of nozzles used.
Mathematics 09 02016 g007
Figure 8. Assigning one seat for each nozzle type in ANC.
Figure 8. Assigning one seat for each nozzle type in ANC.
Mathematics 09 02016 g008
Figure 9. Proportional assignment of nozzles to the ANC.
Figure 9. Proportional assignment of nozzles to the ANC.
Mathematics 09 02016 g009
Figure 10. Flow chart of the DE algorithm.
Figure 10. Flow chart of the DE algorithm.
Mathematics 09 02016 g010
Figure 11. 2D depiction of mutation.
Figure 11. 2D depiction of mutation.
Mathematics 09 02016 g011
Figure 12. Flow chart of the MDE algorithm.
Figure 12. Flow chart of the MDE algorithm.
Mathematics 09 02016 g012
Figure 13. Mapping of a random key.
Figure 13. Mapping of a random key.
Mathematics 09 02016 g013
Figure 14. Allocating components to the feeder station.
Figure 14. Allocating components to the feeder station.
Mathematics 09 02016 g014
Figure 15. Set similarity metric function.
Figure 15. Set similarity metric function.
Mathematics 09 02016 g015
Figure 16. Feeder slot and the first component.
Figure 16. Feeder slot and the first component.
Mathematics 09 02016 g016
Figure 17. The steps of NNS method: (a) the first component placing position A with other possible second component placing positions S1-S6; (b) B is selected for the nearest distance from A as a second component placing position; (cf) Continue the selecting process until all the placing positions are determined.
Figure 17. The steps of NNS method: (a) the first component placing position A with other possible second component placing positions S1-S6; (b) B is selected for the nearest distance from A as a second component placing position; (cf) Continue the selecting process until all the placing positions are determined.
Mathematics 09 02016 g017
Figure 18. The 2-opt method.
Figure 18. The 2-opt method.
Mathematics 09 02016 g018
Figure 19. Learning curve regarding the number of picks.
Figure 19. Learning curve regarding the number of picks.
Mathematics 09 02016 g019
Figure 20. Gantry_1 is placing, and Gantry_2 is picking components.
Figure 20. Gantry_1 is placing, and Gantry_2 is picking components.
Mathematics 09 02016 g020
Figure 21. Gantry_1 is picking, and Gantry_2 is placing components.
Figure 21. Gantry_1 is picking, and Gantry_2 is placing components.
Mathematics 09 02016 g021
Figure 22. Total assembly time.
Figure 22. Total assembly time.
Mathematics 09 02016 g022
Figure 23. Bar chart of assembly times for each PCB.
Figure 23. Bar chart of assembly times for each PCB.
Mathematics 09 02016 g023
Table 1. Summary of the discussed problem in the related studies.
Table 1. Summary of the discussed problem in the related studies.
Component AllocationANC
Assignment
Feeder
Arrangement
Component HeightPick-and-Place SequenceMethod
Sun et al. [1] GA
Du and Li [2] Hybrid GA
Ashayeri et al. [3] MIP
Torabi et al. [4] MOPSO
Zhu and Zhang [5] ISFLA
He et al. [6] HRB
Li and Yoon [7] ANNTS
He et al. [8] HS
Huang et al. [9] HMO
This studyMDE
GA: genetic algorithm, MIP: mixed-integer program, MOPSO: multi-objective particle swarm optimization, ISFLA: improved basic shuffled frog-leaping algorithm, HRB: hierarchical restricted balance, ANNTS: adaptive nearest-neighbor tabu search, HS: hierarchical strategy, and HMO: hierarchical multi-objective.
Table 2. The number of each type of nozzle.
Table 2. The number of each type of nozzle.
ComponentNozzleTotal Number of Components for the NozzleQuantity
Ratio
TypeQuantityTypeSize
D15AN2Small5020%
B35
A20AN3Small208%
E80AN4Small8032%
C100AN5Small10040%
F10ANV1Large10100%
Table 3. PCB information.
Table 3. PCB information.
PCBNumber of ComponentsComponent TypesNozzle Types
PCB-1322175
PCB-2396144
PCB-3532144
PCB-4586163
PCB-5614172
PCB-6638184
PCB-7682195
PCB-8696175
PCB-9720153
PCB-10796172
Table 4. Number of picks.
Table 4. Number of picks.
MethodsMDEDEPSOGA
Similarity1Similarity2
Gantry1212121212
PCB-144615168627067756477
PCB-247705264678989968287
PCB-393919292989410010896119
PCB-4857383741039611390116117
PCB-510610099100118114119116128124
PCB-692939593100107128113127129
PCB-7121128132129142154126159172157
PCB-8108112109117134120130151142151
PCB-99310994107127117134122129132
PCB-10119124119122141151154137155155
Average90.896.192.696.6109.2111.2116116.7121.1124.8
Table 5. The difference of the number of picks.
Table 5. The difference of the number of picks.
DEPSOGA
Gantry121212
MDE Similarity1−20.3%−15.7%−27.7%−21.4%−33.4%−30.0%
MDE Similarity2−18.0%−15.1%−25.2%−20.8%−25.3%−29.2%
Table 6. Moving distance for picking.
Table 6. Moving distance for picking.
PCB
Methods
PCB-1PCB-2PCB-3PCB-4PCB-5PCB-6PCB-7PCB-8PCB-9PCB-10Average
MDE
Similarity 1
Gantry_15535.96386.014,393.613,189.37890.45687.514,087.75921.014,087.78882.69606.2
Gantry_222,098.524,283.035,681.538,810.745,165.253,235.652,695.149,152.552,695.151,267.842,508.5
MDE
Similarity 2
Gantry_18996.76243.48045.64909.027,345.514,804.714,339.615,061.714,339.612,437.512,652.3
Gantry_228,887.424,629.236,614.338,195.445,436.843,432.952,207.558,298.652,207.552,018.643,192.8
DEGantry_117,300.68164.917,093.518,870.216,074.520,976.429,878.216,623.029,878.222,145.119,700.5
Gantry_230,402.329,038.347,589.349,700.073,724.161,888.148,086.160,670.648,086.165,426.551,461.1
PSOGantry_120,085.046,903.414,901.819,732.450,936.956,762.930,744.576,028.730,744.562,205.540,904.6
Gantry_226,791.465,493.168,364.644,386.856,528.251,164.052,767.675,556.752,767.661,737.655,555.8
GAGantry_115,732.531,684.021,321.155,354.455,776.376,430.625,093.526,523.625,093.526,929.935,993.9
Gantry_234,702.827,899.866,586.122,457.952,666.337,960.348,536.272,913.348,536.263,998.647,625.8
Table 7. Assembly time for each PCB.
Table 7. Assembly time for each PCB.
Methods
PCB
MDEDEPSOGA
Similarity1Similarity2
PCB-1194.1193.5211.4197.5212.8
PCB-2277.3282.8301.9324.8297.2
PCB-3184.6179.3194.7227.9233.2
PCB-4233.8222.3242.0245.7250.0
PCB-5287.8294.3312.1321.4313.6
PCB-6274.0284.0288.3314.4313.7
PCB-7318.5304.2373.2343.3352.6
PCB-8245.5267.4284.6284.0282.1
PCB-9350.5349.4387.1409.6361.8
PCB-10296.5305.0329.0340.6308.6
Average266.26268.22292.43300.92292.56
Table 8. The difference of assembly time for each PCB.
Table 8. The difference of assembly time for each PCB.
DEPSOGA
MDE Similarity1−9.8%−13.0%−9.8%
MDE Similarity2−9.0%−12.2%−9.1%
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Lin, C.-J.; Lin, C.-H. Using an Improved Differential Evolution for Scheduling Optimization of Dual-Gantry Multi-Head Surface-Mount Placement Machine. Mathematics 2021, 9, 2016. https://doi.org/10.3390/math9162016

AMA Style

Lin C-J, Lin C-H. Using an Improved Differential Evolution for Scheduling Optimization of Dual-Gantry Multi-Head Surface-Mount Placement Machine. Mathematics. 2021; 9(16):2016. https://doi.org/10.3390/math9162016

Chicago/Turabian Style

Lin, Cheng-Jian, and Chun-Hui Lin. 2021. "Using an Improved Differential Evolution for Scheduling Optimization of Dual-Gantry Multi-Head Surface-Mount Placement Machine" Mathematics 9, no. 16: 2016. https://doi.org/10.3390/math9162016

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop