最优化DFP算法报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最优化DFP算法姓名:施政学号:1010010125 班级:1 班专业:通信与信息系统
目录
1 算法流程图 (1)
1.1DFP算法的流程图 (1)
1.2 黄金分割法流程图 (1)
1.3 回退法计算初始区间的算法 (2)
2 测试函数 (3)
2.1 二维、二次函数 (3)
2.2 二维、高次函数 (3)
2.3 高维、二次函数 (4)
2.4 高维、高次函数 (4)
3 运行结果及分析 (5)
4 Matlab源程序 (6)
4.1 主函数 (6)
4.2 DFP算法函数 (8)
4.3 黄金分割法函数 (9)
4.4 回退法求解初始区间 (10)
4.5 计算测试函数的值 (11)
4.6 计算测试函数的梯度 (12)
5 参考文献 (12)
1 算法流程图
对于DFP算法主要涉及到3个主要的算法,分别是:利用回退法计算初始区间、利用黄金分割法进行一维搜索、然后利用DFP算法计算最小点对应的自变量的值。
下面分别画出了这三个算法流程图。
1.1DFP算法的流程图
设定控制误差为ε;输入的初始点坐标是0x;0E是与0x同维的单位阵。
图 1
1.2 黄金分割法流程图
给定精确度ε>0;当区间长度小于等于ε时,即停止运行,同时取x=(a+b)/2作为最小点坐标。
在给定初始区间[a,b]内,求最小点时对应的α值,要保证α是大于等于零的,否则函数值就不是朝下降方向递降的了。在本算法中保证初始区间的端点是大于等于零的,就可以满足这一条件了。
算法如下图所示:
图 2
1.3 回退法计算初始区间的算法
针对这个算法,参考文献[1]上面利用的回退法不能保证a ,b 两个端点的值大于零,因为利用黄金分割法求α时,α肯定是大于等于零的,所以可以对书上的算法适当的改进。初始的点是0x ;步长是x Δ;算法如下:
图 3
注意:上面的算法是针对一维的情况,所以在计算0x ;1x ;2x 时,应该注意使
用0000*x a t p =+;0a 代表的是对应DFP 算法上次迭代的自变量的坐标值,0p 代表的是0a 点的梯度,0t 开始的值是0;同样有1010*x a t p =+;2020*x a t p =+;10t t t =+Δ;
21t t t =+Δ。注意t Δ的变化,算法中已显示其变化规律。
2 测试函数
2.1 二维、二次函数
对于二维、二次的测试函数,算法中应用的是First De Jong function(sphere) [3]。
221212(,)f x x x x =+…………………………………………..(式2.1)
下面就是函数对应的3维图形,从图4可以看出其最小点,在(x 1,x 2)=(0,0),该点对应的函数值是0。也是该函数全局极小点。
图 4
2.2 二维、高次函数
对于二维、高次的测试函数,算法中应用的是Goldstein-Price's function [3]。
2222121211212(,)(1(1))(191431463))Gold f x x x x x x x x x x =+++•−+−++•
2
2
12112122(30(23)2)(1832483627))x x x x x x x x +−•−++−+………..(式2.2)
其中,22,1,2i x i −≤≤=
下面就是该函数对应的三维图形,该函数的全局极小点是(x1,x2)=(0,-1),f(x 1,x 2)=3。
图 5
2.3 高维、二次函数
对于高维、二次的测试函数,算法中应用的是Axis parallel hyper-ellipsoid function [3]。
2121
(,,,)n
n i i f x x x i x ==∗∑"…………………………………………....(式2.3)
其中, 5.12 5.12,1,2,,i x i n −≤≤="
显然,可以看出,其极小点对应的i x =0,且12(,,,)n f x x x "极小点的值是0。
2.4 高维、高次函数
在这里,算法中利用到了两个测试函数,分别是Rosenbrock's valley (De Jong's function
2)[2]和Sum of different power function [3]。 1.Rosenbrock's valley (De Jong's function 2)
1
2221211
(,,,)100()(1)n n i i i i f x x x x x x −+==−+−∑"……………………….………....(式2.4)
2.048 2.048,1,2,,i x i n −≤≤="
对应的极小点坐标是12(,,,)(1,1,,1)n x x x ="",且此时对应的极小点的函数值是0。 2. Sum of different power function
1121
(,,,)||n
i n i i f x x x x +==∑"…..............................................…………….………....(式2.5)
11,1,2,,i x i n −≤≤="
对应的极小点坐标是12(,,,)(0,0,,0)n x x x ="",且此时对应的极小点的函数值是0。