文档库 最新最全的文档下载
当前位置:文档库 › 数学建模论文-炼油厂的选址

数学建模论文-炼油厂的选址

井冈山大学第五届“井冈杯”数学建模竞赛

B题参赛论文(油田选址问题)

彭安平(数理学院10计算本一)(会员)联系方式:151******** 郭本阳(数理学院10计算本一)158******** 曾燕(电信学院09信息本一)151********

摘要 本文是对九个油井来选择最优的炼油厂地址使其总运输费用最少问题。

通过给出的所对应的油井口的产量分别分析3个问题,列出所求的目标函数建立数学模型,借助matlab 来实现复杂的计算,从而得到较优的方案。

此题的根公式:2

s d k z =??。

问题一:选点的最优问题,通过综合考虑分别在九个井口处建炼油厂建立模型,由根公式并通过matlab 实现计算比较得出最优方案(一号油井处建炼油厂,总费用为853520*k );

问题二:通过随机模拟在其范围内的各点建炼油厂,分别计算出所需要的总费用,由根公式通过matlab 编程计算找出其最佳地址。求出的炼油厂建在(34.95,41.51)km 处,总费用为952103459250267/2147483648*k ; 问题三:将9个油井随机分为2组为两炼油厂分别负责的油井号。由随机模拟的方法和根公式并通过matlab 分别计算出4个方案中较优的方案,然后对比得到最终的较优方案,两厂坐标为(4.0460,80.7837)和(43.8511,29.8459)总费用为66741342533787/268435456*k 。

最后对本文所建立的模型在实际中进行了分析,并提出了改进方向。问题一中假设建立货物虚设站,利用树算法,可以进一步优化总费用(见附录五简述)。

关键词: 根公式 动态随机点模拟 matlab 编程计算 虚设站

一、问题重述

在商品高度市场化的当今社会,物品时时刻刻处于流动之中。资料显示,商品的平均物流成本占总成本的36%,而其制造成本仅占总成本的13%。据2011年5月9日CCTV《经济半小时》报道,去年我国物流总费用占GDP的18%,比发达国家高出近一倍,放在市场竞争日益激烈的今天,物流管理显得日益重要。

某一油田在一平坦地区拥有九口油井,其年产量及位置如下表所示。所有的原油都需要运输到炼油厂进行提炼。现在不考虑炼油厂的建设费用,因此总的费用仅与炼油厂的位置有关。在假定的单位运费与运输距离成正比的条件下,需对以下问题做出决策:

一、如果两点间的距离以折线计算,且九个井口均可作为炼油厂的候选位

置,问炼油厂建在哪个井口附近(该井口到炼油厂距离以0计)

最佳,总运输费用是多少?

二、若两点间距离以直线距离计算,且该区域的任一点均可作为炼油厂

的候选厂址,炼油厂应建在何处,总费用是多少?

三、若油田高层已决定在该地区见两个炼油厂,不考虑炼油厂的建造费

用,仅考虑运费,两个炼油厂分别建在什么位置,各应服务于

哪几个油井(假定一个油井的原油只能运往一个炼油厂),才

请分别建立以上三个问题的数学模型,并予以求解,对你所建模型的优劣性进行评估。

二、问题分析

问题—:要求炼油厂建设在所给的9个油井口附近(不计厂与此油井的距离),以其中一个油井为中心分别向其它井作折线。分别计算出以1-9号油井

为炼油厂所需的总运输费用,从而得出较好的方案。

问题二:因为炼油厂可以建在所给的区域的任一点,此时利用MATLAB的随机函数给出随机点作为炼油厂厂址。再分别计算此随机厂与9口油井的总

运输费用。经过大量随机点,就能得出较优的方案。

问题三:现要求建2个炼油厂,所以可将那9个油井口分成2组:(1,8)、(2,7)、(3,6)、(4,5)。

再由大量随机点分别计算4种情况所需要的总运输费用,最后比较得出最优解。

以上问题均用matlab实现

三、模型的假设

1、当炼油厂建在某个井口附近,则不考虑该井口到炼油厂的距离;

2、题中我所给的平坦地区假设为;

,0[km

81

x∈

km

y

]

81

]

,0[

,

3、假设运输车严格按照路线行驶且炼油厂占地为零。

4、假设单位运费与运输距离的比例系数为k。

5、假设随机点能取遍整个可行区域。

6、不考虑炼油厂和虚设站的建设费用。

四、符号说明

X 各油井横坐标的数组

Y 各油井纵坐标的数组

Z 各油井产量的数组

m 单位运费,

d 两点之间的距离,

k 单位费用与运输距离的比例系数,

z 产油量,

s 单条路线费用

S 总费用

M 炼油厂M

N 炼油厂N

()i X i号油井的横坐标

()i Y i 号油井的纵坐标

()i Z i 号油井的产量

()i x 第i 次随机时油厂的横坐标 ()i y 第i 次随机时油厂的纵坐标

()i x 1 第i 次随机时炼油厂M 的横坐标

x2(i) 第i 次随机时炼油厂N 的横坐标 y1(i) 第i 次随机时油厂M 的纵坐标 y2(i) 第i 次随机时油厂N 的纵坐标

五、模型的建立与求解

问题一: 模型建立:

1)、由单位运费与运输距离成正比可得:m k

