The unbounded knapsack problem with bounded weights is a variant of the well-studied variant of the traditional binary knapsack problem; key changes being the relaxation of the binary constraint and allowing the unit weights of each item to fall within a range. In this paper, we formulate a variant of this problem, which we call the strict unbounded knapsack problem with bounded weights, by replacing the inequality constraint on the total weight with an equality. We show that this problem can be decomposed into a two-stage, pre-emptive goal programming problem, with the first stage being a 2-dimensional knapsack problem and the second being either a linear feasibility program (per canonical formulation) or simply a linearly-constrained program in the general case. This reformulation is shown to be equivalent to the original formulation but allows the use of well-studied, efficient algorithms for multidimensional knapsack problems. In addition, it separates the modeling effort around what to put in the knapsack from considerations around what unit weight one should assign to each item type, providing substantially more flexibility to the modeler without adding complexity to the choice of knapsack configuration. Finally, we show that for the feasibility version of the second stage, one can immediately get a feasible solution to the first stage solution.
翻译:绑定重量的未受约束的背包问题,是传统二进制背包问题经过深思熟虑的变体的变体;关键的变化是放宽二进制限制,允许每个物品的单位重量处于射程之内。在本文中,我们为这一问题制定了一个变体,我们称之为严格不受约束的背包问题,用约束重量来取代对总重量的不平等限制,以平等取代对总重量的不平等限制。我们表明,这个问题可以分解成两个阶段的先发制目标编程问题,第一阶段是二维背包问题,第二个阶段是线性可行性方案(每个罐头型配方),或只是一般情况下的线性约束程序。这个改型显示与最初的配方相当,但允许对多层面背包问题使用经过仔细研究的、有效的算法。此外,它把设计背包的模型和对单位重量的考虑分为两个阶段,第一阶段是2维度的背包包问题,第二个阶段是线性可行性方案(每个物品类型的配方配方配方配方),最后的配置更灵活到模型。