当前位置:   article > 正文

最短路问题的原始对偶算法形式_原始对偶双动力学

原始对偶双动力学

问题描述

给定一个图,求解源点s到终点t的路径。
在这里插入图片描述
点弧关联矩阵定义如下:
在这里插入图片描述
列表示边,行表示一个顶点。

可以看到,每一列一定是-1和+1组成,其中-1表示入边,+1表示出边。

我们的目标是求解下列线性规划。
在这里插入图片描述
其中f表示选这条边还是不选,选为1,不选为-1,A表示上述的点弧关联矩阵。c表示费用,b表示流量守恒,即一个可行解(f1,f2…fn)必须构成一条路,而我们发现一条路上:除了s和t之外,其他路上的顶点都是一条边进入,一条边出去,即流量守恒。所以该顶点对应的行,比如是有一个+1对应的边选择了,一个-1对应的边选择了,如果该顶点还有一个+1的,也不能再选了,否则Af为1而不是0.

对偶问题

根据上面的原始线性规划,写出其对偶问题。
在这里插入图片描述
把上面矩阵形式展开,得到如下:
在这里插入图片描述
这里大家耐心展开验证一下即可,不多解释。
不多,需要指出的是,前面说过,对偶问题中的变量总是有其物理含义。那么其中 y i y_i yi你可以理解为顶点 i i i到终点 t t t最短路径长度。那么你再看看约束条件,其是说,对于任何一条边,边的左顶点的最短长度-右顶点的最短长度要比边上的长度相等或更小。这是当然的,否则如果 y i y_i yi就不是最短路径长度了,还不如选择这条边呢。

在这里插入图片描述
上面 f j ∗ f_j^* fj理解成 f i j ∗ f_{ij}^* fij比较好,表示(i,j)这条边选或不选。后面的 e j e_j ej同理。下面同理。
在这里插入图片描述

原始对偶算法

在此之前,我们希望先对对偶问题再进行一个细微的处理。
我们发现点弧关联矩阵并不是行满秩的,而是行-1。你可以数学上证明,在物理上你可以理解为告诉了其他行(顶点)出入边情况,就知道剩下一个点的出入边情况。

这告诉我们,在原始线性规划中就可以减少一个约束,我们假设减少的是 t t t顶点那行。设顶点个数为m,边个数为n,那么其对偶规划中的 A T y ≤ c A^Ty\le c ATyc则形式如下:
在这里插入图片描述
即变量少了一个 y t y_t yt,但是我们可以加上,并且和原来同解。

在这里插入图片描述
即加上一个对偶变量,但是令其为0,所以变量就变成了m个,从而A也不用截断t所在行,由于乘以 y t = 0 y_t=0 yt=0,其实这一行写什么都已经作废了。不过,其实这个加上去根本不为了别的,而是为了那个限制条件能够同意,否则没有 y t y_t yt的话,对于(i,t)这样的边,限制条件需要单独写 y i ≤ c i t y_i\le c_{it} yicit,但是现在令 y t = 0 y_t=0 yt=0得到了统一。

从而得到如下:
在这里插入图片描述
原始对偶算法真正开始了。我们假设先得到了一个可行解 y y y,然后计算J:
在这里插入图片描述
再有:
在这里插入图片描述
这里我们在原规划中已经去掉了t行,所以就是如上了。不过注意一下符号,还是之前说的 f j f_j fj写成 f i j f_{ij} fij比较好理解,同理,那个 j ∈ J j\in J jJ写成 ( i , j ) ∈ J (i,j)\in J (i,j)J比较好。
在这里插入图片描述
这个写出对偶问题,慢慢写就行了。不过,此处可以提示一下:RP中的限制条件为:
在这里插入图片描述
注意是 n ′ n' n,因为你看RP中:

在这里插入图片描述
所以现在的 f ′ f' f是全部大于等于0的那些,等于0的对应的那些A列已经清除了得到 A ′ A' A

那么其对偶为 A T y ≤ c A^Ty\le c ATyc
在这里插入图片描述
从而可以知道:
在这里插入图片描述
就是:
在这里插入图片描述
同理:
在这里插入图片描述
就是:

在这里插入图片描述
解释完毕。从而我们现在得到了:
(P),(D),(RP),(DRP),接下来就是按照原始对偶算法的步骤来求解了,参看下篇。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/740422
推荐阅读
相关标签
  

闽ICP备14008679号