Метод наискорейшего градиентного спуска.

Также можно искать не наилучшую точку в направлении градиента, а какую-либо лучше текущей.

Наиболее простой в реализации из всех методов локальной оптимизации. Имеет довольно слабые условия сходимости, но при этом скорость сходимости достаточно мала (линейна). Шаг градиентного метода часто используется как часть других методов оптимизации, например, метод Флетчера - Ривса .

Описание [ | ]

Усовершенствования [ | ]

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

Для функций, близких к квадратичным, эффективным является метод сопряжённых градиентов .

Применение в искусственных нейронных сетях [ | ]

Метод градиентного спуска с некоторой модификацией широко применяется для обучения перцептрона и в теории искусственных нейронных сетей известен как метод обратного распространения ошибки . При обучении нейросети типа «персептрон» требуется изменять весовые коэффициенты сети так, чтобы минимизировать среднюю ошибку на выходе нейронной сети при подаче на вход последовательности обучающих входных данных. Формально, чтобы сделать всего один шаг по методу градиентного спуска (сделать всего одно изменение параметров сети), необходимо подать на вход сети последовательно абсолютно весь набор обучающих данных, для каждого объекта обучающих данных вычислить ошибку и рассчитать необходимую коррекцию коэффициентов сети (но не делать эту коррекцию), и уже после подачи всех данных рассчитать сумму в корректировке каждого коэффициента сети (сумма градиентов) и произвести коррекцию коэффициентов «на один шаг». Очевидно, что при большом наборе обучающих данных алгоритм будет работать крайне медленно, поэтому на практике часто производят корректировку коэффициентов сети после каждого элемента обучения, где значение градиента аппроксимируются градиентом функции стоимости, вычисленном только на одном элементе обучения. Такой метод называют стохастическим градиентным спуском или оперативным градиентным спуском . Стохастический градиентный спуск является одной из форм стохастического приближения. Теория стохастических приближений даёт условия сходимости метода стохастического градиентного спуска.

Ссылки [ | ]

  • J. Mathews. Module for Steepest Descent or Gradient Method. (недоступная ссылка)

Литература [ | ]

  • Акулич И. Л. Математическое программирование в примерах и задачах. - М. : Высшая школа, 1986. - С. 298-310.
  • Гилл Ф., Мюррей У., Райт М. Практическая оптимизация = Practical Optimization. - М. : Мир, 1985.
  • Коршунов Ю. М., Коршунов Ю. М. Математические основы кибернетики. - М. : Энергоатомиздат, 1972.
  • Максимов Ю. А., Филлиповская Е. А. Алгоритмы решения задач нелинейного программирования. - М. : МИФИ, 1982.
  • Максимов Ю. А. Алгоритмы линейного и дискретного программирования. - М. : МИФИ, 1980.
  • Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. - М. : Наука, 1970. - С. 575-576.
  • С. Ю. Городецкий, В. А. Гришагин. Нелинейное программирование и многоэкстремальная оптимизация. - Нижний Новгород: Издательство Нижегородского Университета, 2007. - С. 357-363.
Назначение сервиса . Онлайн-калькулятор используется для нахождения минимума функции методом наискорейшего спуска или методом Коши (см. пример). Решение оформляется в формате Word .

f(x 1 ,x 2) =

Для нахождения максимума функции , необходимо умножить целевую функцию на (-1) , т.е. Fmin = -Fmax .
Метод отыскания минимума функции Метод наискорейшего спуска Метод Ньютона
Начиная из точки ( ; ) .
Точность ξ = . Количество итераций 1 2 3

Правила ввода функции

