Modeling and Evolutionary Optimization on Multilevel Production Scheduling: A Case Study

Multilevel production scheduling problem is a typical combinatorial optimization problem in a manufacturing system, which is traditionally modeled as several hierarchical sublevel problems and optimized at each level, respectively. An integrated model, which can cope with the whole multilevel scheduling information simultaneously, is proposed in this paper, and a specific evolutionary algorithm is designed to solve the integrated model with a twin-screw coding strategy. In order to evaluate the performance of the new algorithm, a real 3-level production scheduling problem is employed for case study, and two typical metaheuristic algorithms, a genetic algorithm (GA) and a simulated annealing (SA), are also employed for comparison study. Experimental simulation results show that our proposed modeling and optimization method has outperformed the other ones.


Introduction
Multi-level production scheduling problem is a typical combinatorial optimization problem in manufacturing system, which is traditionally modeled as several hierarchical sublevel problems, and solved by single-level scheduling methods level by level [1][2][3][4].As we know, the trends of manufacturing system development are increasing the competitivity of the company, promoting the customers' service level, integrating the global manufacturing information, and processing flexible task flows in a more efficient way [5,6].In order to cope with these trends, researchers need to optimize plant operations and total activities from suppliers to customers and help manufacturers to find their ways in global optimization and support the needs of manufacturing at the same time.Along with all these scenarios, problem modeling and its optimization techniques play important roles in achieving these goals [7][8][9][10].
Generally speaking, multi-level production scheduling problem (MLPS) is one kind of hierarchical production planning problem, which considers a set of jobs on given machines with predefined sequence, while discarding to cope with a lot size problem [11][12][13].Jobs in an MLPS problem belong to different product levels, and the higher level product cannot begin its process operation until all its subproducts in the lower level are finished.The general way to solve an MLPS problem is decomposing the entire problem into several sublevel problems according to its product level structure and optimize these subproblems within each level [14].The product level structure of a typical MLPS problem can be illustrated as in Figure 1, in which job 1 belongs to level 1; jobs 2, 3 belong to level 2; jobs 4, 5, 6, 7, 8 belong to level 3. Besides, the process operation precedence between adjacent levels is as follows: job 2 (level 2) cannot begin its process operation, until all its sub-jobs 4, 5 (level 3) are finished; job 1 (level 1) cannot begin its process operation, until all its subjobs 2, 3 (level 2) are finished.

Related Works
During the past decades, some researches have tried their efforts to demonstrate that a hierarchical production planning technique is the most efficient way in solving a multistage, multilevel production planning problem [15][16][17], while other researchers believed in that a monolithic/integrated method is better than a hierarchical one.
These researchers proposed many integrated multi-level production planning models for various problems and obtained some exciting conclusions.But most of them are focused on coping a scheduling problem with a lot sizing problem simultaneously; few attention is taken on the MLPS described as in Figure 1.The reason may lied in the fact that a batch production module plays a major role in most manufacturing companies during the past decades, but a small batch, multiclass production module becomes more and more popular in current factories, especially in some high technological industries.This leads researchers to find more efficient models and optimization techniques to solve the MLPS in recent years [18][19][20].
Since the occurrence of modern heuristic optimization algorithms, like evolutionary algorithm (EA), simulated annealing (SA), coevolutionary algorithm (COEA), ant colony (AC), and particle swarm optimization (PSO), and so forth, solving a large scale MLPS with an integrated model becomes possible within an acceptable computational cost.More and more attentions are attracted to solve this NP complete (or NP-Hard) problem with an integrated model, and various problem-dependent heuristic algorithms are proposed to enhance the efficiency of the algorithms, among which evolutionary algorithm is the most attractive/preferred one [21][22][23].
Usually, an evolutionary algorithm is designed to solve a single-level scheduling problem, and an MLPS integrated model can be solved with a hierarchical looped EA, in which precedence prerequisite information can be satisfied with transferring the ready time and release time between adjacent levels.The result is greatly improved by contrast to a hierarchical technique.But the computational cost with this scheme may grow rapidly as the problem scale is increasing.Besides, the optimality of the final result is doubted by many classical optimization mathematicians.This leads researchers turning to new gene expression and evolving strategies to overcome those drawbacks.
In the following sections, Section 3 builds up a general integrate 3-level production scheduling optimization model.Section 4 proposes a twin-screw-coded hybrid evolutionary algorithm to solve the integrated model.Section 5 employs a real 3-level production scheduling case study to evaluate the performance of the proposed modeling and optimization technique, and Section 6 gives the conclusion of this study and highlights some perspectives for future study.

Mathematical Integrated Model for a Typical Three-level Production Scheduling Problem
In general, a multi-level production scheduling problem (Figure 1) can be described as follows: a final product consists of several (n) assemblies, each assembly consists of some (n (i j) (i = 1, 2, . . ., n)) subassemblies, and each subassembly consists of several (n (i j) (i = 1, 2, . . ., n; j = 1, 2, . . ., n (i j) )) parts, . . . .All the jobs, including assemblies, subassemblies, and parts, should be processed through m (i) , m (i j) , and m (i jk) operational sequences with given orders, where m (i) (i = 1, 2, . . ., n) represents the maximum operation number of assembly (i), m (i j) (i = 1, 2, . . ., n; j = 1, 2, . . ., n (i) ) represents the maximum operation number of subassembly (i j), and ) represents the maximum operation number of part (i jk).Besides, one assembly cannot begin its process operation until all of its subassemblies are finished and assembled into the assembly.The final product is assembled by the assemblies.Generally, min{makespan} is considered as the optimization objective.In this section, an integrated 3level MLPS model is built up, which can be stated as (1)-( 24): (2) (3) (5) where x [g]((i)( j)) = 0 or 1; where x [g]((i j)(ik)) = 0 or 1; (20) where x [g]((i jk)(i jl)) = 0 or 1; where The definition of the parameters in the model is as follows.
FS represents the feasible solution set; o [a](i) represents the ath operation of job assembly (i), o [a](i j) represents the ath operation of job subassembly (i j); o [a](i jk) represents the ath operation of job part (i jk); p [a](i) represents the operation time of o [a](i) ; p [a](i j) represents the operation time of o [a](i j) ; p [a](i jk) represents the operation time of o [a](i jk) ; M is an infinite positive multiply factor: is exactly after its operation on machine [a], 0, otherwise, is exactly after its operation on machine [a], 0, otherwise. (25) The definition of the decision variables in the model is as follows. t represents the start time of operation o [a](i j) , t S [a](i jk) represents the start time of operation o [a](i jk) and C (i) represents the end time of assembly (i); thus we have and the 0-1 programming variables are defined as 1, if the immediate successive operation of assembly (i) on machine g is j , 0, otherwise, 1, if the immediate successive operation of subassembly i j on machine g is (ik), 0, otherwise, 1, if the immediate successive operation of part i jk on machine g is i jl , 0, otherwise, 1, if the immediate successive operation of assembly (i) on machine g is subassembly jk , 0, otherwise, 1, if the immediate successive operation of subassembly jk on machine g is assembly (i), 0, otherwise, 1, if the immediate successive operation of assembly (i) on machine g is part jkl , 0, otherwise, 1, if the immediate successive operation of part i jk on machine g is assembly (i), 0, otherwise, 1, if the immediate successive operation of subassembly i j on machine g is part (kls), 0, otherwise, The physical explanation for the model (shown as (1)-( 24)) is as follows.
Equation (1) gives the optimization objective as makespan; (2) constrains that the start time of an assembly must be later than the completion time of all its subassemblies; (3) constrains that the start time of a subassembly  7)- (15) define that there can only process at most one job on machine [g] at one time; ( 16)-( 18) constrain the start time of each operation as a non-negative variable; ( 19)-( 21) define the constraints between each related-pair of decision variables in each level to guarantee the feasibility of the solution; ( 22)-( 24) define the constraints between each pair of decision variables in different levels.

