前言
为了帮助梳理优化问题的思路,将一些困扰在自己脑海中的概念进行系统的整理。
规划模型三要素
规划模型主要分伪三个部分:决策变量、目标函数、约束条件
-
决策变量
决策变量是指在问题中可以改变的自变量。决策变量有不同的类型,比如实数变量、整数变量、0-1变量等
-
目标函数
目标函数表示决策目标量化,通常要最大化或最小化目标函数
-
约束条件
约束条件是指问题中的各类限制,通常表示为一组包含决策变量的等式或不等式
## 基本类型
- 线性规划:在一组线性约束条件下,求一线性目标函数最大或最小的问题
- 整数规划:约束条件加强,要求所有的自变量必须是整数,称为整数规划
- 非线性规划:约束条件或者目标函数出现非线性项,即称为非线性规划
- 整数线性规划:若在线性规划模型中,变量限制为整数,则称为整数线性规划
- 凸优化问题:目标函数和约束函数都是凸函数,且可行域是凸集
- 非凸优化问题:
疑惑
### 1.线性规划和凸优化的关系
由上一节的定义给出下图线性规划和凸优化的定义, 可以看出凸函数比线性函数更具一般性: 不等关系替代了更加严格的相等关系.
因此, 任何线性规划问题都是凸优化问题. 凸优化包括线性规划,二次规划, 二次约束的二次规划,半正定规划.
常见的支持向量机(SVM) 和逻辑回归(Logistic Regression) 都是目标函数与条件函数都是凸函数的非线性规划,也属于凸优化。


2.非凸优化问题如何转化为凸优化问题
对于非凸优化,通过一定手段,可以等价化归为凸问题。比如对于 “变量要求是整数、目标函数与约束函数都是凸函数” 的整型规划,可以通过凸松弛手段转换成凸优化问题。另外,对于非凸的优化问题,我们可以将其转化为对偶问题,对偶函数一定是凹函数,但是这样求出来的解并不等价于原函数的解,只是原函数的一个确下界,关于这一点可以看前一篇介绍正则化时说到的拉格朗日乘子法,不论原问题是不是一个凸优化问题,只要满足KKT条件,转换成的对偶问题就是一个凸优化问题,可以用凸优化方法求解
3.非线性规划能转为线性规划吗?
4. 整数规划问题
整数规划问题是非凸优化问题;混合整数规划称为极度非凸问题.