最优化各种方法MATLAB代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 法求解最小值输出过程图