Twin-Screw-Coded Evolutionary Algorithm for Multilevel Production Scheduling Optimization
Since the computational complexity of the multi-level production scheduling problem is very high, it is hard to solve it with current existing optimization methods efficiently (either the precise methods or the problemdependent heuristic algorithms).In order to overcome the drawbacks of current existing methods, a twin-screw-coded evolutionary algorithm is proposed in this paper, which encodes a possible multi-level scheduling scheme in a twinscrew chromosome, and a metaheuristic-based population gap for elitist exchange and local search is employed to enhance the convergence of the algorithm.

Gene Expression:
Twin-Screw Coding.Current existing evolutionary coding can only express one single level's scheduling information; it is hard to employ them to express a multi-level production scheduling information with one chromosome.Hence, we propose an operation-based twinscrew coding strategy to solve this problem: we define each job number with an implicit subsidiary coding (subcoding) to label its level information and construct a twin-screw module to express the hierarchy of the scheduling scheme.Assume that, in the example of Figure 2, each job in {3, 7, 12} has two operations, respectively, job 5 has three operations, and all the other jobs have only one operation, which is a typical mixed flexible job shop problem.A feasible solution for this problem can be coded as a twin-screw gene (shown as Figure 3), in which the italic gene in the second row shows the level of the job above it.Thus, we can construct a feasible chromosome for the 3-level job process scheduling problem with the twin-screwed gene expression.
In order to guarantee the feasibility of a twin-screwcoded chromosome, a specifically designed decoding strategy (shown as Figure 4) is employed to cope with this issue.We employ the example mentioned above to illustrate the process of our proposed decoding method, in which process scheduling information is obtained from lower level to the higher one.The genotype codes of a chromosome are scanned from the beginning to the end; those operations that labeled with a "3" as its implicit twin-code (in the second line) are Recognized as part level's jobs and labeled to phenotype; after a round-robin scan, all the jobs belonging to the part level are kicked off from the original chromosome, a second round scan is taken to label the subassembly level, and then the assembly level, until all the levels' operations are labeled and the whole chromosome is decoded to a complete 3-level job scheduling solution with phenotype status.
6 Applied Computational Intelligence and Soft Computing The data structure for decoding process.
In order to promote the decoding efficiency, an objectoriented data structure is designed to fulfill this task (Figure 5).The principle of designing the data structure and some variable abbreviations are noted as the follows.
(1) A chromosome composes three parts: twin-screw codes for sequence and "level" information, job-related information, and machine-related information.
(2) "GENE i" represents the twin-screw coding structure of a chromosome; "JobNr" represents the job number (the number of each job is equal to its operation number); The initial "Flag" of job "i" indicates the production level, which job "i" belongs to.
During the decoding process, when all the operations of one subjob of job "i" are finished, we add "Job i"'s "FinishedSubJobs" by (1): when the value is equal to "i"'s "TotalSubJobs", that means all the subjobs of "i" have been finished we turn the "Flag" of "i" from 1 to 0 under this circumstance, and return the scan pointer into the beginning of the twin-screw, and rescan the left operations.
(3) "OperationInfo" records the start time and end time of each job.

Evolutionary Operators: Crossover and Mutation.
In order to guarantee the feasibility and validity of the chromosome during the population evolution, we propose improved crossover and mutation operators for the twin-screwcoded chromosome based on previous work in permutation scheduling problem studies (see [22]).The principle of designing the evolutionary operators is similar to that of PMX crossover and swap mutation operators (see [22]), which can be illustrated by examples shown in Figures 6  and 7.
Crossover operator for a twin-screw-coded chromosome is as follows.
Step 2. Exchange the partial chromosome between c 1 and c 2 (not only the process sequence information but also the "level" information) to get the two proto-children, shown as P 1 and P 2 in Figure 6.
Step 3. Scan and eliminate the existing elements of P 1 from parent 1 and P 2 from parent 2 to determine the mapping relationship between two mapping sections.After the mapping operation, we get two subsidiary partial mapping information as the P 1 , P 2 shown in Figure 6.Step 4. Legalize the offspring with the mapping relationship information, and obtain two feasible offspring children (offspring1 and offspring2 in Figure 6).
Please note that the whole crossover process is guided and dominated by the sequence information, but not the "level" information.Because in our proposed twin-screwcoded chromosome, each bit of "level" information is bound strength with a corresponding operation information, it does not make any sense except in the decoding process.
Mutation operator for twin-screw-coded chromosome is as follows.
Step 1. Randomly generate two mutate points m 1 , m 2 on the parent chromosome to be mutated.
Step 2. Swap the two position's sequence and "level" information to generate a legal offspring child (as shown in Figure 7).

