美文网首页
对一类网络路径问题的思考

对一类网络路径问题的思考

作者: 面包_y | 来源:发表于2019-05-28 10:44 被阅读0次

    1.简介Introduction

    1.1网络路径问题

    在一个网络G=(N,A)中,N表示节点的集合,A表示弧段的集合。其中,一条弧段可表示为(i,j) \in A, \forall i,j \in N

    1.2基本形式

    Origin problem (P)
    \begin{array}{l} \min c^Tx \\ Ax \leqslant b \\ Cx \leqslant d \\ x = \left\{ {0,1} \right\} \end{array}

    • 其中Ax \leqslant b是复杂约束,Cx \leqslant d是简单约束。

    1.3例子

    考虑一个带有路径长度约束的最短路问题,它具有如下形式
    \min \sum_{(i, j) \in A} c_{i j} x_{i j}\\ s.t.\sum_{\{j :(i, j) \in A \}} x_{i j}-\sum_{\{j :(j, i) \in A\}} x_{j i}=\left\{\begin{aligned} 1 & \text { for } i=1 \\ 0 & \text { for } i \in N \backslash \left\{1, n\right\} \\-1 & \text { for } i=n \end{aligned}\right. \\ \sum_{(i, j) \in A} t_{i j} x_{i j} \leq T\\ x_{i j}=0 \text { or } 1 \quad \text { for all }(i, j) \in A

    2.拉格朗日松弛技术(A LAGRANGIAN RELAXATION TECHNIQUE)

    2.1 拉格朗日乘子问题

    对于原始问题(P),构造拉格朗日松弛/子问题(Lagrangian relaxation / Lagrangian subproblem)
    \begin{gathered} {\text{Minimize }}c^Tx + \mu ^T(Ax - b) \hfill \\ Cx \leqslant d \hfill \\ x = \left\{ {0,1} \right\} \hfill \\ \end{gathered}

    拉格朗日函数(Lagrangian Function)定义为:
    L(\mu)=\min \{c^Tx+\mu^T(Ax-b) : x \in X\}

    • X = \left\{ x|Cx \leqslant d,x = \left\{ {0,1} \right\} \right\}, 并且我们假定集合X是有限的,所以X=\{x^1,x^2,\cdots,x^K\}

    引理 (Lagrangian Bounding Priciple) 对于任意的拉格朗日乘子 \mu​,拉格朗日函数 L(\mu​) 的值是原问题最优目标函数值 z^*​ 的下界,即有
    z^{*} \geq \min \{c^Tx+\mu^T(Ax-b) : x \in X\}=L(\mu)

    拉格朗日乘子问题(Lagrangian multiplier problem)
    L^{*}=\max _{\mu \geq 0} L(\mu)

    2.2弱对偶性

    (Weak Duality) The optimal objective function value L^*​ of the Lagrangian multiplier problem is always a lower bound on the optimal objective function value of the problem (P). (i.e., L^* \leq z^*​).

    上述几个量之间的关系:
    L(\mu) \leq L^{*} \leq z^{*} \leq c ^Tx

    2.3 为什么要研究拉格朗日乘子问题

    • 至少可以找到原问题的一个下界。

    2.4 一个例子

    这里以一开始的最短路问题为例。
    L(\mu)=\min \left\{c_{P}+\mu^T\left(t_{P}-T\right) : P \in \mathscr{P}\right\}
    这里做了一些简化,因为我们不需要把路径守恒约束放到拉格朗日函数中,这样,原问题解的形式可以用路径来表达,这里一条路径p表示一系列x的取值。通过枚举所有路径 p 可以得到所有 c_{P}+\mu\left(t_{P}-T\right) 的取值。

    1558340610162.png

    这样可以作出L(\mu)的图像:

    1558341703881.png

    接下来两节会介绍次梯度法和割平面法求解拉格朗日乘子问题。

    3.次梯度法 Bubgradient Optimization Technique

    梯度法(爬山法)
    \lim _{\theta \rightarrow 0} \frac{f(x+\theta d)-f(x)}{\theta}=\nabla f(x) d
    选取方向d使得\nabla f(x) d>0,则d就是“上山”方向。

    次梯度法核心思想:不断按照一个迭代规则移动\mu​
    \mu^{l+1}=\left[\mu^{l}+\theta_{l}\left(Ax^{l}-b\right)\right]^{+}

    • x^l是第l次迭代中任意一个解。

    在使用这个方法的时候,步长\theta_{l}的选择较为重要。如果步长太小,算法会卡在一个地方不无法收敛;如果太大,则会漏掉最优解并且可能在两个或多个非优解之间来回。所以通过设置\theta_{l} \rightarrow 0\sum_{j=1}^{l} \theta_{j} \rightarrow \infty 使得算法在这两种极端情况中取一个平衡点。

    4.割平面方法

    我们首先引入辅助变量 w,拉格朗日乘子问题转变为:
    \begin{array}{l} & & max \ w \\ & s.t. & w \leq c^T x^{k}+\mu^T\left(Ax^{k}-b\right), \quad \text { for all } k=1,2, \ldots, K\\ & & \mu \geqslant 0 \end{array}

    这是一个决策变量是w\mu的线性规划问题。我们考虑这个问题的对偶问题:

    \begin{array}{l} & & \min \;\sum\limits_{k = 1}^K {{c^T}{x^k}{\xi _k}} \hfill \\ & s.t. & \sum\limits_{k = 1}^K {{\xi _k}} = 1 \hfill \\ & & \sum\limits_{k = 1}^K {{{(A{x^k} - b)}_i}} {\xi _k} \geqslant 0,\;\forall i =1,2,\cdots,m\hfill \\ \end{array}

    • {{{(A{x^k} - b)}_i}}表示向量{A{x^k} - b}的第i个维度值。
    • {{\xi _k}}表示对偶变量。

    割平面的基本思想是,我们不需要遍历所有的X=\{x^{1}, x^{2}, ...,x^K\},而是从某一个 x 开始,每一次增加一个x(也就是增加一个约束,或者是在对偶问题中加入一个变量)。需要加入的变量可以由如下的无约束规划问题求得:

    \mathop {\min }\limits_k \left\{ {{c^T}{x^k} + \mu _l^T\left( {A{x^k} - b} \right)} \right\}

    如果值小于当前w,则添加对应x^k的约束进入原问题。如果当前值大于或等于w。则拉格朗日乘子问题已经达到最优。

    5. 参考文献

    1. AHUJA. 1993. NETWORK FLOWS Theory, Algorithms,and Applications

    相关文章

      网友评论

          本文标题:对一类网络路径问题的思考

          本文链接:https://www.haomeiwen.com/subject/ujjrtctx.html