几类非线性问题的线性化处理

很长时间没有提笔写博,近两年来一直从事规划领域方面的研究,在熟悉业务的同时,对规划算法也有了新的看法。相比智能算法的概率性,规划算法对求解的精确性要求更高。

本篇博客将围绕非线性问题如何线性化典型问题,分类归纳,给正在入手线性规划的同学们带来系列感悟。

文章目录


前言

我们知道,对于线性规划问题,有非常成熟的求解方法——单纯形法。可实际在科研建模时,目标函数或是约束条件,极大概率会出现非线性的形式。

此时若选择采用启发式算法求解,就相当于放弃了求精确解,而实际业务上对问题解的要求更高。因此,了解并懂得何种形式可以转化为线性和如何线性化,是非常重要的。

在解决实际较为复杂的问题时,会面临以下两个问题:

  • 我应该构建哪种非线性形式来刻画该问题?
  • 这样的非线性刻画还能否线性化(决定了还能否求得精确解)?

为了回答好这两个问题,本文将围绕《非线性问题的典型特征刻画》《线性化处理技巧》两部分解释。


一、非线性规划问题的典型特征

笔者认为,经典线性规划问题可以统一转换为矩阵化的范式:

object: min CX

constraintsB\leq AX\leq U 

variablesX\in \mathbb{R}_{m\times n} 满足其他条件等

然后可采用单纯形法进行处理。单纯形法本质是迭代找每个问题解空间的凸点,不断更新凹点最终缩小解空间到截止,则最优解必存在某一凸点上。这也就是凸优化的常用求解途径(很多学者都会研究非凸优化发paper)。有意思的是国内外的凸凹翻译是反的。而我们认为非线性规划就是一个非凸问题。

回到正题,非线性规划问题的典型数学特征为,具有:

  • 分段函数形式
  • 条件约束形式
  • 绝对值函数形式
  • 最小/大值函数形式
  • 逻辑或形式
  • 含有0-1变量的乘积形式
  • 混合整数形式
  • 分式目标函数

以上均可实现线性化。

二、常用处理技巧

线性化的主要手段其实就两点:

  • 引入0-1变量
  • 引入很大的整数M

灵活运用这两点会呈现非常巧妙且神奇的线性化技巧。

1.分段函数

(1)示例1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值