一维搜索
一维搜索:对一维目标函数寻求最优解
确定单峰区间
试探法:斐波那契法、黄金分割法(0.618法);插值法:牛顿法
试探法:将单峰区间逐步缩小,确定X*的近似值。
0.618法:
注:0.618是黄金分割数
无约束优化方法
方法分类
共轭方向:图中S1与S2为共轭方向
注:对于等值线为同心圆或同心椭圆的目标函数,在一点引出一条线必与某个等值线相切
一维正定的二次函数
X0 + α0*S0 = X1 S0是随机给的,总有一条等值线与S0相切,交点为X1
X1 + α1*S1 = X* 如何找到S1,使得X1+S1为X*
注:X与S为矢量,α为标量
将目标函数近似为二次函数,得出S0*A*S1=0,称S0与S1为关于A的共轭向量
注:A的共轭向量不唯一,即S0*A*S1=0,也可能S0*A*S3=0
共轭的定义
正交是共轭的特例,共轭是正交的推广
二维正定矩阵A,至多两次便可收敛到X*
三维正定矩阵A,至多三次便可收敛到X*
二维正定的二次函数,S=X2-X0 为共轭方向
S2*A*S=0
共轭方向法
第一轮
方向:x1、x2、x3轴
初始点X0
X0+α1*S1 = X1 S1方向沿x1轴
X1+α2*S2 = X2 S2方向沿x2轴
X2+α3*S3 = X3 S3方向沿x3轴
连接X0与X3即为方向S4,确定合适的步长α4
X0+α4*X3 = X4
第二轮
方向:x2、x3轴、第一轮中的S4
初始点X4,X0=X4
X0+α1*S1 = X1 S1方向沿x2轴
X1+α2*S2 = X2 S2方向沿x3轴
X2+α3*S3 = X3 S3为上一轮中的S4方向
第三轮
....
第一轮方向:x1轴 x2轴 x3轴 S4
第二轮方向: S1 S2 S3 S4
第三轮方向: S1 S2 S3 S4
降维搜索:
比如第一轮中,由于α1比较小
导致 S4 与 α2*S2 + α3*S3 同方向,称之为降维搜索
Powell法:修正的共轭方向法
在每轮中淘汰哪个方向需要判断,不一定每次都淘汰第一个方向
是否选用新计算出来的方向需要进行判断
梯度法
梯度下降法
共轭梯度法
梯度法+共轭方向法
牛顿法
一维
多维
Xk+1 = Xk + αk*Sk,Sk=∇f/H,αk=1
牛顿法在第k此迭代时,在Xk的局部构造一个二次函数等效目标函数,在二次函数中求出Xk+1
不足:
步长为1,效率低,甚至造成函数值不降反升
阻尼牛顿法:
方向:牛顿方向
在牛顿方向进行搜索,寻找到使目标函数取极小值的Xk+1
变尺度法
DFP法,三个人名的首字母,P:powell
得出Ak应该是一个实对称正定矩阵
BFGS法
总结
约束优化方法
复合形法
无约束优化问题的单纯形法的推广
只需计算目标函数值
惩罚函数法
内罚函数法/内点法:迭代点在可行域之内
外罚函数法/外点法:迭代点在可行域之外