【运筹学学习笔记】凸优化初步:凸函数判定、保凸变换、非凸优化转换为凸优化、二分法和牛顿法、KKT条件
凸函数
凸函数的定义
从凸函数的定义到凸函数的一阶条件
证明(先拆出f(x),然后分母是(1-\theta)(y-x) ):
凸函数的一阶条件
从凸函数的一阶条件到凸函数的定义
证明:
凸函数的二阶条件
几种凸函数的证明
保凸变换
(1)非负加权和
(2)维度变换
(3)最大值
(4)链式法则
(5)最小值:如果优化一个多变量凸函数的最小值,可以一个变量一个变量地优化。
Jensen's Inequality
f(E(x))\leq{E(f(x))}
f(x) 的期望难以计算,但是 E(x) 只是一个数值, f(E(x)) 容易计算,为 E(f(x)) 提供了一个下界。
凸优化
凸优化问题的定义
将非线性优化转化为凸优化的方法
将Geometric Programming转化为Convex Programming
将Fractional Programming转化为Convex Programming
两种无约束优化方法
Bisection Method:
用二分法寻找 \frac{df(x)}{dx}=0 的点。
Newton's Method:
每次迭代执行 x_{i+1}=x_{i}-\frac{f'(x_i)}{f''(x_i)} 。
例题如下:
KKT条件
KKT条件可以通过线性规划的对偶理论辅助记忆,详见我的另一篇文章。