数学选课策略建模论文

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目:选课策略数学模型

班级: xxxxx

2022年4月27日

姓名: xxx

学号:xxx

目录

一.摘要 (1)

二.问题描述 (2)

三.符号说明 (2)

四.模型的假设 (2)

五.问题分析 (3)

六.模型的建立与求解 (3)

七.模型的检验 (4)

八.参考文献 (5)

摘要

条件为解决学生选课问题最优解,本文利用0-1规划模型先找出目标函数,再列出约束条件,分三步骤对最终问题逐层分析化多目标规划为单目标规划,分别建立不同的模型,运用Matlab函数bintprog软件求解。从而解决学生既希望选修课程的数量少,又希望所获得的学分多的问题。

特点:根据以上分析,将模型分为以下两个

(1)只为了选修课程门数最少,而不管学分的多少,可建立单目标规划模型。

(2)在考虑课程最少的情况下,使学分最多;

模型一,选修课的课程最少,不考虑学分多少;约束条件只有:每人至少学习过2们数学课,3门运筹学课,2门计算机课和先修课。依此约束条件建立模型一。

模型二:在科目最少的基本前提下,使获得的学分尽可能得多,约束没变,化单目标为多目标求解。

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

二.问题描述

某学校规定,运筹学专业的学生毕业时必须至少学习过2门数学课、3门运筹学课和2门计算机课,这些课程的编号、名称、学分、所属类别和先修课要求如下表所示。

1、这些学生毕业时最少学习过这些课程中的哪些课程?

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

x i:表示选修的课程(x i=0表示不选,x i=1表示选i=1,2,3,4,5,6,7,8,9)。

四.模型的假设

1.学生只要选修就能通过;

2.每个学生都必须遵守规定。

五.问题分析

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

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

六.模型的建立及求解

1.模型一

用x i=1(0)表示选修(不选)按上表中编号顺序的9门课程的第i门课。

问题(1)决策目标为选修课程门数最少,即

Min z=Σj=19x i①

其约束条件包括

首先,每人最少要选2门数学课,3门运筹学课和2门计算机课,按表中课程类别划分可将此约束表示为

x1+x2+x3+x4+x5≥2 ②

x3+x5+x6+x8+x9≥3 ③

x4+x6+x7+x9≥2 ④

其次,某些课有先修课的要求,例如,数据结构的先修课是计算机编程,这意味着x4=1蕴涵x7=1,这个条件可表示为

x4≤x7或x4-x7≤0. ⑤

同理,最优化方法的先修课是微积分和线性代数的条件可表示为x3≤x1,x3≤x2,此二式可合并为一个不等式

2x3-x1-x2≤0. ⑥

另外有2x5-x1-x2≤0 ⑦

x6-x7≤0 ⑧

x8-x5≤0 ⑨

2x9-x1-x2≤0 ⑩

所以,选课策略问题(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 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

即应该选修微积分,线性代数,应用统计,计算机模拟,计算机编程,预测理论等6门课,最小选课门数是6。

2.模型二

问题(2)的数学模型与选课策略问题(1)的数学模型的约束条件完全一样;只是目标函数不同。要求“选课门数少而学分多”意味着同时要求两个决策目标:

Min z=Σj=19x i

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

值的大小体现决策者对每个目标的重视程度,例如,某同学觉得学分数和课程数是三七开,故把?取为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.1[8 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学分。

七.模型的检验

经过检验输入式子正确,结果多次验证一样。结果分析:

1.模型一的结果为x1=x2=x5=x6=x7=x8=1, x3=x4=x9=0即选修编号为1,2,5,6,7,8的选修课时,达到了选修课程门数最少的目标。应学习微积分,线性代数,应用统计,计算机模拟,计算机编程,预测理论等6门课程。

2.模型二的结果为x=[1 1 1 1 1 1 1 0 1],目标函数最小值 z=-2.8即选修除预测理论外的8门课,共计28学分。

八.参考文献

【1】母丽华周永芳,数学建模,科学出版社

【2】百度文库

相关文档
最新文档