目录
摘要 2
Abstract. 3
1引言 4
1.1研究背景 4
1.2研究现状 4
1.3 研究意义 5
1.4本文主要工作 5
2系统开发工具和平台 6
2.1 关于C++语言概述 6
2.2 数据库平台 7
2.3 Microsoft Visual C++概述 9
3系统总体分析 10
3.1 可行性分析 10
3.1.1经济可行性分析 10
3.1.2 技术可行性分析 10
3.2需求分析 10
3.2.1需求分析的目的 10
3.2.2需求分析的意义 10
3.2.3系统E-R图 11
3.3 数据库设计 13
3.4组卷算法分析 15
3.4.1随机选取法 15
3.4.2 动态回溯试探法 15
3.4.3 传统遗传组卷算法的不足 16
4系统的详细设计 18
4.1登录模块 19
4.2账号管理 20
4.3题库管理 20
4.4自动组卷 22
4.5试卷管理 23
5性能测试与分析 24
5.1测试实例的研究与选择 24
5.2试环境与测试条件 26
5.3性能分析 26
6总结与展望 27
6.1系统达到的预期目标 27
6.2接下来的工作方向 27
参考文献 28
致 谢 29
目前常用的组卷算法有: 随机算法、动态回溯算法、遗传算法。回溯法实现起来程序结构比较复杂,而且试题缺乏随机性, 组卷时间长。遗传算法具有很好的并行性, 也具有良好的全局优化性和稳定性。但遗传算法的技术还不是很成熟, 一般的遗传算法进化速度缓慢, 搜索效率不高, 容易早熟, 易陷入局部最优值, 而导致组卷失败。随机算法, 普通的随机算法存在每次随机数据可能重复访问某个单元, 而且不是每次都能返回有效的试题, 效率不高。
随机选取法实际上就是在试题库中随机搜索满足条件的试题,不断重复搜索过程,直到组卷操作完成或不能搜索到满足约束条件的试题为止。该方法具有很大的随机性和不确定性,求解效率不高。
动态回溯算法也叫试探法.它是一种系统地搜索问题的解的方法,可以被认为是一个有过剪枝的DFS(深度优先搜索)过程。它按优先条件向前搜索,以达到目标,但当搜索到某一步时.发现原先的选择并不优或达不到目标。就退回一步重新选择。而满足回溯条件的某个状态点称之为回溯点。具体到计算机智能排课系统中,选优条件即为排课数学模型中的约束条件群(需求集中的元素特征与资源集中的元素特征相互作用形成的数学关系)若不满足约束条件群,该选择即为不优或达不到目标当遍历该步骤的所有可能仍未满足约束条件群.则该状态满足了回溯条件,该状态点即为回溯点。
回溯算法解决组卷问题时首先要描述解的形式,定义一个解空间.它包含问题的所有解:其次构造状态空间树,这棵树的每条完整路径都代表了一种解的可能:再次是构造约束函数,通过描述合法解的一般特征用于去除不合法的解,从而避免继续搜索出这个不合法解的剩余部分:然后通过深度优先搜索完成回溯。回溯法在理论上可以遍历每一种可能的状态组合,但实际上,当试卷总题量较大时,可能的试卷组合数将成为一个天文数字。在实际应用时会发现这种算法对内存的占用量很大,而且选取试题缺乏随机性,组卷时间长。