Preview

Modeling and Analysis of Information Systems

Advanced search

On а Recursive-Parallel Algorithm for Solving the Knapsack Problem

https://doi.org/10.18255/1818-1015-2018-2-155-164

Abstract

In this paper, we offer an efficient parallel algorithm for solving the NP-complete Knapsack Problem in its basic, so-called 0-1 variant. To find its exact solution, algorithms belonging to the category ”branch and bound methods” have long been used. To speed up the solving with varying degrees of efficiency, various options for parallelizing computations are also used. We propose here an algorithm for solving the problem, based on the paradigm of recursive-parallel computations. We consider it suited well for problems of this kind, when it is difficult to immediately break up the computations into a sufficient number of subtasks that are comparable in complexity, since they appear dynamically at run time. We used the RPM ParLib library, developed by the author, as the main tool to program the algorithm. This library allows us to develop effective applications for parallel computing on a local network in the .NET Framework. Such applications have the ability to generate parallel branches of computation directly during program execution and dynamically redistribute work between computing modules. Any language with support for the .NET Framework can be used as a programming language in conjunction with this library. For our experiments, we developed some C# applications using this library. The main purpose of these experiments was to study the acceleration achieved by recursive-parallel computing. A detailed description of the algorithm and its testing, as well as the results obtained, are also given in the paper.

About the Author

Vladimir V. Vasilchikov
P.G. Demidov Yaroslavl State University
Russian Federation
PhD


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. Kellerer H., Pferschy U., Pisinger D., Knapsack Problems, Springer, Berlin, 2004.

3. Martello S., Toth P., Knapsack Problems Algorithms and Computer Implementation, Wiley, New York, 1990.

4. Cormen T., Leiserson Ch., Rivest R., Stein C., Introduction to Algorithms, The MIT Press, 2001.

5. Land A. H., Doig A. G., “An Autmatic Method of Solving Discrete Programming Problems”, Econometrica, 28 (1960), 497–520.

6. Pisinger D., “An expanding-core algorithm for the exact 0-l knapsack problem”, Eur. J. Oper. Res., 87:1 (1995), 175–187.

7. Pisinger D., “A fast algorithm for strongly correlated knapsack problems”, Discrete Applied Mathematics, 89:1–3 (1998), 197–212.

8. Dantzig G. B., “Discrete Variable Extremum Problems”, Operation Ressearch, 5 (1957), 266–277.

9. Posypkin M.A., Sigal I.Kh., “Kombinirovannyj parallelnyj algoritm reshenija zadachi o rance”, Proceedings of the Fourth International Conference "Parallel Computations and Control Problems", 2008, 177–189,(in Russian).

10. Vasilchikov V.V., Sredstva parallelnogo programmirovaniya dlya vychislitelnykh sistem s dinamicheskoy balansirovkoy zagruzki, 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., Biblioteka podderzhki rekursivnoparallelnogo programmirovaniya dlya .NET Framework, 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).

14. Vasilchikov V.V., “On Optimization and Parallelization of the Little Algorithm for Solving the Travelling Salesman Problem”, Modeling and Analysis of Information Systems, 23:4 (2016), 401–411, (in Russian).


Review

For citations:


Vasilchikov V.V. On а Recursive-Parallel Algorithm for Solving the Knapsack Problem. Modeling and Analysis of Information Systems. 2018;25(2):155-164. (In Russ.) https://doi.org/10.18255/1818-1015-2018-2-155-164

Views: 1181


Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 1818-1015 (Print)
ISSN 2313-5417 (Online)