我遇到了将学生分组到最近的考试中心的问题。以下是条件/约束:
- 有X个学生和Y个考试中心。每个中心将容纳不同数量的学生。
- 考点总数的最大容量可以大于学生人数,但不能更小。
- 一个学生可以到多个考试中心的最短距离。
- 考试将在所有考试中心同时举行。
例如,有11500名学生和15个考试中心。5 个中心(1 至 5 个)可容纳 1500 名学生,3 个可容纳 600 名学生(6 至 8 名),另外 7 个(9 至 15 名)可容纳 350 名学生。
我开发了以下内容:
每个考试中心的学生位置(注册地址)的数据库表。像下面的东西
Student ID Dist-Ex1 Dist-Ex2 ... Dist-Ex14 Dist-Ex15 1 10 70 20 50 2 25 43 5 105 ... 11499 35 12 35 55 11500 5 23 5 5
我可以为每个学生添加一列存储最近的考试中心,并创建如下表:
Ex centers Nearest for no. of students 1 2000 2 500 ... 14 150 15 500
但我不知道如何进一步进行。我相信这是某种算法问题。如果有人能给我一些想法,我将不胜感激。
提前非常感谢!