
- •1.4.Двойственность состоит в том, что каждой исходной (прямой) задаче, в которой целевая функция стремится к максимуму (минимуму)
- •2. Лекции
- •Понятие модели
- •Классификация экономико-математических моделей
- •Оптимизационные модели
- •Лекция 2. Примеры содержательных постановок задач линейного программирования
- •Задача об оптимальном использовании ресурсов
- •Транспортная задача линейного программирования
- •Лекция 3. Различные формы задач линейного программирования
- •Стандартная форма задачи линейного программирования
- •Каноническая форма задачи линейного программирования (злп)
- •Переход от стандартной формы задачам линейного программирования (злп) к канонической
- •Лекция 4. Графический метод решения задач линейного программирования
- •Лекция 5. Основные теоремы линейного программирования
- •Геометрическая интерпретация симплекс-метода
- •Основное неравенство теории двойственности
- •Лекция 8. Основные теоремы двойственности
- •Лекция 9. Задачи нелинейного программирования
- •Метод множителей Лагранжа
- •Выпуклое программирование
- •Задача выпуклого программирования
- •Градиентные методы
- •Метод параллельных касательных
- •Метод сопряженных градиентов
- •Метод покоординатного спуска
- •О методах второго порядка
- •О методах прямого поиска
- •Методы одномерной минимизации
- •1. Задачи с ограничениями-равенствами
- •2. Задачи с ограничениями-неравенствами
- •2.1. Метод проекции градиента
- •2.2. Метод приведенного градиента
- •Методы штрафных функций
- •Методы барьерных функций
- •Лекция 14. Практическая реализация методов нелинейного программирования
- •Построение начального приближения
- •Практическая реализация методов нелинейного программирования
- •3. Практические и лабораторные занятия
- •4. Самостоятельная работа студента
- •Задача об оптимальном использовании ресурсов
- •Транспортная задача линейного программирования
- •Стандартная форма задачи линейного программирования
- •Основное неравенство теории двойственности
- •Экономический смысл первой (основной) теоремы двойственности
Задача выпуклого программирования
Рассмотрим задачу нелинейного программирования
(4)
при ограничениях
,
(5)
.
(6)
Для
решения сформулированной задачи в такой
общей постановке не существует
универсальных методов. Однако для
отдельных классов задач, в которых
сделаны дополнительные ограничения
относительно свойств функций f(x)
и
,
разработаны эффективные методы их
решения.
Говорят,
что множество допустимых решений задачи
(4) - (6) удовлетворяет условию
регулярности,
или условию Слейтера,
если существует, по крайней мере, одна
точка
,
принадлежащая области допустимых
решений такая, что
.
Задача (4) - (6) называется задачей
выпуклого программирования,
если функция
является
вогнутой (выпуклой), а функции
- выпуклыми. Функцией
Лагранжа
задачи выпуклого программирования (4)
- (6) называется функция
,
где
- множители
Лагранжа.
Точка
называется седловой
точкой функции Лагранжа, если
для
всех
и
.
Теорема
1 (Куна
- Таккера): Для задачи выпуклого
программирования (4) - (6), множество
допустимых решений которой обладает
свойством регулярности,
является оптимальным решением тогда
и только тогда, когда существует такой
вектор
,
что
- седловая точка функции Лагранжа.
Если
предположить, что функции f
и
непрерывно дифференцируемы, то
теорема Куна - Таккера может быть
дополнена аналитическими выражениями,
определяющими необходимые и достаточные
условия того, чтобы точка
была седловой точкой функции Лагранжа,
т. е. являлась решением задачи выпуклого
программирования:
где
и
значения соответствующих частных
производных функции
Лагранжа,
вычисленных в седловой точке.
Вопросы для самоконтроля:
1.Понятия и сущность о выпуклом программировании.
2.Теорема Куна - Таккера.
3.Метод множителей Лагранжа.
Рекомендуемая литература:
1.Ашманов С.А. Линейное программирование. —М.: Наука, 1981.
2.Айсагалиев А.С., Айсагалиева С.С. Лекции по методам оптмизации.-Алматы:Гылым,1996
Лекция 11 . Методы безусловной оптимизации
Содержание лекционного занятия:
Градиентные методы
Метод параллельных касательных
Метод сопряженных градиентов
Метод покоординатного спуска
О методах второго порядка
О методах прямого поиска
Методы одномерной минимизации
Это методы поиска минимума функции многих переменных при отсутствии ограничений.
Итерационные методы минимизации функции F(x) состоят в построении последовательности векторов, т.е. точек х0, х1,..., хkтаких что F(x0) > F(x1) > ... > F(xk) > ... Любой такой метод называется методом спуска. Естественно, должна быть обеспечена сходимость получаемой последовательности точек к точке минимума, т.е. рассматриваются методы, позволяющие получить точку минимума за конечное число шагов или приблизиться к ней достаточно близко при соответствующем числе шагов. К сожалению, здесь нельзя употребить слова «сколь угодно близко при неограниченном увеличении числа шагов». Дело в том, что теоретически все сходящиеся методы этим свойством обладают, но практически близость к минимуму в задачах большой размерности ограничивается ошибками вычислений, которые обусловлены погрешностью представления чисел в компьютере. Поэтому необходимо вести вычисления с удвоенной точностью, выбирая соответствующие типы данных при разработке конкретных компьютерных программ.
Для построения итерационной последовательности необходимо выбрать начальное приближение х0. В задачах с ограничениями это должна быть допустимая точка, а в задачах без ограничений— теоретически любая точка. Однако целесообразно использовать всю имеющуюся информацию о поведении целевой функции F(x), чтобы выбрать х0 поближе к точке минимума.
После того как начальное приближение получено, прежде чем перейти к следующей точке, нужно принять два решения:
Выбрать направление, по которому пойдем из х0 в точку с меньшим значением целевой функции (направление спуска);
Определить величину шага по направлению спуска. При любом методе спуска итерационная последовательность точек{хк} может быть записана в виде: хк+'=хк + λкpк,(к = 0, 1,...),
где
вектор рк
— это направление, а λк||рк||
— величина шага. Если ||рк||
=1, т.е. длина вектора спуска равна единице,
то
величина шага равна λк.
Отметим,
что иногда λк
называют
шагом независимо от длины вектора рк.
Здесь
— длина вектора рк.
Методы спуска отличаются процедурами построения вектора рк и вычисления λк. При этом могут использоваться одна (последняя) или две последние (или более) из уже полученных точек.
Для задач безусловной минимизации любое направление является возможным (никакие ограничения не мешают), но далеко не все направления приемлемы. Нас могут интересовать только направления, обеспечивающие убывание целевой функции, хотя бы при достаточно малом шаге. Предполагая непрерывность первых частных производных целевой функции и используя ее разложение в ряд Тэйлора в произвольной точке х, получим F(x + λр) ≈ F(x) + λ(g, p). Здесь g— градиент функции, вычисленный в точке х. Отсюда следует, что приращение функции F(x + λр) - F(x) < 0 при отрицательном скалярном произведении (g, p). Итак, направление спуска должно составлять острый угол с антиградиентом. Этот вывод справедлив и для задач с ограничениями, но там еще дополнительно требуется, чтобы при достаточно малом шаге не нарушалось ни одно из ограничений.
Все такие направления называются подходящими (приемлемыми). Методы спуска, позволяющие получать последовательно подходящие направления, Зойтендейк (Zoutendijk G.) назвал методами возможных направлений.