最优化马昌凤第五章作业

合集下载

求解无约束最优化问题的非单调MFR,MPRP方法

求解无约束最优化问题的非单调MFR,MPRP方法

求解无约束最优化问题的非单调MFR,MPRP方法
李湘;曾金平
【期刊名称】《应用数学》
【年(卷),期】2008(0)S1
【摘要】本文在求解无约束最优化问题的MFR共轭梯度法和MPRP共轭梯度法中引入两种非单调线性搜索技术.我们证明在适当条件下采用非单调线性搜索的MFR算法和MPRP算法具有全局收敛性.数值结果表明非单调线性搜索具有优越性.
【总页数】6页(P6-11)
【关键词】MFR方法;MPRP方法;非单调线性搜索;全局收敛性
【作者】李湘;曾金平
【作者单位】湖南大学数学与计量经济学院;东莞理工学院软件学院
【正文语种】中文
【中图分类】O224
【相关文献】
1.求解无约束最优化非单调自确定信赖域算法 [J], 刘宁;马昌凤
2.求解非线性无约束优化问题的一种非单调信赖域方法 [J], 孙刘平
3.非单调信赖域方法求解无约束非光滑优化问题 [J], 高雷阜;于冬梅
4.求解无约束优化问题的非单调自适应信赖域方法 [J], 徐明明
5.求解无约束优化问题的非单调自适应信赖域方法 [J], 徐明明
因版权原因,仅展示原文概要,查看原文内容请购买。

最优化 马昌凤 第三章作业

最优化 马昌凤 第三章作业

最优化方法及其Matlab程序设计习题作业暨实验报告学院:数学与信息科学学院班级:12级信计一班姓名:李明学号:1201214049第三章 最速下降法和牛顿法一、上机问题与求解过程1、用最速下降法求212221216423),(x x x x x x f --+=的极小值。

解:仿照书上编写最速下降法程序如下:function [x,val,k]=grad(fun,gfun,x0) %功能:用最速下降法求解无约束化问题:min f(x) %输入:x0是初始点,fun,gfun 分别是目标函数和梯度 %输出:x,val 分别是近似嘴有点和最优值,k 是迭代次数 maxk=5000;rho=0.5;sigma=0.4;%一开始选择时选择的rho 和sibma 选择的数据不够合理,此处我参照书上的数据编写数据 k=0;epsilon=1e-5; while (k<maxk)g=feval(gfun,x0); %计算梯度 d=-g;%计算搜索方向if (norm(d)<epsilon),break ;end m=0;mk=0; while (m<20)%Armijo 搜索if (feval(fun,x0+rho^m*d)<feval(fun,x0)+sigma*rho^m*g'*d) mk=m;break ;%直接利用Armijo 搜索公式,一开始的时候没有记住公式编写出现错误 end m=m+1; endx0=x0+rho^mk*d; k=k+1; end x=x0;val=feval(fun,x0) %求得每一个的函数值然后仿照书上建立两个目标函数和梯度的M 文件:function f=fun(x)f=3*x(1)^2+2*x(2)^2-4*x(1)-6*x(2); function g=gfun(x) g=[6*x(1)-4,4*x(2)-6]';选取初始点为']0,0[,调用函数程序,得出最小极值点为']500.1,6667.0[,极小值为8333.5-,在界面框中输入的程序如下:[x,val,k]=grad('fun','gfun',x0) val = -5.8333 x =0.6667 1.5000 val =-5.8333 k = 10从结果可以看出迭代次数为10次,如果选取不同的初值点则迭代次数不一样,但是极小值相同。

高中同步创新课堂生物优化方案苏教必修习题:第五章第一节第课时课时作业 含答案

高中同步创新课堂生物优化方案苏教必修习题:第五章第一节第课时课时作业 含答案

[课时作业]1.某学生检查了1 000个处于有丝分裂期的细胞,其中有692个处于前期,105个处于中期,35个处于后期,168个处于末期。

据此可判断洋葱根尖有丝分裂()A.细胞周期中各期相对持续时间关系是前期>末期>中期>后期B.进行得比较旺盛C.细胞周期中分裂期持续的时间比分裂间期要短D.分裂期中前期持续的时间短解析:选A。

由处于不同时期的细胞个数可推知相应时期在一个细胞周期中所占的时间长短,处于某时期的细胞个数越多,说明该时期在一个细胞周期中所占时间越长。

根据细胞分裂各时期时间持续长短无法判断洋葱根尖有丝分裂进行得是否旺盛。

据题中数据,也无法比较分裂间期与分裂期持续时间的长短。

2.用光学显微镜观察有丝分裂过程,如果仅从细胞分裂周期来看,图中植物作为实验材料最适合的是()解析:选D。

用显微镜观察有丝分裂过程,主要观察分裂期的细胞,因此应选择细胞周期短(分裂旺盛)且分裂期相对较长的作实验材料。

3.菠菜根的分生区细胞不断分裂使根向远处生长,在分裂过程中不会出现的是() A.细胞分裂间期,中心体的两个中心粒各自产生一个新的中心粒B.细胞分裂中期,染色体形态较固定、数目较清晰C.细胞分裂前期,核膜和核仁逐渐消失D.细胞分裂末期,高尔基体参与细胞壁的形成解析:选A。

菠菜是高等植物,细胞内没有中心体,纺锤体是由植物细胞两极发出纺锤丝所形成的。

4.在“观察植物细胞有丝分裂”实验中,三位实验人员制作洋葱根尖装片的操作步骤(“+”表示操作,“—”表示未操作)如下表所示:实验人员操作取材解离漂洗染色制片甲根尖1~3 mm处-+++续实验操作人员取材解离漂洗染色制片乙根尖1~3 mm处+-++丙根尖5~7 mm处++++A.细胞重叠、染色体着色很浅不清楚、细胞分散染色体清楚B.细胞分散但看不到染色体、染色体着色清楚、细胞分散染色体清楚C.细胞重叠、染色体着色很浅不清楚、细胞着色清楚但看不到染色体D.染色体着色很浅不清楚、细胞分散染色体清楚、细胞分散染色体清楚解析:选C。

最优化作业

最优化作业

[键入公司名称]一题目要求:1.分别用①牛顿法和②变尺度法求解优化问题min f(x)=x^2-2*x*y+4*y^2+x-3*y2.利用①外点法和②内点法解下列约束问题 min f(x)=(x-3)^3+(y-2)^2 s.t. h(x)=x1+x2-4≤0二基本思想牛顿法:应用基本迭代公式X k+1=X k +t k P k 中,每轮迭代在迭代的起始点X K 处用一个适当的二次函数来近似该点处的目标函数,由此用点X K 指向近似二次函数极小点的方向来构造搜索方向Pk. 设()f x 是二次可微实函数,n k x R ∈,Hesse 矩阵()2k f x ∇正定。

在k x 附近用二次Taylor 展开近似f ,()()()()()()212TTk T k k k k f x s q s f x s f x s s f x s +≈=+∇+∇ k s x x =-,()()k q s 为()f x 的二次近似。

将上式右边极小化,便得: ()()121k k k k x x f x f x -+⎡⎤=-∇∇⎣⎦,这就是牛顿法的迭代公式。

在这个公式里,步长因子1k α=。

令()()2,k k k k G f x g f x =∇=∇,则上式也可写成:11k k k k x x G g -+=-显然,牛顿法也可以看成在椭球范数kG⋅下的最速下降法。

事实上,对于()()T k k k f x s f x g s +≈+,k s 是极小化问题minn Tk s R g ss∈的解。

该极小化问题依赖于所取的范数,当采取2l 范数时,k k s g =-,所得方法为最速下降法。

当采用椭球范数kG⋅时,1k k k s G g -=-,所得方法即为牛顿法。

对于正定二次函数,牛顿法一步即可达到最优解。

而对于非二次函数,牛顿法并不能保证有限次迭代求得最优解,但由于目标函数在极小点附近近似于二次函数,故当初始点靠近极小点时,牛顿法的收敛速度一般是快的。

最优化 马昌凤 第二章作业

最优化 马昌凤 第二章作业

最优化方法及其Matlab程序设计习题作业暨实验报告学院:数学与信息科学学院班级:12级信计一班姓名:李明学号:1201214049第二章 线搜索技术一、上机问题与求解过程 1、用0.618法求解 .1)(min 2--=x x x f 初始区间]1,1[-,区间精度为50.=0δ. 解:当初始时不限制近似迭代函数值得大小,编写程序运行结果为:从结果可以看出迭代次数为9次,极小点为5016.0,极小点的函数值为2500.1-。

根据人工手算,极小值点应该为500.0,所以在设计程序的时候添加函数值误差范围,并取范围为10101-⨯。

编写的设计函数程序并调试改正如下:function [s,fs,k,G,FX,E]=gold(f,a,b,H,F) %输入:% f:目标函数,a :搜索区间左侧端点;b:搜索区间右侧端点; % H :搜索区间允许范围;F :搜索区间函数值允许范围; %输出:% s:近似极小值点:fa :近似极小点数值;k:迭代次数:% FX :近似迭代函数值;E=[h,fh],h 为近似区间误差,fh 为函数值误差 t=(sqrt(5)-1)/2;h=b-a; p=a+(1-t)*h;q=a+t*h;fa=feval(f,a);fb=feval(f,b); fp=feval(f,p);fq=feval(f,q); k=1;G(k,:)=[a,p,q,b];%初始时错误语句:G(1,:)=[a,p,q,b]; %初始调试的时候没有注意到后面需要开辟k 行空间 FX(k,:)=[fa,fp,fq,fb];while (abs(fa-fb)>F) ((b-a)>H) if (fp<fq)b=q;fb=fq;q=p;fq=fp;h=b-a;p=a+(1-t)*h;fp=feval(f,p); %初始时错误语句:b=q;fb=fq;h=b-a;q=a+t*h;fq=feval(f,q); %初始调试的时候对0.618方法没有充分理解所以出现错误 elsea=p;fa=fp;p=q;fp=fq;h=b-a;q=a+t*h;fq=feval(f,q);%初始时错误语句:a=p;fa=fp;h=b-a;p=a+(1-t)*h;fp=feval(f,p); %初始调试的时候对0.618方法没有充分理解所以出现错误 end极小点(s) 迭代次数搜索区间误差 函数值误差 0.501690.04260.0006k=k+1;G(k,:)=[a,p,q,b];%初始时错误语句:G(1,:)=[a,p,q,b]; %初始调试的时候没有注意到前面已经开辟k 行空间 FX(k,:)=[fa,fp,fq,fb]; end if (fp<fq) s=p;fs=fp; elses=q;fs=fq; endh=b-a;fh=abs(fb-fa);%选取试探点最小的数值为近似点,并且计算出以上为搜索区间的的最后误差以及函数值误差 E=[h,fh];在命令窗口内输入如下命令:[s,fs,k,G,FX,E]=gold(inline('s^2-s-1'),-1,1,0.05,1e-10) 回车之后得到如下数据结果:附:在窗口中输出的结果如下>> [s,fs,k,G,FX,E]=gold(inline('s^2-s-1'),-1,1,0.05,1e-10) s = 0.5000 fs = -1.2500 k = 24 G =-1.0000 -0.2361 0.2361 1.0000 -0.2361 0.2361 0.5279 1.0000 0.2361 0.5279 0.7082 1.0000极小点 极小点数值 迭代次数 搜索区间误差 函数值误差 0.500-1.250024410321.0-⨯0000.00.2361 0.4164 0.5279 0.70820.4164 0.5279 0.5967 0.70820.4164 0.4853 0.5279 0.59670.4164 0.4590 0.4853 0.52790.4590 0.4853 0.5016 0.52790.4853 0.5016 0.5116 0.52790.4853 0.4953 0.5016 0.51160.4953 0.5016 0.5054 0.51160.4953 0.4992 0.5016 0.50540.4953 0.4977 0.4992 0.50160.4977 0.4992 0.5001 0.50160.4992 0.5001 0.5006 0.50160.4992 0.4997 0.5001 0.50060.4997 0.5001 0.5003 0.50060.4997 0.5000 0.5001 0.50030.4997 0.4999 0.5000 0.50010.4999 0.5000 0.5000 0.50010.5000 0.5000 0.5000 0.50010.5000 0.5000 0.5000 0.50000.5000 0.5000 0.5000 0.50000.5000 0.5000 0.5000 0.5000 FX =1.0000 -0.7082 -1.1803 -1.0000 -0.7082 -1.1803 -1.2492 -1.0000 -1.1803 -1.2492 -1.2067 -1.0000 -1.1803 -1.2430 -1.2492 -1.2067 -1.2430 -1.2492 -1.2406 -1.2067 -1.2430 -1.2498 -1.2492 -1.2406 -1.2430 -1.2483 -1.2498 -1.2492 -1.2483 -1.2498 -1.2500 -1.2492 -1.2498 -1.2500 -1.2499 -1.2492 -1.2498 -1.2500 -1.2500 -1.2499 -1.2500 -1.2500 -1.2500 -1.2499 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.25001.0e-04*0.3121 0.00002、用0.618法求解.12)(min 3+-=x x x f的近似最优解,初始搜索区间为]3,0[,区间精度为50.=1δ. 解:当初始时不限制近似迭代函数值得大小,编写程序运行结果为:从结果可以看出迭代次数为8次,极小点为8115.0,极小点的函数值为0886.0-。

优化方案物理必修1(鲁科版)第五章习题课

优化方案物理必修1(鲁科版)第五章习题课

04 解题技巧与策略
选择题解题技巧
排除法
直接计算法
单位判断法
逻辑推理法
通过排除明显错误的选 项,缩小选择范围。
对于数值计算的选择题, 直接进行计算得出结果。
检查选项中的单位是否 与题目要求一致,不一
致的选项可排除。
根据题意进行逻辑推理, 判断选项的正确性。
填空题解题技巧
01
02
03
04
概念理解
准确理解题目中的物理概念, 确保答案与概念相符。
数值计算
对于涉及数值计算的填空题, 要进行准确的数值计算。
单位匹配
确保答案的单位与题目要求的 单位一致。
逻辑推理
根据题意进行逻辑推理,得出 合理的答案。
计算题解题策略
审题清晰
仔细阅读题目,明确已知条件 和求解问题。
建立物理模型
根据题意建立准确的物理模型 ,将实际问题转化为物理问题 。
重点理解了线速度与角速度的关系,以及它们在圆周运动中的意义。
本章内容总结
• 掌握了向心力的来源,并能够分析生活中的圆周运动问题。
本章内容总结
难点解析
对于离心运动的条件和应用进行了深入探讨,解决了学生对于离心运动理解的困 惑。
本章内容总结
易错点解析
针对学生在计算线速度、角速度时容易出错的地方进行了详细讲解,并给出了相应的练习题。
教学目标
01
02
03
知识目标
掌握第五章的物理知识点, 包括力和运动的关系、牛 顿运动定律、动量守恒定 律等。
能力目标
提高学生的解题能力和思 维能力,能够运用所学知 识解决实际问题。
情感态度与价值观
培养学生对物理学科的兴 趣和热爱,树立科学的世 界观和价值观。

最优化方法及其matlab程序设计 马昌凤 课后答案

最优化方法及其matlab程序设计 马昌凤 课后答案
首先二阶导数连续可微,根据定理1.5,f在凸集上是 (I)凸函数的充分必要条件是∇2f (x)对一切x为半正定; (II)严格凸函数的充分条件是∇2f (x)对一切x为正定。
(
)
∇2f (x) =
2 −2 −2 2
(4)
半正定矩阵
(4)
4 1 −3
∇2f (x) = 1 2 0
(5)
−3 0 4
yT
Gy)

[
1 2
(λx)T
G(λx)
+
1 2
(1

λ)yT G(1

λ)y
+
1 2
λxT
G(1

λ)y
+
1 2
(1

λ)yT Gλx]
=
1 2
λxT
G(1

λ)x
+
1 2
(1

λ)yT
Gλy

1 2
λxT
G(1

λ)y

1 2
(1

λ)yT
Gλx
2
= =
1 21 2
λxT λ(1
G(1

λ)(x
12
6 第六章信赖域方法P86-8
14
7 第七章非线性最小二乘问题P98-1,2,6
18
8 第八章最优性条件P112-1,2,5,6
23
9 第九章罚函数法P132,1-(1)、2-(1)、3-(3),6
26
10 第十一章二次规划习题11 P178-1(1),5
29
1 第一章最优化理论基础-P13习题1(1)、2(3)(4)、3、4

五章2ppt课件

五章2ppt课件
• 做目标函数先,寻找函数线,寻找最优解。(试 探法)
• 如果此类问题有解,则最优解一定可以在可行域 的某个顶点上得到。
第五节严格不确定性最优化问题
• 根据决策结局的多少,可以将决策分为确定型决 策(每个方案只有一个结局)和不确定型决策( 每个方案有多个结局)
• 由于不确定型决策问题所面临的几个自然状态是 不确定,是完全随机的,使不确定型决策始终伴 随着一定的盲目性。决策者的经验和性格常常在 决策中起主导作用。决策准则包括乐观准则、悲 观准则、乐观系数准则、后悔值准则等。
行解

• 某车间生产甲乙两种产品,每个产品的利润分别 为2元,3元,车间现有劳力24个,制甲需原料2 斤,制乙需原料1斤,车间有原料10斤,如何安排 生产?
• Y=2x+3y • 3x+6y ≤24 • 2x+y ≤10
• 建立以x1,x2为坐标轴的直角坐标系
• 确定可行域(先确定每个约束条件所代表的区域 ,它们的公共部分即为可行域,用阴影表示)
• 2、已知某企业的生产函数为Q=L2/3K1/3 ,劳动 的价格w=2 ,资本的价格r=1。求:
• (1)当成本C=3000时,企业实现最大产量时 的L、K和Q的均衡量。
• (2)当产量Q=800时,企业实现最小成本时的 L、K和C的均衡量。
第四节 线性规划节选(Linear Programming)
经济趋势分析
预计收益 不景气 不变Biblioteka 投资策略 积极50
150
稳健
100
200
保守
400
250
景气 500 300 200
• 题目表中给出的三种投资策略,收益值最小的分 别是积极时为50,稳健时为100,保守时为200, 那么最大收益值是200,即基于maxmin悲观准则 的最佳决策对应的行动是保守投资。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

最优化马昌凤第五章作业-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII最优化方法及其Matlab程序设计习题作业暨实验报告学院:数学与信息科学学院班级:12级信计一班姓名:李明学号:1201214049第四章 共轭梯度法一、上机问题与求解过程1、用DFP 算法求解,3)(m in 2221x x x f +=取初始点和初始矩阵为 .1112,1100⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡-=H x 。

解:仿照书上编写DFP 程序,将程序HESS 矩阵变为0H 具体如下:function [x,val,k]=dfp(fun,gfun,x0)%功能:用DFP 算法求解吴宇舒问题:min f(x)%输入:x0是初始点,fun,gfun 分别是目标函数及其梯度%输出:x,val 分别是近似最优点和最优值,k 是迭代次数maxk=1e5;%给出最大迭代次数rho=0.55;sigma=0.4;epsilon=1e-5;k=0; n=length(x0);Hk=[2 1;1 1];while (k<maxk)gk=feval(gfun,x0);%计算梯度if (norm(gk)<epsilon),break ;enddk=-Hk*gk;%计算搜索方向m=0;mk=0;while (m<20)%用Armijo 搜索求步长if (feval(fun,x0+rho^m*dk)<feval(fun,x0)+sigma*rho^m*gk'*dk) mk=m;break ;endm=m+1;endx=x0+rho^mk*dk;sk=x-x0;yk=feval(gfun,x)-gk;if (sk'*yk>0)Hk=Hk-(Hk*yk*yk'*Hk)/(yk'*Hk*yk)+(sk*sk')/(sk'*yk); endk=k+1;x0=x;endval=feval(fun,x0);然后仿照书上建立两个目标函数和梯度的M 文件:function f=fun(x)f=x(1)^2+3*x(2)^2;function g=gfun(x)g=[2*x(1) 6*x(2)]';选取初始点为']1,1[-,调用函数程序,得出最小极值点为'66]101599.0,102203.0[--⨯-⨯-,极小值为13102527.1-⨯,在界面框中输入的程序如下:x0=[1 -1]';[x,val,k]=dfp('fun','gfun',x0)x =1.0e-06 *-0.2203-0.1599val =1.2527e-13k =4从结果可以看出迭代次数为4次,如果选取不同的初值点则迭代次数不一样,但是极小值相同。

2、用BFGS 算法求222121)(x x x x x f ++=的极小点,选取初始点为T x )2,3(0=解:仿照书上编写BFGS 程序具体如下:function [x,val,k]=bfgs(fun,gfun,x0,varargin)%功能:用BFGS 算法求解无约束问题:min f(x);%输入:x0是初始点,fun,gfun 分别是目标函数及梯度;%varargin 是输入的可变参数变量,简单调用bfgs 时可以忽略它;%但若其他程序循环调用该程序时将会发生重要的作用%输出:x,val 分别为近似最优点和最优值,k 是迭代次数maxk=500;rho=0.55;sigma=0.4;epsilon=1e-5;k=0; n=length(x0);Bk=eye(n);while (k<maxk)gk=feval(gfun,x0,varargin{:});if (norm(gk)<epsilon),break ;enddk=-Bk\gk;%解方程组,计算搜索方向m=0;mk=0;while (m<20)%用Armijo 搜索求步长newf=feval(fun,x0+rho^m*dk,varargin{:});oldf=feval(fun,x0,varargin{:});if (newf<oldf+sigma*rho^m*gk'*dk)mk=m;break ;endm=m+1;end%BFGS 校正x=x0+rho^mk*dk;sk=x-x0;yk=feval(gfun,x,varargin{:})-gk;if (yk'*sk>0)Bk=Bk-(Bk*sk*sk'*Bk)/(sk'*Bk*sk)+(yk*yk')/(yk'*sk);endk=k+1;x0=x;endval=feval(fun,x0,varargin{:});%在一开始的时候输入格式有错误为:[x,val,k]=bfgs(‘fun ’,‘gfun ’,x0,varargin)%后来改为[x,val,k]=bfgs(fun,gfun,x0)得出正确答案建立两个目标函数和梯度的M 文件:function f=fun(x)f=x(1)^2+x(2)^2+x(1)*x(2);function g=gfun(x)g=[2*x(1)+x(2) 2*x(2)+x(1)]';选取初始点为']2,3[,调用函数程序,得出最小极值点为'55]105555.1,100513.0[--⨯-⨯,极小值为6108846.1-⨯,在界面框中输入的命令如下:x0=[3 2]';[x,val,k]=bfgs('fun','gfun',x0)x =1.0e-05 *0.0513-0.1555val =1.8846e-12k =3从结果可以看出迭代次数为3次,如果选取不同的初值点则迭代次数不一样,但是极小值相同。

3、分别利用BFGS 算法和DFP 算法的Matlab 程序求解下列优化问题,33)(m in )1(2112221+--+=x x x x x x f 取;)0,0(0T x =,)(5)1(4)(m in )2(221221x x x x f -+-=取;)0,2(0T x =解:(1)BFGS 算法解题与前面程序相同,编写不同的函数文件,如下:function f=fun(x)f=x(1)^2+x(2)^2-3*x(1)-x(1)*x(2)+3;function g=gfun(x)g=[2*x(1)-x(2)-3 2*x(2)-x(1)]';在窗口中输入命令并得出结果:x0=[0 0]';[x,val,k]=bfgs('fun','gfun',x0)x =2.00001.0000val =3.4737e-12k =4由输入的命令与现实的结果可以知道,极小值点为]1,2[,迭代的次数为4次。

DFP算法解题:在上面计算的基础之上,添加函数文件,调用第一题程序:function He=Hess(x)He=[2 ,-1;-1, 2];在窗口中输入命令并得出结果:x0=[0 0]';[x,val,k]=dfp('fun','gfun',x0)x =21val =k =1由输入的命令与现实的结果可以知道,极小值点为]1,2[,迭代的次数为1次。

(2)BFGS算法解题与前面程序相同,编写不同的函数文件,如下:function f=fun(x)f=4*(1-x(1))^2+5*(x(2)-x(1)^2);function g=gfun(x)g=[-8*(1-x(1))-10*x(1)*(x(2)-x(1)^2) 10*(x(2)-x(1)^2)]';在窗口中输入命令并得出结果:x0=[2 0]';[x,val,k]=bfgs('fun','gfun',x0)x =1.00001.0000val =-1.6236e-06k =31由输入的命令与现实的结果可以知道,极小值点为]1,1[,迭代的次数为31次。

DFP算法解题:在上面计算的基础之上,添加函数文件,调用第一题程序:function He=Hess(x)He=[8-10*(x(2)-x(1)^2)+20*x(1) ,-10*x(1);-10*x(1), 10];在窗口中输入命令并得出结果:x0=[2 0]';[x,val,k]=dfp('fun','gfun',x0)x =1.00001.0000val =1.7009e-07k =18由输入的命令与现实的结果可以知道,极小值点为]1,1[,迭代的次数为18次。

4、分别利用BFGS 算法和DFP 算法的Matlab 程序求Powell 奇异函数的极小值:,)(10)2()10(5)10()(min 241232243221x x x x x x x x x f -+-+-++=初始点取为T x )1,0,1,3(0-=。

解:BFGS 算法解题与前面程序相同,编写不同的函数文件,如下:function f=fun(x)f=(x(1)+10*x(2))^2+5*(x(3)-10*x(4))^2+(x(2)-2*x(3))^2+10*(x(1)-x(4))^2;function g=gfun(x)g=[20*(x(1)+10*x(2))+20*(x(1)-x(4))20*(x(1)+10*x(2))+2*(x(2)-2*x(3))10*(x(3)-10*x(4))-4*(x(2)-2*x(3)) -100*(x(3)-10*x(4))-20*(x(1)-x(4))]';在窗口中输入命令并得出结果:x0=[3,-1,0,1]';[x,val,k]=bfgs('fun','gfun',x0)x =1.0e-08 *-0.00620.01310.44650.0432val =8.1534e-17k =13由输入的命令与现实的结果可以知道,极小值点为]100432.0,104465.0,100131.0,100062.0[8888----⨯⨯⨯⨯-,迭代的次数为13次。

DFP 算法解题:在上面计算的基础之上,添加Hess 矩阵文件,function He=Hess(x)n=length(x);He=zeros(n,n);He=[40,20,0,-20; 20,202,-4,0; 0,-4,18,-100; -20,0,-100,1020];调用第一题程序。

相关文档
最新文档