3.16. 考试时间选项卡(ITC 2007 年跟踪 1 - 考核)
将每个考试安排在一个期间内并进入一个房间。多个考试可以在相同期间内共享相同的房间。
硬限制:
- 考试冲突:两个共享学员的考试项目不得同时发生。
- 房间容量:空间的隔离容量必须始终保持影响。
- 时间段:其所有考试的持续时间必须保持有效。
周期相关的硬限制(每个数据集指定):
- 协作:两个指定的考试必须使用相同的时间段(但可能还会有其他房间)。
- 排除:两个指定的考试不得使用相同的周期。
- 之后:在另一指定考试的期间内必须进行指定的考试。
空间相关的硬限制(每个数据集指定):
- 独占:一个指定的考试不必与任何其他考试共享空间。
软限制(每个有至关重要的损失):
- 同一人不应连续两个考试。
- 同一天内不应有两个考试。
- 会议会:两门共享生的考试应成为多个阶段。
- 混合持续时间:两个共享房间考试的考试不应有不同的持续时间。
- 前端负载:在时间表中应提前安排大型考试。
- 周期损失(每个数据集指定):有些时段在使用时有损失。
- 房间损失(每数据集指定):一些房间使用时有损失。
它使用大量实际大学的测试数据集。
该问题由 International Timetabling Competition 2007 track 1 定义了。Geoffrey De Smet 在这个竞争中完成了 4 点,并带有非常早版本的 OptaPlanner。从那时起就进行了很多改进。
问题大小
exam_comp_set1 has 7883 students, 607 exams, 54 periods, 7 rooms, 12 period constraints and 0 room constraints with a search space of 10^1564. exam_comp_set2 has 12484 students, 870 exams, 40 periods, 49 rooms, 12 period constraints and 2 room constraints with a search space of 10^2864. exam_comp_set3 has 16365 students, 934 exams, 36 periods, 48 rooms, 168 period constraints and 15 room constraints with a search space of 10^3023. exam_comp_set4 has 4421 students, 273 exams, 21 periods, 1 rooms, 40 period constraints and 0 room constraints with a search space of 10^360. exam_comp_set5 has 8719 students, 1018 exams, 42 periods, 3 rooms, 27 period constraints and 0 room constraints with a search space of 10^2138. exam_comp_set6 has 7909 students, 242 exams, 16 periods, 8 rooms, 22 period constraints and 0 room constraints with a search space of 10^509. exam_comp_set7 has 13795 students, 1096 exams, 80 periods, 15 rooms, 28 period constraints and 0 room constraints with a search space of 10^3374. exam_comp_set8 has 7718 students, 598 exams, 80 periods, 8 rooms, 20 period constraints and 1 room constraints with a search space of 10^1678.
3.16.1. 用于测试时间建立的域模型
下图显示了主要考试域类:
图 3.10. 考核域课程图
请注意,我们已将考试概念分成 考试
课程和主题
课程。在解决时(这是计划实体类)的考试
实例在它们的期间或房间属性发生变化时发生了变化。主题
、Period
和 Room
实例在解决过程中永远不会变化(它们是问题的事实,就像某些其他类一样)。