文档库 最新最全的文档下载
当前位置:文档库 › 采用广义Curry线搜索的重新开始共轭梯度算法及其全局收敛性

采用广义Curry线搜索的重新开始共轭梯度算法及其全局收敛性

采用广义Curry线搜索的重新开始共轭梯度算法及其全局收敛性
采用广义Curry线搜索的重新开始共轭梯度算法及其全局收敛性

第18卷第4期数学研究与评论V o l.18N o.4 1998年11月JOU RNAL O F M A TH E M A T I CAL R ESEA RCH AND EXPO S IT I ON N ov.1998

采用广义Curry线搜索的重新开始共轭梯度算法

及其全局收敛性Ξ

焦宝聪 陈兰平

(首都师范大学数学系,北京100037)

摘 要 本文对无约束最优化问题:m in f(x),x∈R n,提出一种新的重新开始共轭梯度算法.该算法采用一类广义Curry线搜索原则,参数Βk可在一个有限闭区间内选择,且允许

Βk取负值.在较弱的条件下证明了该算法的全局收敛性.

关键词 重新开始共轭梯度法,广义Curry线搜索,全局收敛性.

分类号 AM S(1991)90C30 CCL O221.2

1 引 言

考虑无约束最优化问题

m in f(x),x∈R n,(1)其中函数f:R n→R1连续可微.众所周知,由于共轭梯度算法不需存储迭代矩阵,并且又具有收敛速度较快和二次终止性的优点,因此,当决策变量个数n比较大时,是求解问题(1)的有效算法.这类算法的一般模式是:

Step1.取初始点x1,置k:=1.

Step2.计算g k= f(x k).

Step3.若g k=0,停止计算;否则置P k=-g k+Βk-1P k-1,其中Βk-1按某种方式确定,P0= 0.

Step4.一维线搜索,计算正步长Αk.

Step5.令x k+1=x k+Αk P k,置k:=k+1,转Step2.

最著名的共轭梯度法是F letcher和R eeves(1964年)〔1〕提出的,通常称为FR共轭梯度法;由Po lak,R ib iere〔2〕和Po lyak(1969)提出的,通常称为PR P共轭梯度法.二者确定参数Βk-1的公式分别为

ΒFR k-1= g k 2 g k-1 2,(2)

ΒPR P k-1=g T k(g k-g k-1) g k-1 2.(3)关于FR共轭梯度法对一般非凸函数的全局收敛性,采用精确线搜索的情况由Pow ell (1983)〔3〕证明;采用非精确线搜索的情况由A l2B aali(1985年)〔4〕证明.在f(x)强凸假设下,Ξ1996年7月17日收到.

PR P共轭梯度法在精确 非精确线搜索下的全局收敛性由袁亚湘(1993)〔5〕得到.尽管在有些情况下,PR P算法可能比FR算法有效,但Pow ell(1984年)〔6〕给出的反例说明:即使目标函数f(x)二阶连续可微,水平集x∈R n,f(x)≤f(x1)有界,并且采用精确线搜索,PR P算法也可能不收敛.Pow ell建议应限制Βk≥0.但Gri ppo和L ucidi(1995年)〔7〕论证了选择Βk≥0可能不是使PR P算法全局收敛的唯一途径.因此应当进一步研究共轭梯度算法中关于参数Βk 的选择策略.

本文给出了Βk可以取负值的条件,以及Βk的取值范围;并给出了采用一类广义Cu rry线搜索策略重新开始的共轭梯度法,证明了算法的全局收敛性.

2 定义与假设

假设(i)水平集L1=x x∈R n,f(x)≤f(x1)有界;

(ii)在L1上,目标函数f(x)连续可微,且其梯度g(x)= f(x)有界,即存在常数L>0,使任意x∈L1,有 g(x) ≤L.

定义1 若纯量函数?:〔0,+∞)→〔0,+∞)满足:对任意数列{t k}<〔0,+∞),若li m

k→∞

?(t k)

=0,则有li m

k→∞

t k=0,则称?( )为强迫函数.

定义2 在假设(i),(ii)下,取

Α=sup{ g(x)-g(y) x,y∈L1}>0.

S(t)=inf{ x-y ,x,y∈L1且 g(x)-g(y) ≥t},t∈〔0,Α)时, li m

Σ→0+

S(Σ), 当t∈〔Α,+∞)时,

则称S(t)为g(x)在L1上的连续性逆模.

定义3 确定步长的广义Cu rry原则是指:在x k处沿搜索方向P k,选取步长Αk,使

Αk=m in{Α g(x k+ΑP k)T P k=Λg(x k)T P k,Α>0},

且满足条件

g(x k+Αk P k)T P k≤-Ρg T k P k.

