Это не официальный сайт wikipedia.org 01.01.2023

Градиентные методы — Википедия

Градиентные методычисленные методы решения с помощью градиента задач, сводящихся к нахождению экстремумов функции.

Постановка задачи решения системы уравнений в терминах методов оптимизацииПравить

Задача решения системы уравнений:

{ f 1 ( x 1 , x 2 , , x n ) = 0 f n ( x 1 , x 2 , , x n ) = 0  (1)

с n   x 1 , x 2 , , x n   эквивалентна задаче минимизации функции

F ( x 1 , x 2 , , x n ) i = 1 n | f i ( x 1 , x 2 , . . . , x n ) | 2   (2)

или какой-либо другой возрастающей функции от абсолютных величин | f i |   невязок (ошибок) f i = f i ( x 1 , x 2 , , x n )  , i = 1 , 2 , , n  . Задача отыскания минимума (или максимума) функции n   переменных и сама по себе имеет большое практическое значение.

Для решения этой задачи итерационными методами начинают с произвольных значений x i [ 0 ] ( i = 1 , 2 , . . . , n )   и строят последовательные приближения:

x [ j + 1 ] = x [ j ] + λ [ j ] v [ j ]  

или покоординатно:

x i [ j + 1 ] = x i [ j ] + λ [ j ] v i [ j ] , i = 1 , 2 , , n , j = 0 , 1 , 2 ,   (3)

которые сходятся к некоторому решению x [ k ]   при j  .

Различные методы отличаются выбором «направления» для очередного шага, то есть выбором отношений

v 1 [ j ] : v 2 [ j ] : : v n [ j ]  .

Величина шага (расстояние, на которое надо передвинуться в заданном направлении в поисках экстремума) определяется значением параметра λ [ j ]  , минимизирующим величину F ( x 1 [ j + 1 ] , x 2 [ j + 1 ] , , x n [ j + 1 ] )   как функцию от λ [ j ]  . Эту функцию обычно аппроксимируют её тейлоровским разложением или интерполяционным многочленом по трем-пяти выбранным значениям λ [ j ]  . Последний метод применим для отыскания max и min таблично заданной функции F ( x 1 , x 2 , . . . , x n )  .

Градиентные методыПравить

Основная идея методов заключается в том, чтобы идти в направлении наискорейшего спуска, а это направление задаётся антиградиентом: F  :

x [ j + 1 ] = x [ j ] λ [ j ] F ( x [ j ] )  ,

где λ [ j ]   выбирается:

  • постоянной, в этом случае метод может расходиться;
  • дробным шагом, то есть длина шага в процессе спуска делится на некое число;
  • наискорейшим спуском: λ [ j ] = a r g m i n λ F ( x [ j ] λ [ j ] F ( x [ j ] ) )  .

Метод наискорейшего спуска (метод градиента)Править

Выбирают v i [ j ] = F x i  , где все производные вычисляются при x i = x i [ j ]  , и уменьшают длину шага λ [ j ]   по мере приближения к минимуму функции F  .

Для аналитических функций F   и малых значений f i   тейлоровское разложение F ( λ [ j ] )   позволяет выбрать оптимальную величину шага

λ [ j ] = k = 1 n ( F x k ) 2 k = 1 n h = 1 n 2 F x k d x h F x k F x h  , (5)

где все производные вычисляются при x i = x i [ j ]  . Параболическая интерполяция функции F ( λ [ j ] )   может оказаться более удобной.

АлгоритмПравить

  1. Задаются начальное приближение и точность расчёта x 0 , ϵ  
  2. Рассчитывают x [ j + 1 ] = x [ j ] λ [ j ] F ( x [ j ] )  , где λ [ j ] = a r g m i n λ F ( x [ j ] λ [ j ] F ( x [ j ] ) )  
  3. Проверяют условие останова:
    • если | x [ j + 1 ] x [ j ] | > ϵ  , то j = j + 1   и переход к шагу 2;
    • иначе x = x [ j + 1 ]   и останов.

Метод покоординатного спуска Гаусса — ЗейделяПравить

Этот метод назван по аналогии с методом Гаусса — Зейделя для решения системы линейных уравнений. Улучшает предыдущий метод за счёт того, что на очередной итерации спуск осуществляется постепенно вдоль каждой из координат, однако теперь необходимо вычислять новые λ n   раз за один шаг.

АлгоритмПравить

  1. Задаются начальное приближение и точность расчёта x 0 0 , ε  
  2. Рассчитывают { x 1 [ j ] = x 0 [ j ] λ 1 [ j ] F ( x 0 [ j ] ) x 1 e 1 x n [ j ] = x n 1 [ j ] λ n [ j ] F ( x n 1 [ j ] ) x n e n  , где λ i [ j ] = a r g m i n λ F ( x i 1 [ j ] λ [ j ] F ( x i 1 [ j ] ) x i e i )  
  3. Проверяют условие остановки:
    • если | x n [ j ] x 0 [ j ] | > ε  , то x 0 [ j + 1 ] = x n [ j ] , j = j + 1   и переход к шагу 2;
    • иначе x = x n [ j ]   и останов.

Метод сопряжённых градиентовПравить

Метод сопряженных градиентов основывается на понятиях прямого метода многомерной оптимизации — метода сопряжённых направлений.

Применение метода к квадратичным функциям в R n   определяет минимум за n   шагов.

АлгоритмПравить

  1. Задаются начальным приближением и погрешностью: x 0 , ε , k = 0  
  2. Рассчитывают начальное направление: j = 0 , S k j = f ( x k ) , x k j = x k  
  3. x k j + 1 = x k j + λ S k j , λ = arg min λ f ( x k j + λ S k j ) , S k j + 1 = f ( x k j + 1 ) + ω S k j , ω = | | f ( x k j + 1 ) | | 2 | | f ( x k j ) | | 2  
    • Если | | S k j + 1 | | < ε   или | | x k j + 1 x k j | | < ε  , то x = x k j + 1   и останов.
    • Иначе
      • если ( j + 1 ) < n  , то j = j + 1   и переход к 3;
      • иначе x k + 1 = x k j + 1 , k = k + 1   и переход к 2.

См. такжеПравить

ЛитератураПравить

  • Акулич И.Л. Математическое программирование в примерах и задачах: Учеб. пособие для студентов эконом. спец. вузов. — М.: Высш. шк., 1986.
  • Гилл Ф., Мюррей У., Райт М. Практическая оптимизация. Пер. с англ. — М.: Мир, 1985.
  • Коршунов Ю.М., Коршунов Ю.М. Математические основы кибернетики. — М.: Энергоатомиздат, 1972.
  • Максимов Ю.А.,Филлиповская Е.А. Алгоритмы решения задач нелинейного программирования. — М.: МИФИ, 1982.
  • Максимов Ю.А. Алгоритмы линейного и дискретного программирования. — М.: МИФИ, 1980.
  • Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. — М.: Наука, 1970. — С. 575-576.