图与网络优化

一、图论概述

  图论是应用广泛的运筹学分支,在实际生活、生产和科学研究中,有很多问题可以用图论的理论和方法来解决。

  经典的图论问题有:欧拉七桥问题、环球旅行问题、中国邮递员问题......

  欧拉回路:从图中任意一点出发,经过图中所有边一次且仅一次的回路。

  哈密顿回路:从图中任意一点出发,经过图中所有顶点一次且仅一次的回路。

  中国邮递员问题:

  

  一名邮递员负责投递某个街区的邮件。如何为他(她)设计一条最短的投递路线?(从邮局出发,经过投递区内每条街道至少一次,最后返回邮局)由于这一问题是我国管梅谷教授1960年首先提出的,所以国际上称之为中国邮递员问题。

二、图的基本概念

  (仅供科普,以后有机会单独写一篇)

  图分为:有向图无向图

  点数p、边数q、关联边多重边、点的次(度)d(v)奇点偶点悬挂点孤立点悬挂边

  相关定理:①任一图中,所有点的次之和是边数的两倍(即度数之和为2q)。②任一图中,奇点的个数为偶数。

  :图中的点、边交错的序列。(初等链:所有点均不相同的链简单链:所有边均不相同的链。)

  :两个端点相同的链。

  中间点:除了两个端点以外的点。

  连通图、连通分图、生成子图

  基础图G(D):从有向图D中去掉所有弧的箭头得到的无向图。

  始点、终点、弧

  :一条按照弧方向前进的链。

  回路:起、终点相同;初等路:各顶点不相同的路

三、最小树问题

1. 树:一个无圈的连通图。

  如:

  

2. 树的6个等价性质:

设图 T = (V, E)是一个树,其中点数为p、边数q

(1)T为无圈的连通图

(2)T无圈,且q=p-1

(3)T连通,且q=p-1

(4)T无圈,但增加一条边,可得到一个且仅一个圈

(5) T连通,但舍弃一条边,图便不连通

(6)T中任意两个顶点之间恰有一条链

3. 生成树(支撑树):若T=(V,E′)是G=(V,E)的生成子图,且T是一个树,则T为G的一个生成树。

  图G有生成树的充要条件是图G是连通的。

  证明:

  必要性是显然的。

  充分性 设G是连通图,若G不含圈,则G本身是一个树,从而G是它自身的一个支撑树。若G含圈,任取一个圈,从圈中去掉任意一条边,得到G的一个支撑子图G1。若G1不含圈,则G1是G的一个支撑树;否则继续上述破圈操作,直到没有圈为止,最终找到一个支撑子图,它不含圈,是G的一个支撑树。

  寻找生成树的方法“破圈法”“避圈”法

  破圈法:破坏已有的圈。

  避圈法:连接点的时候避免构成圈。

  所以生成树对于连通图来说是不唯一的。

4. 赋权图:给图G=(V,E),对G中的每一条边[vi, vj],相应地有一个数wij,则称这样的图G为赋权图,wij称为边[vi, vj]上的权。

  

5. 最小生成树:T = (V, E′)是G的一个生成树,T中所有边的权之和为生成树的权w(T)。如果T*的权w(T*)是G的所有生成树的权中最小者,则称为G的最小生成树树(最小树)

6. 最小树问题

  例:某工厂在6个车间之间的道路网如图所示,每条道路的距离已知。

  

  问:如何沿道路架设电话线网,才能使电话线的总长最小?

  最小树问题就是在赋权图上求最小生成树的问题

  

  避圈法操作起来相对比较麻烦。

  例:

  

四、最短路问题

  最短路问题是在赋权有向图中寻求最短路的问题。

  

   求解方法:Dijkstra算法

  适用范围:正费用网络(wij ≥ 0),即权值不为负。

  基本步骤:

  

  

五、网络最大流问题

  问题引入:

  

  要求制定一个运输方案使从v1到v6运输的产品数量最多。

  基本概念:

  网络:给定一个有向图D = (V,A),在V中指定一点为发点(始点),记为vs,而另一点为收点(终点),记为vt,其余点为中间点。对于每一个弧(vi,vj) ∈A ,对应有一个c(vi,vj)≥0,简写为cij,称为弧的容量。这样的D叫做一个网络,记为D = (V, A, C)

  :所谓网络上的流是指定义在弧集合A上的一个函数f = {f(vi,vj)},并称f(vi,vj)为弧(vi,vj)的流量,简称fij

  可行流

  

  零流:令所有弧的流量fij=0,就得到一个零流,其流量v(f)=0。

  最大流: 使流量v(f)最大的可行流。

  最大流问题的数学模型:

  

  (非)饱和弧、(非)零流弧:

  

  向前弧、向后弧:

  

  

原文地址:https://www.cnblogs.com/fangxiaoqi/p/10566717.html

时间: 2024-10-29 05:30:09

图与网络优化的相关文章

图与网络优化——最小费用最大流问题

这个问题真是烧脑.不过弄懂了最后. 这个问题中构建的图是单位运价和容量的网络. 首先把费用提出来单独构建一个图,找到最短路经.然后用这条路径上的最下容量来调整这条路上的流量.调整过后,重新构图就是要把最短路的路径加上反向弧,利用公式当正向弧的时候流量小于容量则价钱不变,容量等于流量则价钱为无穷尽去掉.如果反向弧则流量大于0去价钱的相反数,若等于0则去无穷.调整之后从新找到最短路,然后用最小的容量进行调整,注意这个调整是差额调整,就是你的流量相对于上次变化了多少那相关的弧就要变化多少,不是容量是多

