形式陈述
线性方程的系数和右端都是整数,解仍可能有分数,例如 。什么矩阵结构能阻止顶点求解时出现这样的分母?
矩阵 称为全幺模矩阵(totally unimodular,TU),如果它的每个方形子矩阵 都满足
这里的行列式公理库行列式Determinant交换含幺环上方阵的交替多线性标量不变量。要检查所有阶数;特别地,每个 子式就是一个元素,所以 TU 矩阵的元素只能是 。矩阵本身可以是长方形。
若 是 TU、 是整数向量,则 是整数多面体公理库整数多面体与整数包Integral polyhedron · Integer hull区分整数点、整数包和整数多面体,说明何时所有线性目标都能由整数解达到,以及无顶点情形为何需要额外小心。。最常用的形式还含非负性或上下界:,以及 ;在相应右端均为整数时,同样有整数性。
支撑这些变换的是闭包性质:转置、行列换位、整行或整列乘 、复制一行,以及增添单位行,都保留 TU。因而把等式拆成相反的两个不等式、加入整数变量界,不会破坏原有证书。
直觉
一个顶点由若干线性无关的紧约束钉住。抽出 条独立紧约束,得到 。Cramer 法则给
其中 是把第 列换成整数右端的矩阵。分子为整数;TU 加上 可逆,迫使分母只有 或 ,于是每个坐标都是整数。
这个证明不能只检查原矩阵整个行列式。LP 顶点会选择不同约束作为基,真正需要的是所有可能基的分母都受控。即使原矩阵恰好是方阵且行列式为一,它内部的小子式仍可能产生分数顶点。
若可行域含直线而没有顶点,可以用整数盒子截断来完成一般证明。任取 ,选足够大的整数 使其在 中;加入这些单位行仍为 TU,截断后是顶点全整数的有界多胞形,所以 是其中整数点的凸组合。让盒子覆盖任意 ,便得到 ,没有把无顶点情形遗漏掉。
列结构如何控制子式
例子与边界
网络关联矩阵的直接证明
对一个有限有向图公理库有向图Directed graph · Digraph以顶点有序对为弧、能够保留连接方向的有限简单图结构。,每条弧对应一列:尾顶点行贡献 ,头顶点行贡献 ,其他行记零。若允许自环,两项在同一行相抵,得到零列;平行弧保留各自的列。取弧 ,矩阵为
任取一个方形子矩阵 ,对阶数归纳。若某列全零,行列式为零;若某列只剩一个非零,它必为 ,沿该列展开,降到小一阶。剩下的情况是每列都有两个非零,且一正一负,于是全部行相加为零,行线性相关,行列式仍为零。三个分支覆盖所有子矩阵,TU 得证。
对二分图的无向点边关联矩阵,每列原来有两个 。把某一侧顶点对应的所有行乘 ,就变成上述有向关联结构。因此二分图关联矩阵也 TU,进而解释匹配度约束的整数性。
奇圈在哪里制造分母
无向三角形的点边关联矩阵可写成
方程 的解是每条边 。这也是非负度约束 的一个分数顶点:三条紧约束独立,解被唯一钉住。奇圈使行符号无法同时把每条边改成一正一负,分母二正是这个障碍的代数表现。
另一个较小的提醒是
它的整个行列式为 ,是方阵意义下的幺模矩阵,却不是 TU,因为元素 已经是非法的 子式。“幺模”和“全幺模”不能省略一个字混用。
推论与应用
在LP公理库线性规划Linear programming · LP在线性等式和不等式约束下优化线性目标函数的问题。中,TU 是关于矩阵的统一保证:保持这个矩阵及合法单位界结构,任意整数右端都不会制造分数顶点。反过来,某个具体右端下得到整数多面体,并不证明矩阵 TU;分数危险可能只在其他右端出现。
整数右端同样不可省略。单行矩阵 已经 TU,但 的端点仍是分数。也不要随意把某行乘二以后继续宣称矩阵 TU:可行域可能没变,矩阵证书却变了。
网络流、带整数容量与供需的流平衡,以及二分图匹配多胞形公理库二分图匹配多胞形Bipartite matching polytope证明二分图的非负边变量与顶点度上界已给出匹配凸包,并用交替扰动区分分数可行点和分数顶点。都能用这套分母控制解释整数性。不过通用检查“所有子式”有指数多候选;定义本身不是一个高效识别算法。对网络矩阵使用上面的结构归纳,比穷举子式更适合证明任意规模输入。
下载核验只在一个四行五列实例上逐一检查全部方形子式,并检查三角形的行列式二;这些计算帮助核对例子,普遍结论来自归纳证明。一般 TU 识别还有更深的结构算法,不应从小矩阵枚举的运行时间外推。
参考资料
- Dimitris Bertsimas and Andreas Schulz, MIT 15.083J/6.859J, Lecture 5, “Ideal formulations I”, slides 3–13:官方讲义。Cramer 法则、TU 闭包性质、整数右端定理和关联矩阵。
- Rekha R. Thomas, Math 583E: Linear and Integer Polyhedra, Chapters 8–9:官方课程笔记。TU 的整数系统解释与图上的应用。