非线性规划问题的求解方法.pptx
Content无约束非线性规划问题有约束非线性规划问题Matlab求解有约束非线性规划问题第1页/共22页一一.无约束问题无约束问题一维搜索指寻求一元函数在某区间上的最优值点的方法。这类方法不仅有实用价值,而且大量多维最优化方法都依赖于一系列的一维最优化。逐次插值逼近法逐次插值逼近法 近似黄金分割法(又称近似黄金分割法(又称0.6180.618法)法)无约束最优化 指寻求 n元实函数f在整个n维向量空间Rn上的最优值点的方法。无约束最优化方法大多是逐次一维搜索的迭代算法。这些迭代算法的基本第2页/共22页 思想是:在一个近似点处选定一个有利搜索方向,沿这个方向进行一维寻查,得出新的近似点。然后对新点施行同样手续,如此反复迭代,直到满足预定的精度要求为止。根据搜索方向的取法不同,可以有各种算法。最速下降法(负梯度法)NewtonNewton法 共轭梯度法 拟NewtonNewton法 变尺度法 第3页/共22页二二.有约束问题有约束问题(一)罚函数法(一)罚函数法(SUMTSUMT)1 1、算法思想:、算法思想:将有约束优化问题转化为一系列无约束优化问题进行求解将有约束优化问题转化为一系列无约束优化问题进行求解.(Sequential Unconstrained Minimization .(Sequential Unconstrained Minimization Technique-SUMTTechnique-SUMT)2 2、算法类型:、算法类型:q 外点法(外惩法)外点法(外惩法)q 内点法(内惩法)内点法(内惩法)第4页/共22页3 3、问题:、问题:第5页/共22页 4.1 4.1、外点法(外部惩罚函数法):、外点法(外部惩罚函数法):第6页/共22页yesNo外点法框图:第7页/共22页 4.2 4.2、内点法(内部惩罚函数法):、内点法(内部惩罚函数法):第8页/共22页内点法框图yesNo第9页/共22页内点法的matlab程序:m=zeros(1,50);a=zeros(1,50);b=zeros(1,50);f0=zeros(1,50);symsx1x2e;m(1)=1;c=0.2;a(1)=2;b(1)=-3;f=x12+x22-e*(1/(2*x1+x2-2)+1/(1-x1);f0(1)=15;fx1=diff(f,x1);fx2=diff(f,x2);fx1x1=diff(fx1,x1);fx1x2=diff(fx1,x2);fx2x1=diff(fx2,x1);fx2x2=diff(fx2,x2);fork=1:100 x1=a(k);x2=b(k);e=m(k);forn=1:100f1=subs(fx1);f2=subs(fx2);f11=subs(fx1x1);f12=subs(fx1x2);第10页/共22页f21=subs(fx2x1);f22=subs(fx2x2);if(double(sqrt(f12+f22)=0.002)a(k+1)=double(x1);b(k+1)=double(x2);f0(k+1)=double(subs(f);break;elseX=x1x2-inv(f11f12;f21f22)*f1f2;x1=X(1,1);x2=X(2,1);endendif(double(sqrt(a(k+1)-a(k)2+(b(k+1)-b(k)2)=0.001)&(double(abs(f0(k+1)-f0(k)/f0(k)=0.001)a(k+1)b(k+1)kf0(k+1)break;elsem(k+1)=c*m(k);第11页/共22页endend 结果:ans=1.0000ans=-7.1594e-004k=14第12页/共22页小结讲解了两个求解有约束非线性规划问题的特点讲解了两个求解有约束非线性规划问题的特点.易于实现,方法简单易于实现,方法简单.没有用到目标函数的导数没有用到目标函数的导数.问题的转化技巧(近似为一个无约束规划)问题的转化技巧(近似为一个无约束规划).第13页/共22页 (二)拉格朗日乘子法(二)拉格朗日乘子法 (三)可行方向法与广义简约梯度法(三)可行方向法与广义简约梯度法 (四)(四)SQPSQP方法方法第14页/共22页三三.Matlab.Matlab求解有约束问题求解有约束问题第15页/共22页运行输出:运行输出:x=24.000012.000012.0000fval=-3.4560e+03第16页/共22页(二)非负条件下线性最小二乘(二)非负条件下线性最小二乘lsqnonneglsqnonneg第17页/共22页(三)有约束线性最小二乘(三)有约束线性最小二乘lsqlinlsqlin第18页/共22页 (四)非线性最小二乘(四)非线性最小二乘lsqnonlinlsqnonlin第19页/共22页 求解x,使得下式最小运行输出:运行输出:x=0.2578 0.2578resnorm=124.3622 第20页/共22页Thank youThank you for your attention!for your attention!第21页/共22页感谢您的观看!第22页/共22页