Pseudo-polynomial algorithms for solving the Knapsack Problem with dependencies between items

We consider a new variant of the Knapsack Problem with dependencies between items. In this variant, the set of items is partitioned into subsets with dependencies among them, and an item can be selected from a subset only if at least one item is selected from each of its dependent subsets. We develo...

Full description

Saved in:
Bibliographic Details
Published in:Computers & operations research Vol. 158; p. 106281
Main Authors: Lalou, Mohammed, Kheddouci, Hamamache
Format: Journal Article
Language:English
Published: Elsevier Ltd 01.10.2023
Elsevier
Subjects:
ISSN:0305-0548, 1873-765X
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:We consider a new variant of the Knapsack Problem with dependencies between items. In this variant, the set of items is partitioned into subsets with dependencies among them, and an item can be selected from a subset only if at least one item is selected from each of its dependent subsets. We develop pseudo-polynomial algorithms to solve this new constrained version in the cases where the dependencies (between the subsets of items rather than items) are represented by out-trees, in-trees, and directed acyclic graphs. We consider both cases, when the weight and profit of each item are similar, which is the classical Subset Sum problem, and the case when they take arbitrary non-negative values. The proposed algorithms run in O(nW) times and spaces for out-trees, while for in-trees and acyclic digraphs it runs in O(nW+mW2) and O(nW+max{mW2,m(nW)}), respectively, where n is the number of items, W is the knapsack capacity, and m is the number of nodes. Experiments on randomly generated knapsack instances with different graphs of dependency are carried out to assess algorithm efficiency, and show the running dependency on different instance parameters. •An Integer Linear Programming model for the handled problem.•Dynamic programming algorithms for solving the problem.•Considering dependencies represented by in-trees, out-tree, and DAG.•The implementation of all the proposed approaches.•The experimental validation on different benchmarks.
ISSN:0305-0548
1873-765X
DOI:10.1016/j.cor.2023.106281