深圳南山区垃圾分类处理与清运方案设计.doc_第1页
深圳南山区垃圾分类处理与清运方案设计.doc_第2页
深圳南山区垃圾分类处理与清运方案设计.doc_第3页
深圳南山区垃圾分类处理与清运方案设计.doc_第4页
深圳南山区垃圾分类处理与清运方案设计.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

目 录摘 要2一、问题背景3二、问题重述3三、基本假设3四、符号说明4五、问题分析45.1问题一的分析45.2问题二的分析5六、模型的建立与求解56.1问题一56.1.1确定大、小型橱余垃圾处理设备数量56.1.2确定橱余设备的位置以及到橱余处理中心的最优路线66.2问题二146.2.1模型的建立146.2.2模型的求解16七、模型优缺点分析17八、参考文献17附录18摘 要垃圾分类化收集与处理是有利于减少垃圾的产生,有益于环境保护,同时也有利于资源回收与再利用的城市绿色工程。随着我国城市垃圾处理事业的发展,垃圾转运系统的转运效率和投资效益在城市建设中起着越来越重要的作用。因此,清理转运系统的合理规划及优化设计,也随之成为城市规划中的一个重要课题。本文就给出的深圳市南山区垃圾分类处理与清运方案设计的问题进行研究,分析并建立数学模型,利用编程进行求解。对于问题一:要解决以下两个问题 1、确定橱余垃圾处理设备的安放位置;2、确定在给定条件的合理清运路线。我们选用整数规划模型求出所需的设备的数量,即只需要大型设备两台,不用小型设备集;我们认为这两台大型设备安放在原有的转运站上,南北各一个,以转运站为节点,两转运站之间实际距离为权重,画出无向赋权图,转化为图论问题,再用Floyd算法确定任意两转运站之间的最短路矩阵和路径矩阵,从而确定设备的位置和清运路线。对于问题二:所给居民信息量庞大,首先对小区信息进行合并和简化,得到709个简化过的小区,再将所有小区根据实际情况进行分区,共分成10个分区。在每个分区内,认为转运站建在小区周围,即在此问中应用第一问中相同解法,利用Floyd算法求出转运站位置和各小区到相应转运站的最优路线。在重新布局了转运站之后,求橱余垃圾处理中心的问题就与第一问完全类似,从而得到完整的清运路线。关键词:整数规划 Floyd算法 橱余垃圾处理 清运路线垃圾分类处理与清运方案设计一、问题背景垃圾分类化收集与处理是有利于减少垃圾的产生,有益于环境保护,同时也有利于资源回收与再利用的城市绿色工程。发达国家普遍实现了垃圾分类化,在我国,随着国民经济发展与城市化进程加快,大城市的垃圾分类化已经提到日程上来,但是许多问题仍然是垃圾分类化进程中需要深入研究的。二、问题重述在深圳,垃圾分为四类:橱余垃圾、可回收垃圾、有害垃圾和其他不可回收垃圾。在垃圾分类收集与处理中,不同类的垃圾有不同的处理方式,简述如下:1)橱余垃圾可以使用脱水干燥处理装置,处理后的干物质运送饲料加工厂做原料;2)可回收垃圾将收集后分类再利用;3)有害垃圾,运送到固废处理中心集中处理;4)其他不可回收垃圾将运送到填埋场或焚烧场处理。所有垃圾将从小区运送到附近的转运站,再运送到少数几个垃圾处理中心。运用数学建模方法对深圳市南山区的分类化垃圾的实现做一些研究,具体的研究目标是:1)假定现有垃圾转运站规模与位置不变条件下,给出大、小型设备(橱余垃圾)的分布设计,同时在目前的运输装备条件下给出清运路线的具体方案。以期达到最佳经济效益和环保效果。2)假设转运站允许重新设计,请为问题1)的目标重新设计。三、基本假设1.题目所给数据及所指示网站数据真实可靠;2.各社区人口数目相对固定,市民每天产生的垃圾量为定值;3.垃圾转运站及垃圾处理厂(包括大小设备场)每天仅收一次垃圾(早上或晚上);4.各垃圾转运站的垃圾将在当天清运完毕,不能积累;5.选择转运站和处理中心时,不考虑它们所处地理位置的地产价格;6.所有运输车辆不得超载,不考虑交通所带来的影响(如:堵车等);7.运输车的费用与它的载重量和路程成正比关系;8.所有运输车均从转运站出发前往小区或者处理中心,最后再回到转运站;9.拖车与汽车空载与重载速度均一样,即不考虑载重对时间的影响。10.单位距离的废弃物的运费是已知的。这个费用主要包括垃圾车成本费用和人工费用。垃圾车成本费用包括最初投资成本的折旧加上其运行和维护成本。且此费用在一定时期内不变;11. 拖车到一个中转站运完垃圾之后便返回处理中心。 (对于假设(11)合理性的讨论:可以通过新型垃圾转运站垃圾转运量等情况统计表中的值计算出平均每个转运站的橱余垃圾量为9吨左右。由于各实际量与平均值有偏差,不能直接近似每个转运站橱余垃圾产都为9吨,但可以在后面进行人工规划,以消除不合理性。)四、符号说明f 目标函数(即投资成本最小);x 大型橱余垃圾处理设备数;y 小型橱余垃圾处理设备数;D 最短路矩阵;R 路径矩阵五、问题分析深圳市南山区的垃圾分为:橱余垃圾、可回收垃圾、有害垃圾和其他不可回收垃圾。我们认为垃圾将从各小区的垃圾站运往附近的垃圾转运站,在垃圾转运站进行分类后,橱余垃圾运往厨余垃圾处理中心,可回收垃圾就在垃圾转运站进行分类再利用,有害垃圾和不可回收垃圾运往填埋场或者垃圾焚烧厂。简言之,南山区的垃圾的清运工作包括收集清运和中转清运两个阶段;收集清运,即用60辆2.5吨的收集汽车将南山区中每个小区产生的垃圾运到各自临近的垃圾中转站;中转清运,即利用16辆载重10吨的拖车将中转站的已分类的垃圾转运到各自的处理中心。5.1问题一的分析问题一最终要求在目前的运输装备条件下给出清运路线的具体方案,以期达到最佳经济效益和环保效果。清运的第一步收集清运中,由于各个转运站已经确定,各小区的垃圾只要转运到离这个小区最近的转运站即可使这一步的转运路线最优。清运的第二步中转清运中,首先考虑对橱余垃圾的处理,由于没有现成的橱余垃圾处理中心,要对大、小型橱余垃圾处理设备的分布进行设计,即是确定设备数量和位置。由于设备数量受到投资数额、处理能力、运行成本的约束,确定数量的问题即为整数规划问题,将目标函数设定为各垃圾转运站运往大、小厨余垃圾处理中心的运费最低,而忽略其运输趟数以及出动车辆。然后,以38个垃圾转运站作为无向赋权图的节点,任意两转运站之间的距离作为无向边的权值,将该问题转化为图论问题,利用Floyd算法,找出到各转运站距离的和最短的点,以及该点到各点的最短路径。其次考虑有害垃圾和其他不可回收垃圾,由题目提及的条件可知有害垃圾的处理方式是运送往固废处理中心处理,其他不可回收垃圾运往焚烧场或填埋场处理,由于转运站和焚烧厂及填埋场的位置都是固定的,由此很容易知道处理有害垃圾及其他不可回收的垃圾的运输成本是相对固定的,要将其降到最小只要以焚烧厂和填埋场的中垂线为界,界线以西的转运站垃圾运往焚烧厂,以东的垃圾运往填埋场。5.2问题二的分析第二问中要求重新安排转运站地点。由于附件所给小信息多达3万多个,处理十分麻烦,因此,我们要对其进行简化合并。要得到重新分布的中转站位置,就必须知道这些合并过的小点位置,而在Google Earth 上一个个查找的工作量是巨大的,因此我们要通过编程来实现。由原来的38个转运站的垃圾量可以看出,有些转运站的橱余垃圾是小于10吨的,我们认为应该使一辆拖车尽量能够从一个转运站一次拉够10吨垃圾,由此可以定量的分析出垃圾转运站位置,进行优化。第二问还可以采取Floyd算法,即在合并过的小区中找转运站,但可能由于合并过的小区数量仍然很大,很难实现,应该再对它进行分区,结合每个区的人数来确定要建的转运站数量,同时考虑各小区到转运站距离远近确定转运站位置;接着再确定橱余垃圾处理中心位置,这里和第一问类似,在此不再赘述。对于环保方面,主要考虑两个因素:一是汽车运输过程中产生的尾气,二是转运站对垃圾的处理能力。对于这两个因素,应该让总路径最短、少耗油,同时应该合理设计转运站的垃圾处理量,保证所有垃圾都能都被分类处理。至于对转运站及处理中心周边环境的噪声、噪音污染,这些因素属于次要因素,可以通过人为地调整选址来避免,并且所需数据难以获得,不予详细设计。六、模型的建立与求解6.1问题一6.1.1确定大、小型橱余垃圾处理设备数量确定数量,要考虑大、小型橱余垃圾处理设备的投资成本、处理能力、运行成本各不相同,同时要使设备的投资金额尽量小。假设大型橱余垃圾处理设备数为x,小型橱余垃圾处理设备数y,目标函数为投资金额f,于是有方程其中约束条件为:1)所建处理厂能够处理所有的橱余垃圾:2)橱余垃圾处理厂的数量非负:3)处理厂数量必为整数:4)小型处理设备每天处理0.2到0.3吨以上几个方程构成了整数规划问题,要求目标函数尽量小,即在满足使投资金额最小:用LINGO求解可得到最佳结果为:即两台大型设备就可以满足要求。同时通过分析可知,小型橱余垃圾处理设备的处理能力远小于大型设备,且运行成本较高,性价比低,不适宜于大规模应用。大型设备的投资额虽然比较高,但是运行成本低,运行效率高;而两台大型设备处理能力虽超过目前总的垃圾量,但可以适应未来垃圾量逐渐增长的发展需要,因此选两台大型设备来处理橱余垃圾是合理的。6.1.2确定橱余设备的位置以及到橱余处理中心的最优路线模型的建立由上一步求出,恰好只需要2台大型的橱余垃圾处理设备,因此可以考虑将南山分成两个区域,每个区域在合适的位置安放一台处理设备,使得区域内各转运站到该设备所在的处理中心的距离之和最小,再确定各转运站到橱余垃圾处理中心的最优路线。为方便定位及分区,我们用JAVA进行网络编程,调用Google Maps 的API,确定每个转运站的位置的经纬度坐标,找出合理的划分方法。各转运站、南山垃圾焚烧厂和罗湖区清水河垃圾填埋场的经纬度见表1。表1 各个转运站、南山垃圾焚烧厂和罗湖区清水河垃圾填埋场的经纬度表序号转运站站名或填埋场焚厂纬度经度1九街站22.5424113.94812玉泉站22.5464113.92523动物园站22.5923113.94024平山村站22.5850113.97665牛城村站22.5330113.96516科技园站22.5225113.91597同乐村站22.5688113.954131麻勘站22.6369113.983532白芒站22.6228113.896333大石磡站22.6173113.996034长源村站22.5958114.010435华侨城站22.5392113.930436疏港小区站22.4849113.932337西丽路站22.5710113.952938塘朗站22.5880113.951239麻勘站22.6369113.98351对南山区的分区考虑到各垃圾站的位置、各个小区的位置及每日的垃圾产量,进行分区时要保证:1)每个区域的垃圾总量不能超过一台设备的最大日处理能力;2)使得每个区域中的转运站个数基本相等;3)每个区域包括的小区数基本相等。我们发现,沿纬度为22.565的纬线将南山区分为南北两个区域,南北区域中所包括的转运站都是19个,同时界限以北的区域中垃圾的日生产总量为124.6吨,界限以南的区域为198.4吨,都小于一台设备的最大日处理能力,这样分区合理可行。南山区分区后在经纬度上的表示如图1,分区程序见附录一。图1 南山区的分区示意图2.橱余垃圾设备的选址以及到橱余垃圾设备的最优路径1)确定每个区域内到各点距离之和最短的点对划分的两个区域,即上边和下边分别进行考虑。橱余垃圾处理设备可以安放在原来的垃圾转运站,也可以安放在全区除垃圾转运站外其他任何位置,但由于放在全区范围太大,属于连续性的问题,求解十分困难,因此将该问题简化为离散问题,认为处理设备安放在原有的转运站或者在转运站周围,即在每个区域的19个点中找出一个点,使得区域内其余各点到该点距离之和最短。因此,对每一部分,以19个垃圾转运站作为无向赋权图的节点,用google地图查得任意两转运站之间的距离,将其做为无向边的权值,将该问题转化为图论问题,用Floyd算法求出赋权图中任意两顶点间的最短路。Floyd算法:设赋权图的顶点集为其中n+m=38,图G中的各边权为,即若,则边的权记为,若,则令。算法的基本步骤a)输入G的权矩阵;b)计算,其中;c)中的元素就是到的最短路的长。求路径矩阵的方法为了同时得到最短的路径,在计算最短路径矩阵D的过程中同时设置路径矩阵R以便追踪最短路。设,这里为从到的最短路澳经过点号为的点。算法开始于,迭代到第k步。若某个元素改变,则由迭代中,相应元素改为k,表示到第k次的迭代,从到的最短路过点比过原有中间点更短。于是,在求得时求得,可由来查找任何点对之间最短路的路径。查找最短路路径的方法若,则点是点到点的最短路的中间点,然后用同样的方法再分头查找。若:向点追溯得:;向点追溯得:。则由点到点的最短路的路径为:。由Floyd算法得到最短路矩阵D和路径矩阵R,进而分析出到两点之间的最短路的距离和路径。2)考虑到各转运站的垃圾量对处理设备位置的影响由题目所给数据可知,负责从转运站到垃圾中心的拖车平均吨公里耗油量为25L30L柴油/百公里,即拖车的运费不仅与路程有关,还与车的载重有关。因为各个垃圾转运站的垃圾量不同,为使总运费最低,在求得最短路矩阵后,还要考虑不同回收站的垃圾量。在每一个区域里,先假设任意一个垃圾站为处理中心,其余的某个垃圾站到该垃圾站即假设的处理中心的最短距离与此垃圾站对应的垃圾处理量相乘,相当于得到此趟运输的费用,再将其余所有的点的“相当运费”相加得总“相当运费”其中各点编号为 ,点对应的垃圾量为,点与点之间的最短距离为。选取总值最小的点为每个区域里大型橱余垃圾处理设备的安放位置,同时可以得到区域里其他各点到该点的最短路。3.有害垃圾和不可回收垃圾的处理由于运费和转运站与填埋场或者焚烧厂的距离直接相关,我们可以以焚烧厂和填埋场的中垂线为界,界线以西的转运站垃圾运往焚烧厂以东垃圾运往填埋场。运用MATLAB将各个垃圾转运站的坐标、焚烧厂和填埋场连线及其中垂线绘制成图,如图2。图2 垃圾转运站的坐标、焚烧厂和填埋场连线及其中垂线图模型的求解1.确定橱余垃圾处理设备的位置和橱余垃圾的清运路线1)上下两个区域的赋权图通过查找资料,我们发现,拖车这样大型的车辆,只能行驶在主干道和次干道上,不能在高速路和快速路上,由此可以判断任意两个转运站之间是否连通,如何连通。这样处理之后,有些中转站会成为孤立的点,这与实际情况不符,对于这些点,我们根据Google地图适当的添加路线使其连通。在每个区域中,以19个垃圾转运站作为无向赋权图的节点,用google地图查得连通的两转运站之间的距离,将其做为无向边的权值,得到上下两个区域的无向赋权图,如图3-4。图3 南山区分区后的上边区域的无向赋权图图4 南山区分区后的下边区域的无向赋权图2)由Floyd算法得到最短路矩阵和路径矩阵算法描述设G是赋权图,权为实属,。:i到j的距离。:i到j之间的插入点输入:带权邻接矩阵(1)赋初值:对所有;(2)更新:对所有I,j,若,则;(3)若,停止,否则,转(2)。通过C语言实现,具体代码见附录一以上边区域为例,上边区域中包括回收站求解得最短路矩阵D和路径矩阵R,如下表2-3。表2 上边区域中各转运站之间的最短路矩阵D表3 上边区域中各转运站之间的路径矩阵D3)确定处理设备位置及橱余垃圾清运路线计算两个区域中每个转运站的总“相当运费”,最终得到,在上边区域中37号的总值最小,下边区域中30号最小,因此,37号西丽路垃圾转运站和30号南山市场垃圾转运站为大型橱余垃圾处理设备安放位置。在路径矩阵上易得各点到橱余垃圾处理中心的最短路径,如表4-5。表4 上边区域橱余垃圾清运路线转运站编号路线每趟垃圾量/吨33437844371055193727737288374111151937413133781919376202037102525437426263782929133763131325193743232519373.233333193712343438437235352913372838384374表5 下边区域橱余垃圾清运路线转运站编号路线每趟垃圾量119153082219153010662130899153012101014301012121791530161414306151530816161830121717915306.41818306212130622223062323242130122424301227273014282827183012363610143016为更清晰地表示,我们做出清运路线图,见附录二。2.结果分析在求解橱余垃圾处理设备位置和清运路线中,我们始终认为,拖车从各个垃圾转运站出发,直接运往处理中心,由于各个中转站到处理中心最短路线已经确定,所以总费用只与每条路线单位公里的运费有关,而由假设已知,单位公里的运费与垃圾量成正比,因此总费用只与垃圾量有关。我们将各个最短路与其相对应的垃圾量相乘,求得最小值就可以当成处理中心所在位置,可见模型的合理与正确性。通过查找资料,我们得知,南山区位于深圳市西南部,东临深圳湾,与福田区接壤;西濒珠江口,与珠海市隔海相望;北靠羊台山,与宝安区毗邻;南至内伶仃岛和大铲岛,与香港元朗一水相隔。地理坐标大致位于北纬2226至33,东经11350至114之间。南山区常年盛行东南风,并且有些垃圾站离美丽的西丽水库很近,因此在具体选址的时候可以适当挪动我们准确计算出来的地方,比如上面部分选出来的37号西丽公厕垃圾站,我们可以把这个处理中心放在其西边的空旷处,更为合适。6.2问题二6.2.1模型的建立1.小区的简化以及位置的确定由于附件所给小区信息达三万多个,数据太多,很难进行计算,需要将其进行简化处理:(1)有很多小区是没有人的,这些小区目前不产生垃圾,因此认为这些小区的信息是无效的,予以删除;(2)有的小区虽然名字相同但是地址不同,甚至有些差别较大,因此不能随意合并,本文将地址相同的进行合并;(3)根据地理位置,将相距很近的小区合合并。经过这样处理,三万多个小区简化为701个,再将每个小区简化为点。要得到重新分布的转运站的位置,就要知道这些合并过的小区的位置。如果在Google Earth 上一个一个的查找,工作量十分巨大的;如第一问中,我们仍通过使用java进行网络编程,通过调用google maps的API对excel表的操作,计算出了总共701个小区的经纬度,详细代码见附录一。2.小区的分区我们认为把垃圾转运站应该安放在小区周围,即在这701个点中。这样,一方面使得问题简化,将连续问题转换为离散问题;另一方面,能减少运费,便于小区的垃圾处理,有一定的实际意义。但要从这七百多个点中找出垃圾中转站,算法很难实现。我们考虑对其分区,在较小的区域里能比较准确确定转运站的位置。在查阅资料之后,我们发现南山区辖8个街道,可以参照这些街道办来分区。为了简化模型、方便计算,我们尽可能用正方形来画分,将个别在这些区域之外的点采用就近原则,将其划到十个区域内,最终划为10个区。划分的区域如图5。3.在分区内确定转运站位置经过合并的小区可以用点来表示,要在分区内找到合适的转运站位置,即是在分区内,找到一点,使其他各点到该点的距离之和最小。该问题与第一问中“每个区域在合适的位置安放一台处理设备,使得区域内各转运站到该设备所在的处理中心的距离之和最小”的问题类似,我们仍采用Floyd算法,给出每个分区各小区之间的赋权图,算出最短路矩阵D和路径矩阵R,从而确定转运站的最佳位置,找到合适的转运路线。4.确定橱余垃圾处理中心经过上面几步,已经重新确定转运站位置,现要考虑橱余垃圾设备的安放,这和第一问完全一样,只是转运站位置可能变化了,在此不再赘述。6.2.2模型的求解针对已经简化的问题,由于还是有701个小区、10个分区,我们在此处只给出某个分区确定转运站的过程。以5号分区为例。5号分区中包含36个小区,原有一个转运站,我们认为这一个转运站已经足够。对其位置进行调整。利用C语言对Floyd算法求解,得到最短路矩阵D和路径矩阵R,见附录三。由最短路矩阵D确定转运站的合适位置;由路径矩阵R可以找到到转运站的最优路径,如图6。图6 5号分区中转运站位置和清运路线鉴于无法在短时间内求出每个分区中垃圾转运站重新设计的分布,因此无法由转运站的位置确定橱余垃圾处理中心的位置,也无法给出再改进的条件下的清运路线。由于小区内垃圾产量与人口数目成正比,所以由区域的人口数可以大致确定各小区垃圾重量,在选定中转站数目时我们可以根据人数,垃圾量选定不同规模的中转站,但是根据实际情况选定中转站处理垃圾上限为70吨。由于我们所划的区域块对整个南山区来说相对较小,所以我们认为在所选区域内,增加一个垃圾中转站所需费用要高于因为交通便利所节省费用。因此在可能情况下中转站的数目越少越好。故我们得到各个区域的垃圾转运站个数如表6所示:表6 各分区内所需转运站的个数分区人数分区垃圾量(t)所需中转站个数12193313.43511214078386.237123666938408.53536411530770.6317254984030.52971610257762.8339277598146.5424185435733.2966196080137.24391102402114.71421合计131253880418七、模型优缺点分析针对南山区垃圾垃圾分类处理与清运方案设计,我们采用了整数规划模型和适用于图论问题的Floyd算法。整数规划模型考虑到现有的约束条件下,给出了合理精确的解。Floyd算法能在已知权矩阵的情况下,给出最短路矩阵和路径矩阵,在确定合适位置的同时,能给出其余各点到该点的最短路径。同时,我们采取了一些合理的简化问题的方法,如将处理设备安放在原有的转运站上、将小区缩聚合并、对过大的区域进行分区,这样有利于模型的建立,能得到合理的答案。同时,我们也存在一些问题。我们的模型比较单一,着重考虑处理中心位置和清运路线,对经济效益和环境保护讨论的较少。另外,在解决位置问题时,只是考虑了原有的转运站,对其他可能位置没有做相应讨论。这些有待改进。八、参考文献1 数学建模简明教程,高等教育出版社,2008.2 深圳市南山区规划,深圳市规划局,2005.63 数学建模,高等教育出版社,2010.24 MATLAB数学建模与仿真,国防工业出版社,2009.4附录附录一南山区分成南北两个区域:a=xlsread(1.xls,sheet1,G5:H42);b=xlsread(1.xls,sheet1,I5:J5);c=xlsread(1.xls,sheet1,K5:L5);d=b;c;%画中转站a1=0;k1=1;a2=0;k2=1;b1=0;k3=1;b2=0;k4=1;for i=1:length(a) if a(i,1)=22.543 a1(k1,1)=a(i,1); a1(k1,2)=a(i,2); k1=k1+1; else a2(k2,1)=a(i,1); a2(k2,2)=a(i,2); k2=k2+1; endendhold on;plot(a(:,1),a(:,2),.);axis(22.4500 22.6600 113.89000 114.10);k5=convhull(a1(:,1),a1(:,2);plot(a1(k5,1),a1(k5,2),r);k6=convhull(a2(:,1),a2(:,2);plot(a2(k6,1),a2(k6,2),g);%计算凸包面积s1=0;s2=0;a1=a1(k5,:);a2=a2(k6,:);for i=1:length(k5)-3 l1=sqrt(a1(1,1)-a1(i+1,1)2+(a1(1,2)-a1(i+1,2)2); l2=sqrt(a1(1,1)-a1(i+2,1)2+(a1(1,2)-a1(i+2,2)2); l3=sqrt(a1(i+2,1)-a1(i+1,1)2+(a1(i+2,2)-a1(i+1,2)2); p1=(l1+l2+l3)/2; s1=s1+sqrt(p1*(p1-l1)*(p1-l2)*(p1-l3);endfor i=1:length(k6)-3 l1=sqrt(a2(1,1)-a2(i+1,1)2+(a2(1,2)-a2(i+1,2)2); l2=sqrt(a2(1,1)-a2(i+2,1)2+(a2(1,2)-a2(i+2,2)2); l3=sqrt(a2(i+2,1)-a2(i+1,1)2+(a2(i+2,2)-a2(i+1,2)2); p1=(l1+l2+l3)/2; s2=s2+sqrt(p1*(p1-l1)*(p1-l2)*(p1-l3);endFloyd算法:#include#include#include#include#define N 19using namespace std;int main()ifstream inFile;inFile.open(juli.txt);double dNN;int i,j,k;for(i=0;iN;i+)for(j=0;jdij;int rNN=0;double a;FILE *fp;fp=fopen(Floyd.txt,w);for(i=0;iN;i+)for(j=0;jN;j+)rij=j;for(k=0;kN;k+)for(i=0;iN;i+)for(j=0;ja)dij=a;rij=k;fprintf(fp,n D=n);for(i=0;iN;i+)for(j=0;jN;j+)fprintf(fp,%5.2f,dij);fprintf(fp, );fprintf(fp,n);fprintf(fp,n R=n);for(i=0;iN;i+)for(j=0;jN;j+)fprintf(fp,%5d,rij+1);fprintf(fp,n);fclose(fp);inFile.close;return 0;计算各小区经纬度:package com.test1;import java.io.File;import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import .MalformedURLException; import .URL; import .URLConnection; import jxl.*;import jxl.write.*;public class GoogleTest /* * 解析地址* param addressOrPoint : 输出为纬度和经度* param outPutType :csv输出* 参考:/intl/zh-CN/apis/maps/documentation/services.html#Geocoding_Object */ private static String parseAddressAndPoint(String addressOrPoint, String outPutType, String googleKey) String weizhi1=null;int i=0;String weizhi2=new String();try / String url = /maps/geo?output=+outPutType+&q=+.URLEncoder.encode(addressOrPoint,UTF-8)+&sensor=false&key=+googleKey; URL myUrl = new URL(url); URLConnection httpConn = myUrl.openConnection(); InputStr

温馨提示

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

评论

0/150

提交评论