d

=......(1) 又因为 s m d z =?? ......(2) 由(1)和(2)可得 2

s d k z =??……(3)。

所以以各口油井且以折线建炼油厂的各总运费公式为:

9

21

()(|()()||()()|)()

j S i k X j X i Y j Y i Z j ==-+-?∑(i=1,2.....9) (4)

比较S(i),得出最终运费S=min(S(i))

模型求解:

整理得下表:(用matlab 编程求解,源程序见附录二)

853520*k 。 (坐标图示和源程序见附录一(1)):

问题二 模型建立:

1)、在坐标一定范围内随机产生一点:(x(i),y(i))作为炼油厂的坐标点,同理由根公式

2(3)s d k z =?? 可得在这点建厂且以直线运输所需的运输费用公式:

9

221()((()())(()()))()

j S i k X j x i Y j Y i Z j ==-+-?∑

2)、一定条件下利用MATLAB 软件进行随机模拟尽可能曾大随机数i ,使运输费用S 越趋向于所有可能。再找出其中最小的S(i),和相应的炼油厂坐标

()()()i y i x ,。

模型求解:(源程序见附录三) 通过MTLAB 程序得

ans =

34.94967107903618 ans =

41.51413800062496 ans =

952103459250267/2147483648*k

所以炼油厂建在(34.95,41.51)km 处,如下图所示。且此时的总费用为

952103459250267/2147483648*k

其坐标图和坐标图源程序见附录一(2)

问题三: 模型建立:

将9个油井随机分为2组为两炼油厂分别负责的油井号,由随机模拟的方法得出模拟炼油厂并计算出各组中两模拟炼油厂所负责的油井的总费用,取各次模拟总

费用的最小值,得出各组模拟的最小值,最后得到一个最小费用的分组并用matlab输出此费用的两厂坐标值即为最终所求。

模型求解:(源程序见附录四)

整理得下表:

M负责1口,N负责8口(h=1) M负责2口,N负责7口

(h=2)

M负责3口,N负责6口

(h=3)

M负责4口N负责5口

(h=4)

M负责8口,N负责1

口(h=8)(验证数据)

M负责的

油井号

3 3,7 3,7,8 3,4,7,9 1,2,4,5,6,7,8,9 N负责的

油井号

1,2,4,5,6,7,8,9 1,2,4,5,6,8,9 1,2,4,5,6,9 1,2,5,6,8 3

两炼油厂的坐标M(4.0460,80.7837) M(38.9410,72.7700) M(37.5563,71.0205) M(44.7150,56.0694) M(43.9905,29.8865) N(43.8511,29.8459) N(31.6494,19.2309) N(32.4835,17.8656) N(19.3524,18.8838) N(4.0187,80.9354)

总运输费

2.4863e+005*k

3.4003e+005*k

4.1257e+005*k 4.0207e+005*k 2.4864e+005*k

由上表可知:

建两个炼油厂时的较优方案为一个厂负责3号油井的加工,另一个则负责其余8

口油井的加工。

其坐标图和坐标图源程序见附录一(3)

六、模型评价

(1)优点:

1.计算过程采用MATLAB数学软件,使计算比较精确简便,减少误差;

2.合理的假设,使复杂问题简单化,抽象问题具体化;

3.在模型分析中,通过多种方法对比计算,更容易找到我们的优化解决方案;

4.运用了一些图形,用数形结合法来进行分析,使模型思路更清晰,更有说服

力;

5.本文建立模型符合实际情况,真实的考虑了各种车型、运费单价等等情况对

总费用最省的影响,并且具有一般性,便于模型的实施、应用和推广;

6.本文用的数学方法都比较简单易懂,方便方案的利用。

7.我们采用了随机性,更加具有普遍性,这样更能接近真实值。

(2)缺点:

1.虽然用了数学软件MATLAB编程计算,但由于自身电脑性能的限制,不能

进行更加精确的计算,其中不免有些误差。

2.模型假设的时候可能考虑不周,难免存在一些细小问题被忽略;

3.语言方面表达可能有所欠缺,影响论文。

七、参考文献

井冈山大学数学建模协会,MTLAB与数学建模,第一版

重庆大学数学系数学实验科学出版社第一版

原思聪,MATLAB语言机械工程应用,机械工程出版社,200年8月第一版优酷视频matlab基础教程,https://www.wendangku.net/doc/e77098750.html,/v_show/id_XMTc2NDgxMjk2.html

八、附录

附录一:

(1)问题一:

A=[22 8 4 51 38 17 81 19 62];

B=[38 13 81 32 11 12 63 45 12];

plot(A,B,'pentagram')

title('油井位置')

