优化问题是科研、生产中经常面临的问题。在给定的条件下达到最好,是一个具有普适意义的问题。很多问题都可以等价成为在解空间寻找目标函数的最优值问题,但不是所有的最优问题都能够简单地找到一种数学表示方式。
1 分类
1.1 按照有无约束分类
无约束优化:只要找到使得目标函数最优的解就好,对解没有额外的要求。
有约束优化:解需要先满足一些条件,在所有满足条件的解里面,找到使得目标函数最优的解。
1.2 按照函数类型进行分类
凸优化:满足条件(1)目标函数和约束等式或者不等式都必须是凸函数;(2)定义域是一个凸集;
非凸优化:非凸优化比较困难,一般的优化算法基本上无能为力。
凸集是指:集内任意两点之间的所有点都仍然在该集合内;
凸函数:不严谨地说,可以认为在凸集上只有一个极点的函数;因为有很多极值点的函数不是凸优化考虑的问题。
2 方法
解析法:通过求解目标函数的导数,显示地直接求出最优解。
迭代法:随机选取一个可行解,然后按照某个方向去更新解,直到满足对应的停止条件。
随机法:不断地随机乱猜,如果新猜到的解比就解更优就把新猜到的解保存起来,直到满足某种停止条件。
这三大类方法对有约束无约束优化都可以使用,许多著名的优化算法都可以按照这三类进行分类。例如,令导函数等于0求解就是解析法;牛顿下山法、欧拉方法就是迭代法;模拟退火、遗传算法就是随机法。