当前位置:首页 >> 数学 >>

数学建模-选课问题


选课问题
小组成员:李桥鸽 李嘉仪 陈清珂

一、摘要 大学生在学习中常会遇到选课问题, 既要使自己所选择的课程符合 自己的兴趣,又要用最少的课程达到最好的效果,最重要是满足学校 所修课程的要求以达到毕业, 有些课程必须在具备基础科目学习经历 的前提下才能进行选择, ,在这多种因素引导下选课过程往往发生矛 盾。 因此只有对各种因素进行周密考虑, 最终

方可得出最优化的结果。 选课所得到的结果必然为整数, 因此本题可以可归结为整数线性规划 的最优化问题。 二.问题重述 某学校规定,其运筹学专业的学生想要毕业,就至少要修过两门数 学课,三门运筹学课和两门计算机课。而其备选课程供有 9 种,按 1 到 9 编号,都有其各自对应的学分,以及对于先修课程的要求。在满 足题设要求的前提下,提出问题: 1.学生毕业时最少可以学习哪些课程; 2.学生选择哪些课程可以使自己选修的课程数量少而所获总学分 多? 3. 对课程数目和学分具不同的比例偏好的人,如何选择? (以偏好比例课程数比总学分=7:3 为例)

三、问题分析 根据题目要求,学生选修课程必须同时满足下列条件: (1)任何一个学生所选择的所有课程中,至少应包括两门属于数 学类的课程,三门属于运筹学类的课程以及两门属于计算机类的课 程; (2)课程编号为 3、4、5、6、8、9 的六门课选修前都必须先学过 其他几门课。要选 3 号或 5 号、9 号课程就必须先学 1、2 号课程, 要选 4 号或 6 号课程就必须先学 7 号课程, 要学 8 号课程就必须先学 5 号课程。 因此,针对目标一,要求所选符合上述要求的课程数量最少,我 们选择了以下方案首先选择 1,2 再选择课程 5,8,其次选择课程课程 7,6;如此来看这样只用选择六个课程就可以完成所也需要的要求, 粗略的估计出选择 1,2,5,8,7,6 这几个课程是最好的结果; 针对目标 二,要求选择的符合要求的课程数量最少的同时其累计学分最多,我 们也认为这个方案可以获得的学分为 22 分即是最好的结果。 但这都是主观上的判断,难免有偏差。由于本题研究的是选课过 程的最优化结果,因此首先必须根据所给条件,分析出各个课程之间 的关系,并用清晰的数学表达式描述。因此,我们建立 0-1 型整数线 性规划模型,对结果进行分别预测后通过 Matlab 求解多目标规划模 型,并将之前预测结果和求解结果进行比较,得到选课结果的最优化 组合。 四.模型假设

1.假设各个同学在选修课程中不受其他因素影响, 只受学分和课程门 数影响。 2.假设学生选课时已经提前达到了先修课要求, 如在选 “最优化方法” 时已经考虑带先选了“微积分”和“线性代数” 。 3.假设学生的信息是不公开的,且学生选课不受其他同学的影响,根 据自己的需求进行选课。 4.各个同学可以选课数目最少并且能够获得最高的学分, 达到以较少 课时换取较高学分的要求。 5.假设在选课过程中选课都能选上, 且能一次性通过该课程的考核并 获得相应的学分。 五.变量及符号说明 1.Xi 表示选课表中第 i 门课程的选择 2.Xi=1(0)表示选修(不选)题目表中编号顺序的 9 门课程的第 i 门 3.minZ 表示选课中获得的最低学分 4.max w 表示选课中获得的最高学分 5.第三问中:Z 选课数量,M:学分多少, Y 为学分数和课程数的综合目标

令 xi=1 代表选修课程号为 i 的课程 xi=0 代表不选择选修课程号为 i 的课程
六.模型建立与求解 (一)问题一:用 xi=1(0)表示选修(不选)按上表中编号顺序的 9 门

课程的第 i 门课. 问题①决策目标为选修课程门数最少,即 min z=?j=19xi. 即 min z=x1+x2+x3+x4+x5+x6+x7+x8+x9; 其约束条件包括: 首先,每人最少要选 2 门数学课,3 门运筹学课和 2 门计算机课,其次, 某些课有先修课的要求,例如,数据结构的先修课是计算机编程,这意 味着 x4=1 蕴涵 x7=1,这个条件可表示为 x4?x7 或 x4-x7?0.同理,最优 化方法的先修课是微积分和线性代数的条件可表示为 x3?x1,x3?x2,此 二式可合并为一个不等式,2x3?x1+x2; 综上,按表中课程类别划分可将此约束表示为 x1+x2+x3+x4+x5≥2; x3+ x5+x6+ x8+x9≥3; x4+ x6+x7 +x9≥2; x1+x2-2x3≥0; x1+x2-2x5≥0; x7-x4≥0; x7-x6≥0; x5-x8≥0; x1+x2-2x9≥0; xi=0 or 1 (i=0,?,9); 将其转化为 matlab 标准型为:

