参考资料
《精通MATLAB最优化计算(第二版)》
编程工具
Matlab 2019a
目录
石中居士:最优化计算与Matlab实现——目录zhuanlan.zhihu.com修正G-N法
- 原理
为了克服G-N的缺点,有以下两种修正方案:
(1)在已经得到一个近似极小点
后,计算
,其中
的大小用一维无约束优化方法求解
确定,由于每一步都要进行一维搜索,计算量很大;
(2)由于
为目标函数的下降方向,选取很小的正数
,使得
,
此种方案计算量比较小,可以用比较简单的方法来确定
的取值。
因此,根据第二种方案可编制下面的修正G-N算法。
- 算法步骤
用修正G-N法求解非线性最小二乘优化问题
的算法过程如下:
【1】给定初始点
,及精度
,置
;
【2】计算
;
【3】计算
;
【4】计算
;
【5】解方程
;
【6】令
;
【7】
,令
,转【8】;否则令
,转【7】;
【8】终止条件是否满足,不满足则令
,转【2】。
- Matlab代码与试算
修正G-N法求解非线性最小二乘优化问题实例。用修正G-N法求下面的优化问题:
,其中初始点取
。
test.m
syms
Modified_Gauss_Newton_Method.m
function
命令行窗口
x_optimization =
-0.6941
f_optimization =
0.7140
图像
由于目标函数是单谷函数,只有一个极值点,因此修正G-N法求出的极小点也是目标函数的最小点。