最优化各种方法MATLAB代码

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

最优化程序MATLAB 代码

程序

1.目标任务

分别用最速下降法、FR 共轭梯度法、DFP 法和BFGS 法求解无约束最值问题:

22

112212min f (x)x 2x x 4x x 3x =-++-

取初始点(1)T x (1,1)=和 (2)T x (2,2)=,分别通过Matlab 编程实现求解过程。

2.程序实现(程序文件见附件)

2.1公用函数

1)

function f= fun( X ) %所求问题目标函数

f=X(1)^2-2*X(1)*X(2)+4*X(2)^2+X(1)-3*X(2); end

2) function g= gfun( X )

%所求问题目标函数梯度

g=[2*X(1)-2*X(2)+1,-2*X(1)+8*X(2)-3]; end

3) function He = Hess( X )

%所求问题目标函数Hesse 矩阵 n=length(X); He=zeros(n,n); He=[2,-2; -2,4];

End

2.2其他函数

图2.2 函数程序文件图

1) 最速下降法的文件名为 :grad.m 。 2) FR 共轭梯度法的文件名为 :frcg.m 。 3) DFP 法的文件名为 :dfp.m 。 4)

BFGS 法的文件名为 :bfgs.m 。

3.程序运行结果

3.1最速下降法

3.1.1 初值为(1)T x (1,1)

图3.1.1.1 最速下降法求解最小值输出结果图

图3.1.1.2最速下降法求解最小值过程图

3.1.2初值为(2)T x (2,2)

图3.1.2.1最速下降法求解最小值输出结果图

图3.1.2.2最速下降法求解最小值过程图

3.2 FR 共轭梯度法

3.2.1 初值为(1)T x (1,1)

图3.2.1.1 FR 共轭梯度法求解最小值输出结果图

图3.2.1.2 FR 共轭梯度法求解最小值过程图

3.2.2初值为(2)T x (2,2)

图3.2.2.1 FR 共轭梯度法求解最小值输出结果图

图3.2.2.2 FR 共轭梯度法求解最小值过程图

3.3 DFP 法

3.3.1 初值为(1)T x (1,1)

图3.3.1.1 DFP 法求解最小值输出结果图

图3.3.1.2 DFP法求解最小值过程图

图3.3.1.2 DFP法求解最小值过程图(

3.3.2初值为(2)T x (2,2)

图3.3.2.1 DFP 法求解最小值输出结果图

图3.3.2.2 DFP 法求解最小值过程图

3.4 BFGS 法

3.4.1 初值为(1)T x (1,1)

图3.4.1.1 BFGS 法求解最小值输出结果图

图3.4.1.2 BFGS 法求解最小值过程图

3.4.2初值为(2)T x (2,2)

图3.4.2.1 BFGS 法求解最小值输出结果图

图3.4.2.2 BFGS 法求解最小值输出过程图

相关文档
最新文档