Dogleg“狗腿”最优化算法

本文介绍了作者在学习Dogleg最优化算法后,通过MATLAB实现该算法的过程。算法主要用于求解搜索方向d,作者提供了包含主程序和辅助函数的完整代码,能够适应不同函数的优化需求。代码中涉及信赖域、步长tao和迭代次数等关键参数的计算,最终展示了程序运行结果。
摘要由CSDN通过智能技术生成
近期刚学习了dogleg狗腿最优化算法,老师给出了一个大体的框架并给出了一个练习,让我们用程序去实现它,鉴于本人刚刚开始接触最优化,对MATLAB语言的使用也很生疏,在网上查阅了大量的资料,一个通宵把算法写出来,并在matlab中得到了验证。
老师给出的练习为 ,。Dogleg狗腿算法是信赖域算法中的一个subproblem,其主要用来求d向量,也就是搜索方向。在写代码的时候,发现老师给出的框架当中,没有涉及到 的取值,在查阅了很多资料之后,知道 的取值与 和信赖域的取值有关,具体的关系会在程序中体现。此外,在代码程序中,最困扰的我是程序对函数的普适性,只要给出一个函数,代码会自动的进行,而不是需要人为地把函数各个变量的系数先算出来。代码如下:
主程序(demo_dogleg):
%programed by Lu Qi,UCAS
%my email:qqlu1992@gmail.com
global syms x y
pars.f_x_y=100*(y - x^2).^2 + (1 - x)^2;
pars.dfdx=diff(pars.f_x_y,x,1);
pars.dfdy=diff(pars.f_x_y,y,1);
pars.df2dxdy=diff(pars.dfdx,y
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值