油田选址问题完整解答(内附完整代码).doc_第1页
油田选址问题完整解答(内附完整代码).doc_第2页
油田选址问题完整解答(内附完整代码).doc_第3页
油田选址问题完整解答(内附完整代码).doc_第4页
油田选址问题完整解答(内附完整代码).doc_第5页
免费预览已结束,剩余23页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

油田选址问题【摘要】本文从油田选址的实际情况和费用特点出发,针对两点间距离的不同计算方法、不同的炼油厂数目,提出了优化模型、单目标非线性规划模型、二源分类选址模型等进行选址。针对问题1,首先我们定义炼油厂到每个油井之间的折线距离,利用两点间折线距离和油井产量建立最小运输费用的优化模型,通过VC+编程计算出九种情况下的总运费,最终确定炼油厂的最优位置为油井1附近,最小总运费为万元。针对问题2,首先我们定义炼油厂到各个油井之间的直线距离,利用两点间直线距离和油井产量建立了最小运输费用的单目标非线性规划模型,通过matlab软件求解,确定炼油厂的最优位置在坐标处,最低总运费为万元,由于最小总运费对于炼油厂的位置比较敏感,我们还对此模型进行了灵敏度分析,得到非线性规划模型对于选址具有很高的可信度。针对问题三,由于可在该地区建立两个炼油厂,且不知道两个油田分别服务于哪些油井,因此我们将九个油井分为四类,其一:A炼油厂负责其中一个油井,B负责其他八个;其二:A负责其中两个油井,B负责其他七个;以此类推,直到A负责其中四个油井,B负责其他五个。再利用两点间直线距离和油井产量建立了最小运输费用的二源分类选址模型,通过matlab编程求解,两个炼油厂的最优位置分别为A、B,A仅负责第3号油井,B服务其他八个油井,最小总运费为万元。关键字:炼油厂 优化模型 选址问题 非线性规划 灵敏度分析(组员10信息与计算科学一班李胜 范彬 胡浩)一、问题重述1.1 基本情况在商品高度市场化的当今社会,物品时时刻刻处于流动之中。资料显示,商品的平均物流成本占总成本的36%,而其制造成本仅占总成本的13%。据2011年5月9日CCTV经济半小时报道,去年我国物流总费用占GDP的18%,比发达国家高出近一倍,故在市场竞争日益激烈的今天,物流管理显得日益重要。某一油田在一平坦地区拥有九口油井,其年产量及位置如下表所示。所有的原油都需要运输到炼油厂进行提炼。现在不考虑炼油厂的建设费用,因此总的费用仅与炼油厂的位置有关。在假定的单位运费与运输距离成正比的条件下,需对以下问题做出决策:井号位置(X,Y)(km)产量(万吨)1(22,38)172(8,13)403(5,81)604(52,32)255(38,11)306(16,12)157(81,63)508(18,45)89(62,12)351.2 需解决的问题请分别建立以下三个问题的数学模型,并予以求解,并对你所建模型的优劣性进行评估。 1、如果两点间的距离以折线计算,且九个井口均可作为炼油厂的候选位置,问炼油厂建在哪个井口附近(该井口到炼油厂距离以0计)最佳,总运输费用是多少? 2、若两点间距离以直线距离计算,且该区域的任一点均可作为炼油厂的候选厂址,炼油厂应建在何处,总费用是多少? 3、若油田高层已决定在该地区建两个炼油厂,若不考虑炼油厂的建造费用,仅考虑运费,两个炼油厂分别建在什么位置,各应服务于哪几个油井(假定一个油井的原油只能运往一个炼油厂),才能使总运费最低,总费用是多少?二、符号说明1、各种情况下的最下总运费;2、油井与炼油厂之间的距离;3、第个油井的产油量();4、单位运费;5、 单位运费与运输距离间的比例系数;6、 第个油井的坐标();7、 油井产量与油井和炼油厂间的距离的乘积;8、 第三问中所求炼油厂的位置;9、 第三问所求炼油厂的坐标();10、 分别表示第三问中两个油田服务的油井集合11、 表示第三问分类中两个炼油厂的运输费用;三、 模型假设1、油田的允许容量没有限制;2、单位运费与油田的接收油量无关;3、不考虑运输过程中的原油损耗;4、采用管道运输方式将原油运送到炼油厂;5、将油井看作直角坐标系上的点,将输油管道看作线段;6、假设所有的油井均在同一个平面上;7、不考虑运输过程中的设备损耗以及维修费用;8、为了简化计算过程,可以文中出现的一些计算结果进行近似处理;四、 问题分析由题干可知,所有的原油都需要运输到炼油厂进行提炼。从中国石油天然气运输公司的官网上查到:油气管道运输有高效率、低成本和安全可靠等优势,有数据显示,采用铁路油罐运输,运输过程中出现的损耗量高达0.5%,而采用管道运输方式损耗率最高只有0.25%。因此,从长远考虑,应采用管道运输方式运输原油。题干中假定单位运费与运输距离成正比,通过查找资料并计算可求出其比例系数。首先,针对问题1,建立该问题的快速算法问题,利用两点间的折线距离和各点产量计算比较的初最小运费。其次,针对问题2,建立该问题的单目标非线性规划模型,利用两点间的直线距离和各点产量比较计算出最小运费。最后,针对问题3,通过比较前面两个问题的求解过程,由于可在该地区建立两个炼油厂,且不知道两个油田分别服务于哪些油井,因此我们将九个油井分为四类,其一:A炼油厂负责其中一个油井,B负责其他八个;其二:A负责其中两个油井,B负责其他七个;以此类推,直到A负责其中四个油井,B负责其他五个。再利用两点间直线距离和油井产量建立了最小运输费用的二源分类选址模型。五、 模型的建立与求解从所要解决的问题和模型假设条件出发,我们建立了三个模型并对其进行求解。1、 模型一 优化模型1.1 问题分析折线距离问题要求两点间距离以折线计算,炼油厂只能建在九口油井中任一口油井的附近,通过通过分析可知,建立直角坐标系后,从散点图上可以看出,任一口油井与炼油厂直接相连作为直角三角形的斜边,其两条直角边之和即为油井与炼油厂之间的最小折线距离。故两油井和之间的距离为: (式1)单位运费与距离比例系数根据题干要求,单位运费和运输距离之间成正比例,比例系数k,故: (式2)最小运费根据问题要求,总运输费用与油井的年产量及油井与炼油厂之间的距离两因素有关,由于各口油井的年产量已知,要使总运输费用最低,只需考虑使距离与产量()的乘积之和最小,即最小运输费用为: (式3)1.2 模型建立综上所分析,最小运费为: (式4)1.3 模型求解通过附录原油运输价格表(2003年开始执行)分析计算得知。通过VC+编(程序见附录1)程求出在任一口油井作为炼油厂的情况下各油井与炼油厂的距离与年产量乘积的最小值。各油井间的折线距离()距离分布表(公里)油井12345678910396135433184106623907262321012343553617209610482955112743562960345461453154332104340229553256311082542201153545784123956195115080708104351455335800769665512731254570760 表(1)再利用已知个油井产量()和比例系数,利用VC+编程(程序见附录1)得到炼油厂位置和总费用如表(2)。炼油厂位置1号井2号井3号井4号井5号井6号井7号井8号井9号井距离性价137201531718635148351518514857201081398016970总费用223640249670303750241810247520242170327760227870276610炼油厂选址和运输费用表(万元) 表(2)通过上表分析,最终确定问题1的炼油厂最优选址为1号井附近(如图(1),代万元。图(1)2 模型二 单目标非线性规划模型2.1 问题分析直线距离问题要求以直线计算油井与炼油厂之间的距离且炼油厂的候选位置无条件限制,故两炼油厂和油井之间的直线距离()为: (式5)单位运费与距离比例系数根据题干要求,单位运费和运输距离之间成正比例,比例系数k,故: (式6)最小运费根据问题要求,炼油厂的选址无条件限制,通过分析得知,最优位置应该位于九个点首尾相连形成的区域内。因此,为了简化求解过程,可取定一矩形区域,使得九口油井均在此区域内,即:,使得横、纵坐标均在一个固定范围内。针对此问题,建立单目标非线性规划模型,取横、纵坐标的范围作为约束条件,各油井与炼油厂间的距离与油井年产油量()的乘积的最小值之和作为目标函数,则最小运费的函数为:(式7)2.2 模型建立 综上分析最小运费的单目标非线性规划模型为:(式8) 2.3模型求解利用各个油井产量,通过MATLAB软件求解(程序见附录2)上述非线性规划问题计算结果,最终炼油厂最优选址为:,最小运费为:万元。附:炼油厂位置分布图(图(2) 图(2)2.3 灵敏度分析由题目要求和假设可知,在问题2中炼油厂可建在平面直角坐标系上的任意位置,而在建立第二个模型中,我们假定炼油厂只能建在一个指定的矩形区域内,这是本模型的缺陷所在。为了验证本模型的准确性,我们对本模型进行了灵敏度分析。先在所求得的炼油厂的位置(32,35)附近选取8个点,为了方便计算,假设所取的点均为整点,通过MATLAB编写程序求出在这些点处建造炼油厂的情况下的最小总运费并分别与所得结果做比较(见表3)。为了使本模型有更强的说服力,我们还另外随机选取了8个点,也分别求出了这些情况下的最小总运费(表4)。通过表3和表4可知,在这两种情况下的最优结果均是将炼油厂的位置定在点(32,35)。所以通过对本模型进行灵敏度分析,我们可以认定所建的模型是合理可行的,从而可以将该模型用于生产实践并进行推广。炼油厂位置距离性价总费用(30 35)10223166640(31 34)10220166590(31 35)10216166530(31 36)10218166550(32 33)10224166660(32 34)10216166520(32 36)10215166500(32 37)10222166620(33 34)10216166520(33 35)10214166480(33 36)10216166520(34 35)10217166540(32 35)10213166470炼油厂位置距离性价总费用(47 55)11548188240(45 64)12347201250(12 35)11365185250(45 13 )11744191420(58 84)16058261740(24 68)12527204190(67 98)19513318070(78 454 54)11908194100(47 368 36)12857209570(77 6)16659271550(32 35)10213166470 表(3) 表(4)3 模型三 二源分类选址模型 3.1 问题分析在不考虑炼油厂的建设费用的情况下,建立的炼油厂越多,运输总费用就越低。若在该地区建立两个炼油厂分别为,问题就转换成了每个炼油厂应各服务于几个油井,使得总运输费用最低。我们把九个油井分为四组,分别为类。类计算其中一个炼油厂负责一个油井属于,另一个负责其他八个油井属于。则:类运往的最小运费为:(式9)类运往的最小运费为:(式10)类计算其中一个炼油厂负责2个油井属于,另一个负责其他7个油井属于。则:类运往的最小运费为:(式11)类运往的最小运费为:(式12)以此类推类计算其中一个炼油厂负责4个油井属于,另一个负责其他5个油井属于。则:类运往的最小运费为:(式13)类运往的最小运费为:(式14)最小运费该二源分类选址模型中最小运价极为以上各类分组中两个运价之和的最小值。(式15)3.2 模型建立综上分析可得:最小运价表示为:(式16)3.3模型求解通过matlab编程(程序见附录3,4,5,6)计算,随机取得点,近似计算得出表(5)中的结果:二源分类选址炼油厂位置及总运输费用一个炼油厂负责1个井口,另一个炼油厂负责8个井口一个炼油厂负责2个井口,另一个炼油厂负责7个井口一个炼油厂负责3个井口,另一个炼油厂负责6个井口一个炼油厂负责4个井口,另一个炼油厂负责5个井口M,N这2个炼油厂各自负责的井口序号M(3)N(1,2,4,5,6,7,8,9)M(3,7)、N(1,2,4,5,6,8,9)M(3,4,7)N(1,2,5,6,8,9)M(3,4,7,9)N(1,2,5,6,8)两个炼油厂的坐标(km)M(4,81)N(41.6,24.9)M(4.1,80.9)、N(31.2,17.6)M(52.7,59.9)N(19.2,16.8)M(52.6,52.1)N(15.3,14.4)总运输费用(万元)106699.8177311.4213301.8209748.4费用从低到高排列1243表(5)由上表可知最佳的方案为炼油厂M建设在3号井,仅负责3号井;炼油厂N建设在坐标为的点处位置如图(3)所示:,负责其他八座油井。且此时的运输费用为万元。图(3)六、 模型的优缺点分析1 模型的优点 模型一方便快捷,可以快速地算出所有情况下的最小总运输费用, 还可以用该种算法解决一些与此类似的简单问题。对应问题2建立的单目标非线性规划模型,直接用数学建模中的常用软件可以很方便地求解,对比解决此类问题常用的迭代法和模拟法,该模型省去了不少琐碎繁杂的步棸。最后还对本模型运用了灵敏度分析,说明了该模型有很高的精确度。为求解问题3建立的二源分类选址模型均能很好地解决此类问题,该模型分类清晰全面,运算简单易懂,对于指导生产实践有很大的参考价值。这种模型能很好地收敛到全局最优解,因此算法具有较高的计算精度和适应性。所建立的模型可以很好地应用到现实生活中,有很强的推广价值。2模型的缺点任何一个模型都有或多或少的缺点,模型I也不例外,模型I虽然可以比较快速地求出结果,但是这种算法没有很完备的理论依据,从而降低了本模型的说服力。模型二仅从规划方面进行考虑,没有从多方面对问题进行讨论和求解。建立的二源分类选址模型属于近似算法(随机取点),与真实情况之间有一定的误差。七、模型的推广与应用1、本案例建立的四个模型都可以用于解决最优化问题且都有较高的精确度和可信度,能很好地指导社会生产和实践。2、如模拟退火算法结合启发性算法,能更好的解决连续空间的最优搜索并提高优化性能,加快优化搜索的速度。3、单目标可非线性规划问题可以推广到规模更大的非线性规划问题。4、该题属于炼油厂选址问题,在现实生活中有很广泛的应用。如:仓库选址、加油站选址、桥梁选址、消防站选址等问题。5、本案例涉及多源选址,对于指定在某个区域内要确立多个目标位置的问题可以套用本文中的模型或是对本文中的模型修改后再加以应用27八、参考文献1、 卓金吾,魏永生等.MATLAB在数学建模中的应.北京:北京航空航天大学出版社, 20112、 傅鹂,何中市等.数学实验.北京:科学出版社,20003、 赵廷刚,王素云等.建模的数学方法与数学模型.北京:科学出版社,20114、 李海涛,邓樱等.MATLAB程序设计教程.北京:高等教育出版社,20025、 李大潜.中国大学生数学建模竞赛.北京:高等教育出版社,19986、 姜启源.数学模型(第四版).北京:高等教育出版社,20127、 堪安琦.科技工程中的数学模型.铁道出版社,1988 8、 王树禾.数学模型基础.北京:中国科学技术大学出版社,19969、 /view/7bd29bbac77da26925c5b01e.html附录:附:原油运输价格表(2003年开始执行)执行统一运价率管道运输油定价调整表单位:元/吨720-529529-427426-378377273273以下运距(公里)现行价调后价现行价调后价现行价调后价现行价调后价现行价调后价50以下7.910.28.611.150-8011.61512.616.381-1106.98.917.314.919.216.321111-1408.310.712.4161620.61823.219.825.5141-1701012.914.921.627.923.630.4171-20011.514.81721.92228.424.73.192734.8201-23012.916.619.224.824.83227.835.930.439.2231-26014.218.320.626.639.233.343261-29016.323549.4291-32017.522.626.133.733.643.337.748.641.253.1321-35019.224.828.536.836.847.558.2351-38019.224.828.536.836.847.558.2381-41022.428.954.447.861.752.367.5411-44023.930.835.545.845.75951.26656.372.6441-47025.633384948.86354.870.759.877471-50027.13540.151.751.766.757.974.463.381.7501-55029.137.5551-60034.344.2601-65035.944.6651-70036.947.6701-75039.350.7751-80041.653.7801-85043.556.1851-90045.759901-95047.761.5951-10005064.5源代码:附录1#include#includevoid main()int a9=22,8,4,51,38,17,81,19,62;int b9=38,13,81,32,11,12,63,45,12;int c9=17,40,60,20,25,15,50,8,30;int s9=0,0,0,0,0,0,0,0,0;int i,j,k;for(i=0;i9;i+)for(j=0;j9;j+)si=si+(abs(ai-aj)+abs(bi-bj)*cj;for(i=0;i9;i+)printf(%dn,si);int r=1;for(k=0,i=1;isi)sk=si;r=i+1;printf(炼油厂建在井口的序号是=%dn 总最佳运费=%dn ,r,sk);散点图:draw_x=22,8,4,51,38,17,81,19,62;draw_y=38,13,81,32,11,12,63,45,12;max_text=1号井,2号井,3号井,4号井,5号井,6号井,7号井,8号井,9号井;line(draw_x,draw_y);plot(draw_x,draw_y,*,MarkerSize,5) ;text(draw_x+1,draw_y+1,max_text);附录2:formatlongA=2284513817811962;B=381381321112634512;C=17406020251550830;fori=1:1000000x(i)=rand(1)*85;y(i)=rand(1)*85;D(i)=0;forj=1:9D(i)=D(i)+sqrt(x(i)-A(j)2+(y(i)-B(j)2)*C(j);endendf=min(D)fork=1:1000000iff=D(k)x(k)y(k)endend结果:f=1.021267215005830e+004ans=32.413490568834348ans=35.036202861814388第三:r=22 8 4 51 38 17 81 19 62;t=38 13 81 32 11 12 63 45 12;plot(r,t,b+)xlabel(x/km)ylabel(y/km)title(油井分布散点图)hold ontext(22.5,38.5,1号 油井)text(8.5,13.5,2号油井)text(4.5,81.5,3号 油井)text(51.5,32.5,4号油井)text(38.5,11.5,5号油井)text(17.5,12.5,6号 油井)text(81.5,63.5,7号油井)text(19.5,45.5,8号油井)text(62.5,12.5,9号油井)hold onx1=57 14;y1=30 42;plot(x1,y1,rp)title(炼油厂位置分布图)hold ontext(57.5,30.5,A炼油厂)text(14.5,42.5,B炼油厂)第三问:r=22 8 4 51 38 17 81 19 62;t=38 13 81 32 11 12 63 45 12;plot(r,t,b+)xlabel(x/km)ylabel(y/km)title(油井分布散点图)hold ontext(22.5,38.5,1# 油井)text(8.5,13.5,2# 油井)text(4.5,81.5,3# 油井)text(51.5,32.5,4# 油井)text(38.5,11.5,5# 油井)text(17.5,12.5,6# 油井)text(81.5,63.5,7# 油井)text(19.5,45.5,8# 油井)text(62.5,12.5,9# 油井)grid ongtext(17)gtext(40)gtext(60)gtext(20)gtext(25)gtext(15)gtext(50)gtext(8)gtext(30)hold onx1=57 14;y1=30 42;plot(x1,y1,rp)title(炼油厂位置分布图)附件3:MATLAB程序clearA=22 8 4 51 38 17 81 19 62;B=38 13 81 32 11 12 63 45 12;C=17 40 60 20 25 15 50 8 30;for m=1:2000G=randperm(9);for i=1:10000x1(i)=rand(1)*81;y1(i)=rand(1)*81;x2(i)=rand(1)*81;y2(i)=rand(1)*81;D1(i)=0;D2(i)=0; D1(i)=D1(i)+sqrt(x1(i)-A(G(1)2+(y1(i)-B(G(1)2)*C(G(1);for k=2:9 D2(i)=D2(i)+sqrt(x2(i)-A(G(k)2+(y2(i)-B(G(k)2)*C(G(k);endendf1(m)=min(D1);f2(m)=min(D2);for i=1:10000 if f1(m)=D1(i) xm(m)=x1(i); ym(m)=y1(i); end if f2(m)=D2(i) xn(m)=x2(i); yn(m)=y2(i); endendf(m)=f1(m)+f2(m);for k=1:9E(m,k)=G(k);endendF=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) endend附件4:MATLAB程序clearA=22 8 4 51 38 17 81 19 62;B=38 13 81 32 11 12 63 45 12;C=17 40 60 20 25 15 50 8 30;for m=1:2000G=randperm(9);for i=1:10000x1(i)=rand(1)*81;y1(i)=rand(1)*81;x2(i)=rand(1)*81;y2(i)=rand(1)*81;D1(i)=0;D2(i)=0;for j=1:2 D1(i)=D1(i)+sqrt(x1(i)-A(G(j)2+(y1(i)-B(G(j)2)*C(G(j);for k=3:9 D2(i)=D2(i)+sqrt(x2(i)-A(G(k)2+(y2(i)-B(G(k)2)*C(G(k);endendendf1(m)=min(D1);f2(m)=min(D2);for i=1:10000 if f1(m)=D1(i) xm(m)=x1(i); ym(m)=y1(i); end if f2(m)=D2(i) xn(m)=x2(i); yn(m)=y2(i); endendf(m)=f1(m)+f2(m);for k=1:9E(m,k)=G(k);endendF=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) endend附件5:MATLAB程序clearA=22 8 4 51 38 17 81 19 62;B=38 13 81 32 11 12 63 45 12;C=17 40 60 20 25 15 50 8 30;for m=1:2000G=randperm(9);for i=1:10000x1(i)=rand(1)*81;y1(i)=rand(1)*8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论