![]() Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Градиентные методы решения задач нелинейного программирования ⇐ ПредыдущаяСтр 4 из 4
Градиентные методы позволяют находить приближенное решение любой задачи нелинейного программирования. Однако в общем случае это будет точка локального экстремума. Поэтому более целесообразно использовать градиентные методы для нахождения решения задач выпуклого программирования, в которых локальный экстремум является одновременно и глобальным. Процесс нахождения решения задачи с помощью градиентных методов состоит в том, что начиная с некоторой точки Наиболее распространенными из градиентных методов являются методы приведенного градиента Вулфа, штрафных функций и Эрроу−Гурвица.
5.4.1 Метод приведенного градиента Вулфа
Пусть требуется минимизировать целевую функцию
при условиях
где матрица А − матрица порядка m×n и ранга m, b − вектор из Еm, функция f непрерывно дифференцируема в Еn. Заметим, что ограничения (5.26) линейные. Предположим, что А невырожденная матрица, а x - допустимая точка. Матрицу А можно представить в виде Пусть Пусть
= Мы должны выбрать вектор Здесь вектор В целях сокращения записей символ, означающий транспонирование опущен.
Алгоритм метода приведенного градиента.
Пусть имеем задачу (5.26). Предположим, что любые m столбцов матрицы А линейно независимы и что каждая экстремальная точка допустимой области (5.26) имеет m строго положительных компонент. Указанный алгоритм сходится к точке Куна−Таккера при условии, что в качестве базисных переменных выбраны m наибольших положительных переменных. Начальный этап. Выбрать точку Основной этап. Шаг 1. Положить Ik − множество индексов m наибольших компонент вектора
Шаг 2. Решить следующую задачу одномерной минимизации: минимизировать при условии где
Здесь Положим λk равным оптимальному и
Пример 5.4. Рассмотрим задачу: минимизировать при условиях
В качестве начальной точки выберем Градиент функции Информацию по каждой итерации будем представлять в виде таблицы, подобной симплекс-таблице. Итерация 1. Поиск направления. В точке
Результаты вычислений будем помещать в таблицу 5.2. В соответствии с (5.30) имеем Линейный поиск. При начальной точке
Значение целевой функции в точке
так что задача линейного поиска имеет вид: минимизировать при условии
Отсюда
Итерация 2. Поиск направления. В точке
В соответствии с (5.29) имеем
Тогда, согласно (5.30) имеем, что
Вектор
Таким образом, вектор направления равен
Линейный поиск. Начиная процедуру из точки Значение целевой функции в точке Минимизировать при условии Отсюда Итерация 3. Поиск направления. Теперь I3={1,2}, то есть B=[a1,a2] и D=[a3,a4]. Имеем
Вектор
Отсюда
Таблица 5.2 – Результаты вычислений методом градиента Вулфа
5.4.2 Метод штрафных функций
Для определенности рассмотрим задачу нахождения максимального значения вогнутой функции Вместо непосредственного решения вышеприведенной задачи, находят максимальное значение функции
где
а Используя штрафную функцию, последовательно переходят от одной точки к другой до тех пор, пока не получат приемлемое решение. При этом координаты последующей точки находят по формуле
Из соотношения (5.34) следует, что если предыдущая точка находится в области допустимых решений исходной задачи, то второе слагаемое в квадратных скобках равно нулю и переход к последующей точке определяется только градиентом целевой функции. Если же указанная точка не принадлежит области допустимых решений, то за счет данного слагаемого на последующих итерациях достигается возвращение в область допустимых решений. При этом значении Алгоритм метода штрафных функций. Процесс нахождения решения задачи выпуклого программирования включает следующие этапы: 1. Определяют исходное допустимое решение. 2. Задают точность вычислений (штрафной параметр λ). 3. Находят по всем переменным частные производные от целевой функции и функций, определяющих область допустимых решений задачи. 4. По формулам (5.34) находят координаты точки, определяющей возможное новое решение задачи. 5. Проверяют, удовлетворяют ли координаты найденной точки системе ограничений задачи. Если нет, то переходят к следующему этапу. Если координаты найденной точки удовлетворяют системе ограничений, то исследуют необходимость перехода к последующему допустимому решению. В случае такой необходимости переходят к этапу 2, в противном случае найдено решение задачи с заданной точностью. 6. Устанавливают значение весовых коэффициентов и переходят к этапу 4. Пример 5.5. Найти максимальное значение функции при условиях Целевая функция данной задачи представляет собой отрицательно−определенную квадратичную форму, а ограничения – выпуклую область. Следовательно, имеем задачу выпуклого программирования. Построим область допустимых решений задачи и линии уровня (рисунок 5.5). Точка касания одной из этих окружностей с областью допустимых решений и является искомой точкой максимума целевой функции.
Рисунок 5.5 – Область допустимых значений и линии уровня
В качестве начальной точки возьмем x(0)=(6,7) и положим λ=0,1. Определим частные производные:
Далее, используя формулу (5.34), построим последовательность точек для определения приемлемого решения. Итерация 1. Так как точка x(0)=(6,7) принадлежит области допустимых решений, то
Найдем Итерация 2.
Итерация 3.
Итерация 4. Точка = =
Аналогично получим:
Здесь возникает вопрос о выборе весового коэффициента a. Выберем его так, чтобы точка Результаты вычислений приведены в таблице 5.3.
Таблица 5.3 – Результаты вычислений методом штрафных функций
Сравнивая значения целевой функции, полученные в 10-й и 12-й итерациях, видим, что они совпадают с точностью до 10-1. Это говорит о близости точки
Вычислим отношения одноименных координат векторов: В заключении заметим, что на практике используются несколько вариантов штрафных функций, а также то, что решение сложных задач нелинейного программирования градиентными методами связано с большим объемом вычислений и целесообразно только с использованием ЭВМ.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-04-12; просмотров: 366. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |