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...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Computers & operations research Ročník 158; s. 106281
Hlavní autori: Lalou, Mohammed, Kheddouci, Hamamache
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: Elsevier Ltd 01.10.2023
Elsevier
Predmet:
ISSN:0305-0548, 1873-765X
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Popis
Shrnutí: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