参考 https://www.cnblogs.com/always-fight/p/9377554.html
1、首先从简单的开始,没有约束的非线性,然后就是非线性中比较特殊的一个例子,多项式的非线性,如下图
思路:用matlab求解f的hessian矩阵,然后求解hessian矩阵的特征向量,如果都大于0,就是正定,如果是大于等于0,那么就是半正定,如果有小于0的,那就是非正定。前提:是求解最小值啊,如果求解最大值,那就要反过来的,不过一般都把目标函数倒过来就是了。
2、那么要找一个非正定的,来试试,看下图
用上面的思路,求解一遍看看,可以看到hessian得到的,是带有变量的,因此肯定是不定的,如下所示:
h =
[ 2x1, 0]
[ 0, 2x2 - 2]
用eig求解,得到如下:
e =
2x2 - 2
2x1
那么可以细化一下,比如[0,1]这个解,是半正定的,应该是极小值,[1,1]这个解,是正定的,也是极小值,[-1,0]这个解,是负定的,应该是极大值,[-1,1]这个解,是不定的,不是极值点。所以,这几个点有的是极值点,有的不是极值点。
因此,这个肯定没有全局最优解的,对不对呢?不知道,反正,上面的这个例子肯定没有最小值。
引出一个话题:
凸函数肯定有全局最优解,即极小值就是最优解;那么如果是非凸函数,是不是就一定没有全局最优解呢?等待解决中。。。