【问题标题】:Variation on the subset sum prob. (multiple constraints)子集总和概率的变化。 (多个约束)
【发布时间】:2017-03-28 07:07:53
【问题描述】:

让我给你一个我试图解决的正常子集和问题的变体示例:

给定一个集合 S = {1,2,3,4,5,6,7,8,9},最大容量 c0 = 40。此外,我们对 S 的 3 个不同子集还有 3 个附加约束:

  1. S1 = {2,3,4} 约束 c1 = 5
  2. S2 = {3,4,5,6} 约束 c2 = 12
  3. S3 = {7,8,9} 约束 c3 = 25

目标是找到 S 的子集,使得(包含的项目的)总和在不超过 ANY 的情况下最大化约束 (c0 - c4)

重要:

  • 可能有交叉点! (见 S1 和 S2)
  • 3 只是约束计数的一个示例 - 它可能会更多!
  • 虽然S的项目在本例中是整数值,但也可以是正实数

问题: 这个特定的子集和问题是否有特定的名称和/或是否有任何关于此的论文/文献评论?

【问题讨论】:

  • 我不确定我是否完全理解这些约束的含义。你能详细说明一下吗?

标签: algorithm optimization knapsack-problem heuristics subset-sum


【解决方案1】:

这听起来像是背包问题:https://en.wikipedia.org/wiki/Knapsack_problem

请参阅该文章中关于子集和问题的部分:

“子集和问题是决策和0-1问题的特例,其中每种物品的权重等于值[...]在密码学领域,背包问题一词经常用于特指子集和问题,通常被称为卡普的 21 个 NP 完全问题之一。[30]

子集和问题的推广称为多子集和问题,其中存在多个具有相同容量的bin。已经证明泛化没有FPTAS。[31]"

【讨论】:

    猜你喜欢
    • 2018-01-29
    • 2021-09-27
    • 1970-01-01
    • 2021-07-14
    • 1970-01-01
    • 2022-12-18
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多