优化人员安置 - 大型数据集

Posted

技术标签:

【中文标题】优化人员安置 - 大型数据集【英文标题】:Optimizing People Placement - Large Data Set 【发布时间】:2015-02-03 14:42:08 【问题描述】:

我试图找出处理这种计算的最佳方法/程序,以使大多数人感到高兴,即每个人的最高价值,同时仍然让所有价值几乎相等。

有24个人,100天,每天需要选择4个人。所有天都必须满员,即 24 人必须分布在 400 多个位置,每个人获得大约 8 个位置。 我如何创建一个程序/算法,允许人们按偏好顺序排列所有 100 天,以及他们希望被选中的前 5 人。我在想,每一天,每个喜欢的人都会得到某种点值。然后该算法将遍历数据集并找到能够产生最多人最快乐的组合,同时仍然使每个人大致相等。

使用 excel 之类的东西可以轻松实现吗?

谢谢

【问题讨论】:

使用 Excel 似乎可以实现,但本网站不适合人们为您编写公式。到目前为止,您尝试过什么? 我闻起来很难闻。不过,还没有想到减少。 不,我从未听说过 Solver。我会考虑使用它。谢谢。 【参考方案1】:

阅读“作业问题”;这是一类经过深入研究的问题。在我的脑海中,匈牙利分配方法和稳定婚姻/稳定室友方法可能是相关的。

【讨论】:

【参考方案2】:

您可以使用 this video 中所示的 Solver 作为 MILP 解决此问题,并且许多其他人都喜欢它,但我担心内置 Solver 可能不允许足够的二进制变量使其工作。感受一下这个问题是如何在小范围内解决的,然后下载nicer solver。

【讨论】:

以上是关于优化人员安置 - 大型数据集的主要内容,如果未能解决你的问题,请参考以下文章

使用 dict.items() 为大型数据集优化字典查找

优化解决方案以在大型数据集上找到共同的第三个

适当的索引(或删除)以优化大型数据集表

如何优化大型数据集的查询?

使用大型列表优化 Django 查询集调用?

创建大型数据集的邻域列表/紧固