在会议上优化联系

Automattic的聚会

Automatic已经成为全球分布公司从一开始。每年有几次,我们聚在一起会面在团队战略上保持一致,并建立更牢固的关系。我们发现了有组织的晚宴小组这是促进联系和结识来自不同团队的新人的好方法。

创建聚会晚宴小组是一件有趣的事最优化问题任务是制定一个时间表,使两个人在同一家餐厅用餐的时间不会超过一次。在2023年Data+Meetup上,我和黑客小组创建了晚餐:一个内部工具,帮助人们为他们的聚会创建晚餐小组。我们是这样做的!

我们的晚餐小组2022数据+会议在西班牙马德里。

寻找最佳解决方案

晚餐小组问题可以表示为社交高尔夫问题:时间表大小的组使用k个高尔夫球手w个周。每个高尔夫球运动员必须每周打一次球,绝不能和同一个人多打一次。

这个组合设计问题具有挑战性,因为搜索空间很大:总共有w!x克!x秒!x k!计划组合!找到最佳解决方案是可能的,但这通常需要大量的时间和内存。谷歌OR工具通常是该领域中许多人使用的go-to解算器。我们实施了最优解Jupyter笔记本中的解算器,它工作得很好,但可能需要60多年才能找到解决方案。我们很乐意获得一个近最优解在很短的时间内。许多研究人员使用遗传算法作为在极短时间内找到足够好的解决方案的实用方法。

遗传算法

遗传算法是一种通过模拟生物进化来解决优化问题的方法。 

算法如下:

  1. 从随机排列开始。
  2. 为每个选项打分并筛选出最佳选项(家长)。
  3. 通过交叉和变异顶级选项来创建新的排列(世代)。
  4. 为下一代打分。
  5. 检查是否是可行的解决方案。如果是,结束。否则,返回步骤2。

我们使用遗传求解器实现了接近最优的解,现在可以在不到一秒钟的时间内获得真正好的解。使遗传求解器如此强大的是,它们可以应用于许多优化问题,并根据应用程序允许自定义评分、选择和交叉。

例如晚餐遗传求解器使用两两权重的平方和来计算置换。这种评分方法不鼓励同一组人被分配多次与同一个人共进晚餐。如果解决者与同一个人共进晚餐,最好是分散冲突,而不是集中冲突。

创建UI

一旦我们创建了求解器,我们就构建了一个基本的UI供会议策划人员使用。

用户界面允许添加餐厅名称、人员和约束:

  • 组的数量
  • 每组人数
  • 晚餐组天数
  • 不允许的分组(逗号分隔列表)
  • 应劝阻的分组

这个不允许分组在解决方案中考虑饮食和过敏限制。以及不鼓励分组让我们减少团队成员被分配到晚餐小组的机会。我们希望晚餐小组鼓励公司内部的对话!

更多的联系,更少的钱

葡萄牙波尔图2023年数据+会议!

创建一个晚餐小组解决方案有可能在聚会上为人们节省时间和金钱!

  • 与6人或更少的预订相比,预订整个餐厅的费用非常昂贵。
  • 7岁以上的缔约方通常会收取18%以上的强制性小费。
  • 较小的餐团更容易运输。
  • 寻找最初的晚餐小组解决方案通常是一个耗时的手动过程。

我们在Data+会议上展示了Dinnermattic,并赢得了非正式奖项:“最有可能被非基准使用”和“最佳黑客项目是Data.blog帖子”🏆 🎉

拥抱式连接

我的黑客小组,一起用餐!

晚餐反映了Automatic致力于建立有意义的联系和工具,将人们聚集在一起。会议是分布式工作难题的重要组成部分。就像一个晚宴小组一样,我的黑客小组和我一起解决了这个有趣的优化问题。感谢您学习Dinnermatic。

Bon appétit,还有快乐的晚餐小组!

向我的黑客小组伙伴大喊大叫。让Dinnermattic和你们一起生活真是太棒了!麦迪逊银行。、摩根S.、。,Nhi V.公司。,罗马U。,蒂亚戈属。

留下评论