
MATLAB中的最速下降法与阻尼牛顿法【含Armijo线搜索程序】
5星
- 浏览量: 0
- 大小:None
- 文件类型:RAR
简介:
本教程详细介绍了在MATLAB环境下应用最速下降法和阻尼牛顿法进行优化问题求解,并包含基于Armijo准则实现的线性搜索算法,旨在帮助学习者理解和掌握这两种基本迭代优化技术。
非线性最优化问题的主要算法及其Matlab程序设计如下:
**线搜索技术**
1. `golds.m`:使用0.618法求单变量函数在区间[a,b]上的近似极小点。
2. `qmin.m`:从初始点s开始,利用抛物线方法寻找[a,s],[s,b]上局部最小值的程序。
3. `armijo.m`:实现Armijo准则搜索规则的模块化程序。
**最速下降法及牛顿法**
4. `grad.m`:基于Armijo非精确线搜索的最速下降法Matlab程序。
5. `dampnm.m`:利用 Armijo 非精确线搜索的阻尼牛顿法 Matlab 程序。
6. `revisenm.m`:修正牛顿法,解决了传统牛顿法则要求Hesse矩阵正定的问题。
**共轭梯度法**
7. `frcg.m`:基于Armijo非精确线搜索的再开始FR共轭梯度算法Matlab程序。
**拟牛顿法**
8. `sr1.m`:对称秩 1 算法,利用 Armijo 搜索规则。
9. `bfgs.m`:BFGS 方法程序,结合了Armijo准则进行搜索。
10. `dfp.m`:DFP算法的Matlab实现,同样基于Armijo搜索技术。
11. `broyden.m`:适用于非线性优化问题的 Broyden 族方法。
**信赖域方法**
12. `trustq.m`:使用光滑牛顿法解决信赖域子问题,适合于Hesse矩阵正定的情况。
13. `trustm.m`:用于求解一般约束条件下的信赖域子问题的方法。
**非线性最小二乘问题**
14. `lmm.m`:利用 LM 方法处理非线性方程组F(x)=0的程序,适用于未知数与方程个数不等的情形。
**罚函数法**
15. `multphr.m`:PHR 乘子方法用于求解约束优化问题。
**二次规划法**
16. `qlag.m`:使用Lagrange 方法解决等式约束条件下的二次规划。
17. `qpact.m`:有效集算法,适用于一般约束条件下凸二次规划的解决方案。
**序列二次规划法**
18. `qpsubp.m`:利用光滑牛顿法求解二次规划子问题的方法。
19. `sqpm.m`:用于解决带约束的一般优化问题程序,在每个迭代步骤中调用上述方法。
全部评论 (0)


