A Novel Parallel Assembly Sequence Planning Method for Complex Products Based on PSOBC

Parallel assembly sequence planning (PASP) greatly impacts on efficiency of assembly process. In traditional methods, large scale of matrix calculation still limits efficiency of PASP for complex products. A novel PASP method is proposed to address this issue. To avoid matrix calculation, the synchronized assembly Petri net (SAPN) is firstly established to describe the precedence relationships. Associated with the SAPN model, the PASP process can be implemented via particle swarm optimization based on bacterial chemotaxis (PSOBC). Characterized by an attraction-repulsion phase, PSOBC not only prevents premature convergence to a high degree, but also keeps a more rapid convergence rate than standard particle swarm optimization (PSO) algorithm. Finally, feasibility and effectiveness of the proposed method are verified via a case study. With different assembly parallelism degrees, optimization results show that assembly efficiency of the solution calculated by PSOBC method is 9.0%, 4.2%, and 3.1% better than the standard PSO process.


Introduction
ASP is one of the important parts of industrial manufacturing, which is able to provide fast and high efficiency guidelines for equipment assembly. High efficiency of ASP directly determines enterprise profit. However, ASP is usually difficult due to the large number of equipment components (assembly operations) and complicated priorities/constraints relations among components.
Usually ASP can be treated as an NP-hard problem [1], which is generally solved to maximize the multiple benefits during the assembly process [2]. ere are several challenges remaining to construct efficient and comprehensive ASP, one of which is the modeling problem. To optimize ASP, the precedence relationships among every individual component need to be investigated. A number of methods have been developed to meet various requirements in the ASP optimization. AND/OR graph model was firstly developed by De Mello et al. [3], and it has been widely employed in assembly sequence generation researches. Precedence matrix was built and embodied into Petri net to generate the reachability graph by Yang et al. [4]. Similar assembly direction matrix, interference matrix, and sequence-relation matrix were introduced to generate optimal assembly sequence for eccentric milling machine in [5]. Such matrix method contributes to generation and acquisition of production information, and it is usually straightforward and easy to be implemented. However, due to the large number of equipment components and the complicated constrains, the size of precedence matrix is generally very large. Computational burden will limit the optimization process. To increase ASP efficiency, some other advanced methods were introduced and developed, e.g., weighted precedence graph [6], assembly tree [7], layout-based hierarchical graph [8], and part concatenation method [9][10][11]. In these methods, the weighted assembly graph reduces the complexity of ASP through considering qualitative and quantitative constraints. By using the assembly tree method, generation of feasible and stable sequences can be implemented through the recursive construction and stability criteria. Part concatenation method is robust and able to address ASP problem by considering all necessary assembly predicates. However, such models are still matrix based. Not only is enormous human calculation required to investigate complex products, but also human error would occur with a large probability. To address this problem, a SAPN model is developed to describe the operations, priorities, and constraints in assembly process. Each transition is associated with the predecessors by using assembly synchronizers, which illustrates the precedence relationships. e transition status is updated in each assembly operation and the assembility can be identified by the status checking.
ASP optimization could be implemented when the assembly model is developed. Generally, ASP can be categorized into two types, the SASP and the PASP. e assembly operations of SASP are constructed in series and are easy to be implemented. Since all the operations need to follow a linear sequence, the efficiency is limited. Assembly operations of PASP can be performed in parallel and the efficiency can be increased. However, it is still challenging to assemble complex equipment with PASP. To increase efficiency and correctness, the PASP needs to be optimally designed. Moreover, optimization of PASP needs to be subjected to strict predetermined constraints.
Heuristic algorithm is an effective way to solve optimization problem with constraints. Typical methods include genetic algorithm [12][13][14], PSO [15,16], ant colony optimization algorithm [17,18], and other evolutionary algorithms [19][20][21]. GA is a nonlinear estimation method that generates solutions to optimization problems using techniques inspired by natural evolution [22]. To tackle ASP of complex products, a chaotic PSO approach to generate the optimal or near-optimal assembly sequences of products was developed in [23]. Generally, heuristic searching needs to be implemented with numerical iterations. e coding rules and heuristic rules under predetermined constraints are important to construct the efficient searching. Like what has been discussed, most of the ASP models and the coding rules are matrix based. e searching/iteration performance is limited due to the matrix calculations. We have developed the SAPN model to describe the operations, priorities, and constraints in the assembly process. Coding rules of PSOBC such as position, velocity, and diversity function are represented with index vectors instead of matrix. e consequent efficiency can be increased.
As for the heuristic rules design, the prematurity phenomenon is the major problem that needs to be addressed. e searching result could be attracted to the local optima if the heuristic rules are designed improperly. Inspired by the phenomenon of chemotaxis in bacteria colonies, PSOBC was proposed to improve the performance of standard PSO [24]. Characterized by an attraction-repulsion phase, PSOBC not only prevents premature convergence to a high degree, but also keeps a more rapid convergence rate than standard PSO. is algorithm has been successfully used in areas like CO 2 emission problem [25] and hydropower stations operations [26]. e global and local search performance could be well balanced when the particle swarm diversity is properly controlled. Here we use a similar PSOBC framework to solve the PASP problem based on the proposed SAPN model. e diversity function is built up to avoid population prematurity. Feasibility and effectiveness of the proposed method are also verified via a case study. Optimization results have been compared with standard PSO method under different DPAs.

