| 摘要 | 第1-4页 |
| ABSTRACT | 第4-9页 |
| 1 绪论 | 第9-15页 |
| ·引言 | 第9-10页 |
| ·排课问题研究历史及现状 | 第10-11页 |
| ·自动排课的意义 | 第11-12页 |
| ·各种排课算法比较 | 第12-14页 |
| ·模拟退火算法 | 第12页 |
| ·回溯算法 | 第12页 |
| ·遗传算法 | 第12-13页 |
| ·贪婪算法 | 第13页 |
| ·蚁群算法 | 第13页 |
| ·基于优先级算法 | 第13-14页 |
| ·本文主要研究内容及特色 | 第14页 |
| ·主要研究内容 | 第14页 |
| ·主要特色 | 第14页 |
| ·小结 | 第14-15页 |
| 2 开发平台与数据库的选择 | 第15-26页 |
| ·开发平台 | 第15-21页 |
| ·Microsoft.NET 简介 | 第15页 |
| ·通用语言运行环境CLR | 第15-17页 |
| ·.NET Framework 类库 | 第17-18页 |
| ·ADO.NET 作用 | 第18-19页 |
| ·XML 模板 | 第19页 |
| ·N ET 中的两种编程模板 | 第19-20页 |
| ·N ET 安全概述 | 第20-21页 |
| ·数据库概述及 SQL Server 2005 简介 | 第21-25页 |
| ·数据库概述 | 第21-23页 |
| ·SQL Server 2005 简介 | 第23-25页 |
| ·SQL 语言 | 第25页 |
| ·本章小结 | 第25-26页 |
| 3 算法的系统需求分析 | 第26-41页 |
| ·业务需求分析 | 第26-29页 |
| ·功能需求分析 | 第29-30页 |
| ·排课业务流程图 | 第30-31页 |
| ·数据需求分析 | 第31-32页 |
| ·班级 | 第31页 |
| ·教师和课程 | 第31-32页 |
| ·时间 | 第32页 |
| ·教室 | 第32页 |
| ·数据表分析 | 第32-40页 |
| ·班级数据表(clas_bas) | 第32-33页 |
| ·教师数据表(teac_bas ) | 第33页 |
| ·学生数据表(stud_bas) | 第33-34页 |
| ·教室数据表(room_bas) | 第34页 |
| ·课程数据表(cour_bas) | 第34-35页 |
| ·各矩阵数据表 | 第35-36页 |
| ·各表关系图 | 第36-37页 |
| ·部分表及其主、外键设计 | 第37-40页 |
| ·本章小结 | 第40-41页 |
| 4 排课系统的算法研究 | 第41-59页 |
| ·预处理 | 第41-42页 |
| ·课程预处理 | 第41页 |
| ·时间预处理 | 第41-42页 |
| ·教室预处理 | 第42页 |
| ·确定适当的时间模式 | 第42-45页 |
| ·用数学模型处理对教师、教室的约束条件 | 第45-47页 |
| ·排课过程的约束条件 | 第45-46页 |
| ·约束条件的数学表示 | 第46-47页 |
| ·时间安排的设计 | 第47-53页 |
| ·时间问题的表示 | 第47-48页 |
| ·设定优先级 | 第48-50页 |
| ·查询可用的时间单元 | 第50-53页 |
| ·自动排课的算法设计 | 第53-56页 |
| ·对必修课的编排 | 第53页 |
| ·对选修课的编排 | 第53页 |
| ·排课系统的算法及流程图 | 第53-56页 |
| ·后期处理 | 第56-58页 |
| ·排课后处理 | 第56页 |
| ·手工调整 | 第56-58页 |
| ·本章小结 | 第58-59页 |
| 5 结论 | 第59-60页 |
| 致谢 | 第60-61页 |
| 参考文献 | 第61-63页 |
| 附录 | 第63页 |
| A. 攻读硕士学位期间发表的论文 | 第63页 |