gtext('1号(22,38)')

gtext('2号(8,13)')

gtext('3号(4,81)')

gtext('4号(51,32)')

gtext('5号(38,11)')

gtext('6号(17,12)')

gtext('7号(81,63)')

gtext('8号(19,45)')

gtext('9号(62,12)')

gtext('炼油厂')

(2)问题二:

A=[22 8 4 51 38 17 81 19 62 34.95]; B=[38 13 81 32 11 12 63 45 12 41.51]; plot(A,B,'pentagram')

title('油井位置')

gtext('1号(22,38)')

gtext('2号(8,13)')

gtext('3号(4,81)')

gtext('4号(51,32)')

gtext('5号(38,11)')

gtext('6号(17,12)')

gtext('7号(81,63)')

gtext('8号(19,45)')

gtext('9号(62,12)')

gtext('炼油厂(34.95,41.51)')

(3)问题三:

A=[22 8 4 51 38 17 81 19 62 4.0460 43.8511];

B=[38 13 81 32 11 12 63 45 12 80.7837 29.8459]; plot(A,B,'pentagram')

title('油井位置')

gtext('1号(22,38)')

gtext('2号(8,13)')

gtext('3号(4,81)')

gtext('4号(51,32)')

gtext('5号(38,11)')

gtext('6号(17,12)')

gtext('7号(81,63)')

gtext('8号(19,45)')

gtext('9号(62,12)')

gtext('M(4.0460,80.7837)')

gtext('N(43.8511,29.8459)')

附录二(问题一):

X=[22,8,4,51,38,17,81,19,62];

Y=[38,13,81,32,11,12,63,45,12];

Z=[17,40,60,20,25,15,50,8,30];

syms k

for i=1:9

S(i)=0;

for j=1:9

S(i)=S(i)+(abs(X(j)-X(i))+abs(Y(j)-Y(i)))^2*Z(j);

end

S(i)*k

end

附录三(问题二):

X=[22,8,4,51,38,17,81,19,62];

Y=[38,13,81,32,11,12,63,45,12];

Z=[17,40,60,20,25,15,50,8,30];

format long

for i=1:100000

x(i)=rand(1)*81;y(i)=rand(1)*81;

S(i)=0;

for j=1:9

S(i)=S(i)+((x(i)-X(j))^2+(y(i)-Y(j))^2)*Z(j);

end

end

f=min(S);

for t=1:100000

if f==S(t)

x(t)

y(t)

end

end

syms k

f*k

附录四(问题三):

X=[22 8 4 51 38 17 81 19 62];

Y=[38 13 81 32 11 12 63 45 12];

Z=[17 40 60 20 25 15 50 8 30];

h=input('h='); %h取值范围为1到8

for m=1:2000

G=randperm(9);

for i=1:10000

x1(i)=rand(1)*81;y1(i)=rand(1)*81;

x2(i)=rand(1)*81;y2(i)=rand(1)*81;

S1(i)=0;S2(i)=0;

for j=1:h

S1(i)=S1(i)+((x1(i)-X(G(j)))^2+(y1(i)-Y(G(j)))^2)*Z(G(j));

for k=(h+1):9

S2(i)=S2(i)+((x2(i)-X(G(k)))^2+(y2(i)-Y(G(k)))^2)*Z(G(k));

end

end

end

f1(m)=min(S1);

f2(m)=min(S2);

for i=1:10000

if f1(m)==S1(i)

xm(m)=x1(i);

ym(m)=y1(i);

end

if f2(m)==S2(i)

xn(m)=x2(i);

yn(m)=y2(i);

end

end

f(m)=f1(m)+f2(m);

for k=1:9 E(m,k)=G(k); end end

F=min(f) for i=1:2000 if F==f(i) xm(i) ym(i) xn(i) yn(i) E(i,1) E(i,2) E(i,3) E(i,4) E(i,5) E(i,6) E(i,7) E(i,8) E(i,9) end end syms k F*k

附录五(问题改进方向): 简单问题改进模型:

问:A=(0,0)B=(2,0) v=(1,0) C=(1,1) ;A,B 为油井,C 为炼油厂,Z(a)为A 的产油量,Z(b)为B 的产油量,假设单位运费与运输距离的比例系数为k ,现将AB 油井的产油以折线的方式运往C 中进行加工。 改进思想在v 处建一个虚设站,即将Z(a)和Z(b)汇总后在运往炼油厂进行加工,假设不计虚设站的建造费用。

现设:a 为A 到v 的距离,b 为v 到B 的距离,c 为v 到C 的距离,S(1)为改进前的总运费,

S(2)为改进后的总费用。由根公式

2

s d k z =??可得: 22

(1)()()()()S a c k Z a b c k Z b ??=+??++????

222(2)()()(()())S a k Z a b k Z b c k Z a Z b =??+??+??+

比较S(1)和S(2)式可知改进后费用少了:2(()())k c a Z a b Z b ????+?

相关文档
相关文档 最新文档