其中Λ∈〔0,Ρ),Ρ∈(0,2

5

〕.这里g k=g(x k).

3 主要结果

现在给出重新开始的改进PR P算法如下:

算法A

Step1.任取初始点x1∈R n,置k:=1.

Step2.计算g k=g(x k).

Step3.若g k=0,停止计算;否则,置

P k=-g k+Βk-1P k-1,(4)

其中,

Βk-1=0,当k-1是n的整数倍时;

Β(k-1),其它.(5)这里

ΡΒPR P k-1≤Β(k-1)≤

Ρ

ΡΒPR P k-1,Ρ∈(0,

2

5

),Ρ∈(0,2

5

〕,(6)

ΒPR P k-1=g T k(g k-g k-1)

g k-1 2.(7)

Step4.按广义Cu rry原则,计算步长Αk.

Step5.置x k+1=x k+Αk P k,计算g k+1=g(x k+1).

若g T k+1g k<0.2 g k+1 2,令k:=k+1,转Step3;否则,令P k=-g k,转Step4.

引理1 对算法A,不等式

-6k-1j=0j≤g T k P k g k 2≤-2+6k-1j=0j,(8)

g T k P k<0,(9)

对所有k成立,只要g k≠0.其中Ρ∈(0,2

5

).

证明 用归纳法,对k=1,因P1=-g1,Ρ0=1,故不等式(8),(9)显然成立.

现假设对任何k≥1有(8)式成立,则由于

6k-1

j=0

j<6∞j=0j=11-Ρ,(10) (8)式右端为负,故此时(9)式也成立.

由于

g T k+1P k+1 g k+1 2=g T k+1(-g k+1+Βk P k)

g k+1 2=-1+Βk

g T k+1P k

g k+1 2,

当Βk=0或g T k+1g k≥0.2 g k+1 2时,(8)、(9)两个不等式显然成立.考虑Βk=Β(k)且g T k+1g k< 0.2 g k+1 2.此时,由(6),(7)式及定义3中Αk的取法,有

g T

k+1P k+1

g k+1 2≤-1+ΛΡ

Ρ

g T k+1(g k+1-g k)

g k+1 2

g T k P k

g k 2≤-1+1.2Ρ(-2+

6k-1

j=0

Ρj)

≤-1+Ρ(-2+6k-1j=0Ρj)≤-1+Ρ6k-1j=0Ρj=-2+6k j=0Ρj.同理,有

 g T

k+1P k+1

g k+1 2≥-1-ΛΡ

Ρ

g T k+1(g k+1-g k)

g k+1 2

g T k P k

g k 2≥-1+(-1.2Λ

Ρ

Ρ)(-

6k-1

j=0

j)

=-1-1.2Λ

Ρ(-

6k

j=1

j)≥-1-6k j=1j=-6k j=0j.

从而(8)式对k+1成立.而

-2+6k j=0Ρj<-2+11-Ρ<0,

故(9)式对k +1也成立.

所以,由归纳法可知,引理1成立.

引理1表明,算法A 确定的搜索方向是下降方向.

引理2 设点列{x k }是由算法A 生成的,在假设(i ),(ii )下,若

f (x k )-f (x k +1)≥?-

g T

k P k

P k

,其中?( )是强迫函数,则必有

li m

k →∞

-g T

k P k

P k

=0.

引理3 若g (x )在水平集L 1上一致连续,则由定义2确定的函数S ( )是强迫函数.

引理4 在假设(i ),(ii )下,对任意的x ∈L 1,P ∈R n ,若g T (x )P <0,则存在Α3

>0,使得

f (x +Α3

P )=f (x ).

下面两个定理,将证明算法A 的全局收敛性.定理1 在假设(i ),(ii )下,若Αk 按广义Cu rry 原则取定,则算法A 确定的点列{x k }必满

足li m k →∞

(-g T

k P k ) P k =0.证明 由引理1知,对任意Ρ∈(0,

25

),有不等式(9)成立.再由引理4知,存在Α3>0使f (x k +Α3

P k )=f (x k ).

因此,存在Α′∈(0,Α3)使得g (x k +Α′P k )T P k =0,从而有不等式

g T k P k ≤Λg T

k P k ≤g (x k +Α′P k )T

P k =0,Λ∈(0,Ρ),

由此式可知,存在Α″∈(0,Α′)使Λg T k P k =g (x k +Α″P k )T

P k ,这表明集合

{Α g (x k +ΑP k )T P k =Λg (x k )T

P k ,Α

>0}≠ .而条件 g (x k +Α″P k )T

P k ≤-Ρg T

k P k 是显然的.因此广义Cu rry 原则对所有k 可以实现.由于-g (x k +ΑP k )T

P k ≥-Λg T k P k >0,Α

∈〔0,Αk 〕,故Υ′(Α)=[f (x k +ΑP k )]′Α=g (x k +ΑP k )T

P k <0,

(11)

从而Υ(Α)在区间[0,Αk ]上单调下降

.由此推出Υ(0)-Υ(Α

k )=-Αk Υ′(Α′k ), Α′k ∈[0,Αk ],即

f (x k )-f (x k +1)=-Αk

g (Γk )T

P k ≥-Αk Λg T

k P k ,

(12)

其中Γk 是点x k 到x k +1联线上的一点.由此推知

0<(1-Λ)[-g T k P k ]=-g k T

P k +Λg T k P k

=-g T k P k +g T k +1P k =(g k +1-g k )T

P k ≤ g k +1-g k P k ,

从而

g k +1-g k ≥(1-Λ)

-g T

k P k

P k

>0.(13)

当Λ=0时,由Αk 的取法可知g T

k +1P k =0.设Αk 是Λ=Ρ

2

时由广义Cu rry 原则确定的步长,记x k +1=x k +Αk P k ,则

g (x k +1)T

P k =

Ρ2

g T

k P k ,(14)

其中Αk ∈(0,Αk ],由(11)式推出:对任意Α∈[0,Αk ]有

f (x k )≥f (x k +ΑP k )≥f (x k +1),因此

f (x k +1)=f (x k +Α

k P k )≥f (x k +1).故由(12)式,有

f (x k )-f (x k +1)≥f (x k )-f (x k +1)≥Ρ2

Αk (-g T

k P k )

=Ρ2

Αk P k [(-g T k P k ) P k ].(15)

但由(13)式及定义2,有

Α

k P k = Αk P k = x k -x k +1 ≥S [(1-Ρ2

)(-g T

k P k P k )].记t =(-g T

k P k ) P k ,则由(15)式

f (x k )-f (x k +1)≥Ρ2 S ((1-Ρ

2

)t ) t =记

?1(t ),则?1(t )为强迫函数,由引理2可知

li m

k →∞

-g T k P k

P k

=0.

当Λ>0时,由(12)式有

f (x k )-f (x k +1)≥Αk Λ(-

g T

k P k )=Λ Αk P k [(-g T k P k )

P k ]而由定义2及(13)式有

Αk P k = x k -x k +1 ≥S [(1-Λ)(-g T k P k

P k )]=S [(1-Λ)t ]从而

f (x k )-f (x k +1)≥Λ

t S [(1-Λ)t ]=记

?2(t ),则?2(t )是强迫函数,故由引理2知

li m

k →∞

-g T

k P k

P k

=0.

定理1得证.

定理2 在假设(i ),(ii )下,{x k }是由算法A 生成的点列,则有li m k →∞

inf g k =0.

(16)证明 用反证法,若(16)式不成立,则存在Ε>0使得对所有的k 有

g k ≥Ε,

(17)

由于此时定理1的条件也成立,故有

li m

k →∞

-g T

k P k

P k

=0.(18)

先证明

li m k →∞

(-g T

k P k )=0.(19)

由(18)式,只须证明:对k =1,2,…,n , P k 有界.事实上,

P k 2= g k 2-2Βk -1g T

k P k -1+Β2k -1 P k -1

2

≤ g k 2+2

Βk -1ΒPR P k -1 Β

PR P k -1 g T k P k -1 + Βk -1ΒPRP k -1

2 (ΒPR P k -1)2 P k -1 2

≤ g k 2

+2Ρ g T k (g k -g k -1) g k -1 2(-g T k -1P k -1)+(ΡΡ)2 g T k (g k -g k -1) 2 g k -1 4

P k -1 2.由于

g T k (g k -g k -1) ≤ g k 2+ g T

k g k -1 ≤1.2 g k 2,

-g T

k -1P k -

1

g k -1

2

≤6k -1

j =0

Ρj <

1

1-Ρ

及 g k ≤L ,故有

P k 2

≤ g k 2

+2.4Ρ1-Ρ

g k 2+(1.2ΡΡ)2 g k 4

g k -1 4 P k -1 2

≤1+1.4Ρ1-Ρ

g k 2+(1.2Ρ)2 L 4

Ε4 P k -1 2.

q =

1+1.4Ρ1-Ρ

, r =(1.2ΡΡ)2 L

4Ε4,则有

P k 2≤q g k 2+r P k -1 2≤q g k 2+rq g k -1 2+r 2 P k -2 2

……

≤q ( g k 2+r g k -1 2+r 2 g k -2 2+…+r k -1 g 1 2)

≤q L (1+r +r 2+…+r k -1)≤q L (1+r +r 2+…+r n ).

这表明:对k =1,2,…,n , P k 有界.从而有(19)式成立.

现在再证明(16)式成立.由于

g k 2=g T k (-P k +Βk -1P k -1)=-g T

k P k +Βk -1g k T P k -

1

≤-g T k P k + Βk -1 (-Ρg T k -1P k -1)=-g T

k P k +

Βk -1ΒPR P k -1

Β

PRP k -1 (-Ρg T

k -1P k -1)≤-g T k

P k +Ρ g k T (g k -g k -1)

g k -1 2

(-g T k -1P k -1)≤-g T

k P k +1

.2Ρ 11-Ρ

g k 2=-g T

k P k +1.2Ρ1-Ρ

g k 2,

从而对任意k 有

g k 2≤

1-Ρ1-2.2Ρ

(-g T k P k ),

故有

li m k →∞

g k 2≤1-Ρ1-2.2Ρli m k →∞

(-g T k P k )=0.这与假设(17)矛盾.所以(16)式成立,即

li m

inf g k =0

k→∞

定理2得证.

参 考 文 献

1 F letcher R,R eeves C M.F unction m in i m iz a tion by conjug a te g rad ien https://www.wendangku.net/doc/b05697578.html,pu ter Jou rnal,1964,7:149 -154

2 Po lak E,R ib ieréG.N ote su r la converg ences d e méthod s d es d irections conjugées.R ev.F r.In r.R ech.

Oper.,1969,16:35-43

3 Pow ell M J D.N onconvex m in i m iz a tion ca lcu la tion and the conjug a te g rad ien t m ethod.In N um erical

A nalysis,D undee,1983,Griffith s D.F ed.

4 A l2Baali M.D escen t P rop erty and g loba l converg ence of the F letcher2R eeves M ethod w ith inex act line sea rches.I M A Jou rnal of N um erical A nalysis,1985,5(1):121-124

5 袁亚湘.非线性规划的数值方法.上海科学技术出版社,1993

6 Pow ellM J D.N onconvex m in i m iz a tion ca lcu la tions and the conjug a te g rad ien t m ethod.N um ericalA naly2 sis,L ectu re N o tes in M athem atics,1066,Sp ringer2V erlag,Berlin,(D.F.Griffith s,ed.),1984,122-141

7 Gri ppo L and L ucidi S.A g loba l converg ence p rop erties of conjug a te g rad ien t m ethod s f or op ti m iz a tion.

S I AM,1995,71:399-405

8 席少霖.非线性最优化方法.北京:高等教育出版社,1992,169-183

9 赵瑞安、吴方.非线性最优化理论和方法.杭州:浙江省科学技术出版社,1992,21-26

Global Convergence of the Restarti ng Con jugate Grad ien t

A lgor ith m w ith a Generalized Curry L i nesearch

J iao B aocong Chen L anp ing

(D ep t.of M ath.,Cap ital N o rm al U niversity,100037)

Abstract

T h is p ap er p resen ts a new restarting con jugate gradien t algo rithm fo r uncon strained op2 ti m izati on p rob lem:m in f(x),x∈R n.T h is algo rithm u sed a generalized Cu rry linesearch, p aram eterΒk can be selected in a fin ite clo sed in terval.E sp ecially,it is allow ed thatΒk is neg2 ative.T he global convergence of th is algo rithm s is p roved under w eaker conditi on s. Keywords restarting con jugate gradien t algo rithm,generalized Cu rry linesearch,global convergence.

16梯度法和共轭梯度法基本原理和特点

16梯度法和共轭梯度法基本原理和特点? 梯度法又称最速下降法,基本原理是在迭代点附近采用使目标函数值下降最快的负梯度方向作为搜索方向, 求目标函数的极小值,特 点;迭代计算简单,只需求一阶偏导数,所占的存储单 元少,对初始点的要求不 高,在接近极小点位置时收敛速度很慢,共轭的特点为 在梯度法靠近极值点收敛速度放慢时,它可以构造共轭方向使其收敛速度加快, 迭代计算比较简单,效果 好,在每一步迭代过程中都要构造共轭的、方向,比较繁琐。 17迭代终止准则有哪三种? 1)当设计变量在相邻两点之间的移动距离充分小时,可用相邻两点的矢量差的模作为终止的判据, 2)当相邻两点目标函数值之差达到充分小时,可 用两次迭代的目标函数之 差作为终止判据。 3)当迭代点逼近极值点时,目标函数在该点的梯度已达到充分小时,可用梯度的模作为

