Hostname: page-component-745bb68f8f-g4j75 Total loading time: 0 Render date: 2025-02-06T08:35:14.811Z Has data issue: false hasContentIssue false

Probability increment based swarm optimization for combinatorial optimization with application to printed circuit board assembly

Published online by Cambridge University Press:  05 February 2014

Kehan Zeng*
Affiliation:
Faculty of Science and Technology, University of Macau, Avenida Padre Tomas Pereira, Taipa, Macau Sar, China Department of Computer Science, Huizhou University, Huizhou, Guangdong, China
Zhen Tan
Affiliation:
Faculty of Science and Technology, University of Macau, Avenida Padre Tomas Pereira, Taipa, Macau Sar, China
Mingchui Dong
Affiliation:
Faculty of Science and Technology, University of Macau, Avenida Padre Tomas Pereira, Taipa, Macau Sar, China
Ping Yang
Affiliation:
School of Mechanical Engineering, Jiangsu University, Zhenjiang, Jiangsu, China
*
Reprint requests to: Kehan Zeng, Room 106, Block 3, University of Macau, Avenida Padre Tomas Pereira, Taipa, Macau Sar, China. E-mail: kehanzeng1980@gmail.com
Rights & Permissions [Opens in a new window]

Abstract

A novel swarm intelligence approach for combinatorial optimization is proposed, which we call probability increment based swarm optimization (PIBSO). The population evolution mechanism of PIBSO is depicted. Each state in search space has a probability to be chosen. The rule of increasing the probabilities of states is established. Incremental factor is proposed to update probability of a state, and its value is determined by the fitness of the state. It lets the states with better fitness have higher probabilities. Usual roulette wheel selection is employed to select states. Population evolution is impelled by roulette wheel selection and state probability updating. The most distinctive feature of PIBSO is because roulette wheel selection and probability updating produce a trade-off between global and local search; when PIBSO is applied to solve the printed circuit board assembly optimization problem (PCBAOP), it performs superiorly over existing genetic algorithm and adaptive particle swarm optimization on length of tour and CPU running time, respectively. The reason for having such advantages is analyzed in detail. The success of PCBAOP application verifies the effectiveness and efficiency of PIBSO and shows that it is a good method for combinatorial optimization in engineering.

Type
Regular Articles
Copyright
Copyright © Cambridge University Press 2014 

1. INTRODUCTION

Intelligent technology has increasingly influenced product design and manufacturing (Jin & Li, Reference Jin and Li2007; Yang & Zeng, Reference Yang and Zeng2009; Shea et al., Reference Shea, Ertelt, Gmeiner and Ameri2010; Maher & Fisher, Reference Maher and Fisher2012). Bionic intelligence, including evolutionary computation, artificial neural networks, swarm intelligence, and so on, is an indispensable part of computational intelligence (Eberhart & Shi, Reference Eberhart and Shi2007) and designed to mimic one or more aspects of biological intelligence. Swarm intelligence was first introduced by Beni and Wang (Reference Beni and Wang1988, Reference Beni and Wang1989) in the context of cellular robotic systems. The extended definition of swarm intelligence includes any attempt to design algorithms or distributed problem-solving devices inspired by the collective behavior of social insect colonies and other animal societies (Bonabeau et al., Reference Bonabeau, Dorigo and Theraulaz1999). With developed theory and its related applications, swarm intelligence has become an important branch of computational intelligence.

Combinatorial optimization problems extensively exist in engineering, such as optimal engineering design (Jin et al., Reference Jin, Li and Lu2005, Reference Jin, Zouein and Lu2009), best layout of architecture and urban planning (Koenig & Schneider, Reference Koenig and Schneider2012), optimum synthesis of kinematic chains (Lipson, Reference Lipson2008) and selective disassembly optimization (Wang et al., Reference Wang, Liu, Li and Zhong2003). Usually, combinatorial optimization problems are formulated as integer programs (Korte & Vygen, Reference Korte and Vygen2008).

The printed circuit board assembly optimization problem (PCBAOP) is a typical combinatorial optimization problem in electronic manufacturing industry. Approaches of computational intelligence become increasingly important for solving this problem. Khoo and Ng (Reference Khoo and Ng1998) proposed a genetic algorithm (GA) for semiautomatic assembly system to assist process engineers to get the near-optimal PCB component placement sequence. Loh et al. (Reference Loh, Bukkapatnam, Medeiros and Kwonb2001) implemented GA on a Quad IIIc insertion machine to optimize the production process. Najera and Brizuela (Reference Najera and Brizuela2005) adapted GA to solve the assembly problem in a pick-and-place machine, and the experimental results showed that GA was better than the typewriter and greedy search mixed algorithm. Chen and Lin (Reference Chen and Lin2007) proposed an adaptive particle swarm optimization (APSO) approach to optimize the sequence of component placements on a PCB and the assignment of component types to feeders simultaneously for a pick-and-place machine with multiple heads.

In this paper, a novel swarm intelligence algorithm for combinatorial optimization, named probability increment based swarm optimization (PIBSO), is proposed. In general, for a combinatorial optimization problem, the states in search space are finite. The probabilities of states to be selected are taken into account. The probability increment of a state is proportional to the fitness of the state. Some calculations are defined, and the population evolution mechanism is depicted. In addition, PIBSO is applied to solve PCBAOP. The mathematical model for this problem is formulated, and two types of search states are defined. The numerical results show that PIBSO has much advantage on search capability and search time over GA and APSO.

2. PIBSO

2.1. Initialization

In the initialization of PIBSO, a population of units is generated randomly or under a rule. For a combinatorial optimization problem, the n-dimensional search space is denoted by Pn. A state in Pn is denoted by xi = [x i1, x i2, … , x in]TPn, where i is the sequence number of state. For the kth variable of xi, x ik, the search space is PkPn. A state in Pk is denoted by s km, and the number of s km is denoted by Num k. A unit vector, denoted by uj = [u j1, u j2, … , u jn]T, is a xi, where j is the sequence number of the unit in population. In Pk, each s km has a probability to be selected as u jk, and this probability is denoted by p km. Here, p km is initialized in [0, 1] randomly or under a rule and is not necessary to satisfy $\sum\nolimits_{m = 1}^{Num_k } {\,p_{km} }$ = 1, and uj is selected from xi. Apparently, the globally optimal uj is the best combination of s km. The population scale is set to a suited number according to the concrete optimization problem.

2.2. Fitness

The fitness of unit ui, denoted by fit i, evaluates the suitability of ui for the objective of optimization, and ui, with higher fitness value approaches closer to the global optimum than others with lower fitness values do. The definition of fitness depends on the concrete optimization problem.

2.3. Unit update

Each fit i is normalized by

(1)$$norfit_i = \displaystyle{{\,fit_i - fit_{\min } } \over {\,fit_{\max } - fit_{\min }}},$$

where fit max and fit min are the maximum, and minimum, respectively, among fit i.

The incremental factor related to ui is denoted by w i ∈ (0, 1) and is calculated by

(2)$$w_i =\displaystyle{{dr \times norfit_i } \over n}\comma$$

where dr ∈(0, 1] is the incremental ratio. Then, for the s km included in ui, that is, u jk, its p km is updated by

(3)$$\,p_{km} \lpar t + 1\rpar =p_{km} \lpar t\rpar \times \lpar 1 + w_i \rpar \comma$$

where t denotes the population generation.

If p kq (t + 1) > 1 for s kq, where 1 < q < Num k, then p km (t + 1) (m ≠ q) is calculated by

(4)$$\,p_{km} \lpar t + 1\rpar =p_{km} \lpar t\rpar - \lsqb p_{kq} \lpar t + 1\rpar - 1\rsqb$$

and then set as

(5)$$\,p_{kq} \lpar t + 1\rpar = 1.$$

If p kq (t + 1) < 0 for s kq, where 1 < q < Num k, then set

(6)$$\,p_{kq} \lpar t + 1\rpar = 0.$$

When p km(t) has been updated to p km (t + 1), each u ik (t) is updated by selecting a s km from Pk to be u ik (t + 1), based on p km(t + 1) and a selection rule defined by users. Usually roulette wheel selection is adopted. Finally, u ik(t + 1) forms u i(t + 1).

2.4. Procedure of PIBSO

The procedure of PIBSO is described by the following:

  • Step 1. Initialize a population of ui and p km with a suitable scale.

  • Step 2. Evaluate the fitness fit i of each ui and normalize fit i by Eq. (1).

  • Step 3. For each ui, find incremental factor w i by Eq. (2) and update p km of u ik by Eqs. (3), (4), (5), and (6).

  • Step 4. Update u ik and form new ui by selecting s km based on p km.

  • Step 5. The updated ui forms new generation.

  • Step 6. Go back to Step 2 until the stop criterion is met.

2.5. Population evolution mechanism of PIBSO

In general, evolution of a ui means the combination of s km gets better and fit i increases. Accordingly, each u ik evolves into a better s km. The unit update mechanism indicates that a worse ui with lower fit i makes p km of u ik be increased less than a better ui with higher fit i does. Thus, a s km selected by more better ui has a higher probability of being selected. It means that the difference of p km between various s km (which are selected by bigger amounts of better ui) and s km (which are selected by bigger amounts of worse ui) expands gradually with the increase of generation number. This leads to the situation in which ui tends to select better s km and approaches the global optimum. Therefore, Steps 3, 4, and 5 of PIBSO push population to reach convergence. In contrast, p km is influenced by all ui, and conversely, p km affects the quality of ui. Therefore, ui interacts each other. In addition, the incremental ratio dr in Eq. (2) determines the value of incremental factor w i and controls the incremental velocity of p km.

3. PCBAOP

3.1. Problem statement

The typical sequential pick-and-place machine, shown schematically in Figure 1, consists of a movable placement head, a feeder carrier with slots, feeders, and a board holder. When a PCB has been transferred inside the machine by conveyor, the only movable mechanism, the placement head, moves from the starting point to a feeder to pick up a component. Then, the placement head travels to a prespecified position on the PCB to place the component. Next, the placement head travels to a feeder to pick up another component. This pick-and-place procedure is repeated until the assembly task has been completed. Eventually, when the last component has been placed, the placement head travels back to the starting point. Prior to production, components need to be stored in feeders and feeders need to be loaded on slots. In general, the placement head mounts only one component in a pick-and-place operation and moves directly between a feeder and a placement position. Moreover, a feeder stores only one type of components and a slot loads only one feeder.

Fig. 1. The typical pick-and-place placement machine.

During PCB production, the sequential pick-and-place machine completes two types of work: assigning feeders to slots and placing components onto the board in a sequence. To improve efficiency and cut down cost, the traveling time of the placement head, equivalently, the total length of the placement head traveling paths, need be reduced to the minimum. Consequently, optimization of PCB assembly is essentially a combinatorial optimization problem to find the shortest loop of the placement head.

3.2. Mathematical model

According to Ho and Ji (Reference Ho and Ji2007), the integer program model for PCBAOP on the sequential pick-and-place machine can be formulated as minimize

(7)$$z = \sum\limits_{i = 0}^n {\sum\limits_{\,j = 1\comma j \ne i}^n {\sum\limits_{t = 1}^\mu {\sum\limits_l^\mu {\lpar d_{il} + d_{lj} \rpar \times x_{ij} \times y_{t_j l} } } } } + \sum\limits_{i = 1}^n {d_{i0} \times x_{i0} }\comma$$

subject to

(8)$$\sum\limits_{i = 0}^n {x_{ij} } = 1\comma \quad \forall j= 0\comma \; 1\comma \; \ldots \comma \; n;\ i \ne j$$
(9)$$\sum\limits_{j = 0}^n {x_{ij} } = 1\comma \quad \forall i = 0\comma \; 1\comma \; \ldots \comma \; n;\ i \ne j$$
(10)$$u_i - u_j +n \times x_{ij} \le n - 1\comma \quad \forall i\comma \; j = 1\comma \; 2\comma \; \ldots \comma \; n;\ i \ne j$$
(11)$$\sum\limits_{t = 1}^\mu {y_{tl} = 1} \comma \quad \forall l = 1\comma \; 2\comma \; \ldots \comma \; \mu$$
(12)$$\sum\limits_{l = 1}^\mu {y_{tl} = 1} \comma \quad \forall t = 1\comma \; 2\comma \; \ldots \comma \; \mu$$

where i, j are the components (i, j = 0, 1, … , n); t is the component types (t = 1, 2, … , μ); l are feeders (l = 1, 2, … , μ); d 0l is the distance traveled from starting point to feeder l; d lj is the distance traveled from feeder l to position of component j on PCB; d il is the distance traveled from the position of component i to feeder l; d i0 is the distance traveled from the position of component i to starting point; u i is the placement order of component i; x ij = 1 if component i is placed immediately prior to component j and 0 otherwise; and y t jl = 1 if component j with component type t is stored in feeder l and 0 otherwise.

3.3. A PCB assembly example

The PCB assembly example PAT is used here to help understand the definitions and PIBSO application. Suppose in PAT, five components of three types will be mounted and four slots are on the feeder carrier. The distance between placement positions and slots, the distance from the starting point to slots, and the distance from the starting point to placement positions are shown in Table 1.

Table 1. The distances among placement positions, slots, and the starting point in PAT

