This work is licensed under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
1. Introduction
The flexible job shop scheduling problem (FJSP) is an extension of the traditional job shop scheduling problem (JSP) and was first proposed by Brucker and Schlie [1] in 1990. In FJSP, each job operation can be assigned to multiple machines, which may have different processing times; thus, FJSP is a more complicated nondeterministic polynomial-hard problem than JSP. Recently, more methods have been applied to solving the FJSP and its expansion problem. For example, Zhao [2] proposed an improved neighborhood structure hybrid algorithm and achieved good results. Lin et al. [3] proposed a hybrid multiverse optimization to address the fuzzy FJSP. An et al. [4] proposed an improved nondominated sorting biogeography-based optimization to solve the (hybrid) multiobjective FJSP. Li et al. [5] examined the FJSP with transportation resource constraints, which increased the problem complexity and practicability. Cao et al. [6] studied the FJSP with sequencing flexibility. Lei et al. [7] proposed a two-phase metaheuristic for multiobjective FJSP with a total energy consumption threshold. Gao et al. [8] focused on a flexible job shop rescheduling problem (FJRP) for new job insertion and solved the problem using a discrete Jaya algorithm. Gong et al. [9] developed energy- and labor-aware multiobjective flexible job shop scheduling under dynamic electricity pricing. Yang et al. [10] proposed mining dispatching rules from dispatching-related historical data with the characteristics of industrial big data to solve the FJSP. Other extended research issues of the FJSP include distributed FJSP [11], FJSP considering automated guided vehicle planning [12], and FJSP considering machine breakdowns [13–15]. Meanwhile, certain new methods have been applied to solving the FJSP, and examples are distributed particle swarm optimization algorithm [16], two-stage genetic algorithm [17], and state transition algorithm based on the normal cloud model [18–22].
Batch scheduling is an optimization problem with a strong application background. Its basic assumption is that the machine can process multiple jobs simultaneously. Jia et al. [23] proposed a two-objective collaborative optimization algorithm based on the ant colony to solve the parallel batch machine scheduling problem. Chi et al. [24] constructed a class of forward-looking batching algorithms for uncertain environments. Wang et al. [25] studied a new type of rolling batch scheduling problem arising in continuous casting and rolling processes. Li et al. [26] investigated the problem of scheduling jobs with unit processing time and nonidentical sizes on single or parallel identical batch machines. Tan et al. [27] addressed the green batch scheduling problem on nonidentical parallel machines with time-of-use electricity prices. Wang et al. [28] studied a new, mixed batch scheduling problem that arises in vacuum heat treatment. Shahvari and Logendran [29] discussed the batch scheduling problem in a hybrid flow shop with a learning effect.
In the research of the combination of the FJSP and batch process (BP), Huang et al. [30] studied the batch scheduling algorithm of the flexible flow shop for incompatible job families in a flexible flow shop for mold heat treatment comprising quenching and tempering processes. Zhou [31] studied the scheduling problem of two batch processing machines with different jobs. Zhu et al. [32] used a hybrid algorithm that combines the particle swarm algorithm and Nawaz–Enscore–Ham heuristic algorithm to study the batch scheduling problem of a differential job shop. Yin et al. [33] studied the scheduling problem of a large-scale flexible job shop, adopted the batch scheduling method based on job group to degrade the problem scale, and used the adaptive genetic algorithm to optimize the solution. Currently, only a few studies have investigated the scheduling problem comprising flexible job shop and BP scheduling, which are combined in different ways. Therefore, it is crucial to investigate flexible job shop scheduling and batch scheduling thoroughly.
The rest of this paper is organized as follows. Section 2 describes the problem and mathematical model of the FJSP with the BP. Section 3 introduces the method to solve the FJSP–BP problem: Section 3.1 describes a proposed improved immune genetic algorithm (IIGA) to solve the FJSP part of the problem, including designing an effective coding method, genetic operators, cross-entropy thought, and greedy optimal solution; Section 3.2 describes the design of effective batching methods and batching rules for the batching process. Section 4 describes the experimental analysis: using the standard FJSP benchmark example to verify the effectiveness of the algorithm and using the actual data of a transformer manufacturing enterprise that conforms to the FJSP–BP problem to verify the effectiveness and feasibility of the algorithm. Section 5 summarizes the study and highlights the scope of future work.
2. Problem Description
In this study, we developed the FJSP–BP, which is an extension of the FJSP. The FJSP–BP is widely used in manufacturing enterprises, such as transformer manufacturing, semiconductor production, engine parts manufacturing, and steel production line. In this type of problem, most job operations are flexibly distributed on multiple machines. At the same time, specific operations must be unified in batches through batch processing machines, such as drying ovens and dryers, which is a combination of batch scheduling and FJSP.
Figure 1 shows the production process of a transformer, which illustrates the FJSP–BP problem. The entire production process is divided into two parts. The first part is the FJSP, where
[figure(s) omitted; refer to PDF]
The FJSP–BP can be described as follows:
In addition, the following constraints must be met during processing.
Flexible job shop part:
(1) A machine can only process one job per time
(2) An operation of the job can only be processed by one machine per time
(3) Once each operation of each job starts, the processing cannot be interrupted
(4) Different jobs have the same priority
(5) No sequential constraints exist between the operations of different jobs, and sequential constraints exist between the processes of the same job
(6) All jobs can be processed at zero time
Batch processing part:
(1) The batch machine can only process one batch at a certain time, and the batch cannot be interrupted once it starts processing
(2) The sum of the volume or mass of all jobs in each batch is less than or equal to the volume or mass threshold of the batch machine
For the convenience of subsequent description, the following mathematical symbols are defined, as presented in Table 1.
Table 1
Mathematical symbols and their definitions.
Mathematics symbol | Symbol definition and interpretation |
Total number of jobs | |
Total number of machines | |
Ω | Total machine set |
Machine serial number, | |
Job serial number, | |
Total number of operations of the job | |
Operation sequence, | |
Optional processing machine set for the operation h of the job j | |
Number of optional processing machines for the operation h of the job | |
Operations h of the job | |
Operations | |
Processing time of the operations h of the job | |
Processing start time of the operations | |
Completion time of the operations | |
A positive number large enough | |
Due date of the job | |
Completion time of each job | |
Batch processing time of the job | |
Size of the job | |
Arrival time of the job | |
Batch processing machine capacity | |
Set of jobs in batch | |
Sets of all batches | |
Available time of batch | |
Start time of batch | |
Processing time of batch | |
Completion time of batch |
The mathematical model of the FJSP–BP is expressed as
where
Equation (1) is the optimization goal, which is to maximize completion time. Equations (2) and (3) express the sequence constraints of each job. Equation (4) expresses the constraint of the job completion time, where the completion time of each job cannot exceed the total completion time. Equations (5) and (6) indicate that a machine can only process one process per time. Equation (7) represents machine constraints, and an operation can only be processed by one machine per time. Equations (8) and (9) indicate that the operation of each machine can be cyclic. Equation (10) indicates that each parameter must be positive. Equation (12) ensures that each job
Table 2 illustrates an example of a
Table 2
A
Job | Operation | Optional processing machine | ||||
2 | 6 | 5 | 3 | 5 | ||
— | 8 | 2 | 4 | — | ||
3 | 7 | — | — | 6 | ||
4 | 6 | 5 | 10 | — | ||
— | 7 | 11 | — | 8 | ||
— | 3 | 8 | 6 | — | ||
7 | 8 | 2 | 9 | — | ||
— | 8 | 6 | 4 | 4 | ||
3 | 12 | — | 7 | 9 | ||
— | 5 | 6 | 10 | — |
3. FJSP–BP Solution
To obtain the solution to the FJSP–BP, we solve the flexible job shop part and the batch processing part separately. The IIGA is used to solve the flexible job shop part, and the concepts of greedy thought and cross-entropy thought are introduced. The introduced concepts accelerate the optimization speed and search ability of the algorithm. The batch processing part is equivalent to solving the batch scheduling problem of a single-batch processing machine with different arrival times; the rule-based method is used for batch processing and batch sorting.
3.1. Solving the FJSP Part Using an Improved Immune Genetic Algorithm
To obtain the solution to the FJSP part, we propose the IIGA. The performance of the algorithm is improved by the concepts of greedy thought and cross-entropy thought. We design effective encoding and decoding methods and optimize the selection, crossover, mutation, and other operations in the algorithm framework.
3.1.1. Chromosome Coding
The FJSP part includes two subproblems: machine selection and operation sequencing, which are independent of each other. Therefore, we code machine selection and operation sequencing separately. The chromosome is divided into two parts, A/B, representing the machine selection and operation sequencing subproblems, respectively. The length of both parts of the chromosome is equal to
Machine selection subproblem: the length of the machine selection part of the chromosome is
Table 3
FJSP chromosome coding.
(a)
Machine selection coding(MS) | |||||||||
1 | 3 | 2 | 4 | 2 | 3 | 2 | 5 | 4 | 2 |
(b)
Operation sequencing coding(OS) | |||||||||
2 | 1 | 3 | 4 | 4 | 2 | 1 | 2 | 3 | 4 |
Operation sequencing subproblem: the chromosome length of the process sequencing part is equal to the total number of processes
3.1.2. Chromosome Decoding
The decoding part also comprises the machine selection and operation sequencing decoding.
Machine selection decoding: the machine selection part is decoded from left to right and converted into a machine sequence matrix
Operation sequencing decoding: the chromosomes of the operation sequencing part are read from left to right, and the processing machine and processing times corresponding to each job process are obtained according to the machine and time sequence matrices corresponding to the machine selection part. Finally, the operation is sorted to obtain the scheduling result.
3.1.3. Chromosome Crossover
Machine selection part: the machine selection part must ensure that the sequence of each gene remains the same, using the uniform crossover.
Step 1.
Randomly generate an integer
Step 2.
Generate
Step 3.
According to the
Step 4.
Genetically copy the remaining genes of
As Figure 3 illustrates and taking Table 2 as an example,
[figure(s) omitted; refer to PDF]
Operation sequencing part: the operation sequencing part adopts the precedence preserving order-based crossover method, and the operation of multiple jobs in each chromosome can better inherit the excellent characteristics of the parent individual.
Step 1.
Randomly divide the job set
Step 2.
Copy the processes of the jobs contained in Jobset1/Jobset2 in the parent chromosomes
Step 3.
Copy the processes of the jobs excluded from Jobset1/Jobset2 in
In Figure 3,
3.1.4. Chromosome Variation
Both the machine selection and operation sequencing parts use the random variation method, and the steps are outlined as follows.
Machine selection part:
Step 1.
Randomly select
Step 2.
Select each position in turn and randomly replace the machine in each position with one of the machines in the set of optional machines.
Operation sequencing part:
Randomly select
3.1.5. Greedy Optimal Solution Thought
We improve the IGA and introduce the greedy thought. Before each iteration of the algorithm, a “greedy optimal solution” is obtained through the greedy thought.
This greedy optimal solution is not necessarily the global optimal solution, but it is highly similar to the global optimal solution with a high probability. Therefore, the optimization can be accelerated by selecting highly similar individuals to the greedy optimal solution in the IIGA.
The greedy optimal solution selection thought is as follows:
(1) When selecting the machine for each job operation, choose the machine with the shortest process time in the optional machine collection
(2) During machine selection, distribute the process evenly to each machine as much as possible
(3) Considering the constraints of the operation sequence, start processing the earlier processes as soon as possible
Greedy optimal solution selection: the steps for selecting the greedy optimal solution for
Step 1.
Set up an integer array with a length equal to the total number of machines
Step 2.
Among the initialized
Assign operation
Step 3.
Randomly select
Step 4.
By analogy, complete the machine allocation problem of the first operation of all jobs.
Step 5.
Repeat Steps 2–4 to complete the machine allocation problem of all operations of all jobs.
Step 6.
Get the greedy optimal solution
The solution process is illustrated in Figure 4.
[figure(s) omitted; refer to PDF]
3.1.6. Information Entropy and Cross-Entropy
In the IGA, concepts such as antibody information entropy, antibody similarity, and antibody concentration are introduced. The immune optimization method calculates the affinity between the antibody and antigen as well as the similarity between antibodies. The adoption of a concentration-based selection mechanism not only encourages antibodies with high adaptability but also inhibits antibodies with high concentrations, which reflects the regulatory function of the immune system and can prevent falling into a local optimal solution.
We introduce the concept of cross-entropy into the IGA. Cross-entropy is an important concept in Shannon’s information theory, mainly used to measure the difference in information between two probability distributions. If
Cross-entropy is often used in machine learning. It is hoped that the data distribution
In the initial stage of the population, we obtain the greedy optimal solution
Table 4
Cross-entropy calculation explanation.
3 | 4 | 1 | 2 | 5 | 2 | 3 | 4 | 1 | 3 | |
4 | 4 | 1 | 2 | 5 | 2 | 3 | 4 | 1 | 3 | |
3 | 2 | 1 | 2 | 5 | 2 | 3 | 4 | 1 | 3 | |
Cross-entropy similarity definition:
The greater the value of the cross-entropy similarity is, the higher the similarity between this individual and the greedy optimal solution.
3.1.7. Algorithm Steps of the IIGA to Solve the FJSP Part
The IIGA framework is outlined as follows.
Algorithm 1: IIGA framework.
1: Randomly generate initial populations
2: Combine the parent and offspring populations, namely,
3: Obtain
4: Arrange
5: Let
6: Define
7: Perform a crossover operation on the population
8: Perform a mutation operation on the population
9: If
The flow chart of the IIGA is shown in Figure 5.
[figure(s) omitted; refer to PDF]
3.2. Batch Process Part
For each solution in the flexible job shop part, all the jobs will arrive sequentially in the buffer in front of the batch machine with different arrival times. For the batch machine, this is equivalent to the batch processing of problems with different arrival times [35].
Batch rules: BF (best fit) rules:
(1) Given a sequence of jobs, a solution for the flexible job shop part is calculated by calculating the arrival time of all the jobs in the front buffer of the batch machine. Sort the jobs according to the arrival time from smallest to largest
(2) Select the first job
(3) Then check whether the job
(4) When the capacity of a certain batch reaches the maximum value, no other job can be added. For job
(5) By analogy, repeat the above steps until all the jobs are finished in batches
When multiple formed batches wait in the buffer, the batch sorting problem is involved.
Batch sorting rules: ERT–LPT (earliest release time–longest processing time):
(1) Calculate the arrival and processing times of all batches. The arrival time of the batch is the arrival time of the latest job in the batch, and the processing time of the batch is the maximum processing time of the job in the batch
(2) Arrange the batches in the order of arrival time. If there are multiple batches with the same arrival time, they are further arranged in the order of the batch processing time
(3) Select the machine that is currently idle and arrange the first batch in the batch sequence for processing on this machine
(4) Repeat Step (3) until every batch scheduling is completed; finally, calculate the makespan
4. Experimental Results and Analysis
For the IIGA verification in this study, we used MATLAB 2014 run on an environment with an Intel Core I5 fourth-generation CPU (3.20 GHz main frequency), 8 GB memory, and Windows 7 operating system (64-bit, professional edition). The experiments were divided into two parts. In the first part, to verify the effectiveness of the IIGA, we used a standard FJSP example to compare the performance of different algorithms. In the second part, we focused on the FJSP–BP. Taking the actual data of a transformer manufacturing enterprise as an example, we solved the FJSP–BP by the IIGA and used batching rules to verify the feasibility and effectiveness of the algorithm.
4.1. Algorithm Parameter Setting
The IIGA used in this study had three parameters at the algorithmic level: crossover probability
Determining and optimizing parameters is extremely complicated, thereby requiring continuous simulation experiments. For the crossover probability
The MK01 example is one of the ten classic FJSP test problems designed by Brandimarte. The problem contains ten jobs, six machines, and 55 operations. We considered different settings of
[figure(s) omitted; refer to PDF]
Figure 6 shows that when
4.2. Standard FJSP Example to Verify the Effectiveness of the IIGA
To verify the improvement effect of the improved algorithm, we used 27 sets of FJSP standard case data to test and analyze the IIGA. The genetic algorithm, IGA, and the emerging group intelligence algorithm JAYA were used for comparison. The 27 sets of data used include the following:
(1) Five groups of Kacem calculation examples. The Kacem calculation example is the earliest standard FJSP calculation example. The five questions are combined from the number of jobs from 4 to 15 and the number of machines from 5 to 15
(2) Ten sets of BRdata calculation examples. The BRdata calculation example is one of the classic standard FJSP calculation examples proposed by Brandimarte. The ten questions are combined from the number of jobs from 10 to 20 and the number of machines from 4 to 15. The process of each group of questions ranges from 5 to 15, and the average number of processing machines for each process in each group of questions ranges from 1.43 to 4.10
(3) Twelve groups of BCdata calculation examples. The BCdata example is a 21-example problem proposed by Barnes and Chambers. The 21 calculation examples are mainly constructed from the three most challenging problems in the classic JSP (mt10, la24, and la40) according to certain principles. The average number of processing machines in each process of the BCdata calculation example is relatively small, and its data type and flexibility are similar to those in the flexible job shop part of the transformer production line. Therefore, 12 of 21 groups of BCdata calculation examples were selected for algorithm verification
Each algorithm ran 30 times on each group of data, the initial population of the four algorithms was 100, and the maximum evolutionary number was 200 generations.
Table 5
Kacem and BR problem test results.
Problem | LB,UB | GA | IGA | JAYA | IIGA | |||||
Kacem1 | 11, | 11 | 11.5 | 11 | 11 | 11 | 11 | 11 | 11 | |
Kacem2 | 14, | 23 | 24.6 | 15 | 16.2 | 14 | 14.6 | 14 | 14.3 | |
Kacem3 | 11, | 19 | 21.6 | 14 | 14.8 | 11 | 12 | 11 | 11.6 | |
Kacem4 | 7, | 13 | 16.4 | 8 | 8.3 | 7 | 7.8 | 7 | 7.5 | |
Kacem5 | 11, | 27 | 31.5 | 17 | 18.4 | 14 | 14.7 | 11 | 12.1 | |
Mk01 | 36,42 | 40 | 41.5 | 40 | 40 | 40 | 40 | 40 | 40 | |
Mk02 | 24,32 | 29 | 29.1 | 26 | 26 | 26 | 26 | 26 | 26 | |
Mk03 | 204,211 | 204 | 204 | 204 | 204 | 204 | 204 | 204 | 204 | |
Mk04 | 48,81 | 67 | 47.34 | 60 | 60 | 60 | 60 | 60 | 60 | |
Mk05 | 168,186 | 176 | 178.1 | 173 | 176.8 | 173 | 174.4 | 172 | 175.2 | |
Mk06 | 33,86 | 67 | 68.82 | 58 | 60.5 | 58 | 60.5 | 57 | 58 | |
Mk07 | 133,157 | 147 | 152.9 | 144 | 146.3 | 144 | 148.5 | 139 | 140.2 | |
Mk08 | 523 | 523 | 523.34 | 523 | 523 | 523 | 523 | 523 | 523 | |
Mk09 | 299,369 | 320 | 327.74 | 311 | 311 | 307 | 309 | 307 | 310.8 | |
Mk10 | 165,296 | 229 | 235.72 | 201 | 203.6 | 197 | 200.2 | 196 | 198.6 |
Table 6
Twelve BCdata problem test results.
Problem | LB,UB | GA | IGA | JAYA | IIGA | |||||
mt10c1 | 655,927 | 928 | 928.2 | 927 | 927.2 | 927 | 927.4 | 927 | 927 | |
mt10cc | 655,914 | 910 | 912.4 | 910 | 911.7 | 908 | 908.8 | 908 | 908 | |
mt10x | 655,929 | 918 | 919.6 | 918 | 918 | 918 | 918 | 918 | 918 | |
mt10xx | 655,936 | 918 | 918.6 | 918 | 918 | 918 | 918 | 918 | 918 | |
setb4c9 | 857,924 | 919 | 920.4 | 919 | 919.2 | 914 | 914.6 | 914 | 914.2 | |
setb4cc | 857,909 | 909 | 915.0 | 909 | 911.6 | 907 | 910.0 | 907 | 908.5 | |
setb4x | 846,937 | 925 | 934.3 | 925 | 926.8 | 925 | 925 | 925 | 925 | |
setb4xx | 847,930 | 925 | 933.7 | 925 | 925.4 | 925 | 925 | 925 | 925 | |
seti5c12 | 1027,1185 | 1174 | 1184.7 | 1174 | 1176.0 | 1174 | 1174.2 | 1170 | 1171 | |
seti5cc | 955,1136 | 1136 | 1146.5 | 1136 | 1137.2 | 1136 | 1136.4 | 1135 | 1135.8 | |
seti5x | 955,1218 | 1209 | 1213.2 | 1200 | 1209.0 | 1201 | 1203.6 | 1198 | 1199.4 | |
seti5xx | 955,1204 | 1204 | 1205.9 | 1199 | 1200.6 | 1198 | 1202.4 | 1197 | 1198.3 |
Table 5 shows that for the Kacem and BR examples, IGA has a similar optimization effect to that of JAYA, but JAYA is slightly better. The average completion time of the two algorithms is relatively small, while their optimization effect is rather better. Compared with IGA and JAYA, both
For BCdata, in terms of the optimization effect, IIGA has a significant improvement compared with the other three algorithms. In terms of the average optimization effect, the optimization effect of IIGA is also significantly better than that of GA, IGA, and JAYA.
During testing, we found that when four algorithms used data for 30 simulation experiments, the
[figure(s) omitted; refer to PDF]
The box plot is a statistical graph used to show the degree of dispersion in a set of data. The stability of the optimization effect can be reflected through the box plot. The interquartile range (IQR) is used in the box plot to measure the degree of dispersion in the data.
Figure 7 shows that in the 30 runs of the algorithm, IGA had the widest solution range fluctuation, indicating that it is easier for the algorithm to fall into the local extreme value because of the immune mechanism. The position of the box plot generated by IIGA is the lowest, indicating that the overall quality of the solution generated by the algorithm is better than that of the other three algorithms. Moreover, the IQR of the box plot generated by IIGA is smaller than that of the other three algorithms, showing that the degree of dispersion of the solution produced by the algorithm is smaller than that of the other three algorithms. Its stability is also the best among the four algorithms.
We plotted the relationship between the maximum completion time and the number of iterations of the four algorithms under the MK06 data, as shown in Figure 8.
[figure(s) omitted; refer to PDF]
Figure 8 shows that IIGA has the fastest convergence speed and the smallest optimal solution, and it converges to the optimal solution in the shortest time:
Figure 9 shows the Gantt chart of IIGA under the MK06 example.
[figure(s) omitted; refer to PDF]
4.3. Transformer Manufacturer Data
We considered the data from an actual transformer manufacturing enterprise as an example. The production workshop of the transformer manufacturer includes several sections, including the coil process, iron core, and lead process setting sections, as the FJSP part; the transformer body drying process section is the BP part.
The FJSP part contains multiple machines and equipment, and the drying oven is batched with job volume as a constraint. We simplified the FJSP part into a total of 20 machines. In the BP part, the selected jobs are divided into two categories. Similar jobs have the same volume, and the FJSP part has different processing times; the job volume differs by category, and the batch processing times differ. The batch processing part normalizes the volume, and the batch machine has a capacity of 12; the volumes of the two job types are three and four, respectively.
Among the two job types, the job of class A is a laminated core transformer, while the job of class B is an amorphous alloy transformer. Table 7 presents basic information about the two job types.
Table 7
Basic information on two job types.
Job category | Number of operations | Number of machines | Job volume | Batch machine volume | Batch processing time |
Category A | 11+1 | 20+1 | 3 | 12 | 10 |
Category B | 11+1 | 4 | 12 |
Both types of jobs in the FJSP part have 11 operations. Compared with class A jobs, class B jobs require two press-fitting and drying operations, and class B jobs have no insertion operation. In the actual production process, the iron core and coil operations of class A products are produced in parallel, and the iron core of class B products is purchased out. In this study, we investigated the coil process, body equipment, and drying process sections. The iron core part was set as a prefabricated part, and unified installation was performed in the coil assembly operation. The detailed processing information of the two job types is shown in Table 8.
Table 8
Detailed processing information on two job types.
Category A | Category B | ||||||
Operation number | Operation name | Optional machine sets | Processing time | Operation number | Operation name | Optional machine sets | Processing time |
1 | Low voltage winding | 1-3 | 5-7 | 1 | Low voltage winding | 1-3 | 6-8 |
2 | High voltage winding | 4-7 | 6-9 | 2 | Pressing and drying | 8-9 | 3-5 |
3 | Pressing and drying | 8-9 | 4-5 | 3 | High voltage winding | 4-7 | 7-10 |
4 | Remove the mold | 10-11 | 2-3 | 4 | Pressing and drying | 8-9 | 3-4 |
5 | Turn measurement and brush glue | 10-11 | 7-8 | 5 | Remove the mold | 10-11 | 2-3 |
6 | Inspection | 12-13 | 3-4 | 6 | Turn measurement and brush glue | 10-11 | 8-10 |
7 | Coil assembly | 14-20 | 8-10 | 7 | Inspection | 12-13 | 3-4 |
8 | Insert silicon steel sheet | 14-20 | 6-8 | 8 | Coil assembly | 14-20 | 7-9 |
9 | Body assembly | 14-20 | 4-6 | 9 | Body assembly | 14-20 | 4-6 |
10 | Lead assembly | 14-20 | 3-5 | 10 | Lead assembly | 14-20 | 2-5 |
11 | Inspection | 12-13 | 3-4 | 11 | Inspection | 12-13 | 3-4 |
12 | Drying | 21 | 10 | 12 | Drying | 21 | 12 |
According to the actual production situation of the transformer manufacturer, we use half a month’s production data to verify the effectiveness of the algorithm. The total number of jobs is
[figure(s) omitted; refer to PDF]
Figure 10 shows that the jobs are evenly distributed to each machine, and the completion time is 225. In the actual production process, the completion time is 282. Thus, the completion time is increased by 25.3%, reflecting the effectiveness of the algorithm in this paper.
5. Conclusion
In this study, a combination of intelligent methods and scheduling rules is used to solve the FJSP–BP problem. An improved IGA based on the concept of greed and cross-entropy is proposed, and an effective batching method and batching rules are designed. The standard FJSP benchmark example and data conforming to the FJSP-PB problem from a transformer manufacturing enterprise were used to verify the effectiveness and practicability of the proposed algorithm. This work provides a significant reference for solving the FJSP–BP problem.
From a scheduling problem perspective, we only investigated the single-batch machine problem under small-scale data. In future research, we will thoroughly study the FJSP with parallel batch machines under medium- and large-scale data. As the problem is more complicated, the selection of batch machines must be considered based on MS and OS. Meanwhile, analysis and research will be conducted for different optimization objectives, including machine load, equipment energy consumption, and early/delay penalty. In addition, in terms of research methods, it is necessary to determine a global optimization algorithm that considers both the FJSP and BP parts as well as a multiobjective optimization algorithm that includes multiple optimization objectives.
Authors’ Contributions
Libo Song’s contributions are conceptualization, original draft writing, methodology design, formal analysis, and MATLAB program development. Chang Liu’s contributions are investigation, resource acquisition, and manuscript verification. Haibo Shi and Jun Zhu’s contributions are funding acquisition, supervision, and guidance.
Acknowledgments
This work was supported in part by the Liaoning Revitalization Talents Program under Grant (XLYC1808009) and in part by the Key R & D Projects in Liaoning Province (2020JH2/10100039).
[1] P. Brucker, R. Schlie, "Job-shop scheduling with multi-purpose machines," Computing, vol. 45 no. 4, pp. 369-375, DOI: 10.1007/BF02238804, 1990.
[2] S. K. Zhao, "Improved hybrid algorithm of neighborhood structure for flexible job shop scheduling," Computer Integrated Manufacturing Systems, vol. 24 no. 12, pp. 3060-3072, 2018.
[3] J. Lin, L. Zhu, Z. J. Wang, "A hybrid multi-verse optimization for the fuzzy flexible job-shop scheduling problem," Computers & Industrial Engineering, vol. 127, pp. 1089-1100, DOI: 10.1016/j.cie.2018.11.046, 2019.
[4] Y. J. An, X. H. Chen, Y. H. Li, Y. Han, J. Zhang, H. Shi, "An improved non-dominated sorting biogeography-based optimization algorithm for the (hybrid) multi-objective flexible job-shop scheduling problem," Applied Soft Computing, vol. 99, article 106869,DOI: 10.1016/j.asoc.2020.106869, 2021.
[5] J. Q. Li, Y. Du, J. Tian, P. Y. Duan, Q. K. Pan, "Artificial bee colony algorithm for flexible job shop scheduling with transportation resource constraints," Acta Electronica Sinica, vol. 49 no. 2, pp. 324-330, 2021.
[6] Z. C. Cao, C. R. Lin, M. C. Zhou, "A knowledge-based Cuckoo search algorithm to schedule a flexible job shop with sequencing flexibility," IEEE Transactions on Automation Science and Engineering, vol. 18 no. 1, 2019.
[7] D. M. Lei, M. Li, L. Wang, "A two-phase meta-heuristic for multi-objective flexible job shop scheduling problem with Total energy consumption threshold," IEEE Transactions on Cybernetics, vol. 49 no. 3, pp. 1097-1109, DOI: 10.1109/TCYB.2018.2796119, 2019.
[8] K. Z. Gao, F. J. Yang, M. C. Zhou, Q. Pan, P. N. Suganthan, "Flexible job-shop rescheduling for new job insertion by using discrete Jaya algorithm," IEEE Transactions on Cybernetics, vol. 49 no. 5, pp. 1944-1955, DOI: 10.1109/TCYB.2018.2817240, 2019.
[9] X. Gong, T. D. Pessemier, L. Martens, "Energy- and labor-aware flexible job shop scheduling under dynamic electricity pricing: a many-objective optimization investigation," Journal of Cleaner Production, vol. 209, pp. 1078-1094, DOI: 10.1016/j.jclepro.2018.10.289, 2019.
[10] H. T. Yang, Y. H. Fei, Q. F. Chen, "Dynamic scheduling of flexible job shop based on industrial big data," Computer Integrated Manufacturing System, vol. 26 no. 9, pp. 2497-2510, 2020.
[11] X. L. Wu, X. J. Liu, "Differential evolution algorithm for solving distributed flexible job shop scheduling problem," Computer Integrated Manufacturing System, vol. 25 no. 10, pp. 2539-2558, 2019.
[12] X. Deng, X. B. Hu, D. Y. Jiang, "Flexible job shop machine and AGV planning based on hybrid genetic algorithm," Journal of Sichuan University (Natural Science Edition), vol. 58 no. 2, pp. 73-82, 2021.
[13] Y. Yang, M. Huang, Z. Y. Wang, "Robust scheduling based on extreme learning machine for bi-objective flexible job-shop problems with machine breakdowns," Expert Systems with Applications, vol. 158, pp. 113545-113556, DOI: 10.1016/j.eswa.2020.113545, 2020.
[14] J. Q. Li, J. W. Deng, C. Y. Li, Y. Y. Han, J. Tian, B. Zhang, C. G. Wang, "An improved Jaya algorithm for solving the flexible job shop scheduling problem with transportation and setup times," Knowledge-Based Systems, vol. 200 no. 3, article 106032,DOI: 10.1016/j.knosys.2020.106032, 2020.
[15] W. Zhao, K. Wang, A. D. Xu, "The health assessment method of industrial robots for intelligent manufacturing," Robot, vol. 42 no. 4, pp. 460-468, 2020.
[16] M. Nouiri, A. Bekrar, A. Jemai, S. Niar, A. C. Ammari, "An effective and distributed particle swarm optimization algorithm for flexible job-shop scheduling problem," Journal of Intelligent Manufacturing, vol. 29 no. 3, pp. 603-615, DOI: 10.1007/s10845-015-1039-3, 2018.
[17] F. M. Defersha, D. Rooyani, "An efficient two-stage genetic algorithm for a flexible job-shop scheduling problem with sequence dependent attached/detached setup, machine release date and lag-time," Computers & Industrial Engineering, vol. 147, article 106605,DOI: 10.1016/j.cie.2020.106605, 2020.
[18] B. B. Wu, H. L. Zhang, C. Wang, "State transition algorithm based on normal cloud model to solve multi-objective flexible job shop scheduling problem," Control and Decision, vol. 36 no. 5, pp. 1181-1190, 2021.
[19] L. L. Meng, C. Y. Zhang, X. Y. Shao, Y. Ren, "MILP models for energy-aware flexible job shop scheduling problem," Journal of Cleaner Production, vol. 210 no. 10, pp. 710-723, DOI: 10.1016/j.jclepro.2018.11.021, 2019.
[20] X. B. Pei, R. Zhang, X. Y. Yu, "Hybrid firefly algorithm for solving multi-objective replacement flow shop scheduling problem," Information and Control, vol. 49 no. 4, pp. 478-488, 2020.
[21] A. Baykasolu, F. S. Madenolu, A. Hamzaday, "Greedy randomized adaptive search for dynamic flexible job-shop scheduling," Journal of Manufacturing Systems, vol. 56, pp. 425-451, DOI: 10.1016/j.jmsy.2020.06.005, 2020.
[22] S. C. Zhang, X. Li, B. W. Zhang, S. Wang, "Multi-objective optimisation in flexible assembly job shop scheduling using a distributed ant colony system," European Journal of Operational Research, vol. 283 no. 2, pp. 441-460, DOI: 10.1016/j.ejor.2019.11.016, 2020.
[23] Z. H. Jia, Y. Wang, Y. W. Zhang, "A bi-objective synergy optimization algorithm of ant colony for scheduling on nonidentical parallel batch machines," Acta Automatica Sinica, vol. 46 no. 6, pp. 1121-1135, 2020.
[24] Y. R. Chi, J. J. Liu, Q. X. Chen, "Lookahead batching heuristic for batch scheduling problem of two-stage hybrid flow shop," Computer Integrated Manufacturing System, vol. 25 no. 10, pp. 2559-2570, 2019.
[25] G. S. Wang, J. Y. Liu, L. X. Tang, "Branch-and-price algorithm for rolling batch scheduling problem in continuous-casting and rolling processes with hybrid production mode," Acta Automatica Sinica, vol. 43 no. 7, pp. 1178-1189, 2017.
[26] R. Q. Li, Z. Y. Tan, Q. Y. Zhu, "Batch scheduling of nonidentical job sizes with minsum criteria," Journal of Combinatorial Optimization, vol. 26 no. 2, pp. 165-179, 2019.
[27] M. Tan, H. L. Yang, Y. X. Su, "Genetic algorithms with greedy strategy for green batch scheduling on nonidentical parallel machines," Memetic Computing, vol. 11 no. 4, pp. 439-452, DOI: 10.1007/s12293-019-00296-z, 2019.
[28] J. Q. Wang, G. Q. Fan, Z. Liu, "Mixed batch scheduling on identical machines," Journal of Scheduling, vol. 23 no. 4, pp. 487-496, DOI: 10.1007/s10951-019-00623-9, 2020.
[29] O. Shahvari, R. Logendran, "A comparison of two stage-based hybrid algorithms for a batch scheduling problem in hybrid flow shop with learning effect," International Journal of Production Economics, vol. 195 no. 2, pp. 227-248, DOI: 10.1016/j.ijpe.2017.10.015, 2018.
[30] J. T. Huang, J. J. Liu, Q. X. Chen, N. Mao, "Batch scheduling algorithm for flexible flow workshop of incompatible job family," Mechanical Design and Manufacturing, vol. 6, pp. 75-77, 2016.
[31] S. C. Zhou, Research on Several Problems of Machine Batch Scheduling for Differential Jobs, 2016.
[32] Q. Zhu, C. D. Chen, H. P. Chen, "Solution of batch scheduling problem in flow shop with different jobs," Computer Engineering and Applications, vol. 49 no. 13, pp. 221-227, 2013.
[33] M. Yin, S. Wang, J. Zhang, Y. S. Zou, "Research on batch scheduling and solution method of large-scale flexible job shop," Mechanical Design and Manufacturing, vol. 6, pp. 32-34, 2020.
[34] L. Gao, G. H. Zhang, X. J. Wang, Intelligent Algorithm of Flexible Job Shop Scheduling and Its Application, 2012.
[35] Z. H. Han, C. Han, S. Lin, Dong, Shi, "Flexible flow shop scheduling method with public buffer," Processes, vol. 7 no. 10,DOI: 10.3390/pr7100681, 2019.
You have requested "on-the-fly" machine translation of selected content from our databases. This functionality is provided solely for your convenience and is in no way intended to replace human translation. Show full disclaimer
Neither ProQuest nor its licensors make any representations or warranties with respect to the translations. The translations are automatically generated "AS IS" and "AS AVAILABLE" and are not retained in our systems. PROQUEST AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY AND ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES FOR AVAILABILITY, ACCURACY, TIMELINESS, COMPLETENESS, NON-INFRINGMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Your use of the translations is subject to all use restrictions contained in your Electronic Products License Agreement and by using the translation functionality you agree to forgo any and all claims against ProQuest or its licensors for your use of the translation functionality and any output derived there from. Hide full disclaimer
Copyright © 2022 Libo Song et al. This work is licensed under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Abstract
This paper presents a mathematical model for the flexible job shop scheduling problem (FJSP) with batch processing for manufacturing enterprises with both the flexible job shop scheduling problem and a batch process (BP) problem in actual production. An improved immune genetic algorithm (IGA) based on greedy thought combined with local scheduling rules is used to solve this scheduling problem. In the flexible job shop part, the greedy optimal solution is obtained through the greedy thought. The concept of cross-entropy is then introduced to improve the standard IGA. Calculating the cross-entropy of the individual and greedy optimal solutions for optimization considerably accelerates the optimization speed of the algorithm and enhances the ability of the algorithm to escape the local optimum. In the batching process, effective batching rules are designed to reduce blockage and improve batching efficiency; thus, the job can quickly and effectively pass the batching process and complete the entire production process. In the algorithm verification stage, standard FJSP datasets are used to simulate and verify the proposed algorithm. Considering the specific FJFP with BP problem, we perform simulation experiments with actual production data of a transformer manufacturer. The results show that the proposed method can effectively solve such problems.
You have requested "on-the-fly" machine translation of selected content from our databases. This functionality is provided solely for your convenience and is in no way intended to replace human translation. Show full disclaimer
Neither ProQuest nor its licensors make any representations or warranties with respect to the translations. The translations are automatically generated "AS IS" and "AS AVAILABLE" and are not retained in our systems. PROQUEST AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY AND ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES FOR AVAILABILITY, ACCURACY, TIMELINESS, COMPLETENESS, NON-INFRINGMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Your use of the translations is subject to all use restrictions contained in your Electronic Products License Agreement and by using the translation functionality you agree to forgo any and all claims against ProQuest or its licensors for your use of the translation functionality and any output derived there from. Hide full disclaimer
Details

1 Key Laboratory of Networked Control Systems, Chinese Academy of Sciences, Shenyang 110016, China; Shenyang Institute of Automation, Chinese Academy of Sciences, Shenyang 110016, China; Institutes for Robotics and Intelligent Manufacturing, Chinese Academy of Sciences, Shenyang 110016, China; University of Chinese Academy of Sciences, Beijing 100049, China
2 Key Laboratory of Networked Control Systems, Chinese Academy of Sciences, Shenyang 110016, China; Shenyang Institute of Automation, Chinese Academy of Sciences, Shenyang 110016, China; Institutes for Robotics and Intelligent Manufacturing, Chinese Academy of Sciences, Shenyang 110016, China