Advice for Online Knapsack With Removable Items

In the proportional knapsack problem, we are given a knapsack of some capacity and a set of variably sized items. The goal is to pack some of these items such that they fill the knapsack as much as possible without ever exceeding the capacity. The online version of this problem reveals the items and their sizes not all at once but one by one. For each item, the algorithm has to decide immediately whether to pack it or not. We consider a natural variant of this online knapsack problem, which has been coined removable knapsack and we denote by RemKnap. It differs from the classical variant by allowing the removal of any packed item from the knapsack. Repacking is impossible, however: Once an item is removed, it is gone for good. We analyze the advice complexity of this problem. It measures how many advice bits an omniscient oracle needs to provide for an online algorithm to reach any given competitive ratio, which is–understood in its strict sense–just the algorithm's approximation factor. The online knapsack problem without removability is known for its peculiar advice behavior involving three jumps in competitivity. We show that the advice complexity of RemKnap is quite different but just as interesting. The competitivity starts from the golden ratio when no advice is given. It then drops down in small increments to (1 + epsilon) for a constant amount of advice already, which requires logarithmic advice in the classical version. Removability comes as no relief to the perfectionist, however: Optimality still requires one full advice bit for every single item in the instance as before. These results are particularly noteworthy from a structural viewpoint for the exceptionally slow transition from near-optimality to optimality; such a steep jump up from constant to full linear advice for just an infinitesimally small improvement is unique among the online problems examined so far.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset