Численные методы решения задач НЛП

В качестве r(xk) используется направление, в котором наиболее сильно возрастает целевая функция. Это направление задается градиентом функции ÑF(xk). Суть метода состоит в последовательном приближении к оптимальному решению x* на основе проведения ряда итераций вида

xk+1 = xk + hk ÑF(xk), k = 0,1,.... (1)

Алгоритмы, построенные на основе градиентного метода, носят итерационный характер; итерация состоит в выполнении ряда шагов.

0. Исходное состояние. Задается начальная точка xo, некоторое малое
e ≥ 0; k = 0.

1. Рассчитывается градиент в точке xk; ÑF(xk).

2. Задается шаг hk.

3. Находится xk+1 = xk + hk ÑF(xk).

4. Проверяется условие ║xk+1 - xk║ ≤ e, или ║ÑF(xk)║ ≤ e.

Если данное условие выполняется, то счет окончен; если нет, то k = k+1 и производится переход на шаг 2.

В пункте 2 задается шаг, обеспечивающий смещение решения в направлении градиента (возрастания целевой функции). Шаг hk следует выбирать таким, чтобы обеспечивалось приращение целевой функции в направлении ÑF(xk), т.е. должно выполняться условие F(xk+1) > F(xk). Вместе с тем, если hk очень велик, то возможны ситуации, когда F(xk+1) < F(xk); если же hk очень мал, то процесс долго сходится (см. рис.3.3.1).

Рис. 3.3.1.

 

В зависимости от способа выбора hk на каждой итерации выделяют различные модификации алгоритма.