无约束优化专题,主要使用了序列无约束极小化方法
无约束优化问题相关解法
最优性条件
互补松弛条件
对于一般约束优化问题:
整理一下就是著名的kkt条件:
这里只需要注意一点,那就是互补松弛条件只对不等式约束有限制。
然后是二阶必要条件:
也就是lagrange函数半正定
二阶充分条件则是满足一阶必要条件和正定:
跟约束优化问题的条件比较像。既然这么像,那么对于凸规划问题其实也就是一样的了:
即满足kkt条件即可(充要条件),全局最优解。
所以就可以利用kkt条件来求解约束优化问题了。然后就是以下的一些序列无约束优化方法:
外罚函数法
之前说过这些约束优化的方法都是序列无约束优化sumt,主要是把他给转化为无约束的优化来解决这类问题,外罚函数法就是从可行域外面逼近最优解:
这里定义的罚函数是:
要使用上面的方法就需要一定的定理:
所以外罚函数的算法就是:
内罚函数法
思想:
我们构造的函数就变为了:
问题就变为了:
乘子法
最后是乘子法,基本上也差不多,但是构造的变成了增广lagrange了:
第一种用于等式约束的:
新的罚函数M如上所示,这里面更新乘子为:
用这种方法其实叫做PH法。
然后是不等式约束的:
但是还需要化简,最终的结果是:
校正公式也不一样:
所以一般优化方法就是把上述两种增广lagrange函数合起来:
这个方法则为PHP算法。