山东大学《运筹学》课程课件

教材:刁在筠,刘桂真,宿洁,马建华.<运筹学>,第三版,高等教育出版社,2007. ch01 - 绪论.pptx ch02-1 - 线性规划 - 模型与基本定理.pptx ch02-2 - 线性规划 - 单纯形算法.pptx ch02-3 - 线性规划 - 两阶段单纯形算法.pptx ch02-4 - 线性规划 - 对偶理论.pptx ch02-5 - 线性规划 - 灵敏度分析.pptx ch02-6 - 线性规划 - 计算软件和复杂性.pptx ch03-1 - 整数规划 - 割平面法.pp

利用filter实时切换big5和gb2312,以及gb2312的简繁体

IEEE Spectrum 杂志发布了一年一度的编程语言排行榜,这也是他们发布的第四届编程语言 Top 榜. 据介绍,IEEE Spectrum 的排序是来自 10 个重要线上数据源的综合,例如 Stack Overflow.Twitter.Reddit.IEEE Xplore.GitHub.CareerBuilder 等,对 48 种语言进行排行. 与其他排行榜不同的是,IEEE Spectrum 可以让读者自己选择参数组合时的权重,得到不同的排序结果.考虑到典型的 Spectrum 读者需求

俑烟汲的诿樟透磺勒秤窗mvus

IEEE Spectrum 杂志发布了一年一度的编程语言排行榜,这也是他们发布的第四届编程语言 Top 榜. 据介绍,IEEE Spectrum 的排序是来自 10 个重要线上数据源的综合,例如 Stack Overflow.Twitter.Reddit.IEEE Xplore.GitHub.CareerBuilder 等,对 48 种语言进行排行. 与其他排行榜不同的是,IEEE Spectrum 可以让读者自己选择参数组合时的权重,得到不同的排序结果.考虑到典型的 Spectrum 读者需求

移动端网络优化

介绍下针对移动端的网络优化,不限于 Android,同样适用于 iOS 和 H5.这篇文章首发在微信公众号 codekk. 一个网络请求可以简单分为连接服务器 -> 获取数据两个部分.其中连接服务器前还包括 DNS 解析的过程:获取数据后可能会对数据进行缓存. 一.连接服务器优化策略 1. 不用域名,用 IP 直连省去 DNS 解析过程,DNS 全名 Domain Name System,解析意指根据域名得到其对应的 IP 地址.如 www.codekk.com 的域名解析结果就是 104.23

Android移动端网络优化

介绍下针对移动端的网络优化,不限于 Android,同样适用于 iOS 和 H5 本文为性能优化系列第四篇,目前性能调优专题已完成以下部分: 性能优化总纲——性能问题及性能调优方式 性能优化第四篇——移动网络优化 性能优化第三篇——代码优化 性能优化第二篇——布局优化 性能优化第一篇——数据库性能优化 Android 性能调优工具 TraceView 性能优化实例 一个网络请求可以简单分为连接服务器 -> 获取数据两个部分. 其中连接服务器前还包括 DNS 解析的过程:获取数据后可能会对数据进行

VPS搭建SS教程:VPS购买、使用、网络优化,SS的搭建以及使用

下面的SS/SSR教程也是针对新手,从购买VPS,登录VPS,对VPS的网络进行优化(可以轻松看youtube的2k.4k),搭建SS/SSR,使用SS/SSR等. 下面以HiFormance提供的KVM VPS为例,其实也推荐这家,便宜.流量大,国内网络不错,然后还支持支付宝.微信付款. 一.推荐.购买KVM VPS (一)主机推荐(均支持支付宝付款) 1.HiFormance:年付15美金以下的套餐(3年付可以获得任意双倍资源,建议要个额外IP) a.$9.9/年,256MB内存/5GB S

移动 APP 网络优化概述

一般开发一个 APP,会直接调用系统提供的网络请求接口去服务端请求数据,再针对返回的数据进行一些处理,或者使用AFNetworking/OKHttp这样的网络库,管理好请求线程和队列,再自动做一些数据解析,就结束了. 但对于一些大型 APP,还会想针对网络的一些问题进行进一步优化,包括: 速度:网络请求的速度怎样能进一步提升? 弱网:移动端网络环境随时变化,经常出现网络连接很不稳定可用性差的情况,怎样在这种情况下最大限度最快地成功请求? 安全:怎样防止被第三方窃听/篡改或冒充,防止运营商劫持,同

时序图与状态图(Rose) - Windows XP经典软件系列

最近开始了自己高级数据结构之旅,在这次旅行中,我将持续把一些高级的数据结构从理论到编码都过一遍,同时通过博客形式分享出来,希望大家指出不足之处! 二叉排序树是一种动态排序的数据结构,支持插入.删除.查找等操作,且平均时间复杂度为O(log(N)),但是普通二叉排序树不能保证树退化为一颗分支的情况,此时最坏情况下的时间复杂度为O(N).此时,平衡二叉树的产生了.平衡二叉树是一种动态调整平衡的数据结构,但理想的平衡二叉树很难,于是人们使用AVL.红黑树.Treap.伸展树等来替代平衡二叉树,这些数据