
数学建模请你来排课表.doc
15页请你来排课表摘要 每学期的开学初,学校都会根据时间、课程、课时要求、教室、班级人数、教师等因素对各学院各专业的课表进行重排我们首先对题目的要求进行分析,将题目归类为优化模型问题,主要运用运筹学的知识来建立模型确定了分别将教师、课程、教室三个因素优化组合进行讨论,并分配到课表上的不同时间段上最终形成满足要求的课表的解决方案首先,我们确定了各优化因素之间的约束关系,然后根据各因素间约束关系的要求不同,编制出各因素间的效用矩阵其中我们采用了多重约束条件,将各约束条件分为硬约束(强制要求)和软约束(用偏好系数表示) ;其次,我们为课表上的每一个时间段随机分配课程;再次,我们用逐级优化和 0-1 规划的方法分别将教师、教室分配到课表上的不同时间段上,按时间+课程+教师+教室的组合,形成了一份尽可能多地满足课程、教师、教室要求的课表最终根据题目给的数据,通过 MATLAB 软件编程进行模型验证,求出了所需课表,且在方案合理性分析中用计算机模拟的方法分析了偏好系数的变化、教室的种类对排课结果的影响文尾我们给出了教师、教室的配置建议关键词: 排课模型 随机分配 优化目标矩阵 多重约束条件 0-1 规划目录 1 问题重述与分析.........................................41.1 问题的重述...................................................... 4 1.2 问题的分析......................................................... 4 2 问题的假设 ............................................4 3 符号说明 ..............................................54 模型的建立与求解.......................................5 4.1 模型的准备.................................................... 5 4.1.1对教师、课程、上课时间联系的刻画............................ 5 4.1.2 对时间段S i进行编号 ......... ...............................64.1.3 对课程的处理 .............................................. 7 4.2 模型的建立 ................................................... 7 4.2.1 随机分配课程到各个时间段 .....................................7 4.2.2 给每一个时间段安排教师........................................74.2.3为每一个时间段安排教室 ........................................9 4.2.4 安排课程表.................................................. 11 5 模型的求解 ........................................... 115.1编号并随机分配课程................................................ 11 5.2分配教师 ......................................................... 11 5.3分配教室 ......................................................... 12 5.4编排课表.......................................................... 12 6 模型的合理性分析.....................................127 模型的评价 ...........................................127.1 模型的优点 ................................................. 12 7.2 模型的缺点 ................................................. 12 8 参考文献 .............................................12 附录 ...................................................131、问题重述与分析1.1 问题的重述现有课程 40 门,编号为 C01~C40;教师共有 25 名,编号为 T01~T25;教室 18 间,编号为 R01~R18。
具体属性及要求见附表 1,附表 2,附表 3课表编排规则:每周以 5 天为单位进行编排,每天最多只能编排 8 节课(上午 4 节,下午 4 节) ,特殊情况下可以编排 10 节课(晚上 2 节) ,每门课程以 2 节课为单位进行编排,同类课程尽可能不安排在同一时间 你所要解决的问题:1. 请你结合实际情况建立数学模型,通过编程计算,给出较为合理的课表编排方案,分析你所给出的方案的合理性2. 如果不准晚上排课,排课结果是否有所变化,如何变化?3. 对教师聘用,教室配置给出合理化建议1.2 问题的分析本题的目标是将所有课程按照一定的约束条件安排到课表中由于课程的总周课时数为160节,而一周的总课时数是50节,所有最少需要4张课表才能安排好所有的课程;又由于教师的总周课时数最多为116节课,若使所有的教师上满所有课程也是难以完成160节的总周课时的,因此必须分单双周制才能编排好所有的课程;我们要到达的基本要求是教师不冲突、教室不冲突、课程全部排完以及所有软、硬约束由于目标是将所有课程排完,可以先将不同课程按照其时间要求随机分配至课表中,形成“时间段-课程 ”组合;再建立该组合对教师的约束,通过“0-1规划”确定最优的“时间段-课程-教师”组合;同理,利用“0-1 规划” 确定出“时间段-课程- 教师-教室”的最优组合,最终得到所求课表。
2、问题的假设[1]假设学校的优先考虑目标是完成所有课程的编排; [2]假设所编排的课程表是学生自选型,即课程的编排不会受到班级以及班级人数的限制,只与课程的人数要求有关; [3]假设在课程要求中的各项均为强制要求,即“ 硬约束” ;假设在教师属性中,能胜任课程类别、周最大课时数为强制要求,即“硬约束” ;对教室类别要求、上课时间要求用偏好程度衡量,为“软约束” ; [4]假设可以分单双周上课制,即问题中的周课时是以两星期为一周期来计算,可以使所得的课表安排一周上课课程后接下来一周另外安排课程;[5]假设课表只受上课时间、教师、教室、课程的影响,其他因素(教室故障问题等)不会影响课程的进行;[6]一门多学时的课程只能由同一个老师完成,并且尽量能在同一间教室上课;3、符号说明主要符号 符号意义效用矩阵4321A、、、原课程编号iC 新的周课时数编号iK教师编号jT教室编号kR偏好系数(表示教师对教室、教师对上课时间的偏好系数)课程表上时间段的编号iS教师的要求课时数jT jT课程的要求课时数iC iCS={ } 课程表上某一时间段的课程- 教师-教室组合ujiRY,4、模型的建立与求解4.1 模型的准备(1)对教师、课程、上课时间联系的刻画根据分析,关联关系有课程—上课时间、课程—教室、教师—课程、教师—上课时间、教师—教室一共五个,该模型中存在的联系可由下图给出,其中实线表示“硬约束”,虚线表示“软约束”。
根据关联关系,由此可以得到刻画每个关系的效果指标矩阵,依次建立A1,A2,A3,A4 四个效用矩阵其中,为强制约束的有A2、A4,偏好约束有A1、A3,矩阵表示如下图所示矩阵:1A刻画i 教师上j 教室的偏好效果指标,其中: (当 =0时ija 10ijaij表示i 教师不希望在j 教室上课, =1时表示i 教师希望在j 教室上课,ja时表示i 教师在j 教室上课的偏好程度适中,赋值越大说明偏好越大)10pij矩阵:2A刻画i 教师上j 课程时的效果指标,其中: =0,1(当 =0时表示ija ijaijai 教师不能上j 课程, =1时表示i教师能够上j课程)a 矩阵:3A刻画i 教师上j 时间段课时的偏好效果指标,其中: (当ija 10ija=0时表示 i 教师不希望在j 时间段上课, =1时表示i 教师希望在j 时间段上ij ja课, 时表示i 教师在j 时间段上课的偏好程度适中,赋值越大说明偏10pij好越大)矩阵:4A刻画i 课程在j 教室上时的效果指标,其中: =0,1(当 =0时ija ijaija表示i 课程不能在j 教室上, =1时表示i 课程能够在j 教室上)ja(2)对时间段S i进行编号由于每门课程以2节课为单位进行编排,因此可以用 表示各段时间,如下iS图所示:(3)对课程的处理由于有些课程的课时数为奇数,因此对这些课程进行适当的处理及调整,具体做法如下:当某一课程的课时数为奇数时,取大于它的最小偶数,若该课程的课时数为偶数时则不改变其值。
对所有课程的课时数进行调整后所得到的新的课时数为 (i=1,2,3…….40,iK即有40门课程),原课程的编号为 (i=1,2,3…….40,即原有的40门课程), iCijY 星期时间段 星期一 …… 星期五 星期一 …… 星期五 星期一 …… 星期五 星期一 …… 星期五一二节 1S…… 5S6…… 10S1…… 15S6…… 20S三四节 2…… 2…… 3…… 3…… 4五六节 41…… 456…… 501…… 56…… 60七八节 6S…… 6S…… 7S…… 7S…… 8S(i=1,2,3…….40,为原有的课程编号, j=1,2,3…… ),现目标就是对集合{ }进1iKijY行排课4.2 模型的建立 (1)随机分配课程到各个时间段由于课程的上课时间(上午,下午)要求为强制性约束,利用 excel 表格的筛选功能分别选出上、下午的课程集合 B 上午 ={ }, B 下午 ={ }我们随机给ijYijYB 上午 的每一个元素抽取一个上午的时间段,B 下午 中的每一个元素抽取一个下午的时间段,组成时间段—课程{ }组合此时, (某一时间段对应的某一课程) 。
如此,iSjYiSij就已经完成随机分配,使得每个时间段编号都有一个课程赋值2) 给每一个时间段安排教师 A.结合效用矩阵 的2AiS根据教师 对课程Cj 的效用矩阵 ,对 进行第二次赋值当第i 个时间段jT2AS上的初值是 ,若 =1,则 =1,否则, =0ijYijai iB. 结合效用矩阵 的3AiS根据教师 对上课时间的偏好 矩阵,对 进行第三次赋值, = + jT3iSiSijaC. 结合效用矩阵 的 1iS根据教师 对 时间段上的课程所要求的教室的偏好 矩阵,对 进行第四次jTi 1AiS赋值, = + 最终得到iSija jiSjissssjj ii....212211由此,我们可以得到下表教师 对时间段 的效用指标表:jTiS… … … 。
