用最速下降法求解无约束非线性规划问题

上传人:re****.1 文档编号:492383456 上传时间:2023-02-24 格式:DOCX 页数:9 大小:41.30KB
返回 下载 相关 举报
用最速下降法求解无约束非线性规划问题_第1页
第1页 / 共9页
用最速下降法求解无约束非线性规划问题_第2页
第2页 / 共9页
用最速下降法求解无约束非线性规划问题_第3页
第3页 / 共9页
用最速下降法求解无约束非线性规划问题_第4页
第4页 / 共9页
用最速下降法求解无约束非线性规划问题_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《用最速下降法求解无约束非线性规划问题》由会员分享,可在线阅读,更多相关《用最速下降法求解无约束非线性规划问题(9页珍藏版)》请在金锄头文库上搜索。

1、百度文库-让每个人平等地提升自我名:XXXXXXXXXXXXXXXXXXXXX专业班级:XXXXXXXXXXXX2 0 1 3年7月0 4日题目:用最速下降法求解无约束非线性规划问题摘要:无约束最优化问题的求解方法分为解析法和直接法两大类。解析法需要计 算函数的梯度,其中最速下降法就属于解析法中的一种。对于一个无约束非线性 规划利用最速下降法求解,首先需要确定其优化方向,此优化方向应该选择为f 在当前点处的负梯度方向,利用一维搜索法找出沿此方向上的最小值及其对应 点,此后将该点作为新的出发点重复上述过程,直到达到允许的误差为止。本文 通过理论的计算方法,进一步分析,最后用C+编程实现求出允许误

2、差内的最优 解。此编程可用于计算符合下列形式的函数求最优解过程:f(x)=a0xl*xl+alx2*x2+a2xl*x2+a3xl+a4x2+a5其中:ai (i=0,l,2,3,4,5)为 函数的系数。本文以“李占利 主编,中国矿业大学出版社出版”的最优化理论与方 法第五章“无约束最优化方法,最速下降法”例51为实例,首先利用 上述迭代的方法,计算出各迭代点的函数值,梯度及其模。然后应用C+语言编 程,得到在精度范围内的精确最优解。C+编程计算的最优解为:x* = x=-00823045,003292l8 t2 l即转化为分数结果为:x*二x二243 4满足精度要求的模为:11 P归O.O7

3、36154 0,令k=0;第2步步;计算W3),若|巧(xk)|,停止迭代,输出x,否则进行第3第3步取 Pk =f (Xk );第4步7f (Xk + 九 pk ) = min f (Xk + 九 pk )进行 维搜索,求7k,使得kp 7 kJ,令xk+1 二 xk + 九kpk,k=k+1。转第 2 步。由以上计算步骤可知,最速下降法迭代终止时,求得的是目标函数驻点的一个近 似点。依据以上步骤就可以用C+编程实现最速下降法求解最优解的算法。二、算法流程图取x(0), * = O.1k:=0计算 p (k)(x (k)x* = x (k)求 X (k)min f (x(k) +Xp(k)二

4、 f (x(k) +X(k)p(k)令 x(k+l) = x(k) + X (k) p (k)k:=k+l三、程序代码#includev #includev double lamda(double x2,double p2,double a2) double laml,lam2; laml=(pow(a0,3)*x0*x0+pow(al,3)*xl*xl);lam2=-(pow(a0*x0,2)+pow(a1*x1,2);double s;s=-lam2/(2*lam1);return s;void main()coutvvvvendl; coutvv最速下降法求解最优解程序运行结果endl;

5、coutvvvvendl; coutvvendl;double lamd,x3,a6;double p2,g2,e,y,m,n;int i=0;coutvv请输入精度 ee;coutvv请输入初始点 x0,x1的值:nn;x0=m;x1=n;coutvv函数通式为 f(x)=a0xl*xl+alx2*x2+a2xl*x2+a3xl+a4x2+avvendl; coutvv请依次输入函数的系数:a0、al、a2、a3、a4、a5:”vvendl;for(i=0;iv6;i+)cinai;p0=(2*a0*x0+a2*xl+a3);pl=(2*al*xl+a2*x0+a4);g0=-p0;gl=-

6、pl;i=0;coutvvendl;while(sqrt(gO*gO+gl*gl)e&iv=200)lamd=lamda(x,g,a);x0=x0+lamd*g0;xl=xl+lamd*gl;p0=2*a0*x0;pl=2*al*xl; gO=-pO; g1=-p1; i+;coutvv!*1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* ft .TTTx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx T

7、x Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx 1 1-*% Z I .coutvv第vvivv次迭代结果:vvendl;coutvvp 的模为:vvsqrt(g0*g0+g1*g1)vvendl; coutvvx 的值vvx0vv vvx1vvendl;coutvv11 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1* 1*

8、 1* 1* 1* 1* 1* 1* 1* 1* 1* ft .TT1 1 Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx Tx 1 1-*% Z I .coutvvendl;y=(a0*x0*x0+a1*x0*x1+a2*x0*x1+a3*x0+a4*x1+a5);coutvv此时满足精度要求的 p 的模为:”vvsqrt(g0*g0+g1*g1)vvendl; coutvvendl;coutvv

9、满足精度的最优近似结果x1,x2分别为:vvendl; coutvvx1=vvx0vvendl;coutvvx2=vvx1vvendl;coutvvendl;coutvv满足进度要求所得的最优值为:vvendl; coutvvminf(x)=vvyvvendl;四、例子与结果例子为“李占利主编,中国矿业大学出版社出版”的最优化理论与方法 第五章“无约束最优化方法,最速下降法”例5一1。用最速下降法求解 minf (x)二2x2 + x2,初始迭代点x (0) =1 ,精度为e = 0.1。则体现在程序1 2L1中很明显有:a0=2,a1=1,a2=a3=a4=a5=0;e=; x0=x1=1;

10、则程序运行结果为:|1=1 | ll匹 最速下降法求解最优解程序运行结果 匹请输入精度亡9.1请输入初蛤点xtBKxEll的值:1 112 10 0 0 0V=a0 Jxl*xl +a El Jx2*x2 +at2 3xl*x2 *aE3 1x1 H-aE41x2 *aE5 J 函数的系数:a0x aElK a2K a3K aE4K aCSJ:JtKJtMZMZMZMZMZMZNJCNJCNJCNJCNJCNJCNJCJtJCJtJCJtICXICXICXICXXXXXXX第丄认迭代结果:P 的懐为:0-993808X 的值一 111111 .444444隼代结果:为:0.331269x&50

11、.07407410.0740741KKKMIMZMIMZMIMZKKKKKKKKKKKKKJCIMJCIMJCIMXXXXXXXXXXXXXXXX)()C)C)C)C)C)CK)CK)CK)CK)CK)CK)CKJCJCJCJCJCJC)C)C)C)C)C)C)OJmmN第丁认迭代结果:P的穩为:0-0736154008 23 0450.0329216此时满足精度要求的P的模为=0.0736154满足精度的最优近似结果口丄2 分别为:xEll=-0.00823045xE21=0.0329218满足进度要求所得的最优值为:ninfCx)=-0.000135481Piess any key to con七 inue即在允许的精度范围内min f (x)二2x2 + x2,初始迭代点1 2x (0 )=,精度为e = 0.1。得到在精度范围内的精确最优解为:x* = x=0.00823045 ,0.0329218 tan x* = x=即243 4满足精度要求的模为:11 p(3)|=0.0736154 e五、结论与总结最速下降法为最优化万千方法中的一种,要想更好地利用最优化方法解决我 们身边的问题,光靠这一种方法远远不够。因此我必须要好好掌握其他

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号