В методе наискорейшего спуска в качестве направления поиска выбирается вектор, направление которого противоположно направлению вектора градиента функции ▽f(x). Из математического анализа известно, что вектор grad f(x)=▽f(x) характеризует направление наиболее быстрого возрастания функции (см. градиент функции). Поэтому вектор - grad f (X) = -▽f(X) называется антиградиентом и является направлением наиболее быстрого ее убывания. Рекуррентное соотношение, с помощью которого реализуется метод наискорейшего спуска, имеет вид X k +1 =X k - λ k ▽f(x k), k = 0,1,...,
где λ k >0 - величина шага. В зависимости от выбора величины шага можно получить различные варианты градиентного метода. Если в процессе оптимизации величина шага λ фиксирована, то метод носит название градиентного метода с дискретным шагом. Процесс оптимизации на первых итерациях можно значительно ускорить, если λ k выбирать из условия λ k =min f(X k + λS k) .
Для определения λ k используется любой метод одномерной оптимизации. В этом случае метод называется методом наискорейшего спуска. Как правило, в общем случае недостаточно одного шага для достижения минимума функции, процесс повторяют до тех пор, пока последующие вычисления позволяют улучшать результат.
Если пространство очень вытянуто по некоторым переменным, то образуется “овраг”. Поиск может замедлиться и идти зигзагами поперек дна “оврага”. Иногда решение невозможно получить за приемлемое время.
Еще одним недостатком метода может быть критерий остановки ||▽f(X k)|| <ε k , так как этому условию удовлетворяет и седловая точка, а не только оптимум.

Пример . Начиная из точки x k =(-2, 3) определите точку x k +1 методом наискорейшего спуска для минимизации функции .
В качестве направления поиска выберем вектор градиент в текущей точке

Проверим критерий остановки . Имеем
Вычислим значение функции в начальной точке f(X 1) = 35. Сделаем
шаг вдоль направления антиградиента

Вычислим значение функции в новой точке
f(X 2) = 3(-2 + 19λ 1) 2 + (3-8λ 1) 2 - (-2 + 19λ 1)(3-8λ 1) - 4(-2 + 19λ 1)
Найдем такой шаг, чтобы целевая функция достигала минимума вдоль этого направления. Из необходимого условия существования экстремума функции
f’(X 2) = 6(-2 + 19λ 1) 19 + 2(3-8λ 1)(-8) – (73 - 304 λ 1) – 4*19
или f’(X 2) = 2598 λ 1 – 425 = 0.
Получим шаг λ 1 = 0.164
Выполнение этого шага приведет в точку

в которой значение градиента , значение функции f(X 2) = 0.23. Точность не достигнута, из точки делаем шаг вдоль направления антиградиента .

f(X 2) = 3(1,116 – 1,008λ 1) 2 + (1,688-2,26λ 1) 2 - (1,116 – 1,008λ 1)(1,688-2,26λ 1) - 4(1,116 – 1,008λ 1)
f’(X 2) = 11,76 – 6,12λ 1 = 0
Получаем λ 1 = 0.52

Метод наискорейшего спуска является градиентным методом с переменным шагом. На каждой итерации величина шага k выбирается из условия минимума функции f(x) в направлении спуска, т.е.

Это условие означает, что движение вдоль антиградиента происходит до тех пор, пока значение функции f (x) убывает. С математической точки зрения на каждой итерации необходимо решать задачу одномерной минимизации по функции

()=f (x (k) -f (x (k)))

Воспользуемся для этого методом золотого сечения.

Алгоритм метода наискорейшего спуска состоит в следующем.

    Задаются координаты начальной точки x (0) .

    В точке x (k) , k = 0, 1, 2, …, вычисляется значение градиентаf (x (k)).

    Определяется величина шага k путем одномерной минимизации по функции

()=f (x (k) -f (x (k))).

    Определяются координаты точки x (k) :

x i (k+1) = x i (k) - k f i (x (k)), i=1, …, n.

    Проверяется условие останова итерационного процесса:

||f (x (k +1))|| .

Если оно выполняется, то вычисления прекращаются. В противном случае осуществляется переход к п. 1. Геометрическая интерпретация метода наискорейшего спуска представлена на рис. 1.

Рис. 2.1. Блок схема метода наискорейшего спуска.

Реализация метода в программе:

Метод наискорейшего спуска.

Рис. 2.2. Реализация метода наискорейшего спуска.

Вывод: В нашем случае метод сошёлся за 7 итераций. Точка А7 (0,6641; -1,3313) является точкой экстремума. Метод сопряженных направлений. Для квадратичных функций можно создать градиентный метод, при котором время сходимости будет конечным и равно числу переменных n.

Назовем некоторое направление исопряженными по отношению к некоторой положительно определенной матрице ГессаH, если выполняется:

Тогда т.е.. Значит при единичнойH, сопряженное направление означает их перпендикуляр. В общем же случае H неединичная. В общем случае сопряженность - это применение матрицы Гесса к вектору - означает поворот этого вектора на некоторый уголи его растяжение или сжатие.

А теперь вектору векторортогонален т. е. сопряженность это не ортогональность векторови, а ортогональность повернутого векторат.е.и.

Рис. 2.3. Блок-схема метода сопряженных направлений.

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

Рис. 2.4. Реализация метода сопряженных направлений.

Рис. 2.5. График метода сопряженных направлений.

Вывод: Точка А3 (0,6666; -1,3333), была найдена за 3 итерации и является точкой экстремума.

3. Анализ методов определения минимального, максимального значения функции при наличии ограничений

Напомним, что общая задача условной оптимизациивыглядит так

f(x) ® min, x Î W,

где W - собственное подмножество R m . Подкласс задач с ограничениями типа равенств выделяется тем, что множество  задается ограничениями вида

f i (x) = 0, где f i: R m ®R (i = 1, …, k).

Таким образом,W = {x Î R m: f i (x) = 0, i = 1, …, k}.

Нам будет удобно писать у функции f индекс "0". Таким образом, задача оптимизации с ограничениями типа равенств записывается в виде

f 0 (x) ® min, (3.1)

f i (x) = 0, i = 1, …, k. (3.2)

Если обозначить теперь через f функцию на R m со значениями в R k , координатная запись которой имеет вид f(x) = (f 1 (x), …, f k (x)), то (3.1)–(3.2)можно также записать в виде

f 0 (x) ® min, f(x) = Q.

Геометрически задача с ограничениями типа равенств - это задача о поиске наинизшей точки графика функции f 0 над многообразием  (см. рис. 3.1).

Точки, удовлетворяющие всем ограничениям (т. е. точки множества ), обычно называют допустимыми. Допустимая точка x* называется условным минимумом функции f 0 при ограничениях f i (x) = 0, i = 1, ..., k (или решением задачи (3.1)–(3.2)), если при всех допустимых точкахx f 0 (x*)  f 0 (x). (3.3)

Если (3.3)выполняется только для допустимыхx, лежащих в некоторой окрестности V x * точки x*, то говорят о локальном условном минимуме. Естественным образом определяются понятия условных строгих локального и глобального минимумов.

При использовании метода наискорейшего спуска на каждой итерации величина шага а k выбирается из условия минимума функции f(x) в направлении спуска, т. е.

f(x [k ] -a k f"(x [k ])) = f(x [k] - af"(x [k ])) .

Это условие означает, что движение вдоль антиградиента происходит до тех пор, пока значение функции f(x) убывает. С математической точки зрения на каждой итерации необходимо решать задачу одномерной минимизации по а функции

j(a) = f(x [k ] - af"(x [k ])) .

Алгоритм метода наискорейшего спуска состоит в следующем.

  • 1. Задаются координаты начальной точки х .
  • 2. В точке х [k ], k = 0, 1, 2, ... вычисляется значение градиента f"(x [k ]) .
  • 3. Определяется величина шага a k , путем одномерной минимизации по а функции j(a) = f(x [k ] - af"(x [k ])).
  • 4. Определяются координаты точки х [k+ 1]:

х i [k+ 1] = x i [k ] - а k f" i [k ]), i = 1 ,..., п.

5. Проверяются условия останова стерационного процесса. Если они выполняются, то вычисления прекращаются. В противном случае осуществляется переход к п. 1.

В рассматриваемом методе направление движения из точки х [k ] касается линии уровня в точке x [k+ 1] (Рис. 2.9). Траектория спуска зигзагообразная, причем соседние звенья зигзага ортогональны друг другу. Действительно, шаг a k выбирается путем минимизации по а функции?(a) = f(x [k] - af"(x [k ])) . Необходимое условие минимума функции d j(a)/da = 0. Вычислив производную сложной функции, получим условие ортогональности векторов направлений спуска в соседних точках:

d j(a)/da = -f"(x [k+ 1]f"(x [k ]) = 0.

Рис. 2.9.

Градиентные методы сходятся к минимуму с высокой скоростью (со скоростью геометрической прогрессии) для гладких выпуклых функций. У таких функций наибольшее М и наименьшее m собственные значения матрицы вторых производных (матрицы Гессе)

мало отличаются друг от друга, т. е. матрица Н(х) хорошо обусловлена. Напомним, что собственными значениями l i , i =1, …, n , матрицы являются корни характеристического уравнения

Однако на практике, как правило, минимизируемые функции имеют плохо обусловленные матрицы вторых производных (т/М << 1). Значения таких функций вдоль некоторых направлений изменяются гораздо быстрее (иногда на несколько порядков), чем в других направлениях. Их поверхности уровня в простейшем случае сильно вытягиваются (Рис. 2.10), а в более сложных случаях изгибаются и представляют собой овраги. Функции, обладающие такими свойствами, называют овражными. Направление антиградиента этих функций (см. Рис. 2.10) существенно отклоняется от направления в точку минимума, что приводит к замедлению скорости сходимости.

Рис. 2.10.

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

Постановка задачи

Пусть дана функция f (х) R n

Требуется f (х) X = R n

Стратегия поиска

x k } , k = 0,1,..., таких, что , k = 0,1,... . Точки последовательности {x k } вычисляются по правилу

где точка х 0 задается пользователем; величина шага t k определяется для каждого значения k из условия

Решение задачи (3) может осуществляться с использованием необходи­мого условия минимума с последующей проверкой достаточного условия минимума . Такой путь может быть использован либо при достаточно простой минимизируемой функции , либо при предварительной аппроксимации достаточно сложной функции полиномом P(t k) (как правило, второй или третьей степени), и тогда условие замещается условием , а условие условием

Построение последовательности { x k } заканчивается в точке x k , для которой , где ε - заданное малое положительное число, или k ≥ M , где М - предельное число итераций, или при двукратном одновременном выполнении двух неравенств , где ε 2 - малое положительное число. Вопрос о том, может ли точка x k рассматриваться как найденное приближение искомой точки локального минимума x * , решается путем дополни­тельного исследования.

Геометрическая интерпретация метода для n=2 на рис. 4.

Метод покоординатного спуска

Постановка задачи

Пусть дана функция f (х) , ограниченная снизу на множестве R n и имеющая непрерывные частные производные во всех его точках.

f (х) на множестве допустимых решений X = R n , т.е. найти такую точку , что

Стратегия поиска

Стратегия решения задачи состоит в построении последовательности точек {x k } , k = 0,1,..., таких, что , k = 0,1,... . Точки последовательности {x k } вычисляются по циклам в соответствии с правилом

(4)

где j - номер цикла вычислений; j = 0,1,2,...; k - номер итерации внутри цикла, k = 0,1,... ,n - 1; е k +1 , k = 0,l,...,n - 1 -единичный вектор, (k +1) -я проекция ко­торого равна 1; точка х 00 задается пользователем, величина шага t k выбирается из условия

или .

Если выбранное условие при текущем t k не выполняется, шаг уменьшается вдвое и точка вычисляется заново. Легко видеть, что при фиксированном j за одну итерацию с номером k изменяется только одна проекция точки х jk , имеющая номер k + 1 , а в течение всего цикла с номером j , т.е. начиная с k = 0 и кончая k = n -1 , изменяются все п проекций точки х j0 . После этого точке х j n присваивается номер х j + 1,0 , и она берется за на­чальную точку для вычислений в j + 1 цикле. Расчет заканчивается в точке х jk при выполнении по крайней мере одного из трех критериев окончания счета: , или , или двукратного выполнения неравенств .

Полученные в результате вычислений точки могут быть записаны как эле­менты последовательности {х l }, где l=n*j+k - порядковый номер точки,

Геометрическая интерпретация метода для п = 2 приведена на рис. 5.

4. Метод Франка-Вулфа .

Пусть требуется найти максимальное значение вогнутой функции

При условиях

Характерной особенностью этой задачи является то, что ее система ограничений содержит только линейные неравенства. Эта особенность является основой для замены в окрестности исследуемой точки нелинейной целевой функции линейной, благодаря чему решение исходной задачи сводится к последовательному решению задач линейного программирования.
Процесс нахождения решения задачи начинают с определения точки, принадлежащей области допустимых решений за-
270
дачи. Пусть это точка X (k) тогда в этой точке вычисляют градиент функции (57)

И строят линейную функцию

Затем находят максимальное значение этой функции при ограничениях (58) и (59). Пусть решение данной задачи определяется точкой Z (k) . Тогда за новое допустимое решение исходной задачи принимают координаты точки X (k +1) :

Где λ k - некоторое число, называемое шагом вычислений и заключенное между нулем и единицей (0< λ k < 1). Это число λ k берут произвольно или определяют

таким образом, чтобы значение функции в точке X (k +1) f(X (k +1)) , зависящее от λ k , было максимальным. Для этого необходимо найти решение уравнения и выбрать его наименьший корень. Если его значение больше единицы, то следует положить λ k =1 . После определения числа λ k находят координаты точки X (k +1) вычисляют значение целевой функции в ней и выясняют необходимость перехода к новой точке X (k +2) . Если такая необходимость имеется, то вычисляют в точке X (k +1) градиент целевой функции, переходят к соответствующей задаче линейного программирования и находят ее решение. Определяют координаты точки и X (k +2) и исследуют необходимость проведения дальнейших вычислений. После конечного числа шагов получают с необходимой точностью решение исходной задачи.

Итак, процесс нахождения решения задачи (57) - (59) методом Франка-Вулфа включает следующие этапы :

1. Определяют исходное допустимое решение задачи.
2. Находят градиент функции (57) в точке допустимого решения.
3. Строят функцию (60) и находят ее максимальное значение при условиях (58) и (59).
4. Определяют шаг вычислений.
5. По формулам (61) находят компоненты нового допустимого решения.
6. Проверяют необходимость перехода к последующему допустимому решению. В случае необходимости переходят к этапу 2, в противном случае найдено приемлемое решение исходной задачи.

Метод штрафных функций.

Рассмотрим задачу определения максимального значения вогнутой функции

f (х 1 , х 2 , .... х n) при условиях g i (х 1 , х 2 , .... х n) b i (i=l, m) , х j ≥ 0 (j=1, n) , где g i (х 1 , х 2 , .... х n) - выпуклые функции.

Вместо того чтобы непосредственно решать эту задачу, находят максимальное значение функции F(х 1 , х 2 , ...., х n)= f(х 1 , х 2 , ...., х n) +H(х 1 , х 2 , ...., х n) являющейся суммой целевой функции задачи, и некоторой функции

H(х 1 , х 2 , ...., х n) , определяемой системой ограничений и называемой штрафной функцией . Штрафную функцию можно построить различными способами. Однако наиболее часто она имеет вид

А a i > 0 - некоторые постоянные числа, представляющие собой весовые коэффициенты.
Используя штрафную функцию, последовательно переходят от одной точки к другой до тех пор, пока не получат приемлемое решение. При этом координаты последующей точки находят по формуле

Из последнего соотношения следует, что если предыдущая точка находится в области допустимых решений исходной задачи, то второе слагаемое в квадратных скобках равно нулю и переход к последующей точке определяется только градиентом целевой функции. Если же указанная точка не принадлежит области допустимых решений, то за счет данного слагаемого на последующих итерациях достигается возвращение в область допустимых
решений. При этом, чем меньше a i , тем быстрее находится приемлемое решение, однако точность определения его снижается. Поэтому итерационный процесс обычно начинают при сравнительно малых значениях a i и, продолжая его, эти значения постепенно увеличивают.

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

1. Определяют исходное допустимое решение.
2. Выбирают шаг вычислений.
3. Находят по всем переменным частные производные от целевой функции и функций, определяющих область допустимых решений задачи.

4. По формуле (72) находят координаты точки, определяющей возможное новое решение задачи.
5. Проверяют, удовлетворяют ли координаты найденной точки системе ограничений задачи. Если нет, то переходят к следующему этапу. Если координаты найденной точки определяют допустимое решение задачи, то исследуют необходимость перехода к последующему допустимому решению. В случае такой необходимости переходят к этапу 2, в противном случае найдено приемлемое решение исходной задачи.
6. Устанавливают значения весовых коэффициентов и переходят к этапу 4.

Метод Эрроу - Гурвица.

При нахождении решения задач нелинейного программирования методом штрафных функций мы выбирали значения a i , произвольно, что приводило к значительным колебаниям удаленности определяемых точек от области допустимых решений. Этот недостаток устраняется при решении задачи методом Эрроу - Гурвица, согласно которому на очередном шаге числа a i (k) вычисляют по формуле

В качестве начальных значений a i (0) берут произвольные неотрицательные числа.

ПРИМЕР РЕШЕНИЯ

Пример 1 .

Найти локальный минимум функции

Определение точки х k

1.Зададим .

2. Положим к = 0 .

3 0 . Вычислим

4 0 . Вычислим . Переходим к шагу 5.

5 0 . Проверим условие . Переходим к шагу 6.

6 0 . Зададим t 0 = 0,5 .

7 0 . Вычислим

8 0 . Сравним . Имеем . Вывод: условие для k = 0 не выполняется. Зададим t 0 = 0,25 , переходим к по­вторению шагов 7, 8.

7 01 . Вычислим .

8 01 . Сравним f (х 1) и f (х 0) . Вывод: f (x 1) < f (x 0) . Переходим к шагу 9.

9 0 . Вычислим

Вывод: полагаем k =1 и переходим к шагу 3.

3 1 . Вычислим

4 1 . Вычислим . Переходим к шагу 5.

5 1 . Проверим условие k ≥ M: k = 1 < 10 = M . Переходим к шагу 6.

6 1 . Зададим t 1 = 0,25.

7 1 . Вычислим

8 1 . Сравним f (х 2) с f (х 1) . Вывод: f (х 2) < f (х 1). Переходим к шагу 9.

9 1 . Вычислим

Вывод: полагаем k = 2 и переходим к шагу 3.

3 2 . Вычислим

4 2 . Вычислим . Переходим к шагу 5.

5 2 . Проверим условие k ≥ M : k = 2 < 10 = М , переходим к шагу 6.

6 2 . Зададим t 2 =0,25 .

7 2 . Вычислим

8 2 . Сравним f (х 3) и f (х 2) . Вывод: f (х 3) < f (х 2) .Переходим к шагу 9.

9 2 . Вычислим

Вывод: полагаем k = 3 и переходим к шагу 3.

3 3 . Вычислим

4 3 . Вычислим . Переходим к шагу 5.

5 3 . Проверим условие k ≥ M : k = 3<10 = М , переходим к шагу 6.

6 3 . Зададим t 3 = 0,25.

7 3 . Вычислим

8 3 . Сравним f (х 4) и f (х 3) : f (х 4) < f (х 3) .

9 3 . Вычислим

Условия выполнены при k = 2,3 . Расчет

окончен. Найдена точка

На рис. 3 полученные точки соединены пунктирной линией.

II. Анализ точки х 4 .

Функция является дважды дифференцируемой, поэтому проведем проверку достаточных условий минимума в точке х 4 . Для этого проанализируем матрицу Гессе .

Матрица постоянна и является положительно определенной (т.е. H > 0 ) , так как оба ее угловых минора и положительны. Следовательно, точка есть найденное приближение точки локального минимума , а значение есть найденное приближение значения f (x *) =0 . Заметим, что условие H > 0 , есть одновременно условие строгой выпуклости функции . Следовательно, есть найден­ные приближения точки глобального минимума f (x) и ее наименьшего значе­ния на R 2 . ■

Пример 2

Найти локальный минимум функции

I. Определение точки х k , в которой выполнен по крайней мере один из критериев окончания расчетов.

1.Зададим .

Найдем градиент функции в произвольной точке

2. Положим к = 0 .

3 0 . Вычислим

4 0 . Вычислим . Переходим к шагу 5.

5 0 . Проверим условие . Переходим к шагу 6.

6° . Следующая точка находится по формуле

Подставим полученные выражения для коор­динат в

Найдем минимум функции f(t 0) по t 0 с помощью необходимых условий безусловного экстремума:

Отсюда t 0 =0.24 . Так как , найденное значение шага обеспечивает минимум функции f(t 0) по t 0 .

Определим

7 0 . Найдем

8°. Вычислим

Вывод: полагаем k = 1 и переходим к шагу 3.

3 1 . Вычислим

4 1 . Вычислим

5 1 . Проверим условие k ≥ 1: k = 1 < 10 = М.

6 1 . Определим

7 1 . Найдем :

8 1 . Вычислим

Полагаем k = 2 и переходим к шагу 3.

3 2 . Вычислим

4 2 . Вычислим

5 2 . Проверим условие k ≥ M: k = 2 < 10 = M .

6 2 . Определим

7 2 . Найдем

8 2 . Вычислим

Полагаем k =3 и переходим к шагу 3.

3 3 . Вычислим

4 3 . Вычислим .

Расчет окончен. Найдена точка

II. Анализ точки х 3 .

В примере 1.1 (гл.2 §1) было показано, что функция f (x) является строго выпуклой и, следовательно, точках3 является найденным приближением точки глобаль­ного минимума х* .

Пример 3.

Найти локальный минимум функции

I. Определение точки x jk , в которой выполнен по крайней мере один из критериев окончания расчетов.

1. Зададим

Найдем градиент функции в произвольной точке

2. Зададим j = 0.

3 0 . Проверим выполнение условия

4 0 . Зададим k = 0.

5 0 . Проверим выполнение условия

6 0 . Вычислим

7 0 . Проверим условие

8 0 . Зададим

9 0 . Вычислим , где

10 0 . Проверим условие

Вы­вод: полагаем и переходим к шагу 9.

9 01 . Вычислим х 01 с шагом

10 01 . Проверим условие

11 0 . Проверим условия

Полагаем k =1 и переходим к шагу 5.

5 1 . Проверим условие

6 1 . Вычислим

7 1 . Проверим условие

8 1 . Зададим

9 1 . Вычислим

10 1 . Проверим условие :

11 1 . Проверим условия

Полагаем k = 2 , переходим к шагу 5.

5 2 . Проверим условие . Зададим , пе­реходим к шагу 3.

3 1 . Проверим условие

4 1 . Зададим k = 0.

5 2 . Проверим условие

6 2 . Вычислим

7 2 . Проверим условие

8 2 . Зададим

9 2 . Вычислим

10 2 . Проверим условие

11 2 . Проверим условия

Полагаем k =1 и переходим к шагу 5.

5 3 . Проверим условие

6 3 . Вычислим

7 3 . Проверим условия

8 3 . Зададим

9 3 . Вычислим

10 3 . Проверим условие

11 3 . Проверим условия

Зададим k = 2 и переходим к шагу 5.

5 4 . Проверим условие

Полагаем j = 2, х 20 = х 12 и переходим к шагу 3.

3 2 . Проверим условие

4 2 . Зададим k =0 .

5 4 . Проверим условие

6 4 . Вычислим

7 4 . Проверим условие

8 4 . Зададим

9 4 . Вычислим

10 4 . Проверим условие , пе­рейдем к шагу 11.

11 4 . Проверим условия

Условия выполнены в двух последовательных циклах с номерами j = 2 и j -1= 1 . Расчет окончен, найдена точка

На рис. 6 полученные точки соединены пунктирной линией.

В методе покоординатного спуска мы спускаемся по ломаной, состоящей из отрезков прямых, параллельных координатным осям.

II. Анализ точки х21 .

В примере 1.1 было показано, что функция f (х) строго выпукла, имеет единственный минимум и, следовательно, точка является найденным приближением точки глобального минимума.

Во всех рас­смотренных выше градиентных методах последовательность точек { x k } сходится к стационарной точке функции f (x) при достаточно общих предложениях относительно свойств этой функции. В частности, справедлива теорема:

Теорема. Если функция f (x) ограничена снизу, ее градиент удовлетворяет условию Липшица () и выбор значения t n производится одним из описанных выше спосо­бов, то, какова бы ни была начальная точка х 0 :

при .

При практической реализации схемы

k =1, 2, … n .

итерации прекращаются, если для всех i , i = 1, 2, ..., n , выпол­нены условия типа

,

где - некоторое заданное число, характеризующее точ­ность нахождения минимума.

В условиях теоремы градиентный метод обеспечи­вает сходимость по функции либо к точной нижней грани (если функция f (х) не имеет минимума; рис. 7), либо к значению функции в некоторой стационарной точке, являющейся пределом последовательности {х к }. Нетрудно придумать примеры, когда в этой точке реализуется седло, а не минимум. На практике ме­тоды градиентного спуска уверенно обходят седловые точки и находят минимумы целевой функции (в общем случае - локальные).

ЗАКЛЮЧЕНИЕ

Выше были рассмотрены примеры градиентных методов безусловной оптимизации. В результате проделанной работы можно сделать следующие выводы:

1. Более или менее сложные задачи отыскания экстремума при наличии огра­ничений требуют специальных подходов, методов.

2. Многие алго­ритмы решения задач с ограничениями включают миними­зацию без ограничений как некоторый этап.

3. Различные методы спуска отличаются друг от друга способами выбора направления спуска и длины шага вдоль этого направления.

4. Нет пока такой теории, которая учла бы любые особенности функций, описывающих постановку задачи. Следует отдавать предпочтение таким методам, которыми проще управлять в процессе решения задачи.

Реальные прикладные задачи оптимизации очень сложны. Современные методы оптимизации далеко не всегда справляются с решением реальных задач без помощи человека.

СПИСОК ЛИТЕРАТУРЫ

1. Косоруков О.А. Исследование операций: учебник. 2003

2. Пантлеев А.В. Методы оптимизации в примерах и задачах: учеб. Пособие. 2005

3. Шишкин Е.В. Исследование операций: учеб. 2006

4. Акулич И.Л. Математическое программирование в примерах и задачах. 1986

5. Вентцель Е.С. Исследование операций. 1980

6. Вентцель Е.С., Овчаров Л.А. Теория вероятностей и её инженерные приложения. 1988


©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-07-02