坐标轮换法

阅读: 评论:0

无约束优化方法——
坐标轮换法
.基本原理
坐标轮换法是每次允许一个变量变化,其余变量保持不变,即沿坐标方向轮流进行搜索的寻优方法。它把多变量的优化问题轮流的转化成单变量的优化问题,因此又称变量轮换法。在搜索的过程中可以不需要目标函数的导数,只需目标函数值信息。它比利用目标函数导数建立搜索方向的方法简单的多。
以二元函数飞fx1,x2)为例说明坐标轮换法的寻优过程。从初始点x00出发,沿第一个坐标方向搜索,即d10=e1x10=x00+a01*d01按照一维搜索方法确定最佳步长因子a01满足minf(x00+a*d01),然后从x01出发沿d02=e2方向搜索得x02=x01+a02*d02,其中步长因子a02满足minf(x01+a*d02),x02为一轮(k=0)的终点。检验始、终点之间的距离是否满足精度要求,即判断||x02-x00||<e的条件是否满足。若满足则x*=x02,否则令x10=x02,重新一次沿坐标方向进行下一轮的搜索。
对于n个变量的函数,若在第k轮沿第i个坐标方向dki进行搜索,其迭代公式为
xki=xk(i-1)+aki+dki  (k=0,1,2…,i=0,1,2…n)
其中搜索方向取坐标方向,即dki=ei(i=1,…n)。若||xkn-x00||<e,x*=xkn,否则x(k+1)0=xkn,进行下一轮搜索,一直到满足精度为止。
注:上述xki中,其中k为上标,i为下标
二.例题及程序
1.用坐标轮换法求
f(,)=10(+-5)^2+(-)^2
极小值
徐媛2.陕西公众信息网程序
(1) function y=f(x)
y=10*(x(1)+x(2)-5)^2+(x(1)-x(2))^2;
………………………..%浪漫主义时期定义f文件
(2)d1=e1;
syms a1;
x1=x0+a1*d1;
y1=f(x1);
z1=diff(y1,a1);
subs(z1);
a1=solve(z1);%求沿e1方向最佳步长
x1=x0+a1*d1;
d2=e2;
syms a2;
x2=x1+a2*d2;
y2=f(x2);
z2=diff(y2,a2);
subs(z2);
a2=solve(z2);%求沿e2方向最佳步长
x2=x1+a2*d2;
m=x2-x0;
m=double(m);
冯淑萍t=norm(m); ……….%定义f2文件
(3) x0=[0;0];
2011山东理综
e=0.001;
e1=[1;0];
e2=[0;1];
f2; ………………%定义f3文件
(4) f3;
while (t>=e)
x0=x2; 
f2;
end
x2=double(x2);
xo=x2;
xo…………………%定义f4文件

三.程序框图
四.计算结果及说明
黑白花奶牛运用MATLAB运算结果如上所示,运算结果比较精确,跟课本上用鲍威尔方法计算结果比
较相近。值得说明的是这种方法的收敛结果与目标函数等值线的形状有很大关系。若目标函数为二元二次函数,其等值线为园或长短轴平行于坐标轴的椭圆时,比较容易。但是如果等值线出现脊线,,坐标轮换法最终会终止到脊线上而不能到最有点,因此也有一定的局限性。

本文发布于:2023-06-26 05:36:21,感谢您对本站的认可!

本文链接:https://patent.en369.cn/xueshu/131355.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:搜索   坐标   函数   方向
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图