VB+SQL Server智能排课系统 第13页
大学的排课系统是一个组合的问题,这个问题是由在规定的房间和时间段的数量内安排一套课程组成。解决为问题订时间表的一个现实世界手工经常需要相当多数量的时间,有时几天或者甚至周。因此,许多研究已被投资为了提供对于人类课程表的自动化的支持。贡献来自运筹学和人工智能的领域。 本文参照学期和方法来满足限制条件。方法提出使用约束逻辑编写程序被发展。约束逻辑编写程序把逻辑编写程序的语句与从运筹学和人工智能的方法的效率相结合。 它最近成为解决时间表问题的一种有前途的方法。
从满足限制运用古典的方法要求作一个满足限制问题的模拟问题,一套变量,每一个带有它能承担的价值的一个领域,和在变量中间的一套约束。约束是通过禁用的结合价值规定解决方案的空间的关系。
方法包括搜索,启发式,和约束传播。 典型地,系统的搜索把价值分配到依次地跟随一些搜索秩序的变量。如果过程没能扩展一种部分的解决,被取消与选择探索的决定。 系统的搜索经常依赖于启发式,这定义在其中变量和价值被选择的秩序。约束传播是补充的; 它通过识别不能参加一种解决的价值简化一个问题。 这方法搜索空间剪除与搜索变得容易。
在实践中,大多数以约束为基础的时间表系统不支持或者是轻微的约束或者是使用一个分支和境界代替搜索时序回溯。 分支和境界从一种解决开始并且要求下一种解决是更好的。质量依赖于轻微的约束的装置的一个适合的费用功能测量。 有了这方法,然而,在选择变量和价值中较弱的约束将不起起作用。
在收集教师的要求之后和关于新的过程的信息,第一项建议作为一个起始的点以前一年的课程表被发展。这被再一次为了被同样的人们提供的新的过程不发生的过程被在课程表中使用自由的狭缝完成左边左,而教师的要求优先于前一年的课程表。 在把建议分发到所有教师的估计和新的要求之后将加以收集。
从当前的建议一个起始开始,一项新的建议被发展在当前的建议上结合修改,再一次可能少量的改动等等。建立一张新的课程表,这样是一个多级而逐渐增长的过程。 依赖于上学期的课程表,改变尽可能少量的信息,减少为建立一张新的课程表所需要的工作的量,并且通过保持人们每星期保证接受新的课程表的习惯。
同时应该注意到,其它地方的教室资源分配。然而,对空间或者一定的设备的冲突的要求可能是改变课程表的一种原因。
一般的约束因为教师的身体状况、学院的原因,和个人的优先选择;
一个教师不能同时在两个地方授课,如此避免一个教师的冲突过程;
至少应该有一个教师在两个过程之间的一个小时中断;
一些教师为了教学规定了确定的时间和天数;
星期一下午为了教授会议而不排课,来方便教授们讨论重要的决定。
此系统包括五个单元,每个模块的设计都有一个特定的区域。大多数模块当不同的单元的成员被坚持时,被坚持一个单一的单元的成员仅仅一些过程。 过程坚持一个一定的单元的成员不可与过程冲突坚持其它同样的单元的成员。
提供每星期典型地包括两次讲课和一种个别辅导。所有的讲课之间必须给予适当的中断。 个别专业课程不应该安排在同一天里。 所有课程都应该被安排在上午9点和下午6点之间。
仅仅极少的课程是强制性的被安排给一个一定的期间的学生,而大多数过程对所有学生是可选和开放的。 对于每一大学生研究的期间有一套强制性的过程,高度将予以推荐的出席。毕业生研究的课程仅仅依赖于大学生研究提供的知识。没有先后秩序。 一个期间的大学生课程不可冲突,而不同的期间的大学生过程允许冲突。 毕业生的课程不应该冲突。
第一次观察弄清楚现有的课程表不会遇到毕业生课程冲突或者一次公共课程和一种个别专业课程被安排在同样的天。 进而,就多年考虑到毕业生过程的数字提供,它变得清楚有小空间没有冲突而为所有毕业生课程确定具体的时间。这因为下列的原因。 如前所述,大学生过程强制性和有可选择性的两种形式。 这方法区别从第三个期间的学生以及从第四个期间的学生的第二个期间的学生是可能,这使之有可能允许冲突不同的期间的大学生过程。毕业生课程仅仅依赖于被大学生过程提供的知识。没有出席的推荐的秩序,这样制定不可能区别从第七个学期的学生和第五个学期的学生,这使不接受冲突是必要的毕业生课程按照某种方法来解决所面临的问题
关于逐渐增长的要求,基于新的课程和改变尽可能少量的已经确定前一年的课程表。
根据一个学者的观点,毕业生就自由的学习缺乏结构和导致被课程表约束的说明。
通过移去解决第二个问题选择没有冲突约束被成为艰辛和时间消耗;同时,因此,不实际。把毕业生课程分类和允许当然冲突内容和期待学生的数字不同的范畴赢得往回某种自由,但是识别足够范畴是不可能按照过程平均地传播过范畴的这样一种方法,,这防止冲突是必要的。它变得清楚我们是需要某种重量约束能够表达软弱和强健的约束不是强制性的。
一有限的套变量的约束满意,每一个带有一个有限的领域和一有限的套约束。 一种解决向其这样的领域的一种价值绘制地图每一变量所有约束被满足。部分的满足限制是每一约束与一个重量有关。 一个约束的一个重量表达其满足重要性,允许把艰难的约束与较弱的约束相区别。 苛刻的限制规则于赋予无穷的重量。较低的约束,有限的重量在约束中间考虑进去优先选择的说明。 一种解决向其这样的领域的一种价值绘制每一变量所有的限制约束被满足,并且违反的较低约束的整个的重量是最小限度的。
显然,我们为了每一握住时这一过程仅仅需要一个变量,起始的时间点,它曾经预定于。 每一变量的领域包括整个的星期,对所编号时期,因为例如:指示星期一的上午9点钟等等。 要求、希望、推荐能以一套专门的约束来表达。
过程不可与另一个冲突的没有冲突约束要求。预先安排的约束和利用性约束被用来表达教师的优先选择,以及过程必须在一段一定的时间内发生。
分配约束确保有一过程之间的至少一天和另一个,或者两过程预定于不同的天。
契约约束确保那一个过程将在另一个之后直接被预定。关于较弱的约束,优先选择的三个等级被选择:较弱的限制条件,一般限制条件和较苛刻的限制条件,这被翻译成为整数1,3,9。
搜索过程使用相结合在上面为了变量和价值选择被给的解答者与时序回溯和启发式。 对于可变的选择,首先失败原则被选择,这通过增加领域的主要动态地命令变量,原则提出关于计算的水流状态而选择变量之一最小的领域。对于价值选择,一种最好的适合策略被使用选择最好的额定时期之一。 根据一个乐观的观点,这将是违反一套柔软的约束的时期之一最小限度的整个的重量,但是评估应该像二重唱,无冲突的传播性能。进而,最好的评估不一定违反约束的最小的数
<< 上一页 [11] [12] [13] [14] [15] [16] 下一页