线性规划对偶问题学习笔记

线性规划对偶问题学习笔记

今天做FJ省队集训感觉需要用KM,然后来学

由于我数学太弱,可能会用比较通俗的语言解释,数学符号混乱注意。

线性规划

线性规划通常可以用矩阵的形式表示为:

定义 \(m \times n\) 的矩阵 \(A\) 和向量 \(\mathbf{b}=\left[b_{1}, \cdots, b_{m}\right]^{T}, \mathbf{c}=\left[c_{1}, \cdots, c_{n}\right]\),求\(\mathbf{x}=[x_1,\cdots,x_n]^T\),满足以下条件

这里B、X就当它是一个竖着的数组,只是为了方便用数学语言表示之后的乘

\[\operatorname{maximize} \quad \mathbf{c x}\\ \operatorname{s.t.} \quad A \mathbf{x} \leq \mathbf{b}, \mathbf{x} \geq 0 \]

这是什么意思呢?首先cx就是\(\sum_{i} x_ic_i\),即物品总价值

然后有若干个约束,AX<=b 就是我们开对每一行\(A_i\),有\(\sum_j A_{i,j}x_j\leq b_i\)

表示每单位每个物品 \(j\) 需耗费\(A_{i,j}\)单位材料 \(i\)\(b_i\)为材料总单位数

对偶问题

每个线性规划问题,称为原问题,都可以变换为一个对偶问题。上述问题的对偶问题为:

\[\operatorname{minimize} \quad \mathbf{b}^{T} \mathbf{y}\\ \operatorname{s.t.} \quad A^{T} \mathbf{y} \geq \mathbf{c}, \mathbf{y} \geq 0 \]

我们现在考虑另一个公司要买原来公司的材料,y表示购买单位材料的价值。显然原来的企业只有卖材料的收益比卖物品高的时候才会卖材料,那么我们只要最小化购买单位材料的总价值,之前物品的收益就最高。感性理解一波,相当于从上面逼近。

by是所有材料的价值,\(A^Ty\)是一种物品的材料价值

对偶问题推论

我们知道 \(A_{i} \mathbf{x} \leq b_{i}\) 会对偶成 \(y_{i},\)\(y_{i} \geq 0\) 。那么对于 \(A_{i} \mathbf{x} \geq b_{i}\)\(A_{i} \mathbf{x}=b_{i}\) 的条件又如何对偶?
\(A_{i} \mathbf{x} \geq b_{i}\) 可以写成 \(-A_{i} \mathbf{x} \leq-b_{i},\) 那么就可以照常对偶。
对于 \(A_{i} \mathbf{x}=b_{i},\) 我们可以写成两个条件 \(A_{i} \mathbf{x} \leq b_{i}\)\(-A_{i} \mathbf{x} \leq-b_{i}\) 。这样会对偶出两个变量 \(y_{i}^{\prime}\)\(y_{i} "\) 。而
他们的系数是恰好相反的,因此可以合并成 \(\left(y_{i}^{\prime}-y_{i}^{\prime \prime}\right)\) 乘系数的形式。而 \(y_{i}^{\prime}-y_{i}^{\prime \prime}\) 没有 \(\geq 0\) 的限制。因此\(A_{i} \mathbf{x}=b_{i}\) 会对偶出变量 \(y_{i},\)\(y_{i}\) 没有 \(\geq 0\) 的限制。

单纯形算法

看不懂 不会 挖坑

例题

NOI2008 志愿者招募
ZJOI2013 防守战线

KM算法

https://www.cnblogs.com/fzl194/p/8834847.html

这东西也不难懂,大概就是给每个点分配一个权值,然后权值相加等于边权的时候才能匹配。不能匹配的时候就把左边都减1,右边都加1,那么对于原来的边不受影响,还新增了可能匹配的边,然后总权值之减了1(左边n个点,右边n-1个点),一定是最优的。

posted @ 2020-06-07 22:10  lcyfrog  阅读(583)  评论(0编辑  收藏  举报