最优化方法-课程设计报告-运用DFP算法解决无约束最优化问题

合集下载

最优化方法大作业答案

最优化方法大作业答案

1.用薄钢板制造一体积5m 3,长度不小于4m ,无上盖的货箱,要求钢板耗量最小。

确定货箱的长x 1、宽x 2和高x 3。

试列出问题的数学模型。

解:min 32312122x x x x x x z ++= s.t 5321=x x x 41≥x 0,,321≥x x x2.将下面的线性规划问题表示为标准型并用单纯形法求解max f=x 1+2x 2+x 3s .t .2x 1+x 2-x 3≤2 -2x 1+x 2-5x 3≥-6 4x 1+x 2+x 3≤6 x i ≥0 i=1,2,3 解:先化标准形:Min 321x x x z -+=224321=+-+x x x x 6525321=++-x x x x646321=+++x x x x列成表格:121610011460105122001112-----可见此表已具备1°,2°,3°三个特点,可采用单纯形法。

首先从底行中选元素-1,由2/2,6/2,6/4最小者决定选第一行第一列的元素2,标以记号,迭代一次得121210231040116201002121211--------再从底行中选元素-2/3,和第二列正元素1/2,迭代一次得12123230210231040116201002121211-------再从底行中选元素-3,和第二列正元素2,迭代一次得4233410120280114042001112---再迭代一次得1023021062210231010213000421021013--选取最优解:01=x 42=x 23=x3. 试用DFP 变尺度法求解下列无约束优化问题。

min f (X )=4(x 1-5)2+(x 2-6)2取初始点X=(8,9)T ,梯度精度ε=0.01。

解:取IH=0,初始点()TX 9,8=2221)6()5(4)(-+-=x x x f⎥⎦⎤⎢⎣⎡--=∇122408)(21x x x f⎪⎪⎭⎫⎝⎛=∇624)()0(xfTx f d )6,24()()0()0(--=-∇=)0(0)0()1(dxxα+=T)69,248(00αα--=])669()5248(4min[)(min 2020)0(0)0(--+--⨯=+αααdxf 0)6()63(2)24()2458(8)(00)0(0)0(=-⨯-+-⨯--=+ααααd d xdf13077.0130170≈=α⎪⎪⎭⎫⎝⎛=⎪⎪⎭⎫ ⎝⎛--⨯+⎪⎪⎭⎫ ⎝⎛=21538.886153.462413077.098)1(x⎪⎪⎭⎫⎝⎛-=∇43077.410784.1)()1(xf进行第二次迭代:⎥⎦⎤⎢⎣⎡--=-=78463.013848.31)0()1(xxδ⎥⎦⎤⎢⎣⎡--=∇-∇=56924.110783.25)()(1)0()1(xf xf γ101011011101γγγγγδδδH HH H H TTTT-+=03172.8011=γδT86614.6321101==γγγγH T⎥⎦⎤⎢⎣⎡=61561.046249.246249.285005.911Tδδ⎥⎦⎤⎢⎣⎡==46249.240022.3940022.3940363.630110110TTHH γγγγ所以:⎪⎪⎭⎫⎝⎛--=0038.103149.003149.012695.01H⎪⎪⎭⎫⎝⎛-⨯⎪⎪⎭⎫⎝⎛---=∇-=43076.410784.10038.103149.003149.012695.0)()1(1)1(xf H d⎪⎪⎭⎫⎝⎛-=48248.428018.0令 )1(1)1()2(dx x α+=利用)()1()1(=+ααd dxdf ,求得49423.01=α,所以⎪⎪⎭⎫⎝⎛-+⎪⎪⎭⎫⎝⎛=+=21538.213848.021538.886152.449423.0)1()1()2(dxx⎪⎪⎭⎫ ⎝⎛=65因)()2(=∇xf ,于是停,)2(x 即为最优解。

最优化方法

最优化方法

最优化方法1. 简介最优化方法是一种通过调整变量值以最小化或最大化某个目标函数来优化系统性能的数学方法。

最优化方法广泛应用于各个领域,包括经济学、工程学、计算机科学等。

本文将介绍最优化方法的基本概念、常用算法以及其在实际问题中的应用。

2. 最优化问题最优化问题可以分为无约束最优化和约束最优化问题。

无约束最优化问题是在没有任何限制条件的情况下,寻找使目标函数值最小或最大的变量值。

约束最优化问题则在一定的约束条件下寻找最优解。

在最优化问题中,目标函数通常是一个多元函数,而变量则是目标函数的输入参数。

最优化的目标可以是最小化或最大化目标函数的值。

常见的优化问题包括线性规划、非线性规划、整数规划等。

3. 常用最优化算法3.1 梯度下降法梯度下降法是最常用的最优化算法之一。

它通过计算目标函数相对于变量的梯度(即偏导数),以负梯度方向更新变量值,逐步接近最优解。

梯度下降法的优点是简单易实现,但可能收敛速度较慢,且容易陷入局部最优解。

3.2 牛顿法牛顿法是一种基于目标函数的二阶导数(即海森矩阵)信息进行更新的最优化算法。

相较于梯度下降法,牛顿法的收敛速度更快,并且对于某些非凸优化问题更具优势。

然而,牛顿法的计算复杂度较高,且可能遇到数值不稳定的问题。

3.3 共轭梯度法共轭梯度法是一种用于解决线性方程组的最优化算法。

它利用共轭方向上的信息以减少最优化问题的迭代次数。

共轭梯度法适用于大规模线性方程组的求解,并且在非线性优化问题中也得到了广泛应用。

3.4 遗传算法遗传算法是一种通过模拟生物进化过程寻找最优解的优化算法。

它通过交叉、变异等操作生成新的解,并通过适应度评估筛选出优秀的解。

遗传算法适用于搜索空间较大、复杂度较高的优化问题。

4. 最优化方法的应用最优化方法在各个领域都有广泛的应用。

在经济学领域,最优化方法可以用于优化生产资源的配置、最小化成本或最大化利润等问题。

它可以帮助决策者制定最优的决策方案,提高效益。

无约束优化DEP方法的使用

无约束优化DEP方法的使用
机械优化设计课程论文
无约束优化DFP方法的使用
专业班级:
学生姓名:
学号:
指导教师:
学院:
2012年11月
无约束优化
摘要:变量的尺度变换是放大或缩小各个坐标。通过尺度变换可以把函数的偏心程度降低到最低限度。尺寸变换的技巧能显著改进几乎所有极小化法的收敛性质,减少迭代次数。在变尺度法中,校正矩阵EK取不同的形式,就形成了不同的变尺度法。DFP算法的校正公式为 ,其计算步骤和变尺度法的一般步骤相同,只是具体计算校对矩阵时应按上式进行。
7)置 。转步骤(3)。
变尺度法的程序框图如下图所示。
4.8变尺度法的程序框图
4DFP算法
设校正矩阵的形式为
,(1)
其中 、 为待定参数, , 为待定向量。这种形式显然是对称的,于是再利用拟牛顿方程来确定 , , , 。把(1)代入拟牛顿方程有
。(2)
简单的做法是取

,(3)
就能使(2)式成立。注意到 和 为数,因此为使(3)成立的简单做法是取
xk1=xk+a0*dk;
ifnorm(xk1-xk)<j
break;
end
while(norm(xk1-xk)>=j)&&(k<2)
gk1=subs(g,[x1,x2],xk1);
yk=gk1-gk;
sk=xk1-xk;
hk1=h0+sk*sk'/(sk'*yk)-h0*yk*yk'*h0/(yk'*h0*yk);
, ,
, ,
因此DFP算法中的 公式为
。(4)
5DFP算法举例
本文采用哈尔滨工业大学孙靖民所主编的《机械优化设计》一书上所编的例题为例子进行MATLAB编程计算,得到了和书本上一致的结果。其题如下:

最优化方法:第三章无约束问题的最优化方法

最优化方法:第三章无约束问题的最优化方法

f1 f 2 ,则新区间= [a, 2 ]
f1 f 2
[a1 , b]
a 1 , 1 2 , f1 f 2
,记N0=1;
4)检查区间是否缩短到足够小和函数值收敛到足够精度,
如果收敛条件满足,则取最后两试验点的平均值作为极小 点的数值近似解。如果条件不满足则转向步骤5)。
(3)产生新的探测点a3=a1+h,y3=f(a3); (4) 比较函数值 y2与y3: (a) 如y2>y3, 加大步长 h=2 h ,a1=a2, a2=a3,转(3) 继续探测。 (b)如y2<y3, 则初始区间得到: a=min[a1,a3], b=max[a3,a1],函数最小值所在的区间 为 [a , b] 。
解得: b
c
p 3 a b 3 c 3 f 3
2 2 2 2
2 3 f1 3 1 f 2 1 2 f 3 1 2 2 3 3 1
3 f1 3 1 f 2 1 2 f 3 1 2 2 3 3 1
确定的搜索区间必定
f (x) f (x)
α
是一个含有最优点α*的 单峰区间。
0Leabharlann α1α3α
0
α1
α3
α
2、确定初始单谷区间的进退法 基本思想: 对f(x)任选一个初始点a1及初始步长h, 通过比较这两点函数 值的大小,确定第三点位置,比较这三点的函数值大小,确定是 否为 “高—低—高” 形态。 步骤: (1)选定初始点a, 初始步长h=h0,计算 y1=f(a1),y2=f(a1+h)。 (2)比较y1和y2。 (a)如y1>y2, 向右前进;加大步长 h=2 h ,转(3)向前; (b)如y1<y2, 向左后退;h=- h0, 将a1与a2,y1与y2的 值互换。转(3)向后探测; (c)如y1=y2,极小点在a1和a1+h之间。

最优化计算方法(工程优化)第4章

最优化计算方法(工程优化)第4章
f (x*) 0, 2 f x 正定,则 x 为 f (x) 的严格局部极小
点。
如果 2 f x 负定,则 x 为 f (x) 的严格局部极大点。
无约束优化的最优性条件----凸优化的一阶条件
定理(一阶充要条件)
设 f : Rn R 是凸函数且在 x 处连续可微,则 x 为 f (x)的全局极小点的充要条件是 f (x*) 0.
f (x p) f (x)+f (x)T p o( )
P是什么方向时,函数值 f (x p) 下降最快?也就是
p是什么方向时,f (x)T p 取得最小值?
f (x)T p f (x) p cos(f (x), p)
当 cos(f (x), p) 1 时,f (x)T p 最小,最小值为
令 f x 0, 即:
利用一阶条件 求驻点
利用二阶条件 判断驻点是否 是极小点
x12 1 0
x22
2x2
0
得到驻点: 1 1 1 1
x1
0 ,
x2
2 ,
x3
0
,
x4
2
.
无约束优化的最优性条件
函数 f x 的Hesse阵:
2
f
x
2x1
0
0
2
x2
2
利用二阶条件 判断驻点是否 是极小点
2 0
0 2
的行列式小于0;
x1, x4是鞍点;
2
f
x2
2 0
0
2
是正定矩阵;
x2 是极小点;
2
f
x3
2 0
0 2
是负定矩阵;
x3 是极大点。
• 对某些较简单的函数,这样做有时是可行的;

最优化方法第六讲 无约束(多维)最优化

最优化方法第六讲 无约束(多维)最优化

step4. 若 || f ( xk1) || ,停止,x* xk1 ;
否则,令 k : k 1, 转step 2 。
14
➢算法框图
给定初始点x0和精度 || f ( x0 ) ||
停止,输出x1


| x1 x0 |
是 停止,输出x0
否 否
2 f (x0) 0
计算x1
x0
f ( x0 ) 2 f (x0)
1
13 62
x2
x1
1d 1
(
36 , 31
8 31
)T
7
三、最速下降法的特点
1.性质. 设 f ( x) 有一阶连续偏导数,若 步长 满足 k
f ( xk d k ) min f ( xk d k )
k
则有 f ( xk d k )T d k 0。 k
证明:令 ( ) f ( xk d k ),所以
5
一、梯度法(最速下降法):
1. 搜索方向:d k f ( xk ) ,也称为最速下降方向;
2. 搜 索 步 长: k 取 最 优 步 长, 即 满 足
f (xk
kd k )
min
f
(xk
d k ) 。
二、梯度法算法步骤:
1. 给定初始点 x1 Rn ,允许误差 0, 令k 1。
2. 计算搜索方向 d k f ( xk ) ;
Step3. 令 xk 1 xk kd k , 其中tk : f ( xk kd k ) min f ( xk d k )。
24
Step 4. 判断 xk 1 是否满足终止准则: yes: 计算 stop, 则x* : xk1
No : 转 step 5 。

无约束最优化问题的求解算法和应用

无约束最优化问题的求解算法和应用

无约束最优化问题的求解算法和应用随着科技的发展和应用领域的扩大,无约束最优化问题已经越来越成为一种关注的研究领域。

在现实生活中,无约束最优化问题的求解可以应用在多个方面,比如金融、医学、机械工程等等。

然而,在实际应用中,我们往往需要利用已经发展的优秀算法进行求解。

本文将会介绍无约束最优化问题的求解算法及其应用。

一、无约束最优化问题的概念无约束最优化问题指的是在一定的条件下,通过调整某些变量来最大或最小化指定的目标函数。

这些变量的调整需遵守一定的限制条件,并且通过各种数值分析方法,比如数值解析和计算机数值算法等技术来求解这样的问题。

无约束最优化问题的数学形式一般为:$$ \min_{x \in \mathbb{R}^n} f(x) $$其中,$x \in \mathbb{R}^n$ 是 $n$ 维空间中的一个向量,$f(x)$ 则是目标函数,该函数需要满足一定的条件,比如连续、可微、凸等等。

当函数连续、可微的情况下,就能有效地应用求导法来求解这个问题。

二、基于梯度下降的算法在求解无约束最优化问题时,最常用的算法就是基于梯度下降的算法。

该算法通过沿着负梯度的方向一步步得逼近全局极小值。

算法的主要流程如下:1、初始化变量$x$,比如$x=0$;2、计算目标函数$ f(x)$ 的梯度 $\nabla f(x)$;3、计算下降方向 $p$,$p=-\nabla f(x)$;4、选择步长 $\alpha$,更新$x$ $x_{k+1} = x_{k} + \alpha p$;5、重复执行步骤2-4 进行更新,直到满足一定的终止条件为止。

这种方法的收敛性非常好,同时也比较容易实现。

在实际应用中,通常会将其与其他迭代方法组合使用,比如牛顿、拟牛顿等方法来提升其求解精度。

三、基于共轭梯度的算法基于梯度下降的算法虽然求解精度较好,但是当求解目标函数具有高度弱凸性质时,算法的收敛速度会相对较慢。

为了克服这类问题,研究人员往往会采用共轭梯度法。

最优化方法-课程设计报告-运用DFP算法解决无约束最优化问题

最优化方法-课程设计报告-运用DFP算法解决无约束最优化问题

北方民族大学课程设计报告系(部、中心)信息与计算科学学院专业信息与计算科学班级 09信计(3)班小组成员课程名称最优化方法设计题目名称运用DFP算法解决无约束最优化问题提交时间2012年6月26日成绩指导教师变尺度法是在牛顿法的基础上发展起来的,它和梯度法亦有密切关系.变尺度法避免了Newton法在每次迭代都要计算目标函数的Hesse矩阵和它的逆矩阵而导致随问题的维数增加计算量迅速增加.DFP算法是变尺度法中一个非常好的算法.DFP算法首先是1959年由Davidon提出的后经Fletcher和Powell改进,故名之为DFP算法,它也是求解无约束优化问题最有效的算法之一.DFP变尺度法综合了梯度法、牛顿法的优点而又避弃它们各自的缺点,只需计算一阶偏导数,无需计算二阶偏导数及其逆矩阵,对目标函数的初始点选择均无严格要求,收敛速度快.本文主要分析DFP算法原理及运用Matalb软件编程解决实际数学问题.最后运算结果符合计算精度且只用了一次迭代,由此可见收敛速度快.关键词:Newton法变尺度法Hesse矩阵Matlab软件一、课程设计目的 (4)二、课程设计要求 (4)三、课程设计原理 (4)(1)变尺度法基本原理 (4)(2)DFP算法 (5)四、实验内容 (6)五、数学建模及求解 (7)1.DFP算法迭代步骤 (7)2.DFP算法的流程图 (7)六、程序实现 (8)七、数值实验的结果与分析 (11)八、实验总结与体会 (12)1.DFP公式恒有确切解 (12)2.DFP算法的稳定性 (12)参考文献 (13)一、 课程设计目的:1、掌握无约束优化问题DFP 算法的数值求解思路;2、训练分析DFP 算法的运算存储量及收敛速度的能力,了解算法的优缺点;3、通过运用DFP 算法求解实际无约束优化问题的意义;4、熟悉应用Matlab 求解无约束最优化问题的编程方法.二、 课程设计要求熟悉了解DFP 算法原理及求解无约束优化问题的步骤,并运用Matlab 件编程实现求解问题.三、 课程设计原理(1)变尺度法基本原理在Newton 法中,基本迭代公式k k k k P t X X +=+1,其中,1=k t ,)()]([12k k k X f X f P ∇∇-=-,于是有2,1,0,11=-=-+k g G X X k k k k (1)其中0X 是初始点,k g 和k G 分别是目标函数)(X f 在点k X 的梯度和Hesse 矩阵.为了消除这个迭代公式中的Hesse 逆矩阵1-k G ,可用某种近似矩阵)(k k X H H =来替换它,即构造一个矩阵序列}{k H 去逼近Hesse 逆矩阵序列}{1-k G此时式(1)变为k k k k g H X X -=+1事实上,式中k k k g H P -=无非是确定了第k 次迭代的搜索方向,为了取得更大的灵活性,我们考虑更一般的的迭代公式k k k k k g H t X X -=+1 (2)其中步长因子k t 通过从k X 出发沿k k k g H P -=作直线搜索来确定.式(2)是代表很长的一类迭代公式.例如,当I H k ≡(单位矩阵)时,它变为最速下降法的迭代公式.为使kH确实与1-k G 近似并且有容易计算的特点,必须对k H 附加某些条件:第一,为保证迭代公式具有下降性质,要求}{k H 中的每一个矩阵都是对称正定的.理由是,为使搜索方向k k k g H P -=是下降方向,只要0<-=-k k T k k T k g H g P g成立即可,即0>k k T k g H g成立.当k H 对称正定时,此公式必然成立,从而保证式(2)具有下降性质.第二,要求k H 之间的迭代具有简单形式.显然,k k k E H H +=+1 (3)是最简单的形式了.其中k E 称为校正矩阵,式(3)称为校正公式.第三,必须满足拟Newton 条件.即:)()(111k k k k k X X g g H -=-+++ (4)为了书写方便也记k k k g g y -=+1k k k X X S -=+1于是拟Newton 条件可写为k k k S y H =+1 (5)有式(3)和(5)知,k E 必须满足k k k k S y E H =+)(或k k k k k y H S y E == (6)(2)DFP 算法DFP 校正是第一个拟牛顿校正是1959年由Davidon 提出的后经Fletcher 和Powell 改进故名之为DFP 算法它也是求解无约束优化问题最有效的算法之一.DFP 算法基本原理考虑如下形式的校正公式T k k k T k k k k k V V U U H H βα++=+1 (7)其中k k V U ,是特定n 维向量,k k βα,是待定常数.这时,校正矩阵是T k k k T k k k k V V U U E βα+=.现在来确定k E .根据拟Newton 条件,k E 必须满足(6),于是有k k k k T k k k T k k k y H S y V V U U -=+)(βα或k k k k T k k k k T k k k y H S y V V y U U -=+βα.满足这个方程的待定向量k U 和k V 有无穷多种取法,下面是其中的一种:k k T k k k S y U U =α,k k k T k k k y H y V V -=β注意到k T ky U 和k T k y V 都是数量,不妨取 k k S U =,k k k y H V =,同时定出k T k k y S 1=α,kk T k k y H y 1-=β. 将这两式代回(5.32)得 kk T k k T k k k k T k T k k k k y H y H y y H y S S S H H -+=+1. (8) 这就是DFP 校正公式.四、 实验内容采用课本P102页例5.3和P107页例5.4进行数值计算;1,求22212125),(m in x x x x f +=,取初始点T X ]2,2[0=.2,求2221214),(m in x x x x f +=,取初始点T X ]1,1[0=.五、 数学建模及求解1.DFP 算法迭代步骤在拟Newton 算法中,只要把第五步改为计算式(8)而其他不变,该算法就是DFP 算法了.但是由于计算中舍去误差的影响,特别是直线搜索不精确的影响,可能要破坏迭代矩阵k H 的正定性,从而导致算法失效.为保证k H 的正定性,采取以下重置措施:迭代1+n 次后,重置初始点和迭代矩阵,即I H X X n ==+010,以后重新迭代.已知目标函数)(X f 及其梯度)(X g ,问题的维数n ,终止限ε.(1) 选定初始点.计算)(00X f f =,)(00X g g =.(2) 置I H =0,00g P -=,0=k .(3) 作直线搜索),(1k k k P X ls X =+;计算)(11++=k k X f f ,)(11++=k k X g g .(4) 判别终止准则是否满足:若满足,则打印),(11++k k f X ,结束;否转(5).(5) 若n k =,则置10+=k X X ,10+=k f f ,10+=k g g ,转(2);否则转(6).(6) 计算k k k X X S -=+1,k k k g g y -=+1,kk T k k T k k k k T k T k k k k y H y H y y H y S S S H H -+=+1, 111+++-=k k k g H P ,置1+=k k ,转(3).2.DFP 算法的流程图六、程序实现七、 数值实验的结果与分析由上述运行结果可得出:第一题迭代一次就解得:]0664.0,2220.0[*0150.1---=e X 与精确解]0,0[=X 误差远小于610-=ε,符合要求.第二题同样迭代一次就解得:]0555.0,1110.0[*0150.1--=e X 与精确解]0,0[=X误差远小于610-=ε,符合要求.且所计算的k H 矩阵和梯度与精确计算所得一样,这也表明DFP 算法的matalb 程序完全符合要求.八、 实验总结与体会DFP 变尺度法综合了梯度法、牛顿法的优点而又避弃它们各自的缺点,只需计算一阶偏导数,无需计算二阶偏导数及其逆矩阵,对目标函数的初始点选择均无严格要求,收敛速度快,这些良好的性能已作阐述。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北方民族大学课程设计报告系(部、中心)信息与计算科学学院专业信息与计算科学班级09信计(3)班小组成员课程名称最优化方法设计题目名称运用DFP算法解决无约束最优化问题提交时间2012年6月26日成绩指导教师变尺度法是在牛顿法的基础上发展起来的,它和梯度法亦有密切关系.变尺度法避免了Newton法在每次迭代都要计算目标函数的Hesse矩阵和它的逆矩阵而导致随问题的维数增加计算量迅速增加.DFP算法是变尺度法中一个非常好的算法.DFP算法首先是1959年由Davidon提出的后经Fletcher和Powell改进,故名之为DFP算法,它也是求解无约束优化问题最有效的算法之一.DFP变尺度法综合了梯度法、牛顿法的优点而又避弃它们各自的缺点,只需计算一阶偏导数,无需计算二阶偏导数及其逆矩阵,对目标函数的初始点选择均无严格要求,收敛速度快.本文主要分析DFP算法原理及运用Matalb软件编程解决实际数学问题.最后运算结果符合计算精度且只用了一次迭代,由此可见收敛速度快.关键词:Newton法变尺度法Hesse矩阵Matlab软件一、课程设计目的 ....................................................................... 错误!未定义书签。

二、课程设计要求........................................................................ 错误!未定义书签。

三、课程设计原理........................................................................ 错误!未定义书签。

(1)变尺度法基本原理 ...................................................... 错误!未定义书签。

(2)DFP算法 ....................................................................... 错误!未定义书签。

四、实验内容................................................................................ 错误!未定义书签。

五、数学建模及求解.................................................................... 错误!未定义书签。

算法迭代步骤......................................................................... 错误!未定义书签。

算法的流程图......................................................................... 错误!未定义书签。

六、程序实现................................................................................ 错误!未定义书签。

七、数值实验的结果与分析........................................................ 错误!未定义书签。

八、实验总结与体会.................................................................... 错误!未定义书签。

公式恒有确切解..................................................................... 错误!未定义书签。

算法的稳定性......................................................................... 错误!未定义书签。

参考文献........................................................................................ 错误!未定义书签。

一、 课程设计目的:1、掌握无约束优化问题DFP 算法的数值求解思路;2、训练分析DFP 算法的运算存储量及收敛速度的能力,了解算法的优缺点;3、通过运用DFP 算法求解实际无约束优化问题的意义;4、熟悉应用Matlab 求解无约束最优化问题的编程方法.二、 课程设计要求熟悉了解DFP 算法原理及求解无约束优化问题的步骤,并运用Matlab 件 编程实现求解问题.三、 课程设计原理(1)变尺度法基本原理在Newton 法中,基本迭代公式k k k k P t X X +=+1,其中,1=k t ,)()]([12k k k X f X f P ∇∇-=-,于是有2,1,0,11=-=-+k g G X X k k k k (1)其中0X 是初始点,k g 和k G 分别是目标函数)(X f 在点k X 的梯度和Hesse 矩阵.为了消除这个迭代公式中的Hesse 逆矩阵1-k G ,可用某种近似矩阵)(k k X H H =来替换它,即构造一个矩阵序列}{k H 去逼近Hesse 逆矩阵序列}{1-k G此时式(1)变为k k k k g H X X -=+1事实上,式中k k k g H P -=无非是确定了第k 次迭代的搜索方向,为了取得更大的灵活性,我们考虑更一般的的迭代公式k k k k k g H t X X -=+1 (2)其中步长因子k t 通过从k X 出发沿k k k g H P -=作直线搜索来确定.式(2)是代表很长的一类迭代公式.例如,当I H k ≡(单位矩阵)时,它变为最速下降法的迭代公式.为使k H 确实与1-k G 近似并且有容易计算的特点,必须对k H 附加某些条件:第一,为保证迭代公式具有下降性质,要求}{k H 中的每一个矩阵都是对称 正定的.理由是,为使搜索方向k k k g H P -=是下降方向,只要0<-=-k k T k k T k g H g P g成立即可,即0>k k T k g H g成立.当k H 对称正定时,此公式必然成立,从而保证式(2)具有下降性质.第二,要求k H 之间的迭代具有简单形式.显然,k k k E H H +=+1 (3)是最简单的形式了.其中k E 称为校正矩阵,式(3)称为校正公式.第三,必须满足拟Newton 条件.即:)()(111k k k k k X X g g H -=-+++ (4)为了书写方便也记k k k g g y -=+1k k k X X S -=+1于是拟Newton 条件可写为k k k S y H =+1 (5)有式(3)和(5)知,k E 必须满足k k k k S y E H =+)(或k k k k k y H S y E == (6)(2)DFP 算法DFP 校正是第一个拟牛顿校正是1959年由Davidon 提出的后经Fletcher 和Powell 改进故名之为DFP 算法它也是求解无约束优化问题最有效的算法之一. DFP 算法基本原理考虑如下形式的校正公式T k k k T k k k k k V V U U H H βα++=+1 (7)其中k k V U ,是特定n 维向量,k k βα,是待定常数.这时,校正矩阵是T k k k T k k k k V V U U E βα+=.现在来确定k E .根据拟Newton 条件,k E 必须满足(6),于是有k k k k T k k k T k k k y H S y V V U U -=+)(βα或k k k k T k k k k T k k k y H S y V V y U U -=+βα.满足这个方程的待定向量k U 和k V 有无穷多种取法,下面是其中的一种:k k T k k k S y U U =α,k k k T k k k y H y V V -=β注意到k T ky U 和k T k y V 都是数量,不妨取 k k S U =,k k k y H V =,同时定出k T k k y S 1=α,kk T k k y H y 1-=β. 将这两式代回()得kk T k k T k k k k T k T k k k k y H y H y y H y S S S H H -+=+1. (8) 这就是DFP 校正公式.四、 实验内容采用课本P102页例和P107页例进行数值计算;1,求22212125),(m in x x x x f +=,取初始点T X ]2,2[0=.2,求2221214),(m in x x x x f +=,取初始点T X ]1,1[0=.五、 数学建模及求解算法迭代步骤在拟Newton 算法中,只要把第五步改为计算式(8)而其他不变,该算法就是DFP 算法了.但是由于计算中舍去误差的影响,特别是直线搜索不精确的影响,可能要破坏迭代矩阵k H 的正定性,从而导致算法失效.为保证k H 的正定性,采取以下重置措施:迭代1+n 次后,重置初始点和迭代矩阵,即I H X X n ==+010,以后重新迭代.已知目标函数)(X f 及其梯度)(X g ,问题的维数n ,终止限ε.(1) 选定初始点.计算)(00X f f =,)(00X g g =.(2) 置I H =0,00g P -=,0=k .(3) 作直线搜索),(1k k k P X ls X =+;计算)(11++=k k X f f ,)(11++=k k X g g .(4) 判别终止准则是否满足:若满足,则打印),(11++k k f X ,结束;否转(5).(5) 若n k =,则置10+=k X X ,10+=k f f ,10+=k g g ,转(2);否则转(6).(6) 计算k k k X X S -=+1,k k k g g y -=+1,kk T k k T k k k k T k T k k k k y H y H y y H y S S S H H -+=+1, 111+++-=k k k g H P ,置1+=k k ,转(3). 算法的流程图六、程序实现七、 数值实验的结果与分析由上述运行结果可得出:第一题迭代一次就解得:]0664.0,2220.0[*0150.1---=e X 与精确解]0,0[=X 误差远小于610-=ε,符合要求.第二题同样迭代一次就解得:]0555.0,1110.0[*0150.1--=e X 与精确解]0,0[=X 误差远小于610-=ε,符合要求.且所计算的k H 矩阵和梯度与精确计算所得一样,这也表明DFP 算法的matalb 程序完全符合要求.八、 实验总结与体会DFP 变尺度法综合了梯度法、牛顿法的优点而又避弃它们各自的缺点,只需计算一阶偏导数,无需计算二阶偏导数及其逆矩阵,对目标函数的初始点选择均无严格要求,收敛速度快,这些良好的性能已作阐述。

相关文档
最新文档