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 一个例子
这里以一开始的最短路问题为例。
这里做了一些简化,因为我们不需要把路径守恒约束放到拉格朗日函数中,这样,原问题解的形式可以用路径来表达,这里一条路径表示一系列的取值。通过枚举所有路径 可以得到所有 的取值。
这样可以作出的图像:
接下来两节会介绍次梯度法和割平面法求解拉格朗日乘子问题。
3.次梯度法 Bubgradient Optimization Technique
梯度法(爬山法)
选取方向使得,则就是“上山”方向。
次梯度法核心思想:不断按照一个迭代规则移动
- 是第次迭代中任意一个解。
在使用这个方法的时候,步长的选择较为重要。如果步长太小,算法会卡在一个地方不无法收敛;如果太大,则会漏掉最优解并且可能在两个或多个非优解之间来回。所以通过设置 和 使得算法在这两种极端情况中取一个平衡点。
4.割平面方法
我们首先引入辅助变量 ,拉格朗日乘子问题转变为:
这是一个决策变量是和的线性规划问题。我们考虑这个问题的对偶问题:
- 表示向量的第个维度值。
- 表示对偶变量。
割平面的基本思想是,我们不需要遍历所有的,而是从某一个 开始,每一次增加一个(也就是增加一个约束,或者是在对偶问题中加入一个变量)。需要加入的变量可以由如下的无约束规划问题求得:
如果值小于当前,则添加对应的约束进入原问题。如果当前值大于或等于。则拉格朗日乘子问题已经达到最优。
5. 参考文献
- AHUJA. 1993. NETWORK FLOWS Theory, Algorithms,and Applications