7

I want to do something similar to Appointment scheduling algorithm (N people with N free-busy slots, constraint-satisfaction). using Hopcroft-Karp Algorithm. But my additional requirement is that my time intervals are overlapping. Eg. The time slots can be 10am-11am or 10.15am to 11.15am. So if I choose 10am to 11 am slot, I don't want to choose 10.15 am to 11.15 am slot. Is it possible to achieve this without hitting the performance badly?

4

1 回答 1

1

如果您使用某种流量扩展器添加另一个级别来区分时隙,您可以使用类似于您使用 Hopcroft-Karp 提出的流程算法。

所以你会有一个源连接到人,人连接到时隙,时隙连接到时间故障,故障连接到接收器。

为了进一步描述故障,假设您有从 10:00、10:15、10:30 和 10:45 开始的时间段。时间细分为 15 分钟。如果所有会议都是一个小时,那么 10:00 时间段将与 10:00-10:15 以及 10:15-10:30、10:30-10:45 和 10:45 故障相关联-11:00 故障。

在时隙和故障之间的连接处必须有一些修改的逻辑。这是因为它们必须是时隙输入和故障连接之间的流量值变化。这是因为每当一个人被分配到一个时隙(时隙流入 = 1)时,就会有多个流到故障(上面每个示例的时隙流出 = 4)。

一个免责声明我没有尝试过。如果你这样做,请告诉我们它是否/如何运作。

于 2014-06-10T12:52:23.907 回答