对选课系统进行数学建模分析
数学建模 选修课策略模型

黑龙江科技大学题目:选课策略数学模型班级:姓名:学号:摘要本问题要求我们为了解决学生最优选课问题,本文利用0-1规划模型先找出目标函数,再列出约束条件,分三步得出对最终问题逐层分析化多目标规划为单目标规划,从而建立模型,模型建立之后,运用LINGO软件求解,得到最优解,满足同学选修课程的数量少,又能获得的学分多。
特点:根据以上分析,特将模型分成以下几种情况,(1)考虑获得最多的学分,而不考虑所选修的课程的多少;(2)考虑课程最少的情况下,使得到的学分最多;(3)同时考虑学分最多和选修科目最少,并且所占比例三七分。
在不同的情况下建立不同的模型,最终计算出结果。
关键词 0-1规划选修课要求多目标规划模型一:同时要求课程最少而且获得的学分最多,并按3:7的重要性建立模型。
模型二:要求选修课的课程最少,学分忽略;约束条件只有,每人至少学习2门数学,3门运筹学,2 门计算机,和先修课的要求建立模型一。
模型三:要求科目最少的情况下,获得的学分尽可能最多,只是目标函数变了,约束条件没变。
一.问题的重述某学校规定,运筹学专业的学生毕业时必须至少学过两门数学课,三门运筹学课,两门计算机。
这些课程的编号,名称,学分,所属类别和选修课的要求如表所示。
那么,毕业时最少可以学习这些课程中的哪些课程。
如果某个学生即希望选修课程的数量最少,又希望所获得的学分最多,他可以选修哪些课程?二.模型的假设及符号说明1.模型假设1)学生只要选修就能通过;2)每个学生都必须遵守规定;2. 符号说明1)xi:表示选修的课程(xi=0表示不选,xi=1表示选i=1,2,3,4,5,6,7,8,9);三.问题分析对于问题一,在忽略所获得学分的高低,只考虑课程最少,分析题目,有先修课要求,和最少科目限制,建立模型一,计算求出结果;对于问题二,在模型一的条件下,考虑分数最高,把模型一的结果当做约束条件,建立模型二,计算求出结果;对于问题三,同时考虑两者,所占权重比一样,建立模型三;四.模型的建立及求解模型一目标函数:min=0.7*(x1+x2+x3+x4+x5+x6+x7+x8+x9)-0.3*(5*x1+4*x2+4*x3+3*x4+4*x5+3*x6+2*x 7+2*x8+3*x9)约束条件:x1+x2+x3+x4+x5>=2;x3+x5+x6+x8+x9>=3;x4+x6+x7+x9>=2;2*x3-x1-x2<=0;x4-x7<=0;2*x5-x1-x2<=0;x6-x7<=0;x8-x5<=0;2*x9-x1-x2<=0;模型的求解:输入:min=0.7*(x1+x2+x3+x4+x5+x6+x7+x8+x9)-0.3*(5*x1+4*x2+4*x3+3*x4+4*x5+3*x6+2*x 7+2*x8+3*x9;x1+x2+x3+x4+x5>=2;x3+x5+x6+x8+x9>=3;x4+x6+x7+x9>=2;2*x3-x1-x2<=0;x4-x7<=0;2*x5-x1-x2<=0;x6-x7<=0;x8-x5<=0;2*x9-x1-x2<=0;@bin(x1);@bin(x2);@bin(x3);@bin(x4);@bin(x5);@bin(x6);@bin(x7);@bin(x9); 输出:Global optimal solution found.Objective value: -2.800000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced CostX1 1.000000 -0.8000000X2 1.000000 -0.5000000X3 1.000000 -0.5000000X4 1.000000 -0.2000000X5 1.000000 -0.5000000X6 1.000000 -0.2000000X7 1.000000 0.1000000X8 0.000000 0.1000000X9 1.000000 -0.2000000Row Slack or Surplus Dual Price1 -2.800000 -1.0000002 3.000000 0.0000003 1.000000 0.0000004 2.000000 0.0000005 0.000000 0.0000006 0.000000 0.0000007 0.000000 0.0000008 0.000000 0.0000009 1.000000 0.00000010 0.000000 0.0000001.模型二:目标函数:min z=x1+x2+x3+x4+x5+x6+x7+x8+x9约束条件:X1+x2+x3+x4+x5>=2X3+x5+x6+x8+x9>=3X4+x6+x7+x9>=22*x3-x1-x2<=0x4-x7<=02*x5-x1-x2<=0x6-x7<=0x8-x5<=02*x9-x1-x2<=0模型的求解本文运用lingo运算球的结果:输入min=x1+x2+x3+x4+x5+x6+x7+x8+x9;x1+x2+x3+x4+x5>=2;x3+x5+x6+x8+x9>=3;x4+x6+x7+x9>=2;2*x3-x1-x2<=0;x4-x7<=0;2*x5-x1-x2<=0;x6-x7<=0;x8-x5<=0;2*x9-x1-x2<=0;@bin(x1);@bin(x2);@bin(x3);@bin(x4);@bin(x5);@bin(x6);@bin(x7);@bin(x9);输出:Global optimal solution found.Objective value: 6.000000Extended solver steps: 0Total solver iterations: 1Variable Value Reduced CostX1 1.000000 1.000000X2 1.000000 1.000000X3 1.000000 1.000000X4 0.000000 1.000000X5 0.000000 1.000000X6 1.000000 1.000000X7 1.000000 1.000000X8 0.000000 1.000000X9 1.000000 1.000000Row Slack or Surplus Dual Price1 6.000000 -1.0000002 1.000000 0.0000003 0.000000 0.0000004 1.000000 0.0000005 0.000000 0.0000006 1.000000 0.0000007 2.000000 0.0000008 0.000000 0.0000009 0.000000 0.00000010 0.000000 0.000000模型三:目标函数:Max W=5*x1+4*x2+4*x3+3*x4+4*x5+3*x6+2*x7+2*x8+3*x9;约束条件:X1+x2+x3+x4+x5>=2X3+x5+x6+x8+x9>=3X4+x6+x7+x9>=22*x3-x1-x2<=0x4-x7<=02*x5-x1-x2<=0x6-x7<=0x8-x5<=02*x9-x1-x2<=0x1+x2+x3+x4+x5+x6+x7+x8+x9=6运用lingo解题:输入:max=5*x1+4*x2+4*x3+3*x4+4*x5+3*x6+2*x7+2*x8+3*x9;x1+x2+x3+x4+x5>=2;x3+x5+x6+x8+x9>=3;x4+x6+x7+x9>=2;2*x3-x1-x2<=0;x4-x7<=0;2*x5-x1-x2<=0;x6-x7<=0;x8-x5<=0;2*x9-x1-x2<=0;x1+x2+x3+x4+x5+x6+x7+x8+x9=6;@bin(x1);@bin(x2);@bin(x3);@bin(x4);@bin(x5);@bin(x6);@bin(x7);@bin(x9); 输出:Global optimal solution found.Objective value: 22.00000Extended solver steps: 0Total solver iterations: 0Variable Value Reduced CostX1 1.000000 -3.000000X2 1.000000 -2.000000X3 1.000000 -2.000000X4 0.000000 -1.000000X5 1.000000 -2.000000X6 1.000000 -1.000000X7 1.000000 0.000000X8 0.000000 0.000000X9 0.000000 -1.000000Row Slack or Surplus Dual Price1 22.00000 1.0000002 2.000000 0.0000003 0.000000 0.0000004 0.000000 0.0000005 0.000000 0.0000006 1.000000 0.0000007 0.000000 0.0000008 0.000000 0.0000009 1.000000 0.00000010 2.000000 0.00000011 0.000000 2.000000五.结果的检验与分析经过检验输入式子正确,结果多次验证一样。
网上选课系统需求建模

案例2:网上选课系统一、需求建模(一)需求捕获1、识别参与者:管理员、学生和数据库Delete Course图1:用例图5、编写用例描述在需求建模的初期,只需对重要的用例和对体系结构有影响的用例进行详细的编写用例描述。
用例编号:UC01用例名称:添加课程(AddCourse):主要参与者:管理员前置条件:管理员进入管理界面后置条件:管理员重新进入管理界面基本事件流:1 管理员选择进入登录界面,用例开始2 系统提示输入管理员密码3 管理员输入密码4 系统验证密码A1:密码错误5 进入管理界面,系统显示目前所建立的全部课程信息。
6 管理员选择添加课程7 系统提示输入新课程信息8 管理员输入信息9 系统验证是否和已有课程冲突A2:有冲突10 系统添加新课程,提示课程添加成功11 系统重新进入管理主界面,显示所有课程12 用例结束其他事件流A1:密码错误1 系统提示再次输入2 用户确认3 三次错误,拒绝再次访问4 否则进入添加课程事件流第5步A2:有冲突1 系统提示有冲突,显示冲突课程信息2 用户重新输入3 继续验证直到无冲突4 进入添加课程事件流第10步“删除课程”用例描述和“修改课程”用例描述与此类似。
用例编号:UC04用例名称:选课(SelectCourse)主要参与者:学生前置条件:学生进入选课界面后置条件:系统提示选课成功基本事件流:1 学生进入选课登录界面,用例开始。
2 系统提示输入学号和密码。
3 学生输入学号和密码。
4 系统验证A1:验证失败5 进入选课主界面6 学生点击选课7 系统显示所有课程信息 8 学生选择课程9 系统验证课程是否可选 A2:不可选10 系统提示课程选择成功,提示学生交费。
11 用例结束 错误流:A1:验证失败1 系统提示验证失败,提示重新进入。
2 三次失败,拒绝访问。
3 成功,转选课事件流5步。
A2:课程不可选1 系统提示课程不可选及原因。
2 学生重新选课3 重新验证直至成功。
数学建模-选课问题

数学建模-选课问题选课问题⼀、摘要⼤学⽣在学习中常会遇到选课问题,既要使⾃⼰所选择的课程符合⾃⼰的兴趣,⼜要⽤最少的课程达到最好的效果,最重要是满⾜学校所修课程的要求以达到毕业,有些课程必须在具备基础科⽬学习经历的前提下才能进⾏选择,,在这多种因素引导下选课过程往往发⽣⽭盾。
因此只有对各种因素进⾏周密考虑,最终⽅可得出最优化的结果。
选课所得到的结果必然为整数,因此本题可以可归结为整数线性规划的最优化问题。
⼆.问题重述某学校规定,其运筹学专业的学⽣想要毕业,就⾄少要修过两门数学课,三门运筹学课和两门计算机课。
⽽其备选课程供有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求解多⽬标规划模型,并将之前预测结果和求解结果进⾏⽐较,得到选课结果的最优化组合。
选课问题、数学建模

2013-2014第一学期数学建模课程设计题目:学生选课:金星班级:网络工程\2014年1月6日—1月10日一.模型摘要摘要:对于习惯了中小学课程(所有的课程由学校统一安排,而且科目从小学到高中有连续性)的大学新生来说,大学的课程多得令他们眼花缭乱,课程分类也比较复杂,因此选课对他们而言还是一件新鲜而陌生的事物。
但大学的学习与选课有莫大的关系,必须了解它,才能掌握主动权。
而要了解选课制,首先要对大学的课程设置有所认识。
大学的课程按大类来说一般分为必修课和选修课。
必修一般指学校或院系规定学生必须修习某课程,学校对必修课程一般有统一的要求和安排。
选修是指根据学生个人兴趣或专业需要自由选择修习某课程。
简言之,必修就是必须修读,选修就是选择性修读。
一般来说,基础性的知识都作为必修课程。
有些知识不是基础性的,与兴趣和研究方向有关,这部分知识可以选择。
这是大学与中学最大的不同之处。
本文针对关于大学生选课时所需要考虑到的问题,根据学校规定的要求达到的学分与每门课的学分多少,运用排列组合的知识建立模型,通过分析输出各种情况下所需的选课方案关键字:matlab,矩阵,排列组合二.问题重述某同学考虑下学期的选课,其中必修课只有一门(2学分),可供选修的限定选修课(限选课)有8门,任意选修课(任选课)有10门。
由于有些课程之间相按学校规定,学生每个学期选修的总学分数不能少于20学分,因此该同学必须在上述18门课中至少选修18个学分,学校还规定学生每学期选修任选课的比例不能少于所修总学分(包括2个必修学分)的1/6,也不能超过所修总学分的1/3。
学院也规定,课号为5,6,7,8的课程必须至少选一门。
1)为了达到学校和院系的规定,该同学下学期最少应该选几门课?应该选哪几门课?2)若考虑在选修最少学分的情况下,该同学最多可以选修几门课?选哪几门?三.模型假设(1)学生选修任何课程都是随机的,不存在主观意图。
实际生活中选课程是有主观意图的,但是本问题中不考虑这一点。
数学建模选课问题

1.问题提出对于问题一,我们必须考虑在学校和院系的规定的条件下对同学选课最少进行求解。
所以我们先从已知条件入手,把他们转化为约束条件,然后建立0-1整数优化模型,利用LINGO软件对其进行求解。
对于问题二,我们同样考虑在选修学分最少的情况下对同学选课最多进行求解。
但两者不能同时都满足,所以我们必须把这个双优化模型转化为单优化模型,然后再利用LINGO对其进行求解。
问题三则是考虑了选修课程限选人数的问题,所以必须针对不同的学生类型设计相应的选择方案。
同时考虑到选修的课程能否如愿选上,需要在已只知不同课程限选人数的情况下,利用对不同目标加权的方法对问题进行优化。
2符号说明与模型假设2.1符号说明表2:符号说明表注:其它符号在文中另加说明2.2模型假设(1):各个同学在选修课程时不受其他因素影响,只受学分和选修课程门数影响。
(2):学生选课是独立的,相互之间不影响。
(3):选课的学生有两种类型,一类是对这门课真正感兴趣的,另一类是“混学分”的,且这两类各占选课学生人数的一半。
(4):学生的信息是不公开的。
(5):问题三中没有提到的课程表示人数没有限制。
3模型建立和求解3.1问题一的解决3.1.1模型的建立用xi表示选修表中按照编号顺序的18门课程的选择(i=1,2,…18),其中xi 取值为1或者0。
其定义如下:采用目标规划的方法,考虑到学校的各种约束条件,将约束条件用数学表达式表示为一下几点:1:要使选修课程的总学分数不少于18,既有下面的不等式:2:任选课程的比例不能少于所修总学分的1/6,也不能超过1/3:3:课程号为5、6、7、8的课程必须至少选一门:4:选修某些课程必须同时选修其他课程,可以表示为:在达到以上要求的情况下,只考虑选修课程最少的情况,相应的目标函数为:在Lingo[1]中可以对该目标函数进行优化,其中约束条件为①②③④,由于上述条件中有大于关系,可以在两边乘以—1将约束条件全部转换成小于关系,这样便于在Lingo中求解.最后本文建立了如下的优化模型3.1.2模型的求解利用LINGO软件求解可以得到3.1.3问题一的结果最后本文得到了在学校和院系的要求下选课最少是选五门,选择方案是选择课程1,2,6,10,14。
学生选课系统UML分析建模

