我们有一份有其能力的房间清单和一份有与会人数的会议清单。 我们希望每次会议都有一个房间:
- A meeting can only be scheduled in a room with capacity equal to or greater than its attendance.
- If surplus rooms are present, meetings should be scheduled so that the largest possible room is left unscheduled.
- A meeting with a larger attendance should not be scheduled in a smaller room than a meeting with a smaller attendance.
- Obviously we should find out if it is impossible to schedule the given meetings in the given rooms.
我们能否有效地达成时间表? 单张通行证是冰冰,有些后track是ok,但我可以选择的唯一选择(粗略算法加上动态震.违反第3条)比我所希望的要慢。
这个问题并不容易。 阴线法至少有一个标准:
我们可以把每个名单从高到低的开始,从最大的会议室到最大的会议,只要有可能,我们就会找到解决办法,但我们将拥有尽可能小的房间,而不是最大的房间。 (审议定于200、30和20人会议室举行的10和15人会议的情况)
我们可以将会议清单从高到低,然后缩小,努力找到最小的房间,这样就足以遏制本次会议。 但有时会增加一个会议室,安排举行小型会议。 (在40和80人房间安排40和30人会议)
但是,解决这一相对简单的问题肯定有更好的办法。