数学建模短学期4
- 格式:doc
- 大小:123.00 KB
- 文档页数:8
数学建模短学期作业4
1.某卡车公司拨款8000000元用于购买新的运输工具,可供选择的运输工具有三种。
运输
工具A载重量为10t,平均时速为45km/h,价格为260000元;运输工具B载重为20t,平均时速为40km/h,价格为360000元;运输工具C是B的改进,增加了可代一个司机使用的卧铺,这一改变使载重量聊为18t,平均运行速度仍然是40km/h,但价格为420000元。
运输工具A需要一名司机,如果每天三班工作,每天平均可以运行18h,当地法律规定运输工具B和C需要两名司机,每天三班工作时B平均可以运行18h,而C可以运行21h,该公司目前每天有150名司机可供使用,而且在短期内无法招募到其他训练有素的司机。
当地的工会禁止任何一名司机每天工作超过一个班次。
此外,维修设备有限,所以购买的运输工具的数量不能超过30辆。
建立数学模型,帮助公司确定购买每种运输工具的数量,使工厂每天的总运力(t.km)最大。
解:由题意分析,工厂每天的总运力为三种车辆总运力之和,设总动力的表示符号为M
购买三种车辆的数量分别为x1,x2,x3.
那么,M=v(a)*t(a)*m(a)*x1+v(b)*t(b)*m(b)*x2+v(c)*t(c)*m(c)*x3,
v,t,m分别代表的是各种车的速度,运行时间,运载量,所以我们要求的问题就变为求出M的最大值。
要确定M的最大值,有以下几个条件进行约束:
x1+x2+x3<=总车辆的要求;
p1*x1+p2*x2+p3*x3<=总拨款;(p代表的是每种车的单价)
3*n1*x1+3*n2*x2+3*n3*x3<=总人数;(n代表的是每种车的配置人数)
Code:
MAX=10*45*18*X1+20*40*18*X2+18*40*21*X3;
X1+X2+X3<=30;
26*X1+36*X2+42*X3<=800;
X1+2*X2+2*X3<=50;
@gin(x1);@gin(x2);@gin(x3);
end
运行结果:
毕
2、某农户拥用100亩土地和25000元可供投资。
每年冬季(9月中旬至来年5月中旬),
该家庭的成员可以贡献3500h的劳动时间,而夏季为4000h。
如果这些劳动时间有富裕,该家庭中的年轻成员将去附近的农场打工,冬季每小时6.8元,夏季每小时7.0元。
现金收入来源于三种家作物(大豆、玉米和燕麦)以及两种家禽(奶牛和母鸡)。
农作物不需要付出投资,但每头奶牛需要400元的初始投资,每只母鸡需要3元的初始投资。
每头年需要使用1.5亩土地,并且冬季需要付出100h的劳动时间,夏季需要付出50h 的劳动时间,每年为家庭产生的净现金收入为450元;每只母鸡相应的数字为:不占土地,冬季0.6h,夏季0.3h,年净收入为3.5元,养鸡厂房最多只能容纳3000只母鸡,栅栏的大小限制了最多只能饲养32头奶牛。
根据估计,三种农作物每种植一亩需要的劳动时间和收入如下表所示,建立数学模型,帮助确定每种农作物应该种植多少亩,以及奶牛和母鸡应该各蓄养多少,使年净收入最大。
解:由题意分析,总净收入应该是各个项目的净收入之和,设总的净收入代表符号为Q,同时设种植大豆,玉米,燕麦的数量分别为n1,n2,n3,喂养小鸡的数目为n4,喂养牛的数目为n5,冬季打工时间为n6,夏季打工时间为n7。
那么,Q=p(1)*n1+p(2)*n2+p(3)*n3+p(4)*n4+p(5)*n5+p(6)*n6+p(7)*n7
P分别代表各个项目的单个净收入
此时,问题变为求出q的最大值所对应的各个项目的数目。
Q总的净收入受到以下几个条件的约束:
n1+n2+n3+1.5*n5<=总的田地的数量;
n4<=鸡的数量上线;
n5<=牛的数量上线;
n4*m(1)*n5*m(2)<=总投资(m代表的是每一个项目的单价投资)
t1(1)*n1+t1(2)*n2+t1(3)*n3+t1(4)*n4+t1(5)*n5+n6<=冬季打工的总时间(t1代表的是每个项目的所需的冬季打工时间)
t2(1)*n1+t2(2)*n2+t2(3)*n3+t2(4)*n4+t2(5)*n5+n7<=夏季打工的时间(t2代表的是每个项目的夏季所需的打工的时间)
code:
MAX=175*n1+300*n2+120*n3+3.2*n4+450*n5+6.8*n6+7*n7;
n4<=3000;
n5<=32;
n1+n2+n3+1.5*n5<=100;
3*n4+400*n5<=25000;
20*n1+35*n2+10*n3+0.6*n4+100*n5+n6<=3500;
30*n1+75*n2+40*n3+0.3*n4+50*n5+n7<=4000;
@gin(n4);@gin(n5);@gin(n6);@gin(n7);
end
运行结果:
毕
3.某储蓄所每天的营业时间是上午9时到下午5时。
根据经验,每天不同时间段所需要的服务员数量如下表所示,储蓄所可以雇用全时和半时两类服务员。
全时服务员每天报酬100元,从上午9时到下午5时工作,但中午12时到下午2时之间必须安排1h的午餐时间。
储蓄所每天可以雇用不超过3名的半时服务员,每个半时服务员必须连续工作4h,报酬40元。
问该储蓄所应该如何雇用全时和半时两类服务员。
如果不能雇用半时服务员,每天至少增加多少费用?如果雇用的半时服务员的数量没有限制,每天可以减少多少费用?
解:由题意分析,总的费用应该是全时费用和半时费用之和,总的费用用Q表示,设全时的人数为A,半时的人数为B,那么B为各个时间段增加的半时人数之和,上面有8个时间段,记每个时间段的半时增加的人数为b(i)。
那么,Q总的费用=p(1)*A+p(2)*B (p代表的是每种服务人员的费用)
Q受到以下的条件进行约束:
在12到1,1到2这两个时间段内全时人员必须进行吃饭
每个时间段的人数必须大于所要求的服务员的数量
Code(1):
min=a*100+(b1+b2+b3+b4+b5+b6+b7+b8)*40;
a+b1>=4;
a+b1+b2>=3;
a+b1+b2+b3>=4;
a+b1+b2+b3+b4-y>=6;
y<=a;
b2+b3+b4+b5+y>=5;
b3+b4+b5+b6+a>=6;
b4+b5+b6+b7+a>=8;
b5+b6+b7+b8+a>=8;
b1+b2+b3+b4+b5+b6+b7+b8<=3;
@gin(a);@gin(y);
@gin(b1);@gin(b2);
@gin(b3);@gin(b4);
@gin(b5);@gin(b6);
@gin(b7);@gin(b8);
end
运行结果:
Code(2):
min=a*100;
a>=4;
a>=3;
a>=4;
a-y>=6;
y<=a;
y>=5;
a>=6;
a>=8;
a>=8;
@gin(a);@gin(y); end
运行结果:
Code(3):
min=a*100+(b1+b2+b3+b4+b5+b6+b7+b8)*40; a+b1>=4;
a+b1+b2>=3;
a+b1+b2+b3>=4;
a+b1+b2+b3+b4-y>=6;
y<=a;
b2+b3+b4+b5+y>=5;
b3+b4+b5+b6+a>=6;
b4+b5+b6+b7+a>=8;
b5+b6+b7+b8+a>=8;
@gin(a);@gin(y);
@gin(b1);@gin(b2);
@gin(b3);@gin(b4);
@gin(b5);@gin(b6);
@gin(b7);@gin(b8);
end
执行结果:
毕4、某海岛小有12个主要的居民点,每个居民点的位置(用平面坐标x,y表示,距离单位:km)和居住的人数(R)如下表所示,现在准备在岛上建立一个服务中心为居民提供各种服务,那么服务中心应该建立在何处?
解:由题意分析,设服务中心建立的地点为(x1,y1),我们记每个人到该服务中心的总路程为S。
那么,S=sum(R*((x1-x(i))^2+(y1-y(i))^2)^1/2)
此时的问题就变为求出S的最小值
S收到的约束条件如下:
x1属于[min(x),max(x)]
y1属于[min(y),max(y)]
code:
sets:
location/1..12/:x,y,R;
endsets
data:
x=0,8.2,0.5,5.7,0.77,2.87,4.43,2.58,0.72,9.76,3.19,5.55;
y=0,0.5,4.9,5,6.49,8.76,3.26,9.32,9.96,3.16,7.2,7.88;
R=600,1000,800,1400,1200,700,600,800,1000,1200,1000,1100;
enddata
min=@sum(location:((x-x1)^2+(y-y1)^2)^(1/2)*R);
end
运行结果:
那么x1,y1就是服务中心的位置。
毕。