学生选课系统UML分析建模1.学生选课系统随着高校教学管理的系统化和计算机的网络化,以及学分制教学改革的加快,网上选课系统已成为教学教务管理的重要部分。
当前,高等院校正逐步实施学分制,学分制允许学生在一定范围内选择适合自己需要的课程,具有分散性、时间不确定性,难于人工调配与集中管理。
另外,随着各个高校扩招程度的加快,学生人数日益增加,造成教学资源比较紧张,这无疑增加了选课管理难度和教务管理人员的工作量。
传统基于集中式管理的选课无力适应这些新的变化,建立网上选课系统势在必行。
2.需求分析学生网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式——学生按照学校安排好的课程上课——已经不能适应新型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。
随着高校人数的增多,这种弊端会越来越多的暴露出来。
因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。
从教师的角度来说,同样是节省了大量的工作量,由于教师提出代课申请完成课程发布的工作较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。
作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。
以UML构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。
功能需求:选课系统主要是对学生信息,成绩信息,教师信息,课程信息进行管理和维护的功能。
对学生的功能,学生可以浏览个人的信息如学号,姓名,性别等,还可以查询成绩。
选课,可以查看课程信息,包括课程时间,类型,学时等,然后进行选课,并且可以查看教师,选课人数。
对管理员的需求,系统的日常维护,包括代码维护和数据维护。
数学建模选课实验报告(3篇)

第1篇一、实验背景随着社会的发展和科技的进步,数学建模作为一种解决实际问题的有效方法,被广泛应用于各个领域。
为了提高学生的数学建模能力和实际操作能力,我校开设了数学建模选修课程。
本实验旨在通过数学建模选课实验,探讨如何选择适合学生兴趣和实际需求的数学建模课程,以提高学生的学习效果。
二、实验目的1. 了解数学建模课程体系,明确课程设置原则;2. 掌握数学建模选课方法,提高学生选课的科学性;3. 分析数学建模课程对学生实际能力的培养效果。
三、实验方法1. 调查法:通过问卷调查、访谈等方式,了解学生对数学建模课程的需求和兴趣;2. 比较分析法:对比不同数学建模课程的教学内容、教学方法和考核方式,分析课程特点;3. 统计分析法:对实验数据进行分析,得出数学建模选课的科学方法。
四、实验步骤1. 收集数据:通过问卷调查、访谈等方式,收集学生对数学建模课程的需求和兴趣数据;2. 整理数据:对收集到的数据进行分析和整理,形成课程设置和选课建议的依据;3. 比较分析:对比不同数学建模课程的教学内容、教学方法和考核方式,分析课程特点;4. 制定选课方案:根据课程特点和学生的需求,制定数学建模选课方案;5. 实施选课方案:引导学生根据选课方案进行选课;6. 跟踪调查:对选课后的学生进行跟踪调查,了解选课效果。
五、实验结果与分析1. 学生需求分析根据问卷调查和访谈结果,学生普遍认为数学建模课程应具备以下特点:(1)课程内容与实际应用紧密结合;(2)教学方法多样化,注重学生动手能力和创新能力的培养;(3)考核方式合理,注重过程评价和结果评价相结合。
2. 课程设置分析根据学生需求,我校开设了以下数学建模课程:(1)基础数学建模;(2)应用数学建模;(3)高级数学建模;(4)数学建模竞赛辅导。
3. 选课方案制定根据课程特点和学生的需求,制定以下选课方案:(1)基础数学建模:面向所有学生,作为公共选修课;(2)应用数学建模:面向有一定数学基础的学生,作为专业选修课;(3)高级数学建模:面向对数学建模有浓厚兴趣的学生,作为选修课;(4)数学建模竞赛辅导:面向有意参加数学建模竞赛的学生,作为辅导课程。
选课问题、数学建模

