9.运筹学复刻 之 梯度法和牛顿法

前面说过,
梯度法:
就是针对已知 f(x) & ▽f(x) 的时候的求解算法

思想:选择任意一个点作为起始点,把当前梯度作为迭代方向,r作为步长

则 x( r) = x(k) + r▽f(x(k)) (max时)

根据的就是如果该点不是最优点,则在梯度方向上一定可以找到一个更优秀的点

梯度方向在这里并不是唯一的选择,甚至有情况下,其他方向可以比梯度方向更快得找到最优点。

例题:
max f(x) = 4x1 + 6x2 -2x12 - 2x1x2 - 2x22
▽f(x) = [4 - 4x1 - 2x2; 6 - 2x1-4x2]
2f(x) = [0 -2;-2 -4] <0 只有一个极大值点
x(0)=[1;1] ▽f(x(0)) = [-2;0]不是平稳点
x(1)=x(0)+ r▽f(x(0)) = [1-2r;1] 代入原式

max h(x) = 4-8r+6-2(1-2r)2-2-4r-2 = -2(1-2r)2+2(1-3r)+4
初中知识求得:r= 1/4 时,取极大值

x(1) = [0.5;1]

以此类推 ▽f(x(s))= [0;1/16]趋向于0

几何意义:对一族圆圈,从当前点所在的不规则圆边上做该点的切线,然后向圆心方向做垂线,当和另一个圆相切时,取该点为下一个点

从此我们看出,梯度法走直角,不是最快的方法

最优步长:
r = - ▽f(x(k))▽f(x(k))/▽f(x(k))▽2f(x(k))▽f(x(k))
不见得会更好,但快

发布了108 篇原创文章 · 获赞 45 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/k_x_k_baoqian/article/details/102720750
今日推荐