对偶问题
定义
其实就是一个式子:
[maxlbrace c^Txmid Axleq b
brace=minlbrace b^Ty|A^Tygeq c
brace
]
其中(x,y,b,c)为列向量(只有一列的矩阵),(A)为一个(n imes m)的矩阵,(A^T)表示(A)的转置。
两个矩阵比大小:若(A)中的每个元素在(B)中对应位置均小于(A),则有(A<B)。
感觉好像很迷啊。。。那么这个东西我们怎么理解呢?
现在我们有一个商人,它要卖商品,然后我们还有一些原料,考虑这些东西代表什么:
(A_{j,i}:) 第(i)个商品需要多少个原料(j)。
(b:) 每种原料有多少。
(x:) 每种商品卖了多少。
(c:) 每种商品的价格。
再看看左边的式子,就好理解多了,表示的就是他最多能卖出的价格,
那么右边的式子呢?这个商人现在转行了,他不卖商品了,他去卖原料去了。。。(雾
那么有:
(y:) 每种原料一个单位以多少的价格卖出。
那么我们想一想,你既然都卖原料了,那肯定利润要比直接卖商品多啊,而且必须保证每种原料换成商品比原来卖的价格高啊,所以我们就有了左边=右边
感性理解吼啊
例题
考虑这道题怎么用对偶问题转化:
(c)为全(1)列向量,长度为(m)。
(y)为(0,1)长度为(m)列向量,表示一条链选或不选。
(A)为有(m)行,(n-1)列的矩阵,(A[j][i])表示第(i)条边是否包含于第(j)条链中。
(b)表示长为(m)的列向量,表示选一条链的代价。
然后我们就只要使(c^Tx)最大,只需要考虑(x)是什么了。
发现(x)即为每条边在所有链中出现了多少次,而限制条件即为这条边被覆盖的次数小于等于包含它的链的权值。
这样我们就将问题转化了,后续过程戳这里。