多阶段背包问题
数据结构与算法
2019-02-01 v1
摘要
许多系统必须在底层约束、成本和/或收益随时间变化的情况下进行维护。尽管系统的状态可能随时间演化,但从一种状态过渡到另一种状态会产生不可忽略的转移成本。为了对这类情形建模,Gupta等人(ICALP 2014)与Eisenstat等人(ICALP 2014)引入了一种多阶段模型,其中输入是一串实例序列(每个时间步一个),目标是找到一串解序列(每个时间步一个),这些解既(i)对每个时间步近似最优,又(ii)尽可能稳定。我们关注背包问题的多阶段版本:给定时间范围t=1,2,...,T,以及在n个对象集合上定义的一串背包实例I_1,I_2,...,I_T(每个时间步一个)。在每个时间步t,我们必须选择I_t的一个可行背包S_t,其给出背包收益。为了度量两个连续解S_t和S_{t+1}的稳定性/相似性,我们识别那些在S_t和S_{t+1}中决策(是否被选取)保持不变的对象,从而给出转移收益。我们需要产生解序列S_1,S_2,...,S_T,使得总背包收益加上总体转移收益最大化。我们为Multistage Knapsack问题提出了一个PTAS。然后,我们证明即使对于T=2的情形,该问题也不存在FPTAS,除非P=NP。此外,我们给出了当步数受固定常数限制时的伪多项式时间算法,并表明否则即使所有权重、收益和容量均为0或1,该问题仍是NP难的。
引用
@article{arxiv.1901.11260,
title = {Multistage Knapsack},
author = {Evripidis Bampis and Bruno Escoffier and Alexandre Teiller},
journal= {arXiv preprint arXiv:1901.11260},
year = {2019}
}