一、非线性规划问题的几种求解方法1罚函数法外点法内容摘要:

函数值沿某一方向的变化率问题 方向导数沿梯度方向取得最大值 基础:方向导数、梯度 通过一系列一维搜索来实现。 本方法的核心问题是选择搜索方向。 搜索方向的不同则形成不同的最优化方法。 最速下降法 算法: 1. 给定初始点Exn)1(,给定误差 0 ,令 k =1 ; 2. 计算搜索方向  xdkkf)()( ; 3. 如果 dk )(,则迭代终止,否则通过下列一维搜索 求 )( k:  dxkkf)()(0mi n 4. 令 dxxkkkk )()()()1(,置 k =k +1 ,转( 2 )步执行。 算法说明 可通过 一维无约束搜索方法 求解 dxxkkkk )()()()1( )()()(xdkkf )( k:为  dxkkf)()(0m i n 的解  )(k例子:用最速下降法解下列问题 分析: 编写一个梯度函数程序 求 (可以调用函数 fminsearch )函数 最速下降法主程序 22212)(m i n xxxf 0 0 0 ,]1,1[)1(  Tx初始条件  )(k第一步:计算梯度程序 function r=fun1gra(x) %最速下降法求解示例 %函数 f(x)=2*x1^2+x2^2的梯度的计算 % r(1)=4*x(1)。 r(2)=2*x(2)。 第二步:求 最优的目标函数 function r=fungetlamada(lamada) %关于 lamada的一元函数,求最优步长 global x0 d=fun1gra(x0)。 r=2*(x0(1)lamada*d(1))^2+(x0(2)lamada*d(2))^2。 %注意负号表示是 负梯度  )(k第三步:主程序 %最速下降方法实现一个非线性最优化问题 % min f(x)=2*x1^2+x2^2 global x0 x0=[ 1 1 ]。 yefi=。 k=1。 d=fun1gra(x0)。 lamada=1。 主程序 ( 续) while sqrt(sum(d.^2))=yefi lamada=fminsearch(‘fungetlamada’,lamada)。 %求最优步长 lamada x0=x0lamada*fun1gra(x0)。 %计算 x0 d=fun1gra(x0)。 %计算梯度 k=k+1。 %迭代次数 end disp(39。 x=39。 ),disp(x0),disp(39。 k=39。 ),disp(k),disp(39。 funobj=39。 ),disp(2*x0(1)^2+x0(2)^2) 三、 Matlab求解有约束非线性规划 1. 用 fmincon函数求解形如下面的有约束非线性规划模型 一般形式: 0)(0)(..)(m i nXcXcuXlbXAbAXtsXfeqeqeq用 Matlab求解有约束非线性最小化问题 求解非线性规划问题的 Matlab函数为: fmincon 、非线性约束均可 输入 参数语法: x = fmincon(fun,x0,A,b) x = fmincon(fun,x0,A,b,Aeq,beq) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2, ...) 输入参数的几点说明 模型中如果没有 A,b,。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。