On the Optimization and Parallelizing Little Algorithm for Solving the Traveling Salesman Problem
https://doi.org/10.18255/1818-1015-2016-4-401-411
Abstract
The paper describes some ways to accelerate solving the NP-complete Traveling Salesman Problem. The classic Little algorithm belonging to the category of ”branch and bound methods” can solve it both for directed and undirected graphs. However, for undirected graphs its operation can be accelerated by eliminating the consideration of branches examined earlier. The paper proposes changes to be made in the key operations of the algorithm to speed up its execution. It also describes the results of an experiment that demonstrated a significant acceleration of solving the problem by using an advanced algorithm. Another way to speed up the work is to parallelize the algorithm. For problems of this kind it is difficult to break the task into a sufficient number of subtasks having comparable complexity. Their parallelism arises dynamically during the execution. For such problems, it seems reasonable to use parallel-recursive algorithms. In our case the use of the library RPM ParLib developed by the author was a good choice. It allows us to develop effective applications for parallel computing on a local network using any .NET-compatible programming language. We used C# to develop the programs. Parallel applications were developed as for basic and modified algorithms, the comparing of their speed was made. Experiments were performed for the graphs with the number of vertexes up to 45 and with the number of network computers up to 16. We also investigated the acceleration that can be achieved by parallelizing the basic Little algorithm for directed graphs. The results of these experiments are also presented in the paper.
About the Author
V. V. VasilchikovRussian Federation
Vasilchikov Vladimir Vasilyevich, PhD,
P.G. Demidov Yaroslavl State University, Sovetskaya str., 14, Yaroslavl, 150000
References
1. Garey M. R., Johnson D. S., Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman and Co, San Francisco, 1979.
2. Land A. H. Doig A. G., “An Autmatic Method of Solving Discrete Programming Problems”, Econometrica, 28 (1960), 497–520. DOI: 10.2307/1910129.
3. John D. C. Little, Katta G. Murty, Dura W. Sweeney, Caroline Karel, “An Algorithm for the Traveling Salesman Problem”, Operations Research, 11:6 (1963), 972–989. DOI: 10.1287/opre.11.6.972.
4. Kaufmann A., Intraduction a la combinatorique en vue des applications, Dumond, Paris, 1968.
5. Reingold E. Nievergelt Ju. Deo N., Combinatorial Algorithms: Theory and Practice, Prentice Hall College, 1977.
6. Cormen T. Leiserson Ch. Rivest R. Stein C., Introduction to Algorithms, The MIT Press, 2001.
7. Petrounine S.V., “Employment of permanent separation metrhod for solution of traveling salesman problems”, Scientifik bulletin of the MSTU CA, 2009, № 146, 105–108, (in Russian)
8. Kostyuk Yu. L., “Effective implementation of algorithm for solving the travelling salesman problem by branch-and-bound method”, Prikl. Diskr. Mat., 2013, № 2, 78–90, (in Russian).
9. Sigal I. Kh., Babinskaya Ya. L., Pocypkin M. A., “Parallelnaya realizaciya metoda vetvey i granic v zadache kommivoyazhera na baze biblioteki BNBSolver”, Trudy ISA RAN, 25 (2006), 26–36, (in Russian).
10. Vasilchikov V. V., Sredstva parallelnogo programmirovaniya dlya vychislitelnykh sistem s dinamicheskoy balansirovkoy zagruzki, YarGU, Yaroslavl, 2001, (in Russian).
11. Vasilchikov V. V., Kommunikatsionnyy modul dlya organizatsii polnosvyaznogo soedineniya kompyuterov v lokalnoy seti s ispolzovaniem .NET Framework, Svidetelstvo o gosudarstvennoy registratsii programmy dlya EVM № 2013619925, 2013, (in Russian).
12. Vasilchikov V. V., Svidetelstvo o gosudarstvennoy registratsii programmy dlya EVM № 2013619926, 2013, (in Russian).
13. Vasilchikov V. V., “On the Recursive-Parallel Programming for the .NET Framework”, Modeling and Analysis of Information Systems, 21:2 (2014), 15–25, (in Russian).
Review
For citations:
Vasilchikov V.V. On the Optimization and Parallelizing Little Algorithm for Solving the Traveling Salesman Problem. Modeling and Analysis of Information Systems. 2016;23(4):401-411. (In Russ.) https://doi.org/10.18255/1818-1015-2016-4-401-411