Abstract
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.
1. 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]. There 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–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. The 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. The 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–14], PSO [15, 16], ant colony optimization algorithm [17, 18], and other evolutionary algorithms [19–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. The 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. The 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. The consequent efficiency can be increased.
As for the heuristic rules design, the prematurity phenomenon is the major problem that needs to be addressed. The 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. This algorithm has been successfully used in areas like CO2 emission problem [25] and hydropower stations operations [26]. The 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. The 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.
2. Establishment and Analysis of SAPN
2.1. Basic Petri Net
Definition 1. (Petri net). Let N = (P, T, F) be the basic Petri net which should satisfy the following three conditions:(1)P ∪ T ≠ Ø ∧ P ∩ T = Ø,(2)F ⊆ P × T ∪ T × P,(3)dom (F) ∪ cod (F) = P ∪ T.Here “” is the Cartesian product, , and . Condition (3) is defined to ensure that there is no isolated place, transition, or arc in the Petri net.
2.2. Symbols in SAPN
Definition 2. (synchronizer). Let be a synchronizer, where , , , , , , , and .
The scheme of the defined synchronizer is shown in Figure 1. The SAPN consists of a set of synchronizers corresponding to different assembly status. The 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: P = {pj}, (j = 1, 2, …, m) represents the assembly status, and m is the amount of the places. T = {ti}, (i = 1, 2, …, n) represents the assembly operations, and n is the amount of the transitions. F = {fk}, (k = 1, 2, …, l) represents the directed arcs between transitions and places, and l is the amount of the arcs. W = {}: F ⟶ {1, 2, 3, …} represents the weight functions associated with arcs. The weight functions determine the amount of the required tasks for a place to transform into another one. The 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 m1 arcs between T1 and p sharing the same output place p in Figure 1, so the weight functions of these arcs should be both assigned as m1. Also the weight functions of p’s output arcs should be both assigned as m2 according to similar recursion. M = {mi}: 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: represents the precedence relationships among equipment components. The element in PT is defined to collect the preceding transitions of . In others words, if , then the transitions in T1 are the predecessors of the transitions in T2. TM = {tmi}:T represents operation times of the transitions.
2.3. Construction of SAPN
This subsection introduces construction approach of SAPN through the following steps. Step 1: Generate transitions for each necessary assembly operation. Step 2: Assign tms, ms, and pts 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. Therefore, 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.
2.4. 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. The necessary and sufficient condition of being fireable is given as below:
Equation (2) can also be rewritten as
It is seen from (3) that is fireable when its preceding transitions have all been fired; namely, . Analysis of assembility is necessary in the sequence optimization process to avoid violation of precedence relationships.
3. Principles of Sequence Optimization
In this section, PSOBC framework is developed to solve the PASP problem. The 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. Thus the sequence optimization can be efficiently performed.
3.1. Problem Statement
Here we use a simple example to illustrate the principles of PASP. The parallel assembly scheme is shown in Figure 2. It is assumed that there are 3 manipulators and 13 individual parts of equipment. The length of each rectangle in Figure 2 represents the assembly time of the corresponding part. Three 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. The objective function is given in the following formulation:
In (4), times represents operation time of the subassembly s and time represents the whole assembly time.
3.2. Coding Rules
In this subsection, coding rules for PASP problem are proposed according to its features. The 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 Xd be a parallel sequence, which is expressed by a vector as below:Since xdi represents subassembly index of transition ti, it is supposed to be an integer.
Definition 5. (particle velocity). Let the particle velocity Vd be the updating rule for the particles, which is represented by another vector as below:Since represents the updating rule for transition ti of particle Xd, is supposed to be a real number.
Definition 6. (fitness function). Let the fitness function be the formulation to evaluate particle positions as expressed inIn (7), Ct 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 times, Fp (s), and Fl (s). times is the max operation time in subassemblys. Fp (s) equals the number of unfireable transitions in subassembly s, i.e., the marking values of the transitions equal 2 according to analysis of assembility in the synchronizer (3). After calculating each Fp (s), marking values of transitions in the subassembly should be set as 0, and marking values of the unfired transitions in SDPN should be set as 1 if their preceding transitions have all been fired, or the values remain equal to 2. Fl (s) equals 0 if operation number of subassembly s is less than DPA, or it equals DPA minus operation number.
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), is the population size, while is the mean subassembly indices of ti in the population. Diversity function is formulated to detect premature convergence, and then attraction/repulsion phase can be implemented to improve algorithm performance.
3.3. Algorithm Optimization
Let be the velocity of particle d in generation , and be the position of particle d in generation . The 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. The calculating rules of (9)∼(11) are proposed as below.
Since xs are integers and are real numbers, the elements in X should be both rounded to integers after calculation using (15).
4. Case Study
In this paper, a metallurgical reducer is taken as an example to verify the feasibility and the efficiency of the proposed method. The DPAs are selected as 2, 3, and 4, respectively. The explosive diagram of the reducer is shown in Figure 3, including 50 components in total. The main parts of the reducer are gears, boxes, caps, bears, shafts, lubricating rings, and eccentric sleeves.

4.1. Establishing SAPN
Based on the reducer structure, the places, transitions, arcs, and other tuples in SAPN = (P, T, F, W, M, PT, TM) are established in Section 2.3. Structure diagram of the SAPN is built as shown in Figure 4. In the net model, P is the set of places defined to represent component status. p1 and p49 are the starting and ending places. T is the set of transitions, representing the assembly operations. Definitions of the transitions in the SAPN model are given in 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. The weight functions are assigned based on the definition mentioned in Section 2.2. For example, weight functions of the arcs between p2 and t2, p5 and t5, and p28 and t28 are assigned as 1, while weight function of the arcs between p29 and t41 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. This problem can be addressed through the proposed PASP framework.
4.2. Population Initialization
Based on the heuristic mechanism of PSOBC, population initialization is required for the sequence optimization. The 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 nr (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 nr 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 np (the amount of particles) exceeds the population size nt, output the initial population IP and end. Otherwise, return to step 3.

In the C# environment, the population size nt is set as 50 and the DPAs are set as 2, 3, and 4, respectively. The 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.
The 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.

4.3. Generation of the Optimal Sequences
The 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.
In the optimization procedure, the parameters are set as δp = δl = 5, itnmax = 150, cl = = 2, dh = 0.1, and dl = 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].
4.4. Discussions and Comparisons
Three different simulations are conducted to verify the proposed method when DPAs are settled as 2, 3, and 4, respectively. The 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. The 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.

(a)

(b)

(c)
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.2%. The 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. Through standard PSO method, assembly time of the solution is 59.1 seconds. The assembly time by using PSOBC is 57.3 seconds. The assembly efficiency is increased by 3.1%. The 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. The solution of PASP problem can be further optimized.
5. 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.
Nomenclature
SetsP: | Finite set of places |
T: | Finite set of transitions |
F: | Finite set of arcs |
W: | Finite set of weights |
M: | Finite set of markings |
pt: | Finite set of preceding transitions |
PT: | Finite set of pts |
TM: | Finite set of operation times |
i, i1, i2: | Indices of transitions |
j: | Index of places |
k: | Index of arcs |
: | Index of iterations |
s: | Index of subassemblies |
d, d1, d2: | Indices of particles |
p: | Place |
t: | Transition |
f: | Arc |
: | Weight |
m: | Marking |
tm: | Operation time of each transition |
O: | Operator |
Pl: | Population |
Bid, Bgd: | Current local/global best positions |
Wid, Wgd: | Current local/global worst positions |
δp: | Penalty factor for precedence relationships violation |
δl: | Penalty factor for parallel principles violation |
dh: | Upper bound of diversity function |
dl: | Lower bound of diversity function |
itn: | Current number of iterations |
itnmax: | Max number of iterations |
L: | Diagonal length of searching area |
ω: | Inertia factor |
cl: | Local learning factor |
: | Global learning factor |
r: | Random number with uniform distribution on (0, 1) |
DPA: | Degree of parallel assembly |
time: | Operation time of assembly/subassembly |
X: | Vector of particle position |
V: | Vector of particle velocity |
FT (X): | Fitness function |
Fp (s): | Penalty function for violating precedence relationships |
Fl(s): | Penalty function for violating parallel principles |
Fd (Pl): | Diversity function |
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
The authors declare that they have no conflicts of interest.
Acknowledgments
This work was supported in part by the Zhejiang Key Research and Development Program under Grant 2017C01008, the Analytical and Testing Technology Project of Zhejiang Province under Grant 2018C37068, the Key Technology Research Project of Wenzhou under Grants 2018ZG020 and ZG2017002, and the Open Research Fund of the Low-Voltage Apparatus Technology Research Center of Zhejiang under Grant 201711-01.