On Optimization and Parallelization of the Little Algorithm for Solving the Travelling Salesman Problem
The paper describes some ways to speed up solution of the NP-complete Traveling Salesman Problem. The classic Little algorithm, belonging to the class of branch-and-bound methods, can solve it both for directed and undirected graphs. For undirected graphs, however, its speed can be increased by eliminating the branches examined earlier from further consideration. We propose changes to be made in the key operations of the algorithm to speed up execution. In addition, we describe the results of an experiment with a significant increase in the speed of solving of the problem by the advanced algorithm. Another way to speed up the solution procedure is to parallelize the algorithm. For problems of this kind, it is difficult to decompose the task into a sufficient number of subtasks that have comparable complexity. Their parallelism arises dynamically during the execution. For such problems, it seems reasonable to use parallel-recursive algorithms. In our case, the RPM_ParLib library developed by the author is a good approach, enabling the development of high-performance applications for parallel computing on a local network using any.NET-compatible programming language. We selected C# as the programming language. Parallel applications were developed to implement the basic and modified algorithms, as well as to compare them in terms of speed. Experiments were performed for the graphs with up to 45 vertexes and up to 16 network computers. We also investigated the speed increase that can be achieved by parallelizing the basic Little algorithm for directed graphs. The results of these experiments are also presented in the paper.
KeywordsTraveling Salesman Problem Little algorithm parallel algorithm recursion .NET
Unable to display preview. Download preview PDF.
- 7.Petrounine, S.V., Employment of permanent separation method for solution of traveling salesman problems, Nauch. Vestn. Mosk. Gos. Tekh. Univ. Grazhdanskoi Aviats., 2009, no. 146, pp. 105–108.Google Scholar
- 8.Kostyuk, Yu.L., Effective implementation of algorithm for solving the travelling salesman problem by branchand-bound method, Prikl. Diskr. Mat., 2013, no. 2, pp. 78–90.Google Scholar
- 9.Sigal, I.Kh., Babinskaya, Ya.L., and Pocypkin, M.A., Parallel implementation of the branch and bound method in the traveling salesman problem based on the BNB-Solver library, Tr. Inst. Sist. Anal. Ross. Akad. Nauk, 2006, vol. 25, pp. 26–36.Google Scholar
- 10.Vasilchikov, V.V., Sredstva parallel’nogo programmirovaniya dlya vychislitel’nykh sistem s dinamicheskoi balansirovkoi zagruzki (Parallel Programming Tools for Computing Systems with Dynamic Load Balancing), Yaroslavl: YarGU, 2001.Google Scholar
- 11.Vasilchikov, V.V., Kommunikatsionnyi modul' dlya organizatsii polnosvyaznogo soedineniya kompyuterov v lokal’noi seti s ispolzovaniem.NET Framework, Svidetel’stvo o gosudarstvennoi registratsii programmy dlya EVM no. 2013619925 (A Communication Module for Organizing a Fully-Connected Connection of Computers in a Local Network Using the.NET Framework, Certificate of State Registration of Computer Program No. 2013619925), 2013.Google Scholar
- 12.Vasilchikov, V.V., Biblioteka podderzhki rekursivno-parallelnogo programmirovaniya dlya.NET Framework, Svidetel’stvo o gosudarstvennoi registratsii programmy dlya EVM no. 2013619926 (A Library of Support for Recursive-Parallel Programming for.NET Framework, Certificate of State Registration of Computer Program No. 2013619926), 2013.Google Scholar