什么是最好的预留座位排序算法?

Dan*_*iel 8 sorting algorithm matlab permutation

我正在尝试为以下排序问题找到最佳算法.

在礼堂中有N = K×M个座位,每个过道有一个过道,K行和M个座位.假设K大于M,但我认为这不是很重要.有N个人与座位(指定席位)进行双向投射.假设人们不喜欢等待,那么最快的方式是让他们尽快安排在座位上?

我进行了一些简单的experiements(使用随机排列),它似乎让他们随机排队要比拥有前三分之一的人(进一步下跌的走道)第一排队快,然后中间的三分之一,那么第三后侧.这对我来说似乎不对.

如果重要的话,我在MatLab中写这个.有什么想法或答案吗?

Pen*_*One 13

Bachmat,Berend,Sapir,Skiena和Stolyarov撰写了一篇非常好的文章,名为" 通过时空几何分析飞机登机"和随机矩阵理论,为飞机登机模拟这一确切问题.从他们的摘要:

我们证明了飞机登机可以通过二维洛伦兹几何进行渐近建模.登机时间由模型中曲线之间的最大适当时间给出.模型与模拟结果之间的差异与随机矩阵理论密切相关.然后,我们将展示如何使用这些模型来解释为什么一些常用的航空公司登机政策无效甚至是有害的.

该论文的结论是:

  • BEST:Window-Middle-Aisle
  • 近期优化:随机登机
  • 真的很糟糕:从后到前

对于你的设置,我认为这意味着你应该忽略人们过道的距离,而是关注他们离过道的距离.此型号还可以计算存放行李的时间,因此您可能需要根据具体情况进行调整.无论如何,我认为这证实了你通过模型找到了什么.