终止判据。 18 .无约束设计法,1)powell法,它是在下降迭代过运算中只需计算和比较目标函数值的大小,不需计算偏导数的方法,是较好的一种直接搜索 算法。 2)梯度法,又称最速下降法,它是采用使目标 函数值下降最快的负梯度方向作为搜索方向来求目标函数的极小值。 3)共轭梯度法,又称FR法,是利用目标函数的梯度确定共轭方向,使得计算简便而效 果好,只需利用相邻两点的梯度就可以构造一个共轭方向,这种方式产生共轭方 向并进行迭代的算法称为 共轭梯度法。 4)变尺度法,又称DFP法,为了得到既有快速收敛的性质,又能避免计算二阶导数矩阵及逆矩阵,减少计算工作量。迭代公式X=X+aS, 19有约束设计法? 1)复合形法,在可行域中选取k个设计点作为

初始复合形的顶点,然后比较复合形个各项 目标函数值的大小,其中目标函数值最大的点为坏点,以坏点之外其余各点的中心为映 射中心,寻坏点的映射点,以映射点替换坏点,并与原复合 型除坏点之外其余各点构成就k 顶点的新的复合型,这样反复迭代直到达到精度找到最优点, 2)简约梯度法,用来解决线性约束非线性规划问题。3)罚函数法,是把一个有约束的问 题转化为一系列无约束的问 题求解,逐渐逼近最优值。 . 可靠性工程包括的三个方面? 1可靠性设计,包括设计方面的分析,对比评价,必要时也包 括可靠性实验,生产制造中的质量控制设计 及使用维修规程的设计。 2可靠性分析,主要是失效分析,也包括故障分析 3可靠性数学, 这是数理统计方法在开展 可靠性工作中发展起来的 数学分支。 常用的可靠

最优化课程设计--共轭梯度法算法分析与实现

最优化课程设计--共轭梯度法算法分析与实现(设计程序) 题目共轭梯度法算法分析与实现 班级 / 学号 14140101/2011041401011 学生姓名黄中武指导教师王吉波王微微 课程设计任务书 课程名称最优化方法课程设计院(系) 理学院专业信息与计算科学 课程设计题目共轭梯度法算法分析与实现课程设计时间: 2014 年 6月 16日至 2014 年 6月 27日 课程设计的要求及内容: [要求] 1. 学习态度要认真,要积极参与课程设计,锻炼独立思考能力; 2. 严格遵守上机时间安排; 3. 按照MATLAB编程训练的任务要求来编写程序; 4. 根据任务书来完成课程设计论文; 5. 报告书写格式要求按照沈阳航空航天大学“课程设计报告撰写规范”; 6. 报告上交时间:课程设计结束时上交报告; 7. 严禁抄袭行为,一旦发现,课程设计成绩为不及格。 一、运用共轭梯度法求解无约束最优化问题 要求:1)了解求解无约束最优化问题的共轭梯度法; 2)绘出程序流程图; 3)编写求解无约束最优化问题的共轭梯度法MATLAB程序; 4)利用编写文件求解某无约束最优化问题;

5)给出程序注释。 指导教师年月日 负责教师年月日 学生签字年月日 沈阳航空航天大学 课程设计成绩评定单 课程名称最优化理论与算法课程设计院(系) 理学院专业信息与计算科学课程设计题目共轭梯度法算法分析与实现学号 2011041401011 姓名黄中武指导教师评语: 课程设计成绩 指导教师签字 年月日 最优化方法课程设计沈阳航空航天大学课程设计用纸目录 目录 一、正 文 (1) 二、总结 ............................................................... 8 参考文 献 ............................................................... 9 附录 .. (10) 第 I 页 最优化方法课程设计沈阳航空航天大学课程设计用纸正文 一、正文 一无约束最优化问题的共轭梯度法

共轭梯度法

共轭梯度法 1.算法思想: 共轭梯度法是利用目标函数梯度逐步产生共轭方向作为线搜索方向的方法,每次搜索方向都是在目标函数梯度的共轭方向,搜索步长通过一维极值算法确定。 2.算法步骤: 用共轭梯度法求无约束多维极值问题min (),n f x x R ∈的算法步骤如下: (1) 给定初始点(0)x ,及精度0ε>; (2) 若 (0)()f x ε ?≤,停止,极小值点为(0)x ,否则转步骤(3); (3) 取(0)(0)()p f x =-?,且置0k =; (4) 用一维搜索法求k t ,使得()()()()()0 ()min k k k k k t f x t p f x tp ≥+=+,令,(1)()()k k k k x x t p +=+,转步骤5; (5) 若 (1)()k f x ε +?≤,停止,极小值点为(1)k x +,否则转步骤(6); (6) 若1k n +=,令(0)()n x x =,转步骤(3),否则转步骤(7); (7) 令(1)(1)()()k k k k p f x p λ++=-?+,2(1)2 () () () k k k f x f x λ+?=?,置1k k =+,转 步骤(4)。 3.算法源程序: #include #include

#define N 10 #define eps pow(10,-6) double f(double x[],double p[],double t) { double s; s=pow(x[0]+t*p[0],2)+25*pow(x[1]+t*p[1],2); return s; } /*以下是进退法搜索区间源程序*/ void sb(double *a,double *b,double x[],double p[]) { double t0,t1,t,h,alpha,f0,f1; int k=0; t0=2.5; /*初始值*/ h=1; /*初始步长*/ alpha=2; /*加步系数*/ f0=f(x,p,t0); t1=t0+h; f1=f(x,p,t1); while(1) {

共轭梯度法C语言(西安交大)

#include #include #define N 10 /*定义矩阵阶数*/ void main() { int i,j,m,A[N][N],B[N]; double X[N],akv[N],dka[N],rk[N],dk[N],pk,pkk,ak,bk; for(i=0;i

printf("\n"); printf("input the Maxtr X\n"); /*给X0输入一个初始向量*/ for(i=0;i

最新16梯度法和共轭梯度法基本原理和特点

16梯度法和共轭梯度法基本原理和特点

16梯度法和共轭梯度法基本原理和特点? 梯度法又称最速下降法,基本原理是在迭代点附近采用使目标函数值下降最快的负梯度方向作为搜索方向, 求目标函数的极小值,特 点;迭代计算简单,只需求一阶偏导数,所占的存储单 元少,对初始点的要求不 高,在接近极小点位置时收敛速度很慢,共轭的特点为 在梯度法靠近极值点收敛速度放慢时,它可以构造共轭方向使其收敛速度加快, 迭代计算比较简单,效果 好,在每一步迭代过程中都要构造共轭的、方向,比较繁琐。17迭代终止准则有哪三种? 1)当设计变量在相邻两点之间的移动距离充分小时,可用相邻两点的矢量差的模作为终止的判据, 2)当相邻两点目标函数值之差达到充分小时,可 用两次迭代的目标函数之 差作为终止判据。 3)当迭代点逼近极值点时,目标函数在该点的梯度已达到充分小时,可用梯度的模作为 终止判据。

18 .无约束设计法,1)powell法,它是在下降迭代过 运算中只需计算和比较目标函数值的大小,不需计算偏导数的方法,是较好的一种直接搜索 算法。 2)梯度法,又称最速下降法,它是采用使目标 函数值下降最快的负梯度方向作为搜索方向来求目标函数的极小值。 3)共轭梯度法,又称FR法,是利用目标函数的 梯度确定共轭方向,使得计算简便而效 果好,只需利用相邻两点的梯度就可以构造一个共轭方向,这种方式产生共轭方 向并进行迭代的算法称为 共轭梯度法。 4)变尺度法,又称DFP法,为了得到既有快速收敛的性质,又能避免计算二阶导数矩阵及逆矩阵,减少计算工作量。迭代公式X=X+aS, 19有约束设计法? 1)复合形法,在可行域中选取k个设计点作为 初始复合形的顶点,然后比较复合形个各项目标函数值的大小,其中目标函数值最大的点为坏点,以坏

清华大学高等数值计算(李津)实践题目一(共轭梯度CG法,Lanczos算法与MINRES算法)

