拉格朗日松弛(二)——实例及代码

实例

本篇博文尝试将上篇博文介绍的拉格朗日松弛启发式算法应用于下面的优化模型,该模型是一个整数规划(0-1规划)模型,是选址问题中经典的p-中值模型。模型中的符号含义如下表所示。

符号 含义
I I I 需求点集合
J J J 候选投放点集合
d i d_i di 需求点 i i i 的需求量
c i j c_{ij} cij 需求点 i i i 与候选投放点 j j j 的距离
p p p 投放点总数
x j x_{j} xj 0-1变量,表示是否选择投放点 j j j
y i j y_{ij} yij 0-1变量,表示需求点 i i i 是否由投放点 j j j 提供服务

p中值模型标准形式
观察上述模型可以发现约束 ( 2.4 ) (2.4) (2.4) 关联两类决策变量,给问题带来了“耦合”的现象,属于复杂约束。因此,选择将该约束进行松弛,松弛后的问题如下。

在这里插入图片描述
对偶问题如下。
z L D = max  z L R ( λ i j ) z_{LD}=\text{max}\space z_{LR}(\lambda_{ij}) zLD=max zLR(λij)次梯度优化算法的应用有两个重要部分:一是次梯度的计算,二是给定 λ \lambda λ 后松弛问题的求解。
对于次梯度的计算,回顾定义 7.4.2可以发现次梯度不可能直接由定义计算得到。

定义 7.4.2 若函数 g : R m → R g:\Bbb{R^m}\to\Bbb{R} g:RmR 为凹函数,且在点 x ∗ ∈ R m x^*\in\Bbb{R^m} xRm 处,向量 s ∈ R m s\in\Bbb{R^m} sRm 满足
g ( x ∗ ) + s T ( x − x ∗ ) ≥ g ( x ) , ∀ x ∈ R m \begin{array}{ll} g(x^*)+s^T(x-x^*)\ge g(x) , \forall x\in \Bbb{R^m} \end{array} g(x)+sT(xx)g(x),xRm则称 s ∈ R m s\in\Bbb{R^m} sRm 为函数 g ( x ) g(x) g(x) x ∗ x^* x处的一个次梯度。 g ( x ) g(x) g(x) x ∗ x^* x 处的所有次梯度组成的集合记为 ∂ g ( x ∗ ) \partial g(x^*) <

评论 128
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值