运筹学6(图与网络分析).ppt_第1页
运筹学6(图与网络分析).ppt_第2页
运筹学6(图与网络分析).ppt_第3页
运筹学6(图与网络分析).ppt_第4页
运筹学6(图与网络分析).ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

西安理工大学工商管理学院 运筹学OperationsResearch 运筹学OperationsResearch Chapter8图与网络分析GraphandNetwork 1 图与网络的基本知识树3 最短路问题4 最大流问题 C B A 引例 哥尼斯堡七桥问题 您能从A B C或D任意一点出发走遍7座桥并且每座桥只走一次最后回到原出发点吗 D E Euler提出 1736年 中国邮路问题 管梅谷 1962年 提出一个邮递员 负责某一地区的信件投递 他每天要从邮局出发 走遍该地区所有街道再返回邮局 问应如何安排送信的路线可以使所走的总路程最短 我们在实际生活 生产和科研活动中经常看到许多的网络 如互联网 通信网 公路网 管道网 销售网等 对网络进行研究是希望解决其中的一些优化问题 网络最优化能为人们管理和控制这些网络系统提供一套有效的方法 例某家电配送中心需要为多个销售点送货 配送中心与销售点以及销售点之间的相对位置和运输情况可以用图来表示 其中 点v1 v2 v7代表销售点 边表示运输路线 若已知每条路线行走所需的时间 请帮助配送中心管理人员设计一条送货路线 使送货车辆用最短的时间送完货物 并回到配送中心 基本的网络最优化问题有4个 即最小树问题 最短路问题 最大流问题 最小费用最大流问题 这些问题的数学模型实际上大都是线性规划问题 但使用线性规划的单纯形法去求解 过程非常繁琐 本章介绍的网络分析方法能有效的解决这些问题 图 可定义为点和边的集合 记作 式中 是点的集合 是边的集合 注意上面定义的图 区别于几何学中的图 在几何学中 图中点的位置 线的长度和斜率等都十分重要 而这里只关心图中有多少点以及哪些点之间有线相连 如果给图中的点和边赋以具体的含义和权数 如距离 费用 容量等 把这样的图称为网络图 记作 图和网络分析的方法已广泛应用于物理 化学 控制论 信息论 计算机科学和经济管理等各个领域 8 1图与网络的基本知识 如图8 1 定义1端点 关联边 相邻若有边e可表示为e vi vj 称vi和vj是边e的端点 反之称边e为点vi或vj的关联边 若点vi vj与同一边关联 称点vi和vj相邻 若边ei和ej具有公共的端点 称边ei和ej相邻 例如图8 1 v2和v4是边e6的端点 反之边e6是点v2 v4的关联边 点v2 v4相邻 边e6与e5 e4相邻 图8 1 e2可记作 一 图与网络的基本概念 定义2环 多重边 简单图如果边e的两个端点相重 称该边为环 如图8 中边e1为环 如果两个点之间的边多于一条 称为多重边 如图8 中的e4和e5 对无环 无多重边的图称作简单图 定义3次 奇点 偶点 孤立点与某一个点vi相关联的边的数目称为点vi的次 也叫做度 记作d vi 图 中d v1 d v3 5 d v5 1 次为奇数的点称作奇点 次为偶数的点称作偶点 次为0的点称作孤立点 定理1任何图中 顶点次数的总和等于边数的2倍 定理2任何图中 次为奇数的顶点必为偶数个 定义4有向图 如果图的每条边都有一个方向则称为有向图 定义5混合图 如何图G中部分边有方向则称为混合图 有向图 定义6有向图中 以Vi为起始点的边数称为点Vi的出次 用表示 有向图中 以Vi为终点的边数称为点Vi的入次 用表示 结论1 Vi点的出次与入次之和就是该点的次 结论2 有向图中 所有顶点的入次之和等于所有顶点的出次之和 定义7 子图 生成子图 支撑子图 图G1 V1 E1 和图G2 V2 E2 如果称G1是G2的一个子图 若有则称G1是G2的一个支撑子图 部分图 图8 2 a 是图6 1的一个子图 图8 2 b 是图8 1的支撑子图 注意支撑子图也是子图 子图不一定是支撑子图 定义8网络 赋权图 设图G V E 对G的每一条边 vi vj 相应的有一条数w vi vj 或记为wij wij称为边 vi vj 的权 赋有权的图G称为网络 赋权图 这里的权数可以是时间 费用 距离等 视不同背景代表不同的含义 赋权图 定义9链 路 回路 圈 无向图中有些点和边的交替序列对任意vi t 1和vit 2 t k 均相邻 称 从v0到vk的链 图8 1中 1 v5 e8 v3 e3 v1 e2 v2 e4 v3 e7 v5 是一条链 1中因顶点v3重复出现 不能称作路 二 连通图 如果链中所有的顶点v0 v1 vk也不相同 这样的链称初等链 或路 如果链中各边e1 e2 ek互不相同称为简单链 当v0与vk重合时称为回路 或圈 如果边不重复称为简单回路 如果边不重复点也不重复则称为初等回路 是一条链也是一条路 是一条回路并且是简单回路 定义10连通图 若在一个图中 如果每一对顶点之间至少存在一条链 称这样的图为连通图 否则称该图是不连通的 图8 1是连通图 3 v4 e7 v3 e3 v1 e2 v2 e6 v4 欧拉回路 定义11连通图G中 若存在一条回路 经过每边一次且仅一次 则称这条回路为欧拉回路 具有欧拉回路的图称为欧拉图 E图 哥尼斯堡七桥问题 寻找一条欧拉回路 定理3无向连通图G是欧拉图 当且仅当G中无奇点 七桥问题 d A 3 d B 3 d C 5 d D 3有四个奇点 故不是欧拉图 定理4有向连通图G是欧拉图 当且仅当G中每个顶点的出次等于入次 中国邮路问题 讨论 奇偶点图上作业法 v1 v2 v3 v4 v5 v6 v7 v8 v9 8 2树 树的概念 树是图论中结构最简单但又十分重要的图 在许多领域都有应用 如 运动员抽签结构图 定义树 生成树 无圈的连通图称为树 若G1是G2的一个支撑子图并且是一棵树 则称G1是G2的一棵生成树 图8 3 a 是一棵树 图8 3 b 是图8 1的一棵生成树 v1 v1 图8 1 图8 3 a 图8 3 b 定理 图G V E 有生成树的充分必要条件为G是连通图 生成树的寻求方法 在图 中 每步选出一条边使它与已选边不构成圈 直到选够n 1条边为止 深探法步骤 任取一点v 给v以标号 若某点u已得标号i 检查其端点w是否已标号 若端点w未标号 则给w以标号i 1 重复 若端点均已标号 则退到标号i 1的点 重复 2 广探法 任取一点v 给v以标号 检查其所有端点wi是否已标号 若端点w未标号 则给所有wi以标号i 1 对标号i 1的点重复 3 破圈法在图 中任意取一个圈 从圈上任意舍弃一条边 将这个圈破掉 重复上述步骤 直到图 中没有圈为止 例 某乡有9个自然村 其乡间道路如下图 要求 以v0村为中心沿道路架设有线广播网络 应如何架设 最小生成树 定义 设G V E 是一个连通图 每一条边ei E具有长度C ei 0 G的任意生成树T各条边的长度之和称为树T的长度 记为C T 长度最小的生成树称为最小树 最小树的应用 电信网络 计算机网络 电话专用线网络 有线电视网络等等 的设计低负荷运输网络的设计 使得网络中提供链接的部分 如铁路 公路等等 的总成本最小高压输电线路网络的设计电器设备线路网络 如数字计算机系统 的设计 使得线路总长度最短连接多个场所的管道网络设计 求最小树是在一个无向连通图G中求一棵最小生成树 避圈法 加边法 去掉G中所有边 得到n个孤立点 然后加边 加边的原则 从最短边开始添加 加边的过程中不能形成圈 直到连通 n 1条边 v1 v2 v3 v4 v5 v6 4 3 5 2 1 MinC T 15 求最小树的方法 避圈法和破圈法 破圈法 任取一圈 去掉圈中最长边 直到无圈 v1 v2 v3 v4 v5 v6 4 3 5 2 1 得到最小树 MinC T 15 根树及其应用 定义有向树 若一个有向图是一棵树 则称这个有向图为有向树 定义若有向树T恰有一个结点的入次为0 其余各点入次均为1 则称T为根树 入次为0的点 称为根 出次为0的点 称为叶 其它顶点 称为分枝点 根到某顶点vi的道路长度 称为vi点的层次 定义在根树T中 若每个顶点的出次小于或等于m 则称T为m叉树 若每个顶点的出次恰好等于m或零 则称T为完全m叉树 当m 2时 称为二叉树 完全二叉树 记二叉树各叶子的权为pi 根到各叶子的距离 层次 为li二叉树的总权数 最优二叉树 满足总权最小的二叉树称为最优二叉树 霍夫曼 DAHuffman 给出了一个求最优二叉树的算法 又称霍夫曼树 例 最优检索问题用计算机进行图书分类 现有五类图书共100万册 其中有A类50万册 有B类20万册 C类5万册 D类10万册 E类15万册 问如何安排分检过程 可使总的运算次数最小 算法步骤 1 将s个叶子按权由小至大排序 2 将二个具有最小权的叶子合并成一个分枝点 其权为p1 p2 将新的分枝点作为一个叶子 合并 解 构造一棵具有5个叶子的最优二叉树 其叶子的权分别为50 20 5 10 15 步骤如下 1 将5个叶子按权由小到大排序 5 10 15 20 502 找出二个最小权的叶子 合并成一个分枝点 其权为15 依次 继续 总权为 分检过程是 先把A类50万册从总数中分检出来 其次将B类20万册分检出来 然后再将E类15万册分检出来 最后再将D C分检出来 8 3最短路问题 有些问题 如选址 管道铺设时的选线 设备更新 投资 某些整数规划和动态规划的问题 也可以归结为求最短路的问题 因此这类问题在生产实际中得到广泛应用 求最短路有两种算法 一是求从某一点至其它各点之间最短离的狄克斯屈拉 Dijkstra 算法 另一种是求网图上任意两点之间最短的矩阵算法 最短路问题 就是从给定的网络图中找出一点到各点或任意两点之间距离最短的一条路 渡河问题 一老汉带了一只狼 一只羊 一棵白菜想要从南岸过河到北岸 河上只有一条独木舟 每次除了人以外 只能带一样东西 另外 如果人不在 狼就要吃羊 羊就要吃白菜 问应该怎样安排渡河 才能做到既把所有东西都运过河去 并且在河上来回次数最少 这个问题就可以用求最短路方法解决 设 M 人W 狼S 羊V 白菜 渡河方案共有10种 构造如下一个图 每条边的距离为1 问题变为求一条从MWSV到 的最短路 北岸 南岸 狄克斯屈拉 Dijkstra 标号算法 点标号 b j 起点vs到点vj的最短路长 边标号 k i j b i dij 步骤 1 令起点的标号 b s 0 先求有向图的最短路 设网络图的起点是vs 终点是vt 以vi为起点vj为终点的弧记为 i j 距离为dij 2 找出所有vi已标号vj未标号的弧集合B i j 如果这样的弧不存在或vt已标号则计算结束 3 计算集合B中弧k i j b i dij的标号 4 选一个点标号返回到第2步 例 求下图v1到v7的最短路长及最短路线 0 8 6 2 2 5 4 4 11 14 7 5 10 7 12 11 v7已标号 计算结束 从v1到v7的最短路长是11 最短路线是 v1v4v6v7 无向图最短路的求法 无向图最短路的求法只将上述步骤2改动一下即可 点标号 b i 起点vs到点vj的最短路长 边标号 k i j b i dij 步骤 1 令起点的标号 b s 0 3 计算集合B中边标号 k i j b i dij 4 选一个点标号 返回到第2步 2 找出所有一端vi已标号另一端vj未标号的边集合B i j 如果这样的边不存在或vt已标号则计算结束 例 求下图v1到各点的最短路及最短距离 0 4 5 2 2 3 10 3 9 6 12 6 4 11 6 6 18 8 12 24 8 24 18 所有点都已标号 点上的标号就是v1到该点的最短距离 最短路线就是红色的链 有负权的最短路算法 假设图中没有负回路 如下图是一条负回路 最短路权无下界 当vi到vj之间没有弧连接时 令lij 列表迭代计算 设vs到vj经过vi到达vj 则vs到vj的最短距离为 迭代 例 求下图v1到v8的最短路长及最短路线 2 0 3 6 11 0 2 0 3 6 6 15 0 2 0 3 3 6 14 10 表中空格为 020 336910 采用 反向追踪 的方法找出从v1到v8的最短路 已知 P v1 v8 10 而P v1 v8 min P v1 vi li8 寻找 P v1 v6 l68 6 4 10 记下 v6 v8 再检查 P v1 v6 6 寻找 P v1 v3 l36 0 6 6 记下 v3 v6 v8 v1 v2 v3 v6 v8 再检查 P v1 v3 0 寻找 P v1 v2 l23 2 2 0 记下 v2 v3 v6 v8 8 4最大流问题 许多系统中都涉及到流量问题 例如网络系统中有信息流 公路系统中有车辆流 金融系统中有现金流等等 对于这些包含了流量问题的系统 我们往往需要求出其系统的最大流量 例如 某公路系统的容许通过的最大车辆数 某网络系统的最大信息流量等 以便于对某个系统加以认识并进行管理 例某石油公司建有一个可以把石油从采地输送到不同销售点的管道网络 如下图 由于管道的直径变化 使得各段管道 vi vj 的最大通过能力 容量 cij也是不一样的 cij的单位为万加仑 小时 要求我们制定一个输送方案 将石油从v1输送到v6 使得输送的石油达到最大 基本概念 容量 在某时期内弧 i j 上的最大通过能力 记为C i j 或Cij在上图中 C12 4 C13 8 C23 4等 怎样安排运输方案 才能使在某一时期内从v1运到v6的物资最多 这样的问题就是最大流问题 网络中所有流起源于一个叫做发点的节点 源 所有的流终止于一个叫做收点的节点 其余所有的节点叫做中间点 转运点 通过每一条弧的流只允许沿着弧的箭头方向流动 目标是使得从发点到收点的总流量最大 8 4最大流问题 流量 弧 i j 的实际通过量 记为f i j 或fij 可行流 如果fij满足 1 对于所有弧 i j 有0 fij Cij 则称流量集合 fij 为网络的一个可行流 简记为f 以下假设网络是一个简单连通图 2 对于中间点点vm有 链 从发点到收点的一条路线 弧的方向不一定都同向 称为链 从发点到收点的方向规定为链的方向 前向弧 与连的方向相同的弧称为前向弧 后向弧 与连的方向相反的弧称为后向弧 增广链设f是一个可行流 如果存在一条从vs到vt的链 满足 1 所有前向弧上fij Cij 2 所有后向弧上fij 0 则该链称为增广链 容量 流量 定理 设网络G的一个可行流f 如果存在一条从vs到vt的增广链 那么就可改进一个值更大的可行流f1 并且valf1 valf 证 设valf v 对改进的可行流f1 最大流的标号算法 步骤1 找出第一个可行流 例如所有弧的流量fij 0 2 用标号的方法找一条增广链A 发点标号 B 选一个已标号的点vi 对于vi的所有未给标号的邻接点 按下列规则处理 如果是前向弧并且有fij Cij 令 j min Cij fij i 则vj标号 vi j 如果是后向弧vi并且有fj 0 令 j min fij i 则vj标号 vi j 当收点不能得到标号时 说明不存在增广链 计算结束 当收点

温馨提示

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

评论

0/150

提交评论