【问题标题】:Best Fit Scheduling Algorithm for Accommodation / Day Pass Problem?住宿/一日通行证问题的最佳拟合调度算法?
【发布时间】:2011-06-23 07:48:29
【问题描述】:

我有一个调度问题,我正在尝试找出最合适的算法来使用。

酒店拥有主题公园,是入住酒店的游客的亮点。然而,对于想要去主题公园的游客来说,酒店的房间多于一日通行证。所以在旺季,有些人可能不会去主题公园。

我们希望每位游客至少有 1 次参观主题公园的机会。

如果存在争议,我们希望将一日通行证提供给在酒店逗留时间较长的游客。

谁能指出我正确的方向,哪种算法最适合这个问题?

不,这不是家庭作业。 :)

提前致谢。

【问题讨论】:

    标签: algorithm scheduling


    【解决方案1】:

    您可以使用Priority Queue (PQ)。您每天将客户放在您的 (PQ) 中,计算优先级为p = 1/r,其中r 是该客人在酒店的剩余天数。这样,您每天都会将您的n 通行证分发给在您的酒店停留天数较少的n 客户(如果客户只有 1 天的停留时间,她/他必须在获得通行证,因为只有一种可能性)。如果您有多个p 相同的客户,那么您可以通过查看他们在您的酒店逗留的总天数来选择他们,并且您偏爱这些客户逗留时间更长。

    【讨论】:

    • 感谢大家的反馈。我做了一点挖掘,发现了具有优先级队列实现的 C5 通用集合库。将从那里开始。 :)
    • @MarcoS -- PriorityQueue:太好了!
    【解决方案2】:

    您可以根据逗留时间(也可能是该人在没有通行证的情况下作为客人的天数)为每位客人分配权重或优先级,然后按优先级对客人进行排序。那么从排序列表的顶部开始就应该很容易给出通行证。

    【讨论】:

      【解决方案3】:

      您可以为此使用优先级队列。必须根据访客停留的机会和天数来安排优先队列。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-16
        相关资源
        最近更新 更多