#### Abstract

Process planning and scheduling are two important components of manufacturing systems. This paper deals with a multiobjective just-in-time integrated process planning and scheduling (MOJIT-IPPS) problem. Delivery time and machine workload are considered to make IPPS problem more suitable for manufacturing environments. The earliness/tardiness penalty, maximum machine workload, and total machine workload are objectives that are minimized. The decoding method is a crucial part that significantly influences the scheduling results. We develop a self-adaptive decoding method to obtain better results. A nondominated sorting genetic algorithm with self-adaptive decoding (SD-NSGA-II) is proposed for solving MOJIT-IPPS. Finally, the model and algorithm are proven through an example. Furthermore, different scale examples are tested to prove the good performance of the proposed method.

#### 1. Introduction

Process planning and scheduling are two crucial parts in manufacturing industries. They are commonly performed independently in serial mode [1, 2]. In the product design stage, process planning is used to determine the raw materials, machine tools, and process routes. In the scheduling stage, machines are scheduled according to the results from process planning [3]. The independent and serial modes of the two subsystems may lead to unrealistic process routes, uneven resource utilization, and bottlenecks in scheduling [4].

In recent years, IPPS problems have gradually become a research focus around the world. The integration of process planning and scheduling is an effective way to eliminate resource conflicts, decrease the flow time of workpieces, improve machine utilization, and reduce the production cycle [3].

Currently, the basic IPPS problem, which considers makespan as an objective, has been a research focus in production scheduling. With the continuous attention of the whole society on energy conservation and waste elimination, just-in-time production has become the general consensus of modern manufacturing enterprises [5]. Delivery time is a key factor that has been considered in real production. Moreover, there are other important consideration factors in addition to the time factor. Therefore, it is difficult to meet actual production demand if optimization is based only on a single objective.

In conclusion, to make IPPS problems more in line with real manufacturing situations, this paper focuses on a MOJIT-IPPS problem. The earliness/tardiness penalty, maximum machine workload, and total machine workload are regarded as objectives. A mathematical model of the MOJIT-IPPS problem is established. The decoding method is an important part that influences the JIT scheduling solution. Given the complexity of the problem, a SD-NSGA-II is proposed for the problem. Finally, the model and algorithm are proven through several examples.

This paper initially provides a literature review related to IPPS problems in Section 2. A mathematical model of MOJIT-IPPS is established in Section 3. SD-NSGA-II is designed in Section 4. Computational results are analysed in Section 5. The paper ends with some conclusions in Section 6.

#### 2. Literature Review

Researchers began studying the IPPS problem in the 1980s [6]. The basic IPPS problem can be defined as follows [7]: “given a set of *n* parts that are to be processed on *m* machines with operations including alternative manufacturing resources, select suitable manufacturing resources, and sequences of operations to determine a schedule in which the precedence constraints among operations can be satisfied and the corresponding objectives can be achieved.”

Compared to the job shop scheduling problem (JSP) and flow shop scheduling problem (FSP), the IPPS problem has a larger solution space and is more complex because of flexibilities in process routes and machines. This problem has been identified as NP-hard [8]. Currently, an increasing number of studies have focused on the IPPS problem. Algorithm improvement is a research direction of IPPS. Many researchers have proposed advanced algorithms for improving the quality of solutions. In addition, more factors in real production have been considered in the basic IPPS problem to make it more realistic. Therefore, we summarized these studies in two aspects: algorithm improvement and problem improvement.

##### 2.1. Improvement of Algorithms

Li et al. [1] proposed a novel hybrid algorithm based on particle swarm optimization (PSO) and a genetic algorithm (GA) for an IPPS problem with an uncertain processing time. Several different sizes of examples were involved to demonstrate the algorithm. Petrovic et al. [3] used an AND/OR graph to express flexible process plans. An algorithm based on a PSO and chaos theory was proposed to solve an IPPS problem. The advantage of the algorithm was proven by comparing it with a GA and a simulated annealing algorithm (SAA) through a set of examples. Seker et al. [8] proposed a hybrid heuristic algorithm based on a GA and artificial neural network (ANN) to solve an IPPS problem. A clustered chromosome structure was designed to improve the algorithm performance. Yin et al. [9] proposed an improved GA for solving a dynamic IPPS problem with consideration of machine breakdown and new job arrival. Zhang et al. [10] proposed an object-coding GA to solve an IPPS problem. An effective object-coding representation was designed, and experiments showed good performance of the algorithm. Jain et al. [11] proposed a simulation-based GA to solve an IPPS problem. A regeneration scheme was embedded in the algorithm to prevent premature convergence. Phanden et al. [12] established an IPPS model composed of a process route selection module, scheduling module, analysis module, and process route modification module. A GA was designed to solve the model. Li [13] proposed an active learning GA to solve an IPPS problem. The algorithm was proven to be a promising and effective method through experimental results. Lian et al. [14] proposed an imperialist competitive algorithm (ICA) to solve an IPPS problem. The performance of the ICA was evaluated on four sets of experiments. Özgüven et al. [15] proposed a mixed-integer linear programming model for an IPPS problem. Several examples were introduced and the results showed the superiority of the model. Zhou et al. [16] proposed a game-theoretic approach for generating optimal process plans for multiple jobs in networked manufacturing.

##### 2.2. Improvement of Problems

Zhang et al. [2] studied an extended IPPS problem in a cloud manufacturing context, and they proposed three frameworks to cope with IPPS. Zhang [17] proposed an IPPS problem in a remanufacturing context and designed a simulation-based GA for the problem. Shokouhi [18] proposed and studied an IPPS problem considering precedence constraints, and a GA was designed for the problem. Xia et al. [19] proposed a dynamic IPPS problem with consideration of machine breakdown and new job arrival, and a model of the problem was established. A hybrid GA with variable neighbourhood search (VNS) was designed to solve the problem. Multiple objectives are considered in IPPS problem and studied by Manupati et al. [20, 21]. They proposed some novel algorithms for solving the problem.

Currently, energy conservation and environmental protection have reached a consensus in many countries. Energy consumption has become a critical aspect in industries. Zhang et al. [22] established an IPPS model with total energy consumption as the objective. A GA-based approach was proposed to solve the problem. Dai et al. [23] created a mathematical model of an IPPS problem. Energy consumption and makespan were two objectives to be minimized. A modified GA was adopted to explore the optimal solution between the two objectives.

In real production, all processes may not be able to be processed in the same workshop due to different process types. Transportation is another factor that must be considered in some real production environments. For this aspect, Manupati et al. [4, 24] considered transportation in IPPS and proposed algorithms to solve extended problems.

Presently, on the one hand, the JIT production mode has become the general consensus of manufacturing enterprises. Each order should be completed on time. Many workshop scheduling problems consider delivery time, such as the JSP [25, 26], FSP [27, 28], parallel-machine scheduling problem (PMSP) [5, 29], and single-machine scheduling problem [30, 31]. On the other hand, machine workload is another key indicator in workshop scheduling.

Based on the above literature, this paper considers delivery time in the IPPS problem to make it more in line with actual production. A mathematical model of the MOJIT-IPPS problem is established. The earliness/tardiness penalty, maximum machine workload, and total machine workload are objectives that are minimized.

The decoding method is a critical module that influences the JIT scheduling solution. Due to the complexity of MOJIT-IPPS, this paper proposes a self-adaptive decoding method for MOJIT-IPPS. An NSGA-II with the self-adaptive decoding method is designed. The effectiveness of the proposed approach is demonstrated through a set of different scale examples by comparison with another decoding method.

#### 3. Mathematical Model of MOJIT-IPPS

There are different jobs that must be processed in a workshop. All jobs should be finished according to the delivery time. Each job can be processed through more than one process route, and each process can be processed by more than one machine. Under these conditions, the earliness/tardiness penalty, maximum machine workload, and total machine workload are regarded as the objectives. An optimal solution is obtained by choosing process routes, choosing machines, and sorting process sequences for each job.

Based on the above description, a MOJIT-IPPS model is proposed. The following parameters are defined to establish the model for the problem:(i): number of jobs.(ii): number of machines.(iii): number of process routes.(iv): process route , .(v): number of processes of .(vi): available starting time of machine , .(vii): is chosen for job , starting time on machine of the process, , .(viii): is chosen for job , process time on machine of the process.(ix): the final completion time of job .(x): delivery time of job .(xi): workload of machine .(xii): Boolean variable representing the relationship between a job and process route. If is chosen for job , the variable is equal to 1; otherwise, it is 0.(xiii): Boolean variable representing the relationship between a process route and machine. If the process of is processed on machine , the variable is equal to 1; otherwise, it is 0.

Based on the above parameters, the earliness/tardiness penalty, maximum machine workload, and total machine workload are considered the objectives. The objective functions are established as follows.

The earliness/tardiness penalty is minimized:

The maximum machine workload is minimized:

The total machine workload is minimized:where

The following constraints are considered in the model:

##### 3.1. One Machine Can Only Perform One Process on a Job at a Time

If time starts at ,

Then, during time slot ,where .

##### 3.2. One Process Cannot Be Performed by More than One Machine

If time starts at ,

Then, during time slot ,where .

##### 3.3. The Job Is Processed Strictly according to the Process Sequence, and the Starting Time of Each Process Cannot Be Earlier than the Available Starting Time of the Machine That Is Chosen to Complete the Process

Assuming and , . Currently, the process of job will be performed; then,where .

According to constraint (3), the related parameters are updated by the following equation.

The completion time of the process of job is calculated as follows:

The available starting time of machine is updated as follows:

If , is updated as follows:

Equations (1)–(3) show the objectives that will be minimized. The workload of each machine is calculated by equation (4). The relationships between processes and machines are constrained through equations (5)–(8) to ensure the rationality of the manufacturing process. The starting time of each process is calculated by equation (9); the completion time of each process is calculated by equation (10); the available starting time of each machine is calculated by equation (11); and the final completion time of each job is calculated by equation (12).

#### 4. SD-NSGA-II for MOJIT-IPPS

Based on the description and modelling of the above problem, the MOJIT-IPPS problem is NP-hard. Deb et al. [32] proposed NSGA-II in 2002. To date, the algorithm has been applied to solve many multiobjective optimization problems. Considering the complexity and discreteness of the MOJIT-IPPS problem, this study proposes a SD-NSGA-II to solve the problem.

##### 4.1. Encoding

A four-layer encoding structure is proposed to construct solutions. The structure consists of four layers: the workpiece, machine, process time, and process route. An example of the encoding structure of MOJIT-IPPS is provided in Table 1.

In Table 1, for example, the codes in the first column mean that is adopted for . Because the code “2” first appears in the workpiece layer, this code represents the first process of . is chosen to complete this process. The process time is 0.8, and so on.

##### 4.2. Decoding

Decoding is a key step that influences solutions. The semiactive decoding method is commonly used for many basic workshop scheduling problems where the makespan is the objective to be minimized, such as the basic JSP, FSP, and IPPS. However, this method is not suitable for MOJIT-IPPS because delivery time is taken into account. To improve the decoding performance, this paper proposes a self-adaptive decoding method for MOJIT-IPPS. We divide the method into three parts: active decoding, self-adaptive operation for solutions, and reverse active decoding.

###### 4.2.1. Part 1: Active Decoding

Compared with semiactive decoding, active decoding is more effective in compressing the completion time of each workpiece. A sample coding is shown in Table 2. Two workpieces will be processed on two machines. Two processes will be performed for each workpiece. Sample coding is decoded from the first column to the end. A comparison between these two decoding methods is shown in Figure 1 (DT: delivery time).

If using semiactive decoding, processes will be performed according to start time of machines only. For example, the second process of will be carried out by . When this process is finished on , the start time of is updated to seven and the first process of will be started at this time. However, is idle from time zero to four. The first process of can be performed during this time interval.

Therefore, for reducing finished time of each workpiece, we adopt active decoding instead of semiactive decoding. Before introducing this decoding method, some parameters are defined as follows:(i)SC: a sample coding that will be decoded(ii)*L*_{sc}: the number of columns of SC(iii)Job_{k}: the workpiece in the column of SC, (iv)Mach_{k}: the machine in the column of SC(v)Ts (Mach_{k}): the earliest start time of Mach_{k};(vi)Nop (Job_{k}): the number of processes of Job_{k}

Supposing that the column represents the process of Job_{k}, the steps of active decoding are as follows:(i)Step 1: set counters .(ii)Step 2: check the idle time and work time of Mach_{k} from time zero to Ts (Mach_{k}); if exiting an idle time segment, .(iii)Step 3: if *f* > 0, go to Step 4; otherwise, go to Step 6.(iv)Step 4: set a counter . If the th process of Job_{k} can be carried out in the th idle time segment, then deal with this process in the idle time segment, and go to Step 7; otherwise, , and go to Step 5.(v)Step 5: if , go to Step 6; otherwise, go to Step 4.(vi)Step 6: perform the process of Job_{k} at time Ts (Mach_{k}).(vii)Step 7: .(viii)Step 8: if , active decoding for SC is completed; otherwise, go to Step 2.

###### 4.2.2. Part 2: Self-Adaptive Operation for Solutions

The solution of all processes of workpieces must be adjusted to correct the location of each column. If not, the completion time will be extended, and workpieces may be finished late in reverse active decoding. A comparison is shown in Figure 2.

To present the flow of self-adaptive operation, “TScn” is defined as a set, . For example, “TScn_{1}” denotes the start time of the process and is located in the first column of SC.

The steps of self-adaptive operation are as follows:(i)Step 1: make a copy of SC, named SCTem, and clear all columns of SCTem(ii)Step 2: set a counter *u* = L_{sc}(iii)Step 3: choose the maximum value in TScn, put the column that corresponds to this value into the *u*th column of SCTem, and clear this value in TScn(iv)Step 4: *u* = *u*−1; if *u* is equal to zero, go to Step 5; otherwise, go to Step 3(v)Step 5: replace SC with SCTem, and the self-adaptive operation for SC is completed

###### 4.2.3. Part 3: Reverse Active Decoding

In this part, solutions are decoded in reverse. The main decoding steps are same as those in part 1, but the start time of each workpiece is not equal to zero and each solution is decoded in reverse.

The start time of workpiece for reverse active decoding is denoted by “TSRev_{h}.” The final completion time of workpiece in part 1 is denoted by “TFFJ_{h}.” The delivery time of workpiece *h* is denoted by “TJD_{h}.” TSRev_{h} is calculated by the following equation:

An example of reverse active decoding is shown in Figure 3.

##### 4.3. Selection Operation

First, the Pareto dominance relationship is taken into consideration, each solution is ranked, and the rank of each solution is obtained. Second, the crowding distance of each solution is calculated. Finally, a crowded comparison operator is proposed. A tournament selection method is adopted to perform the selection operation.

###### 4.3.1. Ranking Operation

Before performing the ranking operation, the Pareto dominance relationship is defined as follows [33].

Pareto dominance relationship: for a multiobjective minimization problem with N optimization objectives, assume a solution set is composed of individuals, . For any individual , the target value of the th objective is . Then, if solution dominates solution , the following two conditions must be met:(1)For any target values , (2)where , .

The definition of the Pareto dominance relationship shows that if solution dominates solution , solution is better than solution in the multiobjective minimization problem.

Assuming that the population is , the rank set is , and the number of individuals that dominate is . Some variables are initialized as follows: , , and . The ranking operation is shown in Figure 4.

Figure 4 shows that if solution dominates solution , the rank of is smaller than the rank of in the multiobjective minimization problem.

###### 4.3.2. Crowding Distance

In addition to rank, crowding distance is another important indicator. If the ranks of two individuals are equal, to maintain the diversity of the population, it is commonly believed that an individual with a larger crowding distance between the two individuals is a better individual [32].

Assuming a multiobjective minimization problem, the number of optimization objectives is , the population is composed of *M* individuals, , and the crowding distance set is . The crowding distance of the target of is . The individual that is ranked one position before and the individual that is ranked one position behind are named and , respectively. The individual with the maximum value of the target and the individual with the minimum value of the target are named and , respectively. Then, the crowding distance of individual is calculated as the following two equations:

###### 4.3.3. Tournament Selection

Before tournament selection, a crowded comparison operator is defined as follows [32].

Crowded comparison operator: for a multiobjective minimization problem with N optimization targets, assuming a solution set is composed of individuals, , the rank of solution is , and the rank of solution is . The crowding distances of solutions and are and , respectively. The notation of the crowded comparison operator is defined as “”; then, must meet the following condition (1) or (2):(1)(2) and where . The crowded comparison operator shows that if , solution is better than . Based on the crowded comparison operator, tournament selection will be conducted for selecting individuals which will be crossed.

##### 4.4. Crossover Operation

This paper adopts a precedence operation crossover (POX) operator [34] to crossover individuals. Assuming workpiece 2 will undergo crossover, an example of POX is shown in Figure 5.

Because different process routes may be chosen for the same workpiece in different individuals, the same workpiece may have different numbers of operations in different individuals. Thus, the code length of generated individuals may be changed after crossover, as shown in Figure 5.

##### 4.5. Mutation Operation

Two kinds of mutation operators are adopted in SD-NSGA-II for the MOJIT-IPPS problem. First, swapping is performed on codes of two columns according to a swap probability. Two locations are generated randomly. The two columns of codes in the locations are exchanged. Second, single-point mutation is performed on the machine layer according to a single-point mutation probability.

##### 4.6. Pareto Set

Assuming that the population size is equal to *M*, the number of iterations is equal to *D*. The following steps are adopted to construct a Pareto set:(i)Step 1: initialize the Pareto set, , and iteration counter .(ii)Step 2: the individuals of the first generation are ranked, and the crowding distance of each individual is calculated.(iii)Step 3: the selection, crossover, and mutation operations are performed on population , and then population of the next generation is obtained.(iv)Step 4: the temporary population is established, .(v)Step 5: the individuals of population are ranked, and the crowding distance of each individual is calculated.(vi)Step 6: each individual whose rank is equal to 1 in population is compared with all individuals that belong to . If an individual is different from any individual in , it is added to .(vii)Step 7: . If , skip to Step 8; otherwise, skip to Step 9.(viii)Step 8: the better individuals in population are chosen to form the new generation ; skip to Step 3.(ix)Step 9: is ranked, and individuals whose ranks are larger than 1 are deleted. The Pareto set is formed.

##### 4.7. Flowchart of SD-NSGA-II

To present the flowchart of SD-NSGA-II, some parameters are defined as follows:(i): population size, controlling the number of individuals in the population.(ii): number of compared individuals, CN < M.(iii)D: iterations, controlling the number of iterations of the algorithm.(iv)Pc: crossover probability of the two selected individuals, decimals in (0, 1) interval.(v)Pm: mutation probability of individuals, decimals in (0, 1) interval.(vi)Pm_{1}: probability that the swap operation is performed on codes of two columns of individuals, decimals in (0, 1) interval.(vii)Pm_{2}: probability that the single-point mutation is performed on the machine layer of the current individual, decimals in (0, 1) interval.

A flowchart of SD-NSGA-II for the MOJIT-IPPS is shown in Figure 6.

#### 5. Experimental Results and Analyses

##### 5.1. Experiment 1: Multiobjective Optimization

There are seven types of shaft parts: . The delivery time of each part is 30, 22, 21, 24, 27, 25, and 30, respectively. There are seven machines: . There are six process methods: . There are fourteen process routes: . The earliness/tardiness penalty, maximum machine workload, and total machine workload are the objectives that will be minimized. The process routes of each workpiece are provided in Table 3.

In this study, the parameters of the SD-NSGA-II are set as *D* = 500, *M* = 200, CN = 2, , Pm = 0.1, Pm1 = 0.5, and Pm2 = 0.5. The programming language is used to create the algorithm. The results of the Pareto set are shown in Table 4. There are 32 solutions in the Pareto set.

To express the results more directly, we select a solution in the Pareto set whose E/T penalty is equal to zero. A Gantt chart of the solution is shown in Figure 7.

The mathematical model and SD-NSGA-II for MOJIT-IPPS are proven through experiment 1. The earliness/tardiness penalty, maximum machine workload, and total machine workload are minimized simultaneously. Compared with optimizing only one objective, the scheduling solutions obtained by considering multiple objectives are more feasible for determining the real scheduling solution.

##### 5.2. Experiment 2: Self-Adaptive Decoding Method

To evaluate the performance of the self-adaptive decoding method, a set of different scale examples is presented. As space is limited, several important parameters of the examples are provided in Table 5.

In Table 5, “VRN*”* represents the value range of the number of procedures of each process route, “VRT” *r*epresents the time range of each process, and “VRD” represents the delivery time range of each workpiece.

The algorithm parameters for the four sets of examples are shown in Table 6. Each set of examples is calculated 200 times by the two compared decoding methods. A comparison between the self-adaptive decoding method and a decoding method in [26] is shown in Table 7. For the twelve examples, the proposed self-adaptive decoding method provides better performance than the compared method [26] in Ex2-1, Ex2-2, Ex3-1, Ex3-2, Ex4-1, Ex4-2, and Ex4-3.

#### 6. Conclusions

The main works in this paper is summarized as follows:(1)The earliness/tardiness penalty, maximum machine workload, and total machine workload are minimized simultaneously in the MOJIT-IPPS problem. A mathematical model of MOJIT-IPPS is established.(2)Due to the complexity and particularity of the MOJIT-IPPS problem, a SD-NSGA-II is proposed to solve the problem. Each module of the algorithm is designed, and a flowchart of the algorithm is drawn.(3)The above model and algorithm are validated experimentally. The Pareto set is obtained through the proposed SD-NSGA-II. The results indicate the good performance of the proposed method.

Additionally, some future works will be carried out as follows:(1)Algorithm improvement is a critical research direction for the IPPS problem. In this paper, a SD-NSGA-II is proposed for MOJIT-IPPS. We will continue research in this direction for the IPPS problem with delivery time. Specifically, more advanced algorithms will be developed to address different scale MOJIT-IPPS problems.(2)The MOJIT-IPPS problem is a static scheduling problem in this paper. In future work, some dynamic factors will be considered in MOJIT-IPPS, such as inserting new workpieces, cancelling workpieces, and machine breakdown.

#### Data Availability

All data generated or analysed during this study are included in this article.

#### Conflicts of Interest

The authors declare that they have no conflicts of interest.

#### Acknowledgments

This research was supported by the National Natural Science Foundation of China (Grant no. 51575443), Key Scientific Research Project of Education Department of Shaanxi Provincial Government, China (Grant no. 20JY047), Doctoral Scientific Research Foundation of Xi’an University of Technology (Grant no. 102-451117013), China Postdoctoral Science Foundation (Grant no. 2020M673612XB), and Scientific Research Program Funded by Shaanxi Provincial Education Department, China (Grant no. 20JS114).