
基于0.618法搜索步长的最速梯度下降法在运筹与优化中的MATLAB实现
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本研究提出了一种结合0.618黄金分割搜索技术和传统最速梯度下降法的创新算法,并通过MATLAB编程实现了该方法在运筹学和优化问题中的应用。
利用最速梯度下降法求解:函数接口为[xstar,fxstar,iter] = SteepDescent(f_name,x0,eps) 其中xstar表示最优解,fxstar表示最优函数值,iter表示迭代次数。f_name为目标函数文件,可以通过feval调用计算函数值及梯度;初始值x0可以取[1,1],eps设为1e-3,并利用0.618法搜索步长。
例如:[xstar,fxstar,iter] = SteepDescent(@Myexam1,[1,1],1e-3)
函数定义如下:
function [f,g]=Myexam1(x)
% 调用
[f,g] = feval(f_name,xk);
f=x(1)^2+2*x(2)^2;
g=[2*x(1);4*x(2)];
end
以上代码可以直接运行。
全部评论 (0)
还没有任何评论哟~


