对一类网络路径问题的思考
1.简介Introduction
1.1网络路径问题
在一个网络中,
表示节点的集合,
表示弧段的集合。其中,一条弧段可表示为
。
1.2基本形式
Origin problem (P)
- 其中
是复杂约束,
是简单约束。
1.3例子
考虑一个带有路径长度约束的最短路问题,它具有如下形式
2.拉格朗日松弛技术(A LAGRANGIAN RELAXATION TECHNIQUE)
2.1 拉格朗日乘子问题
对于原始问题(P),构造拉格朗日松弛/子问题(Lagrangian relaxation / Lagrangian subproblem)
拉格朗日函数(Lagrangian Function)定义为:
-
, 并且我们假定集合
是有限的,所以
。
引理 (Lagrangian Bounding Priciple) 对于任意的拉格朗日乘子
,拉格朗日函数
的值是原问题最优目标函数值
的下界,即有
拉格朗日乘子问题(Lagrangian multiplier problem)
2.2弱对偶性
(Weak Duality) The optimal objective function value of the Lagrangian multiplier problem is always a lower bound on the optimal objective function value of the problem (P). (i.e.,
).
上述几个量之间的关系:
2.3 为什么要研究拉格朗日乘子问题
- 至少可以找到原问题的一个下界。
2.4 一个例子
这里以一开始的最短路问题为例。
这里做了一些简化,因为我们不需要把路径守恒约束放到拉格朗日函数中,这样,原问题解的形式可以用路径来表达,这里一条路径表示一系列
的取值。通过枚举所有路径
可以得到所有
的取值。
![](https://img.haomeiwen.com/i11414937/8a902e35bbcf08ad.png)
这样可以作出的图像:
![](https://img.haomeiwen.com/i11414937/661122fe9ddf8ec3.png)
接下来两节会介绍次梯度法和割平面法求解拉格朗日乘子问题。
3.次梯度法 Bubgradient Optimization Technique
梯度法(爬山法)
选取方向使得
,则
就是“上山”方向。
次梯度法核心思想:不断按照一个迭代规则移动
-
是第
次迭代中任意一个解。
在使用这个方法的时候,步长的选择较为重要。如果步长太小,算法会卡在一个地方不无法收敛;如果太大,则会漏掉最优解并且可能在两个或多个非优解之间来回。所以通过设置
和
使得算法在这两种极端情况中取一个平衡点。
4.割平面方法
我们首先引入辅助变量 ,拉格朗日乘子问题转变为:
这是一个决策变量是和
的线性规划问题。我们考虑这个问题的对偶问题:
-
表示向量
的第
个维度值。
-
表示对偶变量。
割平面的基本思想是,我们不需要遍历所有的,而是从某一个
开始,每一次增加一个
(也就是增加一个约束,或者是在对偶问题中加入一个变量)。需要加入的变量可以由如下的无约束规划问题求得:
如果值小于当前,则添加对应
的约束进入原问题。如果当前值大于或等于
。则拉格朗日乘子问题已经达到最优。
5. 参考文献
- AHUJA. 1993. NETWORK FLOWS Theory, Algorithms,and Applications