最速下降法Matlab实现
实验目的:
1.掌握迭代法求解无约束最优化问题的基本思想
2.通过实验掌握最速下降法的Matlab算法的基本步骤
实验内容:
1.迭代法求解无约束最优化问题的基本思想
给定一个初始点x(0), 按照某一迭代规则产生一个迭代序列{x(k)}. 使得若该序列是有限的, 则最后一个点就是原问题的极小点; 否则, 若序列{x(k)} 是无穷点列时, 它有极限点且这个极限点即为原问题的极小点.
设x(k) 为第k 次迭代点, d(k) 为第k 次搜索方向, a(k)为第k 次步长因子, 则第k 次迭代完成后可得到新一轮(第k + 1 次) 的迭代点
x(k+1) = x(k) + a(k) d(k).
2.无约束优化问题迭代算法的一般框架
步0 给定初始化参数及初始迭代点x(0). 置k := 0.
步1 若x(k) 满足某种终止准则, 停止迭代, 以x(k) 作为近似极小点.
步2 通过求解x(k) 处的某个子问题确定下降方向d(k).
步3 通过某种搜索方式确定步长因子a(k), 使得f(x(k) + a(k) d(k)) < f(x(k)).
步4 令x(k+1) := x(k) + a(k) d(k), k := k + 1, 转步1.
3. 最速下降法的基本步骤
步0 选取初始点x(0) ∈R^n, 容许误差0 ≤e ≪1. 令k := 1.
步1 计算g(k) = ∇f(x(k)). 若‖g(k)‖≤e, 停算, 输出x(k)作为近似最优解.
步2 取方向d(k)= −g(k).
步3 由线搜索技术确定步长因子a(k),即
min f(a(k))=f(x(k)+a(k)d(k)).
步4 令x(k+1) := x(k) + a(k)d(k)), k := k + 1, 转步1.
4. 编写最速下降法Matlab 程序
5. 利用程序求解无约束最优化问题f(x,y)=x^2+2y^2的最优值.。