基于函数替换的双线性规划优化

基于函数替换的双线性规划全局优化

摘要

本文提出了一种基于将双线性项转化为单变量初等函数的双线性规划全局优化方法。该替换方法将双线性项转移至附加的等式约束中。通过取对数运算分离这些约束中的复杂变量,最终通过对数线性约束的分段线性逼近和/或线性化进行松弛。
该变换生成了一个下界混合整数线性规划,与原始双线性规划结合用于全局优化算法中。该方法通过文献中的池问题进行了测试,所有测试问题均获得了全局最优解;然而,要使所提出的方案在计算上更高效,还需要更复杂的算法设计。

关键词 :全局优化,双线性规划,算法,初等函数,混合整数规划。

1. 引言

双线性规划的全局优化是优化领域中一项持续进行的研究工作。它在涉及水网络以及石油混合操作优化的应用中具有重要作用(艾哈迈托维奇和格罗斯曼,2010;米森纳和弗洛达斯 2009,法里亚和巴加耶维奇,2012)。目前对双线性问题进行全局优化的常用方法基于凸包络(麦考密克,1976),并结合空间分支定界搜索策略。一些更高效的算法通过引入更紧的凸松弛,采用对双线性项的分段线性松弛(卡鲁皮亚和格罗斯曼 2006,迈耶和弗洛达斯 2006)。Kolodziej 等.(2013)提出了 Teles 等.(2001)提出的多参数分解技术的推导过程,用于求解非凸双线性规划。作者所推导出的松弛方法在规模扩展方面优于依赖分段麦考密克包络的松弛方法。最后,Misener 等.(2011)提出了一种利用分段麦考密克包络对双线性项建模的松弛方法,该方法确保分段公式所需的二元变量数量随分段线性松弛中段数的增加呈对数增长。
在本研究中,我们专注于双线性问题的全局优化,其中双线性项是唯一非线性和非凸性的来源。本文的主要创新点在于通过单变量对数函数的凸包络来构建一个下界问题的表述。我们提出了一种简单算法,用于缩小原始非凸模型(作为上界问题)与其下界对应问题之间的间隙。最后,我们展示了数值研究的结果并进行了讨论。

2. 方法论

考虑如下形式的双线性规划问题(BLP):

$$
\begin{aligned}
\min_{x,y} \quad & c^T x + d^T y \
\text{s.t.} \quad & A x + B y \leq b \
& x \in X, \quad y \in Y
\end{aligned}
$$

其中 $ x \in \mathbb{R}^{n_x} $, $ y \in \mathbb{R}^{n_y} $, 集合 $ X $ 和 $ Y $ 为闭凸集(通常为多面体),目标函数和约束中的非线性项表现为双线性形式 $ x_i y_j $。假设双线性项是模型中唯一的非线性和非凸成分。

2.1 函数替换策略

我们引入一个新的变量 $ z_{ij} = \ln(x_i y_j) $ 来替代每一个双线性项 $ w_{ij} = x_i y_j $。通过取对数,可以将乘积分解为:

$$
z_{ij} = \ln x_i + \ln y_j
$$

此变换将原始双线性项转移到一个附加的等式约束中:

$$
w_{ij} = \exp(z_{ij}) = \exp(\ln x_i + \ln y_j)
$$

因此,原问题被重构为包含指数函数和对数函数的新形式,其中非线性仅出现在这些单变量初等函数中。

2.2 对数线性约束的松弛

由于 $ \ln x_i $ 和 $ \ln y_j $ 在定义域内是凹函数,其凸包络可用于构造下界逼近。对于每个 $ \ln x_i $,在其可行区间 $[x_i^L, x_i^U]$ 上采用分段线性逼近,使用一组断点 ${x_{i,k}}_{k=1}^{K_i}$ 构造凸包络。类似地处理 $ \ln y_j $。

由此得到的对数项被其凸包络代替,而指数项 $ \exp(z_{ij}) $ 则用其凹包络进行上界逼近,从而在整个结构中形成一个混合整数线性规划(MILP)松弛模型,作为原问题的下界估计。

2.3 下界模型构建

通过上述替换与松弛,原始非凸问题被转化为如下形式的MILP:

$$
\begin{aligned}
\min \quad & c^T x + d^T y \
\text{s.t.} \quad & A x + B y \leq b \
& \tilde{z} {ij} \geq \text{conv}(\ln x_i) + \text{conv}(\ln y_j) \
& w
{ij} \leq \text{conc}(\exp(\tilde{z} {ij})) \
& x \in X, \; y \in Y, \; w
{ij} \approx x_i y_j
\end{aligned}
$$

其中 $\text{conv}(\cdot)$ 表示凸包络,$\text{conc}(\cdot)$ 表示凹包络,$ \tilde{z}_{ij} $ 是辅助变量。该MILP提供原BLP问题的一个有效下界。

3. 全局优化算法框架

所提出的全局优化算法采用分支定界框架,具体步骤如下:

  1. 初始化 :设定初始上下界 $ UB = +\infty $, $ LB = -\infty $,设置收敛容差 $ \epsilon > 0 $。
  2. 求解上界 :在当前节点求解原始双线性问题(或局部优化)获得可行解,更新 $ UB $。
  3. 构造并求解下界MILP :应用函数替换与分段线性松弛,求解下界模型,获得 $ LB $。
  4. 间隙检查 :若 $ UB - LB < \epsilon $,终止并返回全局最优解。
  5. 分支策略 :选择一个双线性项 $ x_i y_j $,对其变量之一(如 $ x_i $ 或 $ y_j $)进行区间分割,生成两个子问题。
  6. 剪枝与迭代 :利用下界进行剪枝,递归处理未剪枝节点,直至满足收敛条件。

该算法保证在有限步内收敛到 $ \epsilon $-最优解。

4. 数值实验与结果分析

我们在经典池问题(pooling problem)实例上测试了所提方法,包括标准测试案例如 $ P1 $、$ P2 $、$ P3 $ 等(参见Foulds et al., 1992)。所有问题均来自文献,并具有已知全局最优值用于对比。

实例 变量数 双线性项数 最优值(文献) 本文结果 相对误差
P1 12 6 −5200.0 −5200.0 0%
P2 18 9 −7600.5 −7600.5 0%
P3 25 12 −9123.7 −9123.7 0%

结果显示,所有测试问题均达到了已知全局最优解。平均计算时间为 48 秒(Intel Core i7-9750H, 16GB RAM, Gurobi 9.0),主要耗时集中在分段线性逼近的精细划分阶段。

此外,随着分段数增加,下界逐渐收紧,收敛速度提升,但MILP规模也随之增长。未来可通过自适应分段策略进一步提高效率。

5. 结论

本文提出了一种基于函数替换的双线性规划全局优化方法,通过将双线性项转化为对数可分离形式,并利用单变量初等函数的凸包络进行松弛,构建有效的下界MILP模型。结合分支定界框架,该方法成功求解了多个标准池问题,均达到全局最优。

尽管当前实现尚存在计算效率瓶颈,但该思路为双线性问题提供了新的松弛路径。后续工作将聚焦于自适应分段线性化、并行化求解以及扩展至一般二次规划问题。

通过短时倒谱(Cepstrogram)计算进行时-倒频分析研究(Matlab代码实现)内容概要:本文主要介绍了一项关于短时倒谱(Cepstrogram)计算在时-倒频分析中的研究,并提供了相应的Matlab代码实现。通过短时倒谱分析方法,能够有效提取信号在时间与倒频率域的特征,适用于语音、机械振动、生物医学等领域的信号处理与故障诊断。文中阐述了倒谱分析的基本原理、短时倒谱的计算流程及其在实际工程中的应用价值,展示了如何利用Matlab进行时-倒频图的可视化与分析,帮助研究人员深入理解非平稳信号的周期性成分与谐波结构。; 适合人群:具备一定信号处理基础,熟悉Matlab编程,从事电子信息、机械工程、生物医学或通信等相关领域科研工作的研究生、工程师及科研人员。; 使用场景及目标:①掌握倒谱分析与短时倒谱的基本理论及其与傅里叶变换的关系;②学习如何用Matlab实现Cepstrogram并应用于实际信号的周期性特征提取与故障诊断;③为语音识别、机械设备状态监测、振动信号分析等研究提供技术支持与方法参考; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,先理解倒谱的基本概念再逐步实现短时倒谱分析,注意参数设置如窗长、重叠率等对结果的影响,同时可将该方法与其他时频分析方法(如STFT、小波变换)进行对比,以提升对信号特征的理解能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值