楼主: 低调的胡哥
1142 3

[统计软件与数据分析] 1000币求解数据分组问题 [推广有奖]

  • 1关注
  • 53粉丝

已卖:11424份资源

学科带头人

26%

还不是VIP/贵宾

-

TA的文库  其他...

经管数学

Kindle人之家

威望
0
论坛币
51736 个
通用积分
3459.6393
学术水平
36 点
热心指数
44 点
信用等级
31 点
经验
120575 点
帖子
1375
精华
0
在线时间
1019 小时
注册时间
2015-1-15
最后登录
2025-6-23

楼主
低调的胡哥 发表于 2019-5-2 19:44:08 |AI写论文
2000论坛币
要求:现有一组数据,共有N个数,要求将这些数分组,使得每组的各数之和不大于M,现在要求出最小的分组数目及分组情况。急需求解思路以及程序代码!!!
谢谢大家

关键词:数据分组 程序代码
找不到不努力的借口!

沙发
dryear 发表于 2019-5-4 05:17:21
集装优化是一个 NP-complete 问题,只能使用穷举法来求最优解了。

那么思路就非常明确了:
第一步,考虑将这N个数放入N个空间无限的箱子,将会有N平方种放法;
第二步,对于N平方中的任意一种放法,验证每个箱子内的各数之和不大于M,在此基础上计算不是空着的箱子数目;
第三步,N平方种放法中使用箱子最少的就是所求答案。
附件是我自己写的 Python 代码,使用的3个例子是参考 GeeksforGeeks 上的。

感觉第一步穷举的步骤会有更好的方法?欢迎大家继续讨论,也请楼主先采纳我的答案:)

bin_packing_problem.txt
下载链接: https://bbs.pinggu.org/a-2805622.html

1001 Bytes

需要: 2000 个论坛币  [购买]

已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 50 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 50  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

藤椅
cn900 发表于 2019-5-5 13:22:59
1)N数组求和除M取整+1得到最小分组数C;

2)然后把N数组从小到大排序为N1,N2。。。。Ni,分大小数两组,当N为偶数,大小数组各为N/2个,当N为奇数,小数理组为(N-1)/2+1个,大数组为(N-1)/2个;小数组升序排为数列Ai,大数组倒序排为数列Bi
3)用Ai+Bi与M比较分组,以此类推,用循环语句实现即可
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 40 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 40  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

板凳
低调的胡哥 发表于 2019-5-5 22:23:39 来自手机
dryear 发表于 2019-5-4 05:17
集装优化是一个 NP-complete 问题,只能使用穷举法来求最优解了。

那么思路就非常明确了:
感谢

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-2-9 06:32