Chong Peng1, Guanglin Wu1, T Warren Liao2, Hedong Wang1. 1. School of Mechanical Engineering and Automation, Beihang University, Beijing, China. 2. Department of Mechanical and Industrial Engineering, Louisiana State University, Baton Rouge, LA, United States of America.
Abstract
The solution to the job shop scheduling problem (JSSP) is of great significance for improving resource utilization and production efficiency of enterprises. In this paper, in view of its non-deterministic polynomial properties, a multi-agent genetic algorithm based on tabu search (MAGATS) is proposed to solve JSSPs under makespan constraints. Firstly, a multi-agent genetic algorithm (MAGA) is proposed. During the process, a multi-agent grid environment is constructed based on characteristics of multi-agent systems and genetic algorithm (GA), and a corresponding neighbor interaction operator, a mutation operator based on neighborhood structure and a self-learning operator are designed. Then, combining tabu search algorithm with a MAGA, the algorithm MAGATS are presented. Finally, 43 benchmark instances are tested with the new algorithm. Compared with four other algorithms, the optimization performance of it is analyzed based on obtained test results. Effectiveness of the new algorithm is verified by analysis results.
The solution to the job shop scheduling problem (JSSP) is of great significance for improving resource utilization and production efficiency of enterprises. In this paper, in view of its non-deterministic polynomial properties, a multi-agent genetic algorithm based on tabu search (MAGATS) is proposed to solve JSSPs under makespan constraints. Firstly, a multi-agent genetic algorithm (MAGA) is proposed. During the process, a multi-agent grid environment is constructed based on characteristics of multi-agent systems and genetic algorithm (GA), and a corresponding neighbor interaction operator, a mutation operator based on neighborhood structure and a self-learning operator are designed. Then, combining tabu search algorithm with a MAGA, the algorithm MAGATS are presented. Finally, 43 benchmark instances are tested with the new algorithm. Compared with four other algorithms, the optimization performance of it is analyzed based on obtained test results. Effectiveness of the new algorithm is verified by analysis results.
Under current rapid development of social economy, whether an enterprise can quickly respond to market demands with limited resources under the premise of ensuring high efficiency, high quality, high output and low cost largely determines the development and destiny of it. In a production process of products, an effective solution of the JSSP is an extremely important link in achieving the above goals. Job shop scheduling means optimization of product manufacturing time or manufacturing cost is satisfied as far as possible by reasonably arranging processing order of each job to be processed on each machine based on existing machine resources and job raw materials under the condition of satisfying realistic constraints (product delivery date, product production process route and available resources).The importance of JSSPs attracts many scholars to conduct research in this field. Garey and Sethi proved that JSSPs had non-deterministic polynomial (NP) characteristics [1]. For this feature, methods for solving JSSPs can be divided into two categories: exact methods and approximation methods. Exact methods include mathematical programming method, branch and bound method, and so on [2,3]. However, exact methods mentioned above are only applicable to small-scale JSSPs. As complexity of JSSPs increases, applicability of exact methods decreases continuously. Approximation methods include priority dispatching rules, shifting bottleneck procedure, meta-heuristic algorithms, and the like. At present, meta-heuristic algorithms such as GA, ant colony algorithm (ACO), particle swarm optimization algorithm (PSO), simulated annealing algorithm (SA), neural network, tabu search (TS) and artificial bee colony algorithm (ABC) have been widely used in various field and have shown good performance [4-6].GA was presented by Holland [7] and was extensively applied to solving scheduling problems. Its excellent searching performance is favored by many researchers in this field. However, application of GA in dealing with complex JSSPs is limited due to its premature and local convergence. In response to these shortcomings, researchers proposed a number of improvement measures, such as two-stage genetic algorithm, island model genetic algorithm, hybrid genetic algorithm, and so on. Xu and Li [8] proposed immune genetic algorithm by combining immune theory with GA, which improved the global search performance of GA. Kurdi [9] proposed a new island model genetic algorithm(NIMGA), which contains a new naturally inspired evolution model and a new naturally inspired migration selection mechanism, to improve effectiveness of classical island model genetic algorithm. The new algorithm improved diversification of the search and delayed premature of GA. Chang and Liu [10] proposed a hybrid genetic algorithm by using the Taguchi method to optimize the parameters of a GA. Robustness and good optimization performance of the new algorithm were verified after applying to solve some distributed and flexible job-shop scheduling problems. Moreover, multi-agent systems have gained more and more applications in production scheduling due to their flexibility and adaptability to open and dynamic real-world environments and synergy mechanism between multiple agents. Liu et al. [11] designed a multi-agent-based solution system and successfully solved the complex 7000 queen problem. Chen et al. [12] proposed a hybrid flow shop rescheduling algorithm for perishable manufacturing systems. Products with different deadlines, values, due dates and stochastically failed operational units in the system were simulated by agents. The product agents can search the optimal scheduling path with the new algorithm.A MAGATS is proposed for solving JSSPs in this paper. To improve global search ability of the algorithm and maintain diversity of the population, on the basis of establishing a multi-agent grid environment based on GA, this paper designs a neighbor interaction operator, a mutation operator based on neighborhood structure and a self-learning operator. The algorithm combines high efficiency and simple operation of GA, synergy mechanism of a multi-agent system and global search ability of TS, which can make up for premature and local convergence of GA to some extent and improve search efficiencies and optimization ability of the algorithm. Then, JSSPs can be solved more efficiently and accurately. Resource utilization of enterprises can be promoted. Market demands can be faster respond to, which is of great significance to development of enterprises and a country.The remaining of this paper is organized as follows. The model of the JSSP and the process of achieving a MAGA are illustrated in Section 2. Section 3 introduces the establishment of MAGATS. In Section 4, 11 benchmark instances are selected to verify optimization performance of MAGATS compared with GA and MAGA. 43 benchmark instances are used to test optimization performance of the new algorithm. Based on test results and comparison with other algorithms, optimization performance of MAGATS is studied. The conclusion is made in Section 5.
2 The achievement of MAGA
This section firstly introduces the model of the JSSP to be solved. Then combining multi-agent synergy theories and GA, a MAGA is proposed.
2.1 Model of the JSSP
A JSSP is usually defined as follows.n jobs are machined on m machines, respectively denoted as sets J = {J|i = 1, 2, …, n}, M = {M|i = 1, 2, …, m}, where J is a job code, M is a machine code. Each job has a specific process. Orders that jobs use machines are assigned. The processing time required for each operation of each job on the corresponding machine is also given. The specific content of scheduling is to determine processing sequences of jobs on each machine and the starting time of each job, which makes makespan (recorded as Cmax) shortest. Besides that,(1) Sequences of different jobs on a same machine have no constraints;(2) Once a job is started on a machine, it is completed until its process is completed. Each machine can only process one job at the same time, and it is assumed that no machine failed;(3) All jobs arrive at the same time and only flow through each machine once.It is assumed that the total number of operations for all jobs is Q, G = {1, 2, …, Q} is named as an operation set; J represents the job subordinate to operation i; Machines required for processing operation i are marked as M; The starting time of operation i is denoted by S; Time needed for processing operation i is recorded as P; The sequence of two adjacent operations of a job is represented by →. Take i→j for example, operations i, j belong to one job, that is, J = J and operation i is before operation j. So, the model of the JSSP can be described as follows.In Eq (2), the second constraint represents an operation sequence constraint, that is, the start time of any one operation of a job must be later than the completion time of its previous operation. The third constraint represents a resource constraint of machines, that is, each machine can only process one job at the same time.
2.2 Construction of MAGA
By simulating the "survival of the fittest" rule in nature, classic GA calculates fitness values of all chromosomes in each evolution process at first, and then preferentially selects individuals with high fitness in a certain way, and weeds out ones with low fitness with a high probability. But in nature, things often evolve locally and then expands globally, which is like co-evolution of multi-agents in a multi-agent system. A multi-agent system is a distributed system composed of multiple agents. Each agent can be either hardware or software. It can sense and respond to local environment and communicate with neighbor agents to complete complex tasks. In a multi-agent system, co-evolution of multi-agents in a local environment can better reflect processes of evolution in nature. Therefore, GA is firstly improved to some extent by combining GA with multi-agent synergy theories.
2.2.1 Multi-agent grid environment based on GA
GA is a random search algorithm formed by simulating evolution processes of biology. The optimization process is realized by three basic operators: selection-reproduction, crossover and mutation. As shown in Fig 1, GA consists of five basic elements: encoding and decoding, design of initialing population, fitness evaluation function design, design of genetic operations such as selection-reproduction, crossover, mutation, and setting of genetic parameters.
Fig 1
Flow chart of GA.
Based on GA, a multi-agent grid environment was built. In this environment, each chromosome in GA is treated as an independent agent. Firstly, a neighbor interaction operator was designed to realize the optimization function of multi-agent systems. Secondly, to maintain diversity of population, a mutation operator based on neighborhood structure and a self-learning operator were designed and introduced. The optimization algorithm based on the multi-agent grid environment is called a MAGA. The overall flow chart is shown in Fig 2.
Fig 2
Flow chart of MAGA.
Compared Fig 1 with Fig 2, the process of MAGA is basically the same as that of GA. Similar to GA, MAGA has the same process of encoding and decoding each agent in the grid environment.2.2.1.1 Encoding and decoding of GA. Encoding is a gene representation of solutions of JSSPs. It is the primary problem faced by GA for optimization of JSSPs, which plays a key role in improving optimization effectiveness of the algorithm. Encoding methods of GA currently used for JSSPs can be summarized into two categories: direct encoding and indirect encoding. Direct encoding methods include operation-based encoding, job-based encoding, job pairs-based encoding, completion time-based encoding, random key-based encoding, while indirect encoding methods usually include precedence table-based encoding, priority rules-based encoding, disjunctive graph-based encoding and machine-based encoding [13-16]. Combined with advantages and disadvantages of various encoding methods, the operation-based encoding is more prominent than other encoding methods, and it is the most widely used method to solve JSSPs. Adopting operation-based encoding, Arbitrary arrangement of jobs can be expressed as feasible scheduling. The corresponding decoding scheme is simple and easy to operate. Moreover, feasible scheduling can always be obtained after replacing chromosomes.Although this method only has a half-Lamarkian characteristic (Lamarkian characteristic refers to the ability of inheriting good information from parent chromosomes), performance of the algorithm can be enhanced by improving design of genetic operations, thereby improving its genetic characteristics. In summary, the operation-based encoding method is used to encode JSSPs. In this method, each chromosome is represented by a gene sequence. Each gene sequence contains n×m (n jobs, m machines) genes representing operations, which is an arrangement of all operations.Existing decoding methods include semi-active decoding and active decoding. Active decoding can make decoded operations more concentrated, which can improve search efficiencies of an algorithm [17]. Therefore, an insertion strategy is adopted to decode chromosomes. Every operation in a sequence is sequentially arranged on a corresponding machine. When constraints are satisfied, every operation is started as early as possible. Finally, an active chromosome of the JSSP, that is, an active scheduling solution, is obtained. To illustrate the decoding process, data given in Table 1 are taken as an example. Processing time "4-5-11-3" in the second row of Table 1 indicates processing time required for operations of job J1 on the machines M4、M3、M1、M2, respectively.
Table 1
4×4 JSSP.
Job
Machine
Processing time
J1
M4-M3-M1-M2
4-5-11-3
J2
M3-M2-M1-M4
5-2-5-1
J3
M3-M4-M2-M1
2-5-9-3
J4
M2-M3-M4-M1
6-2-4-5
The process of decoding a chromosome is shown in Fig 3. For example, an operation sequence [1 3 1 4 2 3 2 4 3 3 4 1 4 1 2 2] generated based on data of Table 1 is actively decoded. When the 3rd operation of job J1 is to be arranged, that is, when the 3rd “1” of the operation sequence is taken, the corresponding machine M1 has been arranged job J3, it could be inserted in front of job J3. Similarly, the 4th operation O44 of job J4 could also be inserted in front of job J3, and finally Cmax could be decoded to be 34. The active scheduling solution obtained by actively decoding the chromosome is shown in Fig 4 where O represents the jth operation of job J. After active decoding the example chromosome, an active scheduling solution with more concentrated operations [1 3 4 1 3 2 1 2 4 3 4 4 3 1 2 2] is obtained.
Fig 3
Active decoding of JSSP.
Fig 4
Active scheduling solution.
2.2.1.2 Neighbor environment and action criteria of chromosome agents. MAGA uses encoding and decoding methods in GA to initial population and evaluate fitness of chromosome agents in the grid environment. To utilize multiple agents for collaborative optimization, three issues should be identified first.(1) Action intention definition of all agents. When using multiple agents for collaborative optimization, each agent represents a feasible solution of the JSSP. Therefore, its action intention is defined: under the premise of satisfying constraint conditions, encoding sequences are adjusted to the optimal solution in combination with its own environment.(2) Neighbor environment definition of chromosome agents. Regard each chromosome as a separate agent, and then fix them in a L×L grid environment (as shown in Fig 5), thus forming a neighbor environment for each chromosome agent. It should be noted that the number of neighbors per chromosome is not fixed. It can be 4, 8 or more, or it can be dynamic. Since the main purpose of this paper is to combine a multi-agent grid environment with GA to study its optimization effectiveness, the number of neighbors is set to 4. It is defined as follows.
Fig 5
Multi-agent gird environment.
Suppose A represents a chromosome agent with coordinates (i, j) in the grid environment, then a neighbor set N of it can be defined:
where L represents the dimension of the grid environment. Four neighbors corresponding to each agent can be found according to Eq (3). For example, neighbors coordinates of agent A22 are (1, 2), (2, 1), (2, 3) and (3, 2). Neighbors coordinates of agent A11 are (L 1), (1, L), (2, 1) and (1, 2).(3) Action criteria of chromosome agents. Each agent interacts with only four neighbors according to its own environment, and improves its own fitness by competing and cooperating with the best neighbors around.
2.2.2 Design of neighbor interaction operators
In general, design of a crossover operator should be able to inherit good features of parent chromosomes on the basis of ensuring generation of feasible solutions, so that the algorithm evolves toward the optimal solution. For JSSPs, if the scheduling solution obtained by processing two adjacent jobs (J, J) on a machine is better, then inheritance of this processing order (J, J) to offspring can still retain this advantage. Many scholars have proposed many crossover operators. The more successful ones are Linear Order Crossover (LOX), Precedence Operation Crossover (POX), Precedence Preservation Crossover (PPX), etc [18-20]. The POX operator proposed by Zhang et al. can better inherit superior features of parent chromosomes compared with other crossover operators [21]. Its specific implementation is shown in Fig 6.
Fig 6
Principles of POX.
Specific steps of POX are as follows.(1) A job set is randomly divided into two non-empty subsets JS1, JS2, as shown in Fig 6, JS1 = {1, 3}, JS2 = {2, 4};(2) Genes belonging to JS1 in parent1 are directly copied to child1, and genes belonging to JS1 in parent2 are directly copied into child2.Positions of the genes are retained;(3) The remaining genes in parent2 are copied into child1, and the remaining genes in parent1 are copied into child2. Orders of the genes are preserved.Individuals involved in the crossover in GA are from random pairing, but individuals participating in neighbor interaction only exist in the local environment of each agent. The design criteria for a neighbor interaction operator are as follows.(1) If a current agent's fitness value is higher than its four neighbor agents, it will be retained as a winner, and its encoding sequence remains unchanged;(2) If a current agent’s fitness value is lower than the fitness value of the optimal neighbor agent, it will be replaced by the optimal neighbor. The replacement process adopts a POX operator. Unlike traditional crossover operations, each interaction only generates one offspring, that is, only child1 is retained.There are two strategies for the replacement mechanism.(1) Take the optimal neighbor agent as parent1 and the current agent is regarded as parent2. Obtain an optimal offspring through λ POX operations;(2) Take the current agent as parent1 and the optimal neighbor agent is regarded as parent2. Obtain an optimal offspring through λ POX operations.Strategy (1) is accepted at probability P, the other one is adopted at probability 1-P. The first strategy focuses more on concentration of optimization and is beneficial to speed up an algorithm’s convergence rate. The second strategy focuses more on dispersion of optimization.
2.2.3 Design of mutation operators based on neighborhood structure
Mutation operators are designed to give agents a small disturbance to ensure the diversity of population. After solving the JSSP through the neighbor interaction operator, if the optimal agent obtained has high fitness, how to further improve its fitness decides whether an algorithm can find a better solution. Mutation operations commonly used in existing researches include exchange mutation, insertion mutation, reverse mutation, replacement mutation, and the like. There are two shortcomings in these mutation operations. Firstly, directions of mutation have a large blindness, and it is difficult to direct an algorithm to the global optimal solution. Secondly, these mutation operations have a greedy nature to some extent, which is easy to direct an algorithm to local optimum. A neighborhood structure is a mechanism that applies a small perturbation to a given solution to obtain another solution. Therefore, a new mutation operator named mutation operator based on neighborhood structure is presented.2.2.3.1 The neighborhood structure of the JSSP. In the field of combinatorial optimization, studying the neighborhood structure of a problem is one of the most important ways to optimize solutions of the problem. Van Laarhoven et al. [22] proposed N1 neighborhood structure. New solutions were generated by randomly exchanging two adjacent operations on a critical path. It is proved that the optimal solution can be found through a limited number of interchange operations under N1 neighborhood structure. To further promote an algorithm’s quality and efficiency, many researchers subsequently proposed N4, N5, N6 neighborhood structures [23-25]. Matsuo et al. found that only when the job immediate predecessor operation (JIPO) of operation u or the job immediate successor operation (JISO) of operation v was contained in a critical path including operations u and v (assuming operation u is processed before operation v), exchanging key operations u and v made it possible to reduce makespan of a given solution [26]. Based on this theory, N7 neighborhood structure was proposed by Zhang et al. [27]. This new neighborhood structure can explore a wider solution space on the basis of ensuring generation of feasible solutions, so that higher quality feasible solutions can be obtained. Before introducing N7 neighborhood structure, some concepts need to be explained.Definition 2.1 In the JSSP, each key operation u has two immediate predecessor operations and two immediate successor operations, which includes: a JIPO and a JISO. The previous and next operation of operation u that belong to the same job as operation u are represented by J[u] and J[u] respectively. A machine immediate predecessor operation (MIPO) and a machine immediate successor operation (MISO). The previous and next operation of operation u that belong to the same machine as operation u are represented by M[u] and M[u] respectively.Definition 2.2 A critical path is the longest path from the starting point 0 to the ending point 17 in a directed graph as shown in Fig 7. The path length is makespan of a scheduling solution. Fig 7 is a disjunctive graph model which took 4×4 JSSP in Table 1 as an example and used the introduction of a disjunctive graph in [14] as a basis.
Fig 7
A disjunctive graph model of 4×4 JSSP.
Definition 2.3 Each operation on a critical path is called a key operation. As shown in Fig 8, according to the active scheduling solution in Fig 4, select a certain direction for bidirectional arcs in the disjunctive graph model, thereby forming a directed graph representation of 4x4 JSSP. At the same time, adjacent key operations group of a largest sequence processed on the same machine is called a block, such as [O34, O23] is a block.
Fig 8
An acyclic directed graph and a critical path of 4×4 JSSP.
Based on definitions 2.1 to 2.3, under the premise that operation x and y are both on the same critical path, N7 neighborhood structure can be defined as follows.(1) When y is a block tail operation and its JISO is in the critical path, operation x can be moved after operation y, and vice versa. As shown in Fig 9.
Fig 9
JISO of a block tail operation is in the critical path.
(2) When x is a block head operation and its JIPO is in the critical path, operation y can be moved before operation x, and vice versa. As shown in Fig 10.
Fig 10
JIPO of a block head operation is in the critical path.
Figs 9 and 10 are key operation blocks in two critical paths including operation x and operation y. u1, u and "…" in the rectangular frame indicate intermediate operations in the block.2.2.3.2 Key operations search based on operation-based encoding. Based on operation-based encoding, the first step in generating a neighborhood solution is to search for key operations. Searching for key operations can be done by a machine Gantt chart obtained after active decoding. Starting from the last completed operation, operations whose completion time immediately follows the start time of the current operation are marked as key operations. If MIPO and JIPO of an operation are encountered at the same time, the JIPO is selected as a key operation.Take the active scheduling solution [1 3 4 1 3 2 1 2 4 3 4 4 3 1 2 2] obtained before for example, its key operation blocks are shown in Fig 11.
Fig 11
Key operation blocks.
2.2.3.3 Mutation mechanism based on neighborhood solutions. According to discussions of two parts above, after obtaining key operation blocks of an agent encoding sequence, a mutation operator based on neighborhood structure is implemented as follows.(1) Record all operation pairs that can be exchanged according to the definition of N7 neighborhood structure.(2) Randomly select an exchangeable operation pair at probability Pm to perform mutation operation.
2.2.4 Design of self-learning operators
Each agent can gradually improve its fitness value through interaction operations with neighbors and mutation operations based on neighborhood structure. Similarly, take the optimal agents in each generation to construct a small grid environment with a size of sLsize×sLsize. Perform S neighbor interactions and mutation operations based on neighborhood structure to obtain a new optimal agent. The flow chart is shown in Fig 12.
Fig 12
Flow chart of mutation operator.
3 The achievement of MAGATS
The algorithm framework of MAGA is based on that of GA. Therefore, it is inevitable to fall into local optimal solutions when solving JSSPs. Currently, a hybrid intelligent algorithm through combining a swarm intelligence algorithm with a local search algorithm is a more advanced algorithm for solving JSSPs [19]. Compared with only adopting swarm intelligence algorithms, its optimization effects have been significantly improved. Currently, local search algorithms are mainly represented by TS and SA. Since SA avoids local optimization by accepting inferior solutions with a certain probability, it may return to the previous solution in the process of searching for the optimal solution, which leads to the algorithm to oscillate around a local optimal solution, thus wasting a lot of computing time. For this, on the basis of MAGA, a MAGATS is proposed by introducing TS to enhance the global search ability. The flow chart of MAGATS is shown in Fig 13.
Fig 13
Flow chart of MAGATS.
Specific steps of MAGATS are summarized as follows.(1) After conducting a MAGA, the best agent is set as the current solution and the optimal solution.(2) Obtain a set of candidate solutions to be selected according to neighborhood structure of current solutions (N7 neighborhood structure is adopted). Verify tabu of each candidate solution.(3) Determine whether tabu solutions satisfy the aspiration criterion: if fitness of a tabu solution is higher than previous accepted solutions, then the solution will be released and will be set as the current solution and the optimal solution. If it does not, a solution with the highest fitness selected from the non-tabu solution set will be the current solution. Update the tabu table.(4) Repeat steps (2), (3) until satisfying termination criteria. The termination criteria are to reach the maximum number of iterations or find the best known solution (BKS). Set the maximum number of iterations to 300.(5) If the BKS is found, the algorithm is stopped. Otherwise, repeat steps (1)—(4) until the BKS is found or C≥H.Key parameter settings of TS in MAGATS include selection of tabu objects and length setting of a tabu table.(1) Selection of tabu objects. In section 2.2.3, neighborhood structures of JSSPs and judgement of key operations and exchangeable operation pairs were discussed. Therefore, operation pairs were marked as tabu objects. For example, a candidate solution is generated through exchanging operations O12 and O32 which are both processed on M1. Then, exchange of this operation pair is added to the tabu table.(2) Length setting of a tabu table. A tabu table can be regarded as a special queue with first-in, first-out characteristics. When a new tabu object is added, set its tabu length Llist. In other words, once entering in the tabu table, the tabu object can be dequeued until Llist iterations of TS (provided that aspiration criterion is not met). If tabu length of the tabu table is too small, it is easy to fall into local optimum. On the contrary, if tabu length is too large, too many constraints will be generated. An effective approach for JSSPs is to introduce a dynamic tabu table, which sets the tabu length Llist to be randomly selected in [L, L]. After several tests, setting Lmin = [10+n/m] and Lmax = [1.8Lmin] is better.
4 Results and analysis
The proposed algorithm MAGATS is implemented by Visual C++. The program running environment is a PC with a core i5 processor, 2.5GHz main frequency, and 8G memory. To test optimization performance of the algorithm, 43 instances are selected from the OR-library, which included FT06, FT10,FT20 contributed by Fisher and Thompson and LA01~LA40 contributed by Lawrence [28,29]. These instances are often used to test optimization performance of a new algorithm. Two comparative analysis are completed based on these instances.
4.1 Comparison of MAGATS with GA and MAGA
Parameters of GA, MAGA and MAGATS are set as follows.GA: Size of initial population = 256, probability of crossover Pc = 0.8, the number of crossover λ = 50, probability of mutation P = 0.1, the maximum number of iterations I = 300. MAGA: L = 16,sL = 3,probability of neighbor interaction Pc = 0.8, probability of replacement mechanism P = 0.5,the number of crossover λ = 50, probability of mutation P = 0.1,the number of self-learning S = 50, the maximum number of iterations I = 300; TS: the maximum number of cycles H = 300.The remaining of relevant parameters refers to section 3. 11 instances of different sizes are selected to verify the improvement of MAGATS compared with GA and MAGA. The results are shown in Table 2. C is the best solution every algorithm can find in 20 runs. C and σ are the mean and standard deviation of all 20 solutions acquired by GA,MAGA and MAGATS.
Table 2
Comparison of MAGATS with GA and MAGA.
Instances
Size
BKS
GA
MAGA
MAGATS
Cbest
Caver
σ
Cbest
Caver
σ
Cbest
Caver
σ
FT06
6×6
55
55
55
0
55
55
0
55
55
0
FT10
10×10
930
930
949.7
15.05
930
939
7.42
930
930
0
FT20
20×5
1165
1174
1193.55
13.67
1165
1173.40
4.76
1165
1165
0
LA01
10×5
666
666
666
0
666
666
0
666
666
0
LA06
15×5
926
926
926
0
926
926
0
926
926
0
LA11
20×5
1222
1222
1222
0
1222
1222
0
1222
1222
0
LA16
10×10
945
946
952.95
9.87
946
949
4.15
945
945.90
0.3
LA24
15×10
935
947
969.60
12.56
943
958.35
9.10
935
943.25
3.16
LA29
20×10
1152
1243
1267.05
16.93
1193
1214.4
11.28
1164
1174.15
8.05
LA35
30×10
1888
1888
1888
0
1888
1888
0
1888
1888
0
LA36
15×15
1268
1296
1326.55
12.75
1292
1299.27
6.33
1281
1288.70
4.87
As shown in Table 2 and Fig 14, compared with GA and MAGA. MAGATS finds the most BKSs and behaves better optimization performance and better stability.
Fig 14
Mean and standard deviation of GA, MAGA and MAGATS.
4.2 Comparison between MAGATS and other algorithms
In this comparative analysis, all 43 instances are run 20 times respectively, and the obtained test results with MAGATS are compared with other four algorithms: NIMGA, aLSGA, WW, TSSB [9,30-32], as shown in Table 3. Table 3 lists instance name, instance size (number of jobs × number of machines), the best known solution (BKS), the optimal solution (OS) obtained by MAGATS, RD (relative deviation between the optimal solution obtained by MAGATS and BKS) and the optimal solution obtained by other algorithms. RD can be calculated by Eq (4).
Table 3
Comparison of optimization results of 43 instances.
Instances
Size
BKS
MAGATS
RD(%)
NIMGA
aLSGA
WW
TSSB
FT06
6×6
55
55
0
55
55
55
55
FT10
10×10
930
930
0
930
930
930
930
FT20
20×5
1165
1165
0
1173
1165
1165
1165
LA01
10×5
666
666
0
666
666
666
666
LA02
10×5
655
655
0
655
655
655
655
LA03
10×5
597
597
0
597
606
597
597
LA04
10×5
590
590
0
590
593
590
590
LA05
10×5
593
593
0
593
593
593
593
LA06
15×5
926
926
0
926
926
926
926
LA07
15×5
890
890
0
890
890
890
890
LA08
15×5
863
863
0
863
863
863
863
LA09
15×5
951
951
0
951
951
951
951
LA10
15×5
958
958
0
958
958
958
958
LA11
20×5
1222
1222
0
1222
1222
1222
1222
LA12
20×5
1039
1039
0
1039
1039
1039
1039
LA13
20×5
1150
1150
0
1150
1150
1150
1150
LA14
20×5
1292
1292
0
1292
1292
1292
1292
LA15
20×5
1207
1207
0
1207
1207
1207
1207
LA16
10×10
945
945
0
945
946
945
945
LA17
10×10
784
784
0
784
784
784
784
LA18
10×10
848
848
0
848
848
848
848
LA19
10×10
842
842
0
842
852
842
842
LA20
10×10
902
907
0.55
907
907
907
902
LA21
15×10
1046
1046
0
1058
1068
1046
1046
LA22
15×10
927
927
0
937
956
935
927
LA23
15×10
1032
1032
0
1032
1032
1032
1032
LA24
15×10
935
935
0
947
966
937
938
LA25
15×10
977
977
0
989
1002
977
979
LA26
20×10
1218
1218
0
1218
1223
1218
1218
LA27
20×10
1235
1235
0
1269
1281
1236
1235
LA28
20×10
1216
1216
0
1247
1245
1216
1216
LA29
20×10
1152
1164
1.04
1241
1230
1160
1168
LA30
20×10
1355
1355
0
1355
1355
1355
1355
LA31
30×10
1784
1784
0
1784
1784
1784
1784
LA32
30×10
1850
1850
0
1850
1850
1850
1850
LA33
30×10
1719
1719
0
1719
1719
1719
1719
LA34
30×10
1721
1721
0
1721
1721
1721
1721
LA35
30×10
1888
1888
0
1888
1888
1888
1888
LA36
15×15
1268
1281
1.03
1293
-
1279
1268
LA37
15×15
1397
1397
0
1432
-
1407
1411
LA38
15×15
1196
1198
0.17
1222
-
1196
1201
LA39
15×15
1233
1233
0.00
1251
-
1242
1240
LA40
15×15
1222
1228
0.49
1246
-
1229
1233
Based on the obtained RDs for each instance, ARD used to evaluate the optimization performance of each algorithm can be calculated by Eq (5).
where N is the number of instances tested by each algorithm. Contents of Table 4 include the number of instances solved/the number of instances tested (NIS/NIT), ARD of other algorithms(OA) and MAGATS and improvement. The column named improvement means the reduction of ARD obtained by MAGATS compared with OA. In other words, the more efficient algorithm can be identified.
Table 4
Improvement of MAGATS compared with OA.
Algorithm
NIS/NIT
ARD
Improvement
OA(%)
MAGATS(%)
NIMGA
29/43
0.68
0.08
0.60
aLSGA
25/38
0.74
0.04
0.70
WW
34/43
0.12
0.08
0.04
TSSB
36/43
0.11
0.08
0.03
Based on Tables 3 and 4, the new algorithm is analyzed.(1) The proposed algorithm MAGATS finds 38 optimal solutions of 43 instances. To small instances FT06, FT10, FT20 and LA01~LA15, all five algorithms can find almost all the best known solutions. But to relatively large instances LA16~LA40 (25 instances), 20 best known solutions (80%) is found by MAGATS, which has better optimization performance than NIMGA(48%), aLSGA(45%), WW(64%) and TSSB (72%).(2) Compared with other algorithms, ARD of MAGATS is the smallest. It indicates that the optimal solutions obtained by MAGATS is closest to the best known solutions or the minimum makespan. It is further shown that the new algorithm has better optimization performance. Compared with other algorithms, obtained solutions are of higher quality.In order to visualize scheduling results of the JSSP optimized by MAGATS, an example LA39 is selected to display its optimal scheduling in a machine Gantt chart, as shown in Fig 15. Since O is easy to cause ambiguity, (Ji,j) is used to represent the jth operation of J.
Fig 15
Machine Gantt chart of instance LA39.
5 Conclusion
Aiming at NP characteristics of JSSPs and minimizing makespan, a MAGATS is proposed in this paper. The new algorithm is applied to test 43 benchmark instances. Compared with four other algorithms, optimization performance of it is analyzed based on the obtained test results. Analysis results show that the proposed algorithm MAGATS has high optimization performance and practical value in the field of JSSPs.Highlights of this paper can be concluded into the following 3 aspects.(1) A neighbor interaction operator based on a POX operator is designed. Under the algorithm framework of MAGA, each agent can only interact with neighbors. A replacement mechanism is adopted to retain good chromosomes. The algorithm's global search performance is enhanced to some extent, thus achieving optimization function of the algorithm.(2) A mutation operator based on neighborhood structure and a self-learning operator are designed. By introducing N7 neighborhood structure into the design of mutation operators, a wider solution space can be explored, thereby obtaining a higher quality feasible scheduling. Centralized search ability of MAGATS can be further enhanced by the self-learning operator.(3) A MAGATS is proposed. Combined with excellent global search performance of TS, MAGA is integrated with TS to further enhance optimization performance of the algorithm, avoiding premature and falling into local optimal.The proposed algorithm MAGATS is only used to solve JSSPs with a goal of minimizing makespan. Influences of neighbor environment of chromosome agents on optimization performance of the algorithm need further research. In the future research work, feasibility of this algorithm in multi-objective job shop scheduling and flexible job shop scheduling will also be studied.
Meta-data of 43 instances.
(DOCX)Click here for additional data file.11 Sep 2019[EXSCINDED]PONE-D-19-21845Research on Multi-agent Genetic Algorithm Based on Tabu Search for Job Shop Scheduling ProblemPLOS ONEDear Professor Peng,Thank you for submitting your manuscript to PLOS ONE. After careful consideration, we feel that it has merit but does not fully meet PLOS ONE’s publication criteria as it currently stands. Therefore, we invite you to submit a revised version of the manuscript that addresses the points raised during the review process.==============================Please check the reference citation format. For example, "Garey M and Sethi J proved that JSSP had non-deterministic polynomial (NP) characteristics [1]. ". -->"Garey and Sethi proved that JSSP had non-deterministic polynomial (NP) characteristics [1]. ".==============================We would appreciate receiving your revised manuscript by Oct 26 2019 11:59PM. When you are ready to submit your revision, log on to https://www.editorialmanager.com/pone/ and select the 'Submissions Needing Revision' folder to locate your manuscript file.If you would like to make changes to your financial disclosure, please include your updated statement in your cover letter.To enhance the reproducibility of your results, we recommend that if applicable you deposit your laboratory protocols in protocols.io, where a protocol can be assigned its own identifier (DOI) such that it can be cited independently in the future. For instructions see: http://journals.plos.org/plosone/s/submission-guidelines#loc-laboratory-protocolsPlease include the following items when submitting your revised manuscript:A rebuttal letter that responds to each point raised by the academic editor and reviewer(s). This letter should be uploaded as separate file and labeled 'Response to Reviewers'.A marked-up copy of your manuscript that highlights changes made to the original version. This file should be uploaded as separate file and labeled 'Revised Manuscript with Track Changes'.An unmarked version of your revised paper without tracked changes. This file should be uploaded as separate file and labeled 'Manuscript'.Please note while forming your response, if your article is accepted, you may have the opportunity to make the peer review history publicly available. The record will include editor decision letters (with reviews) and your responses to reviewer comments. If eligible, we will contact you to opt in or out.We look forward to receiving your revised manuscript.Kind regards,Feng ChenAcademic EditorPLOS ONEJournal Requirements:When submitting your revision, we need you to address these additional requirements.1. Please ensure that your manuscript meets PLOS ONE's style requirements, including those for file naming. The PLOS ONE style templates can be found athttp://www.journals.plos.org/plosone/s/file?id=wjVg/PLOSOne_formatting_sample_main_body.pdf and http://www.journals.plos.org/plosone/s/file?id=ba62/PLOSOne_formatting_sample_title_authors_affiliations.pdf2. We suggest you thoroughly copyedit your manuscript for language usage, spelling, and grammar. If you do not know anyone who can help you do this, you may wish to consider employing a professional scientific editing service.Whilst you may use any professional scientific editing service of your choice, PLOS has partnered with both American Journal Experts (AJE) and Editage to provide discounted services to PLOS authors. Both organizations have experience helping authors meet PLOS guidelines and can provide language editing, translation, manuscript formatting, and figure formatting to ensure your manuscript meets our submission guidelines. To take advantage of our partnership with AJE, visit the AJE website (http://learn.aje.com/plos/) for a 15% discount off AJE services. To take advantage of our partnership with Editage, visit the Editage website (www.editage.com) and enter referral code PLOSEDIT for a 15% discount off Editage services. If the PLOS editorial team finds any language issues in text that either AJE or Editage has edited, the service provider will re-edit the text for free.Upon resubmission, please provide the following:The name of the colleague or the details of the professional service that edited your manuscriptA copy of your manuscript showing your changes by either highlighting them or using track changes (uploaded as a *supporting information* file)A clean copy of the edited manuscript (uploaded as the new *manuscript* file)[Note: HTML markup is below. Please do not edit.]Reviewers' comments:Reviewer's Responses to QuestionsComments to the Author1. Is the manuscript technically sound, and do the data support the conclusions?The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.Reviewer #1: YesReviewer #2: Yes**********2. Has the statistical analysis been performed appropriately and rigorously?Reviewer #1: YesReviewer #2: Yes**********3. Have the authors made all data underlying the findings in their manuscript fully available?The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.Reviewer #1: YesReviewer #2: Yes**********4. Is the manuscript presented in an intelligible fashion and written in standard English?PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.Reviewer #1: YesReviewer #2: Yes**********5. Review Comments to the AuthorPlease use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)Reviewer #1: The manuscript entitled “Research on multi-1 agent genetic algorithm based on tabu search for job shop scheduling problem” by Chong Peng et al. proposes a multi-agent genetic algorithm based on tabu search to solve job shop scheduling problem under makespan constraints.1. The authors presents an algorithm combining tabu search with a MAGA. With benchmark instances, the algorithm proves its improvement in effectiveness.2. The statistical analysis has been performed with 43 benchmark instances often used to test optimization performance. The results reported a better optimization performance. The authors conclusion sounds credible.3. The language of the manuscript looks good.Reviewer #2: The solution to job shop scheduling problem is of great significance for improving resource utilization and production efficiency of enterprises. In this paper, in view of its non-deterministic polynomial properties, a multi-agent genetic algorithm based on tabu search (MAGATS) was proposed to solve job shop scheduling problem under makespan constraints. Firstly, a multi-agent genetic algorithm (MAGA) was proposed. The paper is well organized and the methods proposed by the authors were verified by the given examples. I can recommend it to be accepted.**********6. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.If you choose “no”, your identity will remain anonymous but your review may still be made public.Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.Reviewer #1: Yes: Pengzhong, LIReviewer #2: No[NOTE: If reviewer comments were submitted as an attachment file, they will be attached to this email and accessible via the submission site. Please log into your account, locate the manuscript record, and check for the action link "View Attachments". If this link does not appear, there are no attachment files to be viewed.]While revising your submission, please upload your figure files to the Preflight Analysis and Conversion Engine (PACE) digital diagnostic tool, https://pacev2.apexcovantage.com/. PACE helps ensure that figures meet PLOS requirements. To use PACE, you must first register as a user. Registration is free. Then, login and navigate to the UPLOAD tab, where you will find detailed instructions on how to use the tool. If you encounter any issues or have any questions when using PACE, please email us at figures@plos.org. Please note that Supporting Information files do not need this step.14 Sep 2019Dear Reviewers and Editors,Thank you very much for your useful comments and suggestions on the content and language of our manuscript. Your comments are very valuable and helpful for revising and improving our work. The detailed corrections are written in the file "Response to Reviewers". I copy the contents here.Reviewer #1:1) Combining multi-agent synergy theories and genetic algorithm, a multi-agent genetic algorithm (MAGA) is firstly proposed. Furthermore, a multi-agent genetic algorithm based on tabu search (MAGATS) is proposed. This paper only discusses the improvement of optimization performance of the MAGATS from the theoretical level, but lacks case analysis. It is better to compare MAGATS with MAGA and GA to show the difference multi-agent and TS make.Thanks for the comments.Your comments are very helpful to further improve the logical rigor of our paper. According to your comments, in Section 4.1 of the revised manuscript, we use 11 instances of different sizes to test the performance of MAGATS, GA and MAGA. By calculating the optimal value, average value and variance of the optimization results, the optimization quality and stability of the MAGATS compared with the GA and MAGA is proved. Detailed changes are in the revised manuscript with track changes.Please check.2) The structure of the paper can be further improved. For example, Section 2 is too small compared with other major sections.Thanks for the comments.The contents described in Section 2 of the manuscript is mainly about the model of job shop scheduling. The achievement of MAGA and MAGATS is introduced successively in Section 3. Compared with Section 3, the information provided is relatively litter in Section 2. According to your comments, Section 3 is split two sections, that is, “The achievement of MAGA” and “The achievement of MAGATS”. Section “Model of JSSP” and Section “The achievement of MAGA” are merged into one new Section “The achievement of MAGA”. Detailed changes are in the revised manuscript with track changes.Please check.3) Please check the reference citation format. For example, "Garey M and Sethi J proved that JSSP had non-deterministic polynomial (NP) characteristics [1]. ". -->"Garey and Sethi proved that JSSP had non-deterministic polynomial (NP) characteristics [1]. "Thanks for the comments.Per the Reviewer’s suggestion, we have made corresponding corrections and check the references citation format carefully. Detailed changes are in the revised manuscript with track changes.Please check.4) Define abbreviations upon first appearance in the text. Please check the abbreviations in the paper. For example, the abbreviations “GA” of “genetic algorithm” should appear in the abstract.Thanks for the comments.Per the Reviewer’s suggestion, we have made corresponding corrections and check the abbreviations carefully. Detailed changes are in the revised manuscript with track changes.Please check.5) The article is too long and should be condensed. The contents of the paper should mainly reflect its own important research contents.Thanks for the comments.Per the Reviewer’s suggestion, we cut down the contents of three places in the paper.Firstly, in Section 1, the contents about exact methods for solving JSSPs is cut down. The researches about mathematical programming method, branch and bound method are not relevant to our research.Secondly, in Section 3.1.1, Table 1 is deleted. The table is a short review about advantages and disadvantages encoding methods of GA used for JSSP. The main purpose of this paper is to choose the most suitable operation-based encoding method by comparing various encoding methods. The table is not necessary in this paper. Pointing out the advantages of the operation-based encoding method is enough.Finally, Fig 5 in the manuscript is about the semi-active scheduling solution of 4×4 JSSP in Table 2. Its original purpose is to prove that active scheduling is superior to semi-active scheduling, which is an accepted fact. It is also unnecessary in the paper. Detailed changes are in the revised manuscript with track changes.Please check.Reviewer #2:1) It is better to show the mean and standard deviation of 20-run results for all algorithms, which helps to see whether the differences are statistically significant or not.Thanks for the comments.Table 3 in Section 4 contains the optimization results of 5 algorithms for 43 instances. For other algorithms other than MAGATS in the table, the corresponding paper only provides the optimization results for various instances, but does not provide the mean and standard deviation of the algorithm. Therefore, considering the time cost, it is difficult to implement. However, in the new Section 4.1, the mean and standard deviation of GA, MAGA and MAGATS are calculated, which is used to complete the comparative analysis of three algorithms. Detailed changes are in the revised manuscript with track changes.Please check.2) In section 3.2. Fig 14 introduces the flow chart of MAGATS. But the parameters setting and specific steps of TS are introduced below the figure. There is some confusion in logic, so it is better to reorganize it.Thanks for the comments.MAGATS is a combination of MAGA and TS. Because the flow chart of MAGA has been introduced in Section 3.1.1, this section focuses on the remaining TS in MAGATS. Therefore, below the figure, we only introduce the parameters setting and specific steps of TS. To avoid logical misunderstanding of the content of the paper,we have made some revisions in the revised manuscript with track changes. “Specific steps of TS are summarized as follows.” is modified to “Specific steps of MAGATS are summarized as follows.” The corresponding contents of some steps are also modified to some extent. Detailed changes are in the revised manuscript with track changes.Please check.3) The tenses in the article are confused, the simple present tense and the simple past tense coexist. The unified tense is helpful to understand the article.Thanks for the comments.Per the Reviewer’s suggestion, the tense in our paper is modified to the simple past tense. The main changes are in the abstract and the conclusions. Detailed changes are in the revised manuscript with track changes.Please check.4) The variables in the text should be italicized, such as variable “λ” in Row 201 and Row 203.Thanks for the comments.Per the Reviewer’s suggestion, we have made corresponding corrections. Detailed changes are in the revised manuscript with track changes.Please check.Submitted filename: Response to Reviewers.docxClick here for additional data file.17 Sep 2019Research on Multi-agent Genetic Algorithm Based on Tabu Search for Job Shop Scheduling ProblemPONE-D-19-21845R1Dear Dr. Peng,We are pleased to inform you that your manuscript has been judged scientifically suitable for publication and will be formally accepted for publication once it complies with all outstanding technical requirements.Within one week, you will receive an e-mail containing information on the amendments required prior to publication. When all required modifications have been addressed, you will receive a formal acceptance letter and your manuscript will proceed to our production department and be scheduled for publication.Shortly after the formal acceptance letter is sent, an invoice for payment will follow. To ensure an efficient production and billing process, please log into Editorial Manager at https://www.editorialmanager.com/pone/, click the "Update My Information" link at the top of the page, and update your user information. If you have any billing related questions, please contact our Author Billing department directly at authorbilling@plos.org.If your institution or institutions have a press office, please notify them about your upcoming paper to enable them to help maximize its impact. If they will be preparing press materials for this manuscript, you must inform our press team as soon as possible and no later than 48 hours after receiving the formal acceptance. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information, please contact onepress@plos.org.With kind regards,Feng ChenAcademic EditorPLOS ONEJournal Requirements:We find that there are remaining concerns related to the English language and syntax. For instance, "job shop scheduling problem" should be changed to "the job shop scheduling problem" when it is written out in the title, abstract, and introduction. (If it is plural ["job shop scheduling problems"], "the" is not needed.) Please address this as part of of your technical revisions. Note that PLOS ONE does not provide in-house copyediting. Thus, we would recommend having the full manuscript checked again by a copyeditor prior to publication.Additional Editor Comments (optional):Reviewers' comments:20 Sep 2019PONE-D-19-21845R1Research on multi-agent genetic algorithm based on tabu search for the job shop scheduling problemDear Dr. Peng:I am pleased to inform you that your manuscript has been deemed suitable for publication in PLOS ONE. Congratulations! Your manuscript is now with our production department.If your institution or institutions have a press office, please notify them about your upcoming paper at this point, to enable them to help maximize its impact. If they will be preparing press materials for this manuscript, please inform our press team within the next 48 hours. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information please contact onepress@plos.org.For any other questions or concerns, please email plosone@plos.org.Thank you for submitting your work to PLOS ONE.With kind regards,PLOS ONE Editorial Office Staffon behalf ofDr. Feng ChenAcademic EditorPLOS ONE