2013-2014第一学期数学建模课程设计题目:学生选课姓名:刘金星班级:网络工程\2014年1月6日—1月10日一.模型摘要摘要:对于习惯了中小学课程(所有的课程由学校统一安排,而且科目从小学到高中有连续性)的大学新生来说,大学的课程多得令他们眼花缭乱,课程分类也比较复杂,因此选课对他们而言还是一件新鲜而陌生的事物。
但大学的学习与选课有莫大的关系,必须了解它,才能掌握主动权。
而要了解选课制,首先要对大学的课程设置有所认识。
大学的课程按大类来说一般分为必修课和选修课。
必修一般指学校或院系规定学生必须修习某课程,学校对必修课程一般有统一的要求和安排。
选修是指根据学生个人兴趣或专业需要自由选择修习某课程。
简言之,必修就是必须修读,选修就是选择性修读。
一般来说,基础性的知识都作为必修课程。
有些知识不是基础性的,与兴趣和研究方向有关,这部分知识可以选择。
这是大学与中学最大的不同之处。
本文针对关于大学生选课时所需要考虑到的问题,根据学校规定的要求达到的学分与每门课的学分多少,运用排列组合的知识建立模型,通过分析输出各种情况下所需的选课方案关键字:matlab,矩阵,排列组合二.问题重述某同学考虑下学期的选课,其中必修课只有一门(2学分),可供选修的限定选修课(限选课)有8门,任意选修课(任选课)有10门。
由于有些课程之间相按学校规定,学生每个学期选修的总学分数不能少于20学分,因此该同学必须在上述18门课中至少选修18个学分,学校还规定学生每学期选修任选课的比例不能少于所修总学分(包括2个必修学分)的1/6,也不能超过所修总学分的1/3。
学院也规定,课号为5,6,7,8的课程必须至少选一门。
1)为了达到学校和院系的规定,该同学下学期最少应该选几门课?应该选哪几门课?2)若考虑在选修最少学分的情况下,该同学最多可以选修几门课?选哪几门?三.模型假设(1)学生选修任何课程都是随机的,不存在主观意图。
实际生活中选课程是有主观意图的,但是本问题中不考虑这一点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xi 1
决策变量:学生是否选修第 i 门课程用 0-1 型变量 时表示选修了第 i 门课程。
count xi
i 1 10
xi
表示,课程数
。
约束条件:每位同学至少选修 2 门数学课,3 门运筹学课,2 门计算机课;选修 概率论必须选修微积分和线性代数,选修应用统计学必须选修概率论,选修最优 化方法必须选修微积分和线性代数,选修数学实验必须选修微积分、线性代数和 计算机编程, 选修数据结构必须选修计算机编程,选修计算机模拟必须选修计算
5.2 模型求解
5.2.1 问题 1 模型求解 输入如图 1 所示: 使用 lingo 软件对该数学模型进行求解。
图 1 问题 1 的求解语句
第 7 页 共 13 页
输出如图 2 所示:
图 2 问题 1 的求解结果
分析输出结果可知:仅考虑选课数目最少时,最佳选择方案为: 微积分、线性代数、最优化方法、计算机编程基础、数学实验、计算机模拟 5.2.2 问题 2 模型求解
3. 模型假设
此次分析不考虑学生个人兴趣这一因素。
第 4 页 共 13 页
4. 符号说明
course 为选修的课程的数组
count
为最终选课方案中选修课程的数目 为最终获得的学分
credit x a b
为选修课程的变量 为选修课程数量所占的权重 为最终能获得的学分所占的权重
5. 模型的建立与求解 5.1 模型建立
比如:
多目标规划求解主要有加权系数发和分层序列法,下面采用加权系数法求 解。 加权系数法是给两个目标设定不同的权重, 然后做成线性组合构成一个目标
第 8 页 共 13 页
函数。即令 z a count b credit ,其中 a 0 , b 0 ,且 a b 1 。 权重系数 a 和 b 反应两个目标之间相对的重要程度。 使用 lingo 软件对该数学模型进行求解。 输入如图 3 所示:
第 3 页 共 13 页
1. 问题重述
某学校规定, 运筹学专业的学生毕业时至少学习过两门数学课、三门运筹学 课和两门计算机课,那么: 毕业时学生最少可以学习哪些课程? 如果某个学生既希望选修最少课程,又希望所获得的学分多,他可以选修哪 些课程?
2. 问题分析
现在各大高校为了能够体现因材施教的原则,为了能够拓宽学生的知识面, 提高人才培养质量开设了选修课,让学生自主选择自己感兴趣的课程。 在这一措施下,学生选择课程的因素有很多,自己的兴趣、学校规定范围、 选修课程数量、最终可以获得的学分。
5.1.2 建立问题 2 模型 第 i 门课程,
xi 1
决策变量:学生是否选修第 i 门课程用 0-1 型变量 时表示选修了第 i 门课程。
count xi
i 1 10
xi
表示,
xi 0
时表示没有选
目标函数:总课程数 最终所获得的学分
,
credit 5 x1 3 x2 3 x3 4 x4 4 x5 2 x6 2 x7 4 x8 2 x9 3 x10
第 1 页 共 13 页
选修课程问题
摘要:
本文给出了选修课程系统中的课程选择的模型及算法。利用多目标规划和 0-1 规划对该问题进行分析求解。课程选择的主要因素依次考虑:选课的所属类 别、选课数量、总学分,通过比较,给出最佳的选课方案。 针对第一个小问题,运用 0-1 规划对问题进行分析求解 针对第二个小问题, 在第一个小问题的基础上,同时考虑选修课程所得的总 学分最高,运用多目标规划进行分析求解。 关键词:多目标规划 0-1 规划
0-1 型变量。 由此得到问题 1 的数学模型:
10 Min count xi i 1 Max credit 5 x 3 x 3 x 4 x 4 x 2 x 2 x 4 x 2 x 3 x 1 2 3 4 5 6 7 8 9 10
A 题 选修课程问题
某学校规定, 运筹学专业的学生毕业时至少学习过两门数学课,三门运筹学 课和两门计算机课,这些课程的编号、名称、学分、所属类别和先修课程要求如 表所示,那么毕业时学生最少可以学习这些课程中的哪些课程? 如果某个学生既希望选修最少课程,又希望所获得的学分多,他可以选修哪 些课程?
课程编号 1 2 3 4 5 6 7 8 9 10 课程名称 微积分 线性代数 概率论 应用统计学 最优化方法 计算机编程基础 数学实验 数据结构 计算机模拟 预测与决策 学分 5 3 3 4 4 2 2 4 2 3 所属类别 数学 数学 数学 数学、运筹学 数学、运筹学 计算机 运筹学、计算机 数学、计算机 运筹学、计算机 运筹学 微积分、线性代数、计算机编程 计算机编程 计算机编程 概率论、应用统计学 微积分、线性代数 概率论 微积分、线性代数 先修课程
约束条件:每位同学至少选修 2 门数学课,3 门运筹学课,2 门计算机课; 选修概率论必须选修微积分和线性代数,选修应用统计学必须选修概率论,选修 最优化方法必须选修微积分和线性代数,选修数学实验必须选修微积分、线性代 数和计算机编程, 选修数据结构必须选修计算机编程,选修计算机模拟必须选修
x 计算机编程,选修预测与决策必须选修概率论和应用统计学。另外, i 必须是
两个目标函数一个要最大,一个要最小,可以变成都求最大或都求最小。
10 Max count xi i 1 Max credit 5 x 3 x 3 x 4 x 4 x 2 x 2 x 4 x 2 x 3 x 1 2 3 4 5 6 7 8 9 10
x 机编程,选修预测与决策必须选修概率论和应用统计学。另外, i 必须是 0-1
型变量。 由此得到问题 1 的数学模型:
Min count x i
i 1 10
x1 x2 x3 x4 x5 x8 2
第 5 页 共 13 页
x4 x5 x7 x9 x10 3 x6 x7 x8 x9 2 x1 x2 2x3 0 x1 x2 2 x5 0 x1 x2 x 6 3 x7 0 x6 x8 0 x6 x9 0 x3 x4 0 x3 x4 2 x10 0
2.1 问题 1 分析
问题 1 要解决的是:选修课程最少。 解决问题 1 时,把选修课程数量作为主要因素,也就是说,在学校规定范围 内选修的课程数最少。
2.2 问题 2 分析
问题 2 要解决的是:选修课程最少且所获学分最多。 解决问题 2 时: 要将选修课程数目以及最终可以获得的学分都考虑在内。最 佳选课方案则需要看两者各自所占权重。最终得出最佳方案。
第 2 页 共 13 页
摘要:................................................................................................................................................. 2 1. 问题重述........................................................................................................................................ 4 2. 问题分析........................................................................................................................................ 4 2.1 问题 1 分析.......................................................................................................................... 4 2.2 问题 2 分析........................................................................................................................... 4 3. 模型假设........................................................................................................................................ 4 4. 符号说明........................................................................................................................................ 5 5. 模型的建立与求解........................................................................................................................ 5 5.1 模型建立............................................................................................................................... 5 5.1.1 建立问题 1 模型........................................................................................................5 5.1.2 建立问题 2 模型........................................................................................................6 5.2 模型求解............................................................................................................................... 7 5.2.1 问题 1 模型求解........................................................................................................7 5.2.2 问题 2 模型求解........................................................................................................8 6. 参考文献...................................................................................................................................... 13