UKP5: A New Algorithm for the Unbounded Knapsack Problem

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9685)


In this paper we present UKP5, a novel algorithm for solving the unbounded knapsack problem. UKP5 is based on dynamic programming, but implemented in a non traditional way: instead of looking backward for stored values of subproblems, it stores incremental lower bounds forward. UKP5 uses sparsity, periodicity, and dominance for speeding up computation. UKP5 is considerably simpler than EDUK2, the state-of-the-art algorithm for solving the problem. Moreover, it can be naturally implemented using the imperative paradigm, differently from EDUK2. We run UKP5 and EDUK2 on a benchmark of hard instances proposed by the authors of EDUK2. The benchmark is composed by 4540 instances, divided into five classes, with instances ranging from small to large inside each class. Speedups were calculated for each class, and the overall speedup was calculated as the classes speedups average. The experimental results reveal that UKP5 outperforms EDUK2, being 47 times faster on the overall average.


Unbounded knapsack problem Dynamic programming Combinatorial optimization 



We are very thankful to Vincent Poirriez for providing us the codes of a stable version of PYAsUKP, and answering our questions about the paper [12]. We are thankful to the CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico) for the financial support.


  1. 1.
    Andonov, R., Poirriez, V., Rajopadhye, S.: Unbounded knapsack problem: dynamic programming revisited. Eur. J. Oper. Res. 123(2), 394–407 (2000)MathSciNetCrossRefMATHGoogle Scholar
  2. 2.
    Belov, G., Scheithauer, G.: A branch-and-cut-and-price algorithm for one-dimensional stock cutting and two-dimensional two-stage cutting. Eur. J. Oper. Res. 171(1), 85–106 (2006)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Delorme, M., Iori, M., Martello, S.: Bin packing and cutting stock problems: mathematical models and exact algorithms. In: Decision Models for Smarter Cities (2014)Google Scholar
  4. 4.
    Garfinkel, R.S., Nemhauser, G.L.: Integer Programming, vol. 4. Wiley, New York (1972)MATHGoogle Scholar
  5. 5.
    Gilmore, P.C., Gomory, R.E.: A linear programming approach to the cutting-stock problem. Oper. Res. 9(6), 849–859 (1961)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Gilmore, P.C., Gomory, R.E.: A linear programming approach to the cutting stock problem-Part II. Oper. Res. 11(6), 863–888 (1963)MathSciNetCrossRefMATHGoogle Scholar
  7. 7.
    Hu, T.C.: Integer programming and network flows. Technical report, DTIC Document (1969)Google Scholar
  8. 8.
    Huang, P.H., Tang, K.: A constructive periodicity bound for the unbounded knapsack problem. Oper. Res. Lett. 40(5), 329–331 (2012)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Iida, H.: Two topics in dominance relations for the unbounded knapsack problem. Open Appl. Math. J. 2(1), 16–19 (2008)MathSciNetCrossRefMATHGoogle Scholar
  10. 10.
    Martello, S., Toth, P.: An exact algorithm for large unbounded knapsack problems. Oper. Res. Lett. 9(1), 15–20 (1990)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Pisinger, D.: Algorithms for knapsack problems (1995)Google Scholar
  12. 12.
    Poirriez, V., Yanev, N., Andonov, R.: A hybrid algorithm for the unbounded knapsack problem. Discrete Optim. 6(1), 110–124 (2009)MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Federal University of Rio Grande do Sul (UFRGS)Porto AlegreBrazil

Personalised recommendations