# Research on Flexible Equipment Maintenance Process Scheduling Problems Based on HNSGSA Algorithm

Authors: Weixing Song; Jianshe Kang; Jingjing Wu; Hui Jia; Huiqiang Chang
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

The characteristics of military equipment maintenance work are analyzed. According to the actual needs of the army, the optimization objective is designed, and a multiobjective flexible maintenance process optimization model is built based on the maintenance business organization process. Combining the advantages of NSGA-II algorithm and the simulated annealing algorithm, this paper proposes a novel improved HNSGSA algorithm, of which algorithm flow is detailed. In accordance with the requirements of the optimization model, this paper also specifically designs the coding methods of the process sequence, the equipment selection and the process scheduling, and the corresponding cross mutation method. The feasibility of the built model is verified by the actual data of maintenance business. And, the superiority, accuracy, and effectiveness of the proposed algorithm are further validated by the comparison with the NSGA-II algorithm and the simulated annealing algorithm, providing a scientific reference for the army to carry out equipment maintenance.


---

## Body

## 1. Introduction

Weapon equipment maintenance is an important part of equipment support work, which is of great significance to effectively maintain and restore the combat technical performance of equipment. In the context of the accelerated modernization of the armed forces, the training and preparation of troops, and the frequent use of equipment, the task of equipment maintenance is increasing. How to arrange maintenance support task reasonably and efficiently under the condition of limited maintenance time, limited support resources, and limited maintenance capacity has become the key factor to improve maintenance efficiency, which has attracted more and more research attention. The research on the optimization of equipment maintenance scheduling is an extension of the scheduling problem in the field of military science, which can be abstracted into scheduling models such as the traveling salesman problem, the vehicle routing problem, the project scheduling problem, and the job shop scheduling problem (JSP) [1]. The JSP has more pertinence in the research of equipment maintenance scheduling optimization because workshop production has more similarities with equipment maintenance in terms of operation mode, organization process, optimization objective, etc.Flexible job shop scheduling problem (FJSP) [2] breaks through the uniqueness limitation of JSP and is a complex NP problem [3]. The research content includes the flexibility of process mode, the flexibility of machine selection, and the flexibility of process sequence. The process flexibility indicates that there is one or several maintenance processes in the process of operation that can be replaced by other processes. The flexibility of machine selection means that multiple maintenance machines can meet the same process maintenance requirements and can be replaced. The process sequence flexibility means that several working procedures can be adjusted in sequence under the premise of satisfying the technological constraints. Ref. [4] effectively modeled and solved the multiprocess route based flexible job shop scheduling problem, constructed a four-dimensional disjunctive graph model of the problem, and established a scheduling model based on ant colony algorithm. In Literature [5], a hybrid Pareto method based on the distribution estimation algorithm and Mallows distribution was developed to solve the flexible workshop scheduling problem of multiobjective process. Literature [6] proposed a domain-independent genetic algorithm method to solve the flexible job shop scheduling problem of machine selection. A novel hybrid parallel algorithm based on differential evolution and genetic algorithm was put forward in [7], so as to solve the scheduling problem of batch splitting on substitution machines with forbidden intervals. Literature [8] proposed a feature-based sequential flexible description method. On the basis of process segments, reference [9] proposed a sequential flexible description model and one scheduling model and designed an integrated sequential flexible scheduling algorithm by improving genetic algorithm. In terms of the algorithm research, literature [10] combined simulated annealing algorithm and genetic algorithm and proposed an NGASA algorithm to solve the flexible shop scheduling problem. Reference [11] presented an improved NSGA-II algorithm to solve the multiobjective flexible job shop scheduling problem. Literature [12] proposed one classical hybrid genetic algorithm (GA) and one newest imperialist competitive algorithm (ICA) with variables neighborhood search (VNS) for solving FJSP. In literature [13], a hybrid Jaya algorithm integrated with Tabu search is proposed to solve FJSP, in order to speed up the process of local search. FJSP is usually also hierarchical multiobjective optimization problems. In the research of solving algorithms, Pareto theory is generally used in combination with intelligent algorithms to find the Pareto optimal solution, and then the optimal solution is derived from the design and selection mechanism according to the specific problem. Reference [14] used a simplified hourly dynamic simulation modeling tool SimBldPy as the simulator for objective function evaluation and then used a layered scheme based on agglomerative hierarchical clustering technique to treat and render the generated nondominated solutions. In literature [15, 16], powerful heuristic optimization algorithms are used to find a well-distributed set of Pareto optimal solutions; then the best compromise solutions are identified from the entire solutions by cluster and projection.The job shop scheduling models established by the above researches only decompose production into processes for optimization research, while equipment maintenance is carried out in the order of disassembly, professional component maintenance of each equipment, assembly, so the existing optimization model cannot adapt to the equipment maintenance. In terms of algorithm research, there are few researches on flexible process sequence, and no overall strategies of initial coding, crossover, and mutation of process sequence under sequence restraint have been proposed. There is no process scheduling algorithm that comprehensively considers process sequence flexibility and equipment selection flexibility, and the search ability of the algorithm is difficult to adapt the characteristic of complex relationships and diverse changes, which is unique to comprehensive coding of process sequence, equipment selection, and process scheduling. To address the above issues, on the basis of analyzing the characteristics of equipment maintenance, this paper abstracts the optimization model from the maintenance practice, proposes a novel HNSGSA algorithm, and improves the methods of coding, cross, and mutation. A practical process scheduling scheme for equipment maintenance is obtained as a result.


## 2. Problem Description and Modeling

### 2.1. Equipment Maintenance Characteristics Analysis

The equipment maintenance work is organized and implemented step by step according to the technological regulations. The maintenance process scheduling can be regarded as flexible job shop scheduling in general, which involves flexible process sequence and flexible machine selection. However, due to various specialty types of equipment, complex system structure, and various types of malfunctions, equipment maintenance work has its own characteristics, and the corresponding process scheduling problem is more complex than manufacturing in the production workshop. Figure1 shows the comparison of characteristics. Equipment maintenance involves many factors, such as personnel, equipment, machine, workshop, etc. There are more factors that should be taken into account in the optimization target determination, model building, parameter setting, and so on. The system of equipment consists of many professional components and requires maintenance in different professions. In the content scope, procedures and steps of each professional maintenance are all different. And this differs a lot from the specification requirements of industrial production standard parts and the standard working procedure of assembly line. In the process of objective optimization, parameters such as equipment profession, machine type, process content, resource consumption, and operation time etc. should be detailed, analyzed, and set in different ways. Equipment maintenance is not a standard assembly line operation. There are no strict sequential constraints among each process of the same equipment and the same profession. Each maintenance process is not unique on the aspect of machine selection and many machines can provide the same or similar operation support. There are alternatives in machine selection while there can be some differences in maintenance difficulty and operation time.Figure 1
The comparison of equipment maintenance and job shop production.


### 2.2. Problem Assumptions

(1)
Each maintenance machine can only undertake the maintenance of one professional process of one piece of equipment within a period of time.(2)
Preparation time for maintenance machines and transfer time between maintenance procedures are negligible.(3)
The maintenance procedures of all the specialized components in all the equipment do not include processes that can be preempted.(4)
In addition to the assembly and disassembly processes, the sequence of maintenance processes which belong to different equipment and different professions is not constrained.(5)
Before maintenance, each piece of equipment and profession shall determine the maintenance processes sequence in accordance with the constraint conditions on the basis of optimization objective. During the maintenance procedure, maintenance shall follow the established sequence and no adjustment shall be allowed.


### 2.3. Process Division of Maintenance Profession

Equipment is divided into different professions according to their functional structure, and maintenance personnel are divided into different professions to organize maintenance. Taking the main battle armor equipment as an example, professions are divided into six majors: chassis, ordnance, fire control, communication, photoelectric, and electrical. During the maintenance of each piece of equipment, the professional chassis maintenance personnel will first complete the disassembly processes. After that, each professional maintenance personnel independently organizes the maintenance of the components in their own profession. The contents of processes in different professional maintenance are different, and the sequence constraint conditions between the processes are different too. On the basis of the optimization objective, the sequence of processes is determined and then the maintenance is implemented in turn. After the equipment maintenance of the components in all the professions is completed, the assembly process will be carried out by the profession of chassis and then the maintenance of the equipment is finished. Suppose that a maintenance organization hasN pieces of equipment to be repaired, which are divided intoP professions. The disassembly process of the n-piece of equipment is JBn, and the assembly process is JEn. The p-profession components maintenance has Jnp processes in which the j-process Jnpj is expressed as j∈1,2,…,Jnp,n∈1,2,…,N,p∈1,2,…,P. A 4-dimensional process sequence relation matrix is constructed as A∈CN×P×Jnp×Jnp, which denotes the process sequence constraints of profession maintenance for all the equipment to be repaired. The element an,p,i,j represents the sequential constraint between the maintenance process Jnpi and the maintenance process Jnpj of the p-profession components in the n-piece of equipment. The process sequence constraint matrix of the p-profession components in the n-piece of equipment can be expressed as follows:(1)anp11anp12⋯anp1Jnpanp21anp22⋯anp2Jnp⋯⋯anpijanpJ1anpJ2⋯anpJnpJnp,anpij∈0,1.Whenanpij=1, there is a sequential constrain between the process Jnpi and the process Jnpj, Jnpi should be finished before Jnpj, namely, Jnpi≻Jnpj. When aij=0, there is no sequential constrain between the process Jnpj and Jnpi. Ωnp=Snp1,…,Snpq is the set of all feasible process sequences that meet the constraints for the p-profession components maintenance of the n-piece of equipment. The number is set as q.The k-th feasible process sequence of the p-profession components in the n-piece of equipment can be expressed as Snpk=snp1k,…,snpjk,…,snpJnpk. Before certain professional components are repaired, a process sequence Snpk is selected from Ωnp, and the maintenance is conducted by turn in accordance with the process. For example, there are seven processes in total of 3-profession components in 4-piece of equipment, thus J43=7, and the sequence constraint matrix of the corresponding process sequence is as follows:(2)a34=0000000001110000000000010000001000000000000000010.The above matrix indicates that there are six sequential constraints in the five processes of this professional components: 23, 24, 25, 43, 53, and 76, respectively. Then,S34=J347,J342,J344,J341,J345,J346,J343 is one feasible sequence in the feasible process sequence set Ω34.


### 2.4. Allocation of Maintenance Personnel

Equipment maintenance work requires high ability of maintenance personnel, and there is a large amount of subjective judgment and manual operation in the processes of technical condition determination, troubleshooting, assembly, and testing. The allocation of maintenance personnel is an important part of scheduling optimization. As with equipment professions, maintenance personnel are divided into professions of chassis, fire control, communication and photoelectric etc., which are represented asp=1,2,…,P. Maintenance personnel are divided into junior, intermediate, and senior workers according to the grade, indicated by g=1,2,3. Due to the difference of ability, role, and contribution, the wage standards of maintenance personnel of different grades are different. wg indicates the man-hour cost standard of maintenance personnel of the g-grade. Before the maintenance of a piece of equipment, according to the maintenance content and expected task quantity, a certain number of maintenance personnel of different grades are siphoned off from all kinds of professions to form a professional maintenance team, responsible for the components repair in the profession. The maintenance personnel of one piece of equipment include P professional maintenance teams. After the team of one profession is formed, it will continue until all the process tasks of the profession are completed. During this period, the team cannot participate in other equipment maintenance work. Lnpg denotes the number of the maintenance personnel of the g-grade in the p-profession of the n-piece of equipment.


### 2.5. Usage of Maintenance Machine

Equipment maintenance work is very professional, and the maintenance personnel need to use a certain number of tools and machines to complete each maintenance work. Small tools, such as wrenches, regulated power supplies, and oscilloscopes, are often purchased in large quantities due to their low price and can fully meet the maintenance needs without affecting the maintenance scheduling, so they are not considered in the study. However, the numbers of trenches, truss cranes, and dust-free working platforms, etc. are limited due to limited space and high cost. For example, a maintenance workshop is partitioned according to the site area and repair area, and 2-3 truss cranes are generally installed. Another example is that the price of the engine comprehensive testing platform is nearly ¥1,000,000, and a maintenance organization is generally equipped with only one set. While these two kinds of machines are required in the maintenance processes of components in different types of equipment, and there are likely to be conflicts in time, scheduling optimization is needed. Some maintenance machines are functionally similar, and each maintenance process can be carried out on one or more types of machines. The maintenance time of the process by different machines varies according to the specific performance of the machines. Suppose that there areM types of machines in the maintenance organization and the number of the m-type of machines is em(m∈1,2,…,M); the five-dimensional machine applicability matrix is set as B∈DN×P×Jnp×M×2. In the element bnpjm1=0,1, the number of 1 indicates that the j-process of the p-profession in the n-piece of equipment can be implemented by the m-machine while the number of 0 indicates the opposite. When bnpjm1=1, bnpjm2 is the maintenance time by the machine. When bnpjm1=0, bnpjm2 is an empty set. While scheduling, a certain type of machine is selected from the applicable machines in the maintenance process. If the number of this type of machine is more than one, then a machine of this type is selected. If one process does not need any maintenance machine, a virtual machine is established as EM+1, and the number is eM+1=1. That is, suppose that the process is implemented by a virtual machine, bnpjM+11=1; bnpjM+12 is the time of the process. Based on this method, the 4-dimensional machine applicability matrix of the disassembly and assembly for each piece of equipment is established as E∈FN×2×M×2. Suppose that there are a total of five machines, the machine applicability matrix of the 5-process of the 4-profession in the 3-piece of equipment is 1,10,0,1,15,0,0. That indicates the process is conducted by the machine 1 and the maintenance time is 10 hours. The process can be also carried out on the machine 3 and the maintenance time is 15 hours.


### 2.6. Optimization Objectives and Constraints

#### 2.6.1. Optimization Objectives

The optimization objectives of the scheduling problem in component workshops usually include minimizing the maximum of completion time, minimizing the maximum delay, minimizing the average delay, minimizing the maximum machine load, etc. After conducting an extensive research, it is found that the objectives most maintenance organizations pay attention to are to finish the equipment maintenance as early as possible and make the personnel utilization rate high, which are different from that of component productions. These objectives can be divided into three specific objectives of minimizing the maximum of completion time, minimizing the average completion time of single equipment, and minimizing the total occupancy maintenance man-hour cost. Therefore, the scheduling optimization of equipment maintenance processes is a multiobjective optimization problem indeed.(1) Minimizing the Maximum of Completion Time. To facilitate the organization and management, guided by the maintenance capacity, the maintenance organization takes several pieces of equipment as one batch when conducting equipment maintenance. And the maintenance is conducted batch by batch. The completion time of maintenance for one piece of equipment is the sum of the disassembly process time, the maintenance processes time for all professional components, and the assembly process time. Among them, the second term is defined as the completion time of the last process for the profession, of which time cost is the highest. The maximum completion time of one single piece of equipment in this batch, namely, the completion time of this batch of equipment maintenance task, represents the overall maintenance progress of the maintenance organization. The shorter the time is, the faster the progress will be. Suppose that the maintenance time of the disassembly process JBn of the n-piece of equipment is tnB. The time of the assembly process JEn is tnE. The time of the j-process of the p-profession components on the selected m-machine is bnpjm2. The total waiting time of the maintenance processes is tnpw. Then, the objective function of minimizing the maximum completion time is as follows:(3)f1=minmaxtnB+tnE+max∑j=1Jnpbnpjm2+tnpw.(2) Minimizing the Average Completion Time. In the course of awaiting maintenance and being repaired in the maintenance organization, the equipment is unable to produce any military economic benefit. In theory, once the maintenance for one piece of equipment is completed, the troops can receive and employ it. The shorter completion time of equipment maintenance indicates the earlier employment of this piece of equipment in the troops. The objective is characterized by the average completion time when several pieces of equipment are repaired in the meantime and the objective function is as follows:(4)f2=min∑n=1NtnB+tnE+max∑j=1Jnpbnpjm2+tnpwN.(3) Minimizing the Cost of Man-Hour. During equipment maintenance, each professional maintenance team starts out in parallel and works independently. In order to prevent errors caused by work crossing, a team repairs only one equipment for a period of time; i.e., it can quit and carry out the next equipment maintenance only after the completion of all the process tasks in the profession. The maintenance personnel in the chassis profession enter the maintenance from the beginning of the disassembly process and quit after the the assembly process is completed. The remaining professional personnel enter the maintenance after the disassembly process is completed and quit after the completion of all the maintenance tasks of their professions. To consider questions from the overall situation, the fewer man-hours the equipment maintenance consumes, the more man-hours are left for the subsequent equipment maintenance, the higher the utilization rate of maintenance personnel is, and the greater the number of equipment can be repaired. Since the man-hour cost of maintenance personnel of different grades is different, the minimum man-hour cost is used to represent this goal. The objective function is (5)f3=min∑n=1N∑p=1P∑g=13∑j=1Jnpbnpjm2+tnpw×Lnpg×wg+∑g=13tnB+tnE×Ln1g×wg.


#### 2.6.2. Constraint Conditions

Suppose thatTnpjk denotes the beginning time of the j-process Jnpjk in the k-th feasible process sequence for the p-profession of the n-piece of equipment. σnpk∈0,1 indicates whether the k-th feasible process sequence for the p-profession of the n-piece of equipment is applied. 1 represents yes, while 0 represents no. Om is the maintenance process set applied on the machine Em. The contraint conditions of the optimization model are as follows:(6)Tnp1k≥tnB,∀n∈1,n,p∈1,P,(7)∑k=1qσnpk=1,∀n∈1,n,p∈1,P,(8)σnpkTnpjk−Tnp,j−1k≥σnpkbnpjm2,∀n∈1,n,p∈1,P,j∈1,J,(9)Tnpiknp−Txyjkxy≥bxyjm2,∀Jnpiknp,Jxyjkxy∈Om,m∈1,M,σnp,knp=σxy,kxy=1.The professional maintenance processes in equation (6) start after the disassembly process is completed. Equation (7) indicates that the maintenance of each professional component in each piece of equipment must follow one selected process sequence. Equation (8) shows that each professional component is repaired in the selected process sequence and the latter process cannot start until the former one is completed. Equation (9) indicates that if two processes of different equipment or components are arranged for maintenance on the same machine in accordance with the selected process sequence, the other process cannot start unless one process is completed.


## 2.1. Equipment Maintenance Characteristics Analysis

The equipment maintenance work is organized and implemented step by step according to the technological regulations. The maintenance process scheduling can be regarded as flexible job shop scheduling in general, which involves flexible process sequence and flexible machine selection. However, due to various specialty types of equipment, complex system structure, and various types of malfunctions, equipment maintenance work has its own characteristics, and the corresponding process scheduling problem is more complex than manufacturing in the production workshop. Figure1 shows the comparison of characteristics. Equipment maintenance involves many factors, such as personnel, equipment, machine, workshop, etc. There are more factors that should be taken into account in the optimization target determination, model building, parameter setting, and so on. The system of equipment consists of many professional components and requires maintenance in different professions. In the content scope, procedures and steps of each professional maintenance are all different. And this differs a lot from the specification requirements of industrial production standard parts and the standard working procedure of assembly line. In the process of objective optimization, parameters such as equipment profession, machine type, process content, resource consumption, and operation time etc. should be detailed, analyzed, and set in different ways. Equipment maintenance is not a standard assembly line operation. There are no strict sequential constraints among each process of the same equipment and the same profession. Each maintenance process is not unique on the aspect of machine selection and many machines can provide the same or similar operation support. There are alternatives in machine selection while there can be some differences in maintenance difficulty and operation time.Figure 1
The comparison of equipment maintenance and job shop production.


## 2.2. Problem Assumptions

(1)
Each maintenance machine can only undertake the maintenance of one professional process of one piece of equipment within a period of time.(2)
Preparation time for maintenance machines and transfer time between maintenance procedures are negligible.(3)
The maintenance procedures of all the specialized components in all the equipment do not include processes that can be preempted.(4)
In addition to the assembly and disassembly processes, the sequence of maintenance processes which belong to different equipment and different professions is not constrained.(5)
Before maintenance, each piece of equipment and profession shall determine the maintenance processes sequence in accordance with the constraint conditions on the basis of optimization objective. During the maintenance procedure, maintenance shall follow the established sequence and no adjustment shall be allowed.


## 2.3. Process Division of Maintenance Profession

Equipment is divided into different professions according to their functional structure, and maintenance personnel are divided into different professions to organize maintenance. Taking the main battle armor equipment as an example, professions are divided into six majors: chassis, ordnance, fire control, communication, photoelectric, and electrical. During the maintenance of each piece of equipment, the professional chassis maintenance personnel will first complete the disassembly processes. After that, each professional maintenance personnel independently organizes the maintenance of the components in their own profession. The contents of processes in different professional maintenance are different, and the sequence constraint conditions between the processes are different too. On the basis of the optimization objective, the sequence of processes is determined and then the maintenance is implemented in turn. After the equipment maintenance of the components in all the professions is completed, the assembly process will be carried out by the profession of chassis and then the maintenance of the equipment is finished. Suppose that a maintenance organization hasN pieces of equipment to be repaired, which are divided intoP professions. The disassembly process of the n-piece of equipment is JBn, and the assembly process is JEn. The p-profession components maintenance has Jnp processes in which the j-process Jnpj is expressed as j∈1,2,…,Jnp,n∈1,2,…,N,p∈1,2,…,P. A 4-dimensional process sequence relation matrix is constructed as A∈CN×P×Jnp×Jnp, which denotes the process sequence constraints of profession maintenance for all the equipment to be repaired. The element an,p,i,j represents the sequential constraint between the maintenance process Jnpi and the maintenance process Jnpj of the p-profession components in the n-piece of equipment. The process sequence constraint matrix of the p-profession components in the n-piece of equipment can be expressed as follows:(1)anp11anp12⋯anp1Jnpanp21anp22⋯anp2Jnp⋯⋯anpijanpJ1anpJ2⋯anpJnpJnp,anpij∈0,1.Whenanpij=1, there is a sequential constrain between the process Jnpi and the process Jnpj, Jnpi should be finished before Jnpj, namely, Jnpi≻Jnpj. When aij=0, there is no sequential constrain between the process Jnpj and Jnpi. Ωnp=Snp1,…,Snpq is the set of all feasible process sequences that meet the constraints for the p-profession components maintenance of the n-piece of equipment. The number is set as q.The k-th feasible process sequence of the p-profession components in the n-piece of equipment can be expressed as Snpk=snp1k,…,snpjk,…,snpJnpk. Before certain professional components are repaired, a process sequence Snpk is selected from Ωnp, and the maintenance is conducted by turn in accordance with the process. For example, there are seven processes in total of 3-profession components in 4-piece of equipment, thus J43=7, and the sequence constraint matrix of the corresponding process sequence is as follows:(2)a34=0000000001110000000000010000001000000000000000010.The above matrix indicates that there are six sequential constraints in the five processes of this professional components: 23, 24, 25, 43, 53, and 76, respectively. Then,S34=J347,J342,J344,J341,J345,J346,J343 is one feasible sequence in the feasible process sequence set Ω34.


## 2.4. Allocation of Maintenance Personnel

Equipment maintenance work requires high ability of maintenance personnel, and there is a large amount of subjective judgment and manual operation in the processes of technical condition determination, troubleshooting, assembly, and testing. The allocation of maintenance personnel is an important part of scheduling optimization. As with equipment professions, maintenance personnel are divided into professions of chassis, fire control, communication and photoelectric etc., which are represented asp=1,2,…,P. Maintenance personnel are divided into junior, intermediate, and senior workers according to the grade, indicated by g=1,2,3. Due to the difference of ability, role, and contribution, the wage standards of maintenance personnel of different grades are different. wg indicates the man-hour cost standard of maintenance personnel of the g-grade. Before the maintenance of a piece of equipment, according to the maintenance content and expected task quantity, a certain number of maintenance personnel of different grades are siphoned off from all kinds of professions to form a professional maintenance team, responsible for the components repair in the profession. The maintenance personnel of one piece of equipment include P professional maintenance teams. After the team of one profession is formed, it will continue until all the process tasks of the profession are completed. During this period, the team cannot participate in other equipment maintenance work. Lnpg denotes the number of the maintenance personnel of the g-grade in the p-profession of the n-piece of equipment.


## 2.5. Usage of Maintenance Machine

Equipment maintenance work is very professional, and the maintenance personnel need to use a certain number of tools and machines to complete each maintenance work. Small tools, such as wrenches, regulated power supplies, and oscilloscopes, are often purchased in large quantities due to their low price and can fully meet the maintenance needs without affecting the maintenance scheduling, so they are not considered in the study. However, the numbers of trenches, truss cranes, and dust-free working platforms, etc. are limited due to limited space and high cost. For example, a maintenance workshop is partitioned according to the site area and repair area, and 2-3 truss cranes are generally installed. Another example is that the price of the engine comprehensive testing platform is nearly ¥1,000,000, and a maintenance organization is generally equipped with only one set. While these two kinds of machines are required in the maintenance processes of components in different types of equipment, and there are likely to be conflicts in time, scheduling optimization is needed. Some maintenance machines are functionally similar, and each maintenance process can be carried out on one or more types of machines. The maintenance time of the process by different machines varies according to the specific performance of the machines. Suppose that there areM types of machines in the maintenance organization and the number of the m-type of machines is em(m∈1,2,…,M); the five-dimensional machine applicability matrix is set as B∈DN×P×Jnp×M×2. In the element bnpjm1=0,1, the number of 1 indicates that the j-process of the p-profession in the n-piece of equipment can be implemented by the m-machine while the number of 0 indicates the opposite. When bnpjm1=1, bnpjm2 is the maintenance time by the machine. When bnpjm1=0, bnpjm2 is an empty set. While scheduling, a certain type of machine is selected from the applicable machines in the maintenance process. If the number of this type of machine is more than one, then a machine of this type is selected. If one process does not need any maintenance machine, a virtual machine is established as EM+1, and the number is eM+1=1. That is, suppose that the process is implemented by a virtual machine, bnpjM+11=1; bnpjM+12 is the time of the process. Based on this method, the 4-dimensional machine applicability matrix of the disassembly and assembly for each piece of equipment is established as E∈FN×2×M×2. Suppose that there are a total of five machines, the machine applicability matrix of the 5-process of the 4-profession in the 3-piece of equipment is 1,10,0,1,15,0,0. That indicates the process is conducted by the machine 1 and the maintenance time is 10 hours. The process can be also carried out on the machine 3 and the maintenance time is 15 hours.


## 2.6. Optimization Objectives and Constraints

### 2.6.1. Optimization Objectives

The optimization objectives of the scheduling problem in component workshops usually include minimizing the maximum of completion time, minimizing the maximum delay, minimizing the average delay, minimizing the maximum machine load, etc. After conducting an extensive research, it is found that the objectives most maintenance organizations pay attention to are to finish the equipment maintenance as early as possible and make the personnel utilization rate high, which are different from that of component productions. These objectives can be divided into three specific objectives of minimizing the maximum of completion time, minimizing the average completion time of single equipment, and minimizing the total occupancy maintenance man-hour cost. Therefore, the scheduling optimization of equipment maintenance processes is a multiobjective optimization problem indeed.(1) Minimizing the Maximum of Completion Time. To facilitate the organization and management, guided by the maintenance capacity, the maintenance organization takes several pieces of equipment as one batch when conducting equipment maintenance. And the maintenance is conducted batch by batch. The completion time of maintenance for one piece of equipment is the sum of the disassembly process time, the maintenance processes time for all professional components, and the assembly process time. Among them, the second term is defined as the completion time of the last process for the profession, of which time cost is the highest. The maximum completion time of one single piece of equipment in this batch, namely, the completion time of this batch of equipment maintenance task, represents the overall maintenance progress of the maintenance organization. The shorter the time is, the faster the progress will be. Suppose that the maintenance time of the disassembly process JBn of the n-piece of equipment is tnB. The time of the assembly process JEn is tnE. The time of the j-process of the p-profession components on the selected m-machine is bnpjm2. The total waiting time of the maintenance processes is tnpw. Then, the objective function of minimizing the maximum completion time is as follows:(3)f1=minmaxtnB+tnE+max∑j=1Jnpbnpjm2+tnpw.(2) Minimizing the Average Completion Time. In the course of awaiting maintenance and being repaired in the maintenance organization, the equipment is unable to produce any military economic benefit. In theory, once the maintenance for one piece of equipment is completed, the troops can receive and employ it. The shorter completion time of equipment maintenance indicates the earlier employment of this piece of equipment in the troops. The objective is characterized by the average completion time when several pieces of equipment are repaired in the meantime and the objective function is as follows:(4)f2=min∑n=1NtnB+tnE+max∑j=1Jnpbnpjm2+tnpwN.(3) Minimizing the Cost of Man-Hour. During equipment maintenance, each professional maintenance team starts out in parallel and works independently. In order to prevent errors caused by work crossing, a team repairs only one equipment for a period of time; i.e., it can quit and carry out the next equipment maintenance only after the completion of all the process tasks in the profession. The maintenance personnel in the chassis profession enter the maintenance from the beginning of the disassembly process and quit after the the assembly process is completed. The remaining professional personnel enter the maintenance after the disassembly process is completed and quit after the completion of all the maintenance tasks of their professions. To consider questions from the overall situation, the fewer man-hours the equipment maintenance consumes, the more man-hours are left for the subsequent equipment maintenance, the higher the utilization rate of maintenance personnel is, and the greater the number of equipment can be repaired. Since the man-hour cost of maintenance personnel of different grades is different, the minimum man-hour cost is used to represent this goal. The objective function is (5)f3=min∑n=1N∑p=1P∑g=13∑j=1Jnpbnpjm2+tnpw×Lnpg×wg+∑g=13tnB+tnE×Ln1g×wg.


### 2.6.2. Constraint Conditions

Suppose thatTnpjk denotes the beginning time of the j-process Jnpjk in the k-th feasible process sequence for the p-profession of the n-piece of equipment. σnpk∈0,1 indicates whether the k-th feasible process sequence for the p-profession of the n-piece of equipment is applied. 1 represents yes, while 0 represents no. Om is the maintenance process set applied on the machine Em. The contraint conditions of the optimization model are as follows:(6)Tnp1k≥tnB,∀n∈1,n,p∈1,P,(7)∑k=1qσnpk=1,∀n∈1,n,p∈1,P,(8)σnpkTnpjk−Tnp,j−1k≥σnpkbnpjm2,∀n∈1,n,p∈1,P,j∈1,J,(9)Tnpiknp−Txyjkxy≥bxyjm2,∀Jnpiknp,Jxyjkxy∈Om,m∈1,M,σnp,knp=σxy,kxy=1.The professional maintenance processes in equation (6) start after the disassembly process is completed. Equation (7) indicates that the maintenance of each professional component in each piece of equipment must follow one selected process sequence. Equation (8) shows that each professional component is repaired in the selected process sequence and the latter process cannot start until the former one is completed. Equation (9) indicates that if two processes of different equipment or components are arranged for maintenance on the same machine in accordance with the selected process sequence, the other process cannot start unless one process is completed.


## 2.6.1. Optimization Objectives

The optimization objectives of the scheduling problem in component workshops usually include minimizing the maximum of completion time, minimizing the maximum delay, minimizing the average delay, minimizing the maximum machine load, etc. After conducting an extensive research, it is found that the objectives most maintenance organizations pay attention to are to finish the equipment maintenance as early as possible and make the personnel utilization rate high, which are different from that of component productions. These objectives can be divided into three specific objectives of minimizing the maximum of completion time, minimizing the average completion time of single equipment, and minimizing the total occupancy maintenance man-hour cost. Therefore, the scheduling optimization of equipment maintenance processes is a multiobjective optimization problem indeed.(1) Minimizing the Maximum of Completion Time. To facilitate the organization and management, guided by the maintenance capacity, the maintenance organization takes several pieces of equipment as one batch when conducting equipment maintenance. And the maintenance is conducted batch by batch. The completion time of maintenance for one piece of equipment is the sum of the disassembly process time, the maintenance processes time for all professional components, and the assembly process time. Among them, the second term is defined as the completion time of the last process for the profession, of which time cost is the highest. The maximum completion time of one single piece of equipment in this batch, namely, the completion time of this batch of equipment maintenance task, represents the overall maintenance progress of the maintenance organization. The shorter the time is, the faster the progress will be. Suppose that the maintenance time of the disassembly process JBn of the n-piece of equipment is tnB. The time of the assembly process JEn is tnE. The time of the j-process of the p-profession components on the selected m-machine is bnpjm2. The total waiting time of the maintenance processes is tnpw. Then, the objective function of minimizing the maximum completion time is as follows:(3)f1=minmaxtnB+tnE+max∑j=1Jnpbnpjm2+tnpw.(2) Minimizing the Average Completion Time. In the course of awaiting maintenance and being repaired in the maintenance organization, the equipment is unable to produce any military economic benefit. In theory, once the maintenance for one piece of equipment is completed, the troops can receive and employ it. The shorter completion time of equipment maintenance indicates the earlier employment of this piece of equipment in the troops. The objective is characterized by the average completion time when several pieces of equipment are repaired in the meantime and the objective function is as follows:(4)f2=min∑n=1NtnB+tnE+max∑j=1Jnpbnpjm2+tnpwN.(3) Minimizing the Cost of Man-Hour. During equipment maintenance, each professional maintenance team starts out in parallel and works independently. In order to prevent errors caused by work crossing, a team repairs only one equipment for a period of time; i.e., it can quit and carry out the next equipment maintenance only after the completion of all the process tasks in the profession. The maintenance personnel in the chassis profession enter the maintenance from the beginning of the disassembly process and quit after the the assembly process is completed. The remaining professional personnel enter the maintenance after the disassembly process is completed and quit after the completion of all the maintenance tasks of their professions. To consider questions from the overall situation, the fewer man-hours the equipment maintenance consumes, the more man-hours are left for the subsequent equipment maintenance, the higher the utilization rate of maintenance personnel is, and the greater the number of equipment can be repaired. Since the man-hour cost of maintenance personnel of different grades is different, the minimum man-hour cost is used to represent this goal. The objective function is (5)f3=min∑n=1N∑p=1P∑g=13∑j=1Jnpbnpjm2+tnpw×Lnpg×wg+∑g=13tnB+tnE×Ln1g×wg.


## 2.6.2. Constraint Conditions

Suppose thatTnpjk denotes the beginning time of the j-process Jnpjk in the k-th feasible process sequence for the p-profession of the n-piece of equipment. σnpk∈0,1 indicates whether the k-th feasible process sequence for the p-profession of the n-piece of equipment is applied. 1 represents yes, while 0 represents no. Om is the maintenance process set applied on the machine Em. The contraint conditions of the optimization model are as follows:(6)Tnp1k≥tnB,∀n∈1,n,p∈1,P,(7)∑k=1qσnpk=1,∀n∈1,n,p∈1,P,(8)σnpkTnpjk−Tnp,j−1k≥σnpkbnpjm2,∀n∈1,n,p∈1,P,j∈1,J,(9)Tnpiknp−Txyjkxy≥bxyjm2,∀Jnpiknp,Jxyjkxy∈Om,m∈1,M,σnp,knp=σxy,kxy=1.The professional maintenance processes in equation (6) start after the disassembly process is completed. Equation (7) indicates that the maintenance of each professional component in each piece of equipment must follow one selected process sequence. Equation (8) shows that each professional component is repaired in the selected process sequence and the latter process cannot start until the former one is completed. Equation (9) indicates that if two processes of different equipment or components are arranged for maintenance on the same machine in accordance with the selected process sequence, the other process cannot start unless one process is completed.


## 3. The Novel HNSGSA Algorithm

The NSGA-II (Nondominated Sorting Genetic Algorithm-II) [17, 18] calculates the Pareto optimal solution to sort the population particles in a nondominated way. This algorithm employs the elite retention strategy and the congestion comparison operator to ensure the population diversity and the uniform distribution of solution set. And it is the mostly widely used multiobjective genetic algorithm and can effectively solve the process optimization problems. However, as a genetic algorithm, NSGA-II still has some problems, such as strong dependence on initial parameters, low search efficiency, poor local search performance, and prematurity [19, 20]. The simulated annealing (SA) algorithm is a global optimization method [21], which is based on the mechanism of metal annealing molecules changing towards a steady state. It has the characteristics of probability mutation and is able to find the global optimum of the objective function in a probabilistic sense by using the random search technology, because it accepts the deteriorating solution to the limited extent. The search scope is expanded and thus the algorithm can get rid of the local optimum and find the global optimal solution [17]. In view of the characteristics of equipment maintenance process optimization, such as complex objectives, numerous coding types, interweaving influence relations, and difficulty in seeking optimal solutions, this paper integrates advantages of the NSGA-II algorithm and the simulated annealing algorithm and proposes a novel HNSGSA (hybrid NSGA-II and SA) algorithm to comprehensively improve the global search and local search capabilities.


### 3.1. Procedure of HNSGSA

Based on NSGA-II, the HNSGSA algorithm proposed in this paper improves the methods of gene coding and crossover mutation of chromosome individuals, enhances the pertinence, accuracy, and genetic ability of coding, designs the individual improvement method, and utilizes the simulated annealing algorithm to further improve the individual quality, accelerates the convergence rate, and improves the search ability. The algorithm framework of HNSGSA is shown in Figure2, and the steps are as follows.Step 1: set the basic parameters of the algorithm, including population sizePopsize, evolution times GN, crossover probability Pc, mutation probability Pm, the number NS of individuals improved by SA algorithm, the selection thresholds of individual change mode NC1 and NC2, the initial temperature Tr, temperature change rate α, the number of outer cycles R, and the number of inner cycles L.Step 2: initialize the population, preprocess the equipment maintenance information, classify and code the process sequence, machine selection and process scheduling according to the constraint conditions and the designed coding method, and randomly generate the chromosome population with the number ofPopsize.Step 3: decoding. According to equations (3)–(5), the objective function values f1,f2,f3 of each chromosome individual are calculated, respectively.Step 4: introduce the SA algorithm and randomly selectNS chromosomes from the population, and the selected chromosomes are improved according to the effect-adjusted state change method. The Metropolis criterion is employed to determine whether the chromosomes are accepted or not and effectively improve the individual quality. This step is the key to accelerate the convergence speed and enhance the search ability of the HNSGSA algorithm.Step 5: according to thePareto dominance relationship, conduct fast nondominance sorting for individuals, calculate the number of dominated individuals and the set of dominant individuals of each individual, and distinguish the nondomination level of each individual [22].Step 6: calculate the crowded distance of each individual according to the following equation:(10)di=∑j=13fji+1−fji−1,wheredi is the crowded distance of the i-individual, fji+1 is the value of function fj of the i+1 individual, andfji−1 is the value of function fj of the i−1 individual.Step 7: take the nondomination level and the crowded distance of individual as indicators, and select the parent population ofParent1 and Parent2, of which sizes are both Popsize/2 by the method of binary tournament selection for two times, respectively. When selecting the parent populations, low nondomination level ri is taken as the criterion firstly, and if the level is the same, the larger-crowded distance one is taken as the criterion instead.Step 8: combineParent1 and Parent2 to generate the parent population Parent, and perform crossover and mutation to generate a child population with size of Popsize Children.Step 9: use the elite retention strategy to generate a new generation of population. CombineParent and Children to form a new population X with a scale of 2Popsize. Fast nondominated sorting is carried out to distinguish the nondomination level ri of each individual and calculate the crowding degree di of each individual. The individuals with the same value ri are taken as a set to form a series of nondominated sets Zj. The number of each set is zj; then ∑jzj=2Popsize. From the beginning of Z1, the individuals of each set are placed into the empty population Y successively until the size of the population exceeds Popsize after Zn is added. At this time, the individuals in Zn are ranked according to the crowded distance from the largest to the smallest, and the first Popsize−∑j=1n−1zj individuals are placed into the population Y so that the size of Y reaches Popsize, and the generated Y is a new generation population.Step 10: repeat steps 3–9 until the end of iteration. The individuals of the setZ1 in the population Y are the optimal solutions set. The individual ranked first in the optimal solution set, that is, the individual with the largest crowded distance, is the final solution.Figure 2
The framework of HNSGSA algorithm.


### 3.2. Coding

In the process of scheduling optimization for equipment maintenance, the process sequence flexibility and the machine selection flexibility influence each other and have complicated relations. In this paper, a three-layer coding method for initializing chromosomes is designed. The first layer is process sequence coding. The process sequences of all professional components maintenance of equipment are set in accordance with the established constraint relationship. The second layer is machine selection coding, which randomly selects the operating machine in the optional range for each process. The third layer is scheduling sequence coding, which randomly sets the implementation sequence of components maintenance of equipment. The above three coding layers are combined together to form a chromosome individual, representing a complete process scheduling scheme.


#### 3.2.1. Process Sequence Coding

(1) Related Conceptions. The number of times that each process number appears in the process sequence constraint matrix is calculated. The process with the number of occurrence of 0 is called unconstrained process. If one process number appears once and another process number which has constraint relations with the former one also appears once, that is to say, the process which involves only a pair of sequential constraints, it is called single constrained process. The other processes are called complex constrained processes. Through pairwise constraint association, the complex constraint processes set which can be combined together is called the associated complex constraint process set. For example, in Section 2.3, there are seven processes in 4-professional component maintenance of 3-piece of equipment. The process constraint matrix has six pairs of sequential constraint relationships, including 23, 24, 25, 43, 53, and 76. The occurrence frequency of No.1 in the constraint matrix is 0 and thus No.1 process is an unconstrained process. The processes of No.6 and No.7 are single constraint processes. The processes of No.2, No.3, No.4, and No.5 are complex constraint processes, and these four processes can be combined together through pairwise constraints to form an associated complex constraint process set.(2) Coding Methods. The process numbers are utilized for coding. Firstly, the process sequence coding of one professional component in one piece of equipment is studied. To avoid the chromosome generation that does not meet the requirement of sequence constraint matrix in the initial population, a three-step sequence generation method is proposed in this paper. The process sequence constraint matrix a34 in Section 2.3 is taken as an example to illustrate.The first step is random generation. The above seven process numbers are randomly arranged.The second step is simple adjustment. The positions of unconstrained process numbers remain unchanged. The single constraint processes appear in pairs. Then, we judge whether the relative position of each pair of single constraint processes meets the constraint requirements. If so, the positions remain unchanged. If not, the positions are switched.The third step is relative rearrangement. For each set of associated complex constraint processes, the relative sequence of processes inside the set are adjusted according to the requirements of the sequential constraint rules, and the above adjusted processes are successively filled in the positions of this set. The method is detailed as follows. The processes without precedence constraints are found in the associative complex constraint process set. If the process number is not unique, one process number is randomly selected and placed in the first position among all the numbers in the set. Then, the constraints associated with the number are removed, and the numbers with no precedence constraint are placed in the second position. The cycle continues until the adjustment is complete.The above method steps are shown in Figure3. According to the three-step sorting method, the random sorting of each process ensures the integrity of the sequence range. And the simple adjustment and relative rearrangement can be used to adjust the randomly generated sequence. This operation not only makes the chromosome conform to the requirements of the sequence constraint matrix, but also reduces the complexity of the algorithm.Figure 3
Random generation method for the process sequence.According to this method, feasible process sequence codes of all components in equipment are generated one by one, which are arranged in the order ofS11,S12,…,S1P︸Equipment1,…,Sn1,Sn2,…,SnP︸Equipmentn,…,SN1,…,SNP︸EquipmentN. And the overall process sequence code is formed. In this scheduling scheme chromosome, the process sequence code bits are ∑n=1N∑p=1PJnp.


#### 3.2.2. Machine Selection Coding

The machine numbers are employed for coding. The machines used for maintenance are set process by process in the orders of equipment, professions, and process number, in accordance with the machines application matrixA for professional processes, and the machines application matrix E for processes of disassembly and assembly. According to this sequence of coding, the coding content is unrelated to process sequence and process scheduling. In the subsequent chromosome crossover and mutation, there is no need of adjustment when the process sequence coding or the process scheduling coding changes, making the operation simpler. The method of setting the coding content is as follows. One machine with less maintenance time is selected with a certain probability within the range of optimal machines in the process and the number of this machine is taken as machine code in the process. The selection method is to randomly draw two machines from the optimal ones and select the machine which consumes less maintenance time with a probability of 0.8. As shown in the example in Section 2.5, the fifth process in the fourth profession of the third piece of equipment can be implemented on No.1 machine and No.3 machine. If No.3 machine is randomly selected, the corresponding code of the process position is 3. In the coding process of machine selection, machines should be set for the processes of assembly and disassembly, besides the professional processes. Therefore, the bits of machine selection coding are ∑n=1N∑p=1PJnp+2, which are more than process sequence coding.


#### 3.2.3. Process Scheduling Coding

The numbers are used for coding. The bits of coding are the same as that of machine selection coding. The sequence of number occurrence denotes the implementation sequence of the maintenance processes of disassembly, assembly, and profession. The numbern×10 represents the disassembly process of the n-piece of equipment. Considering that the number of professions for equipment maintenance is less than 9, the number n×10+9 represents the assembly process. The number n×10+p,p∈1,2,…,P represents the maintenance process of the p-profession in the n-piece of equipment. The number n×10 appears once, denoting JBn, the disassembly process of the n-piece of equipment. The number n×10+9 appears once, representing JEn, the assembly process of the n-piece of equipment. The number n×10+p appears Jnp times. The i-th appearance indicates that the implementation of i-process snpi arranged in accordance with the process sequence code for the p-profession in the n-piece of equipment. Since the equipment maintenance is organized and implemented in accordance with the sequence of disassembly, professional components, and assembly, this paper designs a code generation method that meets the requirements of this characteristic. First of all, the scheduling code for the processes of professional component maintenance is generated randomly. The number n×10+p is copied Jnp times and the generated ∑n=1N∑p=1PJnp numbers are arranged randomly. Then, the scheduling codes of the disassembly process and the the assembly process are inserted. The position of the first occurrence of n×10+p is found in the scheduling code of professional maintenance processes, and the number n×10 is inserted randomly anywhere in front. The position of last occurrence of n×10+p is found and the number n×10+9 is inserted randomly anywhere behind.


### 3.3. Crossover

Chromosome crossover can enhance the new exploration space of the algorithm and enhance the global search ability of the algorithm on the basis of retaining the excellent characteristics of the parent generation [23]. Since the initialization of chromosomes follows the three-layer coding structure of process sequence coding, machine selection coding, and process scheduling coding, and coded in different coding ways, the three-layer codes of chromosomes also need different crossover ways during gene operation.


#### 3.3.1. The Crossover of Process Sequence Coding

Considering that the process sequences are coded in the order of equipment and professions, and the numbers of processes of different equipment and professions are not the same, the crossover operation of process sequence codes of two parents generating a offspring should carry out one process sequence code of a profession by one process sequence code of a profession. According to the constraint conditions, in the randomly generated chromosomes, the number of relative sequential permutations and combinations of maintenance processes within constraints is limited, so the traditional POX crossover operator [24] is likely to fail, resulting in the same coding content of offspring and parent after crossover. In order to ensure that the offspring can vary on the premise of inheriting the fine characteristics of parent and satisfy the sequential constraints, this paper proposes an improved POX crossover operator based on the constraint conditions and improves the selection of crossover set and crossover method. First, the numbers of unconstrained processes and single constrained processes are classified into Set Q1, and the other numbers are classified into Set Q2. If there are no unconstrained processes and single constrained processes, one associated complex constrained process set is selected randomly, inside which all process numbers are taken as Q1, and the other numbers of processes with complex constraints are classified into Q2. Q1 is arranged in the order of Parent1 and a sequence set Q11 is generated. Q2 is arranged in the order of Parent2 and a sequence set Q22 is generated. The process numbers are extracted randomly from Q11 or Q22 by a random selector and Children1 is generated. Q1 is arranged in the order of Parent2 and a sequence set Q12 is generated. Q2 is arranged in the order of Parent1 and a sequence set Q21 is generated. The process numbers are extracted randomly from Q12 or Q21 by a random selector and Children2 is generated. The process sequence code crossover of the 4-profession in the 3-piece of equipment in Section 3.1.1 is taken as an example, given by Figure 4.Figure 4
The crossover operation of process sequence coding.


#### 3.3.2. The Crossover of Machine Selection Coding

The machine selection code has nothing to do with the process sequence selection; therefore it is not necessary to adjust in accordance with the crossover of process sequence coding and the crossover operation can be carried out independently. Since the same gene locations in machine selection code of any chromosomes correspond to the same maintenance processes, the crossover operation of machine selection coding can be conducted as a whole rather than in segments. The specific method is as follows. A randomly distributed number string composed of 0 and 1 is generated. The quantity of numbers is the same as the number of machine code. Then, machine selection code inParent 1 corresponding to the location of number 0 is found and exchanged with the machine selection code in the same location in Parent2. And Children1 and Children2 are generated, respectively. For instance, suppose that there are seven processes in the 4-profession of 3-piece of equipment and each process can select any one of the five machines from No.1 to No.5. The machine selection codes of Parent1 and Parent2 are 1,2,1,4,3,2,5 and 3,4,2,4,5,3,1, respectively; the crossover method is shown in Figure 5.Figure 5
The crossover operation of machine selection coding.


#### 3.3.3. The Crossover of Process Scheduling Coding

The crossover of process scheduling coding in chromosomes can be carried out as a whole rather than in segments too. The numbers from 1 toN are divided randomly into sets W1 and W2. ∀ni∈W1, all numbers ni×10+p,p=0,1,…,P,9 construct set w1.∀nj∈W2, all numbers nj×10+p,p=0,1,…,P,9 construct set w2. The numbers of w1 in the machine selection coding of Parent1 are copied into Children1 and the numbers of w1 in the machine selection coding of Parent2 are copied into Children2, and their positions remain unchanged. The numbers of w2 in the machine selection coding of Parent2 are copied into Children1 and the numbers of w2 in the machine selection coding of Parent1 are copied into Children2, and their sequences remain unchanged. Children1 and Children2 are generated, respectively. Considering that the process scheduling code is too long to present completely, the end section of the code is cut as an example, as shown in Figure 6.Figure 6
The crossover operation of process scheduling coding.


### 3.4. Mutation

Mutation can avoid local convergence and improve population diversity by changing chromosomal gene positions in a small range [25]. The mutation methods of process sequence coding, machine selection coding, and process scheduling coding are expounded, respectively.


#### 3.4.1. The Mutation of Process Sequence Coding

In the operation of crossover, the improved POX crossover based on the constraint conditions can ensure that the sequence code follows the sequential constraint conditions, but the mutation will directly change the gene position, which is likely to violate the constraint of the process sequence. This also explains why the current flexible scheduling mutation is mostly acted on machine selection coding and process scheduling coding but seldom operated on the process sequence coding, in which the sequential constraints exist [26]. To ensure the sequential relationship of processes, this paper presents a mutation method based on classification adjustment.The specific method is as follows: one coding segment of professional process sequence is randomly selected, among which two codes are selected randomly, and five cases are distinguished for treating .(1)
If both of the two codes are unconstrained processes, their positions are exchanged directly.(2)
If one code is an unconstrained process and the other code is a single constrained process, their positions are exchanged. Then, check whether the relative sequence between the single constrained process and the corresponding constrained processes meets the constraint requirement. If so, their positions are not adjusted. If not, their positions are exchanged. The position of code of unconstrained process does not need to adjust.(3)
If both of the two codes are single constrained processes, their positions are exchanged when these two codes are not the corresponding constrained processes. Then, check whether the relative sequence between the two single constrained processes and their corresponding constrained processes meets the constraint requirement, respectively. If so, their positions are not adjusted. If not, their positions are exchanged. If these two codes are the corresponding constrained processes, their positions are not adjusted and two other codes are selected once again.(4)
If one code is a complex constrained process and the other code is an uncomplex constrained process, the two codes are taken out. The code of uncomplex constrained process is located in the position of complex constrained process code. Then, check whether it meets the constraint requirement and deal with it according to the second situation. The other codes inside the associated complex constrained process set which the code of complex constrained process belongs to are taken out, and all the codes in the set are inserted into the empty positions in their original relative order. The generated process sequence code7,2,5,1,4,6,3 in Section 3.2.1 is taken as an example. Suppose that the randomly selected two codes are 2 and 6. 2 is a complex constrained process and 6 is a simple constrained process. 2 and 6 are taken out. 6 is located in the position of 2 and 6 complies with the sequential constraints. The other codes of 3, 4, and 5 in the set of associated complex constrained process in which 2 exists are taken out. These codes are located in the empty positions in the original relative order of 2, 5, 4, and 3. A new code 7,6,2,1,5,4,3 is generated, as shown in Figure 7.(5)
If the two codes are both complex constrained processes, it will be judged whether the two codes belong to the same associated complex constrained process set. If so, the processes inside the set will be rearranged according to the coding methods illustrated inSection 3.2.1 and the codes will be filled in to the positions where processes exist. If not, the corresponding two sets are both rearranged.Figure 7
The mutation of process sequence coding.


#### 3.4.2. The Mutation of Machine Selection Coding

According to the machine application matrix, two processes whose available machines are not unique are randomly selected. The gene positions of machine selection coding are found, respectively, and the gene values are changed within the range of the available machines.


#### 3.4.3. The Mutation of Process Scheduling Coding

In the process scheduling codes, the equipment processes of disassembly, assembly, and professional components maintenance are indicated by different numbers. The disassembly process should be finished before the other processes start and the assembly process should be started after the other processes are finished. Therefore, the process scheduling coded should be adjusted after mutating, which are implemented by two steps .(1)
Mutate. Two codes are randomly selected in section of process scheduling coding. All codes between the two codes are mutated in reverse gene strings [27] to improve the convergence ability of the algorithm, as shown in Figure 8.(2)
Adjust. All codes ofn×10 and n×10+9 are found in the segment of mutation. If there exist no such codes, the adjustment is not conducted. If the codes na×10 and the corresponding na×10+9 are both in the segment, the positions of na×10 and na×10+9 are exchanged. If there is only na×10 in the segment, the positions of na×10 and the first na×10+pj in the segment are exchanged. If there is only na×10+9 in the segment, the positions of na×10+9 and the last na×10+pj in the segment are exchanged.Figure 8
The mutation of process scheduling coding.


### 3.5. The Operation of Simulated Annealing

The specific operation processes of HNSGSA are shown in Figure2. The objective function values f1,f2,f3 of the individuals in the new population are calculated when the iteration is initialized. Then NS individuals are randomly selected and improved by the simulated annealing algorithm. The quality renewal of these individuals with probability mutation drives the evolutionary efficiency of the whole population. The value of NS depends on the complexity of the individual code and is usually 0.1∼0.2 times the population size. The specific processes of the simulated annealing algorithm are shown in Figure 9. This paper focuses on improving the individual state changing method and the Metropolis criterion.Figure 9
The operation process of simulated annealing.


#### 3.5.1. The State Change Method for Individuals

In order to ensure that the individual quality of chromosomes can be improved after multiple state changes, a state change method based on effect adjustment is proposed in this paper. Specifically, the variableNC0 and threshold parameters NC1 and NC2 to measure the improvement of individual effect are set. Each time a new individual is selected for the simulated annealing algorithm, NC0=0, and NC0, NC1 and NC2 are compared before the individual state changes. If NC0≤NC1, the process sequence codes of individual are changed. If NC1>NC0≥NC2, the process sequence codes and machine selection codes of individual are changed simultaneously. If NC0>NC2, the process sequence codes, machine selection codes, and process scheduling codes of individual are changed simultaneously. The Metropolis criterion is used to compare the changed individuals; if the changed individuals are not accepted, then NC0=NC0+1. The change methods of individual process sequence code and machine selection code are the same as the chromosome mutation methods. The changing of the individual process scheduling codes can be implemented in two steps:(1)
Two codes are randomly selected in the process scheduling coding of chromosomes:na×10+pb and nc×10+pd, na,nc∈1,…,N, pb,pd∈1,…,P. The positions of the two codes are exchanged. If na=nc, the change is finished.(2)
Ifna≠nc, the position relationship of the codes of na×10+pb and na×10+9 versus na×10+9 is judged. If na×10+pb is located between the two codes, there is no need of adjustment. If na×10+pb is in front of na×10, the positions of na×10+pb and na×10 are exchanged. If na×10+pb is behind na×10+9, the positions of na×10+pb and na×10+9 are exchanged. The positions of the codes of nc×10+pd versus nc×10 and nc×10+9 will be further processed by this method.


#### 3.5.2. The Metropolis Criterion

The individual before the state is changed is denoted asXbest, and the values of objective functions are f1b,f2b,f3b after calculation. The individual after the state is changed is denoted as Xnew, and the values of objective functions are f1n,f2n,f3n. ΔFi is calculated according to the following equations:(11)ΔF1=f1n−f1b,(12)ΔF2=f2n−f2b,(13)ΔF3=f3n−f3b.If∀i,ΔFi≤0,i=1,2,3, the new individuals after change are accepted and Xbest=Xnew. If ΔFi>0 exists, one random number y in the interval of [0, 1] is generated. When y<exp−ΔFi/Tr, the new individual is accepted and Xbest=Xnew. Otherwise, the new individual cannot be accepted and NC0=NC0+1. Then, the individual Xbest is changed once again.


## 3.1. Procedure of HNSGSA

Based on NSGA-II, the HNSGSA algorithm proposed in this paper improves the methods of gene coding and crossover mutation of chromosome individuals, enhances the pertinence, accuracy, and genetic ability of coding, designs the individual improvement method, and utilizes the simulated annealing algorithm to further improve the individual quality, accelerates the convergence rate, and improves the search ability. The algorithm framework of HNSGSA is shown in Figure2, and the steps are as follows.Step 1: set the basic parameters of the algorithm, including population sizePopsize, evolution times GN, crossover probability Pc, mutation probability Pm, the number NS of individuals improved by SA algorithm, the selection thresholds of individual change mode NC1 and NC2, the initial temperature Tr, temperature change rate α, the number of outer cycles R, and the number of inner cycles L.Step 2: initialize the population, preprocess the equipment maintenance information, classify and code the process sequence, machine selection and process scheduling according to the constraint conditions and the designed coding method, and randomly generate the chromosome population with the number ofPopsize.Step 3: decoding. According to equations (3)–(5), the objective function values f1,f2,f3 of each chromosome individual are calculated, respectively.Step 4: introduce the SA algorithm and randomly selectNS chromosomes from the population, and the selected chromosomes are improved according to the effect-adjusted state change method. The Metropolis criterion is employed to determine whether the chromosomes are accepted or not and effectively improve the individual quality. This step is the key to accelerate the convergence speed and enhance the search ability of the HNSGSA algorithm.Step 5: according to thePareto dominance relationship, conduct fast nondominance sorting for individuals, calculate the number of dominated individuals and the set of dominant individuals of each individual, and distinguish the nondomination level of each individual [22].Step 6: calculate the crowded distance of each individual according to the following equation:(10)di=∑j=13fji+1−fji−1,wheredi is the crowded distance of the i-individual, fji+1 is the value of function fj of the i+1 individual, andfji−1 is the value of function fj of the i−1 individual.Step 7: take the nondomination level and the crowded distance of individual as indicators, and select the parent population ofParent1 and Parent2, of which sizes are both Popsize/2 by the method of binary tournament selection for two times, respectively. When selecting the parent populations, low nondomination level ri is taken as the criterion firstly, and if the level is the same, the larger-crowded distance one is taken as the criterion instead.Step 8: combineParent1 and Parent2 to generate the parent population Parent, and perform crossover and mutation to generate a child population with size of Popsize Children.Step 9: use the elite retention strategy to generate a new generation of population. CombineParent and Children to form a new population X with a scale of 2Popsize. Fast nondominated sorting is carried out to distinguish the nondomination level ri of each individual and calculate the crowding degree di of each individual. The individuals with the same value ri are taken as a set to form a series of nondominated sets Zj. The number of each set is zj; then ∑jzj=2Popsize. From the beginning of Z1, the individuals of each set are placed into the empty population Y successively until the size of the population exceeds Popsize after Zn is added. At this time, the individuals in Zn are ranked according to the crowded distance from the largest to the smallest, and the first Popsize−∑j=1n−1zj individuals are placed into the population Y so that the size of Y reaches Popsize, and the generated Y is a new generation population.Step 10: repeat steps 3–9 until the end of iteration. The individuals of the setZ1 in the population Y are the optimal solutions set. The individual ranked first in the optimal solution set, that is, the individual with the largest crowded distance, is the final solution.Figure 2
The framework of HNSGSA algorithm.


## 3.2. Coding

In the process of scheduling optimization for equipment maintenance, the process sequence flexibility and the machine selection flexibility influence each other and have complicated relations. In this paper, a three-layer coding method for initializing chromosomes is designed. The first layer is process sequence coding. The process sequences of all professional components maintenance of equipment are set in accordance with the established constraint relationship. The second layer is machine selection coding, which randomly selects the operating machine in the optional range for each process. The third layer is scheduling sequence coding, which randomly sets the implementation sequence of components maintenance of equipment. The above three coding layers are combined together to form a chromosome individual, representing a complete process scheduling scheme.


### 3.2.1. Process Sequence Coding

(1) Related Conceptions. The number of times that each process number appears in the process sequence constraint matrix is calculated. The process with the number of occurrence of 0 is called unconstrained process. If one process number appears once and another process number which has constraint relations with the former one also appears once, that is to say, the process which involves only a pair of sequential constraints, it is called single constrained process. The other processes are called complex constrained processes. Through pairwise constraint association, the complex constraint processes set which can be combined together is called the associated complex constraint process set. For example, in Section 2.3, there are seven processes in 4-professional component maintenance of 3-piece of equipment. The process constraint matrix has six pairs of sequential constraint relationships, including 23, 24, 25, 43, 53, and 76. The occurrence frequency of No.1 in the constraint matrix is 0 and thus No.1 process is an unconstrained process. The processes of No.6 and No.7 are single constraint processes. The processes of No.2, No.3, No.4, and No.5 are complex constraint processes, and these four processes can be combined together through pairwise constraints to form an associated complex constraint process set.(2) Coding Methods. The process numbers are utilized for coding. Firstly, the process sequence coding of one professional component in one piece of equipment is studied. To avoid the chromosome generation that does not meet the requirement of sequence constraint matrix in the initial population, a three-step sequence generation method is proposed in this paper. The process sequence constraint matrix a34 in Section 2.3 is taken as an example to illustrate.The first step is random generation. The above seven process numbers are randomly arranged.The second step is simple adjustment. The positions of unconstrained process numbers remain unchanged. The single constraint processes appear in pairs. Then, we judge whether the relative position of each pair of single constraint processes meets the constraint requirements. If so, the positions remain unchanged. If not, the positions are switched.The third step is relative rearrangement. For each set of associated complex constraint processes, the relative sequence of processes inside the set are adjusted according to the requirements of the sequential constraint rules, and the above adjusted processes are successively filled in the positions of this set. The method is detailed as follows. The processes without precedence constraints are found in the associative complex constraint process set. If the process number is not unique, one process number is randomly selected and placed in the first position among all the numbers in the set. Then, the constraints associated with the number are removed, and the numbers with no precedence constraint are placed in the second position. The cycle continues until the adjustment is complete.The above method steps are shown in Figure3. According to the three-step sorting method, the random sorting of each process ensures the integrity of the sequence range. And the simple adjustment and relative rearrangement can be used to adjust the randomly generated sequence. This operation not only makes the chromosome conform to the requirements of the sequence constraint matrix, but also reduces the complexity of the algorithm.Figure 3
Random generation method for the process sequence.According to this method, feasible process sequence codes of all components in equipment are generated one by one, which are arranged in the order ofS11,S12,…,S1P︸Equipment1,…,Sn1,Sn2,…,SnP︸Equipmentn,…,SN1,…,SNP︸EquipmentN. And the overall process sequence code is formed. In this scheduling scheme chromosome, the process sequence code bits are ∑n=1N∑p=1PJnp.


### 3.2.2. Machine Selection Coding

The machine numbers are employed for coding. The machines used for maintenance are set process by process in the orders of equipment, professions, and process number, in accordance with the machines application matrixA for professional processes, and the machines application matrix E for processes of disassembly and assembly. According to this sequence of coding, the coding content is unrelated to process sequence and process scheduling. In the subsequent chromosome crossover and mutation, there is no need of adjustment when the process sequence coding or the process scheduling coding changes, making the operation simpler. The method of setting the coding content is as follows. One machine with less maintenance time is selected with a certain probability within the range of optimal machines in the process and the number of this machine is taken as machine code in the process. The selection method is to randomly draw two machines from the optimal ones and select the machine which consumes less maintenance time with a probability of 0.8. As shown in the example in Section 2.5, the fifth process in the fourth profession of the third piece of equipment can be implemented on No.1 machine and No.3 machine. If No.3 machine is randomly selected, the corresponding code of the process position is 3. In the coding process of machine selection, machines should be set for the processes of assembly and disassembly, besides the professional processes. Therefore, the bits of machine selection coding are ∑n=1N∑p=1PJnp+2, which are more than process sequence coding.


### 3.2.3. Process Scheduling Coding

The numbers are used for coding. The bits of coding are the same as that of machine selection coding. The sequence of number occurrence denotes the implementation sequence of the maintenance processes of disassembly, assembly, and profession. The numbern×10 represents the disassembly process of the n-piece of equipment. Considering that the number of professions for equipment maintenance is less than 9, the number n×10+9 represents the assembly process. The number n×10+p,p∈1,2,…,P represents the maintenance process of the p-profession in the n-piece of equipment. The number n×10 appears once, denoting JBn, the disassembly process of the n-piece of equipment. The number n×10+9 appears once, representing JEn, the assembly process of the n-piece of equipment. The number n×10+p appears Jnp times. The i-th appearance indicates that the implementation of i-process snpi arranged in accordance with the process sequence code for the p-profession in the n-piece of equipment. Since the equipment maintenance is organized and implemented in accordance with the sequence of disassembly, professional components, and assembly, this paper designs a code generation method that meets the requirements of this characteristic. First of all, the scheduling code for the processes of professional component maintenance is generated randomly. The number n×10+p is copied Jnp times and the generated ∑n=1N∑p=1PJnp numbers are arranged randomly. Then, the scheduling codes of the disassembly process and the the assembly process are inserted. The position of the first occurrence of n×10+p is found in the scheduling code of professional maintenance processes, and the number n×10 is inserted randomly anywhere in front. The position of last occurrence of n×10+p is found and the number n×10+9 is inserted randomly anywhere behind.


## 3.2.1. Process Sequence Coding

(1) Related Conceptions. The number of times that each process number appears in the process sequence constraint matrix is calculated. The process with the number of occurrence of 0 is called unconstrained process. If one process number appears once and another process number which has constraint relations with the former one also appears once, that is to say, the process which involves only a pair of sequential constraints, it is called single constrained process. The other processes are called complex constrained processes. Through pairwise constraint association, the complex constraint processes set which can be combined together is called the associated complex constraint process set. For example, in Section 2.3, there are seven processes in 4-professional component maintenance of 3-piece of equipment. The process constraint matrix has six pairs of sequential constraint relationships, including 23, 24, 25, 43, 53, and 76. The occurrence frequency of No.1 in the constraint matrix is 0 and thus No.1 process is an unconstrained process. The processes of No.6 and No.7 are single constraint processes. The processes of No.2, No.3, No.4, and No.5 are complex constraint processes, and these four processes can be combined together through pairwise constraints to form an associated complex constraint process set.(2) Coding Methods. The process numbers are utilized for coding. Firstly, the process sequence coding of one professional component in one piece of equipment is studied. To avoid the chromosome generation that does not meet the requirement of sequence constraint matrix in the initial population, a three-step sequence generation method is proposed in this paper. The process sequence constraint matrix a34 in Section 2.3 is taken as an example to illustrate.The first step is random generation. The above seven process numbers are randomly arranged.The second step is simple adjustment. The positions of unconstrained process numbers remain unchanged. The single constraint processes appear in pairs. Then, we judge whether the relative position of each pair of single constraint processes meets the constraint requirements. If so, the positions remain unchanged. If not, the positions are switched.The third step is relative rearrangement. For each set of associated complex constraint processes, the relative sequence of processes inside the set are adjusted according to the requirements of the sequential constraint rules, and the above adjusted processes are successively filled in the positions of this set. The method is detailed as follows. The processes without precedence constraints are found in the associative complex constraint process set. If the process number is not unique, one process number is randomly selected and placed in the first position among all the numbers in the set. Then, the constraints associated with the number are removed, and the numbers with no precedence constraint are placed in the second position. The cycle continues until the adjustment is complete.The above method steps are shown in Figure3. According to the three-step sorting method, the random sorting of each process ensures the integrity of the sequence range. And the simple adjustment and relative rearrangement can be used to adjust the randomly generated sequence. This operation not only makes the chromosome conform to the requirements of the sequence constraint matrix, but also reduces the complexity of the algorithm.Figure 3
Random generation method for the process sequence.According to this method, feasible process sequence codes of all components in equipment are generated one by one, which are arranged in the order ofS11,S12,…,S1P︸Equipment1,…,Sn1,Sn2,…,SnP︸Equipmentn,…,SN1,…,SNP︸EquipmentN. And the overall process sequence code is formed. In this scheduling scheme chromosome, the process sequence code bits are ∑n=1N∑p=1PJnp.


## 3.2.2. Machine Selection Coding

The machine numbers are employed for coding. The machines used for maintenance are set process by process in the orders of equipment, professions, and process number, in accordance with the machines application matrixA for professional processes, and the machines application matrix E for processes of disassembly and assembly. According to this sequence of coding, the coding content is unrelated to process sequence and process scheduling. In the subsequent chromosome crossover and mutation, there is no need of adjustment when the process sequence coding or the process scheduling coding changes, making the operation simpler. The method of setting the coding content is as follows. One machine with less maintenance time is selected with a certain probability within the range of optimal machines in the process and the number of this machine is taken as machine code in the process. The selection method is to randomly draw two machines from the optimal ones and select the machine which consumes less maintenance time with a probability of 0.8. As shown in the example in Section 2.5, the fifth process in the fourth profession of the third piece of equipment can be implemented on No.1 machine and No.3 machine. If No.3 machine is randomly selected, the corresponding code of the process position is 3. In the coding process of machine selection, machines should be set for the processes of assembly and disassembly, besides the professional processes. Therefore, the bits of machine selection coding are ∑n=1N∑p=1PJnp+2, which are more than process sequence coding.


## 3.2.3. Process Scheduling Coding

The numbers are used for coding. The bits of coding are the same as that of machine selection coding. The sequence of number occurrence denotes the implementation sequence of the maintenance processes of disassembly, assembly, and profession. The numbern×10 represents the disassembly process of the n-piece of equipment. Considering that the number of professions for equipment maintenance is less than 9, the number n×10+9 represents the assembly process. The number n×10+p,p∈1,2,…,P represents the maintenance process of the p-profession in the n-piece of equipment. The number n×10 appears once, denoting JBn, the disassembly process of the n-piece of equipment. The number n×10+9 appears once, representing JEn, the assembly process of the n-piece of equipment. The number n×10+p appears Jnp times. The i-th appearance indicates that the implementation of i-process snpi arranged in accordance with the process sequence code for the p-profession in the n-piece of equipment. Since the equipment maintenance is organized and implemented in accordance with the sequence of disassembly, professional components, and assembly, this paper designs a code generation method that meets the requirements of this characteristic. First of all, the scheduling code for the processes of professional component maintenance is generated randomly. The number n×10+p is copied Jnp times and the generated ∑n=1N∑p=1PJnp numbers are arranged randomly. Then, the scheduling codes of the disassembly process and the the assembly process are inserted. The position of the first occurrence of n×10+p is found in the scheduling code of professional maintenance processes, and the number n×10 is inserted randomly anywhere in front. The position of last occurrence of n×10+p is found and the number n×10+9 is inserted randomly anywhere behind.


## 3.3. Crossover

Chromosome crossover can enhance the new exploration space of the algorithm and enhance the global search ability of the algorithm on the basis of retaining the excellent characteristics of the parent generation [23]. Since the initialization of chromosomes follows the three-layer coding structure of process sequence coding, machine selection coding, and process scheduling coding, and coded in different coding ways, the three-layer codes of chromosomes also need different crossover ways during gene operation.


### 3.3.1. The Crossover of Process Sequence Coding

Considering that the process sequences are coded in the order of equipment and professions, and the numbers of processes of different equipment and professions are not the same, the crossover operation of process sequence codes of two parents generating a offspring should carry out one process sequence code of a profession by one process sequence code of a profession. According to the constraint conditions, in the randomly generated chromosomes, the number of relative sequential permutations and combinations of maintenance processes within constraints is limited, so the traditional POX crossover operator [24] is likely to fail, resulting in the same coding content of offspring and parent after crossover. In order to ensure that the offspring can vary on the premise of inheriting the fine characteristics of parent and satisfy the sequential constraints, this paper proposes an improved POX crossover operator based on the constraint conditions and improves the selection of crossover set and crossover method. First, the numbers of unconstrained processes and single constrained processes are classified into Set Q1, and the other numbers are classified into Set Q2. If there are no unconstrained processes and single constrained processes, one associated complex constrained process set is selected randomly, inside which all process numbers are taken as Q1, and the other numbers of processes with complex constraints are classified into Q2. Q1 is arranged in the order of Parent1 and a sequence set Q11 is generated. Q2 is arranged in the order of Parent2 and a sequence set Q22 is generated. The process numbers are extracted randomly from Q11 or Q22 by a random selector and Children1 is generated. Q1 is arranged in the order of Parent2 and a sequence set Q12 is generated. Q2 is arranged in the order of Parent1 and a sequence set Q21 is generated. The process numbers are extracted randomly from Q12 or Q21 by a random selector and Children2 is generated. The process sequence code crossover of the 4-profession in the 3-piece of equipment in Section 3.1.1 is taken as an example, given by Figure 4.Figure 4
The crossover operation of process sequence coding.


### 3.3.2. The Crossover of Machine Selection Coding

The machine selection code has nothing to do with the process sequence selection; therefore it is not necessary to adjust in accordance with the crossover of process sequence coding and the crossover operation can be carried out independently. Since the same gene locations in machine selection code of any chromosomes correspond to the same maintenance processes, the crossover operation of machine selection coding can be conducted as a whole rather than in segments. The specific method is as follows. A randomly distributed number string composed of 0 and 1 is generated. The quantity of numbers is the same as the number of machine code. Then, machine selection code inParent 1 corresponding to the location of number 0 is found and exchanged with the machine selection code in the same location in Parent2. And Children1 and Children2 are generated, respectively. For instance, suppose that there are seven processes in the 4-profession of 3-piece of equipment and each process can select any one of the five machines from No.1 to No.5. The machine selection codes of Parent1 and Parent2 are 1,2,1,4,3,2,5 and 3,4,2,4,5,3,1, respectively; the crossover method is shown in Figure 5.Figure 5
The crossover operation of machine selection coding.


### 3.3.3. The Crossover of Process Scheduling Coding

The crossover of process scheduling coding in chromosomes can be carried out as a whole rather than in segments too. The numbers from 1 toN are divided randomly into sets W1 and W2. ∀ni∈W1, all numbers ni×10+p,p=0,1,…,P,9 construct set w1.∀nj∈W2, all numbers nj×10+p,p=0,1,…,P,9 construct set w2. The numbers of w1 in the machine selection coding of Parent1 are copied into Children1 and the numbers of w1 in the machine selection coding of Parent2 are copied into Children2, and their positions remain unchanged. The numbers of w2 in the machine selection coding of Parent2 are copied into Children1 and the numbers of w2 in the machine selection coding of Parent1 are copied into Children2, and their sequences remain unchanged. Children1 and Children2 are generated, respectively. Considering that the process scheduling code is too long to present completely, the end section of the code is cut as an example, as shown in Figure 6.Figure 6
The crossover operation of process scheduling coding.


## 3.3.1. The Crossover of Process Sequence Coding

Considering that the process sequences are coded in the order of equipment and professions, and the numbers of processes of different equipment and professions are not the same, the crossover operation of process sequence codes of two parents generating a offspring should carry out one process sequence code of a profession by one process sequence code of a profession. According to the constraint conditions, in the randomly generated chromosomes, the number of relative sequential permutations and combinations of maintenance processes within constraints is limited, so the traditional POX crossover operator [24] is likely to fail, resulting in the same coding content of offspring and parent after crossover. In order to ensure that the offspring can vary on the premise of inheriting the fine characteristics of parent and satisfy the sequential constraints, this paper proposes an improved POX crossover operator based on the constraint conditions and improves the selection of crossover set and crossover method. First, the numbers of unconstrained processes and single constrained processes are classified into Set Q1, and the other numbers are classified into Set Q2. If there are no unconstrained processes and single constrained processes, one associated complex constrained process set is selected randomly, inside which all process numbers are taken as Q1, and the other numbers of processes with complex constraints are classified into Q2. Q1 is arranged in the order of Parent1 and a sequence set Q11 is generated. Q2 is arranged in the order of Parent2 and a sequence set Q22 is generated. The process numbers are extracted randomly from Q11 or Q22 by a random selector and Children1 is generated. Q1 is arranged in the order of Parent2 and a sequence set Q12 is generated. Q2 is arranged in the order of Parent1 and a sequence set Q21 is generated. The process numbers are extracted randomly from Q12 or Q21 by a random selector and Children2 is generated. The process sequence code crossover of the 4-profession in the 3-piece of equipment in Section 3.1.1 is taken as an example, given by Figure 4.Figure 4
The crossover operation of process sequence coding.


## 3.3.2. The Crossover of Machine Selection Coding

The machine selection code has nothing to do with the process sequence selection; therefore it is not necessary to adjust in accordance with the crossover of process sequence coding and the crossover operation can be carried out independently. Since the same gene locations in machine selection code of any chromosomes correspond to the same maintenance processes, the crossover operation of machine selection coding can be conducted as a whole rather than in segments. The specific method is as follows. A randomly distributed number string composed of 0 and 1 is generated. The quantity of numbers is the same as the number of machine code. Then, machine selection code inParent 1 corresponding to the location of number 0 is found and exchanged with the machine selection code in the same location in Parent2. And Children1 and Children2 are generated, respectively. For instance, suppose that there are seven processes in the 4-profession of 3-piece of equipment and each process can select any one of the five machines from No.1 to No.5. The machine selection codes of Parent1 and Parent2 are 1,2,1,4,3,2,5 and 3,4,2,4,5,3,1, respectively; the crossover method is shown in Figure 5.Figure 5
The crossover operation of machine selection coding.


## 3.3.3. The Crossover of Process Scheduling Coding

The crossover of process scheduling coding in chromosomes can be carried out as a whole rather than in segments too. The numbers from 1 toN are divided randomly into sets W1 and W2. ∀ni∈W1, all numbers ni×10+p,p=0,1,…,P,9 construct set w1.∀nj∈W2, all numbers nj×10+p,p=0,1,…,P,9 construct set w2. The numbers of w1 in the machine selection coding of Parent1 are copied into Children1 and the numbers of w1 in the machine selection coding of Parent2 are copied into Children2, and their positions remain unchanged. The numbers of w2 in the machine selection coding of Parent2 are copied into Children1 and the numbers of w2 in the machine selection coding of Parent1 are copied into Children2, and their sequences remain unchanged. Children1 and Children2 are generated, respectively. Considering that the process scheduling code is too long to present completely, the end section of the code is cut as an example, as shown in Figure 6.Figure 6
The crossover operation of process scheduling coding.


## 3.4. Mutation

Mutation can avoid local convergence and improve population diversity by changing chromosomal gene positions in a small range [25]. The mutation methods of process sequence coding, machine selection coding, and process scheduling coding are expounded, respectively.


### 3.4.1. The Mutation of Process Sequence Coding

In the operation of crossover, the improved POX crossover based on the constraint conditions can ensure that the sequence code follows the sequential constraint conditions, but the mutation will directly change the gene position, which is likely to violate the constraint of the process sequence. This also explains why the current flexible scheduling mutation is mostly acted on machine selection coding and process scheduling coding but seldom operated on the process sequence coding, in which the sequential constraints exist [26]. To ensure the sequential relationship of processes, this paper presents a mutation method based on classification adjustment.The specific method is as follows: one coding segment of professional process sequence is randomly selected, among which two codes are selected randomly, and five cases are distinguished for treating .(1)
If both of the two codes are unconstrained processes, their positions are exchanged directly.(2)
If one code is an unconstrained process and the other code is a single constrained process, their positions are exchanged. Then, check whether the relative sequence between the single constrained process and the corresponding constrained processes meets the constraint requirement. If so, their positions are not adjusted. If not, their positions are exchanged. The position of code of unconstrained process does not need to adjust.(3)
If both of the two codes are single constrained processes, their positions are exchanged when these two codes are not the corresponding constrained processes. Then, check whether the relative sequence between the two single constrained processes and their corresponding constrained processes meets the constraint requirement, respectively. If so, their positions are not adjusted. If not, their positions are exchanged. If these two codes are the corresponding constrained processes, their positions are not adjusted and two other codes are selected once again.(4)
If one code is a complex constrained process and the other code is an uncomplex constrained process, the two codes are taken out. The code of uncomplex constrained process is located in the position of complex constrained process code. Then, check whether it meets the constraint requirement and deal with it according to the second situation. The other codes inside the associated complex constrained process set which the code of complex constrained process belongs to are taken out, and all the codes in the set are inserted into the empty positions in their original relative order. The generated process sequence code7,2,5,1,4,6,3 in Section 3.2.1 is taken as an example. Suppose that the randomly selected two codes are 2 and 6. 2 is a complex constrained process and 6 is a simple constrained process. 2 and 6 are taken out. 6 is located in the position of 2 and 6 complies with the sequential constraints. The other codes of 3, 4, and 5 in the set of associated complex constrained process in which 2 exists are taken out. These codes are located in the empty positions in the original relative order of 2, 5, 4, and 3. A new code 7,6,2,1,5,4,3 is generated, as shown in Figure 7.(5)
If the two codes are both complex constrained processes, it will be judged whether the two codes belong to the same associated complex constrained process set. If so, the processes inside the set will be rearranged according to the coding methods illustrated inSection 3.2.1 and the codes will be filled in to the positions where processes exist. If not, the corresponding two sets are both rearranged.Figure 7
The mutation of process sequence coding.


### 3.4.2. The Mutation of Machine Selection Coding

According to the machine application matrix, two processes whose available machines are not unique are randomly selected. The gene positions of machine selection coding are found, respectively, and the gene values are changed within the range of the available machines.


### 3.4.3. The Mutation of Process Scheduling Coding

In the process scheduling codes, the equipment processes of disassembly, assembly, and professional components maintenance are indicated by different numbers. The disassembly process should be finished before the other processes start and the assembly process should be started after the other processes are finished. Therefore, the process scheduling coded should be adjusted after mutating, which are implemented by two steps .(1)
Mutate. Two codes are randomly selected in section of process scheduling coding. All codes between the two codes are mutated in reverse gene strings [27] to improve the convergence ability of the algorithm, as shown in Figure 8.(2)
Adjust. All codes ofn×10 and n×10+9 are found in the segment of mutation. If there exist no such codes, the adjustment is not conducted. If the codes na×10 and the corresponding na×10+9 are both in the segment, the positions of na×10 and na×10+9 are exchanged. If there is only na×10 in the segment, the positions of na×10 and the first na×10+pj in the segment are exchanged. If there is only na×10+9 in the segment, the positions of na×10+9 and the last na×10+pj in the segment are exchanged.Figure 8
The mutation of process scheduling coding.


## 3.4.1. The Mutation of Process Sequence Coding

In the operation of crossover, the improved POX crossover based on the constraint conditions can ensure that the sequence code follows the sequential constraint conditions, but the mutation will directly change the gene position, which is likely to violate the constraint of the process sequence. This also explains why the current flexible scheduling mutation is mostly acted on machine selection coding and process scheduling coding but seldom operated on the process sequence coding, in which the sequential constraints exist [26]. To ensure the sequential relationship of processes, this paper presents a mutation method based on classification adjustment.The specific method is as follows: one coding segment of professional process sequence is randomly selected, among which two codes are selected randomly, and five cases are distinguished for treating .(1)
If both of the two codes are unconstrained processes, their positions are exchanged directly.(2)
If one code is an unconstrained process and the other code is a single constrained process, their positions are exchanged. Then, check whether the relative sequence between the single constrained process and the corresponding constrained processes meets the constraint requirement. If so, their positions are not adjusted. If not, their positions are exchanged. The position of code of unconstrained process does not need to adjust.(3)
If both of the two codes are single constrained processes, their positions are exchanged when these two codes are not the corresponding constrained processes. Then, check whether the relative sequence between the two single constrained processes and their corresponding constrained processes meets the constraint requirement, respectively. If so, their positions are not adjusted. If not, their positions are exchanged. If these two codes are the corresponding constrained processes, their positions are not adjusted and two other codes are selected once again.(4)
If one code is a complex constrained process and the other code is an uncomplex constrained process, the two codes are taken out. The code of uncomplex constrained process is located in the position of complex constrained process code. Then, check whether it meets the constraint requirement and deal with it according to the second situation. The other codes inside the associated complex constrained process set which the code of complex constrained process belongs to are taken out, and all the codes in the set are inserted into the empty positions in their original relative order. The generated process sequence code7,2,5,1,4,6,3 in Section 3.2.1 is taken as an example. Suppose that the randomly selected two codes are 2 and 6. 2 is a complex constrained process and 6 is a simple constrained process. 2 and 6 are taken out. 6 is located in the position of 2 and 6 complies with the sequential constraints. The other codes of 3, 4, and 5 in the set of associated complex constrained process in which 2 exists are taken out. These codes are located in the empty positions in the original relative order of 2, 5, 4, and 3. A new code 7,6,2,1,5,4,3 is generated, as shown in Figure 7.(5)
If the two codes are both complex constrained processes, it will be judged whether the two codes belong to the same associated complex constrained process set. If so, the processes inside the set will be rearranged according to the coding methods illustrated inSection 3.2.1 and the codes will be filled in to the positions where processes exist. If not, the corresponding two sets are both rearranged.Figure 7
The mutation of process sequence coding.


## 3.4.2. The Mutation of Machine Selection Coding

According to the machine application matrix, two processes whose available machines are not unique are randomly selected. The gene positions of machine selection coding are found, respectively, and the gene values are changed within the range of the available machines.


## 3.4.3. The Mutation of Process Scheduling Coding

In the process scheduling codes, the equipment processes of disassembly, assembly, and professional components maintenance are indicated by different numbers. The disassembly process should be finished before the other processes start and the assembly process should be started after the other processes are finished. Therefore, the process scheduling coded should be adjusted after mutating, which are implemented by two steps .(1)
Mutate. Two codes are randomly selected in section of process scheduling coding. All codes between the two codes are mutated in reverse gene strings [27] to improve the convergence ability of the algorithm, as shown in Figure 8.(2)
Adjust. All codes ofn×10 and n×10+9 are found in the segment of mutation. If there exist no such codes, the adjustment is not conducted. If the codes na×10 and the corresponding na×10+9 are both in the segment, the positions of na×10 and na×10+9 are exchanged. If there is only na×10 in the segment, the positions of na×10 and the first na×10+pj in the segment are exchanged. If there is only na×10+9 in the segment, the positions of na×10+9 and the last na×10+pj in the segment are exchanged.Figure 8
The mutation of process scheduling coding.


## 3.5. The Operation of Simulated Annealing

The specific operation processes of HNSGSA are shown in Figure2. The objective function values f1,f2,f3 of the individuals in the new population are calculated when the iteration is initialized. Then NS individuals are randomly selected and improved by the simulated annealing algorithm. The quality renewal of these individuals with probability mutation drives the evolutionary efficiency of the whole population. The value of NS depends on the complexity of the individual code and is usually 0.1∼0.2 times the population size. The specific processes of the simulated annealing algorithm are shown in Figure 9. This paper focuses on improving the individual state changing method and the Metropolis criterion.Figure 9
The operation process of simulated annealing.


### 3.5.1. The State Change Method for Individuals

In order to ensure that the individual quality of chromosomes can be improved after multiple state changes, a state change method based on effect adjustment is proposed in this paper. Specifically, the variableNC0 and threshold parameters NC1 and NC2 to measure the improvement of individual effect are set. Each time a new individual is selected for the simulated annealing algorithm, NC0=0, and NC0, NC1 and NC2 are compared before the individual state changes. If NC0≤NC1, the process sequence codes of individual are changed. If NC1>NC0≥NC2, the process sequence codes and machine selection codes of individual are changed simultaneously. If NC0>NC2, the process sequence codes, machine selection codes, and process scheduling codes of individual are changed simultaneously. The Metropolis criterion is used to compare the changed individuals; if the changed individuals are not accepted, then NC0=NC0+1. The change methods of individual process sequence code and machine selection code are the same as the chromosome mutation methods. The changing of the individual process scheduling codes can be implemented in two steps:(1)
Two codes are randomly selected in the process scheduling coding of chromosomes:na×10+pb and nc×10+pd, na,nc∈1,…,N, pb,pd∈1,…,P. The positions of the two codes are exchanged. If na=nc, the change is finished.(2)
Ifna≠nc, the position relationship of the codes of na×10+pb and na×10+9 versus na×10+9 is judged. If na×10+pb is located between the two codes, there is no need of adjustment. If na×10+pb is in front of na×10, the positions of na×10+pb and na×10 are exchanged. If na×10+pb is behind na×10+9, the positions of na×10+pb and na×10+9 are exchanged. The positions of the codes of nc×10+pd versus nc×10 and nc×10+9 will be further processed by this method.


### 3.5.2. The Metropolis Criterion

The individual before the state is changed is denoted asXbest, and the values of objective functions are f1b,f2b,f3b after calculation. The individual after the state is changed is denoted as Xnew, and the values of objective functions are f1n,f2n,f3n. ΔFi is calculated according to the following equations:(11)ΔF1=f1n−f1b,(12)ΔF2=f2n−f2b,(13)ΔF3=f3n−f3b.If∀i,ΔFi≤0,i=1,2,3, the new individuals after change are accepted and Xbest=Xnew. If ΔFi>0 exists, one random number y in the interval of [0, 1] is generated. When y<exp−ΔFi/Tr, the new individual is accepted and Xbest=Xnew. Otherwise, the new individual cannot be accepted and NC0=NC0+1. Then, the individual Xbest is changed once again.


## 3.5.1. The State Change Method for Individuals

In order to ensure that the individual quality of chromosomes can be improved after multiple state changes, a state change method based on effect adjustment is proposed in this paper. Specifically, the variableNC0 and threshold parameters NC1 and NC2 to measure the improvement of individual effect are set. Each time a new individual is selected for the simulated annealing algorithm, NC0=0, and NC0, NC1 and NC2 are compared before the individual state changes. If NC0≤NC1, the process sequence codes of individual are changed. If NC1>NC0≥NC2, the process sequence codes and machine selection codes of individual are changed simultaneously. If NC0>NC2, the process sequence codes, machine selection codes, and process scheduling codes of individual are changed simultaneously. The Metropolis criterion is used to compare the changed individuals; if the changed individuals are not accepted, then NC0=NC0+1. The change methods of individual process sequence code and machine selection code are the same as the chromosome mutation methods. The changing of the individual process scheduling codes can be implemented in two steps:(1)
Two codes are randomly selected in the process scheduling coding of chromosomes:na×10+pb and nc×10+pd, na,nc∈1,…,N, pb,pd∈1,…,P. The positions of the two codes are exchanged. If na=nc, the change is finished.(2)
Ifna≠nc, the position relationship of the codes of na×10+pb and na×10+9 versus na×10+9 is judged. If na×10+pb is located between the two codes, there is no need of adjustment. If na×10+pb is in front of na×10, the positions of na×10+pb and na×10 are exchanged. If na×10+pb is behind na×10+9, the positions of na×10+pb and na×10+9 are exchanged. The positions of the codes of nc×10+pd versus nc×10 and nc×10+9 will be further processed by this method.


## 3.5.2. The Metropolis Criterion

The individual before the state is changed is denoted asXbest, and the values of objective functions are f1b,f2b,f3b after calculation. The individual after the state is changed is denoted as Xnew, and the values of objective functions are f1n,f2n,f3n. ΔFi is calculated according to the following equations:(11)ΔF1=f1n−f1b,(12)ΔF2=f2n−f2b,(13)ΔF3=f3n−f3b.If∀i,ΔFi≤0,i=1,2,3, the new individuals after change are accepted and Xbest=Xnew. If ΔFi>0 exists, one random number y in the interval of [0, 1] is generated. When y<exp−ΔFi/Tr, the new individual is accepted and Xbest=Xnew. Otherwise, the new individual cannot be accepted and NC0=NC0+1. Then, the individual Xbest is changed once again.


## 4. Case Applications

Suppose that there are four pieces of equipment to be repaired in the maintenance organization. Each piece of equipment is composed of four professional components, which are chassis, fire control, communication, and photoelectric. From the perspective of the practice of maintenance, the main processes and data related to equipment are extracted to carry out the following simulation test.


### 4.1. Data Settings

#### 4.1.1. The Rule of Settings

(1)
The maintenance machines can be classified into special machines and general machines. The special machines are provided and used in the process of specific professional maintenance. The general machines can be used for the maintenance of several professional components.(2)
The number of maintenance processes for every profession in each piece of equipment is set randomly within a certain range. The machine application situations in each process are set randomly. 70% of situations are applicable to special machines. 15% of situations are applicable to general machines and the other 15% of situations do not employ maintenance machines. According to the calculation needs, a virtual applicable machine is set for the processes in which there are no machines to employ, and the number of virtual machines is not repeated.(3)
The scope of special machines which are applicable to the maintenance of different professions is different. When the processes in a profession are to employ special machines, special machines in the profession are randomly selected in an acceptable range. The optional range of processes with similar numbers overlaps most of themselves.(4)
The ranges of special machines that are applicable to the same professional maintenance in different pieces of equipment are the same.(5)
The maintenance processes of disassembly and assembly also need machines, which are not general machines and are different from the special machines applicable to professional maintenance processes. The ranges of machines that are used in the maintenance processes of disassembly and assembly in different pieces of equipment are the same.(6)
The task of chassis maintenance is onerous and the the number of the maintenance personnel is 1.5 times that of other professions. The number of other professional maintenance personnel is basically the same. Each professional maintenance team has at least 1 senior worker.


#### 4.1.2. Simulation Data

(1) The Initialization of Condition Data. In accordance with the requirement of data setting in Section 4.1.1, the ranges of initialized condition data optimized by maintenance process scheduling are as shown in Table 1.Table 1
The ranges of condition data.
ParametersRangesThe number of professional processes in equipmentJnp6–8Codes for the disassembly process10, 20, 30, 40Codes for the assembly process19, 29, 39, 49Codes for the professional component maintenance process11–14, 21–24, 31–34, 41–44Number of maintenance machines for the processes of disassembly and assembly1, 2, 3Number of maintenance machines for the professional component maintenance4–19Number of the general maintenance machines20–21Number of virtual machines22–33Quantity of the machines applicable to all processes1–2Maintenance timetnB, tnE of the disassembly and assembly30–40Maintenance time of the professional components20–30Quantity of constraint in the processes of one professional maintenance3–8Quantity of maintenance personnelLnpg (g-level, p-profession, and n-piece of equipment)1−2,g=3; 4−5,p=1,g≠3; 2−3,p≠1,g≠3Man-hour standardwg30, 40, 50Due to the large number of equipment, professions, processes, and machines, the amount of data setting is large. For the reason of limited space, this paper only presents the data of the process and machine application, the maintenance personnel distribution, and the constraint matrix of professional maintenance processes for one piece of equipment. The related data of No.1 Equipment is shown is Tables2 and 3 . In Table 2, 10 represents the disassembly of equipment, 19 represents the assembly, 11 represents the profession of chassis, 12 represents the profession of fire control, 13 represents the profession of communication, and 14 represents the profession of optoelectronics. The processes of disassembly and assembly are completed by the maintenance team of chassis. Therefore, the personnel allocation of them is the same.Table 2
The data of application between process and machine and allocation of maintenance personnel.
Processes in professionsNumber of machinesPersonnel level1234567891011121314151617181920212223241231014033452111234522253264212552520622121242132122032423421529266257221312129222226322244275226217288251412232122432123427225242562328729271913537452Table 3
The constraint matrices of the processes in professional maintenance.
Profession 1Profession 2Process123456Process123456710000001000000120001002000010030001003010100041000004010000050000005000000060000006000000070000010Profession 3Profession 4Process12345678Process123456710000000010000001200000010200001003010010003010100041000010040100000500000001500000006001000006000000070000000070000010810000000(2) The Related Parameters in the Algorithm. The operation parameters of the algorithm are as follows: Popsize=300, GN=200, Pc=0.7, Pm=0.2, NS=30, NC1=5, NC2=10, Tr=10, α=0.1, R=20, and L=10.


### 4.2. Analysis of the Simulation Results

According to the same data setting conditions, the HNSGSA algorithm, the standard NSGA-II, and the SA algorithm are applied to carry out simulation calculation for 200 iterations, respectively. The final calculation results at the 200th iteration are compared. The individuals of which the nondomination level are 1 are extracted from the last generation population in each algorithm and sorted in terms of the crowded distance from great to small. The first three individuals are taken out and the corresponding values of the objective functionsf1, f2, and f3 which represent the strategies of maintenance process scheduling are listed in Table 4. It can be seen that the values of the objective functions obtained by the proposed HNSGSA algorithm are better than those of NSGA-II and SA algorithm, indicating HNSGSA can avoid local optimum and has stronger ability of search and optimization.Table 4
Pareto optimal solution comparison among the algorithms of HNSGSA, NSGA-II, and SA.
AlgorithmNSGA-IISAHNSGSAObjective functionf1f2f3f1f2f3f1f2f3Strategy 1341298.51235150320300.751246460316281.51175280Strategy 233630012278103353001246590314283.251184040Strategy 3344297.2512444703382981232840314283.751177650The values of objective functions of which the crowded distance is the greatest and the nondomination level is 1 are recorded after each iteration. The convergence curves of the HNSGSA algorithm, the NSGA-II algorithm, and the SA algorithm are drawn when the three objective functions are solved, as shown in Figures10–12 . It can be found in the calculation of the three objective functions that the curve of the HNSGSA algorithm is basically flat after 86 iterations, indicating that the algorithm has a better stability. It also can be seen that the proposed HNSGSA algorithm is superior to NSGA-II and SA in each iteration. The HNSGSA’s ability for searching and optimization is further verified. And the convergence curve of HNSGSA algorithm drops rapidly, which indicates that the convergence speed of the HNSGSA algorithm is better than that of the SA algorithm. The convergence of the HNSGA-II algorithm is better than that of the NSGA-II algorithm. It indicates that the overall convergence effect of the proposed algorithm is perfect.Figure 10
The convergence process comparison of the longest maintenance time of the three algorithms.Figure 11
The convergence process comparison of the average maintenance time of the three algorithms.Figure 12
The convergence process comparison of the man-hour cost of the three algorithms.In the 200th iteration of the HNSGSA algorithm, the individual objective function values with nondomination level 1 and maximum crowded distance aref1=316, f2=281.5, and f3=1175280. The Gantt chart of this scheduling scheme is drawn, as shown in Figure 13. The processes with ∗ means that there are sequential constraints in the process. In the number markers of a-b-c(d), a represents professional components, b represents the implement sequence for this process in the profession, c represents the number of process, and d represents the quantity of associated sequential constraints in this process. From the figure, the disassembly processes such as 40-1-1 should be completed before the professional maintenance. The assembly processes such as 49-1-1 should start after the all professional maintenance of the equipment is completed. The use of the general machines 20 and 21 is the most and the task schedule is the most full. Each of the virtual machines 22–33 is only used once. The examination is set compared with the initial data. The task arrangement of the scheme meets the requirements of all constraints. The feasibility of the maintenance process scheduling model proposed in this paper is verified, and the validity and accuracy of the chromosome coding, crossover, and mutation methods in the HNSGSA algorithm and the design of calculation process are further verified.Figure 13
The Gantt chart of the scheduling scheme based on Pareto optimal solution in the HNSGSA algorithm.


## 4.1. Data Settings

### 4.1.1. The Rule of Settings

(1)
The maintenance machines can be classified into special machines and general machines. The special machines are provided and used in the process of specific professional maintenance. The general machines can be used for the maintenance of several professional components.(2)
The number of maintenance processes for every profession in each piece of equipment is set randomly within a certain range. The machine application situations in each process are set randomly. 70% of situations are applicable to special machines. 15% of situations are applicable to general machines and the other 15% of situations do not employ maintenance machines. According to the calculation needs, a virtual applicable machine is set for the processes in which there are no machines to employ, and the number of virtual machines is not repeated.(3)
The scope of special machines which are applicable to the maintenance of different professions is different. When the processes in a profession are to employ special machines, special machines in the profession are randomly selected in an acceptable range. The optional range of processes with similar numbers overlaps most of themselves.(4)
The ranges of special machines that are applicable to the same professional maintenance in different pieces of equipment are the same.(5)
The maintenance processes of disassembly and assembly also need machines, which are not general machines and are different from the special machines applicable to professional maintenance processes. The ranges of machines that are used in the maintenance processes of disassembly and assembly in different pieces of equipment are the same.(6)
The task of chassis maintenance is onerous and the the number of the maintenance personnel is 1.5 times that of other professions. The number of other professional maintenance personnel is basically the same. Each professional maintenance team has at least 1 senior worker.


### 4.1.2. Simulation Data

(1) The Initialization of Condition Data. In accordance with the requirement of data setting in Section 4.1.1, the ranges of initialized condition data optimized by maintenance process scheduling are as shown in Table 1.Table 1
The ranges of condition data.
ParametersRangesThe number of professional processes in equipmentJnp6–8Codes for the disassembly process10, 20, 30, 40Codes for the assembly process19, 29, 39, 49Codes for the professional component maintenance process11–14, 21–24, 31–34, 41–44Number of maintenance machines for the processes of disassembly and assembly1, 2, 3Number of maintenance machines for the professional component maintenance4–19Number of the general maintenance machines20–21Number of virtual machines22–33Quantity of the machines applicable to all processes1–2Maintenance timetnB, tnE of the disassembly and assembly30–40Maintenance time of the professional components20–30Quantity of constraint in the processes of one professional maintenance3–8Quantity of maintenance personnelLnpg (g-level, p-profession, and n-piece of equipment)1−2,g=3; 4−5,p=1,g≠3; 2−3,p≠1,g≠3Man-hour standardwg30, 40, 50Due to the large number of equipment, professions, processes, and machines, the amount of data setting is large. For the reason of limited space, this paper only presents the data of the process and machine application, the maintenance personnel distribution, and the constraint matrix of professional maintenance processes for one piece of equipment. The related data of No.1 Equipment is shown is Tables2 and 3 . In Table 2, 10 represents the disassembly of equipment, 19 represents the assembly, 11 represents the profession of chassis, 12 represents the profession of fire control, 13 represents the profession of communication, and 14 represents the profession of optoelectronics. The processes of disassembly and assembly are completed by the maintenance team of chassis. Therefore, the personnel allocation of them is the same.Table 2
The data of application between process and machine and allocation of maintenance personnel.
Processes in professionsNumber of machinesPersonnel level1234567891011121314151617181920212223241231014033452111234522253264212552520622121242132122032423421529266257221312129222226322244275226217288251412232122432123427225242562328729271913537452Table 3
The constraint matrices of the processes in professional maintenance.
Profession 1Profession 2Process123456Process123456710000001000000120001002000010030001003010100041000004010000050000005000000060000006000000070000010Profession 3Profession 4Process12345678Process123456710000000010000001200000010200001003010010003010100041000010040100000500000001500000006001000006000000070000000070000010810000000(2) The Related Parameters in the Algorithm. The operation parameters of the algorithm are as follows: Popsize=300, GN=200, Pc=0.7, Pm=0.2, NS=30, NC1=5, NC2=10, Tr=10, α=0.1, R=20, and L=10.


## 4.1.1. The Rule of Settings

(1)
The maintenance machines can be classified into special machines and general machines. The special machines are provided and used in the process of specific professional maintenance. The general machines can be used for the maintenance of several professional components.(2)
The number of maintenance processes for every profession in each piece of equipment is set randomly within a certain range. The machine application situations in each process are set randomly. 70% of situations are applicable to special machines. 15% of situations are applicable to general machines and the other 15% of situations do not employ maintenance machines. According to the calculation needs, a virtual applicable machine is set for the processes in which there are no machines to employ, and the number of virtual machines is not repeated.(3)
The scope of special machines which are applicable to the maintenance of different professions is different. When the processes in a profession are to employ special machines, special machines in the profession are randomly selected in an acceptable range. The optional range of processes with similar numbers overlaps most of themselves.(4)
The ranges of special machines that are applicable to the same professional maintenance in different pieces of equipment are the same.(5)
The maintenance processes of disassembly and assembly also need machines, which are not general machines and are different from the special machines applicable to professional maintenance processes. The ranges of machines that are used in the maintenance processes of disassembly and assembly in different pieces of equipment are the same.(6)
The task of chassis maintenance is onerous and the the number of the maintenance personnel is 1.5 times that of other professions. The number of other professional maintenance personnel is basically the same. Each professional maintenance team has at least 1 senior worker.


## 4.1.2. Simulation Data

(1) The Initialization of Condition Data. In accordance with the requirement of data setting in Section 4.1.1, the ranges of initialized condition data optimized by maintenance process scheduling are as shown in Table 1.Table 1
The ranges of condition data.
ParametersRangesThe number of professional processes in equipmentJnp6–8Codes for the disassembly process10, 20, 30, 40Codes for the assembly process19, 29, 39, 49Codes for the professional component maintenance process11–14, 21–24, 31–34, 41–44Number of maintenance machines for the processes of disassembly and assembly1, 2, 3Number of maintenance machines for the professional component maintenance4–19Number of the general maintenance machines20–21Number of virtual machines22–33Quantity of the machines applicable to all processes1–2Maintenance timetnB, tnE of the disassembly and assembly30–40Maintenance time of the professional components20–30Quantity of constraint in the processes of one professional maintenance3–8Quantity of maintenance personnelLnpg (g-level, p-profession, and n-piece of equipment)1−2,g=3; 4−5,p=1,g≠3; 2−3,p≠1,g≠3Man-hour standardwg30, 40, 50Due to the large number of equipment, professions, processes, and machines, the amount of data setting is large. For the reason of limited space, this paper only presents the data of the process and machine application, the maintenance personnel distribution, and the constraint matrix of professional maintenance processes for one piece of equipment. The related data of No.1 Equipment is shown is Tables2 and 3 . In Table 2, 10 represents the disassembly of equipment, 19 represents the assembly, 11 represents the profession of chassis, 12 represents the profession of fire control, 13 represents the profession of communication, and 14 represents the profession of optoelectronics. The processes of disassembly and assembly are completed by the maintenance team of chassis. Therefore, the personnel allocation of them is the same.Table 2
The data of application between process and machine and allocation of maintenance personnel.
Processes in professionsNumber of machinesPersonnel level1234567891011121314151617181920212223241231014033452111234522253264212552520622121242132122032423421529266257221312129222226322244275226217288251412232122432123427225242562328729271913537452Table 3
The constraint matrices of the processes in professional maintenance.
Profession 1Profession 2Process123456Process123456710000001000000120001002000010030001003010100041000004010000050000005000000060000006000000070000010Profession 3Profession 4Process12345678Process123456710000000010000001200000010200001003010010003010100041000010040100000500000001500000006001000006000000070000000070000010810000000(2) The Related Parameters in the Algorithm. The operation parameters of the algorithm are as follows: Popsize=300, GN=200, Pc=0.7, Pm=0.2, NS=30, NC1=5, NC2=10, Tr=10, α=0.1, R=20, and L=10.


## 4.2. Analysis of the Simulation Results

According to the same data setting conditions, the HNSGSA algorithm, the standard NSGA-II, and the SA algorithm are applied to carry out simulation calculation for 200 iterations, respectively. The final calculation results at the 200th iteration are compared. The individuals of which the nondomination level are 1 are extracted from the last generation population in each algorithm and sorted in terms of the crowded distance from great to small. The first three individuals are taken out and the corresponding values of the objective functionsf1, f2, and f3 which represent the strategies of maintenance process scheduling are listed in Table 4. It can be seen that the values of the objective functions obtained by the proposed HNSGSA algorithm are better than those of NSGA-II and SA algorithm, indicating HNSGSA can avoid local optimum and has stronger ability of search and optimization.Table 4
Pareto optimal solution comparison among the algorithms of HNSGSA, NSGA-II, and SA.
AlgorithmNSGA-IISAHNSGSAObjective functionf1f2f3f1f2f3f1f2f3Strategy 1341298.51235150320300.751246460316281.51175280Strategy 233630012278103353001246590314283.251184040Strategy 3344297.2512444703382981232840314283.751177650The values of objective functions of which the crowded distance is the greatest and the nondomination level is 1 are recorded after each iteration. The convergence curves of the HNSGSA algorithm, the NSGA-II algorithm, and the SA algorithm are drawn when the three objective functions are solved, as shown in Figures10–12 . It can be found in the calculation of the three objective functions that the curve of the HNSGSA algorithm is basically flat after 86 iterations, indicating that the algorithm has a better stability. It also can be seen that the proposed HNSGSA algorithm is superior to NSGA-II and SA in each iteration. The HNSGSA’s ability for searching and optimization is further verified. And the convergence curve of HNSGSA algorithm drops rapidly, which indicates that the convergence speed of the HNSGSA algorithm is better than that of the SA algorithm. The convergence of the HNSGA-II algorithm is better than that of the NSGA-II algorithm. It indicates that the overall convergence effect of the proposed algorithm is perfect.Figure 10
The convergence process comparison of the longest maintenance time of the three algorithms.Figure 11
The convergence process comparison of the average maintenance time of the three algorithms.Figure 12
The convergence process comparison of the man-hour cost of the three algorithms.In the 200th iteration of the HNSGSA algorithm, the individual objective function values with nondomination level 1 and maximum crowded distance aref1=316, f2=281.5, and f3=1175280. The Gantt chart of this scheduling scheme is drawn, as shown in Figure 13. The processes with ∗ means that there are sequential constraints in the process. In the number markers of a-b-c(d), a represents professional components, b represents the implement sequence for this process in the profession, c represents the number of process, and d represents the quantity of associated sequential constraints in this process. From the figure, the disassembly processes such as 40-1-1 should be completed before the professional maintenance. The assembly processes such as 49-1-1 should start after the all professional maintenance of the equipment is completed. The use of the general machines 20 and 21 is the most and the task schedule is the most full. Each of the virtual machines 22–33 is only used once. The examination is set compared with the initial data. The task arrangement of the scheme meets the requirements of all constraints. The feasibility of the maintenance process scheduling model proposed in this paper is verified, and the validity and accuracy of the chromosome coding, crossover, and mutation methods in the HNSGSA algorithm and the design of calculation process are further verified.Figure 13
The Gantt chart of the scheduling scheme based on Pareto optimal solution in the HNSGSA algorithm.


## 5. Conclusions

According to the organization process of military equipment maintenance work, this paper studies the optimization problem of equipment maintenance process scheduling under the condition of limited resources. There are mainly three aspects of contributions and novelty. First, a multiobjective equipment maintenance process scheduling optimization model that conforms to the actual maintenance work of the army is established. This paper analyzes the equipment maintenance process in detail. According to the actual situation of the equipment maintenance divided into different professions, a scheduling optimization model for multiequipment with multiprofessional component parallel operations is established, and procedure of professional process division, equipment selection, and personnel allocation is described mathematically. The optimization objectives of minimum completion time, minimum average completion time, and minimum man-hour cost and corresponding constraints are proposed, which are in line with the actual maintenance of military equipment. Secondly, the coding method for equipment maintenance process scheduling is designed systematically. Aiming at the complex characteristics of processes flexibility, this paper first proposes the concepts of unconstrained process, single-constrained process, complex constrained process, and associated complex constraint process set and designs the initial coding, crossover, and mutation methods of flexible process sequence coding based on the classification of constrained processes, which is simple and easy to operate. According to the actual characteristics of equipment maintenance, the initial coding, crossover, and mutation methods of equipment selection and process scheduling coding have been improved. The process sequence, machine selection, and process scheduling coding are performed simultaneously in one chromosome, and the mutual influence of various codes in crossover and mutation is analyzed. Third, the HNSGSA algorithm for scheduling optimization of equipment maintenance process is designed. Aiming at the character of high difficulty in optimization of multilevel coding which has a large number of genes and complex influence relationships, this paper combines the characteristics of high computational efficiency of NSGA-II algorithm and strong search ability of simulated annealing algorithm and proposes the HNSGSA algorithm. Based on the characteristics of the optimization model, the individual change method of operation and the Metropolis criterion were improved and designed. At last, the 123 pieces of process schedulings in the maintenance for four pieces of equipment are taken as an example. The programming simulation is conducted by Matlab to compare the performances of the HNSGSA algorithm, the traditional NSGA-II algorithm, and the simulated annealing algorithm. Comparing the Petro optimal solution of the objective function solved by the algorithm and analyzing the convergence curve, the HNSGSA algorithm has a faster convergence rate than the simulated annealing algorithm, and its Petro optimal solution value is 5.96% lower than that of NSAG-II and is 4.42% lower than that of the simulated annealing algorithm, which verifies the superiority of the HNSGSA algorithm. Checking the Gantt chart of the scheduling scheme which is generated according to the Petro optimal solution obtained by the HNSGSA algorithm, the accuracy of the HNSGSA algorithm is verified.


## 6. Outlook

The equipment maintenance process scheduling model and algorithm established in this paper cover the entire procedure of equipment maintenance from disassembly, maintenance of various professional component to assembly in the time range, considering various situations of process scheduling with the flexibility of machine selection and the flexibility of process sequence in the content range, which have strong applicability. The research can be applied to formulate process scheduling plans to complete the maintenance and production of large-scale equipment with multiprofessional components efficiently making full use of limited production or maintenance machine, in preventive maintenance and corrective maintenance maintenance work of various types of equipment, and in complex equipment production operations involving multiple systems. The process scheduling research in this paper is based on the maintenance personnel who have been allocated and cannot be adjusted during the maintenance procedure, and the maintenance process cannot be preempted. The research can be extended to optimization of personnel allocation and optimization of preemptive maintenance process scheduling in the next step, in order to enhance the complexity and adaptability.



---

*Source: 7912754-2021-08-21.xml*