Abstract
Self-evolution problem of an aircraft-engine assembly workshop with uncertain number of assembly times in knowledgeable manufacturing environment is studied in this article. The whole dynamic self-evolution process is decomposed into a series of static ones by using the rolling horizon procedure. A rolling rule, which is employed to select operations into rolling windows, is designed on the basis of the level priority of each operation. An algorithm for the self-evolution algorithm is then proposed. Due to the deterministic production information, a static decision sub-problem is needed to be solved at each decision point. A general mathematical model of sub-problems is built to minimize the production cost. For solving it, a bi-level genetic algorithm is proposed. In the lower level genetic algorithm, an improved decoding method is also designed by considering production features. Finally, simulation results demonstrate the feasibility and validity of the model and algorithms. Then, computational data indicate that the system with self-evolution capability pays lower costs for production.
Introduction
Self-evolution is one of the most important features of the knowledgeable manufacturing system (KMS), which is initially introduced by Yan and Liu. 1 The key idea of self-evolution is how to improve production performances and respond timely to dynamic environment by self-adjusting of manufacturing systems.
For further study, the principle of self-evolution is introduced to an aircraft-engine assembly workshop in this article. The structure of an aircraft-engine can be shown by a tree diagram where each node represents an operation in the whole assembly process. The production scheduling problem of tree-structured products is usually called assembly job shop scheduling problem (AJSSP), which is more complex than the common job shop scheduling problem (JSSP). Omkumar et al. 2 proposed an optimization heuristic method on the basis of genetic algorithm (GA) to minimize the makespan. Omkumar and Shahabudeen 3 developed an optimization heuristic algorithm based on ant colony algorithm (ACO) for the AJSSP in static manufacturing environment. Wong and Ngan 4 proposed a hybrid genetic algorithm (HGA) and a hybrid particle swarm optimization (HPSO) to solve AJSSP with the lot streaming (LS) technique. Xie et al. 5 introduced a hierarchical scheduling algorithm based on the improved processing operation tree to solve the complex product flexible scheduling problem with constraints between jobs. Liu et al. 6 introduced some dispatching rules based on the proposed order review/release (ORR) rule to optimize due-date and flow-time related production performances.
As far as authors know, few studies have dealt with the assembly scheduling problem of an aircraft-engine assembly workshop. At the meantime, majority of those articles mentioned above only considered the static scheduling problem. However, in the real manufacturing environment, the presence of unexpected disruptions is inevitable, which means that those algorithms proposed for the static scheduling problem cannot be directly used in the dynamic environment. In an aircraft-engine assembly workshop, the assembly process of each engine has two stages, where engines will be disassembled and reassembled if they are tested to be substandard in inspection stations. Thus, the number of assemblies is at least twice and viewed as an uncertain factor in the workshop. In generally, dynamic scheduling is an effective approach to the realization of actual scheduling. Many studies have been made on this topic for general workshops, such as job shop, flow shop, but few literatures about AJSSP have been found. Thiagarajan and Rajendran 7 addressed a dynamic AJSSP with the consideration of different holding and tardiness costs for different jobs and developed some efficient dispatching rules to minimize the scheduling cost consisting of the sum of holding and tardiness costs. Thiagarajan and Rajendran 8 considered the scheduling problem in dynamic assembly job-shops where jobs have different earliness, tardiness and holding costs and presented some dispatching rules. Natarajan et al. 9 proposed new priority dispatching rules to minimize the performance measures related to weighted flow time and weighted tardiness of jobs. However, all of the above researches ignored the adjustability of system parameters, which may affect the production performance to a great extent. For the aircraft-engine assembly workshop, processing times of operations depend on the number of workers assigned to each work group. Thus, the number of workers can be treated as a kind of system parameters here.
For this end, the principle of self-evolution is introduced to an aircraft-engine assembly workshop with uncertain number of assembly times. The rolling horizon procedure is employed to implement the self-evolution process of the workshop. At each decision moment, numbers of workers in work groups are adjusted first, and the optimal scheduling scheme is acquired based on the worker assignment. A general mathematical model is established for the static decision sub-problem at each decision point, and then, a bi-level genetic algorithm (BiGA) with a new decoding method is designed to solve the model. In addition, a rolling rule which is suitable for the self-evolution problem of the aircraft-engine assembly workshop is presented, and on the basis of which an algorithm for solving the self-evolution problem is proposed. Simulation results demonstrate the feasibility and effectiveness of the proposed model and algorithms.
Some related definitions of self-evolution
Aircraft-engine assembly workshop
Seen from Figure 1, the assembly process of an aircraft-engine has the two stages. If the first assembly stage is finished, and the engine is up to standard in the factory test, then disassembly, wash and inspection are conducted in succession; after that the engine is reassembled in the second assembly stage. If the engine is still qualified in the check test, it can be delivered to customers. At any stage, the unqualified product will be reassembled till it is qualified. Thus, each engine should be assembled twice at least. In the figure, solid arrows address the normal assembly process, and dashed ones show the reassembling processes.

Aircraft-engine assembly process.
The workshop consists of some work teams with different tasks, such as the final assembly team, balance team and so on. In each work team, work groups with the same tasks to fulfill are equipped with several workers, tools and equipments. Furthermore, assembly vehicles are also provided to facilitate production which can move among work groups.

Product trees of Engines A and B.

Virtual product trees of Engines A and B.
Self-evolution of aircraft-engine assembly workshop
Rolling horizon procedure11–15 is often adopted to solve the scheduling problem, whose rolling optimization technique can also be applied to the self-evolution problem. In this study, the hybrid event-driven and periodic-driven self-evolution mechanism is selected to trigger self-evolution operations.
Approach for dealing with uncertain disruptions
Uncertain reassembling is viewed as the only dynamic event in this article. Since the assembly process starts from leaf nodes to root node, the remaining unprocessed operations still posses a tree structure. Assume that all operations of Engine A at the first assembly stage have been completed at a time moment, the virtual product tree of remaining operations of Engines A and B is shown in Figure 4. After the factory test of Engine A, during which operations of Engine B are continued to be processed, it is found to be unqualified, and then, the new virtual product tree is shown in Figure 5.

Virtual product tree of the remaining operations.

New virtual product tree of Engines A and B.
Decision-making process
At
A special case should be noticed here. Assume that there is an engine failed in the factory test. At this moment, dynamic event occurs and a new rolling window needs to be generated. According to the generation method above, there may be
Mathematical formulation
Problem statement
According to the decision-making process above, the system’s self-evolution is a dynamic process, but the production information (i.e. set of operations to be scheduled, working states of work groups, etc.) is always deterministic at each decision point. Therefore, a static decision problem, including two sub-problems (worker assignment and production scheduling problem) should be discussed.
To formulate the static mathematical model, several aspects should be considered as follows: (1) assembly constraints between operations, (2) adjustability of the number of workers in each work group and (3) uncertain number of assemblies. The optimization objective is minimizing the production cost which is the weighted sum of worker adjustment cost and scheduling cost. Some necessary assumptions are listed as below:
Operations are not allowed to be preempted once started;
Two operations cannot be processed in the same work group at the same moment;
Processing time is monotone decreasing function of the number of workers, whose maximum value is certain and known;
An operation cannot be reassigned to another work group once started;
Workers can only be assigned in the same work team they belong to by considering the eligibility constraints;
The time of test, disassembly, washing and fault inspection is fixed and known for each engine;
The number of assembly vehicles is enough for the assembly production;
The number of workers in each group cannot be changed until the next self-evolution comes;
The movement times of workers and setup times between operations are negligible.
Model establishment
A bi-level programming model is established where the worker assignment is modeled at the higher level, and the scheduling problem lies at the lower place. Related symbols and variables are defined as below:
Equation (1) expresses the higher level objective to minimize the production cost, constraint (2) defines the workforce resource constraints, constraint (3) gives the value range of
In this model, for a higher level worker assignment solution, the processing time of operations can be easily calculated by equation (13). At this point, the lower level problem is exactly an AJSSP, which is a special form of the JSSP. 16 As presented in Garey and Johnson, 17 the JSSP is NP-Complete and computationally intensive to solve. Thus, there is no way to get the optimal solution of the static decision problem directly via the mathematical model. According to the structure of the model, a BiGA (see below) is designed to solve the problem.
Rolling rule
The proposed rolling rule is described as below (Figure 6):

Flow chart of the rolling rule.
Algorithm for solving the self-evolution problem
Specified steps of the proposed algorithm are listed as follows (Figure 7):

Flow chart of the algorithm for the self-evolution problem.
BiGA
GA is a stochastic search algorithm that is effective and has been applied very widely to get the global optimal value.18–22 A BiGA developed to deal with the static mathematical model. The algorithm has two genetic optimization processes at different levels where the lower level GA is embedded in the higher level one. The higher level GA aims to obtain the optimal worker assignment scheme, and the lower level one targets the optimal start and complete times of operations.
Higher level GA
1.
Based on the number of work teams, the high-level chromosome is divided into
2.
Under the premise that constraint (2) holds, each individual is created by random selection from the value ranges of genes.
3.
The roulette, partially matched crossover method (PMX) and single-point mutation method are employed, respectively.
Lower level GA
1.
Each chromosome consists of two parts, whose length equals the size of the current window. In the first part, a character string encoding is adopted, and each gene value is equal to the code of an operation. In the second part, an integer encoding is used, and gene values, which are stored in a fixed order, are the indices of work groups.
2.
The first part is generated by a random permutation of operations, and the second part is generated by a random selection of eligible work groups.
3.
The selection method adopted is roulette in this algorithm.
4.
Order crossover operator 23 is used in the first part, and two-point crossover is employed in the second part.
5.
In the first part, reverse mutation operator 24 is used. A single-point mutation method is adopted in the second part where the mutation gene value is the index of the work group selected randomly.
6.
The second part of a lower level chromosome is always feasible because gene values are always determined based on the eligible work groups of operations. However, in contrast, the first part is most possibly unfeasible due to the presence of assembly constraints. By considering the production features of the aircraft-engine assembly workshop, an improved decoding method is proposed in this article on the basis of the one developed by Wang et al. 25 to avoid the computational burden from repair actions of every chromosome. The detailed steps go as follows (Figure 8):

Flow chart of the decoding process.
BiGA
Detailed steps of BiGA go as below (Figure 9):

Flow chart of the BiGA.
Numerical experiment
Feasibility analysis
Algorithms are coded in FORTRAN and MATLAB and compiled on a personal computer (PC) with Intel (R) Core (TM) i5-2400 central processing unit (CPU) at 3.10 GHz and 4 GB main memory under WINXP. Table 1 gives the parameters of BiGA, Table 2 shows the resource allocation situation of work teams, Table 3 gives some related data of Engine F and Figure 10 expresses the tree structure of Engine F at the first assembly stage.
Parameters of BiGA.
Resource allocation of work teams.
Partial data of Engine F.

Product tree of Engine F at the first assembly stage.
Four engines C, D, E and F need to be assembled, and all work groups are available at

Scheduling result after self-evolution.
Seen from Figure 11, eight self-evolutions are included in the whole production process, where Engine C is disqualified at
Effect of self-evolution on the production performance
To acquire the comparison of production performances between two cases, 10 groups of simulations are conducted, each of which contains two sub-experiments. In Case 1, self-evolution operations are performed with adjustable parameters. In Case 2, no self-evolution operations are adopted, and the number of workers in each group is invariant. The experimental data in Table 4 indicate that, although with a higher worker assignment cost, the workshop with self-evolution operations promises far less scheduling and production costs than that without. In the table,
Comparison of costs between two cases.
Conclusion
In this article, the self-evolution problem of KMSs has been studied by using the example of an aircraft-engine assembly workshop with uncertain number of assembly times. A solution algorithm was developed and a general mathematical model of static decision problems formulated. To solve the model, a BiGA was proposed by considering product features. Computational results show that the workshop with self-evolution operations has better performance than the one without.
For future research, considering the actual manufacturing environment, setup times between operations and movement times of workers are highly recommended to be incorporated. In addition, more effective algorithms are also worth exploring to solve the static model.
Footnotes
Declaration of conflicting interests
The authors declare that there is no conflict of interest.
