Efficient linear systolic array for the knapsack problem

  • Rumen Andonov
  • Patrice Quinton
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 634)


A processor-efficient systolic algorithm for the dynamic programming approach to the knapsack problem is presented in this paper. The algorithm is implemented on a linear systolic array where the number of the cells q, the cell memory storage α and the input/output requirements are design parameters. These are independent of the problem size given by the number of the objects m and the knapsack capacity c. The time complexity of the algorithm is Θ(mc/q + m) and both the time speedup and the processor efficiency are asymptotically optimal.

A new procedure for the backtracking phase of the algorithm with a time complexity Θ(m) is also proposed. It is an improvement on the usual strategies used for backtracking which have a time complexity Θ(m + c).


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    R. Garfinkel and G. Nemhauser, Integer Programming. John Wiley and Sons, 1972.Google Scholar
  2. 2.
    T. C. Hu, Combinatorial Algorithms. Addison-Wesley Publishing Company, 1982.Google Scholar
  3. 3.
    S. Martello and P. Toth, Knapsack Problems: Algorithms and Computer Implementation. John Wiley and Sons, 1990.Google Scholar
  4. 4.
    M. Garey and D. Johnson, Computers and Intractability: a Guide to the Theory of NP-Completeness. Freeman, San Francisco, 1979.Google Scholar
  5. 5.
    R. Bellman, Dynamic Programming. Princeton University Press, Princeton, NJ, 1957.Google Scholar
  6. 6.
    G. Chen, M. Chern, and J. Jang, “Pipeline architectures for dynamic programming algorithms,” Parallel Computing, vol. 13, pp. 111–117, 1990.Google Scholar
  7. 7.
    G. Li and B. Wa, “Systolic processing for dynamic programming problems,” in Proc. International Conference on Parallel Processing, pp. 434–441, 1985.Google Scholar
  8. 8.
    R. J. Lipton and D. Lopresti, “Delta transformation to symplify VLSI processor arrays for serial dynamic programming,” in Proc. International Conference on Parallel Processing, pp. 917–920, 1986.Google Scholar
  9. 9.
    R. Andonov, V. Aleksandrov, and A. Benaini, “A linear systolic array for the knapsack problem,” Tech. Rep., Center of Computer Science and Technology, Acad. G. Bonchev st., bl. 25a, Sofia 1113, Bulgaria, 1991.Google Scholar
  10. 10.
    P. Quinton and Y. Robert, Algorithmes et architectures systoliques. Masson, 1989. English translation by Prentice Hall, Systolic Algorithms and Architectures, Sept. 1991.Google Scholar
  11. 11.
    H. T. Kung, “Why systolic architectures,” Computer, vol. 15, pp. 37–46, 1982.Google Scholar
  12. 12.
    S. Teng, “Adaptive parallel algorithm for integral knapsack problems,” J. of Parallel and Distributed Computing, vol. 8, pp. 400–406, 1990.Google Scholar
  13. 13.
    R. Andonov and F. Gruau, “A 2D modular toroidal systolic array for the knapsack problem,” in ASAP'91,(Barcelona, Spain), September 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Rumen Andonov
    • 1
  • Patrice Quinton
    • 2
  1. 1.Center of Computer Science and TechnologyAcad. G. Bonchev st.SofiaBulgaria
  2. 2.Campus de BeaulieuIRISARennes CedexFrance

Personalised recommendations