算法设计与分析——输油管道问题实验报.doc

算法设计与分析——输油管道问题实验报.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
题目: 输油管道问题 学 号00913133 学生姓名 张一楠 朱玉婷 专业(班级) 09计本1班 设计题目 输油管道问题 设 计 技 术 参 数 系统平台:windows 7 开发工具:Microsoft Visual C++ 6.0 设 计 要 求 掌握问题分析的方法与步骤,选择合适的方法解决问题。 选择合适的算法编写程序。 工 作 计 划 1:熟悉题目并理解,及找寻相关资料。 2:根据题目设计并分析算法。 3:使用Visual C++实现。 4:完成设计报告 参 考 资 料 吕国英.《算法设计与分析》.北京:清华大学出版社2009 摘 要 本实验,我们通过综合应用算法解决了实际生活中的输油管道问题,通过比较各种算法的时间复杂度以及解决效率,采用了算法中以分治法为基础的随机划分来解决问题,利用随机选择方法找到各个油井的中位数,通过讨论论证了中位数即最优管道位置。 信息奥赛中一个问题有多个算法解决,通过比较不同算法解决问题的效率,选择最高效的一个。在输油管道问题这个实验中得到运用。 关键词:算法设计,分治法,随机划分,随机选择,中位数 目录 1 需求分析 4 1.1 实验内容 4 1.2 系统的基本逻辑模型 4 1.3 确定目标系统的功能…………………………………………………...5 2 总体设计 5 2.1问题分析 5 2.2解题思路 6 2.3解题方法 ………………………………………………………………….7 2.3.1算法思想…………………………………………………………...7 2.3.2算法分析…………………………………………………………...7 3 详细设计 9 3.1 具体描述 9 3.2 程序分析 11 3.2.1程序代码………………………………………………………….11 3.2.2程序结果………………………………………………………….14 4 总结 16 4.1 设计体会 16 4.2 反思总结…………………………………………………………………………… 16 参考文献……………………………………………………………………………..17 需求分析 1.1.实验内容 某石油公司计划建造一条由东向西的主输油管道。该管道要穿过一个有n口油井的油田。从每口油井都要有一条输油管道沿最短路经(或南或北)与主管道相连。如果给定n口油井的位置,即它们的x坐标(东西向)和y坐标(南北向),应如何确定主管道的最优位置,即使各油井到主管道之间的输油管道长度总和最小的位置?证明可在线性时间内确定主管道的最优位置。   给定n口油井的位置,编程计算各油井到主管道之间的输油管道最小长度总和。 1.2.系统的基本逻辑模型 设给定的n口油井的位置坐标为:(x[0],y[0]),(x[1],y[1]),(x[2],y[2]),…(x[n-1],y[n-1])。由于平面上的距离满足三角不等式,故每个油井到主管道的最短距离就是该油井到主管道的垂直距离。由此可知,所述问题可表述为求平面上的一条直线到若干点的最短路径,通过总体设计中的解题思路我们论证得出只要该条直线处在所有点的中间位置就能保证最后的距离最短。 根据题意,给定了n个油井的位置,因此首先从文件读取每个油井的坐标,再在这个基础上对各个油井的y坐标进行排序,通过随机选择算法找到它们的中位数,即可得到求出最短距离。 1.3.确定目标系统的功能 通过本实验的设计,我们可以找到一个到各个油井之间的长度总和最小的输油管道,确定出输油管道的位置,并且计算出长度之和。在实际生活中,本实验的程序设计,可以节省工程的耗资,并且也可以省去人工计算的繁琐。 总体设计 系统设计一般分为总体设计和详细设计。经过需求分析阶段的工作,已经清楚系统必须完成的工作,下面的工作就应该是决定“如何做”的问题,总体设计的基本目的的就是“概要地说系统应该如何实现?”。 2.1.问题分析 实际上就是对输入的数据,找出与这些数据的差绝对值的和最小的数. 基本的思路就是找出中位数. 2.2.解题思路 如何确定主管道的最优位置? 由于主管道是由东向西,显然,主管道的铺设位置只和各油井位置的y坐标有关,设各个油井的y坐标为:y[i] ,主管道的y坐标为:dy,各油井到主管道之间的输油管道长度总和应是:sum ,要使这个值最小,主管道的位置y坐标应是各个油井y坐标的中位数(一组数据按从小到大的顺序依次排列,处在中间位置的一个数(或最中间两个数据的平均数)。 证明(反证法): ①油井数目为奇数:假设主管道的最优位置y坐标值为y_val,不是各个油井位置y坐标的中位数y_median,我们可以假设y_val>y_median(不失一般性),y坐标

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档