min z=x1+x2+x3+x4+x5+x6+x7+x8+x9; -1 -1 -1 -1 -1 0 0 0 -1 0 0 2 0 1 0 0 0 0 0 0 0 0 0 -1 -1 0 0 2 0 1 0 1 0 0 0 0 0 0 0 0 0 0 X1 X2 X3 X4 X5 X6 X7 X8 X9 ≦ -2 -3 -2 0 0 0 0 0 0

-1 0 -1 -1 0 0 -1 0 -1 0 0

-1 -1 0 -1 0 0 0 0 0 0 0 0 -1 0 0 2

-1 -1 0 0

-1 -1 0 0 0 0

-1 -1

Matlab 程序及结果: >> z=[5,4,4,3,4,3,2,2,3];f=[1;1;1;1;1;1;1;1;1]; a=[1,1,1,1,1,0,0,0,0;0,0,1,0,1,1,0,1,0;0,0,0,1,0,1,1,0,1;1, 1,-2,0,0,0,0,0,0;1,1,0,0,-2,0,0,0,0;0,0,0,-1,0,0,1,0,0;0,0, 0,0,0,-1,1,0,0;0,0,0,0,1,0,0,-1,0;1,1,0,0,0,0,0,0,-2]; b=[2;3;2;0;0;0;0;0;0]; [x,y]=bintprog(f,-a,-b,[],[]);x,y,c=z*x Optimization terminated. x = 1

1 0 0 1 1 1 1 0 y = 6 c = 20 由屏幕最后显示结果得: 最优解 x1=x2=x5=x6=x7=x8=1, x3=x4=x9=0 目标函数最小值 z=6。 即应该选修微积分,线性代数,应用统计,计算机模拟 ,计算机编 程,预测理论等 6 门课,最小选课门数是 6,获得学分为 20. 问题二:数学模型为: 约束条件基本类似于问题一, 但在二中我们将选择的六门课程作为固 定指标,看是否存在更优的选择在选课少的情况下,使得目标函数总 学分最大化。 max w=5x1+4x2+4x3+3x4+4x5+3x6+2x7+2x8+3x9; x1+x2+x3+x4+x5≥2;

x3+ x5+x6+ x8+x9≥3; x4+ x6+x7 +x9≥2; x1+x2-2x3≥0; x1+x2-2x5≥0; x7-x4≥0; x7-x6≥0; x5-x8≥0; x1+x2-2x9≥0; x1+x2+x3+x4+x5+x6+x7+x8+x9=6; xi=0 or 1 (i=0,?,9); 将其转化为 matlab 标准型为: min w’= - (5x1+4x2+4x3+3x4+4x5+3x6+2x7+2x8+3x9); -1 -1 -1 -1 -1 0 0 0 -1 0 0 2 0 0 0 0 0 0 0 0 1 0 0 -1 -1 0 0 0 0 2 0 1 0 1 0 0 0 0 0 0 0 0 X1 X2 X3 X4 X5 X6 X7 X8 X9 ≦ -2 -3 -2 0 0 0 0 0 0

-1 0 -1 -1 0 0 -1 0 -1 0 0

-1 -1 0 -1 0 0 0 0 0 0 0 0 -1 0 0 2

-1 -1 0 0

-1 -1 0 0 0 0

-1 -1

X1 X2 X3 X4 (1 1 1 1 1 1 1 1 1 ) X6 X7 X8 X9 Matlab 程序及结果: >> f=[5;4;4;3;4;3;2;2;3]; a=[1,1,1,1,1,0,0,0,0;0,0,1,0,1,1,0,1,0;0,0,0,1,0,1,1,0,1;1, 1,-2,0,0,0,0,0,0;1,1,0,0,-2,0,0,0,0;0,0,0,-1,0,0,1,0,0;0,0, 0,0,0,-1,1,0,0;0,0,0,0,1,0,0,-1,0;1,1,0,0,0,0,0,0,-2]; b=[2;3;2;0;0;0;0;0;0];aeq=[1,1,1,1,1,1,1,1,1];beq=[6]; [x,y]=bintprog(-f,-a,-b,aeq,beq);x,y=-y Optimization terminated. x = 1 1 1 0 X5 ≒ 6

