专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

单纯形算法基本原理(单纯形算法求解线性规划问题)

来源:小易整编  作者:小易  发布时间:2023-02-20 12:06
摘要:单纯形算法基本原理(单纯形算法求解线性规划问题)单纯型算法是求解线性规划问题(LP)的一个经典算法,在单纯型算法中最耗时的模块是计算矩阵的逆矩阵的算法。网络单纯形算法是单纯形算法的一个特殊版本,它使用生成树基来更有效地解决具有纯网络形式的线...

单纯形算法基本原理(单纯形算法求解线性规划问题)

单纯型算法是求解线性规划问题(LP)的一个经典算法,在单纯型算法中最耗时的模块是计算矩阵的逆矩阵的算法。网络单纯形算法是单纯形算法的一个特殊版本,它使用生成树基来更有效地解决具有纯网络形式的线性规划问题。这样的LP问题可以用有向图上的公式来建模,作为一个最小费用流问题。

网络单纯型是指如下形式的LP问题:

单纯形算法

其中,每列只包含一个1和一个-1,其他系数都是0。

下面是一个例子:

单纯形算法基本原理(单纯形算法求解线性规划问题)

该问题可以看做是最小费用流问题(Minimum cost flow problems)的图形式。

图G=(V,E),顶点V表示行(约束),边E表示列(变量),对于矩阵A中一个列,第i行有个1,第k行有个-1,表示图G中的一条边(i,k)。

对于上述例子,可以用下图表示:

单纯形算法基本原理(单纯形算法求解线性规划问题)

网络流问题满足Hoffman&Gale’s conditions,因此可以确保得到整数解。

【关联矩阵】:对于图G=(V,E)的关联矩阵A可以表示为:

单纯形算法基本原理(单纯形算法求解线性规划问题)

上例中的关联矩阵可以表示为:

单纯形算法

【路径】:

单纯形算法基本原理(单纯形算法求解线性规划问题)

单纯形算法基本原理(单纯形算法求解线性规划问题)

连通图:图中任意两个顶点都有路径。生成树:图G的一个子图T,包含图G中所有顶点。性质:rank(A)=n-1,n是结点个数。

我们新增一个变量w,A中增加一个列

单纯形算法基本原理(单纯形算法求解线性规划问题)

r∈{1,2……n}中任意一个值,w=0,则LP模型为:

单纯形算法基本原理(单纯形算法求解线性规划问题)

其中,r称为根节点(root vertex),w称为根边(rootedge)(going nowhere)

对于上述例子,假如选择根节点 r=2

单纯形算法基本原理(单纯形算法求解线性规划问题)

A 是图G的关联矩阵,T是G的生成树,则(A│e_r )的基B=e_r∪{a_e |e∈T}

【单纯型算法】:

单纯形算法基本原理(单纯形算法求解线性规划问题)

单纯形算法基本原理(单纯形算法求解线性规划问题)

单纯形算法基本原理(单纯形算法求解线性规划问题)

我们可以从根节点进行先序遍历,得到y2=0, y1-y2=1, y1-y3=10,即依次遍历基5,基1,基4伪代码:(递归)solve(Vertex p,Tree S){//p是树S的根节点Vertex v=root(S);if(v==r) y[r]=c[w];else if ((p,v)∈E y[v]=y[p]-c[(p,v)];else y[v]=y[p]+c[(v,p)];solve(v,S.left());solve(v,S.right());}

单纯形算法基本原理(单纯形算法求解线性规划问题)


本文地址:网络知识频道 https://www.hkm168.com/jiqiao/903107.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


网络知识
小编:小易整编
相关文章相关阅读
  • 计算机按工作原理可分为什么

    计算机按工作原理可分为什么

    计算机按工作原理可分为数字计算机和模拟计算机。数字式电子计算机是当今世界电子计算机行业中的主流,其内部处理的是一种称为符号信号或数字信号的电信号,它有着运算速度快、运算精度高、通用性强等特点。模拟计算机是根据相似原理,用一种连续变化的模拟量...

  • 二进制算法怎么算

    二进制算法怎么算

    二进制算法是一种基于二进制数的运算方法,其基本运算包括加法、减法、乘法和除法。除了基本运算外,二进制算法还包括逻辑运算、位移运算等操作。逻辑运算包括与、或、非等操作,位移运算包括左移和右移操作。这些操作都有对应的规则和操作数的要求。二进制算...

  • DTW算法是什么

    DTW算法是什么

    dtw算法是指动态时间规整算法,是基于动态规划dp的思想,是一种计算2个时间序列尤其是不同长度序列相似度的一种动态规划算法;它解决了发音长短不一的模板匹配问题,是语音识别中出现较早、较为经典的一种算法。dtw算法主要应用在时序数据上,比如孤...

  • 起动机的工作原理是什么

    起动机的工作原理是什么

    起动机是用于启动内燃机的装置,以下是起动机的工作原理:1、启动时,电源通过起动电路提供电流给起动机;2、当电流通过电动机时,开始旋转;3、电动机旋转,将电动机的转动力传递给发动机的曲轴;4、曲轴转动,带动活塞和气门等部件开始运动;5、汽油或...

  • 在算法中mod是什么意思?

    在算法中mod是什么意思?

    在算法中,mod的意思是取模,就是取余数。mod运算,即求余运算,是在整数运算中求一个整数x除以另一个整数y的余数的运算,且不考虑运算的商。mod运算,即求余运算,是在整数运算中求一个整数x除以另一个整数y的余数的运算,且不考虑运算的商...

  • 什么是广度优先搜索算法

    什么是广度优先搜索算法

    广度优先搜索算法又称为【宽度优先搜索】或【横向优先搜索】,简称bfs。它是用于图的查找算法(要求能用图表示出问题的关联性)。bfs是最简便的图的搜索算法之一,这一算法也是很多重要的图的搜索算法的原型。什么是广度优先搜索算法?怎么用PHP实现...

  • 玻璃硬盘原理

    玻璃硬盘原理

    玻璃硬盘的原理基于激光干涉和全息技术,利用激光束照射到玻璃基底上,通过干涉图案将数据编码为三维像素。这些像素以微米级别的尺寸在玻璃表面形成干涉图案,每个像素都包含数据的二进制信息。由于玻璃基底的稳定性和耐久性,可以使用光学显微镜对存储在其中...

  • 交换机的工作原理是什么

    交换机的工作原理是什么

    交换机的工作原理包括:1、数据帧接收和解析;2、转发表的更新;3、数据帧的转发;4、泛洪处理;5、维护连接。详细介绍:1、数据帧接收和解析,当交换机接收到一个数据帧时,它会首先对数据帧进行解析,提取出其中的源mac地址和目的mac地址等信息...

  • 周排行
  • 月排行
  • 年排行

精彩推荐