Next Article in Journal
Structure-Functional Study of Tyrosine and Methionine Dipeptides: An Approach to Antioxidant Activity Prediction
Previous Article in Journal
Membranotropic Cell Penetrating Peptides: The Outstanding Journey
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Parallel Biological Optimization Algorithm to Solve the Unbalanced Assignment Problem Based on DNA Molecular Computing

1
College of Information, Shanghai Ocean University, Shanghai 201306, China
2
Center for Finance and Accounting Research of University of International Business and Economics, Beijing 100029, China
3
College of Engineering Science and Technology, Shanghai Ocean University, Shanghai 201306, China
4
Key Laboratory of Digital Earth Science, Institute of Remote Sensing and Digital Earth, Chinese Academy of Sciences, Beijing 100094, China
*
Author to whom correspondence should be addressed.
Int. J. Mol. Sci. 2015, 16(10), 25338-25352; https://doi.org/10.3390/ijms161025338
Submission received: 7 September 2015 / Accepted: 8 October 2015 / Published: 23 October 2015
(This article belongs to the Section Physical Chemistry, Theoretical and Computational Chemistry)

Abstract

:
The unbalanced assignment problem (UAP) is to optimally resolve the problem of assigning n jobs to m individuals (m < n), such that minimum cost or maximum profit obtained. It is a vitally important Non-deterministic Polynomial (NP) complete problem in operation management and applied mathematics, having numerous real life applications. In this paper, we present a new parallel DNA algorithm for solving the unbalanced assignment problem using DNA molecular operations. We reasonably design flexible-length DNA strands representing different jobs and individuals, take appropriate steps, and get the solutions of the UAP in the proper length range and O(mn) time. We extend the application of DNA molecular operations and simultaneity to simplify the complexity of the computation.

1. Introduction

In the pathbreaking work of DNA computation, Adleman [1] firstly described how to solve a seven-node instance of a well-known NP-hard problem utilizing biological operations, and also demonstrated the potential parallel power of DNA computation. In 1995, Lipton [2] proved that Adleman’s experiment could be used to figure out the NP-complete satisfiability problem. DNA computation, as an interdisciplinary science using DNA molecular biotechnologies to solve conundrum problems of computer science and computational mathematics, has a wide application prospect in solving difficult problems. Huge storage capacity, massive parallelism and low energy consumption are primary advantages of DNA computation. The advantages imply that we can utilize DNA molecules to solve harder, larger problems such as NP-complete problems in linearly increasing time, in contrast to the exponentially increasing time required by an electronic computer. In recent years, DNA computation has received considerable interest from researchers. Some typical DNA computing models, such as the Adleman-Lipton model [1,2], the sticker model [3], the restriction enzyme model [4], the self-assembly model [5], the hairpin model [6], and the surface-based model [7], have already been established. Based on these models, lots of papers have been written for designing DNA procedures and algorithms to solve various NP-complete problems [8,9,10,11,12,13,14,15,16,17,18,19,20,21]. In order to fully understand the power of biological computation, it is worthwhile to try to solve more kinds of computationally-intractable problems with the aid of DNA biologic operations.
The assignment problem is a common topic in the fields related to operation management and network flow theory. This problem is known to be NP-hard and it is hard from a computational point of view as well. A standard assignment problem is to optimally resolve the problem of assigning n jobs to m individuals, such that minimum cost or maximum profit can be obtained. Various algorithms, including standard linear programming [6,7,8,9], Hungarian algorithm [10], neural network [11], and genetic algorithms [12], have been developed to find solutions. When we deal with real life situation, it becomes quite difficult to ensure that the number of jobs is exactly equal to individuals. Thus, the need arises to solve the unbalanced assignment problem in such a way that total assignment cost may be optimized along with the other constraints. In general, the unbalanced assignment problem can be considered as a particular case of the transportation problem, and can be formulated as a 0–1 integer linear programming [22,23]. The problem can be mathematically formulated as follows:
min  Z = i = 1 m j = 1 n c i j x i j
s . t . i = 1 m x i j = 1   i = 1 , 2 , , m
1 j = 1 n x i j n m + 1   j = 1 , 2 , , n
x i j = 0 ,  or  1
where the decision variable xij = 1 means that the j-th job is assigned to the i-th individual; otherwise, xij = 0 is in reverse; cij is the associated cost incurred by the assignment (if cij is the correlative profit, the object function will be max Z). For instance, the Table 1 defines the cost matrix A = [cij]m × n of the unbalanced assignment problem.
Table 1. Cost matrix A = [cij]3 × 5.
Table 1. Cost matrix A = [cij]3 × 5.
Costj1j2j3j4j5
i159127
i298644
i347852
In this paper, based on a combination of Adleman-Lipton model, A theoretically-efficient DNA algorithm is introduced for figuring out solutions of the unbalanced assignment problem, which is executed in O(mn) operations, where n is number of jobs and m is number of individuals. With the progress of molecular biology techniques, the proposed algorithm might be of practical use in treating medium-sized instances of UAP.
The rest of this paper is organized as follows. In Section 2, the Adleman-Lipton model is introduced in detail. Then, we use a DNA molecular algorithm for solving the unbalanced assignment problem. And prove DNA algorithm complexity and feasibility. In Section 3, we use computer to simulate the DNA experiment and get correct solution of the Table 1. We get conclusions in Section 4.

2. Results and Discussion

2.1. The Adleman-Lipton Model

The DNA operations proposed by Adleman [1] and Lipton [2] are described below. These operations will be used for figuring out solutions of the unbalanced assignment problem in this paper. In the Adleman-Lipton model: A (test) tube is a set of molecules of DNA (i.e., a multi-set of finite strings over the alphabet {A,C,G,T}. Given a tube, one can perform the following operations:
(1)
Merge(T1,T2): for two given test tubes T1 and T2, it stores the union T1T2 in T1 and leaves T2 empty;
(2)
Copy(T1,T2): for a given test tube T1, it produces a test tube T2 with the same contents as T1;
(3)
Detect(T): given a test tube T, it outputs “yes” if T contains at least one strand, otherwise, outputs “no”;
(4)
Separation(T1,X,T2): for a given test tube T1 and a given set of strings X, it removes all single strands containing a string in X from T1, and produces a test tube T2 with the removed strands;
(5)
Selection(T1,L,T2): for a given test tube T1 and a given integer L, it removes all strands with length L from T1, and produces a test tube T2 with the removed strands;
(6)
Sort(T1,T2,T3): for a given test tube T1, it choose the shortest length strands in the tube T2, the longest strands in T3 and the remaining strands in T1;
(7)
Annealing(T): for a given test tube T, it produces all feasible double strands in T. The produced double strands are still stored in T after annealing;
(8)
Denaturation(T): for a given test tube T, it dissociates each double strand in T into two single strands;
(9)
Ligation(T): for a given tube T, the operation is used to ligate together the strands in T;
(10)
Discard(T): for a given test tube T, it discards the tube T;
(11)
Read(T): for a given tube T, the operation is used to describe a single molecule, which is contained in the tube T. Even if T contains many different molecules each encoding a different set of bases, the operation can give an explicit description of exactly one of them;
(12)
Append-tail(T,Z): for a given test tube T and a given DNA singled strand, it appends Z onto the end of every strand in the tube T.
Since these twelve manipulations are implemented with a constant number of biological steps for DNA strands [24,25], we assume that the complexity of each manipulation is in O(1) time steps.

2.2. DNA Algorithm for the Unbalanced Assignment Problem

2.2.1. Thinking Process

The initial idea to solve the unbalanced assignment problem is as followed: generate strands corresponding to all possible job allocation schemes in a data pool, then, filter out inappropriate job allocation. Next, append the cost-weighted length strands in order to identify the schemes’ pros and cons. Finally, obtain the optimal solutions of the unbalanced assignment problem by using the corresponding DNA operations. Concretely, the proposed algorithm has four steps.
Step 1:
Construct set T of all possible mn solutions for unbalanced assignment problem;
Step 2:
For all possible solutions, eliminate inappropriate allocation, such as one job distribution to multiple individuals, one job without been assigned.
Step 3:
Append time weight chain at the corresponding qualified strands in order to find the optimal solution.
Step 4:
Get the shortest strands as the answer to the problem and identify the specific distribution.

2.2.2. Detailed DNA Algorithm

Given a set of n jobs and m individuals (m < n), the unbalanced assignment problem requires that each job should be allocated to only one individual that the total cost, which is defined as the sum of the cost between each pair job and individual, is minimized. Consider a problem which consists of a set of m individuals I = {i1,i2,…,im}. A set of n jobs J = {j1,j2,…,jn}is considered which are to be assigned for execution by m available individuals.
We suppose m < n. The execution cost of each job by all the individuals is known and mentioned in the matrix, namely A = [cij]m × n where cij is the cost between job j and individual i. The objective is to determine the optimal assignment cost. A method is devised to obtain the said costs in such a way that all the jobs are to be allotted on the available individuals. In the following, the symbols s, e, Ai, Bj (i = 1,2,…,m, j = 1,2,…,n) denote distinct DNA single strands with the same length, say t mer (t is a positive integer, mer is monomer unit length). Obviously the length t of the DNA single strands greatly depends on the size of the problem involved in order to distinguish all above symbols [25]. Meanwhile we use the symbols wij to denote the cost cij and ||wij|| = cij. Then, in the below operations, we use the distinct DNA single strand symbols sAieBj (i = 1,2,…,m, j = 1,2,…,n) to denote that the j-th job is assigned to the i-th individual without cost information. Simultaneity the symbols s, e are the signal of different edges division. Let
P = { s A 1 e , s A 2 e , , s A m e }
Q = { e B 1 s ¯ , e B 2 s ¯ , , e B n s ¯ , B 1 , B 2 , , B n }
For a cost matrix A = [cij]m × n, the unbalanced assignment problem is firstly on the relation between n jobs and m individuals. Every possible assignment can be expressed by a list of DNA strands. DNA strands sAieBj represent that the j-th job is assigned to the i-th individual. For example in Table 1, the DNA strands {sA1eB2sA2eB3sA3eB4sA2eB1sA1eB5} represent the 2 and 5-job to 1-individual, 1 and 3-job to 2-individual and 4-job to 3-individual. In this way, we can get DNA strands representing all possible n jobs to m individuals allocation relation.
(1) We choose all possible DNA strands denoting n jobs to m individuals allocation relation.
  • (1-1) Merge(P,Q);
  • (1-2) Annealing(P);
  • (1-3) Ligation(P);
  • (1-4) Denaturation(P);
  • (1-5) Separation(P,{s},T1);
  • (1-6) Selection(T1,4nt,T2).
This step operation can be finished in O(1) time steps since each manipulation above works in O(1).
(2) The unbalanced assignment problem requires that each job is assigned to a unique individual. So we check above DNA strands whether they satisfy the condition or not. The above assignment DNA strands should contain job strands Bk (1 ≤ kn) one time only. For example in Table 1, the single strands {sA1eB3sA3eB3sA2eB1sA1eB2sA2eB4} ∈ T2 should be discarded for the 3-job simultaneously assigned to 1 and 3-individuals and not assigned the 5-job. We get all feasible assignment strands as follow:
  • For k = 1 to k = n
  • (2-1) Separation(T2,{eBks},T3);
  • (2-2) Discard(T2);
  • (2-3) Copy(T3,T2);
  • (2-4) Discard(T3).
  • End for
In the above operations, we use one “For” clauses, thus this operation can be finished in O(n) time steps.
(3) In addition, the unbalanced assignment problem require that every individual get at least one job. So the above assignment DNA strands should contain individual strands Ai (1 ≤ im) at least one time. For example in Table 1, the single strands {sA1eB3sA2eB4sA2eB1sA1eB2sA2eB5} ∈ T2 should be discarded for not including the 3-individual. We get all feasible assignment strands as follow:
  • For k = 1 to k = n
  • (3-1) Separation(T2,{sAke},T4);
  • (3-2) Discard(T2);
  • (3-3) Copy(T4,T2);
  • (3-4) Discard(T4).
  • End for
In the above operations, we use one “For” clause; thus, this operation can be finished in O(m) time steps.
(4) The solutions of unbalanced assignment problem must be with the minimum cost. In order to find the optimal results, we append the cost information strands at the end of above strands. For example, for the Table 1, the singled strands {sA1eB3sA3eB2sA3eB4sA2eB1sA2eB3} ∈ T2 representing the allocation: {j3i1, j2i3, j4i3, j1i2, j5i2}, we append strands {w14, w21, w32, w43} at the above-mentioned strands to {sA1eB3sA3eB2sA3eB4sA2eB1sA2eB3w13w32w34w21w25}.
This is done by the following manipulations:
  • For i = 1 to i = m
  •    For j = 1 to j = n
  • (4-1) Separation(T2,{sAieBj},T5);
  • (4-2) If (Detect(T5))
       Then execute (4-3) to (4-5)
  • (4-3) Append-tail(T5,wij);
  • (4-4) Merge(T2,T5);
  • (4-5) Discard(T5).
  •    End for
  • End for
In the above operation, this operation can be finished in O(mn) time steps since we use two “For” clauses with m and n circulation.
(5) We take out those single strands in T2 with the shortest length, which give the solutions to the unbalanced assignment problem. For example in Table 1, those single strands in T2with shortest length are {sA1eB3sA1eB4sA2eB2sA3eB1sA3eB5w13w14w22w31w35}.
Therefore, solutions to unbalanced assignment problem for Table 1 are {j3i1, j4i1, j2i2, j1i3, j5i3} with the weight sum 17.
  • (5-1) Sort(T2,T5,T6);
  • (5-2) Read(T6).
In the above operation, this operation can be finished in O(1) time steps since each single manipulation above works in O(1) steps. Finally the “Read” operation is applied to giving the exact solutions to the unbalanced assignment problem.

2.3. A Simple Example

We take a simple example in Table 2 to walk through the entire DNA algorithm.
Table 2. Cost matrix A = [cij]2 × 3.
Table 2. Cost matrix A = [cij]2 × 3.
Costj1j2j3
i1241
i2123
After Step (1), all possible job assignment projects are shown in Table 3. For the unbalanced assignment problem, every job should be assigned to someone. The strands’ symbols after Step (2) are shown in Table 4. Table 5 displays the strand symbols, which mean every individual gets at least one job. Subsequently, the corresponding weight strands are attached to the original ones as shown in Table 6 and we get the solution strands in Table 7.
Table 3. DNA Sequences symbols after Step (1) for Table 2. 
Table 3. DNA Sequences symbols after Step (1) for Table 2. 
3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence
sA1eB1sA1eB1sA1eB1sA1eB1sA1eB1sA1eB2sA1eB1sA1eB1sA1eB3sA1eB1sA1eB1sA2eB1
sA1eB1sA1eB1sA2eB2sA1eB1sA1eB1sA2eB3sA1eB1sA1eB2sA1eB1sA1eB1sA1eB2sA1eB2
sA1eB1sA1eB2sA1eB3sA1eB1sA1eB2sA2eB1sA1eB1sA1eB2sA2eB2sA1eB1sA1eB2sA2eB3
sA1eB1sA1eB3sA1eB1sA1eB1sA1eB3sA1eB2sA1eB1sA1eB3sA1eB3sA1eB1sA1eB3sA2eB1
sA1eB1sA1eB3sA2eB2sA1eB1sA1eB3sA2eB3sA1eB1sA2eB1sA1eB1sA1eB1sA2eB1sA1eB2
sA1eB1sA2eB1sA1eB3sA1eB1sA2eB1sA2eB1sA1eB1sA2eB1sA2eB2sA1eB1sA2eB1sA2eB3
sA1eB1sA2eB2sA1eB1sA1eB1sA2eB2sA1eB2sA1eB1sA2eB2sA1eB3sA1eB1sA2eB2sA2eB1
sA1eB1sA2eB2sA2eB2sA1eB1sA2eB2sA2eB3sA1eB1sA2eB3sA1eB1sA1eB1sA2eB3sA1eB2
sA1eB1sA2eB3sA1eB3sA1eB1sA2eB3sA2eB1sA1eB1sA2eB3sA2eB2sA1eB1sA2eB3sA2eB3
sA1eB2sA1eB1sA1eB1sA1eB2sA1eB1sA1eB2sA1eB2sA1eB1sA1eB3sA1eB2sA1eB1sA2eB1
sA1eB2sA1eB1sA2eB2sA1eB2sA1eB1sA2eB3sA1eB2sA1eB2sA1eB1sA1eB2sA1eB2sA1eB2
sA1eB2sA1eB2sA1eB3sA1eB2sA1eB2sA2eB1sA1eB2sA1eB2sA2eB2sA1eB2sA1eB2sA2eB3
sA1eB2sA1eB3sA1eB1sA1eB2sA1eB3sA1eB2sA1eB2sA1eB3sA1eB3sA1eB2sA1eB3sA2eB1
sA1eB2sA1eB3sA2eB2sA1eB2sA1eB3sA2eB3sA1eB2sA2eB1sA1eB1sA1eB2sA2eB1sA1eB2
sA1eB2sA2eB1sA1eB3sA1eB2sA2eB1sA2eB1sA1eB2sA2eB1sA2eB2sA1eB2sA2eB1sA2eB3
sA1eB2sA2eB2sA1eB1sA1eB2sA2eB2sA1eB2sA1eB2sA2eB2sA1eB3sA1eB2sA2eB2sA2eB1
sA1eB2sA2eB2sA2eB2sA1eB2sA2eB2sA2eB3sA1eB2sA2eB3sA1eB1sA1eB2sA2eB3sA1eB2
sA1eB2sA2eB3sA1eB3sA1eB2sA2eB3sA2eB1sA1eB2sA2eB3sA2eB2sA1eB2sA2eB3sA2eB3
sA1eB3sA1eB1sA1eB1sA1eB3sA1eB1sA1eB2sA1eB3sA1eB1sA1eB3sA1eB3sA1eB1sA2eB1
sA1eB3sA1eB1sA2eB2sA1eB3sA1eB1sA2eB3sA1eB3sA1eB2sA1eB1sA1eB3sA1eB2sA1eB2
sA1eB3sA1eB2sA1eB3sA1eB3sA1eB2sA2eB1sA1eB3sA1eB2sA2eB2sA1eB3sA1eB2sA2eB3
sA1eB3sA1eB3sA1eB1sA1eB3sA1eB3sA1eB2sA1eB3sA1eB3sA1eB3sA1eB3sA1eB3sA2eB1
sA1eB3sA1eB3sA2eB2sA1eB3sA1eB3sA2eB3sA1eB3sA2eB1sA1eB1sA1eB3sA2eB1sA1eB2
sA1eB3sA2eB1sA1eB3sA1eB3sA2eB1sA2eB1sA1eB3sA2eB1sA2eB2sA1eB3sA2eB1sA2eB3
sA1eB3sA2eB2sA1eB1sA1eB3sA2eB2sA1eB2sA1eB3sA2eB2sA1eB3sA1eB3sA2eB2sA2eB1
sA1eB3sA2eB2sA2eB2sA1eB3sA2eB2sA2eB3sA1eB3sA2eB3sA1eB1sA1eB3sA2eB3sA1eB2
sA1eB3sA2eB3sA1eB3sA1eB3sA2eB3sA2eB1sA1eB3sA2eB3sA2eB2sA1eB3sA2eB3sA2eB3
sA2eB1sA1eB1sA1eB1sA2eB1sA1eB1sA1eB2sA2eB1sA1eB1sA1eB3sA2eB1sA1eB1sA2eB1
sA2eB1sA1eB1sA2eB2sA2eB1sA1eB1sA2eB3sA2eB1sA1eB2sA1eB1sA2eB1sA1eB2sA1eB2
sA2eB1sA1eB2sA1eB3sA2eB1sA1eB2sA2eB1sA2eB1sA1eB2sA2eB2sA2eB1sA1eB2sA2eB3
sA2eB1sA1eB3sA1eB1sA2eB1sA1eB3sA1eB2sA2eB1sA1eB3sA1eB3sA2eB1sA1eB3sA2eB1
sA2eB1sA1eB3sA2eB2sA2eB1sA1eB3sA2eB3sA2eB1sA2eB1sA1eB1sA2eB1sA2eB1sA1eB2
sA2eB1sA2eB1sA1eB3sA2eB1sA2eB1sA2eB1sA2eB1sA2eB1sA2eB2sA2eB1sA2eB1sA2eB3
sA2eB1sA2eB2sA1eB1sA2eB1sA2eB2sA1eB2sA2eB1sA2eB2sA1eB3sA2eB1sA2eB2sA2eB1
sA2eB1sA2eB2sA2eB2sA2eB1sA2eB2sA2eB3sA2eB1sA2eB3sA1eB1sA2eB1sA2eB3sA1eB2
sA2eB1sA2eB3sA1eB3sA2eB1sA2eB3sA2eB1sA2eB1sA2eB3sA2eB2sA2eB1sA2eB3sA2eB3
sA2eB2sA1eB1sA1eB1sA2eB2sA1eB1sA1eB2sA2eB2sA1eB1sA1eB3sA2eB2sA1eB1sA2eB1
sA2eB2sA1eB1sA2eB2sA2eB2sA1eB1sA2eB3sA2eB2sA1eB2sA1eB1sA2eB2sA1eB2sA1eB2
sA2eB2sA1eB2sA1eB3sA2eB2sA1eB2sA2eB1sA2eB2sA1eB2sA2eB2sA2eB2sA1eB2sA2eB3
sA2eB2sA1eB3sA1eB1sA2eB2sA1eB3sA1eB2sA2eB2sA1eB3sA1eB3sA2eB2sA1eB3sA2eB1
sA2eB2sA1eB3sA2eB2sA2eB2sA1eB3sA2eB3sA2eB2sA2eB1sA1eB1sA2eB2sA2eB1sA1eB2
sA2eB2sA2eB1sA1eB3sA2eB2sA2eB1sA2eB1sA2eB2sA2eB1sA2eB2sA2eB2sA2eB1sA2eB3
sA2eB2sA2eB2sA1eB1sA2eB2sA2eB2sA1eB2sA2eB2sA2eB2sA1eB3sA2eB2sA2eB2sA2eB1
sA2eB2sA2eB2sA2eB2sA2eB2sA2eB2sA2eB3sA2eB2sA2eB3sA1eB1sA2eB2sA2eB3sA1eB2
sA2eB2sA2eB3sA1eB3sA2eB2sA2eB3sA2eB1sA2eB2sA2eB3sA2eB2sA2eB2sA2eB3sA2eB3
sA2eB3sA1eB1sA1eB1sA2eB3sA1eB1sA1eB2sA2eB3sA1eB1sA1eB3sA2eB3sA1eB1sA2eB1
sA2eB3sA1eB1sA2eB2sA2eB3sA1eB1sA2eB3sA2eB3sA1eB2sA1eB1sA2eB3sA1eB2sA1eB2
sA2eB3sA1eB2sA1eB3sA2eB3sA1eB2sA2eB1sA2eB3sA1eB2sA2eB2sA2eB3sA1eB2sA2eB3
sA2eB3sA1eB3sA1eB1sA2eB3sA1eB3sA1eB2sA2eB3sA1eB3sA1eB3sA2eB3sA1eB3sA2eB1
sA2eB3sA1eB3sA2eB2sA2eB3sA1eB3sA2eB3sA2eB3sA2eB1sA1eB1sA2eB3sA2eB1sA1eB2
sA2eB3sA2eB1sA1eB3sA2eB3sA2eB1sA2eB1sA2eB3sA2eB1sA2eB2sA2eB3sA2eB1sA2eB3
sA2eB3sA2eB2sA1eB1sA2eB3sA2eB2sA1eB2sA2eB3sA2eB2sA1eB3sA2eB3sA2eB2sA2eB1
sA2eB3sA2eB2sA2eB2sA2eB3sA2eB2sA2eB3sA2eB3sA2eB3sA1eB1sA2eB3sA2eB3sA1eB2
sA2eB3sA2eB3sA1eB3sA2eB3sA2eB3sA2eB1sA2eB3sA2eB3sA2eB2sA2eB3sA2eB3sA2eB3
Table 4. DNA Sequences symbols after Step (2) for Table 2.
Table 4. DNA Sequences symbols after Step (2) for Table 2.
3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence
sA1eB1sA1eB1sA2eB1sA1eB1sA1eB1sA2eB2sA1eB1sA1eB1sA2eB3sA1eB1sA1eB2sA1eB1
sA1eB1sA1eB2sA1eB2sA1eB1sA1eB2sA1eB3sA1eB1sA1eB2sA2eB1sA1eB1sA1eB2sA2eB2
sA1eB1sA1eB2sA2eB3sA1eB1sA1eB3sA1eB1sA1eB1sA1eB3sA1eB2sA1eB1sA1eB3sA1eB3
sA1eB1sA1eB3sA2eB1sA1eB1sA1eB3sA2eB2sA1eB1sA1eB3sA2eB3sA1eB1sA2eB1sA1eB1
sA1eB1sA2eB1sA1eB2sA1eB1sA2eB1sA1eB3sA1eB1sA2eB1sA2eB1sA1eB1sA2eB1sA2eB2
sA1eB1sA2eB1sA2eB3sA1eB1sA2eB2sA1eB1sA1eB1sA2eB2sA1eB2sA1eB1sA2eB2sA1eB3
sA1eB1sA2eB2sA2eB1sA1eB1sA2eB2sA2eB2sA1eB1sA2eB2sA2eB3sA1eB1sA2eB3sA1eB1
sA1eB1sA2eB3sA1eB2sA1eB1sA2eB3sA1eB3sA1eB1sA2eB3sA2eB1sA1eB1sA2eB3sA2eB2
sA1eB1sA2eB3sA2eB3sA1eB2sA1eB1sA1eB1sA1eB2sA1eB1sA1eB2sA1eB2sA1eB1sA1eB3
sA1eB2sA1eB1sA2eB1sA1eB2sA1eB1sA2eB2sA1eB2sA1eB1sA2eB3sA1eB2sA1eB2sA1eB1
sA1eB2sA1eB2sA1eB2sA1eB2sA1eB2sA1eB3sA1eB2sA1eB2sA2eB1sA1eB2sA1eB2sA2eB2
sA1eB2sA1eB2sA2eB3sA1eB2sA1eB3sA1eB1sA1eB2sA1eB3sA1eB2sA1eB2sA1eB3sA1eB3
sA1eB2sA1eB3sA2eB1sA1eB2sA1eB3sA2eB2sA1eB2sA1eB3sA2eB3sA1eB2sA2eB1sA1eB1
sA1eB2sA2eB1sA1eB2sA1eB2sA2eB1sA1eB3sA1eB2sA2eB1sA2eB1sA1eB2sA2eB1sA2eB2
sA1eB2sA2eB1sA2eB3sA1eB2sA2eB2sA1eB1sA1eB2sA2eB2sA1eB2sA1eB2sA2eB2sA1eB3
sA1eB2sA2eB2sA2eB1sA1eB2sA2eB2sA2eB2sA1eB2sA2eB2sA2eB3sA1eB2sA2eB3sA1eB1
sA1eB2sA2eB3sA1eB2sA1eB2sA2eB3sA1eB3sA1eB2sA2eB3sA2eB1sA1eB2sA2eB3sA2eB2
sA1eB2sA2eB3sA2eB3sA1eB3sA1eB1sA1eB1sA1eB3sA1eB1sA1eB2sA1eB3sA1eB1sA1eB3
sA1eB3sA1eB1sA2eB1sA1eB3sA1eB1sA2eB2sA1eB3sA1eB1sA2eB3sA1eB3sA1eB2sA1eB1
sA1eB3sA1eB2sA1eB2sA1eB3sA1eB2sA1eB3sA1eB3sA1eB2sA2eB1sA1eB3sA1eB2sA2eB2
sA1eB3sA1eB2sA2eB3sA1eB3sA1eB3sA1eB1sA1eB3sA1eB3sA1eB2sA1eB3sA1eB3sA1eB3
sA1eB3sA1eB3sA2eB1sA1eB3sA1eB3sA2eB2sA1eB3sA1eB3sA2eB3sA1eB3sA2eB1sA1eB1
sA1eB3sA2eB1sA1eB2sA1eB3sA2eB1sA1eB3sA1eB3sA2eB1sA2eB1sA1eB3sA2eB1sA2eB2
sA1eB3sA2eB1sA2eB3sA1eB3sA2eB2sA1eB1sA1eB3sA2eB2sA1eB2sA1eB3sA2eB2sA1eB3
sA1eB3sA2eB2sA2eB1sA1eB3sA2eB2sA2eB2sA1eB3sA2eB2sA2eB3sA1eB3sA2eB3sA1eB1
sA1eB3sA2eB3sA1eB2sA1eB3sA2eB3sA1eB3sA1eB3sA2eB3sA2eB1sA1eB3sA2eB3sA2eB2
sA1eB3sA2eB3sA2eB3sA2eB1sA1eB1sA1eB1sA2eB1sA1eB1sA1eB2sA2eB1sA1eB1sA1eB3
Table 5. DNA Sequences symbols after Step (1) for Table 2.
Table 5. DNA Sequences symbols after Step (1) for Table 2.
3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence
sA1eB1sA1eB2sA2eB3sA1eB1sA1eB3sA2eB2sA1eB1sA2eB2sA1eB3sA1eB1sA2eB2sA2eB3
sA1eB1sA2eB3sA1eB2sA1eB1sA2eB3sA2eB2sA1eB2sA1eB1sA2eB3sA1eB2sA1eB3sA2eB1
sA1eB2sA2eB1sA1eB3sA1eB2sA2eB1sA2eB3sA1eB2sA2eB3sA1eB1sA1eB2sA2eB3sA2eB1
sA1eB3sA1eB1sA2eB2sA1eB3sA1eB2sA2eB1sA1eB3sA2eB1sA1eB2sA1eB3sA2eB1sA2eB2
sA1eB3sA2eB2sA1eB1sA1eB3sA2eB2sA2eB1sA2eB1sA1eB2sA1eB3sA2eB1sA1eB2sA2eB3
sA2eB1sA1eB3sA1eB2sA2eB1sA1eB3sA2eB2sA2eB1sA2eB2sA1eB3sA2eB1sA2eB3sA1eB2
sA2eB2sA1eB1sA1eB3sA2eB2sA1eB1sA2eB3sA2eB2sA1eB3sA1eB1sA2eB2sA1eB3sA2eB1
sA2eB2sA2eB1sA1eB3sA2eB2sA2eB3sA1eB1sA2eB3sA1eB1sA1eB2sA2eB3sA1eB1sA2eB2
sA2eB3sA1eB2sA1eB1sA2eB3sA1eB2sA2eB1sA2eB3sA2eB1sA1eB2sA2eB3sA2eB2sA1eB1
Table 6. DNA Sequences symbols after Step (4) for Table 2.
Table 6. DNA Sequences symbols after Step (4) for Table 2.
3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence
sA1eB1sA1eB2sA2eB3w11w12w23sA1eB1sA1eB3sA2eB2w11w13w22sA1eB1sA2eB2sA1eB3w11w13w22
sA1eB1sA2eB2sA2eB3w11w22w23sA1eB1sA2eB3sA1eB2w11w12w23sA1eB1sA2eB3sA2eB2w11w22w23
sA1eB2sA1eB1sA2eB3w11w12w23sA1eB2sA1eB3sA2eB1w12w13w21sA1eB2sA2eB1sA1eB3w12w13w21
sA1eB2sA2eB1sA2eB3w12w21w23sA1eB2sA2eB3sA1eB1w11w12w23sA1eB2sA2eB3sA2eB1w12w21w23
sA1eB3sA1eB1sA2eB2w11w13w22sA1eB3sA1eB2sA2eB1w12w13w21sA1eB3sA2eB1sA1eB2w12w13w21
sA1eB3sA2eB1sA2eB2w13w21w22sA1eB3sA2eB2sA1eB1w11w13w22sA1eB3sA2eB2sA2eB1w13w21w22
sA2eB1sA1eB2sA1eB3w12w13w21sA2eB1sA1eB2sA2eB3w12w21w23sA2eB1sA1eB3sA1eB2w12w13w21
sA2eB1sA1eB3sA2eB2w13w21w22sA2eB1sA2eB2sA1eB3w13w21w22sA2eB1sA2eB3sA1eB2w12w21w23
sA2eB2sA1eB1sA1eB3w11w13w22sA2eB2sA1eB1sA2eB3w11w22w23sA2eB2sA1eB3sA1eB1w11w13w22
sA2eB2sA1eB3sA2eB1w13w21w22sA2eB2sA2eB1sA1eB3w13w21w22sA2eB2sA2eB3sA1eB1w11w22w23
sA2eB3sA1eB1sA1eB2w11w12w23sA2eB3sA1eB1sA2eB2w11w22w23sA2eB3sA1eB2sA1eB1w11w12w23
sA2eB3sA1eB2sA2eB1w12w21w23sA2eB3sA2eB1sA1eB2w12w21w23sA2eB3sA2eB2sA1eB1w11w22w23
Table 7. DNA Sequences symbols after Step (5) for Table 2.
Table 7. DNA Sequences symbols after Step (5) for Table 2.
3′–5′ DNA Sequence3′–5′ DNA Sequence3′–5′ DNA Sequence
sA1eB3sA2eB1sA2eB2w13w21w22sA1eB3sA2eB2sA2eB1w13w21w22sA2eB1sA1eB3sA2eB2w13w21w22
sA2eB1sA2eB2sA1eB3w13w21w22sA2eB2sA1eB3sA2eB1w13w21w22sA2eB2sA2eB1sA1eB3w13w21w22

2.4. The Complexity and Feasibility of the Proposed DNA Algorithm

The following theorem tells that the algorithm proposed above really can get solutions of the unbalanced assignment problem in O(mn) steps using DNA molecules.
Theorem 1. The solutions of the unbalanced assignment problem with n jobs and m individuals can be obtained by the above DNA operations.
Proof. We first get all combinations of the n jobs assignment in the data pool after the first step. Since the unbalanced assignment problem requires every job be assigned, we discard DNA strands without some jobs information at step (2). Additionally, each individual should get at least one job in the problem, thus we abandon DNA strands without some jobs information at step (3). Simultaneity is required in order to find the minimum solution, thus we append the corresponding cost strands at the end of previous strands at step (4). The shortest stands in the tube T6 mean the solutions to the unbalanced assignment problem, and we can “read” the answer at the last step.
Theorem 2. The solutions of the unbalanced assignment problem with n jobs and m individuals can be figured out in O(mn) time steps using DNA molecules computation.
Proof. We get that the complexity of every biological operation is in O(1) time [14], the manipulation of the total algorithm can be entirely finished in a finite time range, such as step (1), (5) in O(1) time, step (2) in O(n), step (3) in O(m), and step (4) in O(mn). The time complexity T of the total algorithm is as follows:
  • T(Step (1)) = O(1);
  • T(Step (2)) = O(n);
  • T(Step (3)) = O(m);
  • T(Step (4)) = O(mn);
  • T(Step (4)) = O(1);
  • T = T(Step (1)) + T(Step (2)) + T(Step (3)) + T(Step (4)) + T(Step (5));
  • = O(1) + O(n) + O(m) + O(mn) + O(1);
  • = O(mn).
Theorem 3. The solutions strands of the unbalanced assignment problem with n jobs and m individuals can be found in the finite length range.
Proof. After the second step, we pick up the DNA strands for all possible assignment choices with n jobs and m individuals. Here the single strands in tube T2 at step (3) can be described:
s A i 1 e B j 1 s A i 2 e B j 2 s A i p e B j p s A i n e B j n   i p { 1 , 2 , , m } , j p { 1 , 2 , , n }
In the beginning we reasonably design the length of s, e, Ak, Bk, for
s = A k = B k = e = t   m e r
In order to choose the minimum cost assignment, we append the cost strands wij at the end of the previous strands denoting j-job to i-individual at (4) step. And we let ||wij|| = cij mer and max ||wij|| = y mer. Then T2 can be described:
s A i 1 e B j 1 s A i 2 e B j 2 s A i p e B j p s A i n e B j n w i 1 j 1 w i 2 j 2 w i p j p w i n j n
So the length range of DNA strands in tube T2 is:
S = s + A i 1 + e + B j 1 + s + A i 2 + e + B j 2 + + s + A i n + e + B j n + w i 1 j 1 + w i 2 j 2 + w i n j n = i = 1 n s + k = 1 n A i k + i = 1 n e + k = 1 n B j k + k = 1 n w i k j k = 4 n t + k = 1 n w i k j k
∵ 0 ≤ w i k j k y
∴ 4tn ≤ ||T2|| ≤ (4t + y)n
The length of strands in T2 tube must be between 4tn and (4t + y)n. So we can get the solution in step (4) in the appropriate length range.

3. Experimental Section

It is shown that errors in the separation of the library strands are errors in the computation [26,27,28,29,30,31,32]. This means that it needs a lower rate of primary errors of hybridization in the computation. DNA sequences should be generated to ensure library strands have little secondary structure that might inhibit intended probe-library hybridization. The design must also exclude DNA sequences that might encourage unintended probe-library hybridization. In order to realize the goals, we need to follow some DNA sequence constraints. For instance, library strands should include only A, T, and C, which has a lower secondary structure than those conditions and has higher chance to bind probes; through the restriction every library and probe sequence should have no runs of more than four A, four T, four C or four G, long homopolymer tracts which may have unusual secondary structures that inhibit the binding from probes to library strands and the melting temperatures of probe and library strand hybridization will be more similar, if they do not have any long enough homopolymer tracts. Restrictions that each probe should have four, five, or six G in its sequence are aimed to insure that intended probe-library pairings have uniform melting temperatures, and so on.
In this paper, the Adleman procedures [29] are simulated working on an electronic computer. The coded algorithms are used to generate DNA sequences to solve the unbalanced assignment problem and construct the 15-base DNA sequences for every bit of the library. For Table 1, the algorithm generates 5-base random sequences, consisting of Ak, Bk, s, e, and confirms whether the library strands satisfy above-mentioned restrictions when a new DNA sequence is gained [30]. If the restrictions are satisfied, the new DNA sequence is “greedily” taken up. If the restrictions are not satisfied, then mutations would be imported individually, in succession, into the new block until either the restrictions are satisfied and then the new DNA sequence is accepted, or a threshold for the number of mutations is reached, and the algorithm has finished and so it quits, printing the DNA sequence found so far. If the whole string of bits satisfy the restrictions, the algorithm has succeeded and these DNA sequences would be the product.
Consider the example in Table 1, the problem includes jobs {j1, j2, j3, j4, j5},and individuals {i1, i2, i3}. Basic DNA sequences are generated by Adleman’s algorithms and modified, shown in Table 8. Table 9 shows DNA sequences representing the job assignment schemes sAieBj (1 ≤ im, 1 ≤ jn). Adleman’s algorithms are also used to calculate the enthalpy, entropy, and free energy for binding of each probe to its corresponding region on a library strand; meanwhile, the energy used is shown in Table 10.
Table 8. Sequences chosen to represent s, e, Ak, Bk, and wij in the example for Table 1.
Table 8. Sequences chosen to represent s, e, Ak, Bk, and wij in the example for Table 1.
Bit3′–5′ DNA SequenceBit3′–5′ DNA SequenceBit3′–5′ DNA SequenceBit3′–5′ DNA Sequence
sCTATCeAACTCA1TAAAAB1AATTA
A2CTTTTB2CATTAA3TTCAAB3ATCTA
B4CAAACB5ATCCAw11CCCATw12ATATA
w13TTACAw14TACCCw15TTCTTw21TTTCA
w22ATAATw23CTACCw24TTACAw25CATAC
w31CCTTCw32ACTCAw33TCACTw34ACCCT
w35TTAAC
Table 9. Sequences chosen to represent the job assignment schemes sAieBj (1 ≤ im, 1 ≤ jn) in the example for Table 1.
Table 9. Sequences chosen to represent the job assignment schemes sAieBj (1 ≤ im, 1 ≤ jn) in the example for Table 1.
Job Assignment3′–5′ DNA SequenceJob Assignment3′–5′ DNA Sequence
sA1eB1CTATCTAAAAAACTCAATTAsA1eB2CTATCTAAAAAACTCCATTA
sA1eB3CTATCTAAAAAACTCATCTAsA1eB4CTATCTAAAAAACTCCAAAC
sA1eB5CTATCTAAAAAACTCATCCAsA2eB1CTATCCTTTTAACTCAATTA
sA2eB2CTATCCTTTTAACTCCATTAsA2eB3CTATCCTTTTAACTCATCTA
sA2eB4CTATCCTTTTAACTCCAAACsA2eB5CTATCCTTTTAACTCATCCA
sA3eB1CTATCTTCAAAACTCAATTAsA3eB2CTATCTTCAAAACTCCATTA
sA3eB3CTATCTTCAAAACTCATCTAsA3eB4CTATCTTCAAAACTCCAAAC
sA3eB5CTATCTTCAAAACTCATCCA
Table 10. The energies for of binding each probe to its corresponding region on a library strand.
Table 10. The energies for of binding each probe to its corresponding region on a library strand.
Job AssignmentEnthalpy Energy HEntropy Energy SFree Energy GJob AssignmentEnthalpy Energy HEntropy Energy SFree Energy G
sA1eB1110.5287.124.7sA1eB2101.2256.722.9
sA1eB3111.6294.425.9sA1eB4107.4281.324.9
sA1eB5108.3277.725.2sA2eB1104.2271.324.9
sA2eB299.8248.222.9sA2eB3105.4270.324.8
sA2eB4104.5269.724.7sA2eB597.7243.123.3
sA3eB1107.6275.325.2sA3eB2111.2289.525.8
sA3eB3103.3262.424.6sA3eB4114.7292.126.3
sA3eB5112.1288.526.1
Our program also figures out the average and standard deviation for the enthalpy, entropy, and free energy over all probe/library strand interactions. The energy levels are shown as in Table 11. Table 12 presents the library strands and the solution {j3i1, j4i1, j2i2, j1i3, j5i3}of the unbalanced assignment problem.
Table 11. The energies over all probe/library strand interactions.
Table 11. The energies over all probe/library strand interactions.
Average106.463273.61324.794
Standard Deviation4.801815.36311.0363
Table 12. DNA sequences chosen to represent the answer of the unbalanced assignment problem.
Table 12. DNA sequences chosen to represent the answer of the unbalanced assignment problem.
SolutionsDNA Strands Denoting Solutions
{j3i1, j4i1,j2i2, j1i3,j5i3}3′-CTATCTAAAAAACTCATCTACTATCTAAAAAACTCCAAAC
CTATCCTTTTAACTCCATTACTATCTTCAAAACTCAATTACTAT
CTTCAAAACTCATCCATTACATACCCATAATCCTTCTTAAC-5′

4. Conclusions

In this paper, we present DNA algorithms for solving the unbalanced assignment problem based on biological operations in the Adleman-Lipton model. Due to electronic computers having obvious limits in storage, speed, intelligence, and miniaturization, the methods of DNA computation have arisen, especially for their efficient parallelism. The present algorithm has the following advantages compared with previous algorithms: firstly, the proposed algorithm actually has a lower rate of errors for hybridization because we develop a computer program to generate good DNA sequences for generating the solution space of the unbalanced assignment problem. Secondly, the proposed algorithm requires a time cost and a DNA strand length that are linearly proportional to the instance size. It can finish in O(mn) the unbalanced assignment problem with n jobs and m individuals, having certain advantages comparing with existing algorithms, such as algorithm of paper [33] with O(nlogn(m + nlogn)) complexity. Additionally, the proposed algorithms can be easily performed in a fully automated manner in a laboratory. The full automation manner is essential not only for the speedup of computation but also for error-free computation. Meanwhile we simulated the DNA experiment to solve the unbalanced assignment problem. The ability to perform complex operations in solution might help us learn more about the nature of computation and lead to the development of better DNA-based computation, capable of solving a wide range of complex problems. We hope that, in future studies, more highly-effective DNA operations will be exploited to derive a DNA computing model with time efficiency and is complete for NP-hard problems.

Acknowledgments

The project was also supported by National Natural Science Foundation of China (No. 41201400 and No. 41201399).

Author Contributions

Zhaocai Wang designed the study, analyzed the data, and wrote the manuscript. Jun Pu carried out theoretical proof and gave the instructions for modification. Liling Cao performed most of the experiments. Jian Tan provided manuscript instructions and supervised the study.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Adleman, L.M. Molecular computation of solution to combinatorial problems. Science 1994, 266, 1021–1024. [Google Scholar] [CrossRef] [PubMed]
  2. Lipton, R.J. DNA solution of HARD computational problems. Science 1995, 268, 542–545. [Google Scholar] [CrossRef] [PubMed]
  3. Roweis, S.; Winfree, E.; Burgoyne, R.; Chelyapov, N.V.; Goodman, M.F.; Rothemund, P.W.K.; Adleman, L.M. A sticker based model for DNA computation. J. Comput. Biol. 1998, 5, 615–629. [Google Scholar] [CrossRef] [PubMed]
  4. Ouyang, Q.; Kaplan, P.D.; Liu, S.; Libchaber, A. DNA solution of the maximal clique problem. Science 1997, 278, 446–449. [Google Scholar] [CrossRef] [PubMed]
  5. Winfree, E.; Liu, F.; Wenzler, L.A.; Seeman, N.C. Design and self-assembly of two dimensional DNA crystals. Nature 1998, 394, 539–544. [Google Scholar] [CrossRef] [PubMed]
  6. Sakamoto, K.; Gouzu, H.; Komiya, K.; Kiga, D.; Yokoyama, S.; Yokomori, T.; Hagiya, M. Molecular computation by DNA hairpin formation. Science 2000, 288, 1223–1226. [Google Scholar] [CrossRef] [PubMed]
  7. Smith, L.M.; Corn, R.M.; Condon, A.E.; Lagally, M.G.; Frutos, A.G.; Liu, Q.; Thiel, A.J. A surface-based approach to DNA computation. J. Comput. Biol. 1998, 5, 255–267. [Google Scholar] [CrossRef] [PubMed]
  8. Li, W.X.; Xiao, D.M.; He, L. DNA ternary addition. Appl. Math. Comput. 2006, 182, 977–986. [Google Scholar] [CrossRef]
  9. Xiao, D.M.; Li, W.X.; Yu, J.; Zhang, X.D.; Zhang, Z.Z.; He, L. Procedures for a dynamical system on {0,1}n with DNA molecules. BioSystems 2006, 84, 207–216. [Google Scholar] [CrossRef] [PubMed]
  10. Wang, Z.C.; Huang, D.M.; Meng, H.J.; Tang, C.P. A new fast algorithm for solving the minimum spanning tree problem based on DNA molecules computation. BioSystems 2013, 114, 1–7. [Google Scholar] [CrossRef] [PubMed]
  11. Lee, J.Y.; Shin, S.Y.; Park, T.H.; Zhang, B.T. Solving traveling salesman problems with DNA molecules encoding numerical values. BioSystems 2004, 78, 39–47. [Google Scholar] [CrossRef] [PubMed]
  12. Wang, Z.C.; Huang, D.M.; Tan, J.; Liu, T.G.; Zhao, K.; Li, L. A parallel algorithm for solving the n-queens problem based on inspired computational model. BioSystems 2015, 131, 22–29. [Google Scholar] [CrossRef] [PubMed]
  13. Chang, W.L.; Lin, K.W.; Chen, J.C.; Wang, C.-C.; Lu, L.C.; Guo, M.; Ho, M. Molecular Solutions of the RSA Public-key Cryptosystem on a DNA-based Computer. J. Supercomput. 2012, 61, 642–672. [Google Scholar] [CrossRef]
  14. Chang, W.L.; Ren, T.T.; Luo, J.; Feng, M.; Guo, M. Quantum Algorithms for Biomolecular Solutions of the Satisfiability Problem on a Quantum Machine. IEEE Trans. Nanobiosci. 2008, 7, 215–222. [Google Scholar] [CrossRef] [PubMed]
  15. Wang, Z.C.; Tan, J.; Huang, D.M.; Ren, Y.C.; Ji, Z.W. A biological algorithm to solve the assignment problem based on DNA molecules computation. Appl. Math. Comput. 2014, 244, 183–190. [Google Scholar] [CrossRef]
  16. Han, A. An improved DNA solution to the vertex cover problem. In Proceedings of the Fourth International Conference on Natural Computation (ICNC’08), Jinan, China, 18–20 October 2008.
  17. Liu, X.C.; Yang, X.F.; Li, S.L.; Ding, Y. Solving the minimum bisection problem using a biologically inspired computational model. Theor. Comput. Sci. 2010, 411, 888–896. [Google Scholar] [CrossRef]
  18. Wang, Z.C.; Zhang, Y.M.; Zhou, W.H.; Liu, H.F. Solving traveling salesman problem in the Adleman-Lipton model. Appl. Math. Comput. 2012, 219, 2267–2270. [Google Scholar] [CrossRef]
  19. Castellanos-Garzn, J.A.; Garca, C.A.; Novais, P.; Díaz, F. A visual analytics framework for cluster analysis of DNA microarray data. Expert Syst. Appl. 2013, 40, 758–774. [Google Scholar] [CrossRef] [Green Version]
  20. Chang, W.-L.; Ho, M.; Guo, M. Fast Parallel Molecular Algorithms for DNA-based Computation: Factoring Integers. IEEE Trans. Nanobiosci. 2005, 4, 149–163. [Google Scholar] [CrossRef]
  21. Chang, W.L.; Ren, T.T.; Feng, M. Quantum Algorithms and Mathematical Formulations of Biomolecular Solutions of the Vertex Cover Problem in the Finite-Dimensional Hilbert Space. IEEE Trans. Nanobiosci. 2014, 14, 121–128. [Google Scholar] [CrossRef] [PubMed]
  22. Garey, M.R.; Johnson, D.S. Computers and Intractability: A Guide to the Theory of NP-Completeness; W.H. Freeman and Company: New York, NY, USA, 1979. [Google Scholar]
  23. Zimmermann, K.H.; Ignatova, Z.; Israel, M.P. DNA Computing Models; Springer: New York, NY, USA, 2008; pp. 146–147. [Google Scholar]
  24. Han, A.; Zhu, D.; Pan, J. DNA Solution Based on Sequence Alignment to the Minimum Spanning Tree problem. J. Bioinform. Res. Appl. 2008, 2, 188–200. [Google Scholar] [CrossRef] [PubMed]
  25. Yamamura, M.; Hiroto, Y.; Matoba, T. Solutions of shortest path problems by concentration control. Lect. Notes Comput. Sci. 2002, 2340, 231–240. [Google Scholar]
  26. Zhang, Y.; Chu, C.H.; Chen, Y.; Zha, H.; Ji, X. Splice site prediction using support vector machines with a Bayes kernel. Expert Syst. Appl. 2006, 30, 73–81. [Google Scholar] [CrossRef]
  27. Braich, R.S.; Johnson, C.; Rothemund, P.W.K.; Hwang, D.; Chelyapov, N.; Adleman, L.M. Solution of a satisfiability problem on a gel-based DNA computer, in: Proceedings of the Sixth International Conference on DNA Computation (DNA 2000). Lect. Notes Comput. Sci. 2001, 2054, 27–42. [Google Scholar]
  28. Zhang, H.Y.; Liu, X.Y. A CLIQUE algorithm using DNA computing techniques based on closed-circle DNA sequences. Biosystems 2011, 105, 73–82. [Google Scholar] [CrossRef] [PubMed]
  29. Darehmiraki, M. A New Solution for Maximal Clique Problem based Sticker Model. Biosystems 2009, 95, 145–149. [Google Scholar] [CrossRef] [PubMed]
  30. Braich, R.S.; Johnson, C.; Rothemund, P.W.K.; Chelyapov, N.; Adleman, L.M. Solution of a 20-variable 3-SAT problem on a DNA computer. Science 2002, 296, 499–502. [Google Scholar] [CrossRef] [PubMed]
  31. Alonso Sanches, C.A.; Soma, N.Y. A polynomial-time DNA computing solution for the Bin-Packing Problem. Appl. Math. Comput. 2009, 215, 2055–2062. [Google Scholar] [CrossRef]
  32. Ting, C.J.; Wu, K.C.; Chou, H. Particle swarm optimization algorithm for the berth allocation problem. Expert Syst. Appl. 2014, 41, 1543–1550. [Google Scholar] [CrossRef]
  33. Balachandran, V. Faster strongly polynomial algorithms for the unbalanced transportation problem and assignment problem with monge costs. Networks 2013, 62, 136–148. [Google Scholar]

Share and Cite

MDPI and ACS Style

Wang, Z.; Pu, J.; Cao, L.; Tan, J. A Parallel Biological Optimization Algorithm to Solve the Unbalanced Assignment Problem Based on DNA Molecular Computing. Int. J. Mol. Sci. 2015, 16, 25338-25352. https://doi.org/10.3390/ijms161025338

AMA Style

Wang Z, Pu J, Cao L, Tan J. A Parallel Biological Optimization Algorithm to Solve the Unbalanced Assignment Problem Based on DNA Molecular Computing. International Journal of Molecular Sciences. 2015; 16(10):25338-25352. https://doi.org/10.3390/ijms161025338

Chicago/Turabian Style

Wang, Zhaocai, Jun Pu, Liling Cao, and Jian Tan. 2015. "A Parallel Biological Optimization Algorithm to Solve the Unbalanced Assignment Problem Based on DNA Molecular Computing" International Journal of Molecular Sciences 16, no. 10: 25338-25352. https://doi.org/10.3390/ijms161025338

Article Metrics

Back to TopTop