
- •Глава 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. Решаем задачу: .
- •Литература
10.6. Теорема Куна-Таккера. Случай линейных ограничений
Рассмотрим следующую задачу выпуклого программирования
, (10.44)
, (10.45)
где
– вогнутая функция,
,
,
– заданные векторы.
Оказывается, если ограничения, задающие множество , линейны, то теоремы (10.5) и (10.6) справедливы без предположения о регулярности множества .
Теорема 10.7. Для того чтобы точка была решением задачи (10.44), (10.45), необходимо и достаточно существование такого , чтобы точка была седловой точкой функции Лагранжа задачи выпуклого программирования (10.44)-(10.45).
Доказательство.
Достаточность доказана в теореме 10.3.
Необходимость.
Пусть точка
является решением задачи (10.44), (10.45).
Рассмотрим возможное направление
из точки
.
Тогда по определению существует число
,
такое что
при всех
,
.
Так как
,
то
,
. (10.46)
Введем
множество индексов
,
.
Тогда из (10.46) с учетом того, что
,
получим: если
,
то
или
,
если
,
то
,
откуда
или
.
Рассмотрим конус
,
(10.47)
где
– j-й
единичный вектор.
Очевидно,
что любое возможное направление
в точке
принадлежит
.
Обратно:
если
,
то
– возможное направление в точке
.
В самом деле, если
,
то
и
для всех
и
,
а если
,
т.е.
,
то
для всех
,
где
– достаточно малое число. Если
,
то
для всех
и
,
а если
,
то
и
,
при достаточно малом
.
Таким образом, множество возможных направлений в точке представляет собой конус (10.47).
Для того чтобы было решением задачи (10.44),(10.45), необходимо выполнение неравенства
для всех . (10.48)
Возьмем
любое
.
Тогда
,
,
.
Представим
(10.48), откуда получим, что
или
для всех
.
Это означает, что
.
Тогда по теореме Фаркаша
найдутся
числа
,
и
,
,
такие что
(10.49)
Если
доопределить
,
,
то получим вектор
.
Тогда
,
, (10.50)
т.е. доказано выполнение условий (10.14) теоремы 10.1.
Перепишем (10.49) в виде
. (10.51)
В
задаче (10.44)-(10.45) функция Лагранжа имеет
вид
,
,
.
Используя
неравенство
для вогнутой функции
, получим:
или для всех , т.е. выполнено условие (10.13) теоремы 10.1.
Таким образом, из теоремы 10.1. следует, что – седловая точка функции Лагранжа задачи выпуклого программирования (10.44), (10.45).
Если в задаче (10.44), (10.45) функция является непрерывно-дифференцируемой, то справедлива теорема 10.8.
Теорема 10.8. Для того чтобы точка была решением задачи (10.44), (10.45), необходимо и достаточно существование такого , чтобы для точки выполнялись условия (10.18)-(10.23).
Глава 11. Квадратичное програмирование.
11.1. Постановка задачи квадратичного программирования (зкп)
Определение 11.1. ЗКП назовем следующую задачу:
(11.1)
,
(11.2)
где
– симметричная неположительно
определенная матрица,
– заданный вектор из
,
– заданная матрица, порядка
,
.
Так как функция
f(x)=
(11.3)
является вогнутой ( – неположительно определенная матрица) , а ограничения (11.2) являются линейными, то ЗКП является задачей выпуклого программирования (ЗВП) с линейными ограничениями, следовательно, к ее решению можно применить теорию Куна-Таккера.
Замечание 11.1. Если матрица С является симметричной отрицательно определенной, то функция f(x) является сильно вогнутой, что гарантирует существование и единственность решения ЗКП.
ЗКП часто возникают в различных экономических приложениях (задача выбора портфеля ценных бумаг, задача построения регрессии при наличии ограничений и т.д.), кроме того они возникают как вспомогательные в составе различных методов оптимизации. Поэтому важно иметь достаточно простые методы решения ЗКП. Оказывается, что для ЗКП, как и для ЗЛП, существуют конечные методы их решения, например, основанные на теории Куна-Таккера.
Пример 11.1.
,
где
;
;
;
Пример 11.2.
,
где
;
;
;
,
так как в определении 11.1
,
то вместо
берем
.