【发布时间】:2012-05-09 08:23:47
【问题描述】:
我正在尝试寻找使用遗传算法 (GA) 生成时间表的解决方案。 在我的场景中,我查看了 6 天的时间表。周一至周六。
每天分为讲座数/时间段。(每天最多6次讲座/每个时间段如果1小时,则意味着一天6小时)
我试图代表一个由教师、学生组(组)和讲座组成的班级。 我维护着一个可能的教师、可能的科目和可能的学生群体。 我将它们随机分配给这些类。
所以一个类是所有这些引用的集合。 所以对于每个时隙,我们都有 Class 对象表示。 同样,一天是由讲座的数量组成的类对象表示。 以此类推,一周共 6 天。
我拥有的一组可能的约束是:
1.一位老师在一个时间段内只能上一节课
2.一个老师可以选一组科目(有限)
3.老师可以在某一天不可用
4.教师可以在特定时间段不可用
以及最近可能包含的其他限制。
谁能告诉我如何表示这些约束或处理这些约束?以及如何根据约束计算适应度分数?
【问题讨论】:
-
你不是说 5 天(不是 6 天)...?
-
为什么这被否决了?你找到答案了吗?我找到了一个代码,但没有检查它是否有效code.google.com/p/csc384-genetic-algorithms-project/source/…