我想使用Hopcroft-Karp算法做类似Appointment scheduling algorithm (N people with N free-busy slots, constraint-satisfaction).的事情。但我的额外要求是我的时间间隔是重叠的。例如。时段可以是上午10点至11点或上午10点15分至11点15分。 所以,如果我选择上午10点到11点的时段,我不想选择上午10点15分到11点15分。是否有可能在不严重影响性能的情况下实现这一目标?
答案 0 :(得分: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个流量)。
我没有试过这个免责声明。如果你这样做,请告诉我们它是否/如何运作。