内容发布更新时间 : 2024/12/24 8:14:09星期一 下面是文章的全部内容请认真阅读。
资料收集于网络,如有侵权请联系网站删除
数学建模协会寒假作业答案
【作业一】
某市有甲、乙、丙、丁四个居民区,自来水由A、B、C三个水库供应。四个区每天必须得到保证的基本生活用水分别为30,70,10,10千吨,但由于水源紧张,三个水库每天最多只能分别供应50,60,50千吨自来水。由于地理位置的差别,自来水公司从各水库向各区送水所需付出的引水管理费不同(见表1-1,其中C水库与丁区之间没有输水管道),其他管理费用都是450元/千吨。根据公司规定,各区用户按照统一标准900元/千吨收费。此外,四个区都向公司申请了额外用水量,分别为每天50,70,20,40千吨。 问题一:该公司应如何分配供水量,才能获利最多?
表1-1 引水费用表 引水管理费·(元/千甲 乙 丙 丁 吨)-1 A 160 130 220 170 B 140 130 190 150 C 190 200 230 / 问题二:为了增加供水量,自来水公司正在考虑进行水库改造,使三个水库每天的最大供水量都提高一倍,问那时供水方案应如何改变?公司利润可增加到多少? (灵敏度分析) 【答案】
分配供水量就是安排从三个水库向四个区送水的方案,目标是获利最多。而从题目给出的数据看,A、B、C三个水库的供水量160千吨,不超过四个区的基本生活用水量与额外用水量之和300千吨,因而总能全部卖出并获利,于是自来水公司每天的总收人是900×(50+603-50)=144000元,与送水方案无关。同样,公司每天的其他管理费用为450×(50+60+50)=72000元,也与送水方案无关。所以,要使利润最大,只需使引水管理费最小即可。另外,送水方案自然要受三个水库的供应量和四个区的需求量的限制。
很明显,决策变量为A、B、C三个水库(i?1,2,3)分别向甲、乙、丙、丁四个区(j?1,2,3,4)的供水量。设水库i向j区的日供水量为xij。由于C水库与丁区之间没有输水管道,即x34?0,因此只有11个决策变量。由以上分析,问题的目标可以从获利最多转化为引水费用最少,于是有:
min?160x11?130x12?220x13?170x14?140x21?130x22
约束条件有两类:一类是水库的供应量限制,另一类是各区的需求量限制。
30?x11?x21?x31?80?190x23?150x24?190x31?200x32?230x33x11?x12?x13?x14?50x21?x22?x23?x24?60x31?x32?x33?5070?x12?x22?x32?14010?x13?x23?x33?30 10?x14?x24?50LINGO线性规划源程序如下所示:
word可编辑
资料收集于网络,如有侵权请联系网站删除
Model:
min=160*x11+130*x12+220*x13+170*x14+140*x21+130*x22+190*x23+150*x24
+190*x31+200*x32+230*x33;
x11+x12+x13+x14=50;x21+x22+x23+x24=60;x31+x32+x33=50 x11+x2l+x31>=30;x12+x22+x32>=70;x13+x14+x24>=10; x14+x24>=10;x11+x21+x3l<=80;x12+x22+x32<=140 x13+x23+x33<=30:x14+x24<=50: 其中第二行为目标函数,首先用max=或者min=声明求解的目标函数最大化或者最小化,然后键入目标函数。与LINDO语法不同,在LINGO的语法操作中有乘号,一定要乘号,末尾结束出现分号。而且数值不能出现在左边,键入的表达式应该为最简表达式。
按住Ctrl+S运行,得到运行结果如下: Global optimal solution found。
Objective value: 24400.00 Total solver iterations: 8
LINGO得到的结果与LINDO得到的结果类似,但是LINGO不支持灵敏度分析。上述结果显示:通过2次迭代可以得到全局最优值24400。工厂A向乙地区供应50千吨自来水;工厂B向乙提供50千吨自来水,向丁提供10千吨自来水;工厂C向甲地区提供40千吨自来水,向丙地区提供10千吨自来水。结果后一部分为自来水供应的影子价格分析。
需要注意的是:LINDO和LINGO在求解规划问题时,可能存在由多个最优决策都能得到最优值的情况,但是软件只会显示其中一种。LINDO公司已经将LINDO软件从其产品目录中删除,这意味着以后不会再有LINDO软件的新版本了,而LINGO还在不断地更新。从上面的编程过程中,大家可以发现一个问题:当决策变量或者约束很多时,一条一条输入约束将是一件非常麻烦的事情。LINGO语言又称为建模化语言,其优势在于它能够支持数学语言的输入,尤其是能够提供集合支持,给编程带来了极大的便利。以本题为例,使用建模化语言编程代码如下所示。
LINGO建模化语言解决线性规划问题源代码如下
model:
word可编辑
资料收集于网络,如有侵权请联系网站删除
sets:
chandi/1..3/:a; yonghu/1..4/:b,d;
routes(ehandi,yonghu):C,x; endsets data:
a=50,60,50; b=30,70,10,10; d=80,140,30,50; c=160,130,220,170 140,130,190,150,
190,200,230,99999999; enddata
min=@sum(routes:c*x);
@for(chandi(i):@sum(yonghu(j):x(i,j))=a(i)); @for(yonghu(j):@sum(chandi(i):x(i,j))<=d(j)); @for(yonghu(j):@sum(chandi(i):x(i,j))>=b(j)); End
与以前的LINDO、LINGO语法不同,程序首先定义了集合,以sets开始,定义了三种属性的集合:n为1×3的向量,b和d为l×4的向量,c和z为3×4的矩阵,以end-sets结束。然后对定义的集合进行数据初始化,以data开始:分别对a,b,c,d进行初使化。其中由于自来水厂C不能给用户丁供水,因此可以定义一个非常大的数,代表非常大的代价,以enddata结束。接下去的就是目标函数和约束条件,在目标函数中使用了@sum求和函数,在约束中使用了@for循环函数。可见,如果决策变量或者约束很多,也可以不用一条一条输入了,只需要一条循环便可以解决。得到结果。
由结果显示:通过8次迭代可以得到全局最优值24400。z就是所需的决策变量矩阵,工厂A向乙地区供应50千吨自来水;工厂B向乙提供50千吨自来水,向丁提供10千吨自来水;工厂C向甲地区提供40千吨自来水,向丙地区提供10千吨自来水。结构后一部分为自来水供应的影子价格分析,与以前得到的结果相同。
问题二是关于灵敏度分析,具体可参见优化问题课件,在此就不再赘述。 ——摘自邬学军,周凯,宋军全编著,数学建模竞赛辅导教程,浙江大学出版社,2009。08,第84页
word可编辑
资料收集于网络,如有侵权请联系网站删除
【作业二】
某公司出口换汇成本分析
对经营同一类产品出口业务的公司进行抽样调查, 被调查的13家公司,其出口换汇成本与商品流转费用率资料如下表。设出口换汇成本为Y , 商品流转费用率为x。 出口换汇成本商品流转出口换汇成本商品流转公司 公司 人民币/美元 费用率(%) 人民币/美元 费用率(%) 1 1.40 4.20 8 1.60 5.50 2 1.20 5.30 9 2.00 4.10 3 1.00 7.10 10 1.00 5.00 4 1.90 3.70 11 1.60 4.00 5 1.30 6.20 12 1.80 3.40 6 2.40 3.50 13 1.40 6.90 7 1.40 4.80 (1)求变量Y关于x的线性回归方程。 (2)求?的无偏估计。
(3) 并估计某家公司商品流转费用率是6.5%的出口换汇成本。 【答案】
令商品流转费用率为试验指标(因变量)y,令出口换汇成本为影响因变量的
?,用??bx因素即自变量x,然后用回归拟合建立起二者之间的关系,且令y?a回归模型解该方程的具体程序如下:
x=[1.40,1.20,1.00,1.90,1.30,2.40,1.40,1.60,2.00,1.00,1.60,1.80,1.40]; y=[4.20,5.30,7.10,3.70,6.20,3.50,4.80,5.50,4.10,5.00,4.00,3.40,6.90]; X=[ones(size(x))',x']; %执行回归命令
[b,bint,r,rint,stats]=regress(y',X,0.05) rcoplot(r,rint) %画出残差及它们的置信区间的图形
2
问题一
???2.1667 ??8.2333,b参数估计:a??8.2333?2.1677x 变量y关于x的线性回归方程:y问题二
?2的无偏估计体现的是回归方程的优化程度,因此:
2F?10.8168,R和F都相对较小,说明回归直线对样本数据点检验:R2=0.4958,的拟合程度低;
问题三
预测:利用回归线性方程可解得商品流转费用率为6.5%是对应的出口换汇成本的近似值,具体程序如下: y0=6.5;
x0=(8.2333-y0)/2.1667; 运行程序结果可得:
y0?0.800(人民币/美元)
word可编辑
资料收集于网络,如有侵权请联系网站删除
【作业三】
1、根据经验,当一种新商品投入市场后,随着人们对它的拥有量的增加,其销售量s(t)下降的速度与s(t)成正比。广告宣传可给销量添加一个增长速度,它与广告费a(t)成正比,但广告只能影响这种商品在市场上尚未饱和的部分(设饱和量为M)。建立一个销售s(t)的模型。若广告宣传只进行有限时间?,且广告费为常数a,问s(t)如何变化? 【答案】
根据经验,当一种新商品投入市场后,随着人们对它的拥有量的增加,其销售量s(t)下降的速度与s(t)成正比。广告宣传可给销量添加一个增长速度,它与广告费a(t)成正比,但广告只能影响这种商品在市场上尚未饱和的部分(设饱和量为M)。建立一个销售s(t)的模型。若广告宣传只进行有限时间?,且广告费为常数a,问s(t)如何变化?
解:
假设在没有广告宣传的情况下,销售量s(t)的模型为:
ds(t)??k1s(t) dt在加入广告宣传后,销售量s(t)随时间变化的情况如下:
tds(t)??k1s(t)?k2a(t)(M??s(x)dx)
0dtt其中?s(x)dx为0:t时间内的总销售量。
0如果广告宣传只进行有限的时间?,则上述模型变为
t??ks(t)?ka(t)(M?ds(t)?12?0s(x)dx)t0?t0?t?? ??dtt0?t,t0?t?????k1s(t)
2、在鱼塘投放尾鱼苗,随着时间的增长,尾数将减少而每尾的质量将增加。设尾数的(相对)减少率为常数,由于喂养引起的每尾鱼重量的增加率与鱼的表面积成正比,由于消耗引起的每尾鱼重量的减少率与重量成正比。分别建立尾数和每尾鱼重的微分方程,并求解。 【答案】
在鱼塘投放尾鱼苗,随着时间的增长,尾数将减少而每尾的质量将增加。 设尾数的(相对)减少率为常数,由于喂养引起的每尾鱼重量的增加率与鱼的表面积成正比,由于消耗引起的每尾鱼重量的减少率与重量成正比。分别建立尾数和每尾鱼重的微分方程,并求解。
解:
尾数的(相对)减少率为常数,可得以下微分方程:
dn(t)??kn(t) dtword可编辑