最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

数学建模-选课问题

来源:动视网 责编:小OO 时间:2025-09-28 00:24:06
文档

数学建模-选课问题

选课问题一、摘要大学生在学习中常会遇到选课问题,既要使自己所选择的课程符合自己的兴趣,又要用最少的课程达到最好的效果,最重要是满足学校所修课程的要求以达到毕业,有些课程必须在具备基础科目学习经历的前提下才能进行选择,在这多种因素引导下选课过程往往发生矛盾。因此只有对各种因素进行周密考虑,最终方可得出最优化的结果。选课所得到的结果必然为整数,因此本题可以可归结为整数线性规划的最优化问题。二.问题重述某学校规定,其运筹学专业的学生想要毕业,就至少要修过两门数学课,三门运筹学课和两门计算机课。而其备
推荐度:
导读选课问题一、摘要大学生在学习中常会遇到选课问题,既要使自己所选择的课程符合自己的兴趣,又要用最少的课程达到最好的效果,最重要是满足学校所修课程的要求以达到毕业,有些课程必须在具备基础科目学习经历的前提下才能进行选择,在这多种因素引导下选课过程往往发生矛盾。因此只有对各种因素进行周密考虑,最终方可得出最优化的结果。选课所得到的结果必然为整数,因此本题可以可归结为整数线性规划的最优化问题。二.问题重述某学校规定,其运筹学专业的学生想要毕业,就至少要修过两门数学课,三门运筹学课和两门计算机课。而其备
选课问题

一、摘要

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

二.问题重述

某学校规定,其运筹学专业的学生想要毕业,就至少要修过两门数学课,三门运筹学课和两门计算机课。而其备选课程供有9种,按1到9编号,都有其各自对应的学分,以及对于先修课程的要求。在满足题设要求的前提下,提出问题:

1.学生毕业时最少可以学习哪些课程;

2.学生选择哪些课程可以使自己选修的课程数量少而所获总学分多?

三、问题分析

根据题目要求,学生选修课程必须同时满足下列条件:

(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表示选课中获得的最高学分

六.模型建立与求解

(一)问题一:用x i=1(0)表示选修(不选)按上表中编号顺序的9门课程的第i门课.

问题①决策目标为选修课程门数最少,即

min z=∑j=19x i.

即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=0or1(i=0,…,9);

将其转化为matlab标准型为:

min z=x1+x2+x3+x4+x5+x6+x7+x8+x9;

-1-1-1-1-10000X1-2

00-10-1-10-1-1X2-3

000-10-1-10-1X3-2

-1-12000000X40

000100-100X5≦0

-1-10020000X60

000001-100X70

0000100-10X80

-1-10000002X90

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

1

1

1

1

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=0or1(i=0,…,9);

将其转化为matlab标准型为:

min w’=-(5x1+4x2+4x3+3x4+4x5+3x6+2x7+2x8+3x9);

-1-1-1-1-10000X1-2

00-10-1-10-1-1X2-3

000-10-1-10-1X3-2

-1-12000000X40

000100-100X5≦0

-1-10020000X60

000001-100X70

0000100-10X80

-1-10000002X90X1

X2

X3

X4

(111111111)X5≒6

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

1

1

1

y=

22

由屏幕最后显示结果得:

最优解x1=x2=x3=x5=x6=x7=1,x4=x8=x9=0

在同样选择六门课的前提下,目标函数最大值z=22.也就是最大学分为22分。故应按此种方法进行选课。

由上述两个问题得出的结果可以看出,22学分的课程组合与20分的课程组合相比是用课程3-最优化方法替换了课程8-预测理论,是因为它们都属于运筹学范畴,不同的是课程3同时属于数学范畴,并且学分多于课程8.而没有在第一问求解中就选择课程3也是因为它所代表的类别多于课程8,相对于选修课程最少这一条件,它显然不是最优的。故而我们认为所作出的结果是合理的,与前期预测也较相符。

七、模型评价本文研究了选课问题的最优化选择,充分考虑了实际情况,不失一般性,我们讨论了多种课程选择分配的方案并对每一种方案进行了预算通过课程的数量对比以及可以获得的学分的总和对比最终选择出一个选课数量最少且获得学分最多的方案,建立了0-1型整数线性规划模型,对结果进行分别预测后通过Matlab 求解多目标规划模型,并将之前预测结果和求解结果进行比较,得到选课结果的最优化组合。通过上述实例从模型优化后的计算结果可以看出:在选课情况正常的条件下,对于课程的选择可以达到最优化,可以尽可能选数量少的课程获得尽量多的学分,从而达到要求。

上述例子的计算结果充分表明了该模型的有效性,上述例子中的变量Xi的引入使得实际问题能够与数学关系进行合理的转化,并且对各个变量进行一定的线性表示,将条件带入使得实际要求转化为数学表达式,这样一来,将一个复杂的实际问题转化为简单的数学问题并利用Matlab求解了多目标规划模型。

文档

数学建模-选课问题

选课问题一、摘要大学生在学习中常会遇到选课问题,既要使自己所选择的课程符合自己的兴趣,又要用最少的课程达到最好的效果,最重要是满足学校所修课程的要求以达到毕业,有些课程必须在具备基础科目学习经历的前提下才能进行选择,在这多种因素引导下选课过程往往发生矛盾。因此只有对各种因素进行周密考虑,最终方可得出最优化的结果。选课所得到的结果必然为整数,因此本题可以可归结为整数线性规划的最优化问题。二.问题重述某学校规定,其运筹学专业的学生想要毕业,就至少要修过两门数学课,三门运筹学课和两门计算机课。而其备
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top