1. Introduction
In the context of Industry 4.0, smart manufacturing is an effective way to realize sustainable production systems [
1]. The application of new technologies, such as digital twins and networked manufacturing, promotes the progress of smart manufacturing and enhances data interconnection for process planning and scheduling. In order to improve the overall performance of manufacturing systems, it is important to study the integrated process planning and scheduling (IPPS) problem. Scheduling is the link between process planning and the implementation of production solutions [
2,
3]. Process planning is the link between part design and production, and scheduling is the link between process planning and the implementation of production solutions. Process planning establishes the processing route and resource allocation for tasks, as well as providing processing plans for scheduling. Scheduling assigns each processing task to the appropriate machine [
3,
4].
In the manufacturing process of most products, process planning and scheduling operate independently and are fragmented from each other, which may lead to conflicting optimization objectives and unbalanced system collaboration, and seriously affect the operational efficiency of the manufacturing process [
5]. IPPS aims to bridge the gap between process planning and scheduling, unify the optimization objects, and realize system collaboration to make optimization more efficient, stable, and reasonable [
6]. In a practical manufacturing system, there are many evaluation criteria, such as maximal completion time of machines (makespan), maximum machine workload (MMW), total workload of machines (TWM), etc., and it is obvious that considering only a single objective cannot meet the needs of realistic production [
7]. Therefore, the study of multi-objective IPPS problems has significant importance in both real-world production environments and in theory.
The IPPS problem is an extension of the flexible job shop scheduling (FJSP) problem, as both the job shop scheduling (JSP) problem and the FJSP problem are NP-hard problems [
8]. The IPPS problem is more complex and difficult to solve because it is more flexible, with various process plans for each component [
9], and because it considers multiple objectives for simultaneous optimization. Traditional exact methods cannot effectively solve large-scale scheduling problems in an acceptable period of time [
10,
11,
12]. In order to better meet the needs of real-world problems, metaheuristic algorithms have become an important tool for solving such problems [
13]. Given the multi-flexibility and complexity of IPPS problems, it is necessary to devise an efficient algorithm for solving multi-objective IPPS problems. An improved NSGA-II (INSGA-II) algorithm is proposed in this research. A multi-layer integrated coding approach is employed, which facilitates a comprehensive exploration of the solution space. This approach enables the simultaneous optimization of multiple parameters of the IPPS problem within a single iteration, enhancing the efficiency of the algorithm. The algorithm evolution process introduces an elite strategy and a variation strategy to improve the quality of population diversity and solution, and an external archive is used to save and update the Pareto solution. Finally, experimental results on the Kim test set validate the effectiveness of the NSGA-II algorithm.
The remaining sections are organized as follows:
Section 2 examines the pertinent literature on IPPS problem-solving algorithms.
Section 3 describes the IPPS problem.
Section 4 presents the proposed INSGA-II algorithm and strategy. We experiment to determine the efficacy of the INSGA-II algorithm in
Section 5 for solving the multi-objective IPPS problem.
Section 6 concludes with a summary of the paper’s findings and an outlook on future research directions.
2. Literature Review
In order to effectively address the game–theoretic model of the multi-objective IPPS problem, Li et al. [
14] proposed a hybrid algorithm (hybrid algorithm of genetic algorithm (GA) and tabu search (TS)) based on minimizing the makespan, minimizing the MMW, and minimizing the TMW as optimization objectives for handling multiple objectives. A priority-based optimization approach was proposed by Ausaf et al. [
15] to address the multi-objective IPPS issue. This algorithm makes effective optimization possible when many objectives are taken into account by allocating various objective functions varying degrees of priority. The algorithm also employs a variety of scheduling criteria to aid in selecting the optimal answer. Mahdi et al. [
16] introduced optimization algorithms for IPPS and discussed how to increase productivity and decrease production costs by using IPPS. These algorithms included GAs, ant colony algorithms (ACO), and particle swarm optimization (PSO) algorithms, which can optimize production planning by maximizing resource utilization, reducing waiting times, using real-time monitoring and adjustment, and optimizing decision making to improve production. Right now, swarm intelligence optimization algorithms and evolutionary algorithms are the primary methodologies for solving multi-objective IPPS problems.
2.1. Swarm Intelligence Optimization Algorithm
Cao et al. [
17] proposed an adaptive multi-strategy artificial bee colony (AMSABC) approach to address the issues with IPPS. In AMSABC, the employed bee and the observing bee are introduced to two search algorithms with distinct characteristics, referred to as “local search” and “global search”, respectively. Zhao et al. [
18] came up with a two-generation Pareto-based ACO algorithm to solve multi-objective JSPs with optional process paths and parallel machines that do not work together. In order to reduce the overall workload, workload deviation, and total cost, the parent ACO resolves the subproblem of flexible process route selection and builds a “sub-tour” by choosing nodes from several alternative process plans and machines. The child ACO resolves the subproblem of process job sequencing. To find the Pareto solution set, Kwang et al. [
19] presented a method combining the firefly algorithm and a GA. First, the approach makes use of the firefly algorithm’s population self-segmentation and multi-modal search capabilities to simultaneously search for many optimal sites while preserving the diversity of populations in the solution space. In particular, multi-objective optimization issues benefit from this characteristic. Second, by effectively constructing chromosomal encoding techniques, crossovers, and mutation procedures, GAs are completely exploited in addressing discrete combinatorial optimization problems. For challenges involving scheduling and multi-objective integrated process planning, Wang et al. [
20] introduced a PSO-based approach. The technique presents a distinctive solution representation based on binary encoding and uses specific operations (e.g., mutation and crossover) to assure the validity and viability of the solution. It also uses exploratory search and quick convergence to efficiently explore enormous solution spaces.
2.2. Evolutionary Algorithms
Mohammadi et al. [
21] developed a multi-objective problem-solving strategy based on two meta-heuristics: the simulated annealing (SA) and TS algorithms. To benefit from the exploration search and fast convergence, a multi-objective hybrid SA technique (MOHSA) was suggested. The NSGA-II algorithm was used to handle the computational complexity of the problem when Mohapatra et al. [
7] considered IPPS as a multi-objective optimization problem in a reconfigurable manufacturing environment, taking into account manufacturing cycle time, processing cost, and machine utilization criteria. To solve the multi-objective IPPS problem, Jin et al. [
22] suggested a multi-objective memetic algorithm (MOMA). The MOMA algorithm uses a problem-specific multi-objective local search approach that combines a variable neighborhood search (VNS) procedure with an effective goal-specific intensive search strategy to optimize all potential scheduling. In order to solve the multi-objective IPPS problem, Shokouhi et al. [
23] proposed a GA with the objective functions of the makespan, minimization of the critical machine workload, and minimizing the TMW. In order to save energy and lessen emissions, Zhang et al. [
24] suggested a hierarchical multi-strategy GA (NSHMSGA) based on non-dominated ranking for the IPPS. A population degradation operator based on crowding distance ranking is added to the algorithm, which is built on the NSGA-II framework, to boost the diversity of repeated populations while also strengthening the genetic operator and coding approach. For the purpose of solving the multi-objective IPPS problem, Luo et al. [
25] employed an effective multi-objective GA based on the immunity principle and external archives. The method uses an external archive to save non-dominated solutions for selection in following rounds and relies on the immunity principle to maintain population variety and prevent premature maturation. As an additional adaptation and assignment mechanism, the algorithm employs a quick, non-dominated sorting technique. Insights and research on using GAs to solve IPPS difficulties were offered by Chaudhry et al. [
26]. To increase the effectiveness and precision of GA solutions, improved operator schemes and genetic representations were created. A control elite non-dominated sorting GA was presented by Mohapatra et al. [
27], taking into account three separate goals: reducing production time, reducing processing costs, and reducing machine idle time. In order to generate a set of optimal solutions that are non-dominated under various goal functions, it blends evolutionary algorithms and non-dominated ranking techniques. To keep the present optimal solution and ensure the newly generated solution is not worse than the current optimal solution, the control elite strategy is utilized. The green multi-objective IPPS problem was addressed by Wen et al. [
28] using the NSGA-II algorithm. The problem is broken down into two phases: the process planning phase, which is optimized using the fundamental NSGA-II algorithm to produce a close to optimal process plan, and the scheduling phase, which employs an improved NSGA-II algorithm to discover a non-dominated scheduling plan. For the purpose of enhancing the multi-objective IPPS problem, Li et al. [
29] suggested an effective GA. The excellent characteristics of the parent individuals can be better kept by introducing a new crossover operation approach, and a new local search method can be introduced to better explore the best solutions in the solution space.
The primary objectives of the solution are makespan, TWM and MMW, etc. It is clear that the usual solution approach for the multi-objective IPPS problem is an improved version of the algorithm. However, some issues still need to be addressed more effectively. One of the key factors is that these algorithms are either not created in accordance with the problem’s features or are not sufficiently consistent with those qualities. In this study, a multi-objective IPPS model is made and an INSGA-II algorithm is proposed. The following three objectives were considered. The first objective is makespan. This objective represents the shortest time required for all tasks to be completed. Minimizing makespan can shorten production cycles and improve production efficiency. The second objective is TWM and represents the sum of the workloads of all machines. Minimizing TWM can reduce machine usage and lower production costs. The third objective is MMW and repre sents the largest workload among all machines. Minimizing MMW can make machine loads more balanced, avoiding overloading some machines and affecting production efficiency. For the properties of the integrated optimization model, where there are numerous optimization parameters and they interact with one another, a multi-layer integration coding method is utilized. In order to guarantee the quality of population diversity and Pareto solutions, elite and variation strategies are built during the algorithm’s progress. The Pareto solutions are also stored and maintained in an external archive.
4. Improved NSGA-II Algorithm for Solving Multi-Objective IPPS Method
As the multi-objective problem of IPPS requires simultaneous optimization of job machining methods, process routes, job sequences, and process machine assignments, it involves many optimization parameters. In addition, the optimization parameters interact with each other, e.g., when one of the machining methods is changed, the type of the candidate machine tool will also be changed, and the process machine assignments are changed as well. Therefore, a multilayer integrated coding method is adopted, based on which the NSGA-II algorithm is improved to realize the model solution. In the evolution, the elite strategy and the variation strategy are constructed. The quality of population diversity and solution is improved, and the localization of optimization results is improved.
4.1. INSGA-II for Scheduling
In this paper, a multilayer integrated coding method that simultaneously optimizes multiple parameters of the IPPS problem in a single iteration is used and an improved NSGA-II algorithm is designed to solve it.
Figure 1 depicts the algorithm’s flowchart.
The main steps of INSGA-II for scheduling are described as follows:
Step 1: Initialization parameters, such as the population size, the number of iterations allowed, the likelihood of variation and crossover, and the size of external archives;
Step 2: Using the non-dominated sorting method [
25] and the crowding calculation to identify individuals who are not dominated;
Step 3: Modifying the external archive established under the external archiving plan;
Step 4: Crossover and mutation. The elite strategy saves the better individuals to the elite library “temppop”, and, after performing crossover and mutation, if the children are better than the parents, it replaces it, otherwise, it remains unchanged and the remaining individuals are directly replaced with children;
Step 5: Combining the children and parent populations, performing non-dominated sorting and calculating crowding, and selecting the optimal solution as the new population;
Step 6: Check to see if the algorithm’s termination condition is met. Execute Step 7 if it is satisfied; otherwise, continue with Step 2;
Step 7: Output the collection of Pareto-optimal solutions.
4.2. Encoding and Decoding Method
The integrated optimization model requires optimization of a large number of parameters, including the machining features of all jobs, the process route, the sequence of job machining, and the machine assignment of each process. The general coding method can only employ cyclic alternating optimization, first optimizing the machining method and process route, then the job machining sequence and the machine assignment of each process, and, finally, returning to optimizing the machining method and process route once more.
In this paper, a multi-layer integrated coding approach is used [
30] and the first layer is the processing feature coding, which indicates the processing method corresponding to all the processing features of the job. The total length of the feature code is equal to the sum of all the features of the job, and the gene is a processing feature of a job. The first layer in
Figure 2 consists of 10 gene bits to form the processing method code layer, which indicates the processing order of each of the three jobs; for example, the first three gene bits indicate that the processing order of the features of
J_1 is
F1-F2-F3.
The second layer is the process selection coding, which represents the process selection scheme for all jobs. The total length of the process route coding is equal to the feature coding. The gene positions represent the processing sequence corresponding to each machining feature of each job in turn. Combined with the machining information in
Table 1, for example, the digit 1 at the second gene position indicates that the machining feature
F2 of
J_1 selects the first processing method, that is, operation
O5.
The third layer is the machine selection coding, indicating that all jobs are machine selected according to the second layer of process selection after the length is equal to the sum of the total number of processes of all jobs, while each part is the total number of processes of its individual jobs. Combined with the processing information in
Table 1, the fifth genetic digit 2 indicates that the
O5 processing machine is
M4. The number 0 in the code indicates that the process was not selected when the job was processed.
The fourth layer is the processing sequence coding, which shows the order in which all job operations should be completed, and its total length is the same as the machine selection coding. The occurrence of a certain job number in the gene position indicates the processing sequence of that job, and the meaning of the number 0 in the coding is the same as that of the machine selection coding.
The process path and scheduling plan for all jobs are simultaneously optimized using this technology, which integrates four sets of parameters. By using this encoding technique, the search space can be shrunk, search effectiveness and optimization precision increased, and computational complexity decreased.
The machining information from
Table 1 shows that there are three jobs and five machines.
J_1 and
J_2 have three machining features, while
J_3 has 4 machining features. Since the coding schemes are related to one another, obtaining the machining information for the jobs requires decoding the coding. The following describes how to decode the encoding technique in
Figure 2.
The gene bits are obtained from left to right in the order of processing characteristics for each task, starting with the first layer of decoding features:
J_1: F1-F2-F3;
J_2: F1-F3-F2;
J_3: F3-F2-F1-F4;
Following is the genetic position from left to right to determine the machining process chosen for the machining features of each job in the second layer of process selection decoding:
J_1: O1-O2-O5-O6-O7;
J_2: O1-O5-O3-O4;
J_3: O3-O4-O2-O1-O5;
To obtain the processing machine for each task in the sequence of processing processes, the third layer of machine selection decoding uses genetic position from left to right, as follows:
J_1: O1 (M2)-O2 (M2)-O5 (M4)-O6 (M1)-O7 (M3);
J_2: O1 (M2)-O5 (M5)-O3 (M3)-O4 (M4);
J_3: O3 (M2)-O4 (M3)-O2 (M3)-O1 (M2)-O5 (M2);
The fourth layer is in charge of sequential decoding. Using the decoding information from the first three layers, the active scheduling decoding method is used to create the final decoded Gantt chart shown in
Figure 3.
4.3. Initial Population Acquisition and Crossover and Mutation Operations
According to the encoding approach, the initial population is made at random, and each layer of processing characteristics, process selection, machine selection, and processing order is made after the model constraints and encoding rules are met.
The precedence operation crossover (POX) crossover operator is made to adjust to the situation for the four-layer coding because crossover and variation are needed for each coding layer independently. This larger-scale genetic information exchange, as seen in
Figure 4, is the first crossover operation with a strong global search capability. This can increase the population’s diversity and broaden the algorithm’s search scope. This is achieved by first randomly dividing the job numbers {1, 2, 3} into two non-empty job subsets {3} and {1, 2}. Then, the feature layer, process layer, and machine layer of the jobs belonging to the job set {3} in the parent generations
P1 and
P2 are copied to the corresponding positions of the children generations
C1 and
C2, respectively. Finally, the feature layer, process layer, and machine layer of the artifacts belonging to the job sets {1, 2} are copied to the corresponding positions of the children
C2 and
C1, respectively. The second crossover operation complements the first by performing a more thorough search of the solution space, and the two approaches work best together. When the population meets the requirements of the process selection coding layer with at least one artifact that shares the same coding information as its counterparts in the other population, this operation is initiated, and only two chromosomes, which correspond to the processing feature layer and the machine selection layer, need to be exchanged. Four variation operations are created to disturb each of the four layers in order to boost population variety and enhance the search dimension of the algorithm. Mutations and more detailed crossover manipulations are described in the literature [
30]. In the algorithm iteration, these six evolutionary operations are carried out concurrently to search the solution space from various breadths and depths, enhancing the algorithm’s search capability.
4.4. Mutation Strategy and Elite Strategy Solutions
Large mutation probabilities in evolution can introduce more diversity in the search space and increase the global exploration ability of the algorithm. When the algorithm is stuck in a local optimal solution, large mutation probabilities can quickly jump out of the local optimal solution and re-explore other possible solutions. However, large mutation probabilities may also lead to slower convergence of the algorithm because they increase the randomness of the algorithm. The role of the elite strategy is to retain the better individuals in the evolutionary process and avoid the loss of good information, thus speeding up the convergence of the algorithm. However, the implementation of the elite strategy may lead to a reduction in the diversity of the population, which affects the exploration ability of the algorithm. To balance the relationship between elite individuals and diversity, it is often necessary to use it in combination with other optimization strategies.
The elite strategy and variation strategy are combined in this study using the following methodology: since the solutions consist of multiple targets, dominance rank is used as the fitness allocation scheme. Before each evolution, the population’s good solutions that satisfy the evolutionary conditions are stored separately in the elite pool. By determining the size of the dominance rank, it is decided which is better, the parent or the children; if the evolved children outperform their parent, the parent is removed, and the offspring is then stored in the new population. If not, the parent is retained in the new population and the offspring is discarded.
4.5. External Archive Maintenance Scheme
The result of a multi-objective optimization problem is the set of Pareto optimal solutions rather than a single solution. The solutions obtained throughout the optimization process, which are not dominated by one another, are stored and maintained in the external archive. The external archive is updated in accordance with the following steps whenever a new solution is discovered during an IPPS iteration: (1) if any solution in the external archive dominates the new solution, the new solution is discarded; (2) if any solution in the external archive dominates the new solution, it is removed from the archive and a new solution is added; (3) if all solutions in the external archive are non-dominated by the new solution and the archive is not full, the new solution is added to the archive; if the archive is full, the solution with the smallest crowding distance is removed [
25].
4.6. Time Complexity of INSGA-II Algorithm
The time complexity of an algorithm is the number of basic operations required to complete the entire algorithm, given the overall scale, number of iterations, and problem size of the algorithm. In the algorithm, the number of times a statement is executed is called frequency, denoted as T(n). T(n) is a function of the overall scale, number of iterations, and problem size. For ease of calculation, we assume that the population size of the INSGA-II algorithm is N, the number of iterations of the population is G, and the variables Fn, Pn, On, and nml represent the number of features, process numbers, process numbers, and machine string lengths of the job; Jn represents the number of jobs and Mn represents the number of machines. The following is a frequency analysis of the main steps.
- (1)
Population initialization stage:
T1 = N × (Jn × Fn2 + Jn × On + Jn × Fn + Jn × Pn + Jn × On + Jn × nml) = N × Jn × (Fn2 + 2 × On + Fn + nml + 16 + 10 × Mn).
- (2)
Update external archive stage: T2 = 3 × N.
- (3)
Fast non-dominated sorting stage: T3 = 8 × N + 8 × N2.
- (4)
Genetic operation stage:
T4 = 5 × N2 + 5 × N × Jn + N + 6 × N × Jn + Jn × Fn + N × Jn + N × nml + N × Jn2 + N × Jn + N × Pn + N × Jn × Fn + N × Jn × On = 5 × N2 + N × Jn2 + Jn × Fn + N × (1 + 13 × Jn + Pn + nml + Jn × Fn + Jn × On).
- (5)
Generate new population stage: T5 = 10 × N.
Therefore, the total frequency of INSGA-II algorithm is:
T6 = T1 + G × (T2 + T3 + T4 + T5) = N × Jn × (Fn2 + 2 × On + Fn + nml + 16 + 10 × Mn)+ G × (3 × N + 8 × N + 8 × N2 + 5 × N2 + N × Jn2 + Jn × Fn + N × (1 + 13 × Jn + Pn + nml + Jn × Fn + Jn × On) + 10 × N).
Constants in computation indicate the number of times an algorithm performs a certain operation. Their effect is usually not taken into account when calculating time complexity. Let the function f = G × N × Jn2 be a function. When the problem size is infinitely large, T6/f is a constant. Therefore, the time complexity of INSGA-II algorithm is O(G × N × Jn2).
5. Experimental Studies and Discussion
The present research tests the algorithm’s effectiveness using the IPPS problem test set recommended by Kim et al. Information on the specific cases is available in the literature [
31]. For comparison, the problem was solved using many rounds of the NSGA-II and INSGA-II algorithms. The NSGA-II algorithm, in contrast to the INSGA-II algorithm, only uses multi-layer integrated coding methods. All of the algorithm programs in this paper were created in Visual C++ and ran on a machine with an Intel i7 12700F 2.10 GHz CPU and 16 GB of RAM. The configuration of parameters affects the performance of INSGA-II. The possible range of parameter values was determined based on literature and experience.
Table 2 lists all possible parameter combinations. From the table, it can be seen that population sizes are 200, 400, 600, and 800, respectively, while crossover probability (
PC) and machine layer mutation probability (
PM) are 0.6, 0.8, and 0.9, respectively. Feature layer mutation probability (
PF), operation layer mutation probability (
PO), and scheduling layer mutation probability (
PS) are 0.1, 0.2, and 0.3, respectively. After verification, when the parameter combination is as shown in
Table 3, the performance of INSGA-II is better.
Table 4 shows the total number of non-dominated solutions each algorithm produced for each set of issues, and
Table 5 compares the experimental outcomes of the INSGA-II algorithm to those of the other methods.
Figure 5 compares the outcomes of the INSGA-II and NSGA-II algorithms.
Figure 6 displays the Gantt chart for the instance 20.
In order to compare the optimization of the two algorithms in 24 instances, all the Pareto solution sets acquired by the two methods are combined, and
Table 4 shows the number of non-dominated solutions in the combined solution set. To clearly show the value of the suggested method, the results of the two methods in instances 6 and 20 are displayed in
Figure 5. It can be seen that the outcomes produced by INSGA-II are better than those produced by NSGA-II.
Table 5 lists the comparison of the results obtained by the INSGA-II algorithm and MOMA algorithm in literature [
22]. The same method as in the literature was used to find the most satisfactory scheduling scheme from the Pareto front obtained by the algorithm for comparison. Where for the same instance if one is dominated by another, it is identified by an asterisk (*) on the non-dominated solution. It is not straightforward to discover that six solutions generated by the INSGA-II algorithm outperform solutions discovered in the literature in all metrics, and three of the examples (instances 3, 11, and 14) find the lower bound on the completion time. In five of the remaining 18 cases (instances 5, 7, 9, 13, and 15), the machine maximum workload metric is obviously superior in the non-dominated solution obtained by the INSGA-II method, and the instances 5, 10, and 12 reach the lower limit of the completion time. The suggested INSGA-II algorithm is superior in the remaining 18 instances, when two solutions are not dominated by one another.
Finally, an illustration is provided to show how it is critical to take several needs into account in a practical production setting.
Figure 7 shows the Gantt chart for instance 5, which solely takes into account the makespan. The Gantt chart produced by the INSGA-II algorithm is preferable, even though the two schedules have the same total completion time (318), when the two metrics, maximum machine workload and total machine workload, are compared.
Figure 8 displays the workloads on each machine in both Gantt charts. It is obvious that each machine has a more uniform workload in the scheduling scheme produced by the INSGA-II algorithm when several goals are taken into account. The maximum and minimum machine workloads for the scheduling scheme considering three targets are 129 and 61, respectively, in comparison to the scheduling scheme considering only one target. This shows that the latter workload is more evenly distributed across machines, which is significant for extending the machine’s life. The suggested technique also lowers the maximum machine workload by moving unnecessary operations to more practical computers. The scheduling schemes with single objective values of 1687 and multiple objective values of 1645 for the total machine workload index, respectively, show that the proposed algorithm also optimizes the total machine workload.
6. Conclusions
The makespan, the MMW, and the TMW are all minimized in this paper’s multi-objective IPPS problem model. To increase the depth of search for the features of the integrated optimization model, which has numerous optimization parameters and how they interact with one another, multi-layer integrated coding is utilized. An INSGA-II method using the elite strategy and variation strategy is proposed to overcome the issues of limited population diversity and low quality of the traditional NSGA-II solution set. The Pareto solutions are also maintained and stored in an external archive. Finally, the algorithm’s performance was evaluated using the Kim test set, and the findings demonstrated the algorithm’s efficiency in resolving problems relating to multi-objective IPPS.
In future research, considering the actual situation in production, several directions can be considered to further improve the proposed method. Firstly, uncertain processing times should be included, and a multi-objective algorithm for the IPPS problem with uncertain processing time can be considered. Secondly, more objectives, such as machining cost and energy consumption, can be taken into account. Thirdly, more effective diversity maintenance schemes can be explored. Finally, exploring more effective algorithms to solve multi-objective IPPS problem is also a promising direction.