| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 数学建模——图与网络模型及方法(一) -> 正文阅读 |
|
[数据结构与算法]数学建模——图与网络模型及方法(一) |
作者:recommend-item-box type_download clearfix |
目录 基本概念图,就是由一些点和这些点之间的连线组成。 ?|V|表示图G中顶点的个数,|E|表示边的条数。每一条边都是由连接G中两个顶点得到的一条线,记作:,vi和vj称为边的两个端点。无向图中,一条边的顶点对表示是无序的,就是说和表示的是同一条边。有公共顶点的两条边称为相邻的边,或称为邻边。同一条边的两个顶点称为相邻的顶点。带有方向的边称为有向边,又称为弧。如果给无向边的每条边规定一个方向,就得到了有向图。 ?环:一条边的两个端点是同一个顶点。重边(平行边):两条边或多条边的端点是同一对顶点。孤立点:不与任何边相连的顶点。简单图:无环且无重边的图。完全图:任意两顶点均相邻的简单图。含n个顶点的完全图记作。赋权图:图的每条边都附有一个实数,实数称为权。记作。 顶点的度:无向图中,与顶点v关联的边的数目(环算作两次)称为v的度,记作d(v)。有向图中,从顶点v引出的弧的数目称为v的出度,记作,从顶点v引入的弧的数目称为v的入度,记作,称为v的度。度为奇数的顶点称为奇顶点,偶数的顶点称为偶顶点。 ?定理: ?图的矩阵表示 ?关联矩阵:(不同软件定义可能不一样) ?邻接矩阵: ?例如: ?MATLAB工具箱使用图的生成:
?MATLAB中一般使用稀疏矩阵来生成邻接矩阵 例如:画出下图非赋权有向图并导出邻接矩阵和关联矩阵
最短路径算法管道铺设、线路安排、厂区布局、设备更新等都可以归结为最短路径来解决 定义: 若两个顶点的路径不止一条,则最短路的长称为二点的距离,记作 ?计算最短路的算法有迪克斯特拉标号算法和弗洛伊德算法,前者只适用于边权是非负的情况。最短路问题也可以归结为一个0-1整数规化模型。 固定起点的最短路寻求从一固定点到其余各点的最短路,Dijkstra算法就很有效,它是一种迭代算法。 MATLAB工具箱中,如果两个顶点之间没有边,对应的邻接矩阵元素为0,而不是像数学理论上对应无穷或0。 例子 ?线侧数字为所需费用,求从1到8费用最小的旅行路线。
?可以通过上面这个使得图中的path点变得更大。 ?对于赋权无向图,将上面的代码使用graph函数就行,另一种(求1到11):
?所有顶点对之间的最短路采用Floyd算法,该算法允许赋权图中包含负权的边或弧,但是,每一个回路上的所有弧总和为非负。 计算时用迭代公式: ?k为迭代次数,当k=n时,得到各顶点之间的最短距离值。 例子 ?求得所有顶点之间的最短距离矩阵:
直接调用Dijkstra算法可以求各个顶点之间的最短距离:
0-1整数规划方法?例子 求2到4的最短路径和最短距离(第一个条件i是不包括起始、终止点)
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:17:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |