《数学选课策略建模论文.doc》由会员分享,可在线阅读,更多相关《数学选课策略建模论文.doc(8页珍藏版)》请在课桌文档上搜索。
1、 . . 班 级: 姓 名: 学 号: 题目:选课策略数学模型- 5 - / 8目录一摘要.1二问题描述.2三符号说明.2四模型的假设.2五问题分析.3六模型的建立与求解.3七模型的检验.4八参考文献.5摘要条件为解决学生选课问题最优解,本文利用0-1规划模型先找出目标函数,再列出约束条件,分三步骤对最终问题逐层分析化多目标规划为单目标规划,分别建立不同的模型,运用Matlab函数bintprog软件求解。从而解决学生既希望选修课程的数量少,又希望所获得的学分多的问题。特点:根据以上分析,将模型分为以下两个(1)只为了选修课程门数最少,而不管学分的多少,可建立单目标规划模型。(2)在考虑课程最
2、少的情况下,使学分最多; 模型一,选修课的课程最少,不考虑学分多少;约束条件只有:每人至少学习过2们数学课,3门运筹学课,2门计算机课和先修课。依此约束条件建立模型一。 模型二:在科目最少的基本前提下,使获得的学分尽可能得多,约束没变,化单目标为多目标求解。关键词:0-1规划 选修课要求 单目标规划 多目标规划二问题描述某学校规定,运筹学专业的学生毕业时必须至少学习过2门数学课、3门运筹学课和2门计算机课,这些课程的编号、名称、学分、所属类别和先修课要求如下表所示。1、这些学生毕业时最少学习过这些课程中的哪些课程?2、如果某个学生既希望选修课程的数量少,又希望所获得的学分多,他可以选择哪些课程
3、?课程编号课程名称学分所属类别先修课程编号1微积分5数学2线性代数4数学3最优化方法4数学;运筹学1,24数据结构3数学;计算机75应用统计4数学;运筹学1,26计算机模拟3计算机;运筹学77计算机编程2计算机8预测理论2运筹学59数学实验3运筹学;计算机1,2三符号说明xi:表示选修的课程(xi=0表示不选,xi=1表示选i=1,2,3,4,5,6,7,8,9)。4 模型的假设1.学生只要选修就能通过;2.每个学生都必须遵守规定。5 问题分析问题一,在忽略所获得学分的高低,只考虑课程最少,分析题目,有先修课要求,和最少科目限制,建立模型一,计算求出结果;问题二,在模型一的条件下,考虑分数最高
4、,把模型一的结果当做约束条件,建立模型二,计算求出结果。6 模型的建立与求解1. 模型一用xi=1(0)表示选修(不选)按上表中编号顺序的9门课程的第i门课。问题(1)决策目标为选修课程门数最少,即 Min z=j=19xi其约束条件包括首先,每人最少要选2门数学课,3门运筹学课和2门计算机课,按表中课程类别划分可将此约束表示为x1+x2+x3+x4+x52 x3+x5+x6+x8+x93 x4+x6+x7+x92 其次,某些课有先修课的要求,例如,数据结构的先修课是计算机编程,这意味着x4=1蕴涵x7=1,这个条件可表示为 x4x7或x4-x70. 同理,最优化方法的先修课是微积分和线性代数
5、的条件可表示为x3x1,x3x2,此二式可合并为一个不等式 2x3-x1-x20. 另外有2x5-x1-x20 x6-x70 x8-x50 2x9-x1-x20 所以,选课策略问题(1)的数学模型就是:只取值0或1的9个决策变量x1,x9,满足约束条件-,并使目标函数取最小值的0-1线性规划模型。运用Matlab函数bintprog求解: 首先,把约束条件-标准化为 -x1-x2-x3-x4-x5-2 -x3-x5-x6-x8-x9-3 -x4-x6-x7-x9-2 其次,输入数据 A=-1 -1 -1 -1 -1 0 0 0 0;0 0 -1 0 -1 -1 0 -1 -1;0 0 0 -1
6、 0 -1 -1 0 -1;-1 -1 2 0 0 0 0 0 0; 0 0 0 1 0 0 -1 0 0;-1 -1 0 0 2 0 0 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=;beq=; f=1 1 1 1 1 1 1 1 1; 核对输入数据正确之后,键入以下行命令: x z=bintprog(f,A,b,Aeq,beq)由屏幕最后显示结果得: 最优解 x1=x2=x5=x6=x7=x8=1, x3=x4=x9=0 目标函数最小值 z=6即应该选修
7、微积分,线性代数,应用统计,计算机模拟,计算机编程,预测理论等6门课,最小选课门数是6。2. 模型二问题(2)的数学模型与选课策略问题(1)的数学模型的约束条件完全一样;只是目标函数不同。要求“选课门数少而学分多”意味着同时要求两个决策目标: Min z=j=19xi Max w=5x1+4x2+4x3+3x4+4x5+3x6+2x7+2x8+3x9所以,问题(2)的数学模型是满足约束条件-并有双目标Min z和Max w 的0-1线性规划。把双目标归结为一个单目标,即令y=z+(1-)w,为闭区间0,1中任一数,并取决策目标为(Max w=Min(-w) Min y=z-(1-)w值的大小表
8、达决策者对每个目标的重视程度,例如,某同学觉得学分数和课程数是三七开,故把取为0.7,决策目标为 Min y=0.7z-0.3w =-0.1(8x1+5x2+5x3+2x4+5x5+2x6-x7-x8+2x9)用Matlab函数bintprog求解这个问题时,与前面求解问题(1)时的 A,b,Aeq,beq数据完全一样,只需把f改为 f=-0.18 5 5 2 5 2 -1 -1 2;后,再执行行命令bintprog=(f,A,b,Aeq,beq)即可得出最优解 x=1 1 1 1 1 1 1 0 1,目标函数最小值 z=-2.8即选修除预测理论外的8门课,共计28学分。 7 模型的检验经过检验输入式子正确,结果多次验证一样。结果分析:模型一的结果为x1=x2=x5=x6=x7=x8=1, x3=x4=x9=0即选修编号为1,2,5,6,7,8的选修课时,达到了选修课程门数最少的目标。应学习微积分,线性代数,应用统计,计算机模拟,计算机编程,预测理论等6门课程。模型二的结果为x=1 1 1 1 1 1 1 0 1,目标函数最小值 z=-2.8即选修除预测理论外的8门课,共计28学分。八参考文献1母丽华 周永芳,数学建模,科学2百度文库 Matlab wenku.baidu.