European Journal of Operational Research | 2021

A branch-and-bound algorithm for the quadratic multiple knapsack problem

 

Abstract


Abstract We present a new branch-and-bound algorithm for the Quadratic Multiple Knapsack Problem. A key component of our algorithm is a new upper bound that divides the pairwise item values among individual items, estimates the maximum potential value contributed by each individual item, and calculates the upper bound via a transportation model. A local search is used to adjust the division of pairwise item values in order to improve the upper bound. Reduced costs from the solution of the transportation problem are used to forbid some item-to-knapsack assignments. Information from the upper bound is also used in selecting the item to branch on next. Computational experiments are carried out on three sets of benchmark instances from the literature, two sets of smaller instances with 20-35 items and 3-10 knapsacks per instance, and one set of larger instances with 40-60 items and 3-10 knapsacks per instance. Our algorithm finds and verifies optimal solutions for all small benchmark instances in less than one hour of CPU time apiece and outperforms the best previously proposed algorithms for the problem in terms of both the average computation time and the number of instances for which optimality is verified. For the larger benchmark instances, our algorithm obtains smaller average gaps than the best previously proposed methods.

Volume None
Pages None
DOI 10.1016/J.EJOR.2021.06.018
Language English
Journal European Journal of Operational Research

Full Text