
- •Глава 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. Решаем задачу: .
- •Литература
Алгоритм метода Хука-Дживса, использующий одномерный поиск
Начальный
этап. Задать начальную точку
,
– параметр окончания счета, положить
,
.
Основной этап.
Вычислить
– оптимальное решение задачи минимизации функции
одномерной переменной
.
Положить
.
Если
, то положить
, перейти к шагу 1, иначе положить
.
Если
, то положить
и остановится.
Положить
, вычислить
, положить
,
, и перейти к шагу 1.
Пример 12.2. В таблице 12.1 и на рис. 12.4 приведены результаты решения задачи из примера 2.1 методом Хука-Дживса с использованием одномерной оптимизации.
Таблица 12.1
k |
|
j |
|
|
|
|
|
|
|
|
1 |
(-2;-1) 63 |
1 2 |
(-2;-1) (0,5;-1) |
(1;0) (0;1) |
2,5 1/6 |
(0,5;-1) (0,5;-5/6) |
(1/2;-5/6) 5/12 |
(-2;-1) |
|
|
2 |
5/12 |
1 2 |
|
(1;0) (0;1) |
|
|
|
|
|
(0;0) |
Метод покоординатного спуска
В
этом методе в качестве направлений
поиска используются координатные
векторы
,
вследствие чего у текущей точки на
каждой итерации изменяется лишь одна
координата. Существуют многочисленные
варианты покоординатного спуска, в
частности использующие и не использующие
методы одномерного поиска.
Алгоритм метода циклического покоординатного спуска, использующий одномерный поиск
Начальный этап. Задать начальную точку , – параметр окончания счета, положить , .
Основной этап.
Вычислить .
Положить .
Если
, то положить , перейти к шагу 1, иначе положить .
Если , то положить и остановится, иначе положить
, , и перейти к шагу 1.
Очевидно,
что рассмотренный выше алгоритм
Хука-Дживса, использующий одномерный
поиск, является модификацией метода
покоординатного спуска. Эта модификация
за счет проведения поиска вдоль
направления
существенно ускоряет сходимость метода,
особенно в тех случаях, когда линии
уровня функции
искривлены или растянуты.
Пример
12.3. Решить задачу из примера 12.1 методом
циклического покоординатного спуска.
Результаты вычислений приведены в
таблице 12.2 и на рис. 12.5. На каждой итерации
(k=1,2,…) векторы
и
получены в результате одномерной
оптимизации по направлениям
и
.
На первых итерациях функция
заметно убывает, затем этот процесс
сильно замедляется. После пяти итераций
получена точка
,
значение функции в которой равно
и
(оптимальное решение
,
).
Замедление сходимости объясняется
вытянутостью линий уровня функции
.
Сравнение с результатами решения этой
задачи методом Хука-Дживса (см. табл.
12.1) показывает, что поиск по образцу
(направление
)
улучшает сходимость, что позволило
получить решение задачи за две итерации.
Таблица 2.2
k |
|
j |
|
|
|
|
|
1 |
(-2;-1) 63 |
1 2 |
(1;0) (0;1) |
(-2;-1) (1/2;-1) |
5/2 1/6 |
(1/2;-1) (1/2;-5/6) |
|
2 |
(1/2;-5/6) 5/12 |
1 2 |
(1;0) (0;1) |
(1/2;-5/6) (5/12;-10/12) |
-1/12 5/36 |
(5/12;-5/6) (5/12;-25/36) |
|
3 |
(5/12;-25/36)
|
1 2 |
(1;0) (0;1) |
(5/12;-25/36) (25/72;-25/36) |
-5/72 25/216 |
(25/72;-25/36) (25/72;-125/216) |
|
4 |
(25/72;-125/216)
|
1 2 |
(1;0) (0;1) |
(25/72;-125/216) (125/432;-125/216) |
-25/432 125/1296 |
(125/432;-125/216) (125/432;-625/1296) |
|
5 |
(125/432;-625/1296)
|
|
|
|
|
|
|
Алгоритм метода покоординатного спуска, не использующий одномерной оптимизации