- 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
- 2025年十大战略技术趋势-Gartner-20241124.pptx
- 中国房地产企业监测报告(2024年10月)-中指研究院-2024-38页3.pdf
- 机器人产业链深度解析.pdf
- 小米2024Q3财报-2024-11-新势力.pdf
- 慧博智能投研-具身智能行业深度:发展趋势、市场机遇、产业链及相关企业深度梳.pdf
- 主课件-一分钟经理人(含实践篇).pptx
- IPP国际绩效改进师-初级认证项目简介.pdf
- FESCO+2022-2023健康管理行业及其人才与人力资源服务需求分析-93页.pdf
- A股能演绎2013年以来的日本股市长牛吗?.pdf
- AI+教育:大模型引领全场景智能化革新.pdf
文档评论(0)