Symbols in SAPN
e SAPN consists of a set of synchronizers corresponding to different assembly status. e synchronizers are used to illustrate the parallel and selective relations of each assembly operation, including the corresponding precedence relationships.
Definition 3 (SAPN). Let SAPN �( P, T, F, W, M, PT, TM) be the synchronized assembly Petri net consisting of assembly synchronizers. Places, transitions, arcs, and other tuples are integrated in the net. Detailed explanation of these tuples is given as follows: . ., m) represents the assembly status, and m is the amount of the places. T � {t i }, (i � 1, 2, . . ., n) represents the assembly operations, and n is the amount of the transitions. F � {f k }, (k � 1, 2, . . ., l) represents the directed arcs between transitions and places, and l is the amount of the arcs. W � {w k }: F ⟶ {1, 2, 3, . . .} represents the weight functions associated with arcs. e weight functions determine the amount of the required tasks for a place to transform into another one. e weight functions should be assigned based on number of the arcs which share the same input/output place in the corresponding synchronizer. For example, there are m 1 arcs between T 1 and p sharing the same output place p in Figure 1, so the weight functions of these arcs should be both assigned as m 1 . Also the weight functions of p's output arcs should be both assigned as m 2 according to similar recursion. M � {m i }: T ⟶ {0, 1, 2} represents the markings associated with transitions. Here M is defined to represent the transition status. In the assembly process, the marking M is a piecewise constant vector and the values are dependent on the transition status based on the following rules: . . , n) represents the precedence relationships among equipment components. e element pt i 2 in PT is defined to collect the preceding transitions of t i 1 . In others words, if ∃p � (T 1 , T 2 , (a 1 , a 2 )): t i 2 ∈ T 1 ∧ t i 1 ∈ T 2 , then the transitions in T 1 are the predecessors of the transitions in T 2 . TM � {tm i }:T represents operation times of the transitions.

Construction of SAPN.
is subsection introduces construction approach of SAPN through the following steps.
Step 1: Generate transitions for each necessary assembly operation.
Step 2: Assign t ms , ms, and p ts to each corresponding transition.
Step 3: Generate the starting place, the ending place, and the places between each transition and its predecessors.
Step 4: Integrate the duplicated input places of each transition.
Step 5: Generate the directed arcs from predecessors to the corresponding places and from the places to the corresponding successors.
Step 6: Assign the weight function to each arc. SAPN model can be constructed through the detailed steps mentioned above.
Step 1 and Step 2 generate the fundamental transitions. Generation of the corresponding places is processed in Step 3 and Step 4. Since SAPN is oriented to the complex products, the elements in SAPN are unavoidably large. erefore, the integration process in Step 4 somewhat reduces the scale of SAPN model. Step 5 and Step 6 generate and assign the arcs, which link the elements in each synchronizer.

Analysis of Assembility.
A transition which is fireable must satisfy the condition that its preceding transitions have all been fired in the synchronizer. Assembility of each component can be determined from the precedence relationships and the status, i.e., PT and M. e necessary and sufficient condition of t i 1 being fireable is given as below: (2) Equation (2) can also be rewritten as It is seen from (3) that t i 1 is fireable when its preceding transitions have all been fired; namely, m i 2 � 0. Analysis of assembility is necessary in the sequence optimization process to avoid violation of precedence relationships.

Principles of Sequence Optimization
In this section, PSOBC framework is developed to solve the PASP problem. e algorithm alternates between phases of attraction and repulsion. Once the diversity of population is too high, the individuals will be congregated by attraction force to explore better solution. If the diversity of population is too low, the individuals will be dispersed by repulsion force to ensure better convergence. us the sequence optimization can be efficiently performed.

Problem Statement.
Here we use a simple example to illustrate the principles of PASP. e parallel assembly scheme is shown in Figure 2. It is assumed that there are 3 manipulators and 13 individual parts of equipment. e length of each rectangle in Figure 2 represents the assembly time of the corresponding part. ree manipulators are employed and five assembly steps are involved in the process. During the process, time represents the operation time of the whole assembly process. To improve efficiency, the goal of sequence planning is set to minimize the assembly time, time. DPA can be defined to describe the biggest number of components or parts to be assembled simultaneously, i.e., the amount of the manipulators. According to the definition, the DPA of the example in Figure 2 is 3.
To improve assembly performance, time study is considered to minimize assembly time. e objective function is given in the following formulation: In (4), time s represents operation time of the subassembly s and time represents the whole assembly time. Mathematical Problems in Engineering

Coding Rules.
In this subsection, coding rules for PASP problem are proposed according to its features. e rules include particle position, particle velocity, fitness function, and diversity function. Since matrix calculation is avoided, calculation process would be in high efficiency and effectiveness.
Definition 4 (particle position). Let the particle position X d be a parallel sequence, which is expressed by a vector as below: Since x di represents subassembly index of transition t i , it is supposed to be an integer.
Definition 5 (particle velocity). Let the particle velocity V d be the updating rule for the particles, which is represented by another vector as below: Since v di represents the updating rule for transition t i of particle X d , v di is supposed to be a real number.
Definition 6 (fitness function). Let the fitness function be the formulation to evaluate particle positions as expressed in In (7), C t is a constant defined to convert minimization to maximization. Assembly time is considered in the fitness function to optimize assembly efficiency, while the two penalty factors/functions are used to, respectively, investigate precedence relationships and parallel principles.
To calculate the fitness function, the first step is decoding X into parallel assembly sequence based on its definition, while the second step is calculating each time s , F p (s), and F l (s). time s is the max operation time in subassemblys. Definition 7 (diversity of population). Let the diversity of population be the formulation shown in (8) to evaluate the average distance between all particles.
In (8), |P l | is the population size, while x i is the mean subassembly indices of t i in the population. Diversity function is formulated to detect premature convergence, and then attraction/repulsion phase can be implemented to improve algorithm performance.

Algorithm Optimization.
Let V g d be the velocity of particle d in generation g, and X g d be the position of particle d in generation g.
e PSOBC algorithm should be implemented with the following equations: In attraction phase, (9) and (10) should be exerted to optimize solutions with the principle of approaching local/ global best positions. In repulsion phase, (10) and (11) should be exerted to improve convergence with the principle of escaping from local/global worst positions. e calculating rules of (9)∼(11) are proposed as below.
Since xs are integers and vs are real numbers, the elements in X should be both rounded to integers after calculation using (15).

Case Study
In this paper, a metallurgical reducer is taken as an example to verify the feasibility and the efficiency of the proposed method.
e DPAs are selected as 2, 3, and 4, respectively. e explosive diagram of the reducer is shown in Figure 3, including 50 components in total. e main parts of the reducer are gears, boxes, caps, bears, shafts, lubricating rings, and eccentric sleeves.  Table 1. F is the set of arcs, representing flow relations between transition and place. W is the set of weights associated with the arcs. e weight functions are assigned based on the definition mentioned in Section 2.2. For example, weight functions of the arcs between p 2 and t 2 , p 5 and t 5 , and p 28 and t 28 are assigned as 1, while weight function of the arcs between p 29 and t 41 is assigned as 3. M is the set of markings associated with transitions. Precedence relationships are illustrated in PT to analyze the component assembility. TM is the set of assembly times associated with each assembly operation.
It is seen from Table 1 that large size of matrices would be generated if the matrix-based method was adopted for metallurgical reducer ASP design, which would be complex and difficult to implement. is problem can be addressed through the proposed PASP framework.

Population Initialization.
Based on the heuristic mechanism of PSOBC, population initialization is required for the sequence optimization. e stages of population initialization can be structured as a flow chart represented in Figure 5. Detailed explanation of the initialization procedure is given in the following steps.
Step 1: Obtain the precedence relationships and the initial status of the components from PT and M. Build IP (an empty set of particles position) as the initial population.
Step 2: Build a new particle position PDS (an empty set of transitions).
Step 3: Build a new set of all fireable transitions RTS based on analysis of assembility.
Step 4: Build a new assembly step DS (an empty set of transitions). If n r (the amount of transitions in RTS) exceeds DPA, randomly push 1∼DPA assembly operations into DS. Otherwise, push all the operations form RTS into DS. Update status and marking of the transitions in DS, and push the transitions from DS into PDS.
Step 5: Remove the fired transitions in RTS based on PT and M.
Step 6: If n r is positive, return to step 4. Otherwise, encode PDS into a particle position (an index vector) and push it into IP; return to step 7.
Step 7: If n p (the amount of particles) exceeds the population size n t , output the initial population IP and end. Otherwise, return to step 3.
In the C# environment, the population size n t is set as 50 and the DPAs are set as 2, 3, and 4, respectively. e three initial populations are exported after running the initialization codes. According to the biologically inspired mechanism of PSOBC, the initial population is the origin for the bacterial evolution.
e key procedure of PASP is the sequence optimization process implemented to find the optimal solution. Main stages of heuristic optimization can be structured as another flow chart represented in Figure 6. Detailed explanation of the procedure is illustrated in the following steps.

Generation of the Optimal Sequences.
e key procedure of PDSP is the sequence optimization process implemented to find the optimal solution. Main stages of heuristic optimization can be structured as another flow chart represented in Figure 6. Detailed explanation of the procedure is illustrated in the following steps: Step 1: Input the initial population from initialization process. Set phase as "attraction." Step 2: Update the current best and worst particle position for individuals and the whole population.
Step 3: If the phase is "attraction," calculate the new velocity and position for each particle using (9) and (10). Otherwise, calculate using (10) and (11).
Step 4: Calculate diversity function of the population. If premature convergence occurs, set the phase as "repulsion" and return to step 6. Otherwise, return to step 5.
Step 5: Calculate diversity function of the population. If premature convergence is escaped, set the phase as "attraction" and return to step 6.   Step 6: If the termination condition is satisfied, decode the optimal solution and end. Otherwise, return to step 2.

Mathematical Problems in Engineering
In the optimization procedure, the parameters are set as δ p � δ l � 5, itn max � 150, c l � c g � 2, d h � 0.1, and d l � 0.001, and ω will linearly decrease from 1 to 0 during the searching process. Here, the parameters are set not only based on the features of PASP problem and PSOBC algorithm, but also referring to researches in [25,26].

Discussions and Comparisons.
ree different simulations are conducted to verify the proposed method when DPAs are settled as 2, 3, and 4, respectively. e proposed PSOBC simulations have been compared with standard PSO method in Figure 7. To keep consistency, the simulation parameters including learning factor, penalty factors, and inertia factor are chosen as the same in both PSOBC and PSO for different DPAs. In Figure 7(a), DPAs are both settled as 2. For PSO simulation, the assembly time is 81.5 seconds.
e assembly time of PSOBC method is 74.8 seconds. Compared to the standard PSO, the efficiency is increased by 9.0%. Detailed explanation of 2-DPA assembly sequence is given in Table 2.
In Figure 7(b), DPAs are both settled as 3. It is seen that the assembly time of PSO is 62.1 seconds while the assembly time of PSOBC is 59.6 seconds. Compared to the standard PSO, the assembly efficiency is increased by 4  Calculate F d (P l ) Set phase as repulsion Mathematical Problems in Engineering optimal sequence carried out by PSOBC method is given in Table 3 when DPA is set as 3.
In Figure 7(c), DPAs are both settled as 4. rough standard PSO method, assembly time of the solution is 59.1 seconds. e assembly time by using PSOBC is 57.3 seconds. e assembly efficiency is increased by 3.1%. e optimized sequence carried out by PSOBC is given in Table 4.
Based on the optimization results and comparison, the following conclusions can be drawn: (1) Due to implementation of SAPN model, the PASP problem can be effectively and efficiently solved for complex products, while huge matrix calculation is avoided and possibility of human error is reduced.
(2) Compared with the standard PSO algorithm, premature convergence can be effectively prevented through repulsion operation. e solution of PASP problem can be further optimized.

Conclusions
A novel PASP optimization method is developed for complex product in this paper. A SAPN model is proposed to describe the precedence relationships in the assembly process, while huge matrix calculation is avoided and possibility of human error is reduced. To optimize PASP problem, a PSOBC method is developed along with the SAPN model. Verifications show that assembly time of the optima calculated using the proposed method is 9.0%, 4.2%, and 3.1% better than the standard PSO algorithm when the DPA is 2, 3, and 4, respectively. Assembly time of the three optimal sequences is 74.8 seconds, 59.6 seconds, and 57.3 seconds, separately. Parallel assembly process can be optimally planned by using the proposed method.   Penalty factor for precedence relationships violation δ l :

Nomenclature
Penalty factor for parallel principles violation d h : Upper bound of diversity function d l : Lower bound of diversity function itn: Current number of iterations itn max : Max number of iterations L: Diagonal length of searching area ω: Inertia factor c l : Local learning factor c g : Global learning factor r: Random number with uniform distribution on (0, 1) DPA: Degree of parallel assembly

Variables time:
Operation time of assembly/subassembly X: Vector of particle position V: Vector of particle velocity FT (X): Fitness function F p (s): Penalty function for violating precedence relationships F l (s): Penalty function for violating parallel principles F d (P l ): Diversity function Abbreviations SAPN: Synchronized assembly Petri net ASP: Assembly sequence planning PASP: Parallel assembly sequence planning SASP: Sequential assembly sequence planning PSO: Particle swarm optimization PSOBC: Particle swarm optimization based on bacterial chemotaxis.

Data Availability
No data were used to support this study.

Conflicts of Interest
e authors declare that they have no conflicts of interest.