2020-08-10
图论与线性规划看似是两个完全不同的领域。但如果仅从算法的角度看,它们的关系非常密切。图论中的许多问题都可以作为线性规划问题或更为一般的最优化问题。尽管图论中的一些经典问题已经有非常成熟的特定算法,但线性规划作为一个更具有一般性的工具,可以用来理解图论中的已有算法和发现图论中的新算法。
线性规划基础
线性规划是指在一些线性约束的条件下,求解线性目标函数的最优值。形式有很多种
形式1:
约束条件全部为不等式,一般来说,假设 A 的行数大于列数,否则约束数量太少,无法限制变量 x 的范围,常常会导致最优值无穷。
形式2:
形式3:
最为一般的线性规划,
Fourier Motzkin 消去法实际上是用于求解线性不等式组的一种方法,但也可以用来求解线性规划。
基:以形式 2 为例,其中 A 是 m 行 n 列的矩阵。一般假设 m < n 。
基的引入将线性规划同线性方程组紧密联系在一起。基实质上 就是将变量分为两类,一类是取到上界或下界,另一类是没有取到上界或下界。
单纯形方法的思想非常简单:不断调整基本可行解,最终得到最优解。
伪代码:
对偶在线性规划种是非常重要的概念。每一个线性规划问题都有一个对偶问题,并且二者具有密切的联系。
全单模矩阵,
关联矩阵是用来模式两个集合间关系的矩阵。可以用来描述无向图和有向图
单模矩阵是指行列式等于 +1 或 -1 的整数方阵。
如果一个整数矩阵的所有子方阵的行列式都等于 0、+1 或 -1,则称其为全单模矩阵。
我们主要研究两个问题:
- 无向图的关联矩阵何时是全单模矩阵。
- 有向图的关联矩阵何时是全单模矩阵。
线性规划和全单模矩阵
图论中的经典问题
用线性规划去描述
二分图
最大流和最小割问题:给定一个源点 s 和一个汇点 t,每条边上有一定的流量限制,求 s 到 t 尽可能大的流。
先添加一条从 t 到 s 的边,流量限制为无穷大。这样流就可以从 t 回到 s,于是最大流问题变为寻找尽可能大的环流。
,
对偶问题如下,
定理:最大流问题与最小割问题互为对偶,且最大流等于最小割。