0
点赞
收藏
分享

微信扫一扫

从单纯形联想到的一种简单线性规划的费用流做法

双井暮色 2022-03-19 阅读 56
c++

从单纯形联想到的一种简单线性规划的费用流做法

使用条件

观察一下单纯形中各项系数,假如对于所有 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-inflow-out=0,对于一个描述限制的点,系数为 1 1 1 x i x_i xi可以看作是流入流量, − 1 -1 1的就是流出流量。由于是不等式,所以可以通过从 S S S连入或连向 T T T来平衡流量,当然这些边就没有什么实际意义了,费用也为 0 0 0。如果还要限制变量的取值可以直接套上下界费用流,总之各种问题都可以套费用流模板了。

举报

相关推荐

0 条评论