我代表我的一个朋友经营一个网球网站,因为她对技术和计算机并不是那么热情。
当我们创建锦标赛订阅页面时,用户和业余网球运动员填写表格以订阅该锦标赛。
表单中有一个字段,用户可以根据需要描述他们的可用性。
基本上,用户会写他们什么时候可以参加比赛,而且大多数时候他们是时间约束,例如:
“晚上9点以后我可以玩所有晚上”,“只能在工作日”,“因为工作,我只能在周末玩”,“总是,除了不能每天晚上10点之后,因为我要早起”。
我称它们为时间约束。
昨天我发现了一个新的约束,它是这样的:
“我(用户A)和我的朋友(用户B)为了参加比赛将共享汽车,因为我们住的地方离你很远,而且我们要长途跋涉,我们想聚在一起以节省燃料。只要我的朋友在比赛中没有被淘汰,我宁愿和我的朋友(userB)在相似的时间玩。如果我的朋友被淘汰了,我每次都可以玩”
我现在的问题是,是否有一种算法可以满足所有这些约束,或者我的朋友即使不是技术人员或极客也可以使用的预先准备好的解决方案。
我知道这个算法应该在每天之后运行,因为当然比赛获胜者事先并不知道,因此用户时间成本限制会有所不同。我也明白这是一个运筹学问题,但我没有经验,也不是专业的程序员。
请留下您对特定文献或软件的任何指示。谢谢