КАТЕГОРИИ: Архитектура-(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) |
Задачи оптимизации
ЗАДАЧИ И МЕТОДЫ ОПТИМИЗАЦИИ
Общая формулировка задачи параметрической оптимизации сводится к нахождению набора параметров х = (х1, х2, …, хn), который является оптимальным в смысле некоторого критерия. В простейшем случае такая задача сводится к минимизации или максимизации некоторой (целевой) функции без каких-либо ограничений. В более сложных ситуациях на отмеченные параметры могут быть наложены некоторые ограничения в виде равенств, неравенств и параметрических границ. Краткий перечень возможных оптимизационных задач приведен в табл. В.1. Таблица В.1.
Принятые обозначения: а - скалярный аргумент; х, g - векторный аргумент; f (a), f (х) - скалярные функции; F (x), с (x), сeq (x), K (x, w) - векторные функ-ции; A, A eq, H - матрицы; b, b eq, w, g - векторы; x L, x U - соответственно нижняя и верхняя граница области изменения аргумента. Формулировка задачи параметрической оптимизации представляется следующим образом: требуется найти вектор х, обеспечивающий min f (x) при ограничениях gi(x) = 0 (i = 1, 2, …, me); (В.1) gi(x) £ 0 (i = me+1, …, m); x L£ x £ x U, где х - вектор оптимизируемых параметров (х Î Rn); f(x) - скалярная целевая функция (критерий) векторного аргумента (f(x): Rn ® R); gi(x) - также некоторые скалярные функции векторного аргумента. Заметим, что задача максимизации сводится к задаче минимизации заменой f(x) на -f(x). Эффективность и точность решения данной задачи зависит как от числа параметров и ограничений, так и от вида целевой функции. При линейных ограничениях и целевой функции приведенная задача называется задачей линейного программирования, при линейных ограничениях, но при квадратичной (по аргументу) целевой функции - задачей квадратичного программирования, в общем случае - это задача нелинейного программирования. Безусловная оптимизация. Существующие алгоритмы безусловной оптимизации могут быть разделены на две группы: алгоритмы, базирующиеся на использовании производных минимизируемой функции (градиентные и методы второго порядка), и алгоритмы, использующие только значения функции (безградиентные). Безградиентные методы (например, симплексный метод Нелдера-Мида) более пригодны для задач, где минимизируемая функция является существенно нелинейной или имеет разрывы. Градиентные методы используют информацию о наклоне функции для выбора направления поиска экстремума. Градиентные методы первого порядка обычно эффективны в случаях целевых функций, непрерывных вместе с первыми производными. В одном из таких методов - наискорейшего спуска, на каждой итерации движение к точке минимума осуществляется в направлении - Ñf(x) (где Ñf(х) - вектор-градиент целевой функции f(x)). Однако этот метод весьма неэффективен если поверхность целевой функции имеет узкие «овраги», например, как у известной функции Розенброка (поверхность этой функции приведена на рис. В.1)
Минимальное значение данной функции, как нетрудно видеть, равно нулю при x 1 = х 2 = 1. Между тем численные эксперименты показывают, что зачастую метод наискорейшего спуска не обеспечивает нахождение точки экстремума даже после сотен и тысяч итераций. Отметим, что указанную функцию из-за своеобразной формы ее линий равного уровня часто называют "банановой" функцией и используют как тестовую при проверке эффективности различных оптимизационных алгоритмов. Квазиньютоновские алгоритмы являются наиболее распространенными среди алгоритмов, использующих информацию о градиенте. В этих итерационных алгоритмах целевая функция в окрестностях произвольной точки аппроксимируется квадратичной функцией, при этом на каждой итерации решается задача локальной минимизации: min ½ x T Hx + c T x + b, (В.2) где Н - симметричная и положительно определенная матрица вторых частных и смешанных производных (матрица Гессе или гессиан), с – постоянный вектор, b - константа. Оптимальное решение приведенной задачи соответствует нулевым значениям первых производных, т.е. Ñf (x *) = Hx * + c = 0, (В.3) отсюда x * = - H -1 c. Среди подобных алгоритмов одним из наиболее популярных и используемых в пакете Optimization является так называемый BFGS-алгоритм, получивший свое название по фамилиям предложивших его авторов (Broyden, Fletcher, Goldfarb, Shanno). Здесь аппроксимация Н производится итерационно. Рассчитывая на очередной итерации новое направление, он осуществляет движение до достижения минимума целевой функции с использованием методов одномерного поиска. Алгоритмы Ньютона-Гаусса и Левенберга-Марквардта являются методами второго порядка и применяются реже, поскольку требуют больших вычислительных затрат для расчета матриц вторых производных. Они используются в основном для решения задачи нелинейного метода наименьших квадратов (МНК). Минимизация при наличии ограничений. В задачах оптимизации с ограничениями (см. табл. В.1) обычный подход в нахождении решения состоит в замене исходной задачи на задачу без ограничений (задачу безусловной оптимизации), например с помощью метода штрафных функций. В настоящее время, однако, более эффективным считается применение так называемых уравнений Куна-Таккера, которые на основании вышеприведенной формулировки задачи параметрической оптимизации и при некоторых дополнительных предположениях о характере ограничений записываются в виде: ; (В.4) , i= 1, 2, …, me; l i*= 0, i= me +1, …, m, где l i - множители Лагранжа. Для решения данных уравнений в пакете Optimization использован алгоритм так называемого последовательного квадратичного программирования (в оригинале Sequential Quadratic Programming или SQP), представляющий собой по сути разновидность квазиньютоновского метода. Основная идея SQP заключается в применении квадратичной аппроксимации для учитывающей ограничения функции Лагранжа . (В.5) В последней формулировке данная задача может быть решена любым методом решения задач квадратичного программирования. В пакете Optimization для этой цели использован комбинированный алгоритм, объединяющий алгоритм BFGS и так называемый метод проекций. Многокритериальная оптимизация. Достаточно часто в реальных ситуациях качество работы исследуемого объекта или системы оценивается не единственным критерием или показателем качества, а совокупностью таких критериев, причем представляющихся одинаково значимыми. Это приводит к задаче оптимизации с векторной целевой функцией F(x) = {F1(x), F2(x),..., Fk(x)} и формулировкой min F (x) при ограничениях gi(x) = 0 (i = 1, 2, …, me); (В.6) gi(x) £ 0 (i = me+1, …, m); x L£ x £ x U, получившей название задачи многокритериальной или векторной оптимизации. Известно, что решение подобной задачи сводится к нахождению множества точек неулучшаемых решений (Парето-множества), для чего используется, например, метод взвешенной суммы частных критериев или метод e-ограничений. В рассматриваемом пакете для решения задачи многокритериальной оптимизации применен так называемый метод достижения цели, предложенный Gembicki и математически описывающийся соотношениями min g, при ограничениях F i (x) - w i g £ F i*, i= 1, 2, …, m,(В.7) где Q - область допустимых значений х; w i - некоторые весовые коэффициенты; F i* - некоторые устанавливаемые "цели" (goals). В приведенной формулировке задача подобна задаче однокритериальной оптимизации и может решаться с помощью выше отмеченных алгоритмов. Алгоритмы большой размерности. Задачи оптимизации с большим числом оптимизируемых факторов (десятки, сотни, тысячи) и/или сложным, нелинейным характером целевой функции достаточно плохо решаются рассмотренными методами ввиду существенных вычислительных затрат (например, при определении аппроксимации матрицы Гессе), что привело к выделению в отдельную группу алгоритмов большой размерности, оказывающихся эффективными в подобных ситуациях. Данные алгоритмы основаны на идее так называемой области доверия - области N вблизи некоторой точки х, в которой рассматриваемая целевая функция f(x) может быть адекватно аппроксимирована более простой функцией q(s), так что исходная задача оптимизации сводится к задаче min q (s), s ÎN. (В.8) Текущая точка х обновляется, т.е. заменяется точкой x + s, если f(x + s) < f(x), и не изменяется - в противоположном случае. В стандартном подходе предполагается, что как функция q(s), так и область доверия описываются квадратичными функциями. Приложение Г
Дата добавления: 2014-10-23; Просмотров: 900; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |