如何解决为我孩子的日托安排最短联系时间和小组规模的算法
鉴于 covid-19 的新法律规定,我孩子的日托和所有相关父母都不堪重负,我们需要制定一个时间表,确定什么时候可以照顾孩子。
考虑到每个孩子所需的护理时间(如下),我们需要一种算法来优化以下内容:
- 最少的总联系人/固定群组。如果孩子们见面,最好让他们留在那个群体中,不要看到其他群体的孩子。
- 虽然第 1 点更重要,但第二点是减少每个组的规模,或者应该表述为每个孩子遇到的不同孩子的最少数量
- 更不重要的是:减少总接触时间。
(也许还有其他要求,我忽略了?)
需求具有以下性质(时间跨度和类型):
案例 | 孩子 | 时间跨度 | 类型 |
---|---|---|---|
(1) 固定时间,必填 | 1 | 周一,8:30 - 13:00 | 必填 |
(2) 固定时间,很高兴有 | 1 | 周二,8:30 - 13:00 | 很高兴有 |
(见(1)) | 1 | 周二,13:00 - 16:00 | 必填 |
(见(1)) | 1 | 周四,8:30 - 13:00 | 必填 |
(见(1)) | 2 | 周一 8:30 - 13:00 | 必填 |
(3) 灵活日期,必填 | 2 | 任何两天 8:30 - 13:00 | 必填 |
(4) 灵活约会,很高兴拥有 | 2 | 任何一天 13:00 - 16:00 | 很高兴有 |
(5) 灵活日期时间,必需 | 3 | 3 小时 | 必填 |
(6) 灵活的日期时间,很高兴有 | 3 | 额外 3 小时 | 很高兴有 |
... | ... | ... |
- 必需 = 孩子必须有日托
- 很高兴 = 需要日托但不是必需的。例如。如果孩子 1 在周一和周四遇到孩子 2 和 3,那么在周二早上也可以遇到相同的孩子,但如果是完全不同的孩子群体,那么这就没有意义了。
- 所有提供的时间跨度必须保持在一个连续的片段中(这意味着 3 小时不能分成多个时段)。
其他信息
-
只有一间房。
-
总共有 15 个孩子。
-
如果一个解决方案比另一个好得多,那么在少数情况下违反“必需”要求是可以的。在少数情况下,我们或许可以为父母找到不同的解决方案。因此,该算法应该包含一个类似
maxAllowedViolations
的参数 - 假设它是3
,并且它应该比较解决方案比没有错误的解决方案要好多少。 -
需求每周提供一次,每周可能会发生变化。我只提前一周知道需求。因此,理想的分组可能每周都会改变,但最好以上周的分组为指导,因为电晕大约有 7 到 10 天的潜伏期。
-
看护人每周接受两次 COVID-19 检测,孩子们则不然。
我不关心算法是哪种语言或伪代码方式,但我会尝试以基于网络的格式实现算法,以便其他日托中心也可以使用它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。