数学建模排课系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6模型的评价·····································16
6.1模型的优缺点················································16
6.2模型的不足及可以改进之处····································16
教师和学生的上机时间不能和他们的授课课程时间冲突,为此我们给出了各位教师和各个班级学生的课程表,见附录二。四名管理人员可全天进行上机指导,但只能在自己负责的机房进行.
共有123个班级需要上机
本题需要用数学建模方法研究解决排课是教务问题。
(1)根据你提出的要求(可以是上述要求的某个或多个,也可以是你自己合理设定的),确定约束条件,给出目标函数,建立数学模型;
3.此模型须要人工的地方,虽有两处,但所做工作量都不大;通过此模型建立的课表与全部人工安排的课表在相互检验的时候发现相差不大,故而此模型具有一定的可行性。
关键词智能化排课优先级别矩阵转化人工调整对照检验
1问题重述·····································4
2问题假设·········································4
数学建模排课系统
监制:数学建模协会
计算机上机课安排
Βιβλιοθήκη Baidu摘要
本模型用于较为方便的排课,其步骤主要分三个部分。
第一部分主要解决那些学生空课特别少的特殊班级,由于此种班级可供选择的空课时间不多,故而最为优先的进行考虑。这一部主要靠人工完成。
第二部分也就是本模型的核心部分,用于初步解决余下班级的排课问题。首先将老师和学生的课表转化成相应的0-1分布的形式,然后利用所确定的优先级别,对课表中学生空课状态(记为X1),老师在原任课天内空课情况(记为X2)根据不同时段的空课情况赋予不同的值,以及实验室每个时段的上机占有情况(X3),即可通过参数的大小反应各个空课处优先被安排的程度,然后将老师的课表矩阵与其所教班级的课表矩阵相加,使得学生上午优先、教师指导自己班学生最大化及实验室占有情况同时考虑,找出Y(Y=(X1+X2+X3)*e)最大值处的坐标,即为该班级上机实践应该安排在课表中的位置。而将0-1分布的矩阵转化为带有优先级别的矩阵通过Matlab很容易的实现,两个矩阵的相加也可以通过Matlab实现。
3分析及流程图·····································4
3.1 问题的分析·····································5
3.2有关构建假设的分析·······························6
3.3 按优先级排序流程图······························6
7参考文献(无)··········································16
8附录·········································17
一、问题重述
排课是教务运作中的一项重要工作,同时排课问题也是一个复杂的组合优化问题,对此问题的建模和求解,难度都非常大。多数情况下我们只是满足于求解问题的一个可行解,而对此可行解的进一步优化往往通过手工完成,效率很低。
在此我们给出一个规模相对较少,约束相对较少的较为简单的排课问题,请同学们加以解决。
目前我校的计算机上机课大都安排在计算机学院,计算机学院有5个机房用于学生上机,每个机房大约容纳90人。安排上机的课程共有4门,指导上机的教师共有24人,其中20人为课程的授课教师,
其他四人为机房的管理人员,依次为陆老师,章老师,张老师和彭老师,其中陆老师负责2个机房。
4.3.1模型建立的准备······················8
4.3.2模型的组成及构建···························10
4.3.3实际情况的模型求解·······················14
5模型的检验···································15
以上的两轮排序,较为简便并且智能的实现了课表的基本确定。
第三部分主要依靠人工完成。此部分主要考虑因第二部分机械排序以后还存在没有排到课的班级,这些班级是那些在老师加天后还无法在这几天中被自己老师指导到的班级,对于这样的班级,只能交给管理员指导。由于这只是极少的一部分,不会给人工排课人员带来很大的工作量。
4模型的建立及求解································8
4.1符号设定·································8
4.2优先级别的确定·····························8
4.3模型的建立及求解··························8
这一模块将在智能化排课的过程中用到两次。第一次,把老师任课天内可以指导自己所教班级最大限度的排满。然后通过C程序选出需要加天的老师,及具体哪天,使得被选择的那天为所有可选天中,最大化指导学生的那天。关键代码将在附录二中给出。而后再对于还没有排课的班级进行下一轮的排课,这时只需可虑老师所附加来校的那一天。这样就保证老师尽可能多的指导自己所教班级,教师来学校的意义最大化。
我们优先级别的确定原则:
1.通过首次全部用人工进行课表的实际抄做安排所出现的现象,发现学生的空课时间主要集中在下午(见附录一表1),若不考虑上午优先的话,则所有班级很难安排下去并且会出现下午一定面积的溢出。
2.教师优先:如果老师可以带自己所教的班级,那么这种情况也是应该优先考虑的,这来源于问题中提出的硬性要求和实际的教学效果的统计。
(2)设法求出满足约束条件的一个可行解,详细给出你的求解步骤;
(3)根据你的目标,设计算法,求解问题的一个最优解或近似最优解。
二、问题假设
1.假设机房管理员一周内均可全天参与指导;
2.假设每个班级一周只安排一次上机且必须安排一次上机;
3.假设每个机房可以容纳至少两个班级同时上机;
相关文档
最新文档