A Mathematical Model and Self-Adaptive NSGA-II for a Multiobjective IPPS Problem Subject to Delivery Time

Process planning and scheduling are two important components of manufacturing systems.(is 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. (e earliness/tardiness penalty, maximum machine workload, and total machine workload are objectives that are minimized. (e 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.


Introduction
Process planning and scheduling are two crucial parts in manufacturing industries. ey 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]. e 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. e 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. erefore, 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. e earliness/tardiness penalty, maximum machine workload, and total machine workload are regarded as objectives. A mathematical model of the MOJIT-IPPS problem is established. e 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.
is 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. e paper ends with some conclusions in Section 6.

Literature Review
Researchers began studying the IPPS problem in the 1980s [6]. e 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. is 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. erefore, we summarized these studies in two aspects: algorithm improvement and problem improvement.

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. e 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. e 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. e 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.

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]. ey 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. e earliness/tardiness penalty, maximum machine workload, and total machine workload are objectives that are minimized. e 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. e effectiveness of the proposed approach is demonstrated through a set of different scale examples by comparison with another decoding method.

Mathematical Model of MOJIT-IPPS
ere 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. e following parameters are defined to establish the model for the problem: (xii) RJP ik : Boolean variable representing the relationship between a job and process route. If R k is chosen for job i, the variable is equal to 1; otherwise, it is 0. (xiii) RPM kvj : Boolean variable representing the relationship between a process route and machine. If the vth process of R k is processed on machine j, 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.
e objective functions are established as follows.
e earliness/tardiness penalty is minimized: (1) e maximum machine workload is minimized: e total machine workload is minimized: where e following constraints are considered in the model:

One Machine Can Only Perform One Process on a Job at a Time.
If time starts at t, where v ′ ∈ [1, ps k ].

One Process Cannot Be Performed by More than One
Machine. If time starts at t, where

e 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 at
Is Chosen to Complete the Process. Assuming RJP ik � 1 and RJP ik · RPM kv′j � 1, RJP ik · RPM k(v′−1)j′ � 1. Currently, the v ′ th process of job i will be performed; then, where v ′ ∈ [2, ps k ]. According to constraint (3), the related parameters are updated by the following equation.
Mathematical Problems in Engineering e completion time of the v ′ th process of job i is calculated as follows: e available starting time of machine j is updated as follows: If v ′ � ps k , TFFJ i is updated as follows: Equations (1)-(3) show the objectives that will be minimized. e workload of each machine is calculated by equation (4). e relationships between processes and machines are constrained through equations (5)- (8) to ensure the rationality of the manufacturing process. e 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).

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.

Encoding.
A four-layer encoding structure is proposed to construct solutions. e 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 R 3 is adopted for J 2 . Because the code "2" first appears in the workpiece layer, this code represents the first process of J 2 . M 4 is chosen to complete this process. e process time is 0.8, and so on.

Decoding.
Decoding is a key step that influences solutions. e 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.

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 J 2 will be carried out by M 1 . When this process is finished on M 1 , the start time of M 1 is updated to seven and the first process of J 1 will be started at this time. However, M 1 is idle from time zero to four. e first process of J 1 can be performed during this time interval. erefore, 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:

Part 2: Self-Adaptive Operation for
Solutions. e 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, TScn � TScn 1 , TScn 2 , . . . , TScn L sc . For example, "TScn 1 " denotes the start time of the process and is located in the first column of SC. e 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 uth 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

Part 3: Reverse Active
Decoding. In this part, solutions are decoded in reverse. e 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. e start time of workpiece h for reverse active decoding is denoted by "TSRev h ." e final completion time of workpiece h in part 1 is denoted by "TFFJ h ." e 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.

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.

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 P is composed of M individuals, P � x 1 , x 2 , . . . , x M . For any individual x i , the target value of the jth objective is f j (x i ). en, if solution x u dominates solution x v , the following two conditions must be met: e definition of the Pareto dominance relationship shows that if solution x u dominates solution x v , solution x u is better than solution x v in the multiobjective minimization problem.
Assuming that the population is P � x 1 , x 2 , . . . , x M , the rank set is Rank � rank 1 , rank 2 , . . . , rank M , and the number of individuals that dominate x i (i ∈ [1, M]) is DN � dn 1 , dn 2 , . . . , dn M . Some variables are initialized as follows: rank h � −1, dn h � 0, and h ∈ [1, M]. e ranking operation is shown in Figure 4.   Mathematical Problems in Engineering Figure 4 shows that if solution x u dominates solution x v , the rank of x u is smaller than the rank of x v in the multiobjective minimization problem.

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 N, the population P is composed of M individuals, P � x 1 , x 2 , . . . , x M , and the crowding distance set is CD � cd 1 , cd 2 , . . . , cd M . e crowding distance of the jth target of x i is cdf ij . e individual that is ranked one position before x i and the individual that is ranked one position behind x i are named x front and x behind , respectively. e individual with the maximum value of the jth target and the individual with the minimum value of the jth target are named x max and x min , respectively. en, the crowding distance cd i of individual x i is calculated as the following two equations:

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 P is composed of M individuals, P � x 1 , x 2 , . . . , x M , the rank of solution x u is rank u , and the rank of solution x v is rank v . e crowding distances of solutions x u and x v are cd u and cd v , respectively. e notation of the crowded comparison operator is defined as " < "; then, x u < x v must meet the following condition (1) or (2): . e crowded comparison operator shows that if x u < x v , solution x u is better than x v . Based on the crowded comparison operator, tournament selection will be conducted for selecting individuals which will be crossed.

Crossover Operation.
is 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.
us, the code length of generated individuals may be changed after crossover, as shown in Figure 5

Pareto Set.
Assuming that the population size is equal to M, the number of iterations is equal to D. e following steps are adopted to construct a Pareto set: (i) Step 1: initialize the Pareto set, PA � φ , and iteration counter e � 0. (ii) Step 2: the individuals of the first generation P are ranked, and the crowding distance of each individual is calculated. (iii) Step 3: the selection, crossover, and mutation operations are performed on population P, and then population P ′ of the next generation is obtained.
(iv) Step 4: the temporary population Q is established, Q � P ∪ P ′ .  Step 3. (ix) Step 9: PA is ranked, and individuals whose ranks are larger than 1 are deleted. e Pareto set is formed.

Flowchart of SD-NSGA-II.
To present the flowchart of SD-NSGA-II, some parameters are defined as follows: (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.

Experiment 1: Multiobjective Optimization.
ere are seven types of shaft parts: J 1 − J 7 . e delivery time of each part is 30,22,21,24,27,25, and 30, respectively. ere are seven machines: M 1 − M 7 . ere are six process methods: ere are fourteen process routes: R 1 − R 14 . e earliness/tardiness penalty, maximum machine workload, and total machine workload are the objectives that will be minimized. e process routes of each workpiece are provided in Table 3.

Machine Process time
Choosing the better M individuals in Q to form a new P. 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. e mathematical model and SD-NSGA-II for MOJIT-IPPS are proven through experiment 1. e 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.     Table 5.
In Table 5, "VRN" represents the value range of the number of procedures of each process route, "VRT" represents the time range of each process, and "VRD" represents the delivery time range of each workpiece. e 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.

Conclusions
e main works in this paper is summarized as follows: (1) e 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. 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) e 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
e authors declare that they have no conflicts of interest.