hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 1315|回复: 9

男女搭配,干活不累

[复制链接]

948

主题

1162

帖子

3655

积分

超级版主

Rank: 8Rank: 8

积分
3655

论坛头条论坛元老谋士数据帝优秀版主超级版主见习版主论坛版主

发表于 2023-10-2 16:52:55 | 显示全部楼层 |阅读模式
表格中每一单元代表纵向女x替换横向男y使得该组提高的效率值。现在将十个女的替换十个男的,每组调整为男女搭配,如何分配调整使得效率增加值最大?(即十组效率增加值之和最大)
备注:每个单元格内值应该是处于(0,1),图表中随机函数取整时出现了0,但不影响运算。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
世界上最遥远的距离,不是生与死的距离,而是我站在你面前,你却不知道我爱你
回复

使用道具 举报

0

主题

168

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2023-10-2 16:53:15 | 显示全部楼层
KM算法
回复

使用道具 举报

0

主题

194

帖子

170

积分

关内侯

Rank: 2

积分
170
发表于 2023-10-2 16:53:31 | 显示全部楼层
这个表给的有点独特啊,变换为20男X10女的一个搭配矩阵,KM算法就明显了。
变换方法:行1行2互换,行3行4互换,…,行19行20互换。只换数据列,男下标列不换。
回复

使用道具 举报

0

主题

172

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-2 16:53:55 | 显示全部楼层
即使穷举也只有10!=3628800种可能,计算机可以做到
回复

使用道具 举报

0

主题

172

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-2 16:54:38 | 显示全部楼层
发现我说的变换可能有点改变了原题。
变换的等价性基于原男男各组效率相同,但这并不确定。
回复

使用道具 举报

0

主题

194

帖子

170

积分

关内侯

Rank: 2

积分
170
发表于 2023-10-2 16:55:15 | 显示全部楼层
  这题比较有意思。
  如果用穷举法,一共有约6.70443E+11可能(不仅要考虑女的搭配可能10!,还要考虑男的从20人选10人组合可能),我试了一下,用我的台式电脑1分钟能计算约241920可能,24小时不间断计算大概需要近2000天才能算完。
  我想出用以下方法来求最大的十组效率增加值:
1.找出每列的最大值,并选出每列中和本列最大值不超过一常数δ的项,满足所有项至少出现在10行中。(δ不能取得太大,否则选取的项过多,对于本问题δ可取0.05)。
2.用穷举法对选出的项进行计算,得出最大的十组效率增加值以及对应的搭配。
3.分析如果计算出的搭配中,换成没选择的项,十组效率增加值不会大于计算值。
  对于本问题,下面是我的计算结果:
 最大的十组效率增加值为 2.3700,搭配如下
   男3   女1
   男16  女2
   男20  女3
   男2   女4
   男19  女5
   男18  女6
   男11  女7
   男6   女8
   男12  女9
   男15  女10
回复

使用道具 举报

0

主题

153

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-2 16:55:43 | 显示全部楼层
男1男2中有1人替换成女x1,男2男3中有1人替换成女x2,……,男19男20中有1人替换成女x10。使得10个选中的单元格和值最大。
回复

使用道具 举报

0

主题

167

帖子

92

积分

关内侯

Rank: 2

积分
92
发表于 2023-10-2 16:55:54 | 显示全部楼层
把女1-女10固定,从男1-男20中选10个去分别配对,背包问题
回复

使用道具 举报

0

主题

195

帖子

38

积分

新手上路

Rank: 1

积分
38
发表于 2023-10-2 16:56:00 | 显示全部楼层
问题不清楚,如果是:
男1男2中有1人替换成女1,男3男4中有1人替换成女2,……,男19男20中有1人替换成女10。使得10个选中的单元格和值最大。
则比较简单,两个中取大值即可:
最大的十组效率增加值为 1.7725,搭配如下
   男1   女1
   男3   女2
   男5   女3
   男7   女4
   男10  女5
   男11  女6
   男14  女7
   男15  女8
   男18  女9
   男20  女10
回复

使用道具 举报

0

主题

212

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-2 16:56:06 | 显示全部楼层
嗯,把女1-女10固定,男1-男20每两个中选出一个再排列(即2^20*10!=3805072588800),组合数还是比较大。背包问题该如何选取呢?贪心不一定是最优解。若要求得最优解,除了枚举,还有没有其他方法。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-11-22 17:03 , Processed in 0.071265 second(s), 23 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

快速回复 返回顶部 返回列表