An exact algorithm for large knapsack sharing problems

The Knapsack Sharing Problem (KSP) is the problem of assigning a subset of n items from m disjoint classes to a shared knapsack such that the total profit of the smallest class is maximized subject to the knapsack capacity constraint. The KSP problem generalizes the 0/1 Knapsack Problem (KP), and it...

Full description

Saved in:
Bibliographic Details
Published inINFOR. Information systems and operational research Vol. 60; no. 3; pp. 315 - 341
Main Authors Laalaoui, Yacine, Mhalla, Hedi
Format Journal Article
LanguageEnglish
Published Taylor & Francis 25.07.2022
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:The Knapsack Sharing Problem (KSP) is the problem of assigning a subset of n items from m disjoint classes to a shared knapsack such that the total profit of the smallest class is maximized subject to the knapsack capacity constraint. The KSP problem generalizes the 0/1 Knapsack Problem (KP), and it has wide applications in finance and resource allocation domains. In this article, we describe a new Dichotomous-based exact algorithm, called Sharknap, to solve large knapsack sharing problems. Sharknap solves the KSP problem by decomposition and dichotomous reduction like all existing Dichotomous-based algorithms. The decomposition phase splits each KSP instance into a series of KP problems to be solved using an exact KP solver. The dichotomous reduction phase reduces the weight of each considered class. We introduce the concept of critical class to bound the number of calls to the KP solver and to speed up the search algorithm. Experimental results on standard benchmarks from the literature as well as on randomly generated instances show that Sharknap significantly outperforms all existing exact algorithms. Interestingly, the new algorithm is able to solve large instances with up to 100000 items and 1000 classes within less than one second in many times.
ISSN:0315-5986
1916-0615
DOI:10.1080/03155986.2022.2049567