数学建模期末试卷答案 下载本文

课程名称: 数学实验与数学建模 主讲教师: 唐向阳

学号 2010212569 姓名 凌泽广 成绩 :

2012《数学模型》考试试题

一、(20分)某造纸厂用原材料白坯纸生产原稿纸、笔记本和练习本三种产品。该厂现有工人100人,每月白坯纸供应量为3万公斤。已知工人的劳动生产率为:每人每月生产原稿纸30捆,或生产日记本30打,或练习本30箱。而原材料的消耗为:每捆原稿纸用白坯纸10/3公斤,每打笔记本用白坯纸40/3公斤,每箱练习本用白坯纸80/3公斤。生产一捆原稿纸可获利2元,生产一打笔记本可获利3元,生产一箱练习本可获利1元。

(1)试确定在现有生产条件下的最优生产方案。

(2)如白坯纸的供应量不变,当工人数不足时可招收临时工,临时工的工资支出为每人每月40元,问:要不要招收临时工?

解(1):建立模型:设每月生产原稿纸x捆,每月生产笔记本y打,每月生产练习本z箱,用Max f来表示造纸厂获利的最大值,那么根据题意有如下线性规划模型,

Max f=x*2+y*3+z*1

且x,y,z满足如下不等式:

Max f=2x+3y+z

x/30+y/30+z/30<=100 10x/3+40y/3+80z/<=30000

x>=0,y>=0,z>=0

利用mathematica 软件包求解上述不等式: 运行程序

ConstrainedMax[2x+3y+z,{x+y+z?3000,x+4y+8z?9000,

x?0,y?0,z?0},{x,y,z}] 运行结果如下:

{8000,{x?1000,y?2000,z?0}}

故可知,当生产原稿纸为1000捆,生产笔记本2000打,生产练习本0箱时,此时造纸厂所获得的利润最大,最大为8000元

(2)建立模型:如果造纸厂每月所招进来的每名临时工人所创造的利润大于每个月的工资,

那么造纸厂就可以招收临时工人,现假设需要招收m名临时工人,那么总共就有由于白坯100+m名工人,设每月有x1名工人用来生产原稿纸,有x2名工人用来生产笔记本,有,x3名工人用来生产练习本,由于纸的供应量不变,此时设造纸厂所获得的最大利润 为 Max g,依据题意可知有如下线性规划模型,

Max g=60x+90y+30z-40m

且x,y,z,m满足如下不等式:

x+y+z<=100+m

30x*10/3+30y*40/3+30z*80/3<=30000

x,y,z,m>=0

x,y,z<=100+m

利用mathematica软件包求解上述程序,

运行程序:

ConstrainedMax[60x+90y+30z-40m,{x+y+z<=100+m,x+4y+8z?300,x?0,y?0,z?0,x?100+m,y?100+m,z?100+m,m?0},{x,y,z,m}] 得到结果:

{10000,{x?300,y?0,z?0,m?200}}

由此可知,此时造纸厂所获得的最大利润为10000元,所需要招收的临时工为200人; 那么此时每名临时工人每月为公司所带来的利润为:10000/200=50>40, 因此可知:造纸厂可以招收临时工。

二、(30分) 有某种货物的存贮系统,市场对这种货物的需求量(单位:单位)和订货提前期(单位:周)都是随机的,它们的概率分布如下: 需求量 0 1 2 3 4 5 6 概率

提前期(周) 1 2 3 4 5 概率 0.23 0.45 0.17 0.09 0.06 现在考虑订货、存贮、缺货损失三项费用:订货费用每次25元,订货量每次20单位,订货点为15单位(即存货低于15单位时订货,但已订货未到前不再订),存贮费每件每周10元,缺货损失费每件每周500元。对于缺货,货到后不补,设开始时存货为20单位。

试用mathematica生成随机数R1, R2, R1模拟需求量,R2模拟订货提前期。模拟14周的运行情况,填下表,并求订货费用、存贮费用、缺货费用以及周平均费用。 周 到货量 存储量 是否提前期 缺货量 随机数R1 需求量 订货 R2 提前期 0 — 20 — 1 68 4 16 2 52 3 13 是 50 2 3 90 5 8 4 59 3 26

0.02 0.08 0.22 0.34 0.18 0.09 0.07

5 6 7 8 9 10 11 12 13 14 08 72 44 95 81 94 28 89 63 0 1 4 3 6 4 6 2 5 3 1 24 20 17 11 7 1 0 15 12 31 是 86 1 4 1 解:建立模型:先将上述图表的概率转换成累积概率:

需求量 概率

0 0.02 1 0.10 2 0.32 3 0.66 4 0.84 5 0.93 6 1 提前期(周) 概率 运行程序:

1 0.23 2 0.68 3 0.85 4 0.94 5 1 d=Table[random[],{k,14}

Do[if[d[j]]<=0.02,r1=r1+1;r2>0.02,and r2?0.1;r3>0.1,and r3<=0.32;r4>0.32,and r4?0.54;r5>0.66,and r5?0.84;r6>0.84,and r6?0.93;r7>0.93,r7?1],{j,14}] Print[\

生成一组随机数R1: 68,52,90,59,08,72,44,95,81,94,28,89,63,0 用同样的方法生成一组随机数R2:50,86,1

那么用R1这14个数分别按秩序的代表着从第1周到底14周模拟的需求量, 可知模拟出来的需求量分别为4,3,5,3,1,4,3,6,4,6,2,5,3,1.

现在逐一分析每一周后的存储量,且最开始的存货为20单位 (1)在第一周后的的存储量为20-4=16>15,不需要订货 (2)在第二周后的存储量为16-3=13<15,此时需要订货 类似于同样的(1),(2)进行分析可知,所得的数据如表中所示。 所以,由表格数据可知, 订货费用为25*3=75; 存储费用为10*200=2000;

缺货费用为500*1=500;

周平均费用为1/14(75+2000+500)=183.9。

三、(50分)一个城郊的社区计划更新消防站。原来的消防站在旧城中心。规划要将新的消防站设置得更科学合理,故在前一个季度收集了火警反应时间的资料:

(1) 平均要用3.2分钟派遣消防队员;

(2) 消防队员到达火灾现场的时间(行车时间)依赖于火灾现场的距离。

(3) 行车时间的资料列于表1

表1 行车时间 距离1.22 3.48 5.10 3.39 4.13 1.75 2.95 1.30 0.76 2.52 1.66 1.84 (里) 时间2.62 8.35 6.44 3.51 6.52 2.46 5.02 1.73 1.14 4.56 2.90 3.19 (分钟) 距离3.19 4.11 3.09 4.96 1.64 3.23 3.07 4.26 4.40 2.42 2.96 (里) 时间4.26 7.00 5.49 7.64 3.09 3.88 5.49 6.82 5.53 4.30 3.55 (分钟) (4)从社区的不同区域打来的求救电话频率的数据列于下图。其中每一格代表一平方里,格内的数字为每年从此区域打来的紧急求救电话的数量。

3 0 1 4 2 1 2 1 1 2 3 2 5 3 3 0 1 2 8 5 2 1 0 0 10 6 3 1 3 1 0 2 3 1 1 1 1.求反应时间。消防队对离救火站r里处打来的一个求救电话需要的反应时间估计为d分钟。给出消防队对求救电话的反应时间的模型d(r);

2.求平均反应时间。设社区位区域[0, 6]?[0, 6]内,(x, y)是新的消防站的位置。根据求救电话频率,确定消防队对求救电话的平均反应时间z = f (x, y) ;

3.求新的消防站的最佳位置。

解: 首先对下面的参量与变量进行整体说明:

(x ,y)表示新的消防站的位置 x ,y中至少有一个为0,1,2,3,4,5,6, (i,j)表示火灾现场所在区域的位置 i , j=1,2,3,4,5,6 r表示消防队里火灾现场的距离

d(r) 表示消防队电话求助的反应时间 z 表示消防队对求救电话的平均反应时间

A 表示每年从各区域打来的紧急救助电话的数量矩阵 a 表示每年从各区域打来的紧急电话的频率矩阵

1.建立模型:先对距离(里)与时间(分钟)的数据关系进行数据拟合, 运行程序如下:

Clear[data]

data={{1.22,2.62},{3.48,8.35},{5.10,6.44},{3.39,3.51},{4.13,6.52},{1.75,2.46},{2.95,5.20},{1.30,1.73},{0.76,1.14},{2.52,4.56},{1.66,2.90},{1.84,3.19},{3.19,4.26},{4.11,7.00},{3.09,5.49},{4.96,7.64},{1.64,3.09},{3.23,3.88},{3.07,5.49},{4.26,6.82},{4.40,5.53},{2.42,4.30},{2.96,3.55}}; ListPlot[data]

运行结果如下图(1):

876543212345 用最小二乘法进行直线拟合给出反应时间的函数,运行如下程序:

data={{1.22,2.62},{3.48,8.35},{5.10,6.44},{3.39,3.51},{4.13,6.52},{1.75,2.46},{2.95,5.20},{1.30,1.73},{0.76,1.14},{2.52,4.56},{1.66,2.90},{1.84,3.19},{3.19,4.26},{4.11,7.00},{3.09,5.49},{4.96,7.64},{1.64,3.09},{3.23,3.88},{3.07,5.49},{4.26,6.82},{4.40,5.53},{2.42,4.30},{2.96,3.55}};

f[x]=Fit[data,{1,r},r]

运行结果如下:

0.579543 +1.36943r

故可知反应时间为行车时间和准备时间(3.2分)的和:

d(r)=1.36943r+0.579543 +3.2

2.(1)我们要求解平均反应时间,那么我们用新的消防站的位置(x , y)和火灾现场所在的区域的位置(i , j)来表示消防站到火灾现场的距离r;

(2)把区域[0,6]*[0,6]等分成36个小区域,并且来自某一小区的中心的紧急电话可代表来自区域的所有紧急电话;

那么由题意可知,消防队对求助电话平均反应时间为:

z=f(x,y)=i?1,j?1?6ai,j[1.3693*(|i?1/2?x|?|j?1/2?y|)?0.57201]

3. 建立模型:假设消防站设在主要道路的俩侧,也就是说图中的x, y至少有一个取整值;

消防队的行车路线为竖直或水平方向,终点为紧急电话来自小区域的中心,

且行车路线最短,交通通畅;

现在,我们要确定新的消防站的最佳位置,也就是找到最佳坐标点,使得消防站到各个 火灾现场的平均时间最小。下面,就将x ,y中的一个取整数时,平均反应时间随另一个而变 化的情况进行讨论,

(1)首先计算每年从各区域打来的紧急电话求助频率 A=[3 0 1 4 2 1 2 1 1 2 3 2 5 3 3 0 1 2 8 5 2 1 0 0 10 6 3 1 3 1 0 2 3 1 1 1]

sum(A)=

i?1,j?1?a6i,j =84

a=A/sum(A)=[ 0 0.0238 0.0357 0.0119 0.0119 0.0119 0.1190 0.0714 0.0357 0.0119 0.0119 0.0119 0.0952 0.0595 0.0238 0.0119 0 0 0.0595 0.0357 0.0357 0 0.0119 0.0238 0.0238 0.0119 0.0119 0.0238 0.0357 0.0238

0.0357 0 0.0119 0.0476 0.0238 0.0119] (2)建立一个m 文件

a = [ 0 0.0238 0.0357 0.0119 0.0119 0.0119

0.1190 0.0714 0.0357 0.0119 0.0119 0.0119 0.0952 0.0595 0.0238 0.0119 0 0 0.0595 0.0357 0.0357 0 0.0119 0.0238 0.0238 0.0119 0.0119 0.0238 0.0357 0.0238 0.0357 0 0.0119 0.0476 0.0238 0.0119] l=[ 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6]

\可取0,1,2,3,4,5,6)

h=a*{1.369*(|i-1/2-x|+|j-1/2-y|)+0.57021}+3.2 g=sum(h) z=sum(g) (3)用随机模拟算法:

在可行域[0 ,6]*[0 ,6] 内简单地选取100个随机的点: r=random(1,100, [0 ,6])

计算目标函数在这些点的值,选择其中最小的点即可。

(4)循环语句为

for i=1;100 z0=f(r(1)); X0=r(1); z=f(r(i)); If z

(5)计算最小值 l=0;u=6;

[y ,z]=f mincon('f',y0,[],[],[],l,u) (6)计算结果:

当y=0时,x=2.5,z=8.5972; 当y=1时,x=2.5,z=8.0972; 当y=2时,x=2.5,z=7.5050; 当y=3时,x=2.5,z=7.817; 当y=4时,x=2.5,z=8.4813; 当y=5时,x=2.5,z=9.4612;

当y=6时,x=2.5,z=10.7164; 那么同理可得:

当x=0时,y=1.5,z=9.5753; 当x=1时,y=1.5,z=8.3364; 当x=2时,y=1.5,z=7.6191; 当x=3时,y=1.5,z=7.5539; 当x=4时,y=1.5,z=7.6778; 当x=5时,y=1.5,z=8.8091; 当x=6时,y=1.5,z=9.9991;

故综上可知:当x=2.5,y=2时,z=7.5050为最小值,所以心得消防站的最佳位置为(2.5 ,2) 处的点。