- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能优化算法作业智能优算法作业
PAGE
PAGE 12
一、优化算法及其应用
1.简介
共轭梯度法(Conjugate Gradient)是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点,共轭梯度法不仅是解决大型线性方程组最有用的方法之一,也是解大型非线性最优化最有效的算法之一。 在各种优化算法中,共轭梯度法是非常重要的一种。其优点是所需存储量小,具有步收敛性,稳定性高,而且不需要任何外来参数。
2.算法原理
共轭梯度法是利用目标函数梯度逐步产生共轭方向作为线搜索方向的方法,每次搜索方向都是在目标函数梯度的共轭方向,搜索步长通过一维极值算法确定。
设二次函数为,其中为常数,为维列向量,为对称正定矩阵,用共轭梯度法求的极小点:
共轭梯度法探索的第一步是沿负梯度方向。即点按方向找到,然后沿着与上一次探索方向相共轭的方向进行探索直达到最小点。
令。
上式的意义就是以原来的负梯度的一部分即,加上新的负梯度,构造。
在上式中的选择,应使维欧氏空间中的两个非零向量与关于矩阵共轭。即
因
,故有
若令
二式相减,得
设在第次迭代中
代入上式,得
式中为第次迭代的最优步长。
由式和式
,得
将式和式代入上式,得
因为是一正交系,故有或
故上式可简化为
得
用一维探索最优化方法确定,即求
或用解析法,使
求得。
或由式,得
即
又由于进行一维最优化搜索,故有
由上两式可求得
如此,即可得到共轭梯度法的一组计算公式为
3.算法步骤
用共轭梯度法求无约束多维极值问题的算法步骤如下:
给定初始点,及精度;
若,停止,极小值点为,否则转步骤(3);
取,且置;
用一维搜索法求,使得,令,,转步骤5;
若,停止,极小值点为,否则转步骤(6);
若,令,转步骤(3),否则转步骤(7);
令,,置,转步骤(4)。
4.算法的MATLAB实现
在MATLAB中编程实现的共轭梯度法函数为:
功能:用共轭梯度法求解多维函数的极值。
调用格式:
其中,:目标函数;
:初始点;
:???变量向量;
:目标函数取最小值时的自变量值;
:目标函数的最小值。
共轭梯度法的MATLAB程序代码如下:
function [x,minf]=minGETD(f,x0,var,eps)
%目标函数:f;
%初始点:x0;
%自变量向量:var;
%目标函数取最小值时的自变量值:x;
%目标函数的最小值:minf;
format long;
if nargin==3
eps=1.0e-6;
end
x0=transpose(x0);
n=length(var);
syms l;
gradf=jacobian(f,var); %梯度方向
v0=Funval(gradf,var,x0);
p=-transpose(v0);
k=0;
while 1
v=Funval(gradf,var,x0);
tol=norm(v);
if tol=eps
x=x0;
break;
end
y=x0+l*p;
yf=Funval(f,var,y);
[a,b]=minJT(yf,0,0.1);
xm=minHJ(yf,a,b);
x1=x0+xm*p;
vk=Funval(gradf,var,x1);
tol=norm(vk);
if tol=eps
x=x1;
break;
end
if k+1==n
x0=x1;
continue;
else
lamda=dot(vk,vk)/dot(v,v);
p=-transpose(vk)+lamda*p; %共轭方向
k=k+1;
x0=x1;
end
end
minf=Funval(f,var,x);
format short;
4.例题
例1.f=(x-2)^2+(y-4)^2
M文件:
function f=conjugate_grad_2d(x0,t)
x=x0;
syms xi yi a
f=(xi-2)^2+(yi-4)^2;
fx=diff(f,xi);
fy=diff(f,yi);
fx=subs(fx,{xi,yi},x0);
fy=subs(fy,{xi,yi},x0);
fi=[fx,fy];
count=0;
while double(sqrt(fx^2+fy^2))t
s=-fi;
您可能关注的文档
- 中央财经大学法律硕士考研度大不大,考上的人多不多中央财经大学法律硕士考研难度大不大,考上的人多不多.doc
- 日语财务用语总结日语财用语总结.doc
- 旧课标高中数学目录旧课高中数学目录.doc
- 中学生地理学习方法中学生理学习方法.doc
- 中央财经大学学生实验守则央财经大学学生实验守则.doc
- 中央财经大学法硕学费中央经大学法硕学费.doc
- 时庄街道中学三年级下册学教学反思时庄街道中学三年级下册科学教学反思.doc
- 时政与知识点结合复习时与知识点结合复习.doc
- 时尚消费对当代大学生的响时尚消费对当代大学生的影响.doc
- 时装艺术鉴赏论文时装艺鉴赏论文.doc
- 五年级数学上册5简易方程2解简易方程第8课时实际问题与方程3教学设计新人教版.doc
- 2024_2025学年新教材高中生物第2章细胞的结构和生命活动第3节第1课时细胞质膜具有选择透过性教案苏教版必修1.doc
- 江苏专用2025版高考地理一轮复习第十二章人类与地理环境的协调发展1人类与地理环境的协调练习含解析新人教版.doc
- 2024_2025学年高中化学第一章物质结构元素周期律第三节化学键练习含解析新人教版必修2.docx
- 2024_2025学年高中政治专题二君主立宪制和民主共和制:以英国和法国为例综合训练含解析新人教版选修3.docx
- 2024_2025学年高中生物课时分层作业18捕获光能的色素和结构含解析新人教版必修1.doc
- 2024_2025学年高中政治专题一古典政治经济学巨匠的理论遗产第3框李嘉图的理论贡献学案新人教版选修2.doc
- 2024_2025学年新教材高中生物第6章细胞的生命历程3细胞的衰老和死亡学案2新人教版必修1.doc
- 2024_2025学年新教材高中生物第6章生物的进化1生物有共同祖先的证据学案新人教版必修2.doc
- 司机保证书15篇 .pdf
文档评论(0)