3、),,f=f(x)y(n)=x?Noy(0)=xYesα<ε?YesNoα=0.1α2停;x为解1314(1)步长加速法的收敛速度是线性的,且如果目标函数可微,则可收敛到平稳点。(2)由于步长加速法不使用导数,故可应用于任何形式的目标函数,应用范围极广。(3)在进行坐标轮换试探时,如果不采用固定步长(亦称离散步长)而使用一维搜索技术求目标函数在坐标方向的极小点,则可加速迭代速度。4.步长加速法性质与评价15167.8Powell方法172、原始Powell法步骤:181920212223242526272829301.单纯形加速
4、法:Spendley、Hext和Himsworth于1962年提出;Nelder和Mead1965年改进问题:7.9单纯形加速替换法复形法单纯形加速法是一种不使用导数的求解无约束极小化问题的直接搜索方法.313.算法思想324.单纯形概念(1)例33(2)单纯形的定义345.如何构造单纯形?35366.单纯形加速法的几何解释劣点形心点反射点延伸点37——形心3839407.单纯形加速法的步骤41424344h例:用单纯形加速法解45hhhh46(一)、线性最小二乘法(二)、非线性最小二乘法1.改进的Gauss-Newton法
5、2.Levenberger-Marquart方法7.10最小二乘法47一、线性最小二乘法1.问题2.性质482.性质49例解5051二、非线性最小二乘法1.一般形式:5253543.改进的Gauss-Newton法:性质:555657三、Levenberger-Marquart方法585960有约束线性最小二乘的标准形式为sub.to其中:C、A、Aeq为矩阵;d、b、beq、lb、ub、x是向量。在MATLAB5.x中,约束线性最小二乘用函数conls求解。三、最小二乘法的Matlab求解1约束线性最小二乘61函数lsqlin
6、格式x=lsqlin(C,d,A,b)%求在约束条件下,方程Cx=d的最小二乘解x。x=lsqlin(C,d,A,b,Aeq,beq)%Aeq、beq满足等式约束若没有不等式约束,则设A=[],b=[]。x=lsqlin(C,d,A,b,Aeq,beq,lb,ub)%lb、ub满足若没有等式约束,则Aeq=[],beq=[]。x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0)%x0为初始解向量,若x没有界,则lb=[],ub=[]。x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,option
7、s)%options为指定优化参数[x,resnorm]=lsqlin(…)%resnorm=norm(C*x-d)^2,即2-范数。[x,resnorm,residual]=lsqlin(…)%residual=C*x-d,即残差。[x,resnorm,residual,exitflag]=lsqlin(…)%exitflag为终止迭代的条件[x,resnorm,residual,exitflag,output]=lsqlin(…)%output表示输出优化信息[x,resnorm,residual,exitflag,outp
8、ut,lambda]=lsqlin(…)%lambda为解x的Lagrange乘子62632非线性最小二乘64函数lsqnonlin格式x=lsqnonlin(fun,x0)%x0为初始解向量;fun为f(x)i=1,2,…,m,fun返回向量值F,而不是平方和