从单纯形联想到的一种简单线性规划的费用流做法
使用条件
观察一下单纯形中各项系数,假如对于所有 x i x_i xi,其在线性规划中的系数只有 + 1 +1 +1或 − 1 -1 −1,并且两者至多出现一次,那么就可以用费用流来解决。
当然,如果在本身的线性规划中并不成立,但是在对偶问题中成立,也是可以做的。
使用方法
用费用流中的一个点来描述一个限制,一个限制形如: ∑ i = 1 n a i x i [ ≥ / = / ≤ ] c \sum_{i=1}^{n}a_ix_i[\ge/=/\le]c ∑i=1naixi[≥/=/≤]c(中间的符号三选一);用一条边的流量来描述一个变量的取值,假如还有系数那么可以用费用来描述。
根据流量守恒,我们有 flow-in − flow-out = 0 \text{flow-in}-\text{flow-out}=0 flow-in−flow-out=0,对于一个描述限制的点,系数为 1 1 1的 x i x_i xi可以看作是流入流量, − 1 -1 −1的就是流出流量。由于是不等式,所以可以通过从 S S S连入或连向 T T T来平衡流量,当然这些边就没有什么实际意义了,费用也为 0 0 0。如果还要限制变量的取值可以直接套上下界费用流,总之各种问题都可以套费用流模板了。