凸优化&非凸优化
2020-03-25 本文已影响0人
JerryLoveCoding
凸优化指的是,如果得到了局部最优,那么这个局部最优就是全局最优。
讲凸优化就涉及到凸函数和凸集合
集合C内任意两点间的线段也均在集合C内,则称集合C为凸集,比如(盗图):
所以 比如 像是 一阶的 就是一个凸集
再讲一下凸函数:
凸函数的数学定义:
凸函数定义
凸函数的几何含义:
函数任意两点A1和A2之间的部分位于弦A1A2的下方或曲线任一点切线上方,不严谨一个说法:割线始终位于两点间函数曲线的上方。
凸函数几何定义
在讲到凸优化:
实际建模中判断一个最优化问题是不是凸优化问题一般看以下几点:
- 目标函数f如果不是凸函数,则不是凸优化问题
- 决策变量x中包含离散变量(0-1变量或整数变量),则不是凸优化问题
- 约束条件写成g(x)\le0时,g如果不是凸函数,则不是凸优化问题
所以总结一下。
我们在求解的时候,思路上都是找一个局部最优解,或者说是通过迭代运算,找目标函数值下降的解,直到两个解之间几乎没有变化,我们就认为找到了局部最优解。当求解线性规划时,线性规划的函数和约束都是凸函数,那么我们通过算法找到了这么一个解,那就是全局最优解。