Этот метод обеспечивает монотонное убывание целевой функции на каждой итерации и тем самым сходимость метода к точке минимума. Убывание функции обеспечивается коррекцией шага на каждой итерации. Расчетной формулой является рассмотренная выше
Итерация выполняется следующим образом. Находится точка с шагом предыдущей k – той итерации и вычисляется значение . Если функция не уменьшилась, т.е. , шаг уменьшается (дробится) . С уменьшенной величиной шага снова находится , . Процесс дробления продолжается пока не будет получено уменьшение целевой функции.
Если в точке , найденной с шагом предыдущей k – той итерации, функция уменьшилась, шаг увеличивается , пока функция продолжает убывать.
Описанный метод реализован в практическом алгоритме оптимизирующей функции, ориентированном на систему MATLAB.
Несколько первых строк кода функции:
function [ x,f ] = gradh(z,dz,x,e )
% Минимизация функции n переменных градиентным методом