我很快就要结婚并且忙于座位计划,并且遇到了通常的问题:X和Y 必须坐在一起,但A和B不能相互站立等等.
我正在处理的数字不是很大(因此手动选项会很好),但由于令人讨厌的说服力,我想知道是否有任何软件可供我这样做?
如果没有完全匹配,我应该寻找什么(问题空间,书籍,参考代码)来调整我的目的?
我是PerfectTablePlan的开发者.我在这里发布以及Joel的软件业务.; 0)
组合问题,例如座位分配,在算法上非常讨厌.实际上是NP难的.在60个座位上容纳60位客人的方式是60个!(60阶乘)并且超过已知宇宙中的原子数.
PerfectTablePlan允许您指定A必须位于B旁边,但不能靠近C.它使用遗传算法自动分配座位.这在实践中非常有效 - 它通常会在几秒钟内为100位客人找到一个合适的解决方案.您可能需要为1000多位客人制作咖啡.在实践中,通常还需要进行一些拖拽微调来应对当地风俗和家庭政治的变幻莫测(鲍勃叔叔有点聋,我们最好让他更接近顶级表).
您可以在这里找到有关遗传算法的更多信息.
Ps /自动座位分配只是创建良好座位计划的一小部分.有关详细信息,请参阅PerfectTablePlan 之旅和提示页面.
http://www.perfecttableplan.com/
我相信这是一个通常在Joel On Software上发帖的人.
从来没有尝试过.希望能帮助到你.