数学建模实验指导书Word文档格式.docx
《数学建模实验指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《数学建模实验指导书Word文档格式.docx(21页珍藏版)》请在冰点文库上搜索。
实验三:
用Lingo求解大规模线性规划问题
4学时
掌握用Lingo求解大规模线性规划问题的方法。
求解全国大学生数学建模竞赛05年B题问题2:
DVD的分配。
会员每次租赁3张DVD,现在给出网站手上的100种DVD的现有张数和当前需要处理的1000位会员的在线订单,如何对这些DVD进行分配,才能使会员获得最大的满意度?
现有DVD张数和当前需要处理的会员的在线订单(表格格式示例)
DVD编号
D001
D002
D003
D004
…
DVD现有数量
10
40
15
20
会员在线订单
C0001
C0002
C0003
C0004
注:
D001~D100表示100种DVD,C0001~C1000表示1000个会员,会员的在线订单用数字1,2,…表示,数字越小表示会员的偏爱程度越高,数字0表示对应的DVD当前不在会员的在线订单中。
所有数据将可从
可建立如下0-1规划模型:
其中cij是偏爱指数,其中0改成-1,其他数字如果是c,则用11-c代替。
可参考如下运输问题代码:
model:
!
6发点8收点运输问题;
sets:
warehouses/wh1..wh6/:
capacity;
vendors/v1..v8/:
demand;
links(warehouses,vendors):
cost,volume;
endsets
目标函数;
min=@sum(links:
cost*volume);
需求约束;
@for(vendors(J):
@sum(warehouses(I):
volume(I,J))=demand(J));
产量约束;
@for(warehouses(I):
@sum(vendors(J):
volume(I,J))<
=capacity(I));
这里是数据;
data:
capacity=605551434152;
demand=3537223241324338;
cost=62674295
49538582
52197433
76739271
23957265
55228143;
enddata
end
实验四:
matlab函数拟合
掌握用matlab进行函数拟合的方法。
根据美国人口从1790年到1990年间的人口数据(如下表),确定人口指数增长模型(Logistic模型)中的待定参数,估计出美国2010年的人口,同时画出拟合效果的图形。
表1美国人口统计数据
年份
1790
1800
1810
1820
1830
1840
1850
人口(×
106)
3.9
5.3
7.2
9.6
12.9
17.1
23.2
1860
1870
1880
1890
1900
1910
1920
31.4
38.6
50.2
62.9
76.0
92.0
106.5
1930
1940
1950
1960
1970
1980
123.2
131.7
150.7
179.3
204.0
226.5
指数增长模型:
Logistic模型:
可参考拟合函数:
a=lsqcurvefit('
example_curvefit_fun'
a0,x,y);
实验五:
用matlab求解微分方程(组)
掌握用matlab求微分方程和微分方程组的数值解的方法。
求解书上P138,P139页的微分方程和微分方程组,画出书中图3、4、5、6、7、8。
要求解微分方程(组)dy/dt=f(t,y),可如下调用:
[T,Y]=ode45(f,[t0,tn],y0)
1.函数在求解区间[t0,tn]内,自动设立采样点向量T,并求出解函数y在采样点T处的样本值Y。
2.f是一个函数,要有两个参数,第一个参数是自变量t,第二个参数是因变量y。
3.y0=y(t0)给定方程的初值。
例:
求微分方程初值问题dy/dx=-2y/x+4x,y
(1)=2在[1,3]区间内的数值解,并将结果与解析解进行比较。
先建立一个该函数的m文件fxy1.m:
functionf=f(x,y)
f=-2.*y./x+4*x%注意使用点运算符
再输入命令:
[X,Y]=ode45('
fxy1'
[1,3],2);
X'
%显示自变量的一组采样点
Y'
%显示求解函数与采样点对应的一组数值解
(X.^2+1./X.^2)'
%显示求解函数与采样点对应的一组解析解
例:
求解常微分方程组初值问题在区间[0,2]中的解。
建立一个函数文件fxy2.m:
f
(1)=y
(2);
f
(2)=-x.*y
(2)+x.^2-5;
f=f'
;
在MATLAB命令窗口,输入命令:
fxy2'
[0,2],[5,6])
实验六:
matlab数值计算
掌握用matlab进行插值、拟合、方程求解等数值计算的方法。
1.某气象观测站测得某日6:
00-18:
00之间每隔2小时的温度如下:
试用三次样条插值求出该日6:
30,8:
30,10:
30,12:
30,14:
30,16:
30的温度。
2.已知lg(x)在[1,101]区间11个整数采样点x=1:
10:
101的函数值lg(x),试求lg(x)的5次拟合多项式p(x),并分别绘制出lg(x)和p(x)在[1,101]区间的函数曲线。
3.求以下非线性方程组的解:
4.求以下有约束最值:
●一维插值:
Y1=interp1(X,Y,X1,'
method'
)
1.函数根据X、Y的值,计算函数在X1处的值。
X、Y是两个等长的已知向量,分别描述采样点和样本值,X1是一个向量或标量,描述欲插值的点,Y1是一个与X1等长的插值结果。
method是插值方法,允许的取值有'
linear'
(线性插值)、'
nearest'
(最近插值)、'
spline'
(三次样条插值)、'
cubic'
(三次多项式插值),缺省值是'
。
●多项式拟合:
[P,S]=polyfit(X,Y,m)
2.函数根据采样点X和采样点函数值Y,产生一个m次多项式P及其在采样点的误差向量S。
3.其中X、Y是两个等长的向量,P是一个长度为m+1的向量。
●单变量非线性方程求解:
[x,fval]=fzero(f,x0,tol)
●[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
1.fun是一个函数文件functionf=fun(x)。
x0是初始值。
2.A,Aeq是一个矩阵;
b,beq是一个列向量。
Ax<
=b是不等式约束。
3.lb和ub是和x一样大小的列向量,规定每个分量的上下界。
4.nonlcon是函数文件,有特定格式function[c,ceq]=mycon(x),描述非线性约束c(x)和ceq(x)。
5.没有整数约束,0-1约束,敏感性分析。
实验七:
求解图论问题
把最短路径、最大流、最小生成树、旅行商、关键路径等图论问题转化为数学规划模型,并用Lingo进行求解。
把以下图从v0到v6最短路径问题转化为数学规划模型,并用Lingo进行求解。
最短路径问题的数学规划模型为:
实验八:
用matlab进行统计分析
用matlab计算基本统计量,常见概率分布的函数,参数估计,假设检验。
1、某校60名学生的一次考试成绩如下:
937583939185848277767795948991888683968179977875676968848381756685709484838280787473767086769089716686738094797877635355
1)计算均值、标准差、极差、偏度、峰度,画出直方图;
2)检验分布的正态性;
3)若检验符合正态分布,估计正态分布的参数并检验参数.
2、据说某地汽油的价格是每加仑115美分,为了验证这种说法,一位学者开车随机选择了一些加油站,得到某年一月和二月的数据如下:
一月:
119117115116112121115122116118109112119112117113114109109118
二月:
118119115122118121120122128116120123121119117119128126118125
1)分别用两个月的数据验证这种说法的可靠性;
2)分别给出1月和2月汽油价格的置信区间;
3)给出1月和2月汽油价格差的置信区间.
对随机变量x,计算其基本统计量的命令如下:
均值:
mean(x)
中位数:
median(x)
标准差:
std(x)
方差:
var(x)
偏度:
skewness(x)
峰度:
kurtosis(x)
实验九:
用matlab进行回归分析
掌握matlab进行回归分析的方法。
财政收入预测问题:
财政收入与国民收入、工业总产值、农业总产值、总人口、就业人口、固定资产投资等因素有关。
下表列出了1952-1981年的原始数据,试构造预测模型。
年份
国民收入(亿元)
工业总产值(亿元)
农业总产值(亿元)
总人口(万人)
就业人口(万人)
固定资产投资(亿元)
财政收入(亿元)
1952
598
349
461
57482
20729
44
184
1953
586
455
475
58796
21364
89
216
1954
707
520
491
60266
21832
97
248
1955
737
558
529
61465
22328
98
254
1956
825
715
556
62828
23018
150
268
1957
837
798
575
64653
23711
139
286
1958
1028
1235
65994
26600
256
357
1959
1114
1681
509
67207
26173
338
444
1079
66207
25880
380
506
1961
757
1156
434
65859
25590
138
271
1962
677
964
67295
25110
66
230
1963
779
1046
514
69172
26640
85
266
1964
943
1250
584
70499
27736
129
323
1965
1152
1581
632
72538
28670
175
393
1966
1322
1911
687
74542
29805
212
466
1967
1249
1647
697
76368
30814
156
352
1968
1187
1565
680
78534
31915
127
303
1969
1372
2101
688
80671
33225
207
447
1638
2747
767
82992
34432
312
564
1971
1780
3156
790
85229
35620
355
638
1972
1833
3365
789
87177
35854
354
658
1973
1978
3684
855
89211
36652
374
691
1974
1993
3696
891
90859
37369
655
1975
2121
4254
932
92421
38168
462
692
1976
2052
4309
955
93717
38834
443
657
1977
2189
4925
971
94974
39377
454
723
2475
5590
1058
96259
39856
550
922
1979
2702
6065
1150
97542
40581
890
2791
6592
1194
98705
41896
568
826
1981
2927
6862
1273
100072
73280
496
810
实验十:
用matlab进行随机模拟
1、编一个福利彩票电脑选号的程序。
在Matlab软件中,可以直接产生满足各种分布的随机数,命令如下:
1.产生mn阶[a,b]均匀分布U(a,b)的随机数矩阵:
unifrnd(a,b,m,n)
产生一个[a,b]均匀分布的随机数:
unifrnd(a,b)
2.产生mn阶[0,1]均匀分布的随机数矩阵:
rand(m,n)
产生一个[0,1]均匀分布的随机数:
rand
综合实验:
DVD在线租赁
6学时
通过求解全国大学生数学建模竞赛05年B题,掌握综合运用数学软件求解复杂问题的方法。
随着信息时代的到来,网络成为人们生活中越来越不可或缺的元素之一。
许多网站利用其强大的资源和知名度,面向其会员群提供日益专业化和便捷化的服务。
例如,音像制品的在线租赁就是一种可行的服务。
这项服务充分发挥了网络的诸多优势,包括传播范围广泛、直达核心消费群、强烈的互动性、感官性强、成本相对低廉等,为顾客提供更为周到的服务。
考虑如下的在线DVD租赁问题。
顾客缴纳一定数量的月费成为会员,订购DVD租赁服务。
会员对哪些DVD有兴趣,只要在线提交订单,网站就会通过快递的方式尽可能满足要求。
会员提交的订单包括多张DVD,这些DVD是基于其偏爱程度排序的。
网站会根据手头现有的DVD数量和会员的订单进行分发。
每个会员每个月租赁次数不得超过2次,每次获得3张DVD。
会员看完3张DVD之后,只需要将DVDa放进网站提供的信封里寄回(邮费由网站承担),就可以继续下次租赁。
请考虑以下问题:
1)网站正准备购买一些新的DVD,通过问卷调查1000个会员,得到了愿意观看这些DVD的人数(表1给出了其中5种DVD的数据)。
此外,历史数据显示,60%的会员每月租赁DVD两次,而另外的40%只租一次。
假设网站现有10万个会员,对表1中的每种DVD来说,应该至少准备多少张,才能保证希望看到该DVD的会员中至少50%在一个月内能够看到该DVD?
如果要求保证在三个月内至少95%的会员能够看到该DVD呢?
2)表2中列出了网站手上100种DVD的现有张数和当前需要处理的1000位会员的在线订单(表2的数据格式示例如下表2,具体数据请从
3)继续考虑表2,并假设表2中DVD的现有数量全部为0。
如果你是网站经营管理人员,你如何决定每种DVD的购买量,以及如何对这些DVD进行分配,才能使一个月内95%的会员得到他想看的DVD,并且满意度最大?
(一次分配,DVD数量不够,需要进行二次分配)
4)如果你是网站经营管理人员,你觉得在DVD的需求预测、购买和分配中还有哪些重要问题值得研究?
请明确提出你的问题,并尝试建立相应的数学模型。
表1对1000个会员调查的部分结果
DVD名称
DVD1
DVD2
DVD3
DVD4
DVD5
愿意观看的人数
200
100
50
25
表2现有DVD张数和当前需要处理的会员的在线订单(表格格式示例)
(注:
表2数据位于文件B2005Table2.xls中,可从
对于问题1,在确定情况下,可假设10万人中有2万人愿意观看DVD1。
设需要N张DVD1,则由
,可以解出N=6250。
在随机情况下,DVD1的需求数量是一个随机变量,满足二项分布:
其中,n为网站会员总数10万;
p为每个会员想看DVD1的概率200/1000。
在95%的置信水平上,假设至多有M个会员想看DVD1:
要求求解出M,并画出如下图形:
图1DVD1准备的数量与满足题目条件的概率关系
图2DVD1准备的数量与在95%的概率意义上所能满足题目条件的关系
对于问题2,可建立如下0-1规划模型:
求解以上模型,列出前30个会员具体的分配方案,并画出如下图形:
图3问题2分配方案中会员的相对满意度
对于问题3:
网站购买的DVD越多(网站的满意度越小),会员的满意度也就越大。
对于每种DVD来说,越多人想看并且修正偏爱指数越高的DVD应该准备得越多。
假设每种DVD需要购买的数量和该DVD的对应的非负修正偏爱指数的总和成正比:
计算出具体比例并画出如下图形:
图4各种DVD的购买比率
于是,如果确定了DVD总数,我们便可以确定购买方案,并且可以用问题2中的0-1规划模型进行第一次分配。
然而,由于我们并不能确切知道分配半个月内哪些会员归还了DVD,所以估算会员的满意度有一定困难。
我们在第一次分配之后,随机产生60%的会员半个月内归还DVD,然后再次用0-1规划模型进行下一次分配,最终计算得出满意度。
由于所给数据的均匀性,对于半个月内哪60%的会员归还DVD进行第二次分配对会员的满意度的影响很小。
要求按此思路计算出如下图表:
DVD总数
606
1000
1500
2000
2300
2500
3000
3200
3500
一个月的满意度
0.249