Смекни!
smekni.com

Математические методы исследования операций в экономике (стр. 17 из 37)

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

Название метода можно было бы понимать буквально, если бы речь шла о минимизации целевой функции. Тем не менее по тра­диции такое название используется и при решении задачи на максимум.

Пустьf(x)=f(x1,x1,...xn) —дифференцируемая функция, заданная на Rn, а х(q) =(x1(q),x2(q),...,xn(q)) — некоторая текущая точка. Оговоримся, что каких-либо общих рекомендаций, каса­ющихся выбора исходной точки (или, как еще говорят, началь­ного приближения) х(0), не существует, однако по возможно­сти она должна находиться близко от искомого оптимального плана х*. Как уже говорилось выше, если х(q)— нестационарная точка (т. е. |

f(x(q))|>0), то при движении в направлении
f(x(q)) функция f) на некотором промежутке обязательно будет возрастать. Отсюда возникает естественная идея такого выбора шага, чтобы движение в указанном направлении продол­жалось до тех пор, пока возрастание не прекратится. Для этого выразим зависимость значенияf(x) от шагового множителя λ > 0. полагая х = х(q) + λ
f(x(q))

или, в координатной форме,

Чтобы добиться наибольшего из возможных значений f при движении по направлению

f(x(q)), нужно выбрать такое значе­ние
, которое максимизирует функцию φ(λ) (φ(
)= max(φ(λ)). Для вычисления
, используется необходимое условие экстре­мума dφ(λ)/dλ =0. Заметим, что если для любого λ>0 dφ(
)/dλ> 0, то функция f(х) не ограничена сверху (т. е. не име­ет максимума). В противном случае, на основе (2.10) получаем

что, в свою очередь, дает

Если считать, что следующая точка х(q+1) соответствует оп­тимальному значению λ=

, то в ней должно выполняться условиеdφ(
)/dλ =0, и
следует находить из условия
f(x(q+1))
f(x(q))=0 или

Условие (2.13) означает равенство нулю скалярного про­изведения градиентов функции f точках x(q+1) и x(q). Гео­метрически оно может быть интерпретировано как перпенди­кулярность векторов градиентов функции f в указанных точ­ках, что и показано на рис. 2.2. Продолжая геометрическую интерпретацию метода наискорейшего спуска, отметим, что в точкеx(q+1) вектор

f(x(q+1)), будучи градиентом, перпендику­лярен линии уровня, проходящей через данную точку. Стало быть, вектор
f(x(q)) является касательным к этой линии. Итак, движение в направлении градиента
f(x(q)) следует продолжать до тех пор, пока он пересекает линии уровня оп­тимизируемой функции.

После того как точка x(q+1) найдена, она становится текущей для очередной итерации. На практике признаком достижения стационарной точки служит достаточно малое изменение коор­динат точек, рассматриваемых на последовательных итераци­ях. Одновременно с этим координаты вектора Δf(x(q)) должны быть близки к нулю.

Метод дробления шага

Для нахождения шага λ в методе наискорейшего спуска требу­ется решить уравнение (2.13), которое может оказаться доста­точно сложным. Поэтому часто ограничиваются «подбором» такого значения λ, что φ(λ) > φ(0). Для этого задаются некото­рым начальным значением λ1, (например,λ1=l) и проверяют условие φ(λ1) >φ(0). Если оно не выполняется, то полагают

λ2= 1/2 λ1

и т. д. до тех пор, пока не удается найти подходящий шаг, с кото­рым переходят к следующей точке x(q+1). Критерий завершения алгоритма, очевидно, будет таким же, как и в методе наискорей­шего спуска.

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

в случае градиентных методов, может быть осуществлен за счет подбора соответствующих начальных приближений х(0).

Однако существует один класс функций, для которых гради­ентные методы приводят к нахождению глобального оптимума. Это выпуклые функции.

-Функция f(x) = f (x1, x2, …, xn)называетсявыпуклой в области D, если для любых двух точекх(1),

х(2) ÎD и любо­гоλ Î [0,1] выполняется неравенство

если же

то функция называется вогнутой.

Геометрический смысл понятий выпуклости и вогнуто­сти для случая функции одной переменной представлен на рис. 2.3. Из него, в частности, видно, что график выпуклой функ­ции лежит ниже отрезка, соединяющего точки (х(1), f(x(1))) и (х(2), f(x(2))), а график вогнутой — выше.

Можно доказать, что достаточным условием выпуклости функцииf (x1, x2, …, xn) является положительная определен­ность матрицы

называемой также матрицей Гессе, во всех точках х Î D. Со­ответственно, достаточным условием вогнутости являет­ся отрицательная определенность матрицы Гессе. В част­ности, для функций одной переменной достаточным условием выпуклости (вогнутости) является выполнение неравенства fn(x)≥0 (fn(x)≤0).

Как следует из геометрической интерпретации, для выпук­лой функции локальный экстремум, если он существует, совпа­дает с глобальным. Справедлива теорема.

Теорема 2.2. Если f(x) выпуклая (вогнутая) на Rnфункция и
f(x*)=0, тох* — точка глобального мини­мума (максимума).

Доказательство.

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

Пусть х — произвольная точка, отличная от точки х*. Тогда, для любого λ Î [0,1], в силу вогнутости функцииf(x) будет вы­полняться

из чего следует

Если ввести вектор l = х - х* и обозначить Δх = λ(xх*) = λl, то длина вектора Δх будет равна ||Δx||=λ||l||. Следовательно,

Устремив λ → 0 и учитывая, что вектор l сонаправлен с Δх, получим

По условию теоремы

f(x*)=0. Это означает, что для любо­го вектора l (а, стало быть, для любой точки х) согласно формуле, выражающей производную по направлению через градиент,