高等数值计算实践题目一 1. 实践目的 本次计算实践主要是在掌握共轭梯度法,Lanczos 算法与MINRES 算法的基础上,进一步探讨这3种算法的数值性质,主要研究特征值特征向量对算法收敛性的影响。 2. 实践过程 (一)生成矩阵 (1)作5个100阶对角阵i D 如下: 1D 对角元:1,1,...,20,1+0.1(-20),21,...,100j j d j d j j ==== 2D 对角元:1,1,...,20,1+(-20),21,...,100j j d j d j j ==== 3D 对角元:,1,...,80,81,81,...,100j j d j j d j ==== 4D 对角元:,1,...,40,41,41,...,60,41+(60),61,...,100j j j d j j d j d j j =====-= 5D 对角元:,1,...,100j d j j == 记i D 的最大模特征值和最小模特征值分别为1i λ和i n λ,则i D 特征值分布有如下特点: 1D 的特征值有较多接近于i n λ,并且1/i i n λλ较小, 2D 的特征值有较多接近于i n λ,并且1/i i n λλ较大, 3D 的特征值有较多接近于1i λ,并且1/i i n λλ较大, 4D 的特征值有较多接近于中间模特征值,并且1/i i n λλ较大, 5D 的特征值均匀分布,并且1/i i n λλ较大 (2)随机生成10个100阶矩阵j M : (100(100))j M fix rand = 并作它们的QR 分解,得j Q 和j R ,这样可得50个对称的矩阵T ij j i j A Q DQ =,其中i D 的对角元就是ij A 的特征值,若它们都大于0,则ij A 正定,j Q 的列就是相应的特征向量。结合(1)可知,ij A 都是对称正定阵。

作业4-FR共轭梯度法

最优化方法第四次作业 题目:利用FR-共轭梯度法求解无约束优化问题222 12122min ()44412x R f x x x x x x ∈=+--。初始点(0)(0.5,1).T x =- () ()T k k T k k k k k k k g g g g k d g k g d 111110.0,;0,-----=???≥+-=-=ββ 一、程序 function [x,val,k]=frcg(fun,gfun,x0) %功能:用FR 共轭梯度法求解无约束问题min f (x ) %输入:x0是初始点,fun,gfun 分别是求目标函数和梯度 %输出:x,val 分别是近似最优点和最优值,k 是迭代次数 maxk=5000; rho=0.6; sigma=0.4; k=0; epsilon=1e-4; n=length(x0); while (k=0.0) d=-g; end end if (norm(d)

while (m<20) %用Armijo 搜索求步长 if (feval(fun,x0+rho^m*d)> x0=[-0.5,1]'; >> [x,val,k]=frcg('fun','gfun',x0) x = 1.0000 2.0000 val = -12.0000 k = 10 即22212122min ()44412x R f x x x x x x ∈=+--的极小值点x=[1;2];minf(x)= -12。

共轭梯度算法分析与实现

编号:_ 09 《最优化方法》 课程设计 题目:共轭梯度算法分析与实现 院系:数学与计算科学学院 专业:数学与应用数学 姓名学号: 指导教师: 日期:2013 年12 月23 日

摘要 在最优化计算中,共轭梯度法是非常重要的一种方法。共轭梯度法是一种改进的最速下降法,介于最速下降法与牛顿法之间的一种无约束优化算法,是为求解目标函数为二次函数的问题而设计的一类算法。它利用目标函数的梯度逐步产生共轭方向并将其作为搜索方向的方法,收敛速度快。共轭梯度法仅需利用一阶导数信息,避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点,具有二次终止性。 关键词:共轭梯度法;牛顿法;二次函数;无约束优化 Abstract In the calculation of optimization method, conjugate gradient method is a very important one. The conjugate gradient method is a unconstrained optimization method between the steepest descent method and Newton method, and sove the objective function for the original quadratic function problems and design for a class of algorithm. Conjugate gradient method using only first derivative information, to avoid the Newton method requires storage and computing the inverse Hesse matrix and shortcomings, this method has the quadratic termination. Keywords: Conjugate gradient method; Newton method;Unconstrained optimization

最优化课程设计--共轭梯度法算法分析与实现

最优化课程设计--共轭梯度法算法分析与实现 (设计程序) 题目共轭梯度法算法分析与实现 班级 / 学号 14140101/11 学生姓名黄中武指导教师王吉波王微微 课程设计任务书 课程名称最优化方法课程设计院(系) 理学院专业信息与计算科学 课程设计题目共轭梯度法算法分析与实现课程设计时间: 2014 年 6月 16日至2014 年 6月 27日 课程设计的要求及容: [要求] 1. 学习态度要认真,要积极参与课程设计,锻炼独立思考能力; 2. 严格遵守上机时间安排; 3. 按照MATLAB编程训练的任务要求来编写程序; 4. 根据任务书来完成课程设计论文; 5. 报告书写格式要求按照航空航天大学“课程设计报告撰写规”; 6. 报告上交时间:课程设计结束时上交报告; 7. 严禁抄袭行为,一旦发现,课程设计成绩为不及格。 一、运用共轭梯度法求解无约束最优化问题 要求:1)了解求解无约束最优化问题的共轭梯度法; 2)绘出程序流程图; 3)编写求解无约束最优化问题的共轭梯度法MATLAB程序; 4)利用编写文件求解某无约束最优化问题; 5)给出程序注释。

指导教师年月日 负责教师年月日 学生签字年月日 航空航天大学 课程设计成绩评定单 课程名称最优化理论与算法课程设计院(系) 理学院专业信息与计算科学课程设计题目共轭梯度法算法分析与实现学号 11 黄中武指导教师评语: 课程设计成绩 指导教师签字 年月日 最优化方法课程设计航空航天大学课程设计用纸目录 目录 一、正文 ............................................................... 1 二、总 结 ............................................................... 8 参考文 献 ............................................................... 9 附 录 (10) 第 I 页 最优化方法课程设计航空航天大学课程设计用纸正文 一、正文 一无约束最优化问题的共轭梯度法 共轭梯度法最初是由Hesteness和Stiefel于1952年为求解线形方程组而提出的。后来,人们把这种方法用于求解无约束最优化问题,使之成为一种重要的最优化方法。 下面,重点介绍Fletcher-Reeves共轭梯度法,简称FR法。

第六节 最速下降法与共轭梯度法

第六节最速下降法与共轭梯度法 6.1 最速下降法 当方程组 Ax = b (1) 中的A为对称正定矩阵时,方程组Ax=b的解正好是二次函数 (2) 的唯一极小值点。求解方程组(1)的问题等价与求 (3) 问题。求解问题(3)的最简单的方法是所谓最速下降法,即从某个初始点x(0)出发,沿φ(x)在点x(0)处的负梯度方向 (4) (称为搜索方向)求得φ(x)的极小值点x(1) , 即 (5) 然后从x(1)出发,重复上面的过程得到x(2)。如此下去,得到序列{x(k) } (6) 可以证明,从任一初始点x(0)出发,用最速下降法所得到的序列{x(k)}均收敛于问题(3)的解,也就是方程组(1)的解。其收敛速度取决于 其中λ1 ,λn分别为A的最小,最大特征值。最速下降法迭代格式:给定初值x(0) ,x(k)按如下方法决定

对称正定方程组 解:过程如图所示。 6.2 共轭梯度法 共轭梯度法简称CG(Conjugate Gradient),其基本步骤是在点x(k)处选取搜索方向d(k) , 使其与前一次的搜索方向d(k-1)关于A共轭,即 = 0 k=1,2, (7) 然后从点x(k)出发,沿方向d(k)求得φ(x)的极小值点x(k+1) , 即 (8) 如此下去, 得到序列{x(k)}。不难求得(7)的解为 注意到d(k)的选取不唯一,我们可取d(k) = -▽φ(x(k4) )+βk-1 d(k-1) , 由共轭的定义(7)可得

共轭梯度法的计算过程如下: 第一步:去初始向量x(0) , 计算 第k+1步(k=1,2,…):计算 例8 用共轭梯度法求解对称正定方程组 解 迭代过程如图所示

共轭梯度法程序

一、共轭梯度法 共轭梯度法(Conjugate Gradient)是共轭方向法的一种,因为在该方向法中每一个共轭向量都是依靠赖于迭代点处的负梯度而构造出来的,所以称为共轭梯度法。由于此法最先由Fletcher和Reeves (1964)提出了解非线性最优化问题的,因而又称为FR 共轭梯度法。由于共轭梯度法不需要矩阵存储,且有较快的收敛速度和二次终止性等优点,现在共轭梯度法已经广泛地应用于实际问题中。共轭梯度法是一个典型的共轭方向法,它的每一个搜索方向是互相共轭的,而这些搜索方向d仅仅是负梯度方向与上一次迭代的搜索方向的组合,因此,存储量少,计算方便,效果好。 二、共轭梯度法的原理 设有目标函数 f(X)=1/2X T HX+b T X+c 式1 式中,H作为f(X)的二阶导数矩阵,b为常数矢量,b=[b1,b2,b3,...b n]T 在第k次迭代计算中,从点X(k)出发,沿负梯度方向作一维搜索,得 S(K)=-?f(X(k))式2 X(k+1)=X(k)+ɑ(k)S(k) 式3 在式中,ɑ(k)为最优步长。 设与S(k)共轭的下一个方向S(k+1)由点S(k)和点X(k+1)负梯度的线性组

合构,即 S (k+1)=-?f (X (k+1))+β(k)S (k) 式4 根据共轭的条件有 [S (k)]T ?2f (X (k))S (k+1)=0 式5 把式2和式4带入式5,得 -[?f(X (k))]T ?2f (X (k))[-?f (X (k+1))+β(k)S (k) ]=0 式6 对于式1,则在点X (k)和点X (k+1)的梯度可写为 ?f(X (k))=HX (k)+b 式7 ?f (X (k+1))=HX (k+1)+b 式8 把上面两式相减并将式3代入得 ɑ(k)H S (k)=?f (X (k+1))-?f(X (k)) 式9 将式4和式9两边分别相乘,并代入式5得 -[?f (X (k+1))+β(k)?f(X (k))]T [?f (X (k+1))-?f(X (k)]=0 式10 将式10展开,并注意到相邻两点梯度间的正交关系,整理后得 β (k ) =2 2 ||))((||||))1((||k X f k X f ?+? 式11 把式11代入式4和式3,得 S (k+1)=-?f (X (k))+β (k ) S (k ) X (k+1)=X (k )+ɑ(k )S (k ) 由上可见,只要利用相邻两点的梯度就可以构造一个共轭方向。以这种方式产生共轭方向并进行迭代运算的方法,即共轭梯度法。

共轭梯度实验报告

竭诚为您提供优质文档/双击可除 共轭梯度实验报告 篇一:共轭梯度法实验报告 数值代数实验报告 一、实验名称:用共轭梯度法解线性方程组。 二、实验目的:进一步熟悉理解掌握共轭梯度法解法思路,提高matlab编程能力。三、实验要求:已知线性方程 矩阵,应用共轭梯度法在相关软件编程求解线性方程组的解。 四、实验原理: 1.共轭梯度法: 考虑线性方程组 Ax?b 的求解问题,其中A是给定的n阶对称正定矩阵,b是 给定的n维向量,x是待求解的n维向量.为此,定义二次泛 函 ?(x)?xTAx?2bTx. 定理1设A对称正定,求方程组Ax?b的解,等价于求二次泛函?(x)的极小值点.定理1表明,求解线性方程组问题

就转化为求二次泛函?(x)的极小值点问题.求解二次函数极 小值问题,通常好像盲人下山那样,先给定一个初始向量x0,确定一个下山方向p0,沿着经过点x0而方向为p0的直线 x?x0??p0找一个点 x1?x0??0p0, 使得对所有实数?有 ??x0??0p0????x0??p0?, 即在这条直线上x1使?(x)达到极小.然后从x1出发, 再确定一个下山的方向p1,沿着直 线x?x1??p1再跨出一步,即找到?1使得??x?在 x2?x1??1p1达到极小: ??x1??1p1????x1??p1?. 重复此步骤,得到一串 ?0,?1,?2, x?xk??pk上确定步长?k使 和p0,p1,p2, , 称pk为搜索方向,?k为步长.一般情况下,先在xk点 找下山方向pk,再在直线 ??xk??kpk????xk??pk?, 最后求出xk?1?xk??kpk.然而对不同的搜索方向和步长,得到各种不同的算法.

非线性优化算法-牛顿法_DFP_BFGS_L-BFGS_共轭梯度算法

统计学梯度下降法(SGDs)易于实现,然而它有两个主要的缺陷。第一个缺陷是它需要手动调谐大量的参数,比如学习速率和收敛准则。第二个缺陷是它本质上是序列方法,不利于并行计算或分布式计算。(然而,在计算资源如RAM受限的情况下,序列方法倒是一个不错的选择。) 这里介绍一些非线性优化算法:牛顿算法,伪牛顿算法和共轭梯度法。其中,伪牛顿算法包括DFP、BFGS和L-BFGS算法。 考虑如下的无约束最小化问题: min x f(x)(1) 其中x=(x1,…,x N)T∈?N. 为简便起见,这里假设f是凸函数,且二阶连续可导。记(1)的解为x?. 牛顿算法(Newton‘s Method) 基本思想:在现有的极小点估计值的附近对f(x)做二阶泰勒展开,进而找到下 其中g(k)=?f(x)| x(k)是梯度矩阵,H(k)=?2f(x)| x(k) 是海森矩阵。 牛顿算法是一种具有二次收敛性的算法。对于非二次函数,若函数的二次性态较强,或迭代点已进入极小点的领域,则其收敛速度也是很快的,这是牛顿算法的主要优点。但牛顿算法由于迭代公式中没有步长因子,而是定步长迭代,所以对于非二次函数,有时会出现f(x(k+1))>f(x(k))的情况,这表明牛顿算法不能保证函数值稳定地下降。由此,人们提出了阻尼牛顿算法,在原始牛顿算法的第4步中,采用一维搜索(line search)算法给d(k)加一个步长因子λ(k),其中: λ(k)=arg minλ∈?f(x(k)+λd(k))(2)一维搜索算法将另作介绍。 拟牛顿算法(Quasi-Newton Methods) 基本思想:不直接计算二阶偏导数,而是构造出近似海森矩阵(或海森矩阵的逆)的正定对称阵,在拟牛顿条件下优化目标函数。 下文中,用B表示对H的近似,用D表示对H?1的近似,并令s(k)=x(k+1)?x(k),y(k)=g(k+1)?g(k).

共轭梯度法

最速下降法and 共轭梯度法 分类:matlab 2011-04-17 17:02 961人阅读评论(2) 收藏举报算法出版优化 注明:程序中调用的函数jintuifa.m golddiv.m我在之前的笔记中已贴出 最速下降法 %最速下降法求解f = 1/2*x1*x1+9/2*x2*x2的最小值,起始点为x0=[9 1] %算法根据最优化方法(天津大学出版社)97页算法3.2.1编写 %v1.0 author: liuxi BIT %format long syms x1 x2 alpha; f = 1/2*x1*x1+9/2*x2*x2;%要最小化的函数 df=jacobian(f,[x1 x2]);%函数f的偏导 epsilon=1e-6;%0.000001k=0; x0=[9 1];%起始点 xk=x0; gk=subs(df,[x1 x2],xk);%起始点的梯度 gk=double(gk); while(norm(gk)>epsilon)%迭代终止条件||gk||<=epsilon pk=-gk;%负梯度方向 f_alpha=subs(f,[x1 x2],xk+alpha*pk);%关于alpha的函数 [left right] = jintuifa(f_alpha,alpha);%进退法求下单峰区间 [best_alpha best_f_alpha]=golddiv(f_alpha,alpha,left,right);%黄金分割法求最优步长xk=xk+best_alpha*pk; k=k+1; gk=subs(df,[x1 x2],xk); gk=double(gk); end best_x=xk;%最优点 best_fx=subs(f,[x1 x2],best_x);%最优值 共轭梯度法

最优化牛顿法最速下降法共轭梯度法matlab代码

牛顿法 迭代公式:(1)2()1()[()]()k k k k x x f x f x +-=-?? Matlab 代码: function [x1,k] =newton(x1,eps) hs=inline('(x-1)^4+y^2'); 写入函数 ezcontour(hs,[-10 10 -10 10]); 建立坐标系 hold on; 显示图像 syms x y 定义变量 f=(x-1)^4+y^2; 定义函数 grad1=jacobian(f,[x,y]); 求f 的一阶梯度 grad2=jacobian(grad1,[x,y]); 求f 的二阶梯度 k=0; 迭代初始值 while 1 循环 grad1z=subs(subs(grad1,x,x1(1)),y,x1(2)); 给f 一阶梯度赋初值 grad2z=subs(subs(grad2,x,x1(1)),y,x1(2)); 给f 二阶梯度赋初值 x2=x1-inv(grad2z)*(grad1z)'; 核心迭代公式 if norm(x1-x2)

end end end 优点:在极小点附近收敛快 缺点:但是要计算目标函数的hesse 矩阵 最速下降法 1. :选取初始点xo ,给定误差 2. 计算一阶梯度。若一阶梯度小于误差,停止迭代,输出 3. 取()()()k k p f x =? 4. 10 t ()(), 1.min k k k k k k k k k k t f x t p f x tp x x t p k k +≥+=+=+=+进行一维搜索,求,使得令转第二步 例题: 求min (x-2)^4+(x-2*y)^2.初始值(0,3)误差为0.1 (1)编写一个目标函数,存为f.m function z = f( x,y ) z=(x-2.0)^4+(x-2.0*y)^2; end (2)分别关于x 和y 求出一阶梯度,分别存为fx.m 和fy.m function z = fx( x,y ) z=2.0*x-4.0*y+4.0*(x-2.0)^3; end 和 function z = fy( x,y )

共轭梯度法及其基本性质

共轭梯度法及其基本性质 预备知识 定义1 设是对称正定矩阵。称是A-共轭的,是指 性质1 设有是彼此共轭的维向量,即 则一定是线性无关的。 [证明]若有一组数满足 则对一切一定有 注意到,由此得出:即所有的=0.因此, 是线性无关的. 性质2设向量是线性无关的向量组,则可通过它们的线性组合得出一组向量,而是两两共轭的. [证明]我们用构造法来证实上面的结论.

S0:取; S1:令,取. …… Sm:令 取 容易验证:符合性质2的要求. 性质3设是两两A-共轭的,是任意指定的向量,那么从出发,逐次沿方向搜索求的极小值,所得序列,满足: . [证明]由下山算法可知,从出发,沿方向搜索,获得 从而

性质4设是两两A共轭的,则从任意指定的出发,依次沿搜索,所得序列满足: (1) (2),其中是方程组(5.1.1)的解. [证明](1)是性质3的直接推论,显然成立. (2)由于是两两A共轭的,故是线性无关的.所以对于向量可用线性表出,即存在一组数使 由于及,得出 , 于是,再由得出 于是,与得出一样地,我们可以陆续得出:

对比和的表达式可知, 证明完毕 性质4是性质3的直接推论.但它给出了一种求(5.1.1)的算法,这种算法称之为共轭方向法.结合性质2,我们可以得到如下的性质5. 性质5设是上的一组线性无关的向量,则从任意指定的出发,按以下迭代产生的序列: S1:取,,; S2:计算,取; 计算,得出; 如此进行下去,直到第n步: Sn:计算取 计算,得出. 显然: 根据性质4可知,不论采用什么方法,只要能够构造个两两A共轭的向量作为搜索方向,从任一初始向量出发,依次沿两两A共轭的方向进行搜索,经 步迭代后,便可得到正定方程组的解.

共轭梯度法c++程序

最优化课程设计 题目:共轭梯度法 姓名:田鑫 指导老师:智红英 学号: 201118030216 班级:信息与计算科学111802班

共轭梯度法(Conjugate Gradient) 是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点,共轭梯度法不仅是解决大型线性方程组最有用的方法之一,也是解大型非线性最优化最有效的算法之一。在各种优化算法中,共轭梯度法是非常重要的一种。其优点是所需存储量小,具有步收敛性,稳定性高,而且不需要任何外来参数。 设我们要求解下列线性系统 其中n-×-n矩阵A是对称的(也即,A T = A),正定的(也即,x T Ax > 0对于所有非0向量x属于R n),并且是实系数的。 将系统的唯一解记作x*。 最后算法 经过一些简化,可以得到下列求解Ax = b的算法,其中A是实对称正定矩阵。x := 0 k := 0 r := b repeat until r k is "sufficiently small": k := k + 1 if k = 1 p := r0 1 else

end if x := x k-1 + αk p k k r := r k-1 - αk A p k k end repeat 结果为x k 共轭梯度法程序源代码 #include #include #define N 10 #define eps pow(10,-6) double f(double x[],double p[],double t) { double s; s=pow(x[0]+t*p[0],2)+25*pow(x[1]+t*p[1],2); return s; } /*以下是进退法搜索区间源程序*/ void sb(double *a,double *b,double x[],double p[]) { double t0,t1,t,h,alpha,f0,f1; int k=0; t0=2.5; /*初始值*/ h=1; /*初始步长*/ alpha=2; /*加步系数*/ f0=f(x,p,t0); t1=t0+h; f1=f(x,p,t1); while(1) {

共轭梯度法程序源代码

共轭梯度法程序源代码 #include #include #define N 10 #define eps pow(10,-6) double f(double x[],double p[],double t) { double s; s=pow(x[0]+t*p[0],2)+25*pow(x[1]+t*p[1],2); return s; } /*以下是进退法搜索区间源程序*/ void sb(double *a,double *b,double x[],double p[]) { double t0,t1,t,h,alpha,f0,f1; int k=0; t0=2.5; /*初始值*/ h=1; /*初始步长*/ alpha=2; /*加步系数*/ f0=f(x,p,t0); t1=t0+h; f1=f(x,p,t1); while(1) { if(f1t1?t:t1; break; } } t1=t0+h; f1=f(x,p,t1); }

} /*以下是黄金分割法程序源代码*/ double hjfg(double x[],double p[]) { double beta,t1,t2,t; double f1,f2; double a=0,b=0; double *c,*d; c=&a,d=&b; sb(c,d,x,p);/*调用进退法搜索区间*/ printf("\nx1=%lf,x2=%lf,p1=%lf,p2=%lf",x[0],x[1],p[0],p[1]); printf("\n[a,b]=[%lf,%lf]",a,b); beta=(sqrt(5)-1.0)/2; t2=a+beta*(b-a); f2=f(x,p,t2); t1=a+b-t2; f1=f(x,p,t1); while(1) { if(fabs(t1-t2)

共轭梯度法程序及调试结果分析

1、设计题目 用共轭梯度法求二次函数的极小点及极小值。 2、运行与程序 (1)运行:打开matlab,确定conjugate_grad_2d.m文件夹为当前目录。 在命令窗中输入:f=conjugate_grad_2d([1,1],0.001) 选择不同的初始点坐标[0,0],[0,1],[1,0],和迭代精度0.01,0.0001, 进行运行时,需要多次调用conjugate_grad_2d函数。 (2)程序及说明: function f=conjugate_grad_2d(x0,t) %用共轭梯度法求已知函数f(x1,x2)=x1^2+2*x2^2-4*x1-2*x1*x2的极值点 %已知初始点坐标:x0 %已知收敛精度:t %求得已知函数的极值:f x=x0; syms xi yi a; %定义自变量,步长为符号变量 f=xi^2+2*yi^2-4*xi-2*xi*yi; %创建符号表达式f fx=diff(f,xi); %求表达式f对xi的一阶求导 fy=diff(f,yi); %求表达式f对yi的一阶求导 fx=subs(fx,{xi,yi},x0); %代入初始点坐标计算对xi的一阶求导实值 fy=subs(fy,{xi,yi},x0); %代入初始点坐标计算对yi的一阶求导实值 fi=[fx,fy]; %初始点梯度向量 count=0; %搜索次数初始为0 while double(sqrt(fx^2+fy^2))>t %搜索精度不满足已知条件 s=-fi; %第一次搜索的方向为负梯度方向 if count<=0 s=-fi; else s=s1; end x=x+a*s; %进行一次搜索后的点坐标 f=subs(f,{xi,yi},x); %构造一元搜索的一元函数φ(a) f1=diff(f); %对函数φ(a)进行求导 f1=solve(f1); %得到最佳步长a if f1~=0 ai=double(f1); %强制转换数据类型为双精度数值 else break %若a=0,则直接跳出循环,此点即为极值点 end x=subs(x,a,ai); %得到一次搜索后的点坐标值 f=xi^2+2*yi^2-4*xi-2*xi*yi; fxi=diff(f,xi);

非线性共轭梯度法的文献综述

非线性共轭梯度法的文献综述研究 摘要:共轭梯度法最早是由Hestenes 和Stiefel 于1952年提出来的,用于解正定系数矩阵的线性方程组,在这个基础上,Fletcher 和Reeves 于1964年首先提出了解非线性最优化问题的共轭梯度法。由于共轭梯度法不需要矩阵存储,且有较快的收敛速度和二次终止性等优点,于是,共轭梯度法的理论研究受到了人们的关注,现在共轭梯度法已经广泛地应用与实际问题中。 关键词:共轭梯度法,非线性最优化,线性搜索,收敛性 1.共轭梯度法 共轭梯度法最早是由计算数学家Hestenes 和几何学家Stiefel 在20世纪50年代初为求解线性方程组 ,n Ax b x R =∈ 而独立提出的。他们奠定了共轭梯度法的基础,他们的文章详细讨论了求解线性方程组的共轭梯度法的性质以及它和其他方法的关系。当A 对称正定时,上述线性方程组等价于最优化问题 1min 2n T T x R x Ax b x ∈- 基于此,Hestenes 和Stiefel 的方法可视为求解二次函数极小值的共轭梯度法。 1964年,Fletcher 和Reevse 将此方法推广到非线性优化,得到了求一般函数极小值的共轭梯度法。 而本书中,戴彧虹和袁亚湘介绍了多种类型的共轭梯度法,各方法的区分主要在于每次迭代的方向上,并且他们检验了每种方法在不同搜索下的全局收敛性。在他们的研究中,目标函数连续可微有下界,导数满足Lipschitz 条件,他们通过对Zoutendijk 条件的判断,通常用反证的方法来考察全局各共轭梯度法的全局收敛性问题。 对于无约束优化问题 min ()n x R f x ∈ 一般给出一初值1x ,经由算法迭代产生23,,x x 。在第k 次迭代,当前迭代点 为k x ,用一种方法产生一搜索方向n k d R ∈。然后下一迭代点为: 1k k k k x x d α+=+ 其中,迭代方向k d 的不同选取产生了不同的共轭梯度法,k α为步长因子,步长的不同选取产生了不同的搜索准则。而本书着重研究各方法在精确线搜索,Curry 原则,强Wolfe 线搜索和推广的Wolfe 线搜索下的收敛性。其中:

相关文档
相关文档 最新文档