do_while_true

一言(ヒトコト)

线性规划转对偶

丁晓漫,再探线性规划对偶在信息学竞赛中的应用

\[\max \mathbf{c}^T\mathbf{x} \\ \mathbf{Ax}\leq \mathbf{b} \\ \mathbf{x}\geq \mathbf{0} \]

等于

\[\min \mathbf{b}^T\mathbf{y} \\ \mathbf{A}^T\mathbf{y}\geq \mathbf{c} \\ \mathbf{y}\geq \mathbf{0} \]

首先先认识 \(\sum a_ib_i=c\) 这个限制怎么对偶,拆成:

\[\sum a_ix_i\leq c \\ \sum -a_ix_i\leq -c \]

假设前者的对偶变量为 \(p\),后者的为 \(p'\),那么就是最小化 \(c(p-p')\),令 \(\varphi =p-p'\),那么 \(\varphi\) 可以取任意实数。所以干脆视 \(\varphi\) 作为 \(\sum a_ib_i=c\) 的对偶变量,它的取值范围可以是任意实数。反过来同理,一个取值范围是任意实数的变量对偶后的限制应该是恰好等于。

费用流问题:

\(w_{u,v}\) 费用,\(f_{u,v}\) 流量,\(c_{u,v}\) 容量,\(b_u\) 出流量 \(-\) 入流量。

\[\min \sum_{(u,v)} w_{u,v}f_{u,v}\\ s.t.\\ -f_{u,v}\geq -c_{u,v} \\ \sum_v f_{u,v}-\sum_v f_{v,u}=b_u \\ w_{u,v}\geq 0 \]

\(z_{u,v}\) 作为 \(-f_{u,v}\geq -c_{u,v}\) 的对偶变量,\(p_u\) 作为 \(\sum_v f_{u,v}-\sum_v f_{v,u}=b_u\) 的对偶变量。

这里列对偶的方法是,将原问题的所有限制设出其对偶变量。再根据根据原问题的每个限制列新问题的最优化的式子;根据原问题的每个变量列新问题的每个约束。

所以对偶后的问题为:

\[\max\{\sum_{(u,v)}-z_{u,v}c_{u,v}+\sum_u p_ub_u\}\\ s.t.\\ -z_{u,v}+p_u-p_v\leq w_{u,v}\\ z_{u,v}\geq 0 \]

这里和原论文 \(p\) 的系数恰好相反,不过是等价的,因为 \(p\) 的取值范围是任意实数。

整理一下,考虑 \(p_u-p_v-w_{u,v}\leq z_{u,v}\)\(z\) 的贡献系数是负的要尽可能小,所以 \(z_{u,v}\) 取的值就是 \(\max(0,p_u-p_v-w_{u,v})\),一般 \(b_u=0\),从而现在就是最优化

\[\min \{\sum_{(u,v)}\max(0,p_u-p_v-w_{u,v})c_{u,v}\} \]

\(p_u-p_v\) 写成 \(p_v-p_u\) 也行。

关于整数解的问题:有定理是 \(w_{u,v}\) 均为整数则 \(p\) 存在全是整数的最优解。

posted @ 2023-06-13 17:37  do_while_true  阅读(53)  评论(2编辑  收藏  举报