场景:
我需要给用户机会预订不同时间的服务。 请注意,我没有提前预订,但是我需要在预订时填写。
预订可以表示为键值对:
[startTime, duration]
例如,[9,3]
表示事件在9点开始,持续时间为3个小时。
规则:
duration
durations
在用户预订中的分布使得将来的用户填补不足x
小时的空缺的概率小于p
,则我们希望规则不能缩短比x
。 (出于这个问题的目的,我们可以假设x
被硬编码了,在这里我仅说明原因)到目前为止我的想法...
[startTime, duration]
时,我首先检查gapLength = duration
的理想情况。如果没有这样的间隙,我会找到所有满足条件gapLength - duration > minimumGapDuration
的插槽(间隙),并以该gapLength - duration
值降序对其进行排序gapLength - duration
,因为这给了我最高的可能性,即预订后剩余的缺口将来也会被填补问题:
我的方法是否存在一些我缺少的问题?
是否有解决此特定问题的算法?
是否有一些我可以开始使用并在以后进行优化的常规方法(良好的起点)? (我实际上是在尝试获取足够的信息以开始,但没有犯一些严重的错误;可以/应该在以后进行优化)
PS。 从到目前为止的研究看来,约束编程可能就是这种情况。我想避免这种情况,因为我对此一无所知(也许它很简单,我只是不知道),但是如果它能带来真正的改变,我将继续努力并实现它。
我遇到了类似的问题,但是没有发现将来发生未知事件的问题。如果有,并且这是直接重复的,请参考它。