1、选课策略信息与计算科学 一、 问题描述某学校规定,运筹学专业的学生毕业时必须至少学习两门数学课、三门运筹学课和两门计算机课。这些课程的编号、名称、学分、所属类别和选修课要求如下表。1、为了选修课程门数最少,应学习哪些课程?2、如果某个学生既希望选修课程的数量少,又希望所获得的学分多,他可以选择哪些课程?课程编号 课程名称 学分 所属类别 先修课要求1 微积分 5 数学2 线性代数 4 数学3 最优化方法 4 数学;运筹学 微积分;线性代数4 数据结构 3 数学;计算机 计算机编程5 应用统计 4 数学;运筹学 微积分;线性代数6 计算机模拟 3 计算机;运筹学计算机编程7 计算机编程 2 计算
2、机8 预测理论 2 运筹学 应用统计9 数学实验 3 运筹学;计算机微积分;线性代数二、 模型的假设及符号说明. 模型假设)学生只要选修就能通过;)每个学生都必须遵守规定. 符号说明xi:表示选修的课程(xi=0 表示不选,xi=1 表示选i=1,2,3,4,5,6,7,8,9) 。三、 问题分析问题一,在忽略所获得学分的高低,只考虑课程最少,分析题目,有先修课要求,和最少科目限制,建立模型一,计算求出结果;问题二,在模型一的条件下,考虑分数最高,把模型一的结果当做约束条件,建立模型二,计算求出结果。四、 模型的建立及求解.模型一目标函数:min z=x1+x2+x3+x4+x5+x6+x7+
3、x8+x9约束条件:)x1+x2+x3+x4+x5=2)x3+x5+x6+x8+x9=3)2*x5-x1-x2=2)x4-x7=2;x3+x5+x6+x8+x9=3;2*x5-x1-x2=2;x4-x7=2)x3+x5+x6+x8+x9=3)x4+x6+x7+x9=2)2*x3-x1-x2=2;x3+x5+x6+x8+x9=3;x4+x6+x7+x9=2;2*x3-x1-x2=0;2*x5-x1-x2=0;2*x9-x1-x2=0;x4-x7=0;x6-x7=0;x8-x5=0;bin(x1);bin(x2);bin(x3);bin(x4);bin(x5);bin(x6);bin(x7);bi
4、n(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
5、.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五、 模型的检验经过检验输入式子正确,结果多次验证一样。结果
6、分析:模型一的结果为 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 学分。应选择微积分,线性代数,最优化方法,应用统计,计算机模拟,计算机编程。本文运用了 0-1 规划解决了选修课选择的问题,但是还没有建立满足不同需要的学生,还需要进一步的建立模型和计算。如建立以学分最多为目标的模型,或建立以课程数和学分数等权重的模型。解决不同的问题