您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 理学 > 2012年数学建模优秀论文 油田选址问题
2012年全国大学生数学建模竞赛井冈山大学选拨赛暨井冈山大学第五届“井冈杯”全校数学建模竞赛论文题目:B题油田选址问题参赛队员姓名:方文彩专业:数学与应用数学电话:18079603318学号:100511028姓名:林文涛专业:数学与应用数学电话:15179633173学号:100511041姓名:任文彬专业:软件工程电话:18970672660学号:1009130491B题油田选址问题摘要本文解决的是在多个油井区域关于炼油厂最优选址的问题。首先,将所给的9个油井口的坐标用MATLAB编程描绘出来,通过给出的所对应的油井口的产量与位置等因素分别分析3个问题,列出所求的目标函数,建立相应的数学模型,借助编程来实现复杂的计算,最后通过比较得到较优的方案。对于问题一,我们运用穷举法解决。由于总运费为每口油井的年产量与单位运费的乘积之和,根据单位运费与运输距离成正比,不妨设比例系数为1,那么,总运费也可表示为每口油井的年产量与任意两点间运输距离平方和的乘积之和,年产量题中已给出,故为了使总费用最低,首先,需通过求解最短运输距离平方达到,而最短运输距离平方的求解可在C++中编辑算法来实现;其次,任意两口油井间的总费用也可在C++中编辑算法来实现。通过计算比较,我们认为炼油厂应建在井口1附近,总费用Z1=48944。对于问题二,这里我们用两种方法进行讨论。方法一:首先,将已知九口油井的位置坐标在直角坐标系中描出,并且连线确定它们所围成的区域I,总运费为年产量与运输距离平方乘积之和,年产量及油井位置坐标均已知,所以总运费可表示为二元二次函数,约束条件由区域I得出,这样便建立了一个非线性规划模型;其次,在MATLLAB中实现二元函数的化简;再次,可转化为数学分析中关于求二元函数的极值问题进行求解,抑或根据枚举法,在C++中实现最少费用的求解;进而,得出炼油厂的最佳位置和最少费用,并对这两种算法进行评估分析。方法二:通过在该区域中随机模拟炼油厂的位置,计算出所需要的总运输费用,并且经过大量的随机模拟,找出其中较好的方案,经过MATLAB编程得到的最终方案是:炼油厂建在坐标(32.4,35.0)km处,该总运输费用为10213。而问题三将所给的9个油井口分成2组,共有4种方案,分别为(1,8),(2,7),(3,6),(4,5)表示M、N这2个炼油厂分别负责的油井口数量。通过随机模拟的方法分别计算出4个方案中比较好的方案,然后列表对比得到最终的方案。由MATLAB程序和对比得到的最终的方案是:炼油厂M负责3号油井口,建在3号炼油厂附近,即M的坐标(4,81)km;炼油厂N负责其余的8个油井口,所在的位置为(41.6,24.9)km,且所需要的总运输费用为6546。关键字:非线性规划随机模拟动态优化MATLAB软件2一、问题重述在商品高度市场化的当今社会,物品时时刻刻处于流动之中。资料显示,商品的平均物流成本占总成本的36%,而其制造成本仅占总成本的13%。据2011年5月9日CCTV《经济半小时》报道,去年我国物流总费用占GDP的18%,比发达国家高出近一倍,放在市场竞争日益激烈的今天,物流管理显得日益重要。某一油田在一平坦地区拥有九口油井,其年产量及位置如下表所示。所有的原油都需要运输到炼油厂进行提炼。现在不考虑炼油厂的建设费用,因此总的费用仅与炼油厂的位置有关。在假定的单位运费与运输距离成正比的条件下,需对以下问题做出决策:一、如果两点间的距离以折线计算,且九个井口均可作为炼油厂的候选位置,问炼油厂建在哪个井口附近(该井口到炼油厂距离以0计)最佳,总运输费用是多少?二、若两点间距离以直线距离计算,且该区域的任一点均可作为炼油厂的候选厂址,炼油厂应建在何处,总费用是多少?三、若油田高层已决定在该地区见两个炼油厂,不考虑炼油厂的建造费用,仅考虑运费,两个炼油厂分别建在什么位置,各应服务于哪几个油井(假定一个油井的原油只能运往一个炼油厂),才能使总运费最低,总费用是多少?井号位置(X,Y)(km)产量(万吨)1(22,38)172(8,13)403(4,81)604(51,32)205(38,11)256(17,12)157(81,63)508(19,45)89(62,12)30请分别建立以上三个问题的数学模型,并予以求解,对你所建模型的优劣性进行评估。二、问题分析问题—:由于炼油厂被要求建设在所给的9个油井口附近,则以其中一个油井口为中心分别向其它井口作折线。不妨计算出分别以1-9号井口为炼油厂所需要的总运输费用,然后比较得出较好的方案。这部分可以利用C++语言程序编程实现。3问题二:方法一,通过题意建立一个非线性规划模型,运用MATLAB程序与C++语言程序进行计算。方法二,炼油厂可以建在所给的区域的任一点,我们利用MATLAB里的随机函数随机出一点,假设作为炼油厂的选址地点。然后以这一点为中心,分别计算与1—9号油井口运输所需的运输费用,然后求和。根据所取点的随机性,我们可以多次随机,并比较就能得出较优的方案。该部分就可以利用MATLAB编程实现。问题三:现在又要求建2个炼油厂,我们由此考虑将那9个油井口分成2组,2组可以有4种情况:(1,8)、(2,7)、(3,6)、(4,5)。然后再分情况计算所需要的总运输费用,最后比较得出哪种情况较好。这方面MATLAB可以很好的实现。三、模型的假设1、当炼油厂建在某个井口附近,则该井口到炼油厂的距离以0计;2、题中我所给的平坦地区假设为3、炼油厂的建设费用不考虑(题目已知);4、单位运输与运输距离成正比(题目已知);5、单位运输的费用与运输距离的比例系数假定为1.四、符号说明符号说明X各油井横坐标的数组Y各油井纵坐标的数组Z各油井产量的数组D总运输费用M炼油厂MN炼油厂NCij从第i口油井到第j口油井的单位运输费用(i=1,2,……9;j=1,2,……9)4Sij第i口油井与第j口油井之间的最短距离(i=1,2,……9;j=1,2,……9)Ti每口油井的年产量(i=1,2,……9)Bi从第i口油井到炼油厂的单位运输费用(i=1,2,……9)Zij炼油厂建在油井附近时各油井之间的运输费用(i=1,2,…9;j=1,2,……9)di从第i口油井到炼油厂的距离(i=1,2,……9)号油井的横坐标号油井的纵坐标号油井的产量第次随机时油厂的横坐标第次随机时油厂的纵坐标第次随机时炼油厂M的横坐标第次随机时炼油厂M的纵坐标第次随机时炼油厂N的横坐标第次随机时炼油厂N的横坐标油厂建设在号油井时的总运输费用(问题一);第次随机时,总运输费用(问题二)五、模型建立与求解首先将1—9号油井口的位置在图中标识:5图一问题一;假如两点间的距离以折线计算,且九个井口均可作为炼油厂的候选位置。单位运输费用Cij与运输距离Sij成正比,比例系数为K,有Cij=K×Sij=Sij(K=1),又由当Sij≧0时,Sij2与Sij同增减,所以Sij2的最小即可反映Sij的最小。总运输费用D=∑Ti×Sij2。用C++语言程序(见附件1)实现任意两油井之间最小距离的平方Sij2的计算,见下表一。将表一中每行数字分别乘上各油井的年产量并将每一列的数字相加得表二。由表二中每列数字累加结果比较得知,该炼油厂应建在井口1附近,总费用Z1=48944。表一:任意两油井之间最短距离的平方Sij212345678910821217387798570141065822766282104640221090482782911452197321734640046106056493062531521812548772210461006101556186111935215985904605661004424553151757767018249301556442066971093202574106782962531861455366970416829628958227611452917152181251193521151757710932025416829620293829380表二:炼油厂建于下列油井口附近时的总的运输费用Dj1234567891013597369411490916975119176980298638692232840018560088400361603280313160458001166803130380278400027660036336029580037518091260487500417540442009220001220031120372202386010420524625226001514001525001105011382539725144256105151230739502334066300100451639530375720530039145031265093050227650334850020840014810084649160121609544121368744333440235049682808751024375015630173106075088860881400∑4894484814711085615367236924217575111041436514566869696问题二:(我们这里用两种方法讨论)方法一:模型构建假如两点间距离以直线计算,且该区域的任一点均可作为炼油厂的候选厂址。在平面内建立XOY直角坐标系,将九口油井的位置在坐标系中描点并画出包围九口油井的区域I,这样炼油厂在该区域中选位置可使运输距离最短,区域见图一。设炼油厂位置坐标为(X,Y),九口油井的位置坐标分别为(Xi,Yi),第i口油井到炼油厂的距离di=∑√(X-Xi)2+(Y-Yi)2,单位运输费用Bi=di2,总的运输费用D=∑Ti×Bi=∑Ti×di2。总的运输费用的目标函数minD=∑Ti×di2=∑Ti×[(X-Xi)2+(Y-Yi)2](1)约束条件如下:17X+Y-149≧0(2)18X+77Y-6309≦0(3)X+9Y-125≧0(4)X-21Y-269≧0(5)X-24Y+226≦0(6)751X-19Y-2934≦0(7)(1)—(7)构成了一个非线性规划模型。模型求解D的化简可在MATLAB软件(见附件2.1)中编程实现,得出D=265X2+265Y2-18442X-21982Y+1220064(8)计算D的最小值:法一:运用数学分析中关于二元函数求极值的方法进行计算,具体步骤如下:首先,由于目标函数D在区域I中的一阶、二阶偏导函数连续,所以,Zx’,ZY’,Zx2’,Zxy’,ZY2’是存在的;其次,对D关于X和Y求一阶、二阶偏导,再次,令Zx’=0,ZY’=0,找到可能的极值点,最后,通过二阶偏导与实际问题相结合,找到最小值点。其中,Zx’=530X-18442ZY’=530Y-21982令A=Zx2’=530B=Zxy’=0C=ZY2’=0H=A×C-B2通过计算,得到极值点(X,Y)=(35.55,41.48),又在该点处H0,A0,故此点即为最小值点,此时最小值D=457420元。通过以上的求解得出炼油厂最佳位置为(35.551,41.475),最少运输费用D为457420。法二:比较九口油井的坐标值,大体估计炼油厂所在矩形区域D{0X90,0Y90},然后根据枚举法,在C++中编辑程序(见附件2.2),得出D的最小值。运行结果为当炼油厂的坐标为(34.796,41.475)时,总的运输费用最少,此时minD=443351。结果分析比较两种解法,结果都是精确到0.001,法二通过计算机得到的结果更准确,法一运用数学知识,计算简单,结果差别很小,所以,这两种算法在实际中都是适用的。方法二:1)、为了求出最佳的地点,我们将本区域内任一随机点视为已知坐标的点,即为常数。然后求解出这一点(炼油厂)和各点(油井)之间的距离,进而求出运输费用。运输费用2)、随机数越来越大时,运输费用越趋向于所有可能。然后找出其中最小的一个,以及和其相对应的。即为我们想要求解的最佳地点和最佳运输费用。3)、求解(通过
本文标题:2012年数学建模优秀论文 油田选址问题
链接地址:https://www.777doc.com/doc-5271927 .html