首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用大体相同的"sum“将一列数字划分为较小的列表

用大体相同的"sum“将一列数字划分为较小的列表
EN

Stack Overflow用户
提问于 2010-01-30 02:01:45
回答 5查看 1.4K关注 0票数 5

我在网格上执行了大约2000个测试,每个测试在网格上作为单独的任务运行。测试确实有相当长的启动时间。总执行时间为500小时,在60节点SunGridEngine上不到10小时即可完成。测试的运行时间从5分钟到90分钟不等。在没有太多智能的情况下组合测试可以获得一些性能增益。我想创建大小大致相等的“任务”。我如何做到这一点呢?

(我们现在做的是:对所有测试进行排序,并不断添加,直到执行时间总和约为5小时。寻找更好的东西)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-01-30 02:14:46

以最佳方式进行此操作是NP完全的。这是partition problem的一个变体,它是subset sum problem的一个特例,它本身也是knapsack problem的一个特例。

在您的情况下,您可能不需要确切的解决方案,因此您可能可以使用一些启发式方法在合理的时间内获得“足够好”的结果。有关一些方法的描述,请参阅分区问题页面的Methods部分。

票数 11
EN

Stack Overflow用户

发布于 2010-01-30 02:16:08

你要找的是k集的划分问题。

有一些关于k=3的文献,称为3-分区问题。这是强意义上的NP完全。

有许多启发式方法可以快速给出近似结果。

我建议你从这里开始:http://en.wikipedia.org/wiki/Partition_problem

希望这能有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2010-01-30 02:17:25

这是子集和问题的a version,并且是NP-完全的。你最好的办法就是雇佣一些subset-sum heuristics

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2164014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档