摘要:本文通过对建模数据的收集整理,进行合理的假设,在已有原模型的基础上进行改进,对冰山融化规律,燃料消耗费用,运送冰山费用等进行了较详细的介绍,最后通过matlab编程,对结果进行求解,得出结果,并对结果进行的客观的分析。
关键字:融化规律,燃料费用,运送费用,编程,模型求解
1、问题的提出
在以盛产石油著称的波斯湾地区,浩翰的沙漠覆盖着大地,水资源十分贫乏,不得不采用淡化海水的办法为国民提供用水,成本大约是每立方米淡水0.1英镑.于是,有专家提出从相距9600km之遥的南极用拖船运送冰山到波斯湾,以取代淡
化海水的办法,我们今天从经济的角度(非政治)研究冰山运输的可行性。
2、问题的简化
为了计算用拖船运送冰山获得每立方米水所花的费用,我们忽略其中如何采冰,如何拖冰,运输过程中的洋流,风向等技术和气候问题,仅关注其中拖船的租金、运量、燃料消耗及冰山运输过程中融化速率等方面的数据。如果简化情形下的讨论效益不明显,则真实、复杂的情况下,这一设想肯定不可行。
3、模型准备
1.三种拖船的日租金和最大运量.
船 型 小 中 大
日租金(英镑) 4.0 6.2 8.0
最大运量(m3) 5×105(r≈49的冰球) 106 (r≈62的冰球) 107(r≈134的冰球)
表3 日租金和最大运量
2.燃料消耗(英镑/千米)依赖于船速和所运冰山的初始体积.
冰山体积(m3)
船速(km/h) 105 106 107
1 8.4 10.5 12.6
3 10.8 13.5 16.2
5 13.2 16.5 19.8
表4 燃料消耗(英镑/千米)
3 冰山运输过程中的融化速率(即米/天).指冰山与海水大气接触处每天融化深度.
融化速率除与船速有关外,还和运输过程中冰山与南极的距离有关,这是由于冰山要从南极运往赤道附近的缘故。
与南极距离(km)
船速(km) 0 1000 >4000
1 0 0.1 0.3
3 0 0.15 0.45
5 0 0.2 0.6
表5融化后速率(米/天)
建立模型的目的是把费用表为拖船的船型(冰山体积)、船速的函数,求最优的船型、船速,使冰山到达目的地后,可得到的每立方米水所花的费用最低,并将这个最低费用与淡化海水的费用相比较.
根据建模目的和搜集的资料,作如下假设
4、模型假设
1.拖船航行过程中船速不变,航行不考虑天气等因素的影响.总航行距离9600km.
2.冰山形状为球形,球面各点的融化速率相同.这是因为只有球形的形状不变,体积的变化才能简单地计算
3. 融化速率r (米/天)=h(拖船速度,海水温度)
4. 冰山到达目的地后,1m3冰可融化成0.85m3水.
5、模型构成
首先讨论冰山体积在运输过程中的变化情况然后计算航行中的燃料消耗,由此可以算出到达目的地后的冰山体积和运费。在计算过程中需要根据搜集到数据拟合出经验公式。模型构成可分以下几步。
1.冰山融化规律
当选定的船速为u km/h,拖船与南极距离为d km.记冰球融化速率r米/天,由
表5中的融化数据, 可知:
从列来看,融化速率r是船速u的线性函数。
>>x=[1 3 5]
>>y=[0.1 0.15 0.2]
>>plot(x,y)
根据表5给出的数据,利用数值计算方法,进行三次样条插值函数的求解,具体过程如下:
1, 先根据给定的函数表,假设边界条件 依次计算 , , , , :
=3-1=2, =5-3=2;
= =0.5
=1- =0.5
= ;由于 =0,我们取一个小数的值代替它,这里我取 =0.1,
则 =0.15
得出 0.08
根据公式:
由于 = =0 = =0
得
同样对于行,r与距离d是线性关系:
>>x=[0 1000 4000]
>>y=[0. 0.1 0.3]
>>plot(x,y)
得出三次样条插值函数:
因r与d,以及u之间的图形皆近似直线,为简便计算,
取r与u成三次关系,取r与d成一次关系,现试探性地取r与d,u的关系为
又,d=24ut
得
有了半径的变化,就可以考虑体积的变化
记第t天冰山半径为Rt,体积为Vt,则
(5)
(6)
其中R0,V0为从南极启运时冰山的初始半径和体积;由(4)~(6)式可知冰山体积是船速u、初始体积V0和航行天数t的函数.记第t天的冰山体积为V(u,V0,t),
其中rk由(4)式表示.
2.燃料消耗费用
分析表4给出的燃料消耗(英磅/千米,记作 ) 数据可以看出, 对船速u
和冰山体积V的对数lgV ,即[5 6 7] 均按线性关系变化,所以可设
展开得
把 c1、c1c2、c1c3、c1c2c3 视为独立的待定参数做数据拟合
对比上述公式,表格中的每一个数据可给出一个线性方程
仿前,用Matlab求解
然后再解出c1,c2,c3
c1=0.3 c2=1.8/0.3=6 c3= - 0.3/0.3= - 1
利用表4所给数据可以确定
由(7)~(9)式可将拖船航行第t天的燃料消耗记作q(u,V0,t)(英磅/天)且有
费用由拖船的租金和燃料消耗两部分组成,由表3知船的日租金取决于船型,船型又由冰山的初始体积V0决定,记日租金为f(V0),显然有
又因为当船速为u(km/h)时冰山抵达目的地所需天数为 所以租金
费用为 而整个航程的燃料消耗为 由(10)式得运送
冰山的总费用为
4.冰山运抵目的地后可获得水的体积.
将t=T代入(7)式知,冰山运抵目的地后的体积为
注意到假设(3),则得到水的体积为
5.每立方米水所需费用
记冰山运抵目的地后每立方米所需费用为y(u,V0),由(12),(14)式显然有
6、模型求解
这个模型归结为选择船速u和冰山初始体积V0,使(15)式表示的费用Y(u,V0)最小,其中S(u,V0)由(12),(4)式给出,W(u,V0)由(14),(4)式给出.由于f(V0)是分段函数,只能固定一系列V0值对u求解. 又因为由调查数据(表4,表5)得到的经验公式是非常粗糙的,对船速u的选取也不用太精细,所以没有必要用微分法求解这个极值问题.表6是对几组(V0,u)值的计算结果,可知若选取最大的冰山初始体积V0=10000000 m3(当然要租用大型拖船),船速u=4~5km/h,每立方米水的费用约0.065英磅.
编写函数M文件
~~~~~~~~~~~~~~~~%主函数
function y=funmain(U,V,a,b);
A=zeros(b,a);
for k=1:b
for d=1:a
u=U(d); v=V(k);
A(k,d)=func(u,v);
end
end
y=A;
~~~~~~~~~~~~~~~~~~~~%子函数;
function Y=func(u,v)
m=0;
for t=1:400/u
r=0.08*((5-u)^3)/12+0.0016*u*t
m=m+r;
end
w=3.14*pi*((3*v/4/pi)^(1/3)-m)^3/3;
if v<=(5*10^5)
h=4;
else if v<=10^6
h=6.2;
else if v<=10^7
h=8;
end
end
end
z=0;
for t=1:400/u
r=0.08*((5-u)^3)/12+0.0016*u*t
n=0;
for k=1:t
n=n+r;
end
L=log10((3*v/4/pi)^(1/3)-n);
z=z+L;
end
s=(3*z-151/u)*7.2*u*(u+6)+400*h/u;
Y=s/w;
Matlab命令窗口输入:
U=[3 3.5 4 4.5 5]; V=[10^7 5*10^6 10^6]; a=5; b=3; y=funcd(U,V,a,b)
然后回车,出现以下结果:
y =
0.0752 0.0565 0.0496 0.0452 0.0449
0.2274 0.1476 0.1208 0.1051 0.1022
17.1009 2.7929 1.4619 1.0373 0.9160
于是有,
U
V
3 3.5 4 4.5 5
0.0752 0.0565 0.0496 0.0452 0.0449
0.2274 0.1476 0.1208 0.1051 0.1022
17.1009 2.7929 1.4619 1.0373 0.9160
7、结果分析
利用三次样条插值得出的函数,得到的结果虽然小于海水淡化的费用(每立方米0.1英磅) ,但是模型中未考虑影响航行的种种不利因素,会拖长航行时间致使冰山抵达目的地后的体积显著地小于模型中的V(u,V0,T).并且没有计算空船费等其他费用.专家们认为,只有当用这个模型计算出来的费用显著地小于海水淡化的费用时(譬如小一个数量级),才有理由考虑采用冰山运输的方法获得淡水. |