1 1 1 0 0 y = 22 由屏幕最后显示结果得: 最优解 x1=x2=x3=x5=x6=x7=1, x4=x8=x9=0 在同样选择六门课的前提下, 目标函数最大值 z=22.也就是最大学 分为 22 分。故应按此种方法进行选课。 由上述两个问题得出的结果可以看出, 22 学分的课程组合与 20 分的课程组合相比是用课程 3-最优化方法替换了课程 8-预测理论, 是因为它们都属于运筹学范畴,不同的是课程 3 同时属于数学范畴, 并且学分多于课程 8.而没有在第一问求解中就选择课程 3 也是因为 它所代表的类别多于课程 8,相对于选修课程最少这一条件,它显然 不是最优的。故而我们认为所作出的结果是合理的,与前期预测也较 相符。 (三)问题三:对学分数和课程数加权形成一个目标,如三七开。

Min Y ? ?1Z ? ?2W ? 0.7Z ? 0.3W
Z ? ? xi
i ?1 9

W ? 5 x1 ? 4 x2 ? 4 x3 ? 3 x4 ? 4 x5 ? 3 x6 ? 2 x7 ? 2 x8 ? 3 x9

最优解: x1 = x2 = x3 = x4 = x5 = x6 = x7 = x9 =1, 其它为 0 总学分 28 七、拓展

八.模型评价 本文研究了选课问题的最优化选择,充分考虑了实际情况,不失 一般性, 我们讨论了多种课程选择分配的方案并对每一种方案进行了 预算通过课程的数量对比以及可以获得的学分的总和对比最终选择 出一个选课数量最少且获得学分最多的方案, 建立了 0-1 型整数线性 规划模型, 对结果进行分别预测后通过 Matlab 求解多目标规划模型, 并将之前预测结果和求解结果进行比较,得到选课结果的最优化组

合。通过上述实例从模型优化后的计算结果可以看出:在选课情况正 常的条件下,对于课程的选择可以达到最优化,可以尽可能选数量少 的课程获得尽量多的学分,从而达到要求。 上述例子的计算结果充分表明了该模型的有效性, 上述例子中的 变量 Xi 的引入使得实际问题能够与数学关系进行合理的转化,并且 对各个变量进行一定的线性表示, 将条件带入使得实际要求转化为数 学表达式,这样一来,将一个复杂的实际问题转化为简单的数学问题 并利用 Matlab 求解了多目标规划模型。


相关文章:
选课问题、数学建模
选课问题数学建模_理学_高等教育_教育专区。数学建模课程设计 2013-2014 第一学期 数学建模课程设计 题目 : 学生选课 姓名: 班级: 刘金星 网络工程\ 2014 年 ...
数学建模-选课问题
问题二:数学模型为: 约束条件基本类似于问题一, 但在二中我们将选择的六门课程作为固 定指标,看是否存在更优的选择在选课少的情况下,使得目标函数总 学分最大...
数学建模作业二:选课策略
数学建模作业二:选课策略 选课策略一、 问题描述课号 1 2 3 4 5 6 7 8 9 课名 微积分 线性代数 最优化方法 数据结构 应用统计 计算机模拟 计算机编程 ...
大学生数学建模选课问题
大学生数学建模选课问题_数学_自然科学_专业资料。陕西理工学院大学生数学建模竞赛 承诺书 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、...
数学建模-选课问题
问题二:数学模型为: 约束条件基本类似于问题一, 但在二中我们将选择的六门课程作为固定指标,看 是否存在更优的选择在选课少的情况下,使得目标函数总学分最大化...
数学建模 选课问题
数学建模 选课问题_数学_自然科学_专业资料。数学建模 选课问题 本人自做 仅作参考选课问题 声明:本人自做,仅作参考,不得商用,责任自负。 1 问题的提出 课程选修...
数学建模 选课问题 论文整数规划方法
如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 数学建模 选课问题 论文整数规划方法 数学建模 选课问题 论文整数规划方法...
数学建模选修课心得
数学建模选修课心得通过这几节课数学建模选修的学习, 我了解到数学建模的以下基 本要素(数模的一般过程) 。 1.形成问题 了解实际背景 明确建模目的 搜集有关信息...
选课问题建模作业
选课问题建模作业_数学_自然科学_专业资料。随着教育事业在中国的不断发展,大学在选修课上与限选课可的选修程序做了进一步调整,将传统的选课进行细化,针对每个专业都...
数学建模选修课作业--绝对原创
数学建模选修课作业 10页 免费数​学​建​模​选​修​课​作​...三、问题提出高考制度最大限度地实现人才科学公平的选拔,形成崇尚知识的良好氛围,...
更多相关标签:
数学建模选修课论文 | 数学建模选修课简介 | 数学建模最优化问题 | 数学建模问题 | 数学建模问题重述 | 数学建模最短路径问题 | 货物配送问题数学建模 | 商人过河问题数学建模 |