《数学建模》(章绍辉 著)参考解答
- 格式:pdf
- 大小:210.00 KB
- 文档页数:4
1. 对于不允许缺货的确定性静态库存模型,做灵敏度分析,讨论参数1p 、2p 和r 的微小变化对最优订货周期T *和最优订货量Q *的影响. 解答因为最优订货周期T *=111111(,)22p TS T p p p T***∂===∂22211(,)22p TS T p p p T***∂==-=-∂11(,)22TrS T r rr T***∂==-=-∂可见,1p 增加1%,T *增加0.5%;2p 或r 增加1%,T *都减少0.5%. 所以参数1p ,2p ,r 的微小变化对T *的影响是很小的.因为最优订货量Q *=,所以111111(,)22p QS Q p p p Q***∂===∂22211(,)22p QS Q p p p Q***∂==-=-∂11(,)22QrS Q r rr Q***∂===∂可见,1p 或r 增加1%,Q *都增加0.5%;2p 增加1%,Q *减少0.5%. 所以参数1p ,2p ,r 的微小变化对Q *的影响是很小的.2. 某配件厂为装配线生产若干种部件. 每次轮换生产不同的部件时,因更换设备要付生产准备费(与生产数量无关). 同一部件的产量大于需求时,因积压资金、占用仓库要付库存费. 今已知某一部件的日需求量100件,生产准备费5000元,库存费每日每件1元. 如果生产能力远大于需求,并且不允许出现缺货,请制定最优生产计划.解答 依题意,每生产一次该种部件因更换设备而产生的生产准备费为15000p =元,每天每一个部件的库存费为21p =元,该种部件的日需求量为r =100件. 用EOQ 公式计算,得:最优生产周期10T *=天,每次生产1000Q *==件.3. 某商场把销售所剩的空纸皮箱压缩并打成包准备回收,每天能产生5包,在商场后院存放的费用是每包每天10元. 另一家公司负责将这些纸包运送到回收站,要收取固定费用1000元租装卸车,外加运输费每包100元. 请制定运送纸包到回收站的最优策略.解答 依题意,每运送一次纸包的固定费用为11000p =元,每天每一个纸包的库存费为210p =元,每天需要运送的纸包为r =5包. 用EOQ 公式计算,得:最优运输周期6T *=天,每次运送5630Q *=⨯=包.4. 某旅馆把毛巾送到外面的清洗店去洗. 旅馆每天有600条脏毛巾要洗,清洗店定期上门来收取这些脏毛巾,并换成洗好的干净毛巾. 清洗店清洗毛巾的标准收费每条2元,但是如果旅馆一次给清洗店至少2500条毛巾,清洗店清洗毛巾的收费为每条1.9元. 清洗店每一次取送服务都要收取上门费250元. 旅馆存放脏毛巾的费用是每天每条0.1元. 旅店应该如何使用的清洗店的取送服务呢?解答 依题意,清洗店每一次取送服务固定收取上门费1250p =元,旅馆存放脏毛巾每天每条的费用是20.1p =元,每天需要洗的脏毛巾数目为r =600条. 记旅馆每次给清洗店清洗的脏毛巾数目为Q 条,则清洗店清洗毛巾的价格(元/条)为:100022 , 25001.9, 2500p Q p p Q =<⎧=⎨=≥⎩如果2500Q≥,则取送服务的周期5TQ r =≥天. 因此,每天的总费用为11201022+, 1,2,3,42+, 52p p rT p r T T C p p rT p r T T ⎧+=⎪⎪=⎨⎪+≥⎪⎩ 用列表法及图示法,解得:每5天使用一次清洗店的取送服务,每天平均费用为1340元,达到最小值.MATLAB 脚本:p01=2; p02=1.9; p1=250; p2=0.1; r=600;f1=@(t)p01*r+p1./t+p2*r*t/2; f2=@(t)p02*r+p1./t+p2*r*t/2; c=[f1(1:4),f2(5:10)]fplot(f1,[1,4],'k'), hold onfplot(f1,[4,10],'k:'), fplot(f2,[1,5],'k:'), fplot(f2,[5,10],'k') plot(c,'ko'), hold off, axis([0,11,1300,1550])text(1.3,1450,'p_0=2元'), text(1.8,1340,'p_0=1.9元')xlabel('取送服务的周期(天)'), ylabel('每天的总费用(元)')计算结果为: c =Columns 1 through 51480 1385 1373.3 1382.5 1340 Columns 6 through 101361.7 1385.7 1411.3 1437.8 146501234567891011取送服务的周期(天)每天的总费用(元)。
第三章10.考虑3.4.3小节的“人口预报”案例,用前差公式计算美国人口的年增长率r k 与美国人口的数量x k 成二次函数关系,即21-10k k k k k kx x r ax bx c x +==++,k=1,2,…通过Matlab 编程并代入实际数据拟合出二项式的系数,代码如下:fun=@(a,x)a(1).*x.^2+a(2).*x+a(3);x=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.0,... 92,106.5,123.2,131.7,150.7,179.3,204,226.5,251.4,281.4]; r=(x(2:22)-x(1:21))./(10.*x(1:21)); a=polyfit(x(1:21),r,2)输出结果为 a=7.0393e-07 -2.7030e-04 3.6840e-02即a=7.0393⨯10-7b=-2.7030⨯10-4c=3.6840⨯10-2则该假设模型为21-10()k k k k k x x x ax bx c +=++,k=1,2,…即3211010(101)k k k k x ax bx c x +=+++,k=1,2,…代入a,b,c 的值得734217.039310 2.703010 1.3684k k k k x x x x --+=⨯⨯-⨯⨯+,k=1,2,…利用Matlab 统计工具箱的非线性拟合函数nlinfit 计算参数,代码如下: M 文件fun.mfunction y=fun(a,x) SizeX=size(x); y=zeros(SizeX); y(1)=a(4);for i=2:SizeX(2)y(i)=a(1).*y(i-1).^3+a(2).*y(i-1).^2+a(3).*y(i-1);end脚本t=1790:10:2000;x=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.0,...92,106.5,123.2,131.7,150.7,179.3,204,226.5,251.4,281.4];[b1,resd1]=nlinfit(t,x,@ fun,[7.0393e-7 -2.7030e-4 1.3684 3.9])sse1=sum(resd1.^2)x1=fun(b1,[t,2010,2020])(x1(23:24)-x1(22:23))./x1(22:23)./10.*100subplot(2,1,1);plot(t,x,'k*',t,x1(1:end-2),'ks',[2010 2020],x1(end-1:end),'kp');axis([1780,2030,0,350]);legend('统计值','模拟值','预测值',2);xlabel('年份');ylabel('人口数量x_k(百万)');title('非线性拟合美国人口增长效果图');subplot(2,1,2);plot(t,resd1,'k.',[1780 2030],[0 0],'k');axis([1780,2030,-10,10]);xlabel('年份');ylabel('模拟误差');title('非线性拟合美国人口增长模拟误差图');输出结果b1 =5.2615e-06 -0.0021 1.3239 4.9976resd1 =Columns 1 through 7-1.0976 -1.2651 -1.4034 -1.6394 -1.7244 -1.8325 -1.1541 Columns 8 through 140.3169 -0.6966 1.0726 2.2642 2.2108 3.5401 2.0489 Columns 15 through 211.6519 -7.8844 -7.8103 0.8436 4.1938 3.1885 1.0698 Column 22-1.9798sse1 =203.0297 x1 =Columns 1 through 74.9976 6.5651 8.6034 11.2394 14.6244 18.9325 24.3541 Columns 8 through 1431.0831 39.2966 49.1274 60.6358 73.7892 88.4599 104.4511 Columns 15 through 21121.5481 139.5844 158.5103 178.4564 199.8062 223.3115 250.3302 Columns 22 through 24 283.3798 327.5773 395.0407 ans =1.55972.0595即计算结果为63321 5.261510 2.110 1.3239k k k k x x x x --+=⨯⨯-⨯⨯+,且x 1=4.9976误差平方和为203.0297,预测2010年美国人口为327.5773百万,2020年美国人口为395.0407百万,经过计算得知预测2000年至2010年和2010年至2020年的年增长率分别为1.5597%和2.0595%,计算结果以及模拟效果图和模拟误差图表明(1)模拟效果基本令人满意,本模型能够很好地模拟1790年至2000年美国人口的演变过程,误差平方和不算大;(2)预测值基本合理,可能偏高,按照美国最近几十年的人口统计数据,一般推断未来20年美国人口增长率大约是1%,甚至更低,该模型得到的2000年的模拟值比实际值大 1.9798百万,预测2000年至2020年的年增长率约为 1.8096%,所以该模型对2010年和2020年的人口预报有可能偏高了一点。
第二章 习题二1.(1)按照“两秒准则”表明前后车距与车速成正比,这和“一车长度准则”是类似的。
在2.2节的基础上引入下面的符号: D ~前后车距(m ) v ~车速(m/s )K ~按照“两秒准则”,D 与v 之间的比例系数(s ),在“两秒准则”中,K=2 于是“两秒准则”的数学模型为(2)D K v K =⨯=而刹车距离的数学模型为212d kv k v =+ 要考虑“两秒准则”是否安全,即要比较D 与d 的大小212d D kv k v K v -=+-⨯(1) 代入k 1=0.75v ,k 2=0.082678,K=2,所以当d>D ,即刹车距离的理论大于前后车距时,认为不够安全;当d<D ,即刹车距离的理论小于前后车距时,认为足够安全。
计算得到当速度超过15.12 m/s 时,“两秒准则”就不安全了,也就是说“两秒准则”适用于车速不是很快的情况。
另外,还可以通过绘图直观解释为什么“两秒准则”不够安全,用以下程序把刹车距离实测数据与“两秒准则”都画在同一幅图中:v=(20:5:80).*0.44704;d2=[18,25,36,47,64,82,105,132,162,196,237,283,334 22,31,45,58,80,103,131,165,202,245,295,353,41820,28,40.5,52.5,72,92.5,118,148.5,182,220.5,266,318,376]; d2=0.3048.*d2;k1=0.75; k2=0.082678; K=2; d1=[v;v;v].*k1;d=d1+d2;plot([0,40],[0,K*40],'k')hold onplot(0:40,polyval([k2,k1,0],0:40),':k')plot([v;v;v],d,'ok')title('比较刹车距离实测数据、理论值和两秒准则')legend('两秒准则','刹车距离理论值',...'刹车距离的最小值、平均值和最大值',2)xlabel('车速v(m/s)')ylabel('距离(m)')hold off(2)“两秒准则”的不安全性在于,其刹车距离随着车速增长的速度赶不上理论刹车距离的增长速度,为此我们提出一个“t秒准则”,通过不断增加t的值使得刹车距离总是大于理论刹车距离。
数学建模章绍辉版作业 Last revised by LE LE in 2021第四章作业第二题:针对严重的交通情况,国家质量监督检验检疫局发布的国家标准,车辆驾驶人员血液中的酒精含量大于或等于20mg/100ml,小于80mg/100ml 为饮酒驾车,血液中的酒精含量大于或等于80mg/100ml 的为醉酒驾车。
下面分别考虑大李在很短时间内和较长时间内(如2个小时)喝了三瓶啤酒,多长时间内驾车就会违反新的国家标准。
1、 问题假设大李在短时间内喝下三瓶啤酒后,酒精先从吸收室(肠胃)吸收进中心室(血液和体液),然后从中心室向体外排除,忽略喝酒的时间,根据生理学知识,假设(1) 吸收室在初始时刻t=0时,酒精量立即为032D;在任意时刻,酒精从吸收室吸收进中心室的速率(吸收室在单位时间内酒精含量的减少量)与吸收室的酒精含量成正比,比例系数为1k ;(2) 中心室的容积V 保持不变;在初始时刻t=0时,中心室的酒精含量为0;在任意时刻,酒精从中心室向体外排除的速率(中心室在单位时间内酒精含量的减少量)与中心室的酒精含量成正比,比例系数为2k ;(3) 在大李适度饮酒没有酒精中毒的前提下,假设1k 和2k 都是常量,与饮酒量无关。
2、 符号说明酒精量是指纯酒精的质量,单位是毫克;酒精含量是指纯酒精的浓度,单位是毫克/百毫升; ~t 时刻(小时);()~x t 在时刻t 吸收室(肠胃)内的酒精量(毫克);0~D 两瓶酒的酒精量(毫克);(t)~c 在时刻t 吸收室(血液和体液)的酒精含量(毫克/百毫升); 2()~c t 在时刻t 中心室(血液和体液)的酒精含量(毫克/百毫升);~V 中心室的容积(百毫升);1~k 酒精从吸收室吸收进中心室的速率系数(假设其为常数);2~k 酒精从中心室向体外排除的速率系数(假设其为常数);3~k 在短时间喝下三瓶酒的假设下是指短时间喝下的三瓶酒的酒精总量除以中心室体积,即03/2D V ;而在较长时间内(2小时内)喝下三瓶酒的假设下就特指03/4D V . 3、 模型建立和求解(1) 酒是在很短时间内喝的:记喝酒时刻为0t =(小时),设(0)0c =,可用()2113212()k t k t k k c t e e k k --=--来计算血液中的酒精含量,此时12k k 、为假设中所示的常数,而033155.792D k V ⎛⎫== ⎪⎝⎭.下面用MATLAB 程序画图展示血液中酒精含量随时间变化并且利用fzero 函数和fminbnd 函数来得到饮酒驾车醉酒驾车对应的时间段,以及血液中酒精含量最高的时刻。
第一部分课后习题1.学校共1000名学生,235人住在A宿舍,333人住在B宿舍,432人住在C宿舍。
学生们要组织一个10人的委员会,试用下列办法分配各宿舍的委员数:(1)按比例分配取整数的名额后,剩下的名额按惯例分给小数部分较大者。
(2)2.1节中的Q值方法。
(3)d’Hondt方法:将A,B,C各宿舍的人数用正整数n=1,2,3,…相除,其商数如下表:将所得商数从大到小取前10个(10为席位数),在数字下标以横线,表中A,B,C行有横线的数分别为2,3,5,这就是3个宿舍分配的席位。
你能解释这种方法的道理吗。
如果委员会从10人增至15人,用以上3种方法再分配名额。
将3种方法两次分配的结果列表比较。
(4)你能提出其他的方法吗。
用你的方法分配上面的名额。
2.在超市购物时你注意到大包装商品比小包装商品便宜这种现象了吗。
比如洁银牙膏50g装的每支1.50元,120g装的3.00元,二者单位重量的价格比是1.2:1。
试用比例方法构造模型解释这个现象。
(1)分析商品价格C与商品重量w的关系。
价格由生产成本、包装成本和其他成本等决定,这些成本中有的与重量w成正比,有的与表面积成正比,还有与w无关的因素。
(2)给出单位重量价格c与w的关系,画出它的简图,说明w越大c越小,但是随着w 的增加c减少的程度变小。
解释实际意义是什么。
3.一垂钓俱乐部鼓励垂钓者将调上的鱼放生,打算按照放生的鱼的重量给予奖励,俱乐部只准备了一把软尺用于测量,请你设计按照测量的长度估计鱼的重量的方法。
假定鱼池中只有一种鲈鱼,并且得到8条鱼的如下数据(胸围指鱼身的最大周长):先用机理分析建立模型,再用数据确定参数4.用宽w的布条缠绕直径d的圆形管道,要求布条不重叠,问布条与管道轴线的夹角 应多大(如图)。
若知道管道长度,需用多长布条(可考虑两端的影响)。
如果管道是其他形状呢。
5.用已知尺寸的矩形板材加工半径一定的圆盘,给出几种简便、有效的排列方法,使加工出尽可能多的圆盘。
海底地形图的绘制模型华东师范大学江昌华常海华黄倜海底地形图的绘制模型摘要:该“海底地形图的绘制模型”首先通过各个角度的假设,建立一个较为理想的海洋测绘环境;考虑该地形图能够表示为在一个三维笛卡尔坐标内的函数,而“插值双三次样条函数”能够较好地对图形进行模拟,我们对函数的形式做出一些改进,以满足海底地形图的实际要求;为了使绘制的图形更贴近与现实,我们将待测的海洋区域以网格方式划分为若干小区域,通过对每个小区域的地形图的绘制,并将所有的小区域内的图形连接,最后生成整个待测海洋区域的海底地形图。
一.问题重述海洋测绘船利用声纳绘制海底的地形图。
测绘船上的声纳向海底发射声脉冲,随后接收从海底反射的脉冲。
发射的范围为与指向海底的铅垂线夹角从2°—30°之间。
船只以2米/秒的速度行进,声脉冲在海水中传播的速度约为1500米/秒。
试建立绘制海底地形图的数学模型,并对绘制海底地形图的方法提出具体建议。
二.模型假设1.造成海面的不平坦因素有很多,比如潮汐,风浪等,假设这些因素的影响在测量过程中间可以忽略。
2.讨论区域的海底曲面是光滑的;更确切些,可以认为曲面的一阶、二阶导数是连续的。
因为我们可以认为讨论区域为浅水海域,由于长期的海水水流作用,形成的是以砾石或沙为主要组成部分的海底,不存在珊瑚礁、水底峡谷、山脊等不可预料的突变地形。
为了方便分析误差,假设海底临近的两点之间的与水平面的夹角在15°±15°范围内,且反射回接收装置的声波线与铅垂线之间的夹角在16°±14°范围内。
3.声波在传播途中受海水介质不均匀分布和海面、海底的影响和制约,会产生折射、散射、反射和干涉,会产生声线弯曲、信号起伏和畸变,造成传播途径的改变,以及出现声阴区,严重影响声纳的作用距离和测量精度[1]。
假设海水介质非常均匀,造成声波在海水中传播方向不稳定的因素可以忽略。
习题3参考解答4. 某成功人士向学院捐献20万元设立优秀本科生奖学金,学院领导打算将这笔捐款以整存整取一年定期的形式存入银行,第二年一到期就支取,取出一部分作为当年的奖学金,剩下的继续以整存整取一年定期的形式存入银行……请你研究这个问题,并向学院领导写一份报告.解答 假设整存整取一年定期的年利率保持不变,记为r ,假设一到期就支取,取出b 元作为当年的奖学金,剩下的继续以整存整取一年定期的形式存入银行……记捐款存入银行之后第k 年一年定期到期日奖学金捐款账户余额为k x 万元,0x =20万元,则列式得1(1), 0,1,2,k k x r x b k +=+-=⋅⋅⋅.其解为()0(1), 0,1,2,k k x r x b r b r k =+-+=⋅⋅⋅ 平衡点为x b r =.因为r >0,所以如果0x b r >,即00b rx <<,k x 就会单调增加趋于无穷大,并且增加得越来越快;如果0x b r <,即0b rx >,k x 就会单调衰减(到零为止),并且减少得越来越快;如果0x b r =,即0b rx =,k x 就会保持不变,即0k x x ≡.如果取r =0.025,则b 的临界值为00.025200.5rx =⨯=(万元). 进一步,可编程分别计算当b =0.4、0.5、0.6、1以及2万元时账户总额k x 的具体变化过程,并绘图.程序:r=0.025; x=[20,20,20,20,20];b=[.4,.5,.6,1,2]; n=20;for k=1:nx(k+1,:)=x(k,:).*(1+r)-b;endplot(0:n,x(:,1),'k.',0:n,x(:,2),'kx',...0:n,x(:,3),'k^',0:n,x(:,4),'ks',0:n,x(:,5),'kp')axis([-1,n+1,0,25])legend('每年用0.4万元','每年用0.5万元',...'每年用0.6万元','每年用1万元','每年用2万元',3)title('奖学金捐款账户余额的演变,年利率2.5%')xlabel('第 k 年'), ylabel('账户余额(万元)')绘得的图形:第 k 年账户余额(万元)奖学金捐款账户余额的演变,年利率2.5%(略去给学院领导的报告,该报告要用非数学语言陈述上述分析)5. 有一位老人60岁时将养老金10万元以整存零取方式(指本金一次存入,分次支取本金的一种储蓄)存入,从第一个月开始每月支取1000元,银行每月初按月利率0.3%把上月结余额孳生的利息自动存入养老金. 请你计算老人多少岁时将把养老金用完?如果想用到80岁,问60岁时应存入多少钱?解答 假设月利率保持不变,记为r ,记养老金存入银行之后第k 月末账户总额为k x 元,从第一个月开始每月支取b 元. 则列式得1(1), 0,1,2,k k x r x b k +=+-=⋅⋅⋅.解得()0(1), 0,1,2,k k x r x b r b r k =+-+=⋅⋅⋅依题意有r =0.003,b =1000,0x =100000. 因为r >0,且0x b r <,所以k x 就会单调衰减(到零为止),并且减少得越来越快;若要0k x ≤,可以解得只需要()()()0log log log 1b r b r x k r --≥+ 所以令()(){}()0log log log 1K b r b r x r ⎡⎤=--+⎢⎥(上取整),则养老金在第K 个月恰好用完. 把具体数据代入,执行以下程序,算得K =120,即10万养老金恰好10年用:x=100000; r=0.003; b=1000;K=ceil((log(b/r)-log(b/r-x))/log(1+r))也可以用条件循环语句按差分方程迭代计算,直到0k x ≤停止. 程序如下:x=100000; r=0.003; b=1000; n=0;while x(n+1)>0n=n+1;x(n+1)=(1+r).*x(n)-b;endn如果养老金想用到80岁,即240x =0,那么()()()2400240111709081b r x r r +-==+.。
第三次建模作业4. 通过网络搜索2013年我国各大银行一、二、三、五年定期存款利率。
各大银行存款利率方案一若将这笔捐款以整存整取一年定期的形式存入银行,由上表可知2013年大多数银行一年定期利率为3.30%。
记一年定期利率为r,取r=3.30%并假设r保持不变。
记初次存款本金总额为,之后每年取出b元作为当年的奖学金,取出之后第k年剩余本金为元,则有:每年利息=每年剩余本金*一年定期利率每年本金=上年本金+上年利息—奖学金列式得:k=0,1,2, (1)由(1)式解得:k=0,1,2, (2)这里,故(1)式有且仅有平衡点所以=6600元。
当b=6600时,每年本金不变,均为20万元;当时,本金会逐年减少直至为0;当时,本金会逐年增加。
输入代码:n=20;r=0.033;b=[2000,5000,6600,8000];x=[200000,200000,200000,200000];for k=1:20x(k+1,:)=x(k,:).*(1+r)-b;endplot(0:n,x(:,1),'k^',0:n,x(:,2),'ko',0:n,x(:,3),'kv',0:n,x(:,4),'kd')axis([-1,n+1,150000,250000])legend('b=2000','b=5000','b=6600','b=8000',2)title('每年取出奖学金b=2000,5000,6600,8000时,本金的变化情况')xlabel('第k年'),ylabel('本金')运行得:024681012141618201.51.61.71.81.922.12.22.32.42.55第k 年本金每年取出奖学金b=2000,5000,6600,8000时,本金的变化情况方案二 在方案一中采用一年定期的形式将捐款存入银行,这样每年只有6600的利息可供发放奖学金。