数学建模例题.docx
- 文档编号:9973755
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:29
- 大小:488.60KB
数学建模例题.docx
《数学建模例题.docx》由会员分享,可在线阅读,更多相关《数学建模例题.docx(29页珍藏版)》请在冰豆网上搜索。
数学建模例题
河南工程学院
课程设计
《数学建模课程设计》
*******
学号:
2***********
学院:
理学院
专业班级:
信息与计算科学1242
专业课程:
数学建模课程设计
********
2014年6月16日
考核、评价项目
考核内容
得分
平时考核(30分)
出勤情况、实训态度、效率。
知识掌握情况、基本操作技能、知识应用能力、获取知识能力
实验一(12分)
完成此实验并获得实验结果
实验二(12分)
完成此实验并获得实验结果
实验三(12分)
完成此实验并获得实验结果
实验四(14分)
完成此实验并获得实验结果
文档资料(20分)
表达能力、文档写作能力、文档的规范性
合计
教师评语:
1.实验一优化问题及Lingo
1.1实验目的
1.根据题目建立优化模型
2.通过本题,熟悉lingo的优化求解操作
3.为暑假的数学建模比赛打基础
1.2实验思路
由题目分析可知,本题应为线性规划问题,需先找出决策变量,决策目标以及约束条件,并最终由lingo求出最优解。
1.3实验过程
1.问题重现
在甲乙双方的一场战争中,一部分加防部队被乙方部队包围长达4个月.由于乙方封锁了所有水陆交通通道。
被包围的甲方部队只能依靠空中交通维持供给。
运送四个月的供给分别需要2次,3次,3次,4次飞行,每次飞行编队由50架飞机组成(每架飞机需要3名飞行员),可以运送10万t物资。
每架飞机每个月只能飞行一次,每名飞行员每个月也只能飞行一次。
在执行完运输任务后返回途中有20%的飞机会被乙方部队击落,相应的飞行员也因此牺牲或失踪。
在第一个月开始时,甲方拥有110架飞机和330名熟练的飞行员。
在每个月开始时,甲方可以招聘新飞行员和购买新飞机。
新飞机必须经过一个月的检查后才可以投入使用,新飞行员必须在熟练飞行员的指导下经过一个月的训练才能投入飞行。
每名熟练飞行员可以作为教练每个月指导20名飞行员(包括他自己在内)进行训练。
每名飞行员在完成一个月的飞行任务后,必须有一个月的带薪假期,假期结束后才能再投入飞行。
已知各项费用(单位略去)如下表所示,请你为甲方安排一个飞行计划。
表1费用表
第一个月
第二个月
第三个月
第四个月
新飞机价格
200.0
195.0
190.0
185.0
闲置的熟练飞行员报酬
7.0
6.9
6.8
6.7
教练和新飞行员报酬
(包括培训费用)
10.0
9.9
9.8
9.7
执行飞行任务的熟练飞行员报酬
9.0
8.9
9.8
9.7
休假期间的熟练飞行员报酬
5.0
4.9
4.8
4.7
如果每名熟练飞行员可以作为教练每月指导不超过20名飞行员(包括他自己在内)进行训练,模型和结果有哪些改变?
2.问题分析
优化问题的目标是在完成任务的前提下使总费用最少,要做的决策是飞行计划,即购买新的飞机数量、闲置飞机数量、飞行中教练和新飞行员数量、闲置的熟练飞行员数量,决策受到飞机和飞行员数量限制。
因为执行飞行任务以及执行任务后休假的熟练飞行员数量是常数,所以这部分费用是固定的,在优化目标中可以不考虑。
3.模型建立
决策变量
设4个月开始时甲方新购买的飞机数量分别为x1,x2,x3,x4。
闲置的飞机数量分别为:
y1,y2,y3,y4,4个月中,飞行员中教练和新飞行员数量分别为u1,u2,u3,u4,闲置的熟练飞行员数量分别为v1,v2,v3,v4。
决策目标
总费用=新飞机价格费用+闲置的熟练飞行员报酬+教练和新飞行员报酬(包括培训费用)+执行飞行任务的熟练飞行员报酬+休假期间的熟练飞行员报酬
约束条件
飞机数量限制:
4个月中执行飞行任务的飞机分别为100,150,150,200架,但只有80,120,120,160架能够返回供下月使用。
第1个月
第2个月
第3个月
第4个月
飞行员数量限制:
4个月中执行飞行任务的熟练飞行员分别300,450,450,600人,但只有240,360,360,480人能够返回,下一个月定期休假
第1个月
第2个月
第3个月
第4个月
1.4实验结果
程序求解输出如下
图1:
lingo优化输出结果
即对应的最优解x1=60,x2=30,x3=80,x4=0,,y1=10,y2=0,y3=0,y4=0,u1=460,u2=220,u3=240,u4=0,v1=7,v2=6,v3=4,v4=4
图2:
lingo优化输出结果
第1个月购买新飞机60架,闲置熟练飞行员7人,教练23人。
第2个月购买新飞机30架,闲置熟练飞行员6人,教练11人。
第3个月购买新飞机80架,闲置熟练飞行员4人,教练12人。
第4个月购买新飞机0架,闲置熟练飞行员4人,教练0人
1.5相关程序
model:
min=200*x1+195*x2+190*x3+185*x4+10*(u1+w1)+9.9*(u2+w2)+9.8*(u3+w3)+9.7*(u4+w4)+7*v1+6.9*v2+6.8*v3+6.7*v4;
y1=10;
y1+x1-y2=70;
y2+x2-y3=30;
y3+x3-y4=80;
300+u1+v1=330;
450+u2+v2=u1+v1+w1;
450+u3+v3=u2+v2+240+w2;
600+u4+v4=u3+v3+360+w3;
w1<=20*u1;
w2<=20*u2;
w3<=20*u3;
@gin(x1);
@gin(x2);
@gin(x3);
@gin(x4);
@gin(y1);
@gin(y2);
@gin(y3);
@gin(y4);
@gin(u1);
@gin(u2);
@gin(u3);
@gin(u4);
@gin(v1);
@gin(v2);
@gin(v3);
@gin(v4);
@gin(w1);
@gin(w2);
@gin(w3);
@gin(w4);
end
mode2:
min=200*x1+195*x2+190*x3+185*x4+10*(u1+w1)+9.9*(u2+w2)+9.8*(u3+w3)+9.7*(u4+w4)+7*v1+6.9*v2+6.8*v3+6.7*v4;
y1=10;
y1+x1-y2=70;
y2+x2-y3=30;
y3+x3-y4=80;
300+u1+v1=330;
450+u2+v2=u1+v1+w1;
450+u3+v3=u2+v2+240+w2;
600+u4+v4=u3+v3+360+w3;
w1<=20*u1;
w2<=20*u2;
w3<=20*u3;
@gin(x1);
@gin(x2);
@gin(x3);
@gin(x4);
@gin(y1);
@gin(y2);
@gin(y3);
@gin(y4);
@gin(u1);
@gin(u2);
@gin(u3);
@gin(u4);
@gin(v1);
@gin(v2);
@gin(v3);
@gin(v4);
@gin(w1);
@gin(w2);
@gin(w3);
@gin(w4);
End
2.实验二统计回归模型
2.1实验目的
1.认识逐步回归方法。
2.掌握逐步回归的基本思路。
3.掌握如何用MATLAB求解逐步回归问题。
2.2实验思路
此题是一个关于建立教师薪金影响因素的回归模型。
可通过题目给出的数据做出散点图,找出变量与因变量之间是否呈线性关系。
建立线性回归模型,通过MATLAB软件求解,通过解出的数据进行分析。
2.3实验过程
1.问题重现
某地人事部门为研究中学教师的薪金与他们的资历、性别、教育程度及培训情况等因素之间的关系,要建立一个数学模型,分析人事策略的合理性,特别是考察女教师是否受到不公平的待遇,以及他们的婚姻状况是否会影响收入。
为此,从当地教师中随机选了3414位进行观察,然后从中保留了90个观察对象,得到了下表给出的相关数据。
尽管这些数据具有一定的代表性,但是仍有统计分析的必要。
现将表中数据的符号介绍如下:
Z——月薪(单位:
元);X1——工作时间(以月计);X2=1——男性,X2=0——女性;X3=1——男性或单身女性,X3=0——已婚女性;X4——学历(取值0-6,值越大表示学历越高);X5=1——受雇于重点中学,X5=0——其他;X6=1——受过培训的毕业生,X6=0——未受过培训的毕业生或受过培训的肄业生;X7=1——已两年以上未从事教学工作,X7=0——其他。
注意组合(X2,X3)=(1,1),(0,1),(0,0)的含义。
(1)进行变量选择,建立变量X1-X7与Z的回归模型(不一定包括每个自变量),说明教师的薪金与那些变量的关系密切,是否存在性别和婚姻上的差异。
为了数据处理上的方便,建议对薪金取对数后作为因变量。
(2)除了变量X1-X7本身之外,尝试将它们的平方项或交互项加入到模型中,建立更好的模型。
表2薪金表
编号
Z
X1
X2
X3
X4
X5
X6
X7
1
998
7
0
0
0
0
0
0
2
1015
14
1
1
0
0
0
0
3
1028
18
1
1
0
1
0
0
4
1250
19
1
1
0
0
0
0
…
…
…
…
…
…
…
…
…
90
2000
464
1
1
2
1
1
0
2.问题分析:
通过题目中所给的数据在EXCEL软件中做出散点图,可发现Xi(i=1,2…7)对薪金(Z)均呈线性关系,通过MATLAB求解可得到回归系数和置信区间等一系列的数据,对此进行分析,最终筛选出对薪金(Z)最显著的变量,建立统计回归模型。
3.模型假设
为简单起见,我们假设资历(年)和工作时间对薪金的作用是线性的,即资历每增加一年,薪金的增长是常数,随着工作时间的增长,薪金的增长也是常数。
4.模型的建立与求解
决策变量
(因)变量符号
工作时间(月)x1
性别x2
婚姻状况x3
学历x4
受聘单位x5
培训情况x6
资历x7
薪金Z
基本模型
第一问:
我们把题目中给出的所有相关变量都予以考虑,则这七个变量与薪金之间可建立多元线性回归模型一为
其中
(i=0,1,2…7)是带估计的回归系数,
是随机误差。
利用MATLAB软件对模型求解,求得
的值与置信区间以及检测统计量R2,P,F的值如下:
表3模型一的计算结果
参数
参数估计值
置信区间
β0
3.0648
[3.0363,3.0934]
β1
0.0007
[0.0006,0.0008]
β2
0.0041
[-0.0330,0.0411]
β3
-0.0011
[-0.0401,0.0378]
β4
0.0384
[0.0168,0.0599]
β5
0.009
[-0.0212,0.0393]
β6
0.0153
[-0.0479,0.0786]
β7
-0.0018
[-0.0345,0.0309]
由上表R2=0.7900,即因变量(薪金)的79.0%可由模型确定,F值远远超过F检验的临界值,P远小于a,因而模型从整体看是可用的。
但是存在一些问题,我们可以看到某些部分的置信区间包含0点,因此我们可以知道这些变量的影响是不显著的,我们把所有的相关变量都予以考虑,模型从整体上看是成立的,需要更进一步的优化模型,而个别异常点可以去掉,并且检查模型确保准确无误后,我们在MATLAB软件中运行stepwise命令,可以得到下图
图3模型一StepwiseRegression的最终结果图
由图可知,在模型中x2,x3,x5,x6,x7对因变量(薪金)的影响并不显著,x1,x4
对因变量的影响较显著。
,于是只保留x1和x4,并将它们的交互项和平方项加入,建立逐步线性回归方程(即模型二)如下
然后使用MATLAB软件求解模型二,得到
值与置信区间以及检测统计量R2,P,F的值如下
表4:
模型一的计算结果
参数
参数估计值
置信区间
β0
2.999
2.9776,3.0204]
β1
0.0019
[0.0016,0.0021]
β2
0.0598
[0.0291,0.0905]
β3
0
[-0.0000,-0.0000]
β4
-0.0046
[-0.0111,0.0019]
β5
0
[-0.0001,0.0001]
我们在MATLAB软件中运行stepwise命令,可以得到下图
图3模型二StepwiseRegression的最终结果图
通过新建模型中得到的数据,可以看到R2明显提高了,薪金Z的89.43%由模型确定。
P远小于0.05,F远超过临界值,回归模型更为显著,可靠度更高。
然后进行残差分析,在MATLAB软件中运行命令rcoplot得到如下残差图
图4残差分析图
在残差图中我们可以看到,除个别数据外,其他数据的残差离零点均较近,且残差的置信区间都不包含零点.这说明如下回归模型:
能较好地符合原始数据.而个别异常点可以去掉.说明第二个模型比较合理,具有实用性。
2.4实验结果
(1)用MATLAB软件的统计工具箱的stepwise命令做逐步回归,为了数据处理上的方便,令
得到如下回归模型:
且
,
,教师的薪金只与工作时间和学历的关系密切,不存在性别和婚姻状况上的差异。
(2)将它们的平方项和交互项加入到模型中,用逐步回归可以得到更好的回归模型,尽管x6和x7对于模型是“统计显著”的,说明培训和从事教学工作对薪金有影响,但是该两项对于
的贡献率很低,可以将它们从模型中移出,得到下面的模型
,此时
,
。
虽然模型的
的值没有很大提高,但F的值远大于模型一,而且自变量个数也变少了。
2.5相关程序
模型一用到的程序:
z=[99810151028125010281028101810721290120413521204110411181127125911271127109511131462118214041182159414591237123714961424142413471342131018141534143014391946221618341416205220872264220129921695179216901827260417201720215918522104185218522210226620271852185219952616232418522054261719481720260418521942202719421720204823341720194221172742274019422266243620672000]';
x1=[7141819191927303030313138414242424247525254545455666767757879919294103103103111114114114117139140154158159162167173174175199209209210213220222222223223227232235245253257260284287290308309319325326329337346355357380387403406437453458464]';
x2=[011100001000010110000100101001010000111110100110100100001001010001100110110111010111110001]';
x3=[011110001110010110001100101111110000111110100111100110111001110001110111110111010111111111]';
x4=[000000000020000000002000200000000020003440022450000200400000000003000300200000020002200002]';
x5=[001010000001000101000010111101010110011110111010100100101000001001100100111011010001110001]';
x6=[000000000010000000001000100000000010001110011110000100000000000001000100100000010001100001]';
x7=[000000100000000000110000000000001000000011011110011000000100000110010001010000011011100000]';
x=[x1,x2,x3,x4,x5,x6,x7];
y=log10(z);
x0=ones(90,1);
xx=[x0,x];
stepwise(x,y)
[b,bint,r,rint,stats]=regress(y,xx)
模型二用到的程序:
z=[99810151028125010281028101810721290120413521204110411181127125911271127109511131462118214041182159414591237123714961424142413471342131018141534143014391946221618341416205220872264220129921695179216901827260417201720215918522104185218522210226620271852185219952616232418522054261719481720260418521942202719421720204823341720194221172742274019422266243620672000]';
x1=[7141819191927303030313138414242424247525254545455666767757879919294103103103111114114114117139140154158159162167173174175199209209210213220222222223223227232235245253257260284287290308309319325326329337346355357380387403406437453458464]';
x4=[000000000020000000002000200000000020003440022450000200400000000003000300200000020002200002]';
x=[x1,x4,x1.^2,x4.^2,x1.*x4];
y=log10(z);
x0=ones(90,1);
xx=[x0,x];
stepwise(x,y)
[b,bint,r,rint,stats]=regress(y,xx)
3.实验三设计归还贷款的GUI界面
3.1实验目的
利用matlab设计GUI界面,即实现计算机的人机交互,用户通过直接点击界面图标实现对所需结果的控制。
3.2实验思路
根据等额本息的还款模式,用户可以直接输入贷款的总金额数,还款年限,月利率,通过matlab中的程序控制按钮,实现所需要的输入和输出。
3.3实验过程
(1)问题重现
根据等额本息的还款原理,编写出用matlab编写出相应的程序来控制界面上的控件,根据用户随意输入的贷款总金额,还款年限,月利率,输出相应的每月应还贷款数,以及总共所还的金额
(2)问题分析
等额本息还款:
每月以相同的额度偿还贷款本息,其中利息逐月递减,本金逐月递加。
等额本息还款公式推导:
设贷款总额为A,银行月利率为β,总期数为m(个月月还款额设为X,
则各个月所欠银行贷款为:
第一个月A(1+β)-X
第二个月[A(1+β)-X](1+β)-X=A(1+β)^2-X[1+(1+β)]
第三个月{[A(1+β)-X](1+β)-X}(1+β)-X=A(1+β)^3-X[1+(1+β)+(1+β)^2]
…
由此可得第n个月后所欠银行贷款为:
A(1+β)^n-X[1+(1+β)+(1+β)^2+…+(1+β)^(n-1)]=A(1+β)^n-X[(1+β)^n-1]/β
由于还款总期数为m,也即第m月刚好还完银行所有贷款,因此有:
A(1+β)^m-X[(1+β)^m-1]/β=0
由此求得:
X=Aβ(1+β)^m/[(1+β)^m-1]
即对应的计算公式为:
每月月供额=〔贷款本金×月利率×(1+月利率)^还款月数〕÷〔(1+月利率)^还款月数-1〕
总的还款金额=总还月限*每月月供
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 例题