Population Reconstruction with Elitism Strategy.
In our previous work, we have proposed an escalating evolutionary structure (shown in Figure 8), which has outperformed several other modern heuristic algorithms with applications to flow shop scheduling problems under the similar computational cost.In order to solve the integrated MLPS model efficiently, we introduce the escalating strategy into the twinscrew-coded EA to enhance its convergence performance.
The brief idea of escalating strategy can be explained as follows.
A population evolves from a random beginning status, the probability of an individual to bring its offspring lies on its fitness.After some generations' evolution, the population may keep in evolving with no progress further more in some successive generations; then the elitist individual (the best one in the population from the beginning to current generation) is kept and introduced into a new population directly, and all the other individuals of the new population are generated randomly (reconstruction/reinitialization).Thus, the new population continues the evolution process until the stop criterion is satisfied.
The escalation process implies two meanings: (1), the elitist individual will be introduced into the new population directly; (2), other individuals of the new population will be generated randomly, where (1) makes it possible to utilize the previous level's search information, and ( 2) is designed to keep the population diversity, which helps the algorithm escaping from premature.

Problem Description.
In order to evaluate the performance of our proposed modeling and optimization technique, a 3-level production scheduling problem from one of Chinese famous satellite production factory is employed for case study.All the processing information has been necessarily deposed with pre-declassification need beforehand.
The hierarchical product structure of the problem is similar to the model described as (1)-( 24): product 0-0 consists of 3 assemblies, each assembly consists of 4, 3, 2 subassemblies, respectively, and each subassembly consists of some given number of parts.The job of a higher level could begin its process operation only if all its sub-products are finished and are assembled.The process information includes technical constraints within levels and between levels, process time, and predefined operational sequence between jobs.The hierarchical logic relationship of the problem can be highlighted as shown in Figure 9.
Table 1 gives the detail process information of the problem.There are some complementary comments to the problem.
(1) The O1-O13 in Table 1 represent the process operations on those machines, whose process ability can be greatly increased with a bit costs and the workloads on them can be considered as light as possible.So the capability of these machines can be considered as infinite.These machines include common low-precise manufacturing machines, like lathe, planer, grinder, and so forth.
While the workloads on the other kind of machines are obviously heavy, not only the fixed expensive purchasing costs but also the expensive unit time process costs on them are much higher than the common ones.There are 4 units of such machines in the factory that we investigated, whose name can be listed as Rough Milling machine (RM), Precise Milling machine (PM), Digital Milling machine (DM), and Other Milling machine (OM), respectively.
(2) The definition of job numbers (JobNr) in Table 1 is as follows.
After analyzing the process information, we make two assumptions to deduce the computational complexity of the raw problem, in which only the most "expensive" and "crowed" machines are specifically treated, while we neglect the scheduling planing on those "cheap" or "loosely required" machines.
Assumption 1 (Machine Scarce/Nonscarce Assumption).As we know, a satellite product requires more precision than a civil product; its large size and highly precision quality leads to the need of high-performance milling machines in many operations.We discriminately treat the operations that need to be operated on milling machines with those operations that need to be operated on other machines and call the operations on these two kind of machines as Scarce machine operations and nonscarce machine operations.Consecutive operations on nonscarce machines can be combined into "Dummy Operations".
The adjacent operations on nonscarce machines can be combined as one operation time, and the new combined operation can be considered as operations that have no constraints on machine availability; we only take its operation time into account but neglect the operation's machine information.
Assumption 2 (Machine Specification Assumption).As different machines for the same type of task in the satellite factory take different costs, the milling operations are allocated to different machines according to its precision requirements, which aims at strengthening the economic profit of the whole.After the hypothesis of dummy operation and machine operation specialization, we focus our effort on the scheduling of scarce machines, which can help us avoid to waste time on insignificant operations or wasting costly machines on simple or nonprecise operations; thus can we possibly obtain a better solution in a given time.

Data Preprocessing.
There are 4 milling machines (RM/PM/DM/OM) in the factory.Since the operations on these milling machines are the bottle neck of the scheduling problem, we allocate the milling operations to these machines with regard to each machine's operational precision and cost.(i) Rough milling operations are allocated to the machine "RM".
(ii) Precise milling operations are allocated to the machine "PM".
(iii) Digital milling operations are allocated to the machine "DM".
(iv) Other milling operations are allocated to the machine "OM".
All the other nonmilling operations are considered as "dummy operations" (as mentioned in Section 5.1).After we combined the "dummy operations", we get the new modified process data of the problem (shown in Table 2).

Comparison Study Algorithms and Parameters Setting.
In order to evaluate the performance of our proposed TCEA with its application to MLPS, we employ two basic metaheuristic algorithms, GA (Genetic Algorithm), and SA (Simulated Annealing) as comparison algorithms for case study.
In order to obtain the best performance of TCEA, parameters experiment has been taken to search the best parameters combination.The experiment is designed with the following guidance rules [21].(i) Population size (POP SIZE) varies from 100 to 500, skip rule 100.
(vi) Elitist local search step varies from 10 to 50, skip rule 10.
After the parameters experiment, we set the parameters of TCEA as in Table 3.In order to compare the performance of TCEA with that of GA and SA in a fair circumstance, we make the similar parameters experiments for GA and SA, respectively, in which the total CPU time consumption is kept in the same level as TCEAs.After the experiments, we can set the parameters of TCEA, GA, and SA as in Table 3.Since the twin-screw coding strategy is a general encoding strategy designed for MLPS problems, we employ the coding strategy in all the three algorithms.

Results
Analysis.Since all the algorithms that we study are metaheuristic algorithms, we run each algorithm for 20 independent times to collect their statistical results.With parameters set in Table 3, we get the optimization results as in Table 4 and figure 10, in which the average result of TCEA outperforms that of GA and SA: The average makespan of product 0-0 obtained by our TCEA is 5612.4,and the results of GA and SA are 5691.2and 5788.5, respectively; all these metaheuristic algorithms outperformed current technique in the factory (6580).
However, the computational cost of TCEA (about 270s) is a bit longer than that of GA (about 250s) and SA (about 190s) in the same experiment environment (all the experiments are taken in a CPU Pentium IV-3.2 G, 1 G Ram PC platform).
In general, the statistical results show the outstanding performance of our TCEA by contrast to that of GA and SA to cope with an MLPS problem.
Figures 11 and 12 show two typical solutions derived from TCEA and GA, respectively.

Conclusion
A twin-screw-coded evolutionary algorithm (TCEA), which is motivated by solving a typical multi-level production scheduling problem (MLPS), is put forward in this paper.The principle of the new algorithm is introduced; besides, a real 3-level satellite part's case study has revealed the superiority of TCEA by contrast to GA and SA, which further demonstrates the effectiveness and practicability of our integrated model and optimization technique in solving such complex production scheduling problems.As we know, MLPS is a complex NP-hard problem; this work just shows the preliminary result of our project.Further research has been taken, in which multiobjective MLPS problem modeling and optimization technique has been taken into consideration.

Figure 2 :
Figure 2: Example of a 3-level production scheduling problem.

Figure 3 :
Figure 3: The feasible gene expression for a three-level shop scheduling solution.

Figure 12 :
Figure 12: A typical solution of 3-level MLPS with GA.

Table 1 :
The raw data of case study problem.

Table 2 :
The modified data of case study problem.

Table 3 :
Parameters setting for 3-level MLPS study case.

Table 4 :
Statistical optimization results of the 3-level MLPS with TCEA, GA and SA.