Sorting permutations by reversals through branch-and-price

被引:13
作者
Caprara, A
Lancia, G
Ng, SK
机构
[1] Univ Bologna, DEIS, I-40136 Bologna, Italy
[2] Univ Padua, DEI, I-35131 Padua, Italy
[3] SmithKline Beecham Pharmaceut R&D, Bioinformat, Harlow CM19 5AW, Essex, England
关键词
programming; integer; algorithms; applications; networks-graphs; matchings; analysis of algorithms;
D O I
10.1287/ijoc.13.3.224.12631
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
We describe an exact algorithm for the problem of sorting a permutation by the minimum number of reversals, originating from evolutionary studies in molecular biology. Our approach is based on an integer linear programming formulation of a graph-theoretic relaxation of the problem, calling for a decomposition of the edge set of a bicolored graph into the maximum number of alternating cycles. The formulation has one variable for each alternating cycle, and the associated linear programming relaxation is solved by column generation. A major advantage with respect to previous approaches is that the subproblem to face in the column-generation phase no longer requires the solution of min-cost general matching problems, but of min-cost bipartite matching problems. Experiments show that there is a tremendous speed-up in going from general matching to bipartite matching, although the best-known algorithms for the two problems have the same theoretical worst-case complexity. We also show the worst-case ratio between the lower bound value obtained by our new method and previous ones. We illustrate the effectiveness of our approach through extensive computational experiments. In particular, we can solve to proven optimality the largest real-world instances from the literature in a few seconds, and the other (smaller) real-world instances within a few milliseconds on a workstation. Moreover, we can solve to optimality random instances with n = 100 within 3 seconds, and with n = 200 within 15 minutes, where n is the size of the permutation, whereas the size of the instances solvable by previous approaches was at most 100. We also describe a polynomial-time heuristic algorithm that consistently finds solutions within 2% of the optimum for random instances with n up to 1000.
引用
收藏
页码:224 / 244
页数:21
相关论文
共 33 条
[1]  
[Anonymous], DIMACS SERIES DISCRE
[2]   Genome rearrangements and sorting by reversals [J].
Bafna, V ;
Pevzner, PA .
SIAM JOURNAL ON COMPUTING, 1996, 25 (02) :272-289
[3]   Branch-and-price: Column generation for solving huge integer programs [J].
Barnhart, C ;
Johnson, EL ;
Nemhauser, GL ;
Savelsbergh, MWP ;
Vance, PH .
OPERATIONS RESEARCH, 1998, 46 (03) :316-329
[4]  
BERMAN P, 1998, 29 ECCC U TRIER TRIE
[5]  
BERMAN P, 1996, P 7 ANN S COMB PATT
[6]  
BLANCHETTE M, 1999, COMMUNICATION
[9]  
CAPRARA A, 2001, IN PRESS J COMBINATO
[10]  
CAPRARA A, 1999, OR997 U BOL