找到使每行总和最小值最大化的列集

发布于 2024-11-26 23:26:23 字数 264 浏览 2 评论 0原文

给定一个矩阵 A,我正在寻找 p 列的集合,该组最大化每行中匹配单元格总和的最小值。

例如:如果 p=2 且 A=

1 2 4

3 0 3

5 6 2

选择 C1 和 C2 将给出 f=min(r1,r2,r3)=min(1+2; 3+0; 5+6) =3

当选择C1和C3时,f=min(1+4; 3+3; 5+2)=5,这是最好的选择。

有没有任何算法或启发式这样做..

谢谢

Given a matrix A, i’m looking for the set of p columns that maximizes the minimum on the sum of the matched cells in each row.

For example: if p=2 and A=

1 2 4

3 0 3

5 6 2

Choosing C1 and C2 would give f=min(r1,r2,r3)=min(1+2; 3+0; 5+6)=3

While choosing C1 and C3 would give f=min(1+4; 3+3; 5+2)=5 which is the best choice.

Is there any algorithm or heuristic doing so..

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蛮可爱 2024-12-03 23:26:23

这个问题是 NP 困难的,通过对集合覆盖进行简单的简化(令 A 为表示元素集包含关系的 0-1 矩阵)。我会在简单的整数规划公式上尝试 MIP 求解器,其中如果采用第 j 列,则 c(j) 为 1,否则为 0。

maximize lambda
subject to
lambda <= c(1) A(i,1) + ... + c(n) A(i,n)    for all i
c(1) + ... + c(n) = p
c(j) in {0, 1}                               for all j

This problem is NP-hard via a trivial reduction from set cover (let A be the 0-1 matrix representing the element-set containment relation). I would try a MIP solver on the straightforward integer-program formulation, where c(j) is 1 if the jth column is taken and 0 otherwise.

maximize lambda
subject to
lambda <= c(1) A(i,1) + ... + c(n) A(i,n)    for all i
c(1) + ... + c(n) = p
c(j) in {0, 1}                               for all j
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文