Figures
Abstract
A DNA (DeoxyriboNucleic Acid) algorithm is proposed to solve the job shop scheduling problem. An encoding scheme for the problem is developed and DNA computing operations are proposed for the algorithm. After an initial solution is constructed, all possible solutions are generated. DNA computing operations are then used to find an optimal schedule. The DNA algorithm is proved to have an O(n2) complexity and the length of the final strand of the optimal schedule is within appropriate range. Experiment with 58 benchmark instances show that the proposed DNA algorithm outperforms other comparative heuristics.
Citation: Tian X, Liu X, Zhang H, Sun M, Zhao Y (2020) A DNA algorithm for the job shop scheduling problem based on the Adleman-Lipton model. PLoS ONE 15(12): e0242083. https://doi.org/10.1371/journal.pone.0242083
Editor: Shih-Wei Lin, Chang Gung University, TAIWAN
Received: June 16, 2020; Accepted: October 27, 2020; Published: December 2, 2020
Copyright: © 2020 Tian et al. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
Data Availability: All relevant data are within the manuscript and its Supporting Information files.
Funding: This work was partly supported by the National Natural Science Foundation of China (Nos. 61876101, 61802234, 61806114), the Social Science Fund Project of Shandong (Nos. 11CGLJ22, 16BGLJ06), the Natural Science Foundation of the Shandong Province (No. ZR2019QF007), the Youth Fund for Humanities and Social Sciences, Ministry of Education (No. 19YJCZH244), the China Postdoctoral Special Funding Project (No. 2019T120607), and the China Postdoctoral Science Foundation Funded Project (Nos. 2017M612339, 2018M642695).
Competing interests: The authors have declared that no competing interests exist.
1. Introduction
It is well known that the traditional silicon-based computers use serial algorithms, so that their computing speed cannot qualitatively leap. It is also well known that optimal solutions of most of the celebrated computationally intractable problems can only be found by an exhaustive search through all possible solutions. However, the insurmountable difficulty lies in the fact that such an exhaustive search is too vast to carry out using currently available computing technology, so that numerous intractable problems cannot be solved effectively. Some visionary remarks were made about new ways of solving such problems through possible miniaturizations. Feynman’s view [1] was widely accepted, stating the possibility of establishing “sub-microscopic” computers. Since then, although significant progresses have been made in relation to computer miniaturization, the goal of sub-microscopic computers has not yet been achieved.
As a new interdisciplinary area, DNA computing has received increasing attentions. Massive parallelism and huge storage capacity are two significant advantages of DNA computing. Parallelism means DNA computing can perform billions of operations simultaneously. Furthermore, DNA computers can solve more intractable problems, such as non-deterministic polynomial-time) (NP)-hard problems, in linear time, as compared with conventional electronic computers in exponential time. In addition, the high density of data stored in DNA strands and the ease in duplicating them can make such exhaustive searches possible. Adleman’s experiment [2] solved the Hamiltonian Path Problem for a given directed graph, and demonstrated the strong parallel computing power of DNA computing. Lipton’s DNA-based solution of the satisfiability problem [3] used some of Adleman’s basic operations. Indeed, it used an exhaustive search that was made computationally feasible by the massive parallelism of the DNA strands. Ouyang et al. [4] turned the maximal clique problem, another NP-complete problem, into the maximum independent set problem, and solved the problem with six vertices in the laboratory by using the parallel overlap assembly technology. Roweis et al. [5] introduced a new DNA computing model, i.e., the sticker model, and used this model to solve the minimal set cover problem and the data encryption problem. Furthermore, the self-assembly model [6], the hairpin model [7] and the surface-based model [8, 9] had already been proposed and built.
Among the many DNA computing models mentioned above, the Adleman-Lipton model and the sticker model are most widely used in solving classical combinatorial optimization problems. There are numerous publications in the literature addressing the combinatorial optimization problems using the Adleman-Lipton model. For example, Xiao et al. [10] solved maximum cut problems using the Adleman-Lipton model with O(n2) steps. Hsieh et al. [11] solved the graph isomorphism problem with the Adleman-Lipton model with stickers using a polynomial number of basic biological operations. Yang et al. [12] proposed a theoretical DNA algorithm to solve the quadratic assignment problem using the Adleman-Lipton-sticker model, which was executed with an O(kn4) complexity and could handle the medium-sized cases. Nehi and Hamidi [13] corrected and further improved the DNA model proposed by Yang et al. [12]. Wang et al. [14] solved a traveling salesman problem by a DNA algorithm using the Adleman-Lipton model with an O(n) complexity. Based on the Adleman- Lipton model, Wang et al. [15] proposed a new DNA computing algorithm to tackle the capacitated vehicle routing problem with an O(n2) complexity.
In accordance with the processing order, the shop scheduling problem can typically be divided into three categories: the flow shop scheduling problem (FSSP), the job shop scheduling problem (JSSP) and the flexible job shop scheduling problem (FJSP). These three categories of problems are all about scheduling n jobs with varying processing times on m machines with varying speeds and capacities. In a JSSP, each job to be processed contains multiple operations, each of which is processed on a specified machine, and each job has a different machining path. In a FSSP, all jobs have the same machining path, i.e., the same operation sequence, without distinction between the operation and the machine. In a FJSP, the machining paths of the jobs are not necessarily the same and a job is allowed to be processed by any machine in a given set of machines. Many heuristic approaches have been developed to solve shop scheduling problems, such as particle swarm optimization (PSO), genetic algorithms (GA), simulated annealing (SA), tabu search (TS), artificial immune (AI), differential evolution algorithm (DEA), and ant colony optimization (ACO), among others, as well as their hybrids [16]. Mohamed Kurdi [17] proposed an effective genetic algorithm with a critical-path-guided Giffler and Thompson crossover operator (GA-CPG-GT) for JSSP. Zhou et al. [18] presented a hybrid social-spider optimization algorithm with a differential mutation (SSO-DM) operator to solve JSSP. Cruz-Chávez et al. [19] proposed a parallel algorithm that generated a set of parallel working threads, where each thread performed a simulated annealing process to solve JSSP. For JSSP, Pongchairerks [20] proposed a new two-level meta-heuristic algorithm composed of an upper-level algorithm and a lower-level algorithm.
However, due to the premature and local convergence of GA, its performance in dealing with complex JSSP is limited [21]. The particle swarm optimization (PSO) algorithm cannot effectively search the entire solution space, and may converge to a local optimal solution prematurely, and thus cannot achieve a good exploration- exploitation balance [22]. The quality of the optimal solution obtained by TS lies on the initial solution [23]. Due to the lack of memory function in SA, it may lead to repeated searches and easily fall into local optima, greatly affecting the effectiveness of SA and causing excessive search time [23]. Due to the dependence on random natural selection and recombination, the optimization results obtained by classical evolutionary algorithm are still limited [24]. Also due to the stubborn nature of JSSP, a single meta-heuristic method can no longer solve this problem well [18]. In addition, these heuristic approaches do not traverse all possible solutions, and can only find relatively good solutions through operations such as crossover, mutation and iteration. Even if a heuristic finds the optimal solution, the heuristic itself cannot prove that the solution it found is the actual optimal solution.
By contrast, DNA computing may be used to solve the JSSP. As long as appropriate encoding and manipulation are used, all possible solutions to the problem can be produced in one step. Deaton et al. [25] summarized three basic steps in using DNA computing to solve a problem: encoding, interaction and extraction. The first step is the basis of the other two steps, so that the key and the difficult part of DNA computing is to transform the problem into an equivalent DNA computing model by mapping.
Until now, there is not much reported research on solving JSSPs using DNA computing. Yin et al. [26] solved a FSSP using DNA computing by transforming the FSSP problem into a directed graph. Wang et al. [27] proposed a new parallel DNA algorithm to solve the task scheduling problem based on the Adleman-Lipton model, with an enlightening idea.
In this work, an appropriate encoding strategy is developed first to generate all possible solutions in parallel using DNA computing. The advantage of this encoding is that, once a scheduling sequence is determined, the makespan corresponding to each schedule is also determined. Theoretically efficient and parallel DNA algorithms based on Adleman-Lipton model are then proposed for solving the JSSP which can be solved with an O(n2) complexity. In the experiments, the DNA computing algorithms proposed in this work is simulated through two tool libraries of Python. Simulation experiments with 58 benchmark instances show that the proposed DNA algorithm outperforms other comparative heuristics.
The remainder of this paper is organized as follows. Section 2 describes the Adleman-Lipton model and describes the JSSP. Section 3 proposes a DNA algorithm for the JSSP and provides a performance analysis of the proposed DNA algorithm. Section 4 reports the experimental results of the proposed DNA algorithm and the comparison with several heuristic algorithms on 58 benchmark instances. Section 5 concludes this work with a summary and future research directions.
2. Preliminaries
This section is composed of two parts. The first part explains the Adleman-Lipton model, and the second part gives a formal description of the JSSP.
2.1 The Adleman-Lipton model
DNA is a polymer which is strung together from monomers called deoxyribonucleotides [28]. A single strand DNA molecule consists of a sequence of nucleotides with four different bases, i.e., adenine, guanine, cytosine and thymine, abbreviated as A, G, C and T, respectively. Every strand, according to its chemical structure, has a 5'-3' direction or a 3'-5' direction, with the 5'-end matching the 3'-end. In the double strand molecule, the two single strands have opposite directions. Using the Watson-Crick complementarity, i.e., the A-T pairing and the G-C pairing, without other possible pairings, a double strand DNA molecule can be formed under appropriate conditions. For instance, the single strand 5'-ACGTTA-3' and its complement 3'-TGCAAT-5' can form a double strand, also referred to as a duplex. Assume the upper strand runs from left to right in the 5'-3' direction, and consequently the lower strand runs from left to right in the 3'-5' direction. The complement 3'-TGCAAT-5' of the strand 5'-ACGTTA-3' is denoted by . The length of a single strand DNA molecule is the number of nucleotides in the molecule. Thus a single strand consisting of 12 nucleotides is said to be a 12 mer, i.e., a polymer consisting of 12 monomers.
The Adleman-Lipton model.
A test tube is a set of molecules of DNA, i.e., a multi-set of finite strings over the alphabets {A, G, C, T}. The following operations can be performed:
- Merge (N1,N2,…,Nk): given k test tubes N1,N2,…,Nk, this operation pours the DNA solution in each of the test tubes N2,…,Nk into test tube N1. The uniform mixed solution is referred to as N1.
- Amplify(N1,N2,…,Nk): given a test tube N1, this operation creates copies of N1 and amplifies them into test tubes N2,…,Nk.
- Separation (N1, X, N2): given a test tube N1 and a string X, this operation transfers all the single strands containing string X in test tube N1 to test tube N2. The single DNA strands removed from test tube N1 are no longer contained in test tube N1. If N1 does not contain X, this operation does nothing.
- Selection (N1, L, N2): given a test tube N1 and an integer L, this operation filters all DNA strands of length L in N1 and put them into test tube N2. Consequently, N1 no longer contains these filtered DNA strands.
- Append-head(N,S): given a test tube N and a single strand S, this operation attaches (pastes) S to the front of every strand in N.
- Append-tail (N,R): given a test tube N and a single strand R, this operation attaches (pastes) R to the end of every strand in N.
- Annealing (N): given a test tube N with some single strands, this operation derives all possible double strands according to the Watson-Crick complementarity pairing principle, leaves them in N, and removes the other single strands from N.
- Denaturation (N): given a test tube N, this operation separates every double-stranded DNA molecule into two single strands by heating without breaking the phosphodiester bond of each single strand. Briefly, the double-stranded DNA in N is separated as follows
- Cutting (N, ω1ω2): given a test tube N and strings with ω1ω2, this operation divides every strand containing [ω1ω2] in N to different strands as follows
where ω1ω2 corresponds to the recognition site of the cutting operation. - Discard (N): given a test tube N, this operation clears all strands in N, that is, emptying N.
- Read (N): given a test tube N, this operation obtains the precise DNA sequences of all strands in N.
- Sort (N1,N2,N3): given a test tube N1 and two empty test tubes N2 and N3, this operation chooses the shortest strands in N1 and puts them in N2, chooses the longest strands in N1 and puts them in N3, and keeps the rest of the strands in N1.
- Ligation (N): given a test tube N, this operation links all the DNA molecules (double strands) in N together by enzymes called ligases.
- Detect (N): given a test tube N, this operation returns “true” if N contains at least one DNA strand, and returns “false” otherwise.
- T: = B(N,ω): given a test tube N and a string ω, this operation produces the test tube T consisting of all strands in N which begin with the string ω.
- L: = Length(N,ω,Ω): given a test tube N, this operation returns the length L of the specific single strand beginning with the string ω and ending with the string Ω in N.
In actual biological experiments, the above operations are feasible and achievable. Take the Sort(N1, N2, N3) operation as an example. In gel electrophoresis, the migration speed of DNA strands is related to its own length. The longer the strand, the slower the migration speed. Therefore, through gel electrophoresis experiments, the longest and shortest DNA strands in the test tube can be obtained. Since all operations mentioned above can be performed in lab within constant biological steps, it is reasonable to assume that the complexity of each operation is O(1). In previous works ([10–12, 14, 15, 27]), many researchers have used this same approach to analyze the complexity of DNA computing algorithms. Therefore, the same approach is used in this study.
2.2 The job shop scheduling problem
The JSSP is already known as a typical NP-hard problem [29]. An n × m JSSP can be formally described as follows [30]. There are n jobs and m machines denoted as J = (J1, J2, ⋯,Jn) and M = (M1, M2, ⋯,Mm), respectively. Each job must be processed (or handled) through all m machines to fulfil its processing tasks. The processing of a job is also called an operation. Each job requires m operations. Only one machine is required for each operation, and only one operation can be handled on one of the m machines. Once started on a specified machine, an operation is not allowed to be interrupted until the processing of the job is completed, meaning that each operation begins only when all its previous operations are finished, i.e., preemption is not allowed. The processing time and the sequence of operations, i.e., the machining paths are given in advance. The goal of a JSSP is to find the optimal schedule in order to minimize the maximum makespan. A JSSP with n jobs and m machines has (n!)m possible solutions.
The notations used for the mathematical description of the JSSP are given below.
- n and m denote the numbers of jobs and machines, respectively.
- Oi,j represents the operation i of job j, where i ∈ [1, m] and j ∈ [1, n].
- ti,j represents the processing time of Oi,j.
- TJi,j represents the completion time of Oi,j, i.e., the cumulative completion time of job j up to operation i.
- TMi,j represents the earliest start time of Oi,j, i.e., the cumulative time (not including ti,j) of machine i before job j starts.
The mathematical programming model of the JSSP is given in the following.
(1)
Subject to
(2)
(3)
(4)
The objective function minimizes the makespan, i.e., the maximum completion time. Constraint (2) represents precedence relationship between the operations. Constraint (3) means that preemption is not allowed. Constraint (4) gives the domains of the variables.
Example 1.
Table 1 shows a n × m = 4 × 2 FSSP example with 4 jobs J1, J2, J3 and J4 and 2 machines M1 M1 and M2. The jobs have the same operation sequence, i.e., the same machining path, where they first pass through machine 1 (M1) and then pass through machine 2 (M2). The time needed by each job on each machine is shown in the table.
Example 2.
Table 2 shows a n × m = 3 × 3 JSSP example with 3 jobs J1, J2 and J3, each with a different machining path, processed on 3 machines, M1, M2 and M3. The machines required are shown in the column Mi and the time needed by each job on each machine is shown in the column ti,j. For instance, the 1st operation of job 1 (J1), i.e., O1,1, is processed on machine 3 (M3) and the processing time corresponding to O1,1 is t1,1 = 7 units. The 2nd operation of job 1 (J1), i.e., O2,1, is processed on machine 1 (M1) and the processing time corresponding to this operation is t2,1 = 4 units, and so on.
From the two examples above, it is intuitive that the JSSP is an extension of the FSSP. The biggest difference between a JSSP and a FSSP lies in the machining paths of the jobs, as shown in Tables 1 and 2. As compared with the FSSP as shown in Table 1, the machining paths of the jobs are different from each other in a JSSP as shown in Table 2. If all the jobs have the same machining path, i.e., each job needs the same operations, without distinction between the operations and the machines, the JSSP becomes a FSSP.
As compared with FSSP, JSSP is much more complicated and closer to the practical problems in production. In a FSSP, only one time matrix is needed. However, in a JSSP, two matrices are required, one represents the processing time and the other represents the machines needed by the jobs. Therefore, this work focuses on the more practical and representative JSSP for an in-depth study.
3. A DNA algorithm for the job shop scheduling problem
Encoding is the key and difficult part of solving the combinatorial optimization problem with DNA computing. Therefore, this section starts with the coding scheme and then gives an overview of the proposed algorithm. The detailed algorithm is finally presented.
3.1 Encoding
A schedule, or scheduling sequence, of an n × m JSSP can be denoted by OP1−OP2−⋯OPn×m, where OPi∈[1, n] indicates a job number. In this schedule, the ith appearance of job j indicates operation i of job j, i.e., Oi,j. Each number OPi appears exactly m times.
Take a scheduling sequence 1-3-2-2-1-3-3-1-2 of a 3 × 3 JSSP as an example. The first number ‘1’ indicates operation 1 of job 1; the second number ‘3’ indicated operation 1 of job 3. The fourth number ‘2’ (the 2nd appearance of job 2) indicates operation 2 of job 2. Similarly, the seventh number ‘3’ (the 3rd appearance of job 3) indicates operation 3 of job 3. Obviously, once a scheduling sequence is determined, the makespan corresponding to this schedule is uniquely determined. For example, referring to the data in Table 2 in Example 2, the completion times or makespans of the 3 jobs can be easily calculated. The completion times of jobs 1, 2 and 3 are 13, 18 and 18, respectively. Consequently, the makespan (completion time) for this schedule is 18. Fig 1 in the following shows this schedule as a Gantt chart.
Effective encoding needs to be used to reasonably map real problems to DNA molecular computing models, and to generate all possible solutions in parallel in one step. In the following, p, Ei, q, Fj are used to represent different DNA single strands with the same length, e.g., u mer, with u as a positive integer. The notations p and q are used for DNA ligation, as defined in Section 2.2, and Ei and Fj represent the single strands for operation i and job j, respectively. The single strand pEiqFj can be used to indicate operation i of job j, i.e., Oi,j. In this way, all possible solutions can be easily generated.
Example 3.
Table 3 shows a n × m = 5 × 6 JSSP example with 5 jobs, each with a different machining path, processed on 6 machines. Data for each job are shown in two columns in the table. The first column shows the corresponding machine number and the second column shows the time needed by the job on each machine.
Fig 2 in the following is an optimal scheduling sequence of this 5×6 JSSP. It means that the jobs are processed in the order of 5-4-2-1-3 for the 1st operation, in the order of 5-2-1-4-3 for the 2nd operation, and so on, where the number ‘0’ in the middle represents a separator. The same job processed by different machines are identified with the same color. A DNA encoding method based on scheduling sequences is proposed below.
In accordance with Algorithm 1, the DNA strands {pE1qF5pE1qF4pE1q- F2pE1qF1pE1qF3} will be generated to denote that the jobs are processed in the order of 5-4-2-1-3 in the 1st operation. In this way, DNA strands can be obtained to denote all n jobs in every operation. By encoding the jobs in this manner, all (n!)m possible schedules will be obtained.
Fig 3 in the following is the optimal schedule presented as a Gantt chart corresponding to the optimal scheduling sequence given above in Fig 2, where the maximum completion time, i.e., the makespan, of this schedule is 45. The result 45 is calculated using the data in Table 3.
In JSSP, different jobs may require the same machine in some operations, so that some jobs may have to wait for others to finish before being processed and machines may become idle while having to wait for jobs to come. Different schedules have different job and machine waiting times and might have different makespans. The advantage of this encoding is that, once a scheduling sequence, i.e., a schedule, is determined, the makespan corresponding to this schedule is also uniquely determined. However, it should be noted that the makespan is, but the corresponding scheduling sequences may not be, unique.
3.2 An outline of the algorithm
The basic idea of this DNA algorithm for solving the JSSP is to find an optimal solution by checking all possible solution candidates. This brute force approach is realized through DNA computing. Specifically, this proposed algorithm consists of four steps.
- Generate the initial solution space in test tube N0 for the JSSP;
- Screen the DNA strands representing the feasible schedules and discard the ones representing infeasible schedules;
- Append time information strands at the end of the strands representing feasible schedules and calculate the completion time of each feasible schedule;
- Select the strands corresponding to the optimal schedule that minimizes the maximum completion time, i.e., the makespan.
The flowchart of the algorithm is shown in Fig 4 as follows.
Algorithm 1. Initialization of the sequence of the n jobs for each operation
Begin
1: for i = 1 to m do
2: Merge(Ni, Q);
3: Annealing(Ni);
4: Ligation(Ni);
5: Denaturation(Ni);
6: Selection(Ni, 4nu, Vi);
7: Discard(Ni);
8: Vi: = B(Ti, pEiq);
9: for j = 1 to j = n do
10: Separation(Vi, qFjp, Ui);
11: Discard(Vi);
12: Amplify(Ui, Vi);
13: Discard(Ui);
14: end for
15: Amplify(Vi, Ni);
16: Discard(Vi);
17: Append-tail(Ni, ai2S);
18: Append-head(Ni, ai1);
19: end for
End
Algorithm 1 produces DNA strands representing all n jobs for every possible operation, for instance,
and so on. The lengths of the single strands ai,j and S are also u mer. The strands ai,j and S are used for connection in the following algorithm.
Algorithm 2. Generation of all possible strands for the JSSP
Begin
1: Merge (N0, N1, N2,…, Nm);
2: Annealing (N0);
3: Denaturation (N0);
4: N0: = B (N0, a11pE1q);
5: Selection (N, (4n+3)mu, N0);
6: for i = 1 to i = m do
7: Separation (N0, ai2S, N1);
8: Discard (N0);
9: Amplify (N1, N0);
10: Discard (N1);
11: end for
End
After executing Algorithm 2, all possible DNA strands representing all possible solutions of the JSSP can be obtained as shown below
where the subscript jk of
is uniquely determined by the value of k for 1 ≤ k ≤ n, and
, i.e., the sequence j1, …,jk, …,jn is an arbitrary out-of-order combination of the sequence 1,…,n.
3.3.3 Computation of the final completion time of each job for every strand.
In Algorithm 3, as explained in Section 2.2, denotes the completion time of job jk in operation i,
is the cumulative time (not including
) of the required machine corresponding to job jk in operation i, and
is the corresponding processing time of job jk in operation i. The value of jk is also uniquely determined by the value of k for 1 ≤ k ≤ n, where jk ∈{1,2,⋯,n}. The final completion time of the n jobs are stored separately in n test tubes. The single strand Ψ, also with a length of u mer, in Algorithm 3 denotes one unit of time.
Algorithm 3. Computation of the final completion time of each job for every strand
Begin
1: Amplify (N0,N1,N2, …,Nn);
2: Discard (N0);
3: for i = 1 to m do
4: for k = 1 to n do
5: if i>1 then
6: Separation (,Sω,
);
7: Discard ();
8: Cutting (,Sω);
9: : = B (
,a11pE1q);
10: Discard ();
11: else
12: Continue
13: if (when i = 1, both initial values are 0) then
14: Append-tail (,
);
15: else
16: Append-tail (,
);
17: : = Length(
, ω, Ω);
18: : = Length(
, ω, Ω);
19: end for
20: end for
End
Algorithm 4. DNA optimization
Begin
1: for i = 1 to n do
2: Sort (Ni, V1, V2);
3: end for
4: Sort (V2, V0, V3);
5: Cutting (V0, Sω);
6: T0: = B (V0, a11pE1q);
7: Read (V0)
End
Theorem in the following is obtained by inspecting Algorithms 1–4 line by line.
Theorem.
Without loss of generality, n ≥ m is assumed. The solutions of a n×m JSSP has an O(n2) complexity using DNA computing.
Proof.
The total complexity of the four algorithms is as follows
In conclusion, the optimal schedule of a JSSP can be found with an O(n2) complexity.
Explanation.
Suppose the length of the different strands is
Let l = ΣΣtij, and also assume m ≤ n. The length of DNA strand L corresponding to the optimal schedule in Algorithm 4 is as follows.
The final solution strand in Algorithm 4 is within appropriate length. The optimal solution can then be found and determined.
4. Experiment and comparison
The algorithm proposed in this study is simulated in Python. Two important tool libraries, i.e., Biopython and DOcplex, are used to simulate and implement the four algorithms, as components of the proposed algorithm, in this work. Biopython, a Python tool for computational molecular biology, is used to encode problems and construct solution spaces. DOcplex, a Python tool library for solving constraint programming problems, is used to simulate the constraints in Algorithm 3 and the objective function in Algorithm 4. The computer used for computation has an i5-4210H processor with a 2.90GHz clock speed and 12G of RAM.
The algorithm is first compared with four state-of-the-art heuristics on 43 JSSP benchmark instances (see Table 4). The results show that, except for instance LA29, the proposed algorithm found the best known solutions for the remaining 42 instances, and has the same or better performance than the four comparative heuristics.
The 43 JSSP benchmark instances are selected from the OR Library [31], which contains 3 instances (FT06, FT10, FT20) designed by Fisher and Thompson [32] and 40 instances (LA01~LA40) designed by Lawrence [33]. The four comparative heuristics used for comparison are MAGATS [21], NIMGA [34], aLSGA [35] and WW [36].
Table 4 shows the results obtained by the proposed algorithm and the four comparative heuristics for the 43 instances. These results include the names of the instances, the sizes of the instances represented by n×m, the best known solutions (BKS) and the best solutions obtained by the proposed algorithm and the four comparative heuristics. Results of the comparative heuristics are from the original respective publications [21, 34–36].
In order to visualize the scheduling results of the proposed algorithm, the Gantt charts of the optimal schedules of the instances FT20, LA20 and LA36 are presented in Figs 5–7, respectively. Figs 5–7 show that the optimal makepans of instances FT20, LA20 and LA36 are 1165, 902 and 1268 units of time, respectively. Not all four comparative heuristics could find the best known solution for instance FT20 and none of these heuristics could find the best known solutions for instances LA20 and LA36.
Table 5 shows a comparative analysis with four more heuristics on four instances of different sizes. The four heuristics are PSO [37], IGA [38], DE [39] and SSO-DM [18]. The table gives the statistical results, i.e., the best, worst, mean and standard deviation (Std.), of 20 independent runs. Except for instance YN4, the proposed algorithm found the best known solutions for the remaining three instances. The results of the comparative heuristics are from Zhou et al. [18]. Figs 8–11 show the box plots of these five algorithms on the four instances.
Table 6 shows the experimental results of the proposed algorithm on the instances of Yamada and Nakano [40] (YN1~YN4) and Storer et al. [41] (SWV01~SWV10). In the experiment, the running time limit of the algorithm is set to 2000 seconds (Sec.), and the relative error (RE), i.e., the error between the obtained and the best know solutions defined as a percentage of the best known solution, is introduced as a criterion. The third column BKS/UB in the table represents the best known solutions (BKS) or the known upper bounds (UB) when the BKS is unknown. The last column t shows the running time taken by the algorithm in seconds. The results show that the proposed algorithm can find the best known solutions for the three instances SWV01~SWV03 in a short time, but cannot find the best known solutions for the remaining 11 instances within the running time limit of 2000 seconds. The maximum RE value for these instances do not exceed 6%.
5. Conclusions
Based on the DNA operations of the Adleman-Lipton model, an appropriate encoding strategy is developed first to generate all possible solutions in parallel using DNA computing in one step. Then four highly efficient and parallel DNA algorithms as components of the proposed algorithm are proposed for JSSP. The proposed algorithm is simulated and compared with several heuristics using 58 JSSP benchmark instances from the literature, and the proposed algorithm found the best known solutions for 46 instances. The results show that the proposed algorithm performs better than the comparative heuristics.
One direction of future works is to explore the possibility of solving the FJSP by using viable biological computational models including the sticker model among others. In addition, for larger-scale benchmarks such as the SWVs and the YNs, multi-threaded computing will be considered for simulation implementation in the future.
Supporting information
S1 File. Code, 58 benchmark instances and their data descriptions, solution results and operations guides (Readme.doc file) related to the python source program.
https://doi.org/10.1371/journal.pone.0242083.s001
(ZIP)
References
- 1.
Feynman R, Gilbert D. Miniaturization. Reinhold, New York. 1961: 282–96.
- 2. Adleman LM. Molecular computation of solutions to combinatorial problems. Science. 1994; 266: 1021–4. pmid:7973651
- 3. Lipton RJ. DNA solution of HARD computational problems. Science.1995; 268: 542–5. pmid:7725098
- 4. Ouyang Q, Kaplan PD, Liu S, Libchaber A. DNA solution of the maximal clique problem. Science. 1997; 278(5337): 446–9. pmid:9334300
- 5. Roweis S, Winfree E, Burgoyne R, Chelyapov NV, Goodman MF, Rothemund PW, et al. A sticker-based model for DNA computation. Journal of Computational Biology. 1998; 5(4): 615–29. pmid:10072080
- 6. Winfree E, Liu F, Wenzler LA, Seeman NC. Design and self-assembly of two-dimensional DNA crystals. Nature. 1998; 394(6693): 539–44. pmid:9707114
- 7. Sakamoto K, Gouzu H, Komiya K, Kiga D, Yokoyama S, Yokomori T, et al. Molecular computation by DNA hairpin formation. Science. 2000; 288(5469): 1223–6. pmid:10817993
- 8. Liu Q, Wang L, Frutos AG, Condon AE, Corn RM, Smith LM. DNA computing on surfaces. Nature. 2000; 403(6766): 175–9. pmid:10646598
- 9. Smith LM, Corn RM, Condon AE, Lagally MG, Frutos AG, Liu Q, et al. A surface-based approach to DNA computation. Journal of computational biology. 1998; 5(2): 255–67. pmid:9672831
- 10. Xiao D, Li W, Zhang Z, He L. Solving maximum cut problems in the Adleman- Lipton model. Biosystems. 2005; 82(3): 203–7. pmid:16236426
- 11. Hsieh SY, Chen MY. A DNA-based solution to the graph isomorphism problem using Adleman–Lipton model with stickers. Applied Mathematics and Computation. 2008; 197(2): 672–86.
- 12. Yang X, Lu Q, Li C, Liao X. Biological computation of the solution to the quadratic assignment problem. Applied Mathematics and Computation. 2008; 200(1): 369–77.
- 13. Nehi HM, Hamidi F. A comment on "Biological computation of the solution to the quadratic assignment problem''. Applied Mathematics and Computation. 2012; 218(21): 10759–61.
- 14. Wang Z, Zhang Y, Zhou W, Liu H. Solving traveling salesman problem in the Adleman–Lipton model. Applied Mathematics and Computation. 2012; 219(4): 2267–70.
- 15. Wang Z, Ren X, Ji Z, Huang W, Wu T. A novel bio-heuristic computing algorithm to solve the capacitated vehicle routing problem based on Adleman–Lipton model. Biosystems. 2019; 184:103997. pmid:31369836
- 16. Pellerin R, Perrier N, Berthaut F. A survey of hybrid meta-heuristics for the resource constrained project scheduling problem. European Journal of Operational Research. 2020; 280(2): 395–416.
- 17. Kurdi M, An effective genetic algorithm with a critical-path-guided Giffler and Thompson crossover operator for job shop scheduling problem. International Journal of Intelligent Systems and Applications in Engineering, 2019; 7(1): 13–18.
- 18. Zhou G, Zhou Y, Zhao R, Hybrid social spider optimization algorithm with differential mutation operator for the job-shop scheduling problem. Journal of Industrial & Management Optimization, 2019; 13(5): 1–16.
- 19. Cruz-Chávez MA, Peralta-Abarca JdC, Cruz-Rosales MH, Cooperative threads with effective-address in simulated annealing algorithm to job shop scheduling problems. Applied Sciences, 2019; 9(16): 3360.
- 20. Pongchairerks P A two-level meta-heuristic algorithm for the job-shop scheduling problem. Complexity, 2019; 1–11.
- 21. Peng C, Wu G, Liao TW, Wang H. Research on multi-agent genetic algorithm based on tabu search for the job shop scheduling problem. PLoS One. 2019; 14(9): e0223182. pmid:31560722
- 22. Abdel-Kader RF, An improved PSO algorithm with genetic and neighborhood-based diversity operators for the job shop scheduling problem. Applied Artificial Intelligence, 2018; 32(5): 433–462.
- 23. Zhang CY, Li P, Rao Y, Guan Z, A very fast TS/SA algorithm for the job shop scheduling problem. Computers & Operations Research, 2008; 35(1): 282–294.
- 24. Xing LN, Chen YW, Wang P, Zhao QS, Xiong J, A knowledge-based ant colony optimization for flexible job shop scheduling problems. Applied Soft Computing, 2010; 10(3): 888–896.
- 25. Deaton R, Garzon M, Rose J, Franceschetti D, Stevens S Jr. DNA computing: A review. Fundamenta Informaticae. 1997; 30: 23–41.
- 26. Zhixiang Y, Jianzhong C, Yan Y, Ying M. Job shop scheduling problem based on DNA computing. Journal of Systems Engineering and Electronics. 2006; 17(3): 654–9.
- 27. Wang Z, Ji Z, Wang X, Wu T, Huang W. A new parallel DNA algorithm to solve the task scheduling problem based on inspired computational model. Biosystems. 2017; 162: 59–65. pmid:28890344
- 28.
Păun G, Rozenberg G, Salomaa A. DNA computing: new computing paradigms: Springer; 1998.
- 29. Mohan J, Lanka K, Rao AN. A review of dynamic job shop scheduling techniques. Procedia Manufacturing. 2019; 30: 34–9.
- 30. Wang SJ, Tsai CW, Chiang MC. A high performance search algorithm for job-shop scheduling problem. Procedia Computer Science. 2018; 141: 119–26.
- 31. Beasley J. E. O-L. Distributing test problems by electronic mail. Journal of the Operational Research Society. 1990; 41(11): 1069–72.
- 32. Fisher H, Thompson GL. Probabilistic learning combinations of local job-shop scheduling rules. Industrial Scheduling. 1963; 225–51.
- 33. Lawrence S. Supplement to resource constrained project scheduling: An experimental investigation of heuristic scheduling techniques. Graduate School of Industrial Administration. 1984; 4(7): 4411–7.
- 34. Kurdi M. An effective new island model genetic algorithm for job shop scheduling problem. Comput Oper Res. 2016; 67:132–42.
- 35. Asadzadeh L. A local search genetic algorithm for the job shop scheduling problem with intelligent agents. Comput Ind Eng. 2015; 85: 376–83.
- 36. Cheng L, Zhang QZ, Tao F, Ni K, Cheng Y. A novel search algorithm based on waterweeds reproduction principle for job shop scheduling problem. Int J Adv Manuf Tech. 2016; 84(1–4): 405–24.
- 37. Lin TL, Horng SJ, Kao TW, Chen YH, Run RS, Chen RJ, et al., An efficient job shop scheduling algorithm based on particle swarm optimization. Expert Systems with Applications, 2010; 37(3): 2629–2636.
- 38. Kurdi M, A new hybrid island model genetic algorithm for job shop scheduling problem. Computers & Industrial Engineering, 2015; 88: 273–283.
- 39. Zobolas GI, Tarantilis CD, Ioannou G, A hybrid evolutionary algorithm for the job shop scheduling problem. Journal of the Operational Research Society, 2009; 60(2): 221–235.
- 40.
Yamada T, Nakano R. A genetic algorithm applicable to large-scale job shop problems. In: Manner R, Manderick B, editors. Proceedings of the second international workshop on parallel problem solving from nature (PPSN’2). Belgium; 1992; 281–90.
- 41. Storer RH, Wu SD, Vaccari R. New search spaces for sequencing problems with applications to job-shop scheduling. Management Science, 1992; 38(10): 1495–509.