数学建模_选课问题.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
选课问题 一、摘要 大学生在学习中常会遇到选课问题,既要使自己所选择的课程符合自己的兴趣,又要用最少的课程达到最好的效果,最重要是满足学校所修课程的要求以达到毕业,有些课程必须在具备基础科目学习经历的前提下才能进行选择,,在这多种因素引导下选课过程往往发生矛盾。因此只有对各种因素进行周密考虑,最终方可得出最优化的结果。选课所得到的结果必然为整数,因此本题可以可归结为整数线性规划的最优化问题。 二.问题重述 某学校规定,其运筹学专业的学生想要毕业,就至少要修过两门数学课,三门运筹学课和两门计算机课。而其备选课程供有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.Xi表示选课表中第i门课程的选择 2.Xi=1(0)表示选修(不选)题目表中编号顺序的9门课程的第i门 3.minZ表示选课中获得的最低学分 4.max w表示选课中获得的最高学分 六.模型建立与求解 (一)问题一:用xi=1(0)表示选修(不选)按上表中编号顺序的9门课程的第i门课. 问题①决策目标为选修课程门数最少,即 min z=Sj=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 0 X1 -2 0 0 -1 0 -1 -1 0 -1 -1 X2 -3 0 0 0 -1 0 -1 -1 0 -1 X3 -2 -1 -1 2 0 0 0 0 0 0 X4 0 0 0 0 1

您可能关注的文档

文档评论(0)

beifanglei + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档