数学建模选修课策略模型.docx

数学建模选修课策略模型.docx
数学建模选修课策略模型.docx

黑龙江科技大学

题目:选课策略数学模型

班级:

姓名:

学号:

摘要

本问题要求我们为了解决学生最优选课问题,本文利用0-1 规划模型先找出目标函数,再列出约束条件,分三步得出对最终问题逐层分析化多目标规划为单目标规划,从而建立模型,模型建立之后,运用LINGO软件求解,得到最优解,满足同学选修课程的数量少,又能获得的学分多。

特点:根据以上分析,特将模型分成以下几种情况,(1)考虑获得最多的学分,而不考虑所选修的课程的多少;(2)考虑课程最少的情况下,使得到的学分最多;(3)同时考虑学分最多和选修科目最少,并且所占比例三七分。在不同的情况下建立不同的模型,最终计算出结果。

关键词0-1 规划选修课要求多目标规划

模型一:同时要求课程最少而且获得的学分最多,并按3:7 的重要性建立模型。

模型二:要求选修课的课程最少,学分忽略;约束条件只有,每人至少学习 2 门数学, 3 门运筹学, 2 门计算机,和先修课的要求建立模型一。

模型三:要求科目最少的情况下,获得的学分尽可能最多,只是目标函数变了,

约束条件没变。

一.问题的重述

某学校规定,运筹学专业的学生毕业时必须至少学过两门数学课,三门运筹学课 , 两

门计算机。这些课程的编号,名称,学分,所属类别和选修课的要求如表所示。那么,毕业

时最少可以学习这些课程中的哪些课程。

如果某个学生即希望选修课程的数量最少,又希望所获得的学分最多,他可以选修哪些课程?

课程编号课程名称学分所属类别先修课要求1微积分5数学

2线性代数4数学

3最优化方法4数学;运筹学微积分;线性代数

4数据结构3数学;计算机计算机编程

5应用统计4数学;运筹学微积分;线性代数

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);

三.问题分析

对于问题一,在忽略所获得学分的高低,只考虑课程最少,分析题目,有先修课要求,和最少科目限制,建立模型一,计算求出结果;

对于问题二,在模型一的条件下,考虑分数最高,把模型一的结果当做约束条件,建立模型二,计算求出结果;

对于问题三,同时考虑两者,所占权重比一样, 建立模型三;

四.模型的建立及求解

模型一

目标函数:

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);输出:

Global optimal solution found.

Objective value:-2.800000

Extended solver steps:0

Total solver iterations:0

Variable Value Reduced Cost

X1 1.000000-0.8000000

X2 1.000000-0.5000000

X3 1.000000-0.5000000

X4 1.000000-0.2000000

X5 1.000000-0.5000000

X6 1.000000-0.2000000

X7 1.0000000.1000000

X80.0000000.1000000

X9 1.000000-0.2000000

Row Slack or Surplus Dual Price

1-2.800000-1.000000

2 3.0000000.000000

3 1.0000000.000000

4 2.0000000.000000

50.0000000.000000

60.0000000.000000

70.0000000.000000

80.0000000.000000

9 1.0000000.000000

100.0000000.000000

1.模型二:目

标函数:

min z=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

模型的求解

输入

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.000000

Extended solver steps:0

Total solver iterations:1

Variable Value Reduced Cost

X1 1.000000 1.000000

X2 1.000000 1.000000

X3 1.000000 1.000000

X40.000000 1.000000

X50.000000 1.000000

X6 1.000000 1.000000

X7 1.000000 1.000000

X80.000000 1.000000

X9 1.000000 1.000000

Row Slack or Surplus Dual Price

1 6.000000-1.000000

2 1.0000000.000000

30.0000000.000000

4 1.0000000.000000

50.0000000.000000

6 1.0000000.000000

7 2.0000000.000000

80.0000000.000000

90.0000000.000000

100.0000000.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>=2

X3+x5+x6+x8+x9>=3

X4+x6+x7+x9>=2

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

运用 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.00000

Extended solver steps:0

Total solver iterations:0

Variable Value Reduced Cost

X1 1.000000-3.000000

X2 1.000000-2.000000

X3 1.000000-2.000000

X40.000000-1.000000

X5 1.000000-2.000000

X6 1.000000-1.000000

X7 1.0000000.000000

X80.0000000.000000

X90.000000-1.000000

Row Slack or Surplus Dual Price

122.00000 1.000000

2 2.0000000.000000

30.0000000.000000

40.0000000.000000

50.0000000.000000

6 1.0000000.000000

70.0000000.000000

80.0000000.000000

9 1.0000000.000000

110.000000 2.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】刘峰葛照强,数学建模,南京大学出版社, 2005 年

【2】何勇杨启帆谈之奕,数学建模,浙江大学出版社, 2005 年

【3】姜启源谢金星叶俊,数学模型,高等教育出版社, 2003 年 8 月

【4】王庚实用计算机数学建模,安徽大学出版社, 2000 年

相关主题
相关文档
最新文档