Algorithm 开放空间坐姿优化算法

Algorithm 开放空间坐姿优化算法,algorithm,optimization,combinatorics,Algorithm,Optimization,Combinatorics,由于公司的变化,我们不得不重新安排我们的起居计划:一个房间里有10张桌子。一些桌子比其他桌子更受欢迎,原因有很多。一种解决办法是从帽子上画一个书桌号码。我们认为有更好的办法 我们有10张桌子和10个人。让我们给参加比赛的每个人50个假想的代币,让他们在桌子上竞价。你在一张桌子上的出价是没有限制的,你可以把所有的50张都放进去,这意味着“我只想坐在这里,句号”。你也可以通过给每个桌子5个代币来表示“我不在乎” 重要提示:没有人知道其他人在做什么。每个人都必须根据自己的最佳利益做出决定(听起来很熟悉

由于公司的变化,我们不得不重新安排我们的起居计划:一个房间里有10张桌子。一些桌子比其他桌子更受欢迎,原因有很多。一种解决办法是从帽子上画一个书桌号码。我们认为有更好的办法

我们有10张桌子和10个人。让我们给参加比赛的每个人50个假想的代币,让他们在桌子上竞价。你在一张桌子上的出价是没有限制的,你可以把所有的50张都放进去,这意味着“我只想坐在这里,句号”。你也可以通过给每个桌子5个代币来表示“我不在乎”

重要提示:没有人知道其他人在做什么。每个人都必须根据自己的最佳利益做出决定(听起来很熟悉?)

现在假设我们得到了这些假设结果:

#  | Desk# >| 1  | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 9  | 10 |
1  | Alise  | 30 | 2  | 2  | 1  | 0  | 0  | 0  | 15 | 0  | 0  | = 50
2  | Bob    | 20 | 15 | 0  | 10 | 1  | 1  | 1  | 1  | 1  | 0  | = 50
   ...
10 | Zed    | 5  | 5  | 5  | 5  | 5  | 5  | 5  | 5  | 5  | 5  | = 50
现在,我们需要找到的是一个(或多个)能给我们带来最大满意度的配置(即,考虑到所有出价,人们得到他们想要的桌子,并最大限度地利用整个团队。当然,假设桌子上的物品越多,他/她就越想要它)


因为只有10个人,我想我们可以强制它查看所有可能的配置,但我想知道有没有更好的算法来解决这类问题?

您似乎正在查看可以使用解决的配置。这是一个经过充分研究的问题,您可能会在web上找到代码,随时可用


在您的情况下,您可以使用cost=50-bid并使用上述(分配问题的任何解决方案)。

甚至更快,如果您有Excel,您也应该有一个版本的解算器可用。只需设置您的出价矩阵(10x10含出价),分配矩阵(10x10含0/1分配),使用sumproduct(出价,分配)计算分配值,将其作为您的目标函数,并添加约束条件,以便只有一个人对桌子和桌子对人的分配。确保选中选项>“线性模型”框和“假设非负”并解决!我刚刚设置了一个10x10问题示例-似乎工作正常

可能与我认为在实践中,你可能更想要最小的失望,而不是最大的满足感。或者至少是一些组合。@Doug:谢谢你的提示:)。它是possible@Doug:再想一想,我不确定最小失望与最大满意有多大区别。或者,如果你真的想让它变得有趣,再加上一轮竞标,展示你的作业和其他每个桌子的中标情况。你可以选择第二轮,也可以强制第二轮,但这可能会带来更好的整体结果。坦率地说,我对你的文化感到惊讶。似乎每次有人问算法中的问题时,你碰巧知道问题的名称@马修:我想这是一种恭维:-)谢谢!我想原因是我对算法很感兴趣。希望在5年内我还能记住这一切。另外,人们通常会在这里询问已经解决的问题的某个版本,这会有所帮助。@Matthieu:任何人都可以用谷歌搜索类似的问题。这样的答案真的令人印象深刻。是的,我同意:)特别是因为我在这篇文章上做了两次尝试。。。没有数学太久了:)