ESWA 9307
No. of Pages 12, Model 5G
14 May 2014 Expert Systems with Applications xxx (2014) xxx–xxx 1
Contents lists available at ScienceDirect
Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa 5 6
An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem
3 4 7 8 9 10 1 2 2 2 13 14 15 16 17 18 19 20 21
Q1
Guang-Yu Zhu ⇑, Wei-Bo Zhang School of Mechanical Engineering and Automation, Fuzhou University, Fuzhou, Fujian 35002, PR China
a r t i c l e
i n f o
Keywords: Combinatorial optimization Component placement sequence optimization Shuffled Frog-leaping Algorithm A Shuffled Frog-leaping Algorithm with variation behavior
a b s t r a c t The component pick-and-place sequence is one of the key factors to affect the working efficiency of the surface mounting machine in the printed circuit board assembly. In this paper, an improved Shuffled Frog-leaping Algorithm was presented by improving the basic Shuffled Frog-leaping Algorithm (SFLA) with the strategy of letting all frogs taking part in memetic evolution and adding the self-variation behavior to the frog. The objective function of component pick-and-place sequence of the gantry multi-head component surface mounting machine was established. Parameters selection is critical for SFLA. In this study, Three-way ANOVA was used in parameters analyzing of the new improved SFLA. The parameters like memeplex numbers m, the frogs’ number P and local evolution numbers iPart were found having notable effects on the mounting time (time spent for components picking and placing), but the interactions among these parameters were not obvious. Multiple comparison procedures were adopted to determine the best parameter settings. In order to test the performance of the new algorithm, several experiments were carried out to compare the performance of improved SFLA with the basic SFLA and the genetic algorithm (GA) in solving the component pick-and-place sequence optimization problems. The experiment results indicate that improved SFLA can solve the optimization problem efficiently and outperforms SFLA and GA in terms of convergence accuracy, although more CPU time is undeniably needed. Ó 2014 Published by Elsevier Ltd.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
41 42
1. Introduction
43
The traditional, manual, plug-in assembly method cannot meet the requirements of the printed circuit board (PCB) components installation which is characterized by miniaturization, micromation, chip-based, and high performance. The assembly costs, product quantity, volume, and reliability of the manual plug-in assembly method have reached their limit. Meanwhile the Surface Mount Technology (SMT) showed great vitality and was used widely in industrial applications. In SMT, the gantry multi-head component surface mounting machine is the most flexible one that can fit the widest range of components. Therefore, this kind of machine has the most extensive range of applications (Ashayeri, Ma, & Sotirov 2011; Ayob & Kendall, 2008; Kallio, Johnsson, & Nevalainen, 2012; Luo & Liu, 2013). The operation efficiency of the gantry component surface mounting machine has become one of the bottlenecks for the development of surface mounting equipment. The problem of operation efficiency is a typical surface mounting technical optimization problem with three subproblems: the feeder slots location assignment, the component
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
⇑ Corresponding author. Tel.: +86 0591 87893179. E-mail address:
[email protected] (G.-Y. Zhu).
picking sequencing optimization, and the component placing sequencing optimization (Altinkemer, Kazaz, Köksalan, et al., 2000; Ho & Ji, 2003; Shayeri, Ma, & Sotirov, 2011; Wu, Ji, & Ho, 2009). These sub-problems are known to be NP-hard, with the characteristics of high dimension, discrete and nonlinear. The global optimal solution is not easy to obtain with the traditional method (Chang, Huang, & Ting, 2012; Torabi, Hamedi, & Ashayeri, 2013). Many researchers have tried to solve these three sub-problems with various intelligent optimization algorithms. The multilayer neural networks were trained by Vainio et al. to approximate the assembly times of two different types of assembly machines based on several parameter combinations (Vainio, Maier, Knuutila, et al., 2010). Li and Tian (2008) solved the feeder location distribution problems with a genetic algorithm (GA) on the basis that the component pick-and-place sequence had been given. With a genetic algorithm (GA), Kulaka, Yilmazb, and Güntherb (2007) tried to solve the assignment of feeders to slots in the component magazine and the sequencing of the placement operations for collectand-place machines. In his work, a revolver-type placement head was used to mount electronic components onto the board. Grunow, Güntherb, Schleusener, and Yilmaz (2004) presented a three-stage heuristic solution approach to solve operations
http://dx.doi.org/10.1016/j.eswa.2014.04.038 0957-4174/Ó 2014 Published by Elsevier Ltd.
Please cite this article in press as: Zhu, G.-Y., & Zhang, W. B. An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem. Expert Systems with Applications (2014), http://dx.doi.org/10.1016/j.eswa.2014.04.038
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
ESWA 9307
No. of Pages 12, Model 5G
14 May 2014 2 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
G.-Y. Zhu, W.-B. Zhang / Expert Systems with Applications xxx (2014) xxx–xxx
planning for collect-and-place machines. Ho and Ji (2003) optimized the sequence of component placements and the arrangement of component types to feeders simultaneously with a Hybrid Genetic Algorithm (HGA) for a chip shooter machine, which produced more satisfactory results than what had been achieved prior to this point in time. Hong, Lee, Lee, et al. (2000) presented a method in which the feeder group was considered as one feeder and the component-cluster, with many various component models, as one model. Therefore the multi-heads problem was converted as a single head pick-and-place machine optimization problems. A biological immune algorithm was then adopted to solve this problem, and a better optimization solution was obtained when compared with the heuristic algorithm, which was adopted in an engineering project (Hong et al., 2000). Based on the analysis of these three sub-problems, a synthesized objective function was proposed by Chen and Lin (2007), and the particle swarm optimization (PSO) algorithm was adopted to solve the pick-and-place sequence optimization problem. Nozzles selection is an important sub-problem of the scheduling optimization problem of the surface mounting machine. The efficient greedy algorithms were used by Ráduly-Baka, Knuutila, Johnsson, and Nevalainen (2008) to solve the nozzles selection problem. Ráduly-Baka, Knuutila, Johnsson, and Nevalainen Olli (2010), Ráduly-Baka, Knuutila, Johnsson, and Nevalainen Olli (2011) also pointed out that the insertion of certain component types caused a delay in the movement of the component tape. The problem of assigning components to the sequencer was studied to minimize the tape construction delay. An integer programming formulation was created to describe the problem and an optimization algorithm was presented to minimize the component insertion time caused by the delay. The random restart hill climbing algorithm Q2 was used by Costa Filho, de Oliveira, and Costa (2010) to minimize the mounting time of components in a printed circuit board. Based on the extensive study of the different SMT optimization Q3 researches, Ayob et al. (2008) determined that all of the existing research had deficiencies. First, the characteristics and operational methods of the component placement machine were not clearly given, therefore the objective function was not clear; secondly, the moving distance of the heads or printed circuit board was often used as the mathematical expression of the object for formulating the objective function. They thought the type of component placement machines must be decided. However the mounting time, rather than the moving distance, should in fact be used for establishing the objective function in solving these kinds of optimization problems. In solving surface mounting problems, we found that there exists a direct relationship between the distribution of the location of components on the feeders and the position of the slots in the component surface mounting machine. Since there are 80 slots in both the front and the rear sides of some gantry multi-head component placement machines (such as JUKI2050M and JUKI2010F), the number of component types can meet the requirements of some PCB mounting. Thus, the components’ location on the feeder can be predetermined. The surface mounting technical optimization problem can then be converted to the component pick-andplace sequencing optimization problem that was similar to the well-known vehicle-routing problem (Grunow et al., 2004). Therefore, in order to overcome the shortcomings of the existing studies, this research will use the surface mounting time as the object to establish the objective function (the mathematical model) of the component pick-and-place sequencing optimization. The Shuffled Frog-leaping Algorithm (SFLA) was improved and a new Shuffled Frog-leaping Algorithm is presented and applied in the pick-andplace sequencing optimization. SFLA was initially proposed by Eusuff and Lansey (2003) and successfully applied to the water resource net distribution.
Favorable results were achieved (Eusuff & Lansey, 2003; Eusuff, Lansey, & Pasha, 2006). The algorithm was also used to solve other significant challenges, such as the workshop dispatch problem (Alireza et al., 2007, Alireza & Ali, 2008; Alireza, Mostafa, Hamed, et al., 2009), a lot-streaming flow shop scheduling problem (Pan, Wang, Gao, & Li, 2011), Jiles–Atherton (JA) model parameter determination (Naghizadeh, Vahidi, & Hosseinian, 2012), the resource-constrained project scheduling problem (Fang & Wang, 2012), the estimation of induction motor double-cage model parameters (Gomez-Gonzalez, Jurado, & Perez, 2012; Perez, Gomez-Gonzalez, & Jurado, 2013), the economic load dispatch problem (Roy, Roy, & Chakrabarti, 2013), the performance evaluation of radial distribution networks (Gomez-Gonzalez, Ruiz-Rodriguez, & Jurado, 2014), the 0/1 knapsack problem (Bhattacharjee & Sarmah, 2014), and the vehicle routing problems (Luo & Chen, 2014). This algorithm has been of considerable interest in recent years as a population-based technique for optimization. The most significant benefit of this algorithm is fast convergence with accurate results and easy implementation and tune (Naghizadeh et al., 2012). Because of the obvious advantages of SFLA, this algorithm was selected and studied to solve the pick-and-place sequencing optimization problem. The remainder of the paper will discuss the following: Section 2 establishes the objective function of the pick-and-place scheduling problem for the gantry surface mounting machine; Section 3 describes the basic SFLA; Section 4 represents improved SFLA based on the improvement of the basic SFLA and the method is given; Section 5 compares the performances of improved SFLA, the basic SFLA and GA, and the parameters of improved SFLA are analyzed through experiments. The research results are presented in Section 6, which indicate that improved SFLA outperforms the basic SFLA and GA in terms of accuracy but more CPU time is indeed consumed. Future research works are also stated in this section.
150
2. Components mounting sequence description and the objective function
184
The structure of the gantry multi-head component surface mounting machine is illustrated in Fig. 1. The gantry robot with four heads moves between a feeder rack and the PCB. The feeders are mounted on the slots in the feeder rack. A PCB is transferred
186
Fig. 1. The gantry multi-head component surface mounting machine.
Please cite this article in press as: Zhu, G.-Y., & Zhang, W. B. An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem. Expert Systems with Applications (2014), http://dx.doi.org/10.1016/j.eswa.2014.04.038
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
185
187 188 189
ESWA 9307
No. of Pages 12, Model 5G
14 May 2014 G.-Y. Zhu, W.-B. Zhang / Expert Systems with Applications xxx (2014) xxx–xxx 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232
233
into the work table by a conveyor belt and fixed at a predetermined position. The gantry can then pick up components from all feeders on the feeder rack with nozzles on the heads. Since the distance between adjacent heads is equal to integer times the distance between two adjacent slots, the gantry can pick multiple components simultaneously during one pickup operation. The gantry can then place the components to any location on the PCB. The feeder type is an eight millimeter feeder. The range of components that can be loaded into a feeder is rather limited depending on the feeder width. Each feeder is fit for identical components, despite the fact that the type and size of the components that can be picked up by a nozzle are limited. The nozzle is automatically changed at the automatic nozzle changer (ANC) when it does not work. In this paper, we use the term ‘sub-tour’ to express the operation of the gantry robot for picking up and placing a number of components in a single trip. During a sub-tour, the components are picked up by four heads from the appropriate feeders and are then moved to the predetermined positions on the PCB and placed down onto the predetermined positions one by one in a single trip. All the sub-tours together are called the ‘overall tour’. When the overall tour is done, all the required components are placed onto a single board. The pick-and-place sequence is referred to as the operations of the overall tour. The pick-and-place sequence usually involves many sub-processes, and this makes the whole process very complex. During the modeling work, if all the factors are taken into account, the objective function will be very difficult to be established and solved. Thus, a suitable objective function was needed to be proposed by sacrificing some unnecessary processes. In this paper, we assume that the nozzle can pick up the correct component each time and only needs one action to pick it up. The same nozzle can additionally pick up different types of components. The coordinate (xisq ; ys ) is assumed to be the locating position of the qth component in the slot when a mounting head was going to pick it up. Then, (xisqþ1 ; ys ) denoted the locating position of the next component to be picked up (the q + 1th component) by next mounting head in sub-tour i. coordinates (xik ; yik ) and (xikþ1 ; yikþ1 ) denoted two adjacent placing positions within one sub-tour; Pi indicated the number of pick or place operations in sub-tour i and the maximum Pi is equal to four in this paper. L is the number of sub-tours. The variance v is the moving speed of the mounting head. The objective function expressed by time of component pick-and-place sequence and the constraints are given as follows:
3
2
7 6 L L 7 6X X 6 is i ij ij 7 r t 7 F ¼ min 6 ðt þ t Þ þ 7 6 i¼1 5 4 i; j ¼ 1 i–j
235 236
237
where:
t is ¼ 239 240
242
ti ¼
P i 1 X
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 ðxisq xisqþ1 Þ
q¼1
v
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 2 P i 1 X ðxik xikþ1 Þ þ ðyik yikþ1 Þ
v
k¼1
243
245
ð1Þ
t ij ¼
qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 2 ðxiPi xjsq Þ þ ðyPi yjsq Þ
v
ð2Þ
ð3Þ
ð4Þ
246
248
L X Pi ¼ M i¼1
ð5Þ
ij
r ¼
3
249
1 j¼iþ1 0
other
ð6Þ
251
Here are the variables used in these formulas:
252
tis, the time used by a head to pick up Pi components in a subtour; ti, the time used to place Pi components; tij, the time cost by the mounting head while moving from the last place position in sub-tour i to the first pick position of sub-tour j; rij, a variable used to determine whether the sub-tours i, j were adjacent or not. If the sub-tours were adjacent, rij = 1, otherwise rij = 0; M, the number of all of the components for the PCB.
253 254 255 256 257 258 259 260 261 262 263
Formula (5) is the constraints of the total number of the mounting components. Formula (1) is used as the fitness function of SFLA to guide the evolution of the algorithm.
264
3. The basic Shuffled Frog-leaping Algorithm
267
3.1. Shuffled Frog-leaping Algorithm
268
SFLA is a swarm intelligence-based meta-heuristic algorithm that has been developed for solving combinational optimization problems. The algorithm was constructed on the basis of the individual memetic evolution and the global memetic information exchange. Meme was defined as a unit of intellectual or cultural information that can be passed with a non-genetic method, such as imitation. Meme was used to express the individual’s thought, behavior, and other information. Thus, SFLA has the advantages of both the genetic evolution-based memetic algorithm (MA) and the social behavior-based PSO algorithm (Li, Zhou, Yang, et al., 2007). The conceptual idea of the SFLA was to generate P frogs randomly to form the initial population. The kth frog denoted the solution for the problem, which was represented as a vector of Xk = (Xk1, Xk2, . . . , Xks), where s was the number of decision variables, namely the dimension of the solution. The frogs were then ranked by the initial population in order of decreasing performance value. The P frogs were then divided into m memeplexes and each memeplex had n frogs, which was then P = m n. The frogs were divided in the following way: rank 1 went to memeplex 1, rank 2 went to memeplex 2, rank m went to memeplex m, rank m + 1 went to memeplex 1, rank m + 2 went to memeplex 2, and so on. The frog with the best fitness value from the population was then expressed as Xg(t). For each memeplex, during tth times search, after affected by the behavior and ideas of the frog with better fitness, the quality of frogs’ meme would be improved. The improved frog then moved towards the best frog. If the improved frog was only affected by the best frog, the evolution might be entrapped in a local optimum. In order to avoid this problem, a submemeplex was constructed by selecting frogs using a triangular probability distribution in the memeplex. In the submemeplex, the frog with the best fitness value was denoted as Xb(t) and the frog with the worst fitness value was denoted as Xw(t). A further local search for each submemeplex was then performed to improve the position of Xw(t) through memetic evolution. The improving method was as follows:
269
265 266
270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303
Dw ðtÞ ¼ randðÞ ðX b ðtÞ X w ðtÞÞ
ð7Þ
304 306
X w ðt þ 1Þ ¼ X w ðtÞ þ Dw ðtÞ ðRmin 6 Dw ðtÞ 6 Rmax Þ
ð8Þ
307 309
where rand() was a random number in the range of [0, 1], Rmin and Rmax denoted the minimum and maximum allowable values of the frogs’ position changing respectively.
Please cite this article in press as: Zhu, G.-Y., & Zhang, W. B. An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem. Expert Systems with Applications (2014), http://dx.doi.org/10.1016/j.eswa.2014.04.038
310 311 312
ESWA 9307
No. of Pages 12, Model 5G
14 May 2014 4
G.-Y. Zhu, W.-B. Zhang / Expert Systems with Applications xxx (2014) xxx–xxx
335
After the memetic evolution, if Xw(t + 1) was better than Xw(t), the new frog was then used to replace the old one in the submemeplex. In other instances, the Xb (t) was replaced with Xg(t) and the worst frog was updated according to formulas (7) and (8). If the obtained frog was still not better than the old one, a new frog was then generated randomly to replace Xw(t). The submemeplex was then reconstructed and the aforementioned local search was repeated iPart times for each memeplex. After the memetric evolutions of all submemeplexes were finished for all memeplexes, the memeplexes were forced to mix. The new memeplexes were reformed according to the new order ranked by the fitness value again. The memetric evolution of each memeplex was then carried out until the terminate criteria was satisfied. Fig. 2 illustrates SFLA. Fig. 2(a) illustrates the initial state of each frog of the initial population and the memeplexes, 2(b) shows the position status of each frog after the local search of each memeplex. Two submemeplexes (submemeplex 41, submemeplex 42) are formed; 2(c) illustrates the position status of each frog and each memeplex after the frogs of all memeplexes are mixed again. The main SFLA parameters are frog population number P, memeplex number m (or the number of frogs in a memeplex n), local evolution cycles for each memeplex iPart before memeplexes were reconstructed, and the mixed iteration number iGlobal.
336
3.2. Previous work in Shuffled Frog-leaping Algorithm
337
The research of SFLA has been reported in various published papers. Eusuff and Lansey (2003) used it to determine optimal discrete pipe sizes for new pipe networks and for network expansions. Based upon the SFLA, they developed a computer model named SFLANET. The performance of SFLANET was evaluated with some instance problems. Emad, Tarek, and Donald (2005) compared the formulation and results of five evolutionary-based algorithms (i.e. genetic algorithms, memetic algorithms, particle swarm, antcolony systems, and shuffled frog leaping). A brief description and a pseudo-code were provided for each algorithm in this particular work. A guiding principle for determining the suitable parameters for each algorithm was additionally presented and performance comparisons among the five algorithms were provided. The shuffled frog leaping algorithm was developed by Eusuff et al. (2006) and applied for solving the combinatorial optimization problem. The algorithm was tested on several test functions that present difficulties common to many global optimization problems. In order to demonstrate the effectiveness and suitability of the algorithm, they applied it to a groundwater model calibration problem and a water distribution system design problem. Based on the results obtained, they concluded that the SFLA can be an effective tool for solving combinatorial optimization problems in terms of the likelihood of convergence to a global optimal solution
313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334
338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361
and the solution speed. Alireza and Ali (2007) introduced a new Multi-Objective Shuffled Frog-Leaping Algorithm (MOSFLA) for the first time to search locally Pareto-optimal frontier for the bicriteria permutation flow shop scheduling problem, where the weighted mean completion time and the weighted mean tardiness are to be minimized simultaneously. To prove the efficiency of the MOSFLA, various test problems were solved and the reliability of the proposed algorithm, based on some comparison metrics, was compared with three distinguished multi-objective genetic algorithms. The results indicated that the proposed MOSFLA performed better than the above genetic algorithms, especially for the largesized problems. Alireza and Ali (2008) and Alireza et al. (2009) went a step further to establish a Hybrid Multi-Objective Shuffled Frog-Leaping Algorithm (HMOSFLA) based on SFLA and Bacteria Optimization (BO) for solving the Mixed-Model Assembly Line (MMAL) sequencing problem. Fang and Wang (2012) introduced a framework of the SFLA for solving the resource-constrained project scheduling problem. In this framework, the virtual frog is encoded as the extended activity list and is decoded by the SFLAspecific serial schedule generation scheme, and each memeplex evolves by adopting the effective resource-based crossover. Pan et al. (2011) presented an effective SFLA for solving a lot-streaming flow shop scheduling problem with equal-size sublots. Different from the original SFLA, the proposed SFLA described an individual or frog as a job permutation and utilized a position-based crossover operator to generate new candidate solutions. Luo and Chen (2014) introduced an improved Shuffled Frog Leaping Algorithm and established a multi-phase model to solve the multi-depots vehicle routing problems. A power law extreme optimization neighborhood search (pleons) was brought to SFLA. SFLA was implemented by Naghizadeh et al. (2012) for JA model parameter determination. The results showed that SFLA was faster and more accurate in comparison with other methods. Furthermore, this algorithm was easy to implement and tune. A Shuffled Frog-leaping Algorithm was used to estimate the equivalent circuit parameters of induction machines. The algorithm had been tested on several motors and the results obtained by SFLA surpassed the solutions reached by particle swarm optimization, genetic algorithms and a modified Newton method (Gomez-Gonzalez et al., 2012; Perez et al., 2013). Roy et al. (2013) used a hybrid solution methodology involving modified shuffled frog leaping algorithm (MSFLA) with genetic algorithm (GA) crossover to solve the economic load dispatch problem, and the results were quite promising and effective compared with several benchmark methods. Gomez-Gonzalez et al. (2014) used the Shuffled Frog-leaping Algorithm and three phase probabilistic load flow combined with the Monte Carlo method to search a large range of combinations for location and size of renew-able energy systems. The improved SFLA showed great capacity for exploration in complex search space. Bhattacharjee and Sarmah (2014) proposed a modified discrete shuffled frog
Fig. 2. The illustration of SFLA. (In the figure, the frogs with different behavior can transfer the information among different frogs by mutual imitation. For example, the frog in memeplex 1 leapt towards memeplex 4 and then has the same behavior and ideas as the frog in memeplex 4 through imitating the frog in memeplex 4.)
Please cite this article in press as: Zhu, G.-Y., & Zhang, W. B. An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem. Expert Systems with Applications (2014), http://dx.doi.org/10.1016/j.eswa.2014.04.038
362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412
ESWA 9307
No. of Pages 12, Model 5G
14 May 2014 G.-Y. Zhu, W.-B. Zhang / Expert Systems with Applications xxx (2014) xxx–xxx 413 414 415 416
leaping algorithm (MDSFL) to solve 0/1 knapsack problems. Several instances were generated to test the convergence property of MDSFLA and the result showed that it was very effective in solving small to medium sized knapsack problems.
417
4. Improved SFLA for pick-and-place sequence optimization
418
4.1. Improved SFLA
419
The evolution strategy of SFLA was to improve the worst frog according to the meme of the best frog of the submemeplex or the whole population. The strategy was not perfect, for during each evolution cycle only m iPart frogs were updated, where m denoted number of memeplex and iPart indicated the number of local search. Thus, the update ratio of frogs was less and the frog would be entrapped easily in local optimal solutions. In order to solve those problems, SFLA was improved using the following three aspects:
420 421 422 423 424 425 426 427 428 429 430 431
(1) Binary step multiple operator was adopted for the random step operator. (2) The frog’s self-variation behavior was added. (3) Except the best frog, all frogs of the submemeplex took part in the memetric evolution.
432 433 434 435 436 437 438 439
The number of the updated frogs of improved SFLA was m iPart y (y P 1), where y denoted the average number of the frogs which would be updated. Thus more frogs took part in the evolution. Meanwhile, if the frogs had self-variation behavior, then the diversity of the meme information was increased; thus the searching would not ended in a local optimal solution and better frogs could be obtained with greater chance.
440
4.2. The coding method of the frog
441
The sequence of the component pick-and-place was discrete in the surface mounting optimization. In this paper, the pick-andplace sequence was coded with the components number. The frog here was the integer code used to express pick-and-place sequence, and each number in the integer code was the number of a component in the PCB. Assuming there were M components in a PCB; {b1, b2, . . . , bM} was the integer code; bi was the integer number of one component; the components had e types and ci was the type expression. There were f slots {s1, s2, . . . , sf} on the mounting machine. The corresponding relationship was: {b1, b2, . . . , bM} ? {c1, c2, b1, b2, . . . , bM} ? {c1, c2, . . . , ce} ? {s1, s2, . . . , sf} and f 6 m 6 n. That means components {b1, b2, . . . , bM} have {c1, c2, . . . , ce} types, and were put on slots {s1, s2, . . . , sf}. Each component has corresponding type and was placed on certain slot. From the aforementioned relationship, all the information about the location, the type of the components, and the slot where the component were located can be known through the code represented by the frog. For example, eight components would be mounted with the four heads mounting machine. With four components needed to be picked up during each sub-tours, the relation was then: {b1, b2} ? c1 ? s1, {b3, b4} ? c2 ? s2, {b5, b6} ? c3 ? s3, {b7, b8} ? c4 ? s4, namely the type of components b1, b2 is c1, and located in the slot s1; the type of components b3, b4 is c2, located in slot s2, and so on. For a frog Xk(t), it’s code was (b1, b3, b6, b7, b2, b4, b5, b8); then in the first sub-tours, four mounting heads would pick components b1, b3, b6, b7 from slot s1 to s4; the components type were c1 to c4; and in the second sub-tours, mounting heads would pick and place components b2, b4, b5, b8.
442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470
5
4.3. Algorithm operator realization
471
Because the frog was represented by the integral code in the pick-and-place sequence optimization, the operators, add (+), subtract (), and random number multiply () in the formulas (7) and (8) cannot be operated with the method of numerical calculation. Thus, the operators were redefined based on the characteristics of the integral code and the operating method was given for each operator.
472
4.3.1. Leaping step operator At time t, there were two random frogs X1(t) and X2(t). Frog X1(t) was allowed to move to the position of frog X2(t); then leaping step D1(t) of frog X1(t) was subtraction ðX 2 ðtÞ; X 1 ðtÞÞ ! D1 ðtÞ. The leaping step operator was expressed with the symbol H, which was:
479
D1 ðtÞ ¼ X 2 ðtÞHX 1 ðtÞ
ð9Þ
473 474 475 476 477 478
480 481
482 483
484 486
Leaping step operator was similar to the subtraction operator in formula (7). The accomplished method was done by subtracting two frogs and getting the position difference. During the subtracting process, the values of the same bit of the two frogs’ integer code were compared. If the values are different, then the value of the subtracted frog was kept for the same bit in the code of position difference; if the values were the same one, then the same bit of the position difference code was set to be null. For example: frog Xb(t) can be assumed as (b1, b3, b4, b2); frog Xw (t) as (b1, b2, b3, b4); and then the value of Dw(t) = Xb(t) H Xw(t) was sought. Since the first bits of Xb(t) and Xw(t) were the same, the first bit of Dw(t) was then set to be null; the second bit of Xb(t) was b3, and the second bit of Xw(t) was b2; they were different, so the second bit of Dw(t) was set to b3. When all bits were set the same way, finally we determined Dw(t) = Xb (t) Xw(t) = (⁄, b3, b4, b2), where symbol meant null.
487
4.3.2. Binary step multiple operator Because the leaping step Dk(t) was an integral code chain, the rand() in formula (7) cannot be a random number between 0 and 1. Thus in this paper, rand() was a random binary series, and the series length was similar to the leaping step Dk(t). The new leaping step of frog Xk was obtained by multiplying the leaping step Dk(t) with rand(), then it was multiplication ðrandðÞ; Dx ðtÞÞ ! Dk ðtÞ0 . The binary step multiple operator was expressed by symbol , namely:
503
0
Dk ðtÞ ¼ randðÞ Dk ðtÞ
ð10Þ
488 489 490 491 492 493 494 495 496 497 498 499 500 501 502
504 505 506 507 508 509 510 511
512 514
Binary step multiple operator was similar to the random number multiply operator () in formula (8). The realizing method was to multiply a random number series of 0 or 1 with the frog code or position difference. If the bit value of the number series was 1, then the bit value of the frog code or position difference was kept in the same bit of the product; if the bit value was 0, then the same bit in the product was set to null. Continuing the previous example given above, if the randomly obtained rand() = (0, 1, 0, 1), then we got Dw(t)0 = rand() Dw(t) = (0, 1, 0, 1) (⁄, b3, b4, b2) = (⁄, b3, ⁄, b2)
515
4.3.3. Leaping operator The frog Xk(t) moved to a new position with leaping step Dk(t), then became frog Xk(t + 1) with the new behavior characteristic. þ This process was expressed as mov eðX k ðtÞ; Dk ðtÞÞ ! X k ðt þ 1Þ; and the operator was expressed by the symbol , namely:
525
X k ðt þ 1Þ ¼ X k ðtÞ Dk ðtÞ
ð11Þ
The leaping operator was similar to the add operator (+) in formula (2). The method was done by checking the bit value from the first bit of the code of the frog. If the value did not appear in the
Please cite this article in press as: Zhu, G.-Y., & Zhang, W. B. An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem. Expert Systems with Applications (2014), http://dx.doi.org/10.1016/j.eswa.2014.04.038
516 517 518 519 520 521 522 523 524
526 527 528 529
530 532 533 534 535
ESWA 9307
No. of Pages 12, Model 5G
14 May 2014 6 536 537 538 539 540 541 542
543
G.-Y. Zhu, W.-B. Zhang / Expert Systems with Applications xxx (2014) xxx–xxx
leaping step, then the bit value was kept in the frog. If the value appeared in the leaping step, then the bit number was found out and the value of the same bit was exchanged with the current bit value of the frog. The current bit value was checked again until it did not appear any more, then the other bit values were checked in turn with the same method. Continue the above example,
X w ðt þ 1Þ ¼ X w ðtÞ þ Dw ðtÞ0 ¼ ð b1 ; b2 ; b3 ; b4 Þ þ ð; b3 ; ; b2 Þ ¼ ðb1 ; b2 ; b3 ; b4 Þ þ ð; b3 ; ; b2 Þ ¼ ðb1 ; b4 ; b3 ; b2 Þ þ ð; b3 ; ; b2 Þ ¼ ðb1 ; b3 ; b3 ; b2 Þ þ ð; b3 ; ; b2 Þ
For example, assume Xw(t) = (b1, b3, b4, b2), p = 2, l = 3, then DIw(t) = (⁄, b2, b4, b3)
¼ ðb1 ; b2 ; b4 ; b3 Þ
547
What was concerned in basic SFLA was the actual memetric exchange among the frogs, meanwhile the memetric evolution of a single frog was not regarded individually. Then along with the searching, the meme diversity decreased rapidly; thus, the searching was entrapped in local optimization solutions. In this paper, the variation operator was adopted in improved SFLA to solve this problem. There were two forms of variation operators. One was a variation operator for memetric exchange, and the other was a variation operator for memetric inversion. Thus, parameters exchange ratio Pc and inversion ratio Pi were adopted.
548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564
565 567
The parameters m and n were set before running the algorithm, where m was the number of memeplexes, n, the number of frogs in each memeplex. Thus, the total frogs number in the swarm was given by P = m n. Meanwhile, parameter selection was done for
598
568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585
586 588 589 590 591
4.4.1. Memetric exchange variation operator The frog Xk(t) moved to the new position with the exchange variation leaping step DCk(t), which then became frog Xk(t)0 with the new behavior characteristic. The process was expressed as changeðX k ðtÞ; DC k ðtÞÞ ! X k ðtÞ0 . The operator was expressed with symbol () . Only one random bit of DCk(t) has a value that was a random components number; whereas other bits were null, namely:
X k ðtÞ0 ¼ X k ðtÞ () DC k ðtÞ
ð12Þ
The process discovers which bit had a value in the exchange variation leaping step firstly, then getting the value; next finding out the value of the same bit in the frog, then finding out the same value of exchange variation leaping step in the frog, and finally exchanging the two values. For example, assume Xw(t) = (b1, b3, b4, b2), DCk(t) = (⁄, ⁄, b2, ⁄), then X w ðtÞ0 ¼ X w ðtÞ () DC w ðtÞ ¼ ðb1 ; b3 ; b4 ; b2 Þ () ð; ; b2 ; Þ ¼ ðb1 ; b3 ; b2 ; b4 Þ. 4.4.2. Memetric inversion variation operator The frog Xk(t) moved to the new position with the inversion variation leaping step DIk(t) and then became frog Xk(t)0 with a new behavior characteristic. The process was expressed as inv ersionðX k ðtÞ; DIk ðtÞÞ ! X k ðtÞ0 . The operator was expressed by symbol . The inversion variation leaping step DIk(t) was the reverse of the value of the frog in {p, l}, where p expressed the start point position obtained randomly; l was the number of transformed bits generated randomly, p and l were less than the code length, namely:
X k ðtÞ0 ¼ X k ðtÞ DIk ðtÞ
ð13Þ
The realizing method was to replace the corresponding bit value of the frog with the non null value of the inversion variation leaping step.
596
597
¼ ðb1 ; b3 ; b4 ; b2 Þ þ ð; b3 ; ; b2 Þ ¼ ðb1 ; b3 ; b4 ; b2 Þ 4.4. Self-variation behavior
594
4.5. Flowchart of the algorithm
¼ ðb1 ; b3 ; b3 ; b2 Þ þ ð; b3 ; ; b2 Þ
546
593
X w ðtÞ0 ¼ X w ðtÞ DIw ðtÞ ¼ ðb1 ; b3 ; b4 ; b2 Þ ð; b2 ; b4 ; b3 Þ
¼ ðb1 ; b4 ; b4 ; b2 Þ þ ð; b3 ; ; b2 Þ 545
592
Fig. 3. The flowchart of improved SFLA.
Please cite this article in press as: Zhu, G.-Y., & Zhang, W. B. An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem. Expert Systems with Applications (2014), http://dx.doi.org/10.1016/j.eswa.2014.04.038
599 600 601
ESWA 9307
No. of Pages 12, Model 5G
14 May 2014 G.-Y. Zhu, W.-B. Zhang / Expert Systems with Applications xxx (2014) xxx–xxx
7
Fig. 4. Experimental PCB board, component position and the best pick-and-place sequence.
602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623
the local evolution number iPart and mixed iteration number iGlobal. The flowchart of the improved SFLA for pick-and-place optimization is given in Fig. 3. In the flowchart, the method: Y j ðtÞ ¼ ½X jk ðtÞ; F jk ðtÞjX jk ðtÞ ¼ X ðjþmðk1ÞÞ ðtÞ; F jk ðtÞ ¼ F ðjþmðk1ÞÞ ðtÞ; k¼ 1; . . . ; n; j ¼ 1; . . . ; m; was used to divide the frog into m memeplexes. The submemeplexes were constructed via the following process. A probability value pjk ¼ 2ðn þ 1 kÞ=ðnðn þ 1ÞÞ ðk ¼ 1; . . . ; nÞ was set for each frog of memeplex Yj(t) (j = 1, . . . , m). A random number r 2 ½pj1 ; pjn was then generated, where pj1 ¼ 2=ðn þ 1Þ; pjn ¼ 2=ðnðn þ 1ÞÞ. If pjk > r, the frog k went into submemeplex Ysj(t). Otherwise, the frog was not accepted by the submemeplex Ysj(t). The evolution for the worst frog X jw ðtÞ in submemeplexe was completed with formula (7) and (8). During the self-variation operator, two variables r1 and r2 in [0, 1] were generated randomly. If r1 was less than Pc, the variation operation of memetric exchange with formula (12) was completed. Otherwise, the variation operation was omitted. If r2 was less than Pi, the variation operation of memetric reversion with formula (13) was completed. Otherwise, the variation operation was omitted. If both were satisfied, the variation operations of memetric exchange and memetric reversion were all implemented.
624
5. Experimental evaluation
625
In this section, the influence of parameters on the performance of improved SFLA was studied with the method of Three-way ANOVA. Problems with different sizes were solved for evaluating the performance of the algorithm. In order to test the effectiveness
626 627 628
of improved SFLA, the performance of the algorithm was compared with basic SFLA and GA by using the same PCB mounting example mentioned in the literature of Lin and Zhu (2008). The quality of the solution was analyzed in terms of the best solution obtained and CPU time needed. The computer simulation was taken in the operating environment of Windows XP with Intel D820 CPU, 768 M RAM and encoded with MATLAB 2009. The gantry multi-head component surface mounting machine used in the experiment was described in Section 2. There were 52 slots on the front and the rear sides. The distance between the adjacent mounting head was 17 mm; the distance between the adjacent slots was 8.5 mm. The moving speed of the mounting head was v = 1000 mm/s. For each experiment, 50 runs were implemented with a different random initial value. After each run, the best solution was recorded and the average value of these 50 best solutions was then computed.
629
5.1. Study the influence of different parameters
646
Experiments were carried out to study the influence of the parameters of improved SFLA by setting the different parameter values. The parameters were frogs number P in the swarm, memeplex number m (or the frogs number n in a memeplex), local evolution number iPart, exchange ratio Pc and inversion ratio Pi. Due to the parameter setting of Pc and Pi which has a relationship with the research results of GA, then accordingly in this paper, parameters Pc and Pi were set with the value recommended in
647
Please cite this article in press as: Zhu, G.-Y., & Zhang, W. B. An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem. Expert Systems with Applications (2014), http://dx.doi.org/10.1016/j.eswa.2014.04.038
630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645
648 649 650 651 652 653 654
ESWA 9307
No. of Pages 12, Model 5G
14 May 2014 8
G.-Y. Zhu, W.-B. Zhang / Expert Systems with Applications xxx (2014) xxx–xxx
Table 1 Three-way ANOVA table. Source
Sum sq. (sum of squares)
d.f. (degrees of freedom)
Mean sq. (mean square)
F
Prob > F
M P iPart mP m iPart P iPart m P iPart Error Total
0.0029 0.0040 0.0024 5.8495e04 2.3800e04 2.7152e04 3.5981e04 0.1619 0.1727
5 2 1 10 5 2 10 1764 1799
5.824e04 0.002 0.002 5.85e05 4.76e05 1.358e04 3.598e05 9.181e005
6.343 21.912 25.978 0.637 0.519 1.479 0.392
7.594e06 3.980e10 3.824e07 0.783 0.763 0.228 0.951
698
the literature of Lin and Zhu (2008). The exchange rate was set to Pc = 0.01and the inversion ratio was determined to be Pi = 0.9. The PCB used here is shown in Fig. 4 given below as an output Gerber file of a Protel PCB design file. There were 43 components that belonged to four types and every component was marked with type, integral code, and the location coordinates in the figure. For example, IC12 (70.392, 78.635) meant the 12th component was IC type and the coordinates were (70.392 mm, 78.635 mm). The four component types were R, IC, IR, and C. During pick-and-place optimization, the nozzle was not limited. The parameter settings for the first series of experiments were as follows: the frogs’ number was set to P = 120; memeplex numbers m were set to 5, 10, 15, 20, 24, and then 30; local evolution numbers iPart were set to 5 and then 10; and finally the mixed iteration number iGlobal was set to 500 (the experiment was carried out 12 times total). The frogs’ number for the second series of experiments was set to P = 240, and the frogs’ number was set to P = 360 for the third set of experiments. Other parameters were set to be the same as with the first series of experiments. The experiment was carried out 36 times and each time 50 runs were repeated respectively. Thus, a total of 36 50 = 1800 data was obtained. Based on this data, the influences of the frogs’ number P, memeplex numbers m, and local evolution numbers iPart on the best solution were analyzed with the method of Three-way ANOVA. The results are shown below in Table 1. Known from Table 1, p-values of the two-factor interactions (The p-values of m P is 0.783; The p-values of m iPart is 0.763 and the p-values of P iPart is 0.228), and p-value of three-factor interactions (The p-values of m P iPart is 0.951) were not small, indicating little evidence that the effect of one factor depends on the other factor or the other two factors. Thus we could further conclude that the interactions among three factors were not significant. The p-values for the main effects, 7.594e06, 3.980e10 and 3.824e07, were less than 0.05, these values indicated that memeplex numbers m, the frogs’ number P and local evolution numbers iPart had notable effects on the mounting time (time of component pick-and-place sequence). The multiple comparison procedure was then carried out using the statistics structure information obtained from Three-way ANOVA. Group means of 36 times experiments were obtained and the five smallest group means of them collectively are shown below in Table 2. As known from Table 2, when memeplex numbers m = 24, the frogs’ number P = 240 and local evolution numbers iPart = 10, improved SFLA achieved the best solution.
699
5.2. Comparison of improved SFLA with SFLA and GA
700
In order to evaluate the performance of improved SFLA, the performance comparison based on pick-and-place experiments among improved SFLA, the basic SFLA, and GA mentioned in the literature of Lin and Zhu (2008) was carried out in this paper.
655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697
701 702 703
Table 2 The five smallest group means. Group m = 24, m = 30, m = 24, m = 15, m = 20,
P = 240, P = 360, P = 360, P = 240, P = 240,
ipart = 10 ipart = 10 ipart = 10 ipart = 10 ipart = 10
Means (s)
Standard errors
6.4244 6.4253 6.4258 6.4258 6.4262
1.355e03 1.355e03 1.355e03 1.355e03 1.355e03
The original value was generated randomly and the same original value was adopted in the pick-and-place optimization with three above mentioned algorithms. According to the results in Section 5.1, the parameters setting for two SFLA were: the frog population number P = 240; memeplexes number m = 24; and the local evolution number iPart = 10. The exchange rate was set to Pc = 0.01 and the inversion ratio was determined to be Pi = 0.9 for improved SFLA. For GA, the individuals’ number was pop_size = 240; the crossover rate was Pc = 0.9; the exchange mutation rate was Pmj = 0.01; and the reversal mutation rate was Pmfz = 0.9 (Lin & Zhu 2008). If the number of components is less than 100, the mixed iteration number was iGlobal = 500; and when the number of components is more than 100, the mixed iteration number was iGlobal = 1000, In order to evaluate the performance of improved SFLA, six PCBs were used in the experiment. The number of components needed to be pick-and-placed was between 32 and 168, and the types of components were up to ten types. In Figs. 5–10, Tables 3 and 4 show the results of six different PCBs. In order to compare the performance of the average best solutions, we defined the improving percentage of improved SFLA’s or SFLA’s average best solution versus GA’s average best solution as:
Fig. 5. The fitness value curve of experiment 1.
Please cite this article in press as: Zhu, G.-Y., & Zhang, W. B. An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem. Expert Systems with Applications (2014), http://dx.doi.org/10.1016/j.eswa.2014.04.038
704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726
ESWA 9307
No. of Pages 12, Model 5G
14 May 2014 9
G.-Y. Zhu, W.-B. Zhang / Expert Systems with Applications xxx (2014) xxx–xxx
Fig. 6. The fitness value curve of experiment 2.
Fig. 9. The fitness value curve of experiment 5.
Fig. 7. The fitness value curve of experiment 3.
Fig. 10. The fitness value curve of experiment 6.
Fig. 8. The fitness value curve of experiment 4.
Improv ement ¼
The improving percentages are shown on the third and seventh rows of Table 3 given below. Meanwhile the standard deviations and the best solutions in 50 runs are reported in Table 3. As known from Table 3, in the case of Components/Type is 32/5, the best solutions (4.6957 s) of improved SFLA and SFLA in 50 runs are same, and it is less than the one obtained by GA(4.7331). As for the average best solutions, the one obtained by improved SFLA is the least. The standard deviation of improved SFLA is the least too. It indicated that in this case, the best solution could be obtained by SFLA in a single run. However, in all the 50 runs, the best solution was not obtained most of time. For the other five cases, the average best solution, standard deviation and the best solution obtained by improved SFLA were much smaller. Especially in the case of 168/ 8, the average best solution obtained by the improved SFLA was improved 20.5% compared with GA’s, and 9.5% compared with SFLA. It was obvious to conclude that improved SFLA outperforms GA in every case. In addition, along with the increasing of the number of components, the improvement of the accuracy was much more
ðimpov ed SFLA’ s av erage best solution or SFLA’ s av erage best solution GA’ s av erage best solutionÞ GA’ s av erage best solution
100%
Please cite this article in press as: Zhu, G.-Y., & Zhang, W. B. An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem. Expert Systems with Applications (2014), http://dx.doi.org/10.1016/j.eswa.2014.04.038
727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744
ESWA 9307
No. of Pages 12, Model 5G
14 May 2014 10
G.-Y. Zhu, W.-B. Zhang / Expert Systems with Applications xxx (2014) xxx–xxx
Table 3 The best solution comparison of three algorithms. Exp. No. (components/type)
1 (32/5)
2 (43/4)
3 (65/6)
4 (100/10)
5 (137/9)
6 (168/8)
Improved SFLA
Average best solution (s) Improving percentage Standard deviation Best solution (s)
4.6988 1.9% 7.1e3 4.6957
6.4248 2.8% 7.9e3 6.4167
9.9127 7.1% 3.9e2 9.8645
15.1782 6.5% 3.0e2 15.1290
20.7846 8.3% 4.1e2 20.7076
35.8629 20.5% 0.14 35.5993
SFLA
Average best solution (s) Improving percentage Standard deviation Best solution (s)
4.7218 1.4% 1.8e2 4.6957
6.4631 2.2% 1.9e2 6.4196
10.1383 5.0% 6.8e2 9.9797
15.3962 5.1% 5.9e2 15.2667
21.1723 6.6% 9e2 21.0164
40.1602 11.0% 0.3 39.6046
GA
Average best solution (s) Standard deviation Best solution (s)
4.7892 2.5e2 4.7331
6.611 3.2e2 6.5201
10.6746 7.2e2 10.4935
16.2273 0.12 15.9457
22.6760 0.19 22.2528
45.1204 0.35 44.2720
Table 4 The CPU time comparison of three algorithms. Exp. No.
1 2 3 4 5 6
745 746 747 748 749 750 751
753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772
32/5 43/4 65/6 100/10 137/9 168/8
Improved SFLA
SFLA
GA
CPU time
Time-consuming
CPU Time
Time-consuming
CPU time
1187.8 1186.9 1457.08 4130.97 5021.82 6580.78
746.4% 548.4% 412.6% 353.4% 291.6% 232.1%
52.25 48.637 46.67 107.73 141.97 497.18
62.8% 73.4% 83.6% 88.2% 88.9% 74.9%
140.33 183.04 284.26 911.09 1282.51 1981.86
obvious. Meanwhile, the accuracy of improved SFLA was better than SFLA and the improvement was also increasing with the increasing of the number of components. Thus, it can be found that improved SFLA has demonstrated better robustness. In order to compare the performance of CPU time, we defined the time-consuming percentage of improved SFLA’s CPU time or SFLA’s CPU time versus GA’s CPU time as:
Time-consuming ¼
752
Components/type
improving the performance is stable, which has nothing to do with the number of the components. And with the increasing of the number of the components, the illegal sequences generated during the operating process are decreased, thus the CPU time used for judgment and sorting are decreased accordingly. Figs. 5–10 illustrate the changing curves of the average best solutions (or the average fitness value) of the 50 runs. From these
ðimprov ed SFLA’ s CPU time or SFLA’ s CPU time GA’ s CPU timeÞ GA’ s CPU time
The time-consuming percentages are shown on the fourth and sixth columns of Table 4. From Table 4, it was known that SFLA has saved more than 62–88% CPU time compared with GA. Naghizadeh obtained this conclusion too (Naghizadeh et al., 2012). He pointed out that the SFLA was convergence fast with accurate results. The CPU time cost by improved SFLA was much more than GA’s. This is not surprising, because at first the improved SFLA was created to get better solutions. There are two main reasons for more CPU time consumption. The first one is for improved SFLA, except the best frog, all frogs of the submemeplex took part in the memetric evolution. In this case, there are up to n 1 frogs that took part in the memetric evolution in one submemeplex, but with SFLA only one frog took part in the evolution. Thus the time used increased. The second one is that the binary step multiple operator and the frog’s self-variation behavior were adopted in the improved algorithm. In order to ensure the validity of the sequences generated during the two operating process, there were lots of judgment and sorting work needed to be done, then the computational cost was higher. But along with the increasing of the number of the components, the CPU time efficiency was improved gradually. This is because the CPU time consumed by
773 774 775 776 777 778 779
100%
figures it is seen that improved SFLA and SFLA have faster convergence speeds compared with GA. In all these six experiments, SFLA was converged around 50 iterations, despite its subsequent fall into the local optimal solutions. The fitness value curves of improved SFLA are similar to SFLA with rapid decline. The difference was while SFLA was trapped in local optimal solutions, improved SFLA can continue searching until the best solutions were achieved. In experiment 1–3, improved SFLA was converged around 50 iterations. In experiments 4–5, with an increased scale of the problem (complexity), improved SFLA converged around 100 iterations. For the experiment 6, improved SFLA converged around 600 iterations. From the angle of iteration, improved SFLA and SFLA have faster convergence speed. From the angle of quality of the solutions, improved SFLA has better convergence accuracy. The experiment results indicate that improved SFLA can solve very complicated pick-and-place sequencing optimization problems. The performance of improved SFLA was substantially greater than SFLA and GA in convergence, robustness, and performance, but more CPU time was needed. Therefore improved SFLA can get better optimal solutions at the expense of CPU time.
Please cite this article in press as: Zhu, G.-Y., & Zhang, W. B. An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem. Expert Systems with Applications (2014), http://dx.doi.org/10.1016/j.eswa.2014.04.038
780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800
ESWA 9307
No. of Pages 12, Model 5G
14 May 2014 G.-Y. Zhu, W.-B. Zhang / Expert Systems with Applications xxx (2014) xxx–xxx
11
801
6. Conclusion
References
864
802
857
All the sub-processes associated with component pick-andplace sequencing optimization belong to combinatorial optimization problems. As mentioned above, SFLA has demonstrated strong ability and is efficient in solving these kind of problems. Therefore SFLA was selected and improved to solve this pick-and-place sequencing optimization problem. The first contribution of this paper is an improved shuffled frog leaping algorithm was proposed to ensure the best solutions based on the study of the basic Shuffled Frog-leaping Algorithm (SFLA). The improvement of the SFLA was accomplished with following strategies:making all frogs take part in memetic evolution and adding the self-variation behavior to each frog. It was not difficult to update the position of the frog with the worst fitness by formulas (7) and (8). However the parameters like frogs number P in the swarm, memeplex number m (or the frogs number n in a memeplex), and the local evolution number iPart were critical and needed to be determined during the process of the algorithm. Another contribution of this paper is the study of whether or not these parameters had influences on the best solutions. And meanwhile the method, Three-way ANOVA was used to study the relationships among the algorithm parameters: P, m (or n in a memeplex), iPart. The results indicated these three parameters had notable effects on the best solution. The optimum value of these parameters that is appropriate for this optimization problem were determined under a large number of experimental studies. The component pick-and-place sequence was discrete in the surface mounting optimization problem. In order to guarantee SFLA can be used to solve this kind of discrete component pickand-place sequencing optimization problem, the integer coding method was established. Namely the pick-and-place sequence was coded with the components number. The frog here was the integer code for expressing pick-and-place sequence. The operators (leaping step operator, the binary step multiple operator and the leaping operator fitting for the discrete data), and the implementation of the self-variation behavior were established according to this coding method. The comparisons among improved SFLA, SFLA, GA were carried out through six experiments with different problem scales. The experimental results indicate that improved SFLA and SFLA have better convergence speed; improved SFLA has better convergence accuracy; and improved SFLA can solve all these problems, such as the number of the components can be from 32 to 168, which shows improved SFLA has better robustness. However it should be noted that the advantages of improved SFLA are achieved at the expense of CPU time. Since the algorithm was improved for better optimal solution, the CPU time was not the main concern. Future research work will focus on how to balance the convergence speed, convergence accuracy and the CPU time of the improved algorithm. Based on our computational study, we have observed that improved SFLA has a potential for solving any component pickand-place sequencing optimization problem. This will enrich the content of swarm intelligence algorithms, and promote the successful application of the algorithm in other combinatorial optimization problems of industrial manufacturing, such as job-shop scheduling problem, project scheduling problem, etc. This topic will be scheduled as a future work as well, aimed to provide a new optimization tool for intelligent manufacturing.
858
Acknowledgments
859
This work was financed by the Science and Technology Program of Fuzhou City (2012-G-131) and the Science and Technology Program of Department of Education of Fujian Province (JK2013006). The authors also gave thanks to Dr. Camille Bishop. The language of this paper has been improved greatly under her help.
Alireza, R.-V., & Ali, H. M. (2007). A hybrid multi-objective shuffled frog-leaping algorithm for a mixed-model assembly line sequencing problem. Computers & Industrial Engineering, 53(4), 642–666. Alireza, R.-V., & Ali, H. M. (2008). Solving a bi-criteria permutation flow-shop problem using shuffled frog-leaping algorithm. Soft Computing, 12(5), 435–452. Alireza, R.-V., Mostafa, D., Hamed, R., et al. (2009). A novel hybrid multi-objective shuffled frog-leaping algorithm for a bi-criteria permutation flow shop scheduling problem. International Journal of Advanced Manufacturing Technology, 41(11–12), 1227–1239. Altinkemer, K., Kazaz, B., Köksalan, M., et al. (2000). Optimization of printed circuit board manufacturing: Integrated modeling and algorithms. European Journal of Operational Research, 124(2), 409–421. Ashayeri, J., Ma, N., & Sotirov, R. (2011). An aggregated optimization model for multi-head SMD placements. Computers & Industrial Engineering, 60(1), 99–105. Ayob, M., & Kendall, G. (2008). A survey of surface mount device placement machine optimization: Machine classification. European Journal of Operational Research, 186(3), 893–914. Bhattacharjee, K. K., & Sarmah, S. P. (2014). Shuffled frog leaping algorithm and its application to 0/1 knapsack problem. Applied Soft Computing, 19, 252–263. Chang, P. C., Huang, W. H., & Ting, C. J. (2012). Developing a varietal GA with ESMA strategy for solving the pick and place problem in printed circuit board assembly line. Journal of Intelligent Manufacturing, 23(5), 1589–1602. Chen, Y.-M., & Lin, C.-T. (2007). A particle swarm optimization approach to optimize component placement in printed circuit board assembly. International Journal Advanced Manufacture Technology, 35(5–6), 610–620. Costa Filho, C. F. F., de Oliveira, A. L. M., & Costa, M. G. F. (2010). Using random restart hill climbing algorithm for minimization of component assembly time in printed circuit boards. IEEE Latin America Transactions, 8(1), 23–29. Emad, E., Tarek, H., & Donald, G. (2005). Comparison among five evolutionary-based optimization algorithms. Advanced Engineering Informatics, 19(1), 43–53. Eusuff, M. M., & Lansey, K. E. (2003). Optimization of water distribution network design using the shuffled frog leaping algorithm. Journal of Water Resources Planning and Management, 129(3), 210–225. Eusuff, M. M., Lansey, K., & Pasha, F. (2006). Shuffled frog-leaping algorithm: A memetic meta-heuristic for discrete optimization. Engineering Optimization, 38(2), 129–154. Fang, C., & Wang, L. (2012). An effective shuffled frog-leaping algorithm for resource-constrained project scheduling problem. Computers & Operations Research, 39(5), 890–901. Gomez-Gonzalez, M., Jurado, F., & Perez, I. (2012). Shuffled frog-leaping algorithm for parameter estimation of a double-cage asynchronous machine. Electric Power Applications, IET, 6(8), 484–490. Gomez-Gonzalez, M., Ruiz-Rodriguez, F. J., & Jurado, F. (2014). Probabilistic optimal allocation of biomass fueled gas engine in unbalanced radial systems with metaheuristic techniques. Electric Power Systems Research, 108, 35–42. Grunow, M., Güntherb, H.-O., Schleusener, M., & Yilmaz, I. O. (2004). Operations planning for collect-and-place machines in PCB assembly. Computers & Industrial Engineering, 47(4), 409–429. Ho, W., & Ji, P. (2003). Component scheduling for chip shooter machines: A hybrid genetic algorithm approach. Computers & Operations Research, 30(14), 2175–2189. Hong, J., Lee, W., Lee, S., et al. (2000). An efficient production planning algorithm for multi-head surface mounting machines using the biological immune algorithm. International Journal of Fuzzy Systems, 2(1), 45–53. Kallio, K., Johnsson, M., & Nevalainen, O. S. (2012). Estimating the operation time of flexible surface mount placement machines. Production Engineering, 6(3), 319–328. Kulaka, O., Yilmazb, I. O., & Güntherb, H.-O. (2007). PCB assembly scheduling for collect-and-place machines using genetic algorithms. International Journal of Production Research, 45(17), 3949–3969. Li, Y.-H., Zhou, J.-Z., Yang, J.-J., et al. (2007). Modified shuffled frog leaping algorithm based on threshold selection strategy. Computer Engineering and Applications, 43(35), 19–21 (in Chinese). Lin, W.-Q., & Zhu, G.-Y. (2008). A genetic optimization approach to optimize the multi-head surface mount placement machine. Lecture notes in artificial intelligence (vol. 5315, pp. 1003–1012). Berlin: Springer Press. Luo, J. & Liu, J. (in press). An MILP model and clustering heuristics for LED assembly optimisation on high-speed hybrid pick-and-place machines. International Journal of Production Research (pp. 1–16). DOI:http://dx.doi.org/10.1080/ 00207543.2013.828173. Luo, J., & Chen, M. R. (2014). Improved shuffled frog leaping algorithm and its multiphase model for multi-depot vehicle routing problem. Expert Systems with Applications, 41(5), 2535–2545. Naghizadeh, R. A., Vahidi, B., & Hosseinian, S. H. (2012). Parameter identification of Jiles–Atherton model using SFLA. COMPEL: The International Journal for Computation and Mathematics in Electrical and Electronic Engineering, 31(4), 1293–1309. Pan, Q. K., Wang, L., Gao, L., & Li, J. (2011). An effective shuffled frog-leaping algorithm for lot-streaming flow shop scheduling problem. The International Journal of Advanced Manufacturing Technology, 52(5–8), 699–713. Perez, I., Gomez-Gonzalez, M., & Jurado, F. (2013). Estimation of induction motor parameters using shuffled frog-leaping algorithm. Electrical Engineering, 95(3), 267–275.
865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947
803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856
860 861 862 863
Please cite this article in press as: Zhu, G.-Y., & Zhang, W. B. An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem. Expert Systems with Applications (2014), http://dx.doi.org/10.1016/j.eswa.2014.04.038
ESWA 9307
No. of Pages 12, Model 5G
14 May 2014 12 948 949 950 951 952 953 954 955 956 957 958 959
G.-Y. Zhu, W.-B. Zhang / Expert Systems with Applications xxx (2014) xxx–xxx
Ráduly-Baka, C., Knuutila, T., Johnsson, M., & Nevalainen, O. S. (2008). Selecting the nozzle assortment for a Gantry-type placement machine. OR Spectrum, 30, 493–513. Ráduly-Baka, C., Knuutila, T., Johnsson, M., & Nevalainen Olli, S. (2010). Construction of component tapes for radial placement machines. Computers & Operations Research, 37, 1488–1499. Ráduly-Baka, C., Knuutila, T., Johnsson, M., & Nevalainen Olli, S. (2011). Organizing the operation of radial machine sequencers for multiple PCB types. Computers & Industrial Engineering, 61, 1003–1010. Roy, P., Roy, P., & Chakrabarti, A. (2013). Modified shuffled frog leaping algorithm with genetic algorithm crossover for solving economic load dispatch problem with valve-point effect. Applied Soft Computing, 13(11), 4244–4252.
Shayeri, J., Ma, N., & Sotirov, R. (2011). An aggregated optimization model for multihead SMD placements. Computers & Industrial Engineering, 60(1), 99–105. Torabi, S. A., Hamedi, M., & Ashayeri, J. (2013). A new optimization approach for nozzle selection and component allocation in multi-head beam-type SMD placement machines. Journal of Manufacturing Systems, 32(4), 700–714. Vainio, F., Maier, M., Knuutila, T., et al. (2010). Estimating printed circuit board assembly times using neural networks. International Journal of Production Research, 48(8), 2201–2218. Wu, Y., Ji, P., & Ho, W. (2009). Optimizing PCB assembly for family setup strategy. Assembly Automation, 29(1), 61–67.
Please cite this article in press as: Zhu, G.-Y., & Zhang, W. B. An improved Shuffled Frog-leaping Algorithm to optimize component pick-and-place sequencing optimization problem. Expert Systems with Applications (2014), http://dx.doi.org/10.1016/j.eswa.2014.04.038
960 961 962 963 964 965 966 967 968 969 970 971