- •Глава 6. Постановки задачи нелинейного программирования (знп) и основные определения…………………………...3
- •Глава 7. Задача одномерной оптимизации…………………………………….13
- •Глава 8. Графический метод решения знп…………………………………...33
- •Глава 10. Выпуклое программирование……………………………………....62
- •Глава 11. Квадратичное программирование…………………………………74
- •Глава 12. Задача безусловной оптимизации (збо)…………………………………………………………………..81
- •Глава 13. Задача условной оптимизации (зуо)……………………….……127
- •Глава 6.
- •6.1. Задача нелинейного программирования (знп) и ее постановки.
- •6.2. Основные определения.
- •6.3. Классификация знп.
- •6.4. Классическая оптимизация.
- •Глава 7. Методы одномерной оптимизации
- •Постановка задачи. Основные понятия
- •7.2. Поиск отрезка, содержащего точку максимума Алгоритм Свенна
- •Методы нулевого порядка.
- •Дихотомический поиск (метод деления отрезка пополам)
- •Метод золотого сечения
- •Метод дск-Пауэлла
- •7.4. Методы первого порядка.
- •Метод средней точки
- •Метод хорд (секущих)
- •Метод кубической аппроксимации
- •7.5. Методы второго порядка. Метод Ньютона-Рафсона
- •Итерация 1
- •Глава 8. Графический метод решения знп.
- •8.1. Алгоритм графического метода решения знп
- •8.2. Решение примеров.
- •Выпуклые и вогнутые функции
- •9.1. Определения
- •9.2. Свойства вогнутых (выпуклых) функций
- •9.3. Критерии вогнутости (выпуклости) гладких функций
- •9.4. Экстремальные свойства вогнутых (выпуклых) функций
- •9.5. Сильно вогнутые (выпуклые) функции
- •9.5.1. Определение. Примеры
- •9.5.2. Свойства сильно вогнутых (выпуклых) функций
- •9.5.3. Критерии сильной вогнутости (выпуклости)
- •9.5.4. Экстремальные свойства сильно вогнутых (выпуклых) функций
- •Глава 10. Выпуклое программирование
- •10.1. Постановка задачи
- •10.2. Функция Лагранжа. Седловая точка функции Лагранжа, условия ее существования Определение 10.1. Функция , (10.10)
- •10.3. Достаточные условия оптимальности
- •10.4. Условия регулярности выпуклого множества
- •10.5. Теорема Куна-Таккера. Общий случай
- •10.6. Теорема Куна-Таккера. Случай линейных ограничений
- •Глава 11. Квадратичное програмирование.
- •11.1. Постановка задачи квадратичного программирования (зкп)
- •11.2. Применение теории Куна-Таккера к решению зкп.
- •11.3. Решение задач.
- •Глава 12. Методы безусловной оптимизации
- •12.1. Постановка задачи
- •Алгоритм метода спуска
- •. Методы нулевого порядка (прямого поиска)
- •Метод Хука-Дживса
- •Алгоритм метода Хука-Дживса, использующий одномерный поиск
- •Метод покоординатного спуска
- •Первый вариант
- •Второй вариант
- •Методы первого и второго порядков
- •Градиентные методы. Метод скорейшего спуска – метод Коши
- •Метод Ньютона
- •Модифицированный метод Ньютона
- •Методы, использующие сопряженные направления
- •Определение сопряженных направлений
- •Оптимизация квадратичной функции. Конечная сходимость алгоритмов, использующих сопряженные направления
- •12.4.4. Метод Дэвидона-Флетчера-Пауэлла Шаг 1.Метод Дэвидона-Флетчера-Пауэлла (дфп) принадлежит к классу квазиньютоновских методов, в которых направление поиска задаётся в виде
- •Алгоритм метода дфп
- •Итерация 1
- •Шаг 2. Вычислим , тогда .
- •Шаг 2. Вычислим , тогда .
- •12.4.5. Метод сопряжённых градиентов Флетчера-Ривса
- •Алгоритм метода Флетчера-Ривса
- •Глава 13. Методы условной оптимизации
- •13.1. Постановка задачи. Классификация методов
- •Общая схема методов условной оптимизации
- •Шаг 2.Шаг 1. Выбрать ( -я итерация) – возможное направление подъёма функции в точке . Если такого направления нет, то - решение задачи. В противном случае перейти к шагу 2.
- •13.2. Методы возможных направлений
- •13.2.1. Метод Зойтендейка
- •Пример 13.2
- •Итерация 3
- •Шаг 4.Рисунок 13.6
- •13.2.2. Метод Топкиса-Вейнотта
- •Пример 13.3
- •Итерация 1
- •Шаг 5.Рисунок 13.7
- •Алгоритм метода Топкиса-Вейнотта
- •13.2.3. Метод Франка-Вульфа
- •Алгоритм метода Франка-Вульфа
- •Шаг 5. Находим шаг в направлении новой точки . Решение этой задачи (одномерной): .
- •Шаг 3. Так как , переходим к шагу 4.
- •Шаг 5. Решаем задачу: .
- •Литература
Глава 13. Методы условной оптимизации
13.1. Постановка задачи. Классификация методов
В дальнейшем будем рассматривать следующую задачу:
(13.1)
на множестве :
, (13.2)
где и - нелинейные функции.
При решении задач нелинейного программирования ввиду нелинейности функций выпуклость допустимого множества решений и конечность числа его крайних точек (в отличие от ЗЛП) необязательны. Задача нелинейного программирования не всегда имеет решение. Если задача имеет решение, то максимум функции может достигаться в крайней точке допустимой области значений , в одной из граничных точек или в точке, расположенной внутри допустимой области .
Определение 13.1. Решением или точкой максимума задачи условной оптимизации будем называть такой вектор , что для всех , т. е. .
Определение 13.2. Будем называть направление возможным в точке , если существует такое действительное число , что для всех .
Определение 13.3. Вектор будем называть возможным направлением подъёма функции в точке , если существует такое действительное число , что для всех :
и .
Методы решения задачи условной оптимизации можно представить как итеративный процесс, в котором, исходя из начальной точки , получают последовательность точек , монотонно увеличивающих значения функции . Это так называемые методы подъёма. Элементы этой последовательности точек определяются следующим образом: , где - возможное направление подъёма функции в точке , находятся при решении задачи одномерной оптимизации: . Если точка - внутренняя точка множества , т. е. для : , то всякое направление в ней является возможным (пример на рис. 13.1).
Если точка - граничная точка области , то возможные направления определяются ограничениями (направление на рис 13.2 возможным не является).
Прежде чем определять направление подъёма функции в точке , следует вычислить множество таких возможных направлений , для которых существовала бы окрестность точки , принадлежащая .
Рисунок 13.1
Рисунок 13.2
Общая схема методов условной оптимизации
Начальный этап. Задать и выбрать начальную точку .
Основной этап.
Шаг 2.Шаг 1. Выбрать ( -я итерация) – возможное направление подъёма функции в точке . Если такого направления нет, то - решение задачи. В противном случае перейти к шагу 2.
Шаг 2. Положить , где находим, решая задачу , .
Шаг 3. Заменить на и перейти к шагу 1.
Конкретные методы условной оптимизации различаются способом выбора возможного направления подъёма функции в точке .
Вообще говоря, методы решения задач нелинейного программирования с ограничениями можно разбить на следующие классы.
1. Методы, которые непосредственно применяются к задаче (13.1) – (13.2). Сюда можно отнести, например, такие методы, на которые можно смотреть как на естественные обобщения изложенных во второй главе пособия градиентных методов.
2. Методы, основанные на решении последовательности вспомогательных задач, которые могут быть, к примеру, задачами линейного программирования, возникающими путём замены целевой функции и функций ограничений задачи (13.1) – (13.2) на линейные или кусочно-линейные.
Для первого класса методов соотношение
, , (13.3)
которое при лежит в основе градиентных методов, не будет пригодным при определении решения задачи (13.1) – (13.2), поскольку для граничной точки множества , не являющейся решением задачи (3.1) – (13.2), и для , вообще говоря, не существует числа такого, что . Поэтому соотношение (13.3) различными способами модифицируется в методах проекций и методах возможных направлений.
Методы проекций основаны на построении проекции на множество : .
Методы проекций сходятся со скоростью геометрической проекции.
Методы возможных направлений основаны на следующем: при движении из точки в соответствии с (13.3) вектор и число выбираются таким образом, чтобы точка была допустимой и . Среди методов возможных направлений можно выделить методы Зойтендейка, проектируемых градиентов, приведённых градиентов. Методы возможных направлений имеют линейную скорость сходимости. Они используют производные целевой функции и функций ограничений первого порядка. В настоящее время для достижения более высокой скорости сходимости разработаны также методы возможных направлений, применяющие производные второго порядка.
Отметим теперь некоторые методы из второго класса.
В основе метода штрафных функций лежит идея введения “штрафа” за нарушение ограничений задачи (13.1) – (13.2). Для этого вместо этой задачи решается последовательность вспомогательных задач без ограничений:
,
где при , - штрафные функции.
Если в методе штрафных функций каждая не оптимальная в задаче (13.1) – (13.2) интервальная точка не является допустимой и для этой задачи, то в методе барьеров, наоборот, все итерационные точки допустимы. Вспомогательные задачи при этом составляются так, чтобы целевые функции задачи (13.1) – (13.2) и вспомогательных задач не отличались значительно внутри допустимой области , но при приближении к границе происходило сильное изменение целевой функции вспомогательной задачи. Такого рода "барьеры" обеспечивают принадлежность решения вспомогательных задач внутренности допустимой области, и с такими задачами можно обращаться как с задачами без ограничений.
Помимо названных существует также целый ряд методов решения задач условной оптимизации, которые ориентированы на различные типы задач. По типу решаемых задач методы условной оптимизации можно разделить на два основных класса:
1. Методы решения задач с линейными ограничениями;
2. Meтоды решения задач с нелинейными ограничениями (как равенствами, так и неравенствами).
В настоящем учебном пособий рассмотрены некоторые методы из перечисленных выше классов.