КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Метод покоординатного спуска
Методы спуска Методы минимизации функций многих переменных Основная идея методов спуска состоит в том, чтобы построить алгоритм, позволяющий перейти из точки начального приближения в следующую точку таким образом, чтобы значение целевой функции приблизилось к минимальному. Этот метод является редукцией поиска функции многих переменных к последовательности поиска минимумов функции одной переменной. Пусть – начальное приближение к минимуму Φ(u). Рассмотрим как функцию одной переменной u1 при фиксированных остальных и находим одним из приведенных методов поиска минимума функции одной переменной. Полученное значение u1, доставляющее минимум Φ(u1), обозначим; при этом . Далее, при фиксированных значенияхищем как функции от u2; соответствующее значение u2 обозначим; при этом Этот процесс продолжаем аналогичным образом и для оставшихся координат; в результате получим Таким образом, переходим из точки u 0 в точку u 1. Этот процесс повторяется до тех пор, пока не будет выполнено условие выхода из итераций, например: где ε > 0 — заданная точность. Рассмотрим методы оптимизации 1-ого порядка. Из курса математики известно, что направление наибольшего возрастания функции характеризуется ееградиентом. Если критерий оптимизации задан уравнением: f(х1,x2,…xn), то его градиент в некоторой точке О (из области определения функции) определяется вектором:
.
Известно, что направление вектора градиента совпадает с направлением наибольшего возрастания функции f в данной точке. Противоположное направление - это направление наиболее крутого убывания. Если критерий оптимизации задан аналитически, то вычисление градиента не представляет принципиальных трудностей. Однако, при оптимизации технологических систем критерий оптимизации, как правило задан в виде неявной функции. В этом случае частные производные в точке O находят приближенными методами
,
где Δ - бесконечно малое приращение (1-5% от значения i - ой переменной). Наряду с определением градиентного вектора основным вопросом, решаемым в методах градиента, является выбор шага движения по градиенту. Выбор величины шага в значительной степени зависит от вида поверхности. Если шаг слишком мал, это потребует продолжительных расчетов. Если наоборот размеры шага слишком велики, можно проскочить оптимум. Метод градиента. Опишем принцип использования метода градиента на примере функции двух переменных f= f(Х1, Х2). Этот принцип без изменения переносится на любое число переменных. Рассмотрим двумерную задачу (рис. 5.8)
Рис. 5.8.
Пусть в начальный момент значения X1 и Х2 соответствуют точке М0 (см. рис. 5.8). Цикл расчета начинается с серии пробных шагов. Сначала величине X1 дается небольшое приращение Δ > 0, причем в это время Х2 неизменно. Затем определяется полученное при этом приращение Δ f, величины f, которое можно считать пропорциональным значению величины частной производной. Далее производится приращение величины X2. В это время X1 - const. Получаемое при этом приращение величины f является мерой другой частной производной. После нахождения составляющих градиента делается рабочие шаги в направлении вектора градиента, если стоит задача определения максимума и в направлении противоположном, если решается задача поиска минимума.
i =1, 2, k = 0, 1, 2,..., (5.3)
Таким образом определяются новые значения X1 и Х2, соответствующие точке М1. После каждого рабочего шага оценивается приращение Δ f величины f. Если Δ f >0 при поиске максимума или Δ f <0 при поиске минимума, то движение происходит в правильном направлении, иначе необходимо уменьшить величину шага. В качестве примера рассмотрим задачу поиска минимума функции: f( X)= X 12+25* X 22. Примем величину шага h =1, Δ X1 = Δ X 2 = 0.05. В качестве исходной точки поиска возьмём точку X 0 =(2,2)T . Поиск минимума осуществляем следующими этапами (см. табл. 5.1):
Таблица 5.
Метод Коши (наискорейшего спуска или крутого восхождения). При использовании градиентного метода в задачах оптимизации основной объем вычислении приходится обычно на вычисление градиента целевой функции в каждой точке траектории спуска. Поэтому целесообразно уменьшить количество таких точек без ущерба для самого решения. Это достигается в методе Коши (наискорейшего спуска). Согласно этому методу, после определения направления поиска оптимума в начальной точке, в этом направлении делают не один шаг, а двигаются до тех пор пока происходит улучшение функции, достигая таким образом, экстремума в некоторой точке. В этой точке вновь определяют направление поиска (с помощью градиента) и ищут новую точку оптимума целевой функции и т.д. (см. рис. 5.9). В этом методе поиск происходит более крупными шагами, и градиент функции вычисляется в меньшем числе точек(см. рис. 5.9). Заметим, что метод наискорейшего спуска сводит многомерную задачу оптимизации к последовательности одномерных задач оптимизации, которые могут решаться, например, методом золотого сечения или половинного деления.
а) б) Рис. 5.9. Метод наискорейшего спуска а) Поиск максимума с выбором оптимального шага. б) Сравнение с методом градиента. Величину шага h можно определить из условия минимума f (Xk+hkSk):
Пример. В качестве примера рассмотрим задачу поиска минимума функции: f(X)=X12+25X22.
Дата добавления: 2014-01-07; Просмотров: 2401; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |