Sustainable Integrated Process Planning and Scheduling Optimization Using a Genetic Algorithm with an Integrated Chromosome Representation

This paper proposes a genetic algorithm (GA) to find the pseudo-optimum of integrated process planning and scheduling (IPPS) problems. IPPS is a combinatorial optimization problem of the NP-complete class that aims to solve both process planning and scheduling simultaneously. The complexity of IPPS is very high because it reflects various flexibilities and constraints under flexible manufacturing environments. To cope with it, existing metaheuristics for IPPS have excluded some flexibilities and constraints from consideration or have built a complex structured algorithm. Particularly, GAs have been forced to construct multiple chromosomes to account for various flexibilities, which complicates algorithm procedures and degrades performance. The proposed new integrated chromosome representation makes it possible to incorporate various flexibilities into a single string. This enables the adaptation of a simple and typical GA procedure and previously developed genetic operators. Experiments on a set of benchmark problems showed that the proposed GA improved makespan by an average of 17% against the recently developed metaheuristics for IPPS in much shorter computation times.


Introduction
A flexible manufacturing system (FMS) is aimed at automated manufacturing by connecting general-purpose facilities such as numerical control machines and machining centers via computer networks and automated logistics systems [1].The improved flexibility and efficiency of an FMS can allow it to respond rapidly to changes in customer requirements and uncertainties of the manufacturing environments.Process planning is the process of selecting an appropriate process route, machine, tool, and fixtures and jigs for manufacturing a product (part or job).At that time, the part information and specifications, such as shape, materials, and tolerances, must be considered to ensure feasibility and to increase manufacturing efficiency.However, scheduling is the process of determining the temporal schedule of operations to be implemented on each machine so that the entire operation can be performed efficiently with specified manufacturing resources.Process planning and scheduling are the most vital parts of production planning, and their importance is increasing in FMSes due to enhanced flexibility [2].
Process and schedule plans are interrelated.This implies that an optimal schedule does not induce feasible process plans of parts and vice versa.Therefore, their independent planning is inefficient and is also likely to cause feasibility problems.Integrated process planning and scheduling (IPPS) problems Sustainability 2019, 11, 502; doi:10.3390/su11020502www.mdpi.com/journal/sustainabilityare aimed at determining the optimal schedule and a relevant feasible process plan simultaneously.IPPS can consider various alternatives for the process route, operating machine, and required tool.Moreover, it considers constraints such as tool magazine capacity and limitations in the number of available tools.Consequently, the complexity of IPPS is higher than that of flexible job shop scheduling, which belongs to the category NP-complete [3].Due to the high complexity, traditional approaches for IPPS have preferred solving the two subproblems separately, sequentially, and recursively, rather than solving the subproblems simultaneously.However, recent improvements in computer performance and the availability of numerous metaheuristic approaches have provided useful tools to overcome these limitations.Therefore, there is a growing interest in IPPS for comprehensive planning.
Efficient and feasible planning and execution are essential for manufacturing companies to maximize profits with limited resources.Manufacturing is subject to uncertainties such as equipment failures, order cancellations, design changes, and rush orders [4].When the uncertainties are pervasive, independent partial optimization in the subproblems can result in long production lead times, increased production costs, delivery delays, infeasible process plans, overloaded operations, and machine failures [5,6].IPPS, however, can eliminate schedule conflicts, reduce process flow times and work-inprocess inventory, and increase utilization and responsiveness to irregular fluctuations.Thus, IPPS can increase the efficiency of manufacturing operations and enhance the competitiveness and sustainability of an enterprise.
IPPS handles various types of flexibilities, such as process, sequence, machine, tool, and tool access direction (TAD) flexibilities [7,8].Flexibility implies that one of the alternatives can be selected to manufacture a part or implement an operation.Detailed definitions are provided in Section 2. A typical IPPS considers only the process, sequence, and machine flexibility.A few studies have additionally addressed tool and TAD flexibility.However, if a machining center (MC) with an automatic tool changer (ATC) rather than a numerical control machine is a main machine, consideration of the tool flexibility is critical.In addition, most available studies reflect only precedence relation between operations as a constraint.If MCs are utilized, the magazine capacity of the ATC should also be considered [9].Moreover, as the ATC holds several tools toward the end of the planning period and the number of a particular tool is limited, tool capacity constraint should also be regarded.To our knowledge, Kim et al. [3] has been the only study addressing such tool-related constraints.
Genetic algorithms (GAs) have shown excellent performance for combinatorial problems such as IPPS for a long time.Several GA approaches have also been attempted for IPPS.However, the recent metaheuristics for IPPS have been dominated by ant colony optimization (ACO) and particle swarm optimization (PSO) [8].To address various flexibilities and properly decode a process plan and schedule, the chromosome of GA must contain information on the operations, process route, sequence of operations, machine, and tool to be processed.It is challenging to combine those attributes into a chromosome because of the difference in their properties.This results in multiple independent chromosomes and, consequently, complex evolution procedures of a GA.Eventually, the solution quality over computation time is lowered.
In this study, we propose a standard GA for solving IPPS, considering tool flexibility and tool-related constraints (hereafter called IPPST).The proposed GA uses a conventional GA procedure and popular genetic operators to increase the convenience of application and to improve the solution quality over the computation time.If the solution quality is remarkable, it is apparent that a straightforward structured algorithm is preferred.To achieve this, we introduced a new integrated chromosome representation, in which a chromosome consists of a permutation of operations, each of which contains fundamental information for scheduling, such as job and operation identifications, the machine and tool identifications to be performed, the related processing time, and the activation indicator.While scheduling, the process route is automatically determined by the sequence order of the relevant operations.By integrating all the information required for scheduling into a chromosome, the evolutionary process is also simplified.Moreover, an identical length of chromosome for all individual renders traditional genetic operators applicable in their present form.
The principal contributions of this paper are summarized as follows.First, this study targets more realistic IPPS.The IPPST we considered is close to realistic manufacturing environments by including the capacity of machines and tools as constraints, which has not been covered by conventional IPPS.Second, this paper proposes a rather efficient metaheuristic of a typical simple GA framework for IPPST optimization.A new and complex approach does not always result in the best results.Even though the approach is typical, more efficiency is better.Simple structured algorithms could be generally easy to implement and robust to environmental differences.Third, this study compares and verifies the performance of various types of metaheuristics with multiple sized IPPST problems.Existing studies have been limited to evaluating specific sample problems and conventional IPPS problems without capacity constraints.In this study, we included performance comparisons of recently developed metaheuristics for IPPST problems composed of 76 to 310 operations.
The paper is organized as follows: Section 2 defines the IPPST and lists the relevant assumptions regarding the manufacturing environment.Section 3 explains the proposed integrated chromosome representation.Section 4 describes genetic operators, fitness function, and the procedure of the GA proposed in this study.In Section 5, the benchmark problems of Kim et al. [3]

Definition and Representation of IPPS
This study considers process, sequence, machine, and tool flexibility [3,7].Process flexibility implies that alternative process routes can manufacture a feature of a part: A process route is a sequence of operations with precedence relations.Sequence flexibility is the capability to perform the proper process notwithstanding variations in the sequence order of the operations.Machine flexibility refers to the capability where alternative machines can manufacture a feature.Tool flexibility is the capability to process an operation on a machine with alternative tools.Although we do not consider it due to an MC assumption, TAD flexibility refers to the capability to handle an operation with alternative TADs.It applies mainly when the axis of the tool on the machine is fixed and the setup time for the tool change is critical.These flexibilities contribute toward improved mean flow time and machine utilization through efficient process planning and scheduling and also result in an efficient use of bottleneck resources [10].
The IPPST can be redefined by modifying Guo et al.'s [11] IPPS definition as follows: "Given a set of n jobs (or parts), each of which has a number of operations, the parts are processed on m machines with alternative manufacturing plans (machines and tools).The objective of the problem is to select suitable manufacturing resources and sequence of the operations so as to determine a schedule wherein the precedence constraints between the operations and resource constraints (tool capacity and tool magazine capacity of each machine) are satisfied and the makespan is minimized."The most convenient method to describe IPPS involves the use of network representation [12], as shown in Figure 1a.In the graph, each node denotes an operation, and each arrowed line represents the precedence relationship between operations.Operations o i,0 and o i,∞ are the starting and ending nodes, respectively, of the ith job: These are dummy operations (gray nodes) that are not actually performed.As shown in Figure 1b, each operation consumes a different processing time depending on the machine alternative (machine flexibility) and the tool alternative (tool flexibility).For example, in Figure 1, o 2,6 can be machined for a specified processing time using one of tools 2, 5, and 7 on one of machines 1 and 3: Machine 1 and tool 5 are selected yielding a processing time of 13 units.Process flexibility can be represented by an OR relationship in Figure 1a.A node with multiple outgoing edges can be an AND node or an OR node, where a node not marked "OR" denotes an AND node.On the AND node, all the operations belonging to the outgoing routes must be performed, whereas on the OR node, the operation belonging to only one selected route is executed.In Figure 1a, all the gray nodes imply dummy operations according to selection of process routes.flexibility is the capability to process an operation on a machine with alternative tools.Although we do not consider it due to an MC assumption, TAD flexibility refers to the capability to handle an operation with alternative TADs.It applies mainly when the axis of the tool on the machine is fixed and the setup time for the tool change is critical.These flexibilities contribute toward improved mean flow time and machine utilization through efficient process planning and scheduling and also result in an efficient use of bottleneck resources [10].
The IPPST can be redefined by modifying Guo et al.'s [11] IPPS definition as follows: "Given a set of  jobs (or parts), each of which has a number of operations, the parts are processed on  machines with alternative manufacturing plans (machines and tools).The objective of the problem is to select suitable manufacturing resources and sequence of the operations so as to determine a schedule wherein the precedence constraints between the operations and resource constraints (tool capacity and tool magazine capacity of each machine) are satisfied and the makespan is minimized."The most convenient method to describe IPPS involves the use of network representation [12], as shown in Figure 1a.In the graph, each node denotes an operation, and each arrowed line represents the precedence relationship between operations.Operations  , and  , are the starting and ending nodes, respectively, of the th job: These are dummy operations (gray nodes) that are not actually performed.As shown in Figure 1b, each operation consumes a different processing time depending on the machine alternative (machine flexibility) and the tool alternative (tool flexibility).For example, in Figure 1,  , can be machined for a specified processing time using one of tools 2, 5, and 7 on one of machines 1 and 3: Machine 1 and tool 5 are selected yielding a processing time of 13 units.Process flexibility can be represented by an OR relationship in Figure 1a.A node with multiple outgoing edges can be an AND node or an OR node, where a node not marked "OR" denotes an AND node.On the AND node, all the operations belonging to the outgoing routes must be performed, whereas on the OR node, the operation belonging to only one selected route is executed.In Figure 1a, all the gray nodes imply dummy operations according to selection of process routes.We assume the following manufacturing conditions throughout this study: • All jobs and their network representations are known; • At the beginning of scheduling, all machines are empty.Thus, any starting operation can be processed from the start time if the assigned machine is available; The number of tool slots in each ATC is fixed, and the number of tool slots consumed depends on the type of tool.
The objective of the IPPS is to minimize the makespan, i.e., the maximum completion time of all jobs.

Conventional Chromosome Representation
The most important factor that determines the overall procedure and performance of a GA is chromosome representation.As IPPS can be regarded as a job shop scheduling problem (JSP) combined with process, machine, and tool flexibilities, it is common to extend GA representations used in JSP.Cheng et al. [13] classified the types of representation for JSP into direct and indirect according to whether they can directly decode the phenotype from the genotype.Abdelmaguid [14] provided a more rigorous definition, distinguishing the representation types as model-based and algorithm-based depending on the information possessed by the chromosome.The model-based representation constructs chromosomes with decision variables.It can generate a solution directly from the chromosome, and then repairs the infeasibility caused by genetic operations by using a separate repairing algorithm.According to the types of information, it can be further classified into disjunctive graph-based, operation-based, permutation of operations-based, random key-based, preference list-based, and completion time-based.The algorithm-based representation stores the priority rule or order, rather than the decision variables, in the chromosome.It is mainly applied to a constructive-type algorithm such as Giffler and Thompson [15].There are three types of algorithm-based representation: Priority rule-based, machine-based, and job-based.For a detailed description of the other types, refer to Cheng et al. [13].
To construct a solution, i.e., a schedule of operations including process plans, IPPS requires information on the sequence of operations, selected process routes, and the machine and tool to be processed in each operation.Therefore, an effective chromosome representation for IPPS must include such information completely.A conventional GA for IPPS prefers an operation-based representation due to its direct interpretation.It consists of several distinct chromosomes, such as sequence of operations, machine identifications (ids), and tool ids, as shown in Figure 2a [8,[16][17][18].Nevertheless, during scheduling, the information from all the chromosomes must be combined and interpreted simultaneously, because the information is interrelated.Moreover, each chromosome evolves independently.It complicates the GA procedure and consumes additional computation time.
include such information completely.A conventional GA for IPPS prefers an operation-based representation due to its direct interpretation.It consists of several distinct chromosomes, such as sequence of operations, machine identifications (ids), and tool ids, as shown in Figure 2a [8,[16][17][18].Nevertheless, during scheduling, the information from all the chromosomes must be combined and interpreted simultaneously, because the information is interrelated.Moreover, each chromosome evolves independently.It complicates the GA procedure and consumes additional computation time.Permutation of operations-based representation forms a permutation vector of operations that has all the information required for scheduling.This type is convenient to address: However, it is known to have low exploitation capability.Typical chromosome structures of the permutation of operations-based representation for IPPST (or IPPS) are depicted in Figure 2b,c, where each gene represents an operation and the locus represents the order of the operation.The first type of chromosome representation [19] in Figure 2b consists of only active operations that must be processed depending on the selection of OR relations.The dummy operations are eliminated from the chromosome.For example, the IPPS in Figure 1a can be represented by the structure shown in Figure 2b.The most significant disadvantage of this type of representation is that the length of the chromosome varies according to the selected process routes.Thus, a suitable crossover operator that can address different sizes of chromosome must be provided.The second type [3,20], in Figure 2c, retains two distinct chromosomes: An operation string and a process plan string.The operation string is composed of all the operations in the IPPS network, and each operation has information on job id, operation id, machine id, and tool id.The process plan string has information on the selected process routes.There are several formations on the process plan string: However, here, we will describe a straightforward binary string as an example.In Figure 1a, job 1 has an OR node, and job 2 has two OR nodes.Suppose that the binary process plan string has a length equivalent to the number of OR nodes in the IPPS network and that the value of a gene is 0 for the left route and 1 for the right route.In Figure 1a, the right one is selected in OR 1 , and the right and left routes are selected in OR 2 and OR 3 , respectively.Therefore, the process plan string on the right side of Figure 2b becomes 1, 1, and 0. The dummy operations on the unselected routes are determined by the process plan string during scheduling according to decision rules, as shown in Figure 3b.This type of representation has a fixed chromosome length for an IPPS.It enables the conventional genetic operators applicable.However, it requires an independent evolution process for each chromosome and additional computation to determine the dummy operations during scheduling.

Integrated Chromosome Representation
In this paper, we propose a new type of chromosome representation (Figure 2d), namely integrated chromosome representation (ICR).As it includes all the operations of an IPPS network, the length of the chromosome is a constant.Each gene contains all five attributes required for scheduling, as shown in Figure 3a: Job id, operation id, machine id, tool id, and activation.As the remaining attributes can be conveniently inferred from the name, we explain only the activation attribute.It is a Boolean variable that indicates whether the operation should be performed.If it is true (white cell in Figure 2d), the operation is active.Otherwise (gray cell in Figure 2d), it is inactive, i.e., a dummy operation.The structure resembles that of the second type of the permutation of operations-based representation: However, it operates in a completely different manner.The key concept is to use the order of operations as a selection rule for process routes in OR relations, as shown in Figure 3b, rather than a separate process plan string.At the beginning of decoding, all the activation attributes in all the operations are set as true.During the decoding, if the first operation in a subroute under OR relation is located toward the left of one of the complementary subroutes, the subroute is selected as the process plan.Then, all the operations belonging to the complementary subroutes are deactivated.For example, in OR1 of Figure 1a, subroutes  , and  , −  , are in an OR relation.Therefore, the order of  , and  , is important.In the chromosome in Figure 2d,  , is ahead of  , : Therefore, the route  , is selected as the process plan and the operations  , and  , are deactivated as dummy nodes.Similarly, for OR2 of Figure 1a, as the order of  , precedes  , in the chromosome, the activation status of  , ,  , , and  , are maintained as active, and the operations  , ,  , ,  , , and  , in the complementary subroute become dummy nodes.In OR3, all the operations in the subroutes are already inactive: Therefore, the selection procedure is skipped.
Using ICR, the process plan and the schedule plan (in case of the use of semi-active scheduling) can be represented in a chromosome.In the example in Figure 2, the process plan becomes  , −  , −  , −  , −  , for job 1 and  , −  , −  , for job 2. The schedule of each operation is determined from the left to the right sequentially by semi-active scheduling.In addition, ICR requires a chromosome for an individual, and therefore, only an evolution procedure is necessary.It simplifies the structure of GA and consequently results in a shorter computation time.The same chromosome length also facilitates the development of new genetic operators and enables the adoption of conventional operators without modification.To decrease the computation time further, the pair information on the complementary subroutes can be stored in a separate repository in advance and can be retrieved on demand.This is because all the feasible alternative process subroutes in OR relations are determined by process engineers prior to the execution of IPPS.

Integrated Chromosome Representation
In this paper, we propose a new type of chromosome representation (Figure 2d), namely integrated chromosome representation (ICR).As it includes all the operations of an IPPS network, the length of the chromosome is a constant.Each gene contains all five attributes required for scheduling, as shown in Figure 3a: Job id, operation id, machine id, tool id, and activation.As the remaining attributes can be conveniently inferred from the name, we explain only the activation attribute.It is a Boolean variable that indicates whether the operation should be performed.If it is true (white cell in Figure 2d), the operation is active.Otherwise (gray cell in Figure 2d), it is inactive, i.e., a dummy operation.The structure resembles that of the second type of the permutation of operations-based representation: However, it operates in a completely different manner.The key concept is to use the order of operations as a selection rule for process routes in OR relations, as shown in Figure 3b, rather than a separate process plan string.At the beginning of decoding, all the activation attributes in all the operations are set as true.During the decoding, if the first operation in a subroute under OR relation is located toward the left of one of the complementary subroutes, the subroute is selected as the process plan.Then, all the operations belonging to the complementary subroutes are deactivated.For example, in OR 1 of Figure 1a,  Using ICR, the process plan and the schedule plan (in case of the use of semi-active scheduling) can be represented in a chromosome.In the example in Figure 2, the process plan becomes for job 2. The schedule of each operation is determined from the left to the right sequentially by semi-active scheduling.In addition, ICR requires a chromosome for an individual, and therefore, only an evolution procedure is necessary.It simplifies the structure of GA and consequently results in a shorter computation time.The same chromosome length also facilitates the development of new genetic operators and enables the adoption of conventional operators without modification.To decrease the computation time further, the pair information on the complementary subroutes can be stored in a separate repository in advance and can be retrieved on demand.This is because all the feasible alternative process subroutes in OR relations are determined by process engineers prior to the execution of IPPS.

Decoding Methods
The ICR directly describes process plans: However, the final schedule must be decoded from the chromosome by a scheduling algorithm.It is well known that the optimal schedule is an active schedule in JSP and, consequently, IPPS and IPPST.The most popular active scheduling algorithms are Giffler-Thompson [15] and the hybrid scheduling algorithm [3,21], as shown in Figure 4.
Those active scheduling algorithms generally provide significantly more effective solutions than those by a straightforward semi-active scheduling, as shown in Figure 5.However, from the perspective of computational efficiency, they are not always superior, particularly in GAs for IPPST.Active scheduling includes numerous search procedures, as shown in Figure 4. Therefore, it consumes substantial computation time compared to semi-active scheduling.If the number of candidate operations for the next operation is large, such as in IPPST, the computation time increases rapidly.

Decoding Methods
The ICR directly describes process plans: However, the final schedule must be decoded from the chromosome by a scheduling algorithm.It is well known that the optimal schedule is an active schedule in JSP and, consequently, IPPS and IPPST.The most popular active scheduling algorithms are Giffler-Thompson [15] and the hybrid scheduling algorithm [3,21], as shown in Figure 4.
Those active scheduling algorithms generally provide significantly more effective solutions than those by a straightforward semi-active scheduling, as shown in Figure 5.However, from the perspective of computational efficiency, they are not always superior, particularly in GAs for IPPST.Active scheduling includes numerous search procedures, as shown in Figure 4. Therefore, it consumes substantial computation time compared to semi-active scheduling.If the number of candidate operations for the next operation is large, such as in IPPST, the computation time increases rapidly.More importantly, active (or hybrid) scheduling does not utilize the information on a sequence of operations.As shown by the procedure in Figure 4, active scheduling completely disassembles the sequence of operations and reassigns it to the schedule according to precedence relation and the assignment rules.It implies that the inheritance characteristic of GA diminishes in active scheduling, as Shi [22] has indicated.For example, consider two chromosomes that are composed of the same operations and only whose sequences are different.Then, active scheduling generates almost identical schedules for both the chromosomes.A crossover operation of the two individuals is also ineffective because it only changes the sequence of operations.This reduces diversification and degrades the performance of the GA.However, semi-active scheduling can improve the quality of solution by a crossover operation if it is effective because it inherits an important partial sequence.

Hybrid (Active) Scheduling Procedure for IPPST:
Construct a set  = { , |∀, }; Let  , = ,  , = 0, and  , = 0 ∀ , ∈ ; Let  = 0 ∀; More importantly, active (or hybrid) scheduling does not utilize the information on a sequence of operations.As shown by the procedure in Figure 4, active scheduling completely disassembles the sequence of operations and reassigns it to the schedule according to precedence relation and the assignment rules.It implies that the inheritance characteristic of GA diminishes in active scheduling, as Shi [22] has indicated.For example, consider two chromosomes that are composed of the same operations and only whose sequences are different.Then, active scheduling generates almost identical schedules for both the chromosomes.A crossover operation of the two individuals is also ineffective because it only changes the sequence of operations.This reduces diversification and degrades the performance of the GA.However, semi-active scheduling can improve the quality of solution by a crossover operation if it is effective because it inherits an important partial sequence.To summarize, in the GA that utilizes active scheduling as a decoder, the optimization of the process plan is performed by the GA, and the optimization of the schedule is performed by the active scheduling.However, in a GA using semi-active scheduling as a decoder, the optimization of both the process plan and schedule is managed by the GA, and semi-active scheduling serves only as a pure decoder.For these reasons, in the main procedure of the proposed GA, we adopted semi-active scheduling to increase computational efficiency.To summarize, in the GA that utilizes active scheduling as a decoder, the optimization of the process plan is performed by the GA, and the optimization of the schedule is performed by the active scheduling.However, in a GA using semi-active scheduling as a decoder, the optimization of both the process plan and schedule is managed by the GA, and semi-active scheduling serves only as a pure decoder.For these reasons, in the main procedure of the proposed GA, we adopted semi-active scheduling to increase computational efficiency.
Figure 5. Pseudocode of the semi-active scheduling procedure for IPPS.

Fitness Function
The most popular objective function is a makespan, so we employed the inverse of makespan as a fitness function.In IPPST, however, the penalties on constraints on tool magazine capacity and tool capacity should be considered.In this study, we adopted the fitness function of Kim et al. [3] with a marginal modification, which adds penalties to the violation of the constraints.Fitness is calculated by Equation ( 1): Here, () is the tool capacity penalty, indicating the excess amount of tool  over the tool capacity, and () is the tool magazine capacity penalty, indicating the number of overused slots relative to the tool magazine capacity of machine .If both the penalties do not exceed the capacities, they are zeros.In addition,  ,  , , and  are the parameters that determine the magnitude and the degree of the penalties.Several preliminary tests revealed that the fitness function of Kim et al. [3] derived infeasible solutions for large-sized problems.Thus, we modified it as Equation ( 1) by multiplying two on () and () in the original one.The coefficients ( ,  , , ) were also changed from (10, 10, 0.5, 0.5) to (200, 200, 2, 2) for the same purpose.

Fitness Function
The most popular objective function is a makespan, so we employed the inverse of makespan as a fitness function.In IPPST, however, the penalties on constraints on tool magazine capacity and tool capacity should be considered.In this study, we adopted the fitness function of Kim et al. [3] with a marginal modification, which adds penalties to the violation of the constraints.Fitness is calculated by Equation ( 1): Here, TP(t) is the tool capacity penalty, indicating the excess amount of tool t over the tool capacity, and MP(m) is the tool magazine capacity penalty, indicating the number of overused slots relative to the tool magazine capacity of machine m.If both the penalties do not exceed the capacities, they are zeros.In addition, c 1 , c 2 , α, and β are the parameters that determine the magnitude and the degree of the penalties.Several preliminary tests revealed that the fitness function of Kim et al. [3] derived infeasible solutions for large-sized problems.Thus, we modified it as Equation (1) by multiplying two on TP(t) and MP(m) in the original one.The coefficients (c 1 , c 2 , α, β) were also changed from (10, 10, 0.5, 0.5) to (200, 200, 2, 2) for the same purpose.

Overall GA Procedure
The proposed GA follows the typical GA procedure, as shown in Figure 6.In the beginning, a certain number of precedence-preserved individuals are generated as an initial population by using the hybrid scheduling in Figure 4.At the end of each generation, fitness evaluation for all individuals is performed.Reproduction follows the conventional selection-crossover-mutation procedures.The proposed GA uses binary tournament selection for reproduction to increase diversification, wherein a superior individual is selected if a random number is less than or equal to p TS , and an inferior individual is selected if the number is larger than p TS .In crossover, the precedence-preservative crossover (PPX) is executed for the selected parents with a probability of p CX .The generated offspring is applied with a location change mutation (LCM) with a probability of p LCM .It moves the locus of a randomly selected operation while satisfying precedence relations.Then, the offspring is applied with a machine-tool change mutation (MTCM) with a probability of p MTCM .In the procedure, the machine and tool of randomly selected operations with p MTL are replaced by a machine and tool inducing a minimal processing time.The next generation is constructed as follows: 50% of individuals with good solutions in the population survive, and the rest are replaced by superior solutions in the offspring.A termination condition is a number of generations.Detailed procedures will be described in the following subsections.

Overall GA Procedure
The proposed GA follows the typical GA procedure, as shown in Figure 6.In the beginning, a certain number of precedence-preserved individuals are generated as an initial population by using the hybrid scheduling in Figure 4.At the end of each generation, fitness evaluation for all individuals is performed.Reproduction follows the conventional selection-crossover-mutation procedures.The proposed GA uses binary tournament selection for reproduction to increase diversification, wherein a superior individual is selected if a random number is less than or equal to  , and an inferior individual is selected if the number is larger than  .In crossover, the precedence-preservative crossover (PPX) is executed for the selected parents with a probability of  .The generated offspring is applied with a location change mutation (LCM) with a probability of  .It moves the locus of a randomly selected operation while satisfying precedence relations.Then, the offspring is applied with a machine-tool change mutation (MTCM) with a probability of  .In the procedure, the machine and tool of randomly selected operations with  are replaced by a machine and tool inducing a minimal processing time.The next generation is constructed as follows: 50% of individuals with good solutions in the population survive, and the rest are replaced by superior solutions in the offspring.A termination condition is a number of generations.Detailed procedures will be described in the following subsections.

Generation of Initial Population
The initial population affects the quality of the solution.Although the proposed GA uses a semiactive scheduling as a main decoder, the hybrid scheduling in Figure 4 is adopted for generating the initial population to obtain more effective initial solutions, as shown in Figure 7.

Generation of Initial Population
The initial population affects the quality of the solution.Although the proposed GA uses a semi-active scheduling as a main decoder, the hybrid scheduling in Figure 4 is adopted for generating the initial population to obtain more effective initial solutions, as shown in Figure 7.

Crossover Operation
Because the proposed GA uses semi-active scheduling as a decoder, the precedence relationship among the operations in the chromosome must be retained always.Hence, we adopted the PPX of Bierwirth and Mattfeld [21] for a crossover.Although the procedure of PPX is popular, we describe it via the example of Figure 8.If a random number is larger than  , a string composed of one or two is generated arbitrarily with an identical length to the individual chromosome.Starting from the first element, if the value is one, the first operation of P1 (P2 if two) is copied to the leftmost empty gene of the offspring (O), and the operation with identical job and operation ids is deleted from the parents (P1 and P2).This process is repeated until all the operations are assigned to the offspring.

Mutation Operation
Mutation is an important genetic operator to enhance diversification of GA.The typical mutation operation is to change the locus of a selected gene.Thus, we employed an LCM (location change mutation), as shown in Figure 9a.First, an operation ( , , , black-arrowed gene) is randomly selected, and the loci are changed arbitrarily to the first locus.At this time, to retain the precedence relationship, the permissible range of loci (within white arrows) is restricted between the predecessor ( , or nothing) and successors ( , , and  , , ) of the operation  , , .If the ICR is adopted, LCM can change the selected process route as well as the sequence of operations.Note that the dummy operations are also changed in Figure 9a.

Crossover Operation
Because the proposed GA uses semi-active scheduling as a decoder, the precedence relationship among the operations in the chromosome must be retained always.Hence, we adopted the PPX of Bierwirth and Mattfeld [21] for a crossover.Although the procedure of PPX is popular, we describe it via the example of Figure 8.If a random number is larger than p CX , a string composed of one or two is generated arbitrarily with an identical length to the individual chromosome.Starting from the first element, if the value is one, the first operation of P1 (P2 if two) is copied to the leftmost empty gene of the offspring (O), and the operation with identical job and operation ids is deleted from the parents (P1 and P2).This process is repeated until all the operations are assigned to the offspring.

Crossover Operation
Because the proposed GA uses semi-active scheduling as a decoder, the precedence relationship among the operations in the chromosome must be retained always.Hence, we adopted the PPX of Bierwirth and Mattfeld [21] for a crossover.Although the procedure of PPX is popular, we describe it via the example of Figure 8.If a random number is larger than  , a string composed of one or two is generated arbitrarily with an identical length to the individual chromosome.Starting from the first element, if the value is one, the first operation of P1 (P2 if two) is copied to the leftmost empty gene of the offspring (O), and the operation with identical job and operation ids is deleted from the parents (P1 and P2).This process is repeated until all the operations are assigned to the offspring.

Mutation Operation
Mutation is an important genetic operator to enhance diversification of GA.The typical mutation operation is to change the locus of a selected gene.Thus, we employed an LCM (location change mutation), as shown in Figure 9a.First, an operation ( , , , black-arrowed gene) is randomly selected, and the loci are changed arbitrarily to the first locus.At this time, to retain the precedence relationship, the permissible range of loci (within white arrows) is restricted between the predecessor ( , or nothing) and successors ( , , and  , , ) of the operation  , , .If the ICR is adopted, LCM can change the selected process route as well as the sequence of operations.Note that the dummy operations are also changed in Figure 9a.

Mutation Operation
Mutation is an important genetic operator to enhance diversification of GA.The typical mutation operation is to change the locus of a selected gene.Thus, we employed an LCM (location change mutation), as shown in Figure 9a.First, an operation (o 3,1 2,1 , black-arrowed gene) is randomly selected, and the loci are changed arbitrarily to the first locus.At this time, to retain the precedence relationship, the permissible range of loci (within white arrows) is restricted between the predecessor (o 2,0 or nothing) and successors (o 3,7 2,2 and o 1,5 2,3 ) of the operation o 3,1 2,1 .If the ICR is adopted, LCM can change the selected process route as well as the sequence of operations.Note that the dummy operations are also changed in Figure 9a.Though LCM increases intensification of GA well, our preliminary experiments revealed that the improvement of solution quality was unsatisfiable due to the large solution space of IPPST.Therefore, we adopted another mutation operator, namely, MTCM (machine-tool change mutation).It increases the intensification capability of GA and therefore helps to improve solution quality even with a reasonable size of population.The fundamental concept of MTCM is to change the machine and tool of an operation into the combination that induces the minimal processing time.The detailed procedure is illustrated in the example of Figure 9b.First, a random binary string of the length of the chromosome is generated, in which the number of ones is the largest integer less than or equal to  times the chromosome length.Then, at each gene, if the value is one, the machine and the tool are reassigned as the machine and tool set of the minimal processing time: Otherwise, the existing assignments are retained.For instance, the minimal processing time 9 of  , is derived from machine 3 and tool 2, as shown in Figure 1b.Thus,  , , is changed into  , , in Figure 9b.
The factors that significantly influence the schedule in IPPST are the sequence of operations, the selected process route in OR relations, and the machine and tool to be processed.LCM changes the sequence of operations and the selected process route.On the other hand, MTCM changes the machine and tool.Machine change can be effective in reducing the idling time between operations because it changes the starting time of the operation and distributes the resources.Particularly, a change in the early period affects all the subsequent schedules.Tool change only changes the processing time of the operation.However, changes in machine and tool influence the feasibility of the solution due to the constraints.

Benchmark Problems and Experimental Environment
For the performance evaluation of the proposed GA, the set of problems of Kim et al. [3] was selected as a benchmark.The problems are well defined and also have the advantage of being convenient to compare to available results.In fact, most IPPS studies that do not consider tool flexibility and tool-related constraints use Kim et al.'s [3] problem set as a benchmark.As shown in Table 1, the total number of benchmark problems is 31, and each problem consists of a subset of 18 jobs (parts), as shown in Table 2.Each job consists of 12-22 operations (#ops) with precedence relations, and the number of OR nodes (#ORs) is 1-4.The number of operations (#ops) for each problem varies from 76 to 310.Though LCM increases intensification of GA well, our preliminary experiments revealed that the improvement of solution quality was unsatisfiable due to the large solution space of IPPST.Therefore, we adopted another mutation operator, namely, MTCM (machine-tool change mutation).It increases the intensification capability of GA and therefore helps to improve solution quality even with a reasonable size of population.The fundamental concept of MTCM is to change the machine and tool of an operation into the combination that induces the minimal processing time.The detailed procedure is illustrated in the example of Figure 9b.First, a random binary string of the length of the chromosome is generated, in which the number of ones is the largest integer less than or equal to p MTL times the chromosome length.Then, at each gene, if the value is one, the machine and the tool are reassigned as the machine and tool set of the minimal processing time: Otherwise, the existing assignments are retained.For instance, the minimal processing time 9 of o 2,6 is derived from machine 3 and tool 2, as shown in Figure 1b.Thus, o 2,1 2,6 is changed into o 3,2 2,6 in Figure 9b.The factors that significantly influence the schedule in IPPST are the sequence of operations, the selected process route in OR relations, and the machine and tool to be processed.LCM changes the sequence of operations and the selected process route.On the other hand, MTCM changes the machine and tool.Machine change can be effective in reducing the idling time between operations because it changes the starting time of the operation and distributes the resources.Particularly, a change in the early period affects all the subsequent schedules.Tool change only changes the processing time of the operation.However, changes in machine and tool influence the feasibility of the solution due to the constraints.

Benchmark Problems and Experimental Environment
For the performance evaluation of the proposed GA, the set of problems of Kim et al. [3] was selected as a benchmark.The problems are well defined and also have the advantage of being convenient to compare to available results.In fact, most IPPS studies that do not consider tool flexibility and tool-related constraints use Kim et al.'s [3] problem set as a benchmark.As shown in Table 1, the total number of benchmark problems is 31, and each problem consists of a subset of 18 jobs (parts), as shown in Table 2.Each job consists of 12-22 operations (#ops) with precedence relations, and the number of OR nodes (#ORs) is 1-4.The number of operations (#ops) for each problem varies from 76 to 310.The facility has machine magazine capacity and tool capacity, as mentioned in Section 2. There are in total 10 machining centers, and each machine operates a magazine with 26-38 tool slots, as shown in Table 3.There are 20 types of tools, each of which exhibits a certain quantity: The number of slots required in the magazine varies according to each tool.The proposed GA was implemented using Julia language version 1.0, which is a recently introduced programming language based on a low-level virtual machine (LLVM) just-in-time (JIT) complier.The experiment was performed on an Intel ® Core™ i7-6700U CPU@3.4GHz with 16 GB memory.The computation time was measured by CPU time in seconds.

Determination of Operating Parameters
A preliminary test was performed to determine the parameters p CX , p LCM , p MTCM , p TS , and p MTL .Two or three levels were assigned to each parameter.The experimental conditions were as follows: The selected problems were P1, P13, P21, P29, and P31; the number of repetitions was 10 for each treatment; the population size was 50; and the number of generations was 1000.Table 4 shows the experimental results of the average makespan (C max ) and the sum of the average computation time (Σt comp ) according to the level of parameters for the five selected problems, where the last column of C max is the rank of the sum of C max (ΣC max ) in ascending order.Figure 10ab shows the boxplots of ΣC max and Σt comp depending on the level of the five parameters.In Figure 10, p CX only affected computation time critically, while the remaining parameters affected both makespan and computation time.To confirm the effects of each parameter, a Kruskal-Wallis test was performed on ΣC max and Σt comp , and the results are summarized in Table 5.All interaction effects were pooled because they were not statistically significant at a significance level of 0.05.In the table, parameters affecting makespan were p LCM , p MTCM , and p MTL , and only p CX was statistically significant at computation time.Preferentially, p LCM , p MTCM , and p MTL were selected as 0.2, 0.2, and 0.1, respectively, and were statistically significant and yielded less makespan.Although p CX was statistically significant at computation time, the temporal differences between parameter values were negligible.Therefore, p CX and p TS were determined to be 0.7 and 0.6, respectively, which showed the best rank.The final determined values of the parameters are shown in bold in Table 4 In Figure 10,  only affected computation time critically, while the remaining parameters affected both makespan and computation time.To confirm the effects of each parameter, a Kruskal-Wallis test was performed on Σ and Σ , and the results are summarized in Table 5.All interaction effects were pooled because they were not statistically significant at a significance level of 0.05.In the table, parameters affecting makespan were  ,  , and  , and only  was statistically significant at computation time.Preferentially,  ,  , and  were selected as 0.2, 0.2, and 0.1, respectively, and were statistically significant and yielded less makespan.Although  was statistically significant at computation time, the temporal differences between parameter values were negligible.Therefore,  and  were determined to be 0.7 and 0.6, respectively, which showed the best rank.The final determined values of the parameters are shown in bold in Table 4.

Performance Comparison to Previous Metaheuristics
The performance of the proposed GA was compared to that of four other metaheuristics: asymmetric multileveled symbiotic evolutionary algorithm (AMSEA) proposed by Kim et al. [3], modified PSO (mPSO) by Miljković and Petrović [23], feasible sequence discrete PSO (FSDPSO) by Dou et al. [24], and enhanced ACO (E-ACO) by Zhang and Wong [25].Besides AMSEA, all other metaheuristics were proposed in the last two years.AMSEA is a multilevel evolutionary algorithm.It divides an IPPS into four layered hierarchical subproblems: An integrated layer, a process planning layer, a part layer, and a resource layer.Each subproblem is optimized through its own evolutionary

Performance Comparison to Previous Metaheuristics
The performance of the proposed GA was compared to that of four other metaheuristics: asymmetric multileveled symbiotic evolutionary algorithm (AMSEA) proposed by Kim et al. [3], modified PSO (mPSO) by Miljković and Petrović [23], feasible sequence discrete PSO (FSDPSO) by Dou et al. [24], and enhanced ACO (E-ACO) by Zhang and Wong [25].Besides AMSEA, all other metaheuristics were proposed in the last two years.AMSEA is a multilevel evolutionary algorithm.It divides an IPPS into four layered hierarchical subproblems: An integrated layer, a process planning layer, a part layer, and a resource layer.Each subproblem is optimized through its own evolutionary process.The metaheuristic mPSO has a conventional PSO procedure but adopts GA operators such as crossover and mutation to increase diversification.FSDPSO follows conventional continuous PSO conceptually, but it adopts genetic operations in all updating procedures of particles to address the discrete IPPS.E-ACO applies pheromone trails to both nodes and edges to overcome the various flexibilities of IPPS.In addition, various methods such as elitist strategy and MAX-MIN strategy are applied to improve solution quality.
Since AMSEA applied the same benchmark problems as ours, we reused the experimental results presented in the paper [3].On the other hand, the results of the other metaheuristics were not available because the benchmark problems, objective function, consideration of the tool flexibility, and tool-related capacity constraints were different from ours.Therefore, other metaheuristics were newly coded and evaluated in the same computing environment as the proposed GA.At that time, we slightly modified them to solve our benchmark problems.The operating parameters of the methods were applied as the values suggested in the papers.Table 6 shows the parameter values, where the names of the parameters are the same as those given in the papers.

Method
Parameter Table 7 summarizes the experimental results on the best makespan (C * max ), the average makespan (C max ), the average computation time in CPU seconds (t comp ), and the number of infeasible solutions (n in f ) for 31 benchmark problems.The results of all metaheuristics were obtained by performing 30 repeated experiments for each problem.The experimental conditions of all methods were fixed at a population size of 50 and a number of generations of 2000.The results of the infeasible solutions were excluded from all calculations.
FSDPSO was superior to other existing metaheuristics (AMSEA, mPSO, and E-ACO) in both solution quality (C * max and C max ) and computation time (marked in bold italic text in Table 7).In Table 7, t comp and n in f of AMSEA are omitted because the results are not presented in the paper.However, the computation time of AMSEA was assumed to be long due to the complicated procedure of AMSEA.Here, mPSO had the worst solution quality among them.This was because PSO is a metaheuristic suitable for solving the continuous domain problem, whereas IPPST is a highly discrete combinatorial problem.On the other hand, FSDPSO, which is an improved PSO used to solve a discrete problem, showed very good performance in IPPST.E-ACO provided better solution quality than mPSO, but the solution quality was significantly worse than AMSEA or FSDPSO, and the calculation time was even longer than the others.In E-ACO, every ant agent searched for a new path every iteration.However, due to the high complexity of IPPST, it consumed a lot of computing resources to explore the path.It is noteworthy that E-ACO frequently produced infeasible solutions in large-sized problems (P29, P30, P31).In E-ACO, an ant agent constructed a path successively.Thus, if the incumbent solution broke the tool-related constraints once while constructing a path, it could not be reentered into the feasible region.To solve this problem, colony size and number of generations must be increased, which leads to long computation times.
In all the problems, the proposed GA outperformed all other metaheuristics (marked in bold text and gray cells in Table 7) in terms of solution quality and computation time.In Table 7, the improved rate [%] was calculated as 100 (result of FSDPSO − result of Proposed GA)/result of FSDPSO.Compared to C * max by FSDPSO, that by the proposed GA was improved by 0.0-27.6%(an average of 14.5%).The proposed GA improved C max by 1.9-31.0%(an average of 17.1%) compared to that by FSDPSO.Moreover, the zero n in f for all the problems indicated that all the solutions obtained were feasible.Another notable point is that the computation time of the proposed GA was about 60% of that of FSDPSO.Figure 11 shows the comparison bar charts of C max and t comp of various methodologies for the five selected problems (P1, P11, P21, P29, and P31).In the figure, regardless of the size of the problem, the proposed GA was superior to other metaheuristics in both solution quality and computation time.FSDPSO had the second-best performance.On the other hand, mPSO had poor solution quality, and E-ACO had weakness in computation time.A Gantt chart is a useful tool to easily identify the process plan and the schedule of operations, the final solution of IPPST.Figures 12 and 13 show the Gantt charts of the pseudo-optimal solutions by the proposed GA for P1 and P31, respectively.At the head of the figures, the problem id, the type of metaheuristic, the size of population, the number of generations, the parameter values, the makespan of the solution, the tool remaining at present for each tool type (Tool Remaining), the number of tool slots available at present for each machine (Slot Remaining), and the computation time (Comp Time) are displayed.In both figures, the solutions were feasible because all the values were higher than or equal to zero in Tool Remaining and Slot Remaining.Each colored box represents the schedule (the starting time and the completion time) of each operation, and the internal numbers of each box represent the assigned process plan, that is, the job id, operation id, machine id, tool id, and processing time.makespan of the solution, the tool remaining at present for each tool type (Tool Remaining), the number of tool slots available at present for each machine (Slot Remaining), and the computation time (Comp Time) are displayed.In both figures, the solutions were feasible because all the values were higher than or equal to zero in Tool Remaining and Slot Remaining.Each colored box represents the schedule (the starting time and the completion time) of each operation, and the internal numbers of each box represent the assigned process plan, that is, the job id, operation id, machine id, tool id, and processing time.
In Figure 12, the schedule for P1, which was a small-sized problem, had many machine idling times (areas without operation boxes, for example, 0-40 sections of M10 in Figure 12).These were generated by the precedence relations between operations and machine availability.To reduce makespan and increase utilization of machines, these idling times should be reduced as much as possible.However, small-sized problems have a limited number of available operations, so reducing the idling times was limited.On the other hand, as shown in Figure 13, large-sized problems such as P31 can be more efficiently scheduled because there are a lot of available operations, so that the number and size of machine idling times are small.Nevertheless, if the makespan is the same, it is recommended that machine idling times be increased to save energy and increase machine and tool lifetime.

Discussion
In manufacturing, sustainability has been mainly addressed at strategic levels such as supply chain design, layout design, cleaner product and production mean design, construction, and recycling processes [26].However, Giret et.al. [26] have argued that approaches in operational levels In Figure 12, the schedule for P1, which was a small-sized problem, had many machine idling times (areas without operation boxes, for example, 0-40 sections of M10 in Figure 12).These were generated by the precedence relations between operations and machine availability.To reduce makespan and increase utilization of machines, these idling times should be reduced as much as possible.However, small-sized problems have a limited number of available operations, so reducing the idling times was limited.On the other hand, as shown in Figure 13, large-sized problems such as P31 can be more efficiently scheduled because there are a lot of available operations, so that the number and size of machine idling times are small.Nevertheless, if the makespan is the same, it is recommended that machine idling times be increased to save energy and increase machine and tool lifetime.

Discussion
In manufacturing, sustainability has been mainly addressed at strategic levels such as supply chain design, layout design, cleaner product and production mean design, construction, and recycling processes [26].However, Giret et al. [26] have argued that approaches in operational levels are needed for practical sustainable manufacturing, and they have pointed out that optimization of scheduling can enhance energy efficiency and manageability of oversized capacity.IPPS, which considers process planning and scheduling at the same time, is more practical and useful than scheduling in terms of sustainability because it can eliminate schedule conflicts, reduce process flow time and work-in-process inventory, increase utilization rate, and enhance responsiveness to uncertainties.The limitation of this study was that it did not address the multi-objective problem.Even though makespan is a representative objective variable that potentially contains many factors in IPPS, multi-objective optimization enables detailed control over various sustainable factors such as energy, cost, and greenhouse gas emissions.
Tool flexibility and tool-related constraints are important considerations that determine cost, flexibility, and feasibility, as well as energy consumption.Since the energy efficiency of machine tools is very low [27], efficient operation using scheduling is essential [26].According to Petrović et al. [8], only four studies [11,[28][29][30] in IPPS-related research from 1999 to 2015 considered tool flexibility.Moreover, tool-related constraints such as tool capacity and tool magazine capacity have so far been considered only by Kim et al. [3].These constraints affect solution quality and resource saving.As shown in the n in f column in Table 7, if the capacities are tight or the size of the problem is large, an infeasible solution is obtained.In addition, even if the solution is feasible, the solution quality is poor because convergence is not sufficient.To pursue sustainable manufacturing at operation levels, additional factors such as sequence-dependent setups, facility maintenance, workpiece loading and unloading, etc., must be considered [31,32].Since these are generally regarded as constraints, the optimization algorithm must derive a feasible solution under various constraints.Existing algorithms for IPPS do not include constraints other than precedence relations between operations, so performance verification for it is insufficient.On the other hand, the proposed GA efficiently provides a feasible solution even under tool-related constraints, as shown in the experimental results in Table 7.
In the meantime, many optimization methods for IPPS have been proposed.According to Ausaf et al. [33] and Petrović et al. [8], GAs or evolutionary algorithms [3,11,19,[34][35][36], ACOs [4,28,37], PSOs [8,11,23,24], and hybrid metaheuristics [8,38] have been most widely used for IPPS optimization.However, they have constructed complex procedures, combined various algorithms, or added specific subprocedures to address the various flexibilities of IPPS and to improve the solution quality of the complex problem.Nevertheless, as shown in the experimental results, the existing metaheuristics do not show remarkable performance.Rather, these approaches, which increase the complexity of the algorithms, result in an increase in computation time without improving the solution quality.On the other hand, even though the GA proposed in this paper follows the conventional simple GA framework, it showed the best performance in terms of both the solution quality and the computation time.This was possible because the proposed integrated chromosome representation could handle the various flexibilities of the IPPS despite the single string structure.

Figure 1 .
Figure 1.Network representation of an example of IPPST: (a) Network representation example for two jobs; (b) Machine and tool flexibilities of an operation.

Figure 1 .
Figure 1.Network representation of an example of IPPST: (a) Network representation example for two jobs; (b) Machine and tool flexibilities of an operation.

Figure 2 .
Figure 2. Comparison of operation-based chromosome representations: (a) Typical operation-based representation; (b) Typical permutation of operations-based representation for only active operations; (c) Typical permutation of operations-based representation with additional process route string; (d) Proposed integrated chromosome representation with activation indicator.

Figure 3 .
Figure 3. Supporting information for the chromosome representations: (a) Attributes of an operation; (b) Decision rules for the dummy operations in OR relations.

Figure 3 .
Figure 3. Supporting information for the chromosome representations: (a) Attributes of an operation; (b) Decision rules for the dummy operations in OR relations.
subroutes o 1,4 and o 1,2 − o 1,3 are in an OR relation.Therefore, the order of o 1,4 and o 1,2 is important.In the chromosome in Figure 2d, o 1,4 is ahead of o 1,2 : Therefore, the route o 1,4 is selected as the process plan and the operations o 1,2 and o 1,3 are deactivated as dummy nodes.Similarly, for OR 2 of Figure 1a, as the order of o 2,5 precedes o 2,1 in the chromosome, the activation status of o 2,5 , o 2,6 , and o 2,7 are maintained as active, and the operations o 2,1 , o 2,2 , o 2,3 , and o 2,4 in the complementary subroute become dummy nodes.In OR 3 , all the operations in the subroutes are already inactive: Therefore, the selection procedure is skipped.

Figure 4 .
Figure 4. Pseudocode of the hybrid scheduling procedure for integrated process planning and scheduling (IPPS).

Figure 5 .
Figure 5. Pseudocode of the semi-active scheduling procedure for IPPS.

Figure 7 .
Figure 7. Pseudocode of the initial population generation procedure.

Figure 7 .
Figure 7. Pseudocode of the initial population generation procedure.

Sustainability 2019 , 25 Figure 11 .
Figure 11.Bar graphs of   and   depending on metaheuristics for the selected problems.

Figure 11 .
Figure 11.Bar graphs of C max and t comp depending on metaheuristics for the selected problems.

Figure 12 .
Figure 12.Gantt chart of the pseudo-optimal solution for P1 by the proposed GA.

Figure 12 . 25 Figure 13 .
Figure 12.Gantt chart of the pseudo-optimal solution for P1 by the proposed GA.Sustainability 2019, 11, x FOR PEER REVIEW 22 of 25

Figure 13 .
Figure 13.Gantt chart of the pseudo-optimal solution for P31 by the proposed GA.
are introduced, and the experimental results of the proposed GA are compared to those of recently proposed metaheuristics for IPPS.Sections 6 and 7 provide a discussion of the results of this study and a conclusion and future research directions, respectively.
Notations: S: set of operations that are not assigned A: set of operations that are already assigned V: set of operations that are available for assignment i: job id j: operation id o i,j : jth operation of ith job o m,t i,j : jth operation of ith job with assigned machine m and tool t ← o l,J : predecessors of o i,j → o l,J : successors of o i,j m i,j : assigned machine id for o i,j t i,j : assigned tool id for o i,j pt i,j : processing time of o i,j act i,j : activation attribute of o i,j S\ o i,j : delete o i,j from S S ← o i,j : insert o i,j into S o i,j ← S : pop left-most operation o i,j from S λ i,j : earliest starting time of o i,j τ i,j : earliest completion time of o i,j δ m : earliest starting time of machine m θ: decision parameter used in hybrid scheduling p CX : probability of crossover p TS : probability of superior selection in tournament selection p LCM : probability of location change mutation p MTCM : probability of machine-tool change mutation p MTL : probability of machine-tool change in each gene Procedure:

Table 2 .
Job description of the benchmark problem for IPPST.

Table 3 .
Magazine capacity and tool capacity of the benchmark problems.

Table 4 .
Average makespan according to operating parameters for the five selected problems. .

Table 5 .
Kruskal-Wallis test results for   and   .

Table 5 .
Kruskal-Wallis test results for ΣC max and Σt comp .

Table 7 .
Comparison of performance for benchmark problems.