选课策略模型摘要本文主要对选修课策略提出规划方案,分析题中所给数据可知,这是一个最优规划问题,规划方案的结论将作为学生选修课的参考依据。先找出目标函数,再列出约束条件,对于本题通过目标不同建立关系式就不同,从而建立模型。模型建立起来后,运用LINGO软件求解,得到最优解,使其所选修课程的数量少,又能获得的学分多。特色:通过对题的讨论,可以分成以下几种情况,(1)只考虑尽可能获得最多的学分,而不考虑所选修的课程的多少;(2)在考虑课程最少的情况下,使学分最多;(3)同时考虑学分最多和选修科目最少,并且所占比例三七分。在不同的情况下建立不同的模型,最终计算出结果。模型一,选修课的课程最少,学分栏忽略;约束条件只有,每人至少学习2门数学,3门运筹学,2门计算机,和先修课的要求建立模型一。模型二:在考虑科目最少的情况下,获得的学分尽可能得多,只是目标函数变了,约束条件没变。模型三:同时考虑课程最少和所获得的学分最多,并按3:7的重要性建立模型。关键词0-1规划选修课要求多目标规划一.问题的重述某学校规定,运筹学专业的学生毕业时必须至少学过两门数学课,三门运筹学课,两门计算机。这些课程的编号,名称,学分,所属类别和选修课的要求如表所示。那么,毕业时最少可以学习这些课程中的哪些课程。如果某个学生即希望选修课程的数量最少,又希望所获得的学分最多,他可以选修哪些课程?课程编号课程名称学分所属类别先修课要求1微积分5数学2线性代数4数学3最优化方法4数学;运筹学微积分;线性代数4数据结构3数学;计算机计算机编程5应用统计4数学;运筹学微积分;线性代数6计算机模拟3计算机;运筹学计算机编程7计算机编程2计算机8预测理论2运筹学应用统计9数学实验3运筹学;计算机微积分;线性代数二.模型的假设及符号说明1.模型假设1)学生只要选修就能通过;2)每个学生都必须遵守规定;2.符号说明1)xi:表示选修的课程(xi=0表示不选,xi=1表示选i=1,2,3,4,5,6,7,8,9);三.问题分析对于问题一,在忽略所获得学分的高低,只考虑课程最少,分析题目,有先修课要求,和最少科目限制,建立模型一,计算求出结果;对于问题二,在模型一的条件下,考虑分数最高,把模型一的结果当做约束条件,建立模型二,计算求出结果;对于问题三,同时考虑两者,所占权重比一样。建立模型三;四.模型的建立及求解1.模型一:目标函数:minz=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);输出:Globaloptimalsolutionfound.Objectivevalue:6.000000Extendedsolversteps:0Totalsolveriterations:1VariableValueReducedCostX11.0000001.000000X21.0000001.000000X31.0000001.000000X40.0000001.000000X50.0000001.000000X61.0000001.000000X71.0000001.000000X80.0000001.000000X91.0000001.000000RowSlackorSurplusDualPrice16.000000-1.00000021.0000000.00000030.0000000.00000041.0000000.00000050.0000000.00000061.0000000.00000072.0000000.00000080.0000000.00000090.0000000.000000100.0000000.000000模型二:目标函数:MaxW=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);输出:Globaloptimalsolutionfound.Objectivevalue:22.00000Extendedsolversteps:0Totalsolveriterations:0VariableValueReducedCostX11.000000-3.000000X21.000000-2.000000X31.000000-2.000000X40.000000-1.000000X51.000000-2.000000X61.000000-1.000000X71.0000000.000000X80.0000000.000000X90.000000-1.000000RowSlackorSurplusDualPrice122.000001.00000022.0000000.00000030.0000000.00000040.0000000.00000050.0000000.00000061.0000000.00000070.0000000.00000080.0000000.00000091.0000000.000000102.0000000.000000110.0000002.000000模型三目标函数: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*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;模型的求解:输入: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*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;@bin(x1);@bin(x2);@bin(x3);@bin(x4);@bin(x5);@bin(x6);@bin(x7);@bin(x9);输出:Globaloptimalsolutionfound.Objectivevalue:-2.800000Extendedsolversteps:0Totalsolveriterations:0VariableValueReducedCostX11.000000-0.8000000X21.000000-0.5000000X31.000000-0.5000000X41.000000-0.2000000X51.000000-0.5000000X61.000000-0.2000000X71.0000000.1000000X80.0000000.1000000X91.000000-0.2000000RowSlackorSurplusDualPrice1-2.800000-1.00000023.0000000.00000031.0000000.00000042.0000000.00000050.0000000.00000060.0000000.00000070.0000000.00000080.0000000.00000091.0000000.000000100.0000000.000000五.结果的检验与分析经过检验输入式子正确,结果多次验证一样。结果分析:模型一分析:模型一的结果为x1=x2=x3=x6=x7+x9=1即选修编号为1,2,3,6,7,9的选修课时达到了,在选修课的课程最少。最少为6门。模型二分析:模型二的结果为x1=x2=x3=x5=x6=x7=1即选修编号为1,2,3,5,6,7的选修课时达到了,在选修课程最少的情况下,尽可能的分数最多,最多为22学分。模型三分析:课程数与学分数按权重三七分,结果为x1+x2+x3+x4+x5+x6+x7+x9=1即只有编号为8的不用选修,共28学分。六.模型的评价与推广本文运用了0-1规划解决了学修课选择的难题,但是还没有建立满足不同需要的学生,还需要进一步的建立模型和计算。如建立以学分最多为目标的模型,或建立以课程数和学分数等权重的模型。解决不同的问题。七.参考文献【1】姜启源谢金星叶俊,数学模型,高等教育出版社,2003年8月