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

•We address the quadratic multiple knapsack problem.•We propose a new branch-and-bound algorithm.•The strength of our algorithm derives from the new upper bound (UB) method.•UB combines transportation problem, fractional knapsack problem, and local search.•The new algorithm outperforms the best algo...

Full description

Saved in:
Bibliographic Details
Published in:European journal of operational research Vol. 298; no. 1; pp. 89 - 98
Main Author: Fleszar, Krzysztof
Format: Journal Article
Language:English
Published: Elsevier B.V 01.04.2022
Subjects:
ISSN:0377-2217, 1872-6860
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:•We address the quadratic multiple knapsack problem.•We propose a new branch-and-bound algorithm.•The strength of our algorithm derives from the new upper bound (UB) method.•UB combines transportation problem, fractional knapsack problem, and local search.•The new algorithm outperforms the best algorithms proposed before. 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.
ISSN:0377-2217
1872-6860
DOI:10.1016/j.ejor.2021.06.018