Chapter 7:Linear programming and reductions

1、任何一个线性规划问题都将涉及一组变量。我们的目的是找出这组变量的某种赋值,使得其同时满足下面两个条件:
  • 满足一组由这些变量构成的线性方程或不等式
  • 极大或极小化某个给定的线性目标函数

2、举例说明:





3、通常,目标函数的极值在可行区域的一个顶点取到,在以下两种情况中没有极值:




4、求解线性规划的经典算法是单纯形算法。简单地说,该算法是从多边形的一个结点开始,然后重复寻找一个具有更高目标函数值的相邻结点。当空间维度增大到几十甚至几百时,对其图形化就越来越困难。如今已出现了很多专业化的应用软件包,实现了单纯形算法。


5、一个问题的解决可以用于另一个问题的解决就称为归约。如果解决某个计算任务Q的算法可以用于求解P,则我们说P可被归约到Q。



6、最大网络流问题
定义:给定一张有向图和每边能传输的最大容量,我们希望给每条边赋予一个变量f,使得流的规模(源流向汇的总流量)最大。
EG:
左图为每条边的最大容量。

解法一:最大流问题可以被归约为一个线性规划问题
举例来说,上图网络的LP共有11个变量,每条边1个;目标是使fsa+fsb+fsc的值最大;有27个约束条件,包括11个非负性条件(fsa >= 0),11个容量条件(fsa <= 3),5个流量守恒(除了s和t,每个节点一个,比如fsc+fdc=fce)

解法二:直接最大流算法
每次构造一个G’,然后利用线性时间的广度优先搜索在G‘中寻找s到t的一条可行的(能够继续提升容量的)路径,然后在G‘中把该路径反向,找不到任何这样的路径时算法停止。
算法演示:





7、最小分割最大流定理:网络中最大流的规模等于其中(s,t)分割的最小容量


8、二部图的匹配
下图中,左侧4个节点代表男孩,右侧四个节点代表女孩。如果在某一对男孩和女孩之间存在相连的边,则意味着他们彼此喜欢。是否可能使得所有的男孩和女孩都两两匹配,并彼此喜欢?在图论中,这样的配对叫完美匹配。


以上问题可以被归约到最大流问题,所以它也是一个线性规划问题。


添加s和t,为边加上方向,赋予所有边的容量为1,于是存在一个男孩女孩完美匹配的充分必要条件是,新定义的图中存在一个规模与最终配对数相等的最大流。

9、Duality(对偶)
对于以下问题:


将第2个约束条件乘5, 加到第三个约束条件上,即可得到最优解1900
但(0,5,1)是怎么得到的?可以通过求原LP问题的对偶,以下是转化过程:


相加后:


可以得到下面的约束:


可以很容易得到下面的LP,即原问题的对偶:



用矩阵-向量形式表示原LP及其对偶:



10、对偶定理:如果一个线性规划的最优目标函数有界,则其对偶的最优目标函数值也有界。同时,二者的最优值相等。


11、电路值问题:
定义:when the laws of Boolean logic are applied to the gates in topological orderm does the output evaluate to true?



posted on 2013-01-30 20:56  zyearn  阅读(381)  评论(0编辑  收藏  举报