Assembly Operation Optimization Based on Social Radiation Algorithm for Autobody

Assembly dimensional quality affects wind noise and driving steady and whole external appearance. The quality can be improved by reducing part tolerance and fixture tolerance and optimizing key control characteristics (KCCs). However, reducing tolerance should largely increase manufacturing costs, and then the paper assembly tolerance is decreased by selecting optimal KCCs. In this work, a fitness function is presented to evaluate assembly operations based on the linear assembly variation analysis model. Afterwards, a new social radiation algorithm (SRA) is proposed to optimize KCCs, and some test functions are used to evaluate optimum performance between the genetic algorithm (GA) and SRA, and the results show that the performance of SRA is better than that of GA. Finally two cases are used to illustrate process of assembly operation optimization by SRA, and the results show that the SRA has higher precision and efficiency than that of GA.


Introduction
The quality of autobody dimension is related to the whole external appearance, wind noise, and even the steady of driving. The dimension quality of autobody is mainly influenced by automobile parts design, assembly process, and manufacturing variations [1]. As the current level of manufacturing precision control is close to the limit, deviation reduced in manufacturing technology demands a qualitative breakthrough. Dimension quality can be improved through selecting assembly sequence, designing fixture layouts, and optimizing key control characteristics (KCCs). According to the analysis of assembly operations, assembly tolerance changes due to different assembly operations, which change with different assembly sequences. Therefore the assembly operation optimization is an important means for improving the assembly dimensional quality [2][3][4].
Currently, the assembly operation was optimized through the genetic algorithm (GA) and the improved genetic algorithm (IGA) [5,6]. Carlson [7] used the secondary sensitivity equation to optimize fixture scheme, and Vishnupriyan et al. applied GA to select the best fixture locator positions [8]. For overcoming the disadvantages of GA, Xing and Wang [9] proposed the hybrid algorithm of particle swarm optimization and genetic algorithm to improve optimum efficiency. Since the current optimization algorithms are not able to converge to the global optimal solutions, this paper proposes a new social radiation algorithm (SRA) to improve optimization precision and efficiency for increasing the probability of searching global solutions. This method is proposed based on human competition in society. SRA is a swarm intelligence optimization algorithm according to the principle of survival of the fittest. The innovation points of SRA are that the population is divided into different subgroups and resorted at every generation.

Objective Function of Optimizing Assembly Operations
Many scholars had been studying assembly variation propagation since 1900s. Cai et al. [10] proposed a method of linear assembly variation analysis model to calculate assembly variation due to fixture deviation. Qin et al. [11] put forward a method of assembly variation analysis based on rigid model. Through calculating assembly variation of 2D (2013), the paper makes use of linear assembly variation analysis model [10] to evaluate assembly operation. The translational 2 Advances in Mechanical Engineering and orientational variations at center of workpiece can be expressed as a vector: where the Jacobian is expressed as Here, R ≡ [ 1 , 1 , 2 , 2 , 3 , 3 ] represents the source variation vector, which can be calculated by multiplying deviation and direction at locating point. ≡ [ , ] , = 1, 2, 3 stands for the surface normal vector at locating points.
According to (1), the coefficient of variation propagation is related to assembly operations. The smaller the coefficient is, the better the assembly operations are. Based on optimization of KCCs [12], the Euclidean norm of inverse Jacobian matrix is used as the objective function to evaluate assembly operation, which is shown in (3); where X represents selected KCCs and ‖J −1 (X)‖ represents the Euclidean norm of inverse Jacobian matrix.

Social Radiation Algorithm
SRA is proposed in this section, which is a swarm intelligence algorithm based on the development of human society. The algorithm shares similar characteristics to GA; however, the manner in which the two algorithms traverse the search space is fundamentally different. The algorithm randomly generates different capabilities and radiations for a population of individuals at first. Each individual can change its capability and radiation by the last population. In SRA, the population is divided into different subgroups through objective function. The individual can change its subgroups by updating its capability and radiation. The optimization of assembly operations can be divided into the following steps: (1) codifying KCCs to generate initial population, (2) generating new individuals by updating capabilities and radiations, and (3) optimizing assembly operations based on the SRA.

Codifying
KCCs. According to [12], the positions of KCCs can be expressed by a continuous function for simple workpiece. However, the KCCs can be codified by setting consecutive number of discrete characteristics for complex assemblies. For example, an array (20-25-32-38-43-50) stands for a combination of KCCs. The numbers of the array must not overlap. Although the numbers of the KCCs are not overlapped, these KCCs maybe not satisfy the principle of sixpoint location, which means that the rank of Jacobian (see (1) is less than six. At this time, a big value can be given for the set of KCCs. Then (3) can be written as follows:

Updating Individual Capability and Radiation.
The section will present how to generate a new individual population.
The new population can be generated according to the following steps.
Step 1. This includes calculating individual radiation Rd +1 , which is related to the radiation of current iteration, the global best value, and the subgroup best values. The equation can be written as Here, , (| best − worst |)/ worst , represents the weight of current radiation, which can be calculated by the best value best and the worst value worst , means the individual capability, means the best individual capability of subgroup ( means the different subgroup), and stands for the global best individual capability. 1 and 2 represent random influence in [0, 1]. means the evolution iteration.
Step 2. This includes updating temp individual capability by adding current capability and new radiation, which is shown Step 3. This includes updating individual capability. The new individual can be defined by the following equation according to objective function: 3.3. Flowchart of SRA. SRA can solve real problems by swarm intelligence. In each iteration, the individual capability is updated by the radiation, the subgroup best solution, and the global best solution. The initial population is divided into different subgroups according to their fitness value, and then the final optimal results are generated by continuous updating individual capabilities and radiations. The flowchart of SRA is shown as Figure 1.
It is assumed that the number of individuals is in dimensional space. The steps of SRA are shown as follows.
Step 2 (evaluating individuals). This includes (1) judging the feasibility of individual through rank of Jacobian matrix; (2) calculating fitness values by (4); the smaller the fitness value is, the better the assembly operation is.
Step 3 (judging whether to stop). If the step condition is met, the optimization will be eliminated; otherwise the flowchart will go to Step 4.
Step 4 (generating new populations). This includes (1) sorting all individuals and dividing into different subgroups and (2) updating individual capability and radiation from (5) to (7).
Step 5. This includes setting = + 1 and repeating from Step 2 to Step 5.

Optimum Performance of SRA. The GA proposed by
Holland as a global optimization algorithm had been widely used in different fields from engineering to social science since 1970s. However, users need to write GA program for specific problems and then want to have a general GA program. The GAOT package in MATLAB can satisfy the requirements [13]. The main program of GAOT provides the external interface and the function, which can be written as follows: [P, endPop, bPop, traceInfo] = ga (bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, mutOps).
P stands for the best solution including chromosome and fitness value, endPop means the last population, bPop represents trace of best chromosomes, and traceInfo is the best and average fitness of each generation.
It is very difficult to evaluate performance of optimization algorithms because real problems are very complex. Some scholars had proposed some test functions to analyze the optimization performance. In this paper, De Jong F1, F2, and This is a simple sum of squares function and it has a minimum point only 1 (0, 0, 0) = 0.
This is a two-dimensional function and it has a global minimum point 2 (1, 1) = 0. The function is a single peak function, but a morbid function. Thus the global minimum value is difficult to get.  This is a multipeak function that has 25 local minimum points. There is a global minimum value 5 (−32, −32) = 0.998.
This function is a global minimized value 6 (0, 0) = 0. The program of SRA is written in MATLAB. The SRA is used to optimize the three functions and compare with the results of GAOT. The initial parameters are the same, in which the population sizes are both 50 and the maximum iterations are 100. The number of subgroups is 4. The comparative results are shown in Figure 2. Figure 2 shows the evolution processes of the best chromosomes for the above three test functions. The abscissa is evolution generations and the vertical axis stands for fitness values. The grey diamonds mean the best values of each generation by using GAOT, and the hollow rounds are the best values of each generation through using SRA. Table 1 shows the comparing results of the best value and iterations P1 P2 P3 Figure 5: Side frame assembly.
of the best chromosomes firstly. According to Figure 2 and Table 1, SRA has better performance than that of GAOT for a single peak and multipeak functions. Especially for De Jong F1 and F2 and Shaffer F6, the optimal solutions are almost equal to the best variables of theory. Based on the above test functions, SRA has better optimum performance.

2D Rectangular Parts
A case of 2D rectangle workpiece is applied to analyze the optimization problem of KCCs (as shown in Figure 3). The workpiece is located by three points, whose positions and directions are ( , , , ), = 1, 2, 3, respectively. The The line WL equation is expressed as In this section, the Euclidean norm of inverse Jacobian matrix is as an objective function. Based on the rules of locating points, locators 1 and 2 are in the line LD, whose directions are both (0.447, 0.894). Locator 3 is set to in the line WL, whose direction is (0.894, 0.447). SRA is written by MATLAB. We can set the fact that the population size is 50 and the maximum generations are 100 for GAOT and SRA. The number of subgroups is equal to 4. According to the flowcharts of GAOT and SRA, the results can be shown in Figure 4.
From Figure 4, the abscissa is evolution generations and the vertical axis stands for fitness values. The gray diamond means the fitness values by GAOT. The hollow circles represent the best values through SRA. Figure 4 shows that the evolution of the genetic algorithm uses 30 generations to get the optimal value of 5.56309, and SRA uses 5 iterations to generate the best solution. The coordinates and directions of three locating points are (44. 7

Case of Side Frame Assembly
The side frame is an important subassembly in autobody, which affects assembly quality of the whole body, gap/flush between front door and rear door, and gap/flush between fender and front door. The side frame includes three parts, which is shown in Figure 5. The first part P1 is the base part, and then part P2 and part P3 are assembled on P1 in turn. The matching zones of P2 and P3 are so complex that the zones are hard to be expressed by equations. Therefore the study creates some locating points to optimize KCCs. The 35 locator points are generated in main plane (normal to direction) of P2, and in other directions ( and ) we create both 15 points (Figure 6(a)).
According to flowchart of SRA, the objective function of assembly operation optimization uses Euclidean norm of inverse Jacobian matrix. Based on the rules of locating points [12], three points are selected in main plane, whose directions are all (0, 1, 0). Other points are generated from other directions. The population size is 80 and the maximum iterations equal 100. The number of subgroups is set to 4. The results are shown as Figures 6(b) and 6(c).
Based on [12], the objective value of the best assembly operation is 142.1 by the fruit fly optimization algorithm, and