Note: PAT, a printed circuit board assembly example.

3.4. Definitions

A tour of a placement head is a feasible loop of placement head travel, that is, the placement head travels from the starting point, picks and places all components repeatedly, and eventually returns to the starting point. In a tour, a path from a slot to a placement position is called a placement path, and a path from a placement position to a slot is called a pick path. Apparently, a tour is composed of placement paths, pick paths, and the path from the starting point to a slot as well as the path from a placement position to the starting point.

The placement distance is defined as the distance from a slot to a type of components, which is the sum of distances from the slot to placement positions on which components of the type are placed. For example, for PAT, according to Table 1, the placement distance from slot 1 to components of type 1 is the sum of the distance from slot 1 to position 1 and the distance from slot 1 to position 2, equal to 10. The placement distance matrix (PDM) is defined as the matrix in which each entry is a placement distance. Moreover, the rows correspond to the slots and the columns correspond to the types of components. As an example, the PDM of PAT is depicted as

$$\left[\matrix{10 & 22 & 12 \hfill \cr {\hskip 2pt 9} & 12 & {\hskip 3pt 7} \hfill \cr 11 & {\hskip 2pt 9} & {\hskip 3pt 2} \hfill \cr 17 & 13 & {\hskip 3pt 6} \hfill} \right]$$

The pick distance matrix (PiDM) is defined as the matrix in which the rows and columns correspond to slots and placement positions, respectively, and each entry is a pick distance. The starting point corresponds to the last column, with the assumption that the starting point is a placement position when the placement head starts a travel from it to a feeder to pick a component; meanwhile, it corresponds to the last row, with the assumption that it is a slot when the placement head travels from the placement position of the last mounted component back to it. The distance from the starting point to itself is set to positive infinity. As an example, the PiDM of PAT is depicted as

$$\left[\matrix{{\hskip 2pt 3} & 7 & {\hskip 2pt 6} & 16 & 12 & {\hskip 2pt 1} \hfill \cr {\hskip 2pt 5} & 4 & {\hskip 2pt 3} & {\hskip 2pt 9} & {\hskip 2pt 7} & {\hskip 2pt 2} \hfill \cr {\hskip 2pt 8} & 3 & {\hskip 2pt 5} & {\hskip 2pt 4} & {\hskip 2pt 2} & {\hskip 2pt 3} \hfill \cr 12 & 5 & 10 & {\hskip 2pt 3} & {\hskip 2pt 6} & {\hskip 2pt 4} \hfill \cr {\hskip 2pt 4} & 8 & {\hskip 2pt 7} & 17 & 13 & \infty \hfill} \right]$$

4. APPLY PIBSO TO PCBAOP

4.1. Initialization of probabilities of substates

If the path from the starting point to a slot and the path from a placement position to the starting point are assumed to be pick paths, a tour includes two parts: length of placement paths and length of pick paths. Each entry in PDM denotes a substate of placement paths. Each entry in PiDM denotes a substate of pick paths. According to Eq. (7), shorter paths are better and should have higher probabilities to be selected. Consequently, the probabilities of two types of substates are initialized as the reciprocals of placement distances and pick distances, respectively. The probability matrix of substates of placement paths is called feeder assignment probability matrix (FAPM). As one example in PAT, it is

$$\left[\matrix{0.100 & 0.045 & 0.083 \hfill \cr 0.111 & 0.083 & 0.143 \hfill \cr 0.091 & 0.111 & 0.500 \hfill \cr 0.059 & 0.077 & 0.167 \hfill} \right]$$

The probability matrix of substates of pick paths is called pick probability matrix (PPM). As one example in PAT, it is

$$\left[\matrix{0.333 & 0.143 & 0.167 & 0.063 & 0.083 & {\hskip 10pt 1} \hfill \cr 0.200 & 0.250 & 0.333 & 0.111 & 0.143 & 0.500 \hfill \cr 0.125 & 0.333 & 0.200 & 0.250 & 0.500 & 0.333 \hfill \cr 0.083 & 0.200 & 0.100 & 0.333 & 0.167 & 0.250 \hfill \cr 0.250 & 0.125 & 0.143 & 0.059 & 0.077 & {\hskip 10pt 0} \hfill} \right]$$

4.2. Unit generation rules

A unit includes two parts: a feeder assignment subunit (FASU) and a pick subunit (PSU). The former determines placement paths and the latter determines pick paths. The generation rules of two subunits are described below.

4.2.1. Generating FASU

The FASU is a vector, in which indexes denote slots and its elements are feeders (component types). In the procedure of generating a FASU, a slot is selected randomly, and then a feeder (component type) is selected for the slot by using roulette wheel selection. This process is repeated until all feeders are loaded. In roulette wheel selection, the roulette wheel consists of probabilities of types of components, that is, the related entries of the row (the row corresponds to the slot) in FAPM. When a feeder is selected by a slot, it will not be put in the roulette wheels for selecting feeders for other slots. In FASU, for the unused slots, the elements are set to zeros.

As one example in PAT, the process of generating a FASU denoted by fasu 1 is described as follows. Slot 3 is selected, and the roulette wheel consists of 0.091, 0.111, and 0.500. Thus, the feeder of type 1 is selected. Next, slot 2 is selected, and the roulette wheel consists of 0.083 and 0.142. Thus, the feeder of type 3 is selected. At the end, slot 4 is selected, and the feeder of type 2 is assigned to slot 4. Consequently, fasu 1 is worked out as

$$0 \quad {\rm Type3} \quad {\rm Type1} \quad {\rm Type2}$$

4.2.2. Generating a PSU associated with a FASU

When a FASU has been generated, an associated PSU needs to be generated. The PSU is a vector in which the indexes denote placement positions and the last index denotes the starting point, and its elements are the slots selected in the FASU. In the procedure of generating a PSU, a placement position is selected randomly, and then a slot is selected for the placement position by using roulette wheel selection. This process is repeated until all placement positions are assigned slots. In roulette wheel selection, the roulette wheel consists of probabilities of slots that are the related entries of the column (the column corresponds to the placement position) in PPM.

For PAT, as shown in Table 1, position 1 and 2 are of type 1, position 3 and 4 are of type 2, and position 5 is of type 3. Accordingly, for fasu 1 in its associated PSU, slot 3 and 4 occur twice and slot 2 occurs once. As an example, the process of generating a PSU associated with fasu 1, denoted by psu 1, is described as follows. Position 4 is selected, and the roulette wheel consists of 0.111, 0.250, 0.333, and 0.059. Thus, slot 3 is selected. Next, position 1 is selected, and the roulette wheel consists of 0.200, 0.125, 0.083, and 0.250. Thus, slot 2 is selected. Next, position 2 is selected, and the roulette wheel consists of 0.250, 0.333, 0.200, and 0.125. Thus, slot 4 is selected. Next, position 3 is selected, and the roulette wheel consists of 0.200, 0.100, and 0.143. Thus, slot 3 is selected. Next, position 5 is selected, and the roulette wheel consists of 0.167 and 0.077. Then, the starting point is selected. At the end, slot 4 is assigned to the starting point. Thus psu 1 is worked out as

$${\rm slot2} \quad {\rm slote4} \quad {\rm slot3} \quad {\rm slot3} \quad {\rm starting point} \quad {\rm slot4}$$

When a FASU and an associated PSU are generated, a unit is formed. For instance, the placement paths and the pick paths of the above generated unit are shown in Figure 2. For a unit, the length of tour is fixed no matter what the component placement sequence is. For example, as shown in Figure 2, the tour starting pointslot4position4slot3position2slot4position3slot3position1slot2position5starting point, and the tour starting pointslot4position3slot3position2slot4position4slot3position1slot2position5starting point have the same length. The reason is that each placement path and pick path need be passed once in a tour.

Fig. 2. The placement paths (solid lines) and the pick paths (dash lines) of the unit of fasu 1 and psu 1. Here, (1), (2), and (3) denote Type 1, 2, and 3 feeders, respectively, and ①, ②, ③, ④, and ⑤ denote Positions 1, 2, 3, 4, and 5, respectively.

4.3. Population update

The fitness is defined as the reciprocal of the length of a tour, that is, 1/z [z from Eq. (7)]. When a slot selects a feeder in FASU or a placement position selects a slot in PSU, the relevant substate probabilities increase in FAPM and PPM. The following example shows how FAPM, PPM, and population update.

For PAT, assume the scale of population is 5; in the first generation, the unit unit 1 with length of 67 is

$$0 \quad {\rm ty3} \quad {\rm ty1} \quad {\rm ty2}\quad ({\rm \bf FASU})$$
$${\rm S2} \quad {\rm S4} \quad {\rm S3} \quad {\rm S3} \quad {\rm Stp} \quad {\rm S4}\quad ({\rm \bf PSU})$$

The lengths of other four units, unit 2, unit 3, unit 4 and unit 5, are 70, 56, 71, and 80, respectively. For each unit, the length of tour is normalized by Eq. (1), with fit max = 80 and fit min = 56. The results of normalization are

$$\matrix {norfit_1 & norfit_2 & norfit_3 & norfit_4 & norfit_5 \hfill \cr 0.46 & 0.58 & 0 & 0.63 & 1}$$

Set dr to 1, and then the incremental factors of units are

$$\matrix{ w_1 & w_2 & w_3 & w_4 & w_5 \hfill \cr 0.09 & 0.12 & 0 & 0.13 & 0.2}$$

Next, in FAPM and PPM, the entries relevant to each unit are updated. For unit 1, in FAPM, entries (2, 3), (3, 1), and (4, 2) need to multiply (1 + w 1) by Eq. (3), and in PPM, entries (1, 2), (2, 4), (3, 3), (4, 3), (5, 5), and (6, 4) need to multiply (1 + w 1) by Eq. (3). The results are

$$\left[\matrix{0.100 & 0.045 & 0.083 \hfill \cr 0.111 & 0.083 & {\bi 0.156} \hfill \cr {\bi 0.099} & 0.111 & 0.500 \hfill \cr 0.059 & {\bi 0.084} & 0.167 \hfill} \right]$$

and

$$\left[\matrix{0.333 & 0.143 & 0.167 & 0.063 & 0.083 & {\hskip 10pt 1} \hfill \cr {\bi 0.218} & 0.250 & 0.333 & 0.111 & 0.143 & 0.500 \hfill \cr 0.125 & 0.333 & {\bi 0.218} & {\bi 0.273} & 0.500 & 0.333 \hfill \cr 0.083 & {\bi 0.218} & 0.100 & 0.333 & 0.167 & {\bi 0.273} \hfill \cr 0.250 & 0.125 & 0.143 & 0.059 & {\bi 0.084} & {\hskip 10pt 0} \hfill} \right]\comma$$

respectively. In the same way, FAPM and PPM are modified by unit 2, unit 3, unit 4, and unit 5 in sequence. In the next generation, new units are generated by using the updated FAPM and PPM so that population updates.

4.4. The process of PIBSO for PCBAOP

Set the scale of population to a suitable number. Initialize i = 0. Set the threshold thr to a suited value empirically. The process of PIBSO for PCBAOP is described as follows:

  • Step 1. Let i = i + 1, and generate units to form a new generation of population denoted by $g_i $.

  • Step 2. Find the average tour length of units, denoted by ave i. Find the best unit with the shortest tour and denote its length by best i.

  • Step 3. Find incremental factors of all units and use them to modify FAPM and PPM.

  • Step 4. If i < 0, go back to Step 1; else go to Step 5.

  • Step 5. Let c = i. Find the average of |ave cave c−1|, |ave c−1ave c−2|, . . . , |ave c−18ave c−19|, and denote it by Ata.

  • Step 6. If Ata < thr, then end the process and output the minimum among best i as the near-optimum result; otherwise, return to Step 1.

The condition of convergence is defined as the average of |ave iave i−1| for the last 20 generationis less than his consideration derives from the following observation. During the process of evolution of units, the difference among units tails off and local optima occur frequently. However, it hardly happens that the population falls into a local optimum and cannot jump out in 20 consecutive generations. Thus, if units have little change for 20 consecutive generations, PIBSO reaches a nearly global optimum solution.

5. NUMERICAL EXPERIMENTS AND RESULTS

The effectiveness and efficiency of PIBSO in solving PCBAOP were tested by numerical experiments on a Pentium 1.7-GHz CPU with 1 GB of RAM using MATLAB 7.0. A program generating PCB assembly instances was developed and used to produce PDM and PiDM of an assembly instance on PCB with the size of 300 × 500 mm2. In order to inspect performance of PIBSO comprehensively, PCB assembly instances with component number of 50, 100, 150, 200, 250, 300, 350, 400, 450, and 500 are generated, respectively. For a certain component number, three types of assembly instances with different component type numbers and slot numbers are generated. For example, when component number is set to 50, three pairs of component type number and slot number, that is, (5, 10), (8, 15), and (10, 20), are used to produce assembly instances of three cases.

PIBSO is compared with two benchmark algorithms: GA (Najera & Brizuela, Reference Najera and Brizuela2005) and APSO (Chen & Lin, Reference Chen and Lin2007). The parameters of PIBSO are set as population scale is 40 (dr = 1.0, thr = 0.01). A PCB instance is generated by the aforementioned program first. Then three algorithms are run 30 times on it. The average length of tour and CPU running time are recorded and graphically shown in Figure 3 and Figure 4, respectively.

Fig. 3. Comparisons between probability increment based swarm optimization (PIBSO) and two benchmark algorithms on the length of tour.

Fig. 4. Comparisons between probability increment based swarm optimization (PIBSO) and two benchmark algorithms on CPU running time.

It is easy to observe from Figure 3 that for each assembly instance, no matter what settings of component type number, slot number, and component number are, PIBSO can find a shorter tour than GA and APSO do. Moreover, tours found by GA are always the longest. The reason could be analyzed as follows. Crossover and mutation operators of GA are wholly stochastic, while selection strategy leads GA to search global optimal solution through iterations. Instead, APSO memorizes the current and historic optima so that it finds better solution than GA. The critical weakness of GA and APSO is easy to fall into local optimum. However, the mechanism of PIBSO avoids local optimum by roulette wheel selection and probability updating. Roulette wheel selection increases the randomness of a search, while a probability updating operator makes better states more likely to be chosen. The exploitation and exploration in search process are balanced, and thus PIBSO has superior search performance and gets a shorter tour.

As shown in Figure 4, when component number is less than 100, GA is faster than APSO and PIBSO; and PIBSO has shorter search time than GA and APSO with growth of component number. As mentioned before, GA has powerful stochastic search operators, crossover and mutation; thus, when the search space is not very large for a small-scale PCBAOP with component number less than 100, GA can find optimum quickly. However, when component number increases, search space grows tremendously and GA cannot find global optimum in a short time. Conversely, roulette wheel selection and probability updating of PIBSO produce a trade-off between global and local searches, which makes PIBSO more stable and free from influence of optimization scale growth. Thus, as component number increases, PIBSO costs less time than GA to get near-global optima. In addition, APSO spends longer time than GA, as shown in Figure 4. Its reason is that when search space grows, the velocity calculation in APSO becomes more complicated.

6. CONCLUSIONS

In this paper, a novel swarm intelligence approach for combinatorial optimization, named PIBSO, is proposed. It has a complete mechanism of population evolution. Each state of search space has a probability to be selected, and the probability is updated by incremental factor and related operators. Incremental factor is determined by fitness of the state and relevant operators. PIBSO searches the optimal state based on the probabilities of states, and usually roulette wheel selection is used.

When PIBSO is applied to PCBAOP, PDM and PiDM are defined. Accordingly, FAPM and PPM are defined as well. PIBSO finds the near-optimal solution by updating the two probability matrices and roulette wheel selection. Experimental results indicate that PIBSO not only gets shorter tour but also costs less CPU running time than GA and APSO. The superior performance of PIBSO attributes to the population evolution mechanism in which roulette wheel selection and probability updating make a trade-off between global and local search.

ACKNOWLEDGMENTS

This work was partially supported by the Research Committee of the University of Macau under Grant MYRG184 (Y1-L3)-FST11-DMC, the Science and Technology Development Fund of Macau SAR under Grant 018/2009/A1, the National Natural Science Foundation of China under Grant 61076098, and the Natural Science Foundation of Huizhou University under Grant 2012YB16.

Kehan Zeng is currently a PhD student in the Department of Electrical and Computer Engineering, University of Macau, and a part-time lecturer in the Department of Computer Science, Huizhou University. He received a BS in computer science and applications from the National University of Defense Technology of China in 2002, and a ME in electronic and mechanical engineering from Jiangsu University in 2009. His research interests include wavelets, graph algorithms, computational intelligence, optimization, machine learning, and applications in biomedical engineering.

Zhen Tan is a first-year master's student in the Department of Electrical and Computer Engineering at the University of Macau. He received a BS in electronic science from Huizhou University in 2012. His research interests include optimization, R&D of circuits, and systems in biomedical engineering.

Mingchui Dong is a Professor and PhD supervisor with the Department of Electrical and Computer Engineering at the University of Macau and the Automation Department at Tsinghua University. He received an MS degree in electronic engineering at Tsinghua University. Prof. Dong's main research interests are artificial intelligence and its application in biomedical engineering, CIMS, fault diagnosis, machine translation, and so forth.

Ping Yang is a Professor in the Laboratory of Advanced Design, Manufacturing & Reliability for MEMS/NEMS/ODES and the Laboratory of Materials & Micro-Structural Integrity, School of Mechanical Engineering, Jiangsu University. He received a PhD in mechanical engineering from Huazhong University of Science and Technology in 2001. Dr. Yang's research interests include the theoretical aspect and computer-aided design of mechanical systems for design and control.

References

REFERENCES

Beni, G., & Wang, J. (1988). The concept of cellular robotic system. Proc. IEEE Int. Symp. Intelligent Control, Los Altimos, CA.Google Scholar
Beni, G., & Wang, J. (1989). Swarm intelligence in cellular robotic systems. Proc. NATO Advance Workshop on Robots and Biological Systems, Tuscany, Italy.Google Scholar
Bonabeau, E., Dorigo, M., & Theraulaz, G. (1999). Swarm Intelligence: From Natural to Artificial Systems. New York: Oxford University Press.CrossRefGoogle Scholar
Chen, Y., & Lin, C. (2007). A particle swarm optimization approach to optimize component placement in printed circuit board assembly. International Journal of Advanced Manufacturing Technology 35(5–6), 909925.Google Scholar
Eberhart, R.C., & Shi, Y. (2007). Computational Intelligence: Concepts to Implementations. Burlington, VT: Morgan Kaufmann.Google Scholar
Ho, W., & Ji, P. (2007). Optimal Production Planning for PCB Assembly. London: Springer–Verlag.Google Scholar
Jin, Y., & Li, W. (2007). Design concept generation: a hierarchical coevolutionary approach. Journal of Mechanical Design 129, 10121022.CrossRefGoogle Scholar
Jin, Y., Li, W., & Lu, S.C.Y. (2005). A hierarchical co-evolutionary approach to conceptual design. CIRP Annals Manufacturing Technology 54(1), 155158.Google Scholar
Jin, Y., Zouein, G.E., & Lu, S.C.Y. (2009). A synthetic DNA based approach to design of adaptive systems. CIRP Annals—Manufacturing Technology 54(1), 153156.Google Scholar
Khoo, L.P., & Ng, T.K. (1998). A genetic algorithm-based planning system for PCB component placement. International Journal of Production Economics 54(3), 321332.Google Scholar
Koenig, R., & Schneider, S. (2012). Hierarchical structuring of layout problems in an interactive evolutionary layout system. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 26(2), 129142.Google Scholar
Korte, B., & Vygen, J. (2008). Combinatorial Optimization: Theory and Algorithms. Berlin: Springer.Google Scholar
Lipson, H. (2008). Evolutionary synthesis of kinematic mechanisms. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 22, 129142.CrossRefGoogle Scholar
Loh, T.S., Bukkapatnam, S.T.S., Medeiros, D., & Kwonb, H. (2001). A genetic algorithm for sequential part assignment for PCB assembly. Computer & Industrial Engineering 40(4), 293307.Google Scholar
Maher, M.L., & Fisher, D.H. (2012). Using AI to evaluate creative designs. Proc. Int. Conf. Creative Design, ICDC'2012. Glasgow: Design Society.Google Scholar
Najera, A.G., & Brizuela, C.A. (2005). PCB assembly: an efficient genetic algorithm for slot assignment and component pick and place sequence problems. Proc. IEEE Congr. Evolutionary Computation CEC'05. Edinburgh.Google Scholar
Shea, K., Ertelt, C., Gmeiner, T., & Ameri, F. (2010). Design-to-fabrication automation for the cognitive machine shop. Advanced Engineering Informatics 24(3), 251268.CrossRefGoogle Scholar
Wang, J.F., Liu, J.H., Li, S.Q., & Zhong, Y.F. (2003). Intelligent selective disassembly using the ant colony algorithm. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 17, 325333.Google Scholar
Yang, P., & Zeng, K. (2009). A high-performance approach on mechanism isomorphism identification based on an adaptive hybrid genetic algorithm for digital intelligent manufacturing. Engineering With Computers 25(4), 397403.Google Scholar
Figure 0

Fig. 1. The typical pick-and-place placement machine.

Figure 1

Table 1. The distances among placement positions, slots, and the starting point in PAT

Figure 2

Fig. 2. The placement paths (solid lines) and the pick paths (dash lines) of the unit of fasu1 and psu1. Here, (1), (2), and (3) denote Type 1, 2, and 3 feeders, respectively, and ①, ②, ③, ④, and ⑤ denote Positions 1, 2, 3, 4, and 5, respectively.

Figure 3

Fig. 3. Comparisons between probability increment based swarm optimization (PIBSO) and two benchmark algorithms on the length of tour.

Figure 4

Fig. 4. Comparisons between probability increment based swarm optimization (PIBSO) and two benchmark algorithms on CPU running time.