自来水管的连接问题重点分析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自来水管连接问题的数学模型 数学1101 崔瀚数学1101 崔蕃琳信计1102 陈曦自来水管连接问题的数学模型 摘要 本文研究的是自来水管连接问题,即如何铺设自来水管使得自来水管的总长度最小。我们利用Matlab软件,用最小生成树的方法求出了最短距离。 关键词: 自来水管 最短 最小生成树 1、问题重述 在一个有限制区域的地区,有可数个用户,如何铺设自来水管,使得总的自来水管最短。当然,水管要涉及到每一个用户且不能穿过限制区域。 2、模型假设 假设用户直接所连接成的树形网络是属于同一个平面; 假设不考虑钢管系统的首末站高度差; 假设不考虑自来水管道的弯头; 假设所给出的坐标准确无误; 3、符号说明 4、问题分析 我们将这个问题细化为了两个问题。问题一是,如何判断有效用户。有效用户指的是不在限制区域内的用户。问题二是,如何铺设管道使管道的总长度最短。问题二我们分两个步骤解决。首先,我们将所有用户点用最小生成树算法进行连接,这样我们就得到了最短的铺设方案。但是,这样铺设的管道有一些会穿过障碍区域,所以需要做进一步处理。其次,我们筛选无效线段。无效线段指的穿过障碍区域的管道线段。最后,我们将无效线段连接的两个点进行重新连接,即,将这两个用户点分别连接原来穿过那个障碍区域的一个顶点。 5、模型建立与求解 5.1模型一 模型一要解决的是判断有效用户 5.1.1构建障碍区域 5.1.1.1若障碍区域是三角形,则设三个顶点的坐标分别是A(x1, y1) B(x2,y2) C(x3,y3) 5.1.1.2若障碍区域是多边形,则依次设每个点的坐标是每个顶点与上一个顶点和第一个顶点组成的三角形进行判断。 5.1.2判断有效用户 设其中一个限制区域为三角形ABC,设用户点为 ,,则一定存在p,q使得 , 如果,则在障碍区域内,为无效用户;反之,为有效用户。 5.2模型二 5.2.1不计障碍区域的最短距离 在不考虑障碍区时,问题二只是一个简单的求最小生成树问题。 最小生成树问题,即分别求出每个点与其他点之间的距离,按照从小到大的顺序排列。排列之后从小到大选择连接的线段点,之后判断是否还有未连接到的用户,并且不能重复连接用户,如果两个条件都成立,继续选择下一个点。直到连接到所有的用户。最后,简单的累加就可以算出铺设的自来水管的总长度。 我们将模型一得到的有效用户,利用Matlab软件,和最小生成树算法,进行计算。最后我们画出了不计障碍区域的最短距离铺设自来水管的铺设图,并算出了最短的距离。最短距离为:639.4814。 5.2.2障碍区域的处理 5.2.2.1无效线段的判定 我们定义表示穿过障碍区域的管道的线段为无效线段。从得到的图像我们可以明显看出来只有一条管道是穿过障碍区域的。但是实际的模型推广中,凭人工判断是低效的,所以我们设计了判断无效线段的算法。 如果任意两个有效用户点的坐标分别为A(x1,y1)、B(x2,y2),同一障碍区任意两个顶点坐标为M(x3,y3)、N(x4,y4)。则两直线方程分别为: 则由解线性方程组的方法有,线性方程组的的系数矩阵为: ; ; 在运用Matlab求解该线性方程组时,不妨把 分别设为: 可以求得。 若求得的交点坐标为P(x,y),则通过向量关系PM=PN,可以求的。若0,则该线段为有效线段;若0,则要考虑向量关系PA=PB,若0,则该线段为有效线段,否则,该线段为无效线段。 我们将上面求得的所有用户点之间的无效线段构造为一个集合,与之前最小生成树所用的线段构造为一个集合,两个集合的交集即为做最小生成树处理之后的无效线段 5.2.2.2无效线段的处理 由于五边形可以由三个三角形组成,并且在本问题中只涉及穿过三角形障碍区域的无效线段,所以我们只讨论穿过三角形障碍的无效线段的处理方法。 处理方法有两种,我们以下图为例 三角形ABC为障碍区域,MN为两个有效用户点,线段MN为最小生成树生成的无效线段。该无效线段有两种较为有效的修改方案。第一,可以用线段MA,AN,代替。第二,可以用线段MB,BC,CN代替。即,两种替代方案本质上是加入辅助拐点的不同方法,并且有效拐点一定是限制区域的顶点,一种是加入A点,一种是加入B,C两点。这样,我们就可以做如下处理,对最小生成树程序加以修改。首先我们先去掉之前最小生成树结果中的无效线段。其次,我们判断加入的有效拐点的坐标,重新做一次最小生成树。即可得到实际上最短的铺设结果。用Matlab求得最小结果为:642.1556。 参考文献 [1]高等数学问题的matlab求解.高等教育出版社 MATLAB程序 7.1筛

文档评论(0)

x5511167 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档