МОРы хсехелп / Лекция 5
.docЛекция №5
Тема 2. Задача нелинейного программирования (окончание)
3. Приложения и методы численного решения
3.1. Оценка
чувствительности экстремального
значения целевой функции к изменению
констант ограничений. Как и в случае
классических задач математического
программирования, метод Лагранжа
позволяет не только находить точки
условного экстремума, но и оценивать
чувствительность экстремального
значения целевой функции к изменению
констант ограничений
.
А именно, множитель Лагранжа
показывает, на сколько единиц изменится
экстремальное значение целевой функции
при увеличении константы
на единицу (если эта единица достаточно
мала).
Предположим, что в задаче нелинейного программирования вида
нас интересует, насколько изменится
оптимальное значение целевой функции
(прибыли) при изменении констант
ограничений (запасов сырья)
.
Например, отрасль имеет возможность
увеличить запасы того или иного вида
сырья, но ее финансовые возможности
ограничены. Возникает вопрос, увеличение
какого вида сырья принесет наибольшую
прибыль. Аналогично тому, как это имело
место в классической задаче математического
программирования, с помощью множителей
Лагранжа можно довольно просто решить
этот вопрос, не решая серию задач с
разными константами ограничений.
Однако это верно при выполнении некоторых дополнительных условий, о которых сейчас и пойдет речь.
Все функции,
описывающие активные ограничения в
рассматриваемой точке
,
а также целевую функцию будем считать
дифференцируемыми в точке
,
а остальные – непрерывными в этой
точке.
Итак, пусть имеем задачу нелинейного программирования, в которой прямые ограничения записаны в виде функциональных

–
точка условного локального максимума
целевой функции.
Дополнительные
условия, о которых только что упоминалось,
зависят от количества активных ограничений
в точке
.
Обозначим количество активных ограничений
через
.
Рассмотрим три случая:
1)
;
2)
;
3)
;
1. Пусть
.
Если в точке
нет активных ограничений, т.е. все
ограничения выполняются как строгие
неравенства
,
то при достаточно малых изменениях
эти строгие неравенства сохранятся,
т.е. точка
как была внутренней точкой допустимого
множества, так и останется ею. А это
значит, что в достаточно малой ее
окрестности значение
останется наибольшим.
Обозначим
,
.
Пусть
– некоторая окрестность точки
,
в которой сохраняются неравенства
,
.
И пусть
– некоторая окрестность точки
,
в которой выполняется неравенство
.
И если в
окрестности
задать функцию
,
то ее значения не будут зависеть от
,
т.е.
.
Это значит, что справедливы равенства
Таким образом, небольшие изменения констант ограничений не влияют на экстремальное значение целевой функции.
2. Пусть
.
В этом случае
градиенты активных ограничений
,
линейно зависимы, так как количество
векторов больше их размерности. Значит,
разложение
![]()
не единственно. Поэтому в общем случае ничего определенного относительно чувствительности здесь сказать нельзя.
3. Пусть теперь
.
Именно этот случай и представляет интерес с точки зрения анализа чувствительности.
Теорема
Пусть в задаче нелинейного программирования

-
функции
,
– дважды непрерывно дифференцируемы
в некоторой окрестности точки
,
а функции
,
,
– непрерывны в точке
;
-
,
;
,
; -
в точке
выполняется условие Якоби, т.е. градиенты
,
функций, описывающих активные
ограничения, линейно независимы; -
в точке
имеет место разложение:
и если
,
то окаймленная матрица Гессе
в точке
,
,
составленная для функции Лагранжа,
учитывающей только активные ограничения,
,
отрицательно определена.
Тогда
-
в точке
имеет место строгий локальный максимум
целевой функции
; -
в некоторой окрестности
точки
существуют однозначно определяемые
функции
и
такие, что
10
;
20 точка
при любом
является точкой строгого условного
локального максимума функции
;
30.
,
,
.
Замечание
Требование
положительности множителей Лагранжа
нельзя заменить на наличие в точке
условного локального максимума. Дело
в том, что активное ограничение с
в разложении в окрестности этой точки
может перестать быть активным для точки
локального экстремума при небольшом
изменении
.
Иначе говоря, новая точка экстремума
уже может не лежать на границе
.
Как уже отмечалось, множители Лагранжа позволяют оценивать чувствительность экстремального значения целевой функции к изменению констант ограничений, что очень удобно, поскольку это избавляет от необходимости решения серии задач с различными правыми частями в ограничениях.
Однако не следует переоценивать значение этого свойства множителей Лагранжа. Им следует пользоваться осторожно, поскольку оно имеет свои ограничения. Данное свойство локальное в следующих смыслах.
1). Во-первых, равенство
дифференциальное. Поэтому равенство
приближенное из-за нелинейности функций,
и не всегда ясно, до каких пределов можно
увеличивать
,
чтобы им можно было пользоваться.
2). Во-вторых, это свойство не учитывает
влияния неактивных ограничений, которого
нет в достаточно малой окрестности
рассматриваемой точки, но может появиться
при достаточно большом (неизвестно
каком) изменении
,
так как состав активных ограничений
может измениться. А какие-то из активных
ограничений при этом, наоборот, могут
стать неактивными.
3). В-третьих, данное свойство сформулировано для локальных максимумов. Обычно же в прикладных задачах нас интересуют глобальные экстремумы (максимум или минимум целевой функции на всем допустимом множестве). Для глобального же экстремума дело обстоит несколько сложнее, поскольку в «далеких» друг от друга точках могут быть равные или близкие значения целевой функции, претендующие на глобальный экстремум. Поэтому при смещении границы допустимого множества (изменении констант в ограничениях) точка глобального максимума может «перескочить» в другое место.
Если же в задаче с исходными константами ограничений имеется два или более решений, то в зависимости от того, какое из них мы выберем, можем получить и различные значения множителей Лагранжа.
Пример
Рассмотрим следующую задачу – Рис. 1


Рис. 1. Иллюстрация различия значений множителей Лагранжа для двух точек глобального максимума
Из Рис. 1 видно, что глобальный максимум
целевой функции достигается в двух
точках: (2;8) и (4;4):
.
В точке (2;8) разложение имеет вид
,
а в точке (4;4) имеет место разложение
.
Таким образом, при увеличении константы
на
,
оптимальное значение целевой функции
увеличится, по-видимому, примерно на
,
так как это больше, чем
.
Однако, если мы остановили свой выбор
на решении (2;8), то при небольшом отклонении
от него из-за увеличения
мы получим увеличение значения целевой
функции всего на
.
Все указанные ограничения, возникающие при оценке чувствительности оптимального значения целевой функции с помощью множителей Лагранжа, преодолеваются в задачах линейного программирования, рассматриваемых в следующей теме.
3.2. Двойственные задачи нелинейного программирования. Экономическая интерпретация: рыночное равновесие. Пусть имеем задачу нелинейного программирования в виде:
(1)
Составим функцию Лагранжа для этой
задачи:
.
Назовем
– прямой функцией, а
– двойственной функцией задачи (1), а
задачи нахождения
и
соответственно прямой и двойственной
задачами.
Функция Лагранжа, двойственные функции и факт существования седловой точки имеют различные экономические интерпретации. Наиболее интересная интерпретация связана с конкурентным взаимодействием между некоторой отраслью промышленности и рынком:
Отрасль промышленности производит некоторую продукцию и реализует ее на рынке. Она стремится максимизировать свою прибыль путем определения оптимального объема производства товаров. Рынок противодействует этой цели, устанавливая свои цены на сырье, которое отрасль промышленности приобретает на рынке для обеспечения производства товаров.
Пусть:
- количество (объем) товара вида
,
которое отрасль планирует произвести
и реализовать на рынке в рассматриваемый
период времени Т;
- количество сырья вида
которое необходимо для производства
планируемого количества товаров
;
- количество сырья вида
которое уже имеется у отрасли (запас,
сырье приобретенное до рассматриваемого
периода времени Т, за него уже уплачено
ранее по прежней цене);
- доход, который отрасль может получить
от реализации произведенных товаров
в количестве
с учетом цен, установившихся на рынке
в рассматриваемый период Т;
- цена на сырье вида
устанавливаемая рынком на рассматриваемый
период времени Т.
Если отрасли для производства товаров
в количестве
хватает сырья вида
т.е.
,
то она не закупает его на рынке, а если
остаются излишки
,
продает соответствующий вид сырья по
рыночной цене
,
получая дополнительный доход в размере
.
Если же данного вида сырья не хватает
,
отрасль закупает его на рынке по той же
цене
и несет расходы в размере
,
или, что то же самое, получает отрицательный
доход, равный
.
Из сказанного следует, что прибыль
отрасли (без учета прочих издержек)
составляет
.
Эта же величина равна издержкам рынка,
связанным с закупкой продукции отрасли
и излишков сырья (отрицательные слагаемые
из суммы идут в доход рынка).
Таким образом, имеет место игровая
ситуация, при которой отрасль хочет
максимизировать функцию Лагранжа, а
рынок – минимизировать. При этом отрасль
может управлять переменной
,
а рынок – переменной
.
Из сказанного следует, что отрасль
формирует двойственную функцию
,
а рынок – прямую:
.
Если имеет место равенство
,
то в такой седловой точке
достигается экономическое конкурентное
равновесие. Это означает, что, во-первых,
при заданном уровне цен на сырье
никакое изменение объема производства
отрасли (отклонение от
)
не может увеличить ее прибыль и, во-вторых,
при заданном объеме производства
никакое изменение цен на сырье (отклонение
от
)
не может уменьшить прибыль отрасли,
или, что то же самое, издержек рынка.
Таким образом, состояние равновесия
приводит к устойчивому рынку.
Множители Лагранжа
часто называют двойственными переменными,
теневыми ценами, приписанными оценками
или объективно обусловленными оценками.
3.3. Численные методы решения задач нелинейного программирования. Задачи нелинейного программирования даже не очень высокой размерности аналитически решать трудно. Поэтому были разработаны различные методы численного решения задач с использованием ЭВМ. Здесь мы дадим представление о некоторых из них, а именно, о градиентных методах и методах штрафных функций.
3.3.1. Градиентные методы. С помощью градиентных методов находится какой-то из локальных максимумов или минимумов. Для нахождения глобального экстремума исследователю необходимо предпринимать дополнительные меры. Поэтому данные методы наиболее эффективны при решении задач выпуклого программирования (целевая функция вогнута – для задачи на максимум или выпукла – для задачи на минимум, допустимое множество выпукло). В этом случае, как известно, всякий локальный максимум является также и глобальным, а в случае строгой вогнутости (выпуклости) целевой функции он к тому же и единственный.
Суть градиентных методов весьма проста:
для отыскания максимума надо взять
произвольную точку
в допустимой области и с помощью градиента
,
вычисленного в этой точке, определить
направление, в котором
возрастает с наибольшей скоростью, а
затем, сделав небольшой шаг в найденном
направлении перейти в новую точку
.
Потом снова определить наилучшее
направление
для перехода в очередную точку
и т.д. – см. Рис. 2.
Рис. 2. Иллюстрация градиентного метода
На Рис. 2 поисковая траектория представляет
собой ломаную
,
причем шаг нужно выбирать таким образом,
чтобы значения функции действительно
возрастали (т.е. шаг не должен быть
слишком большим, чтобы не промахнуться
мимо точки максимума):
,
а последовательность точек
сходилась к точке максимума
(шаги не должны убывать слишком сильно,
чтобы не застопориться, не дойдя до
точки максимума).
Градиентные методы, как правило, позволяют получить точное решение за бесконечное число шагов и только в некоторых случаях – за конечное. Поэтому их относят к приближенным методам решения задачи (процесс обрывают на некотором шаге).
Одним из определяющих является вопрос о выборе шага. Существуют различные варианты его решения. Мы рассмотрим один из них, который носит название "метод наискорейшего подъема" (для поиска максимума) или "метод наискорейшего спуска" (для поиска минимума). Он состоит в следующем (для отыскания максимума).
Движение из точки
в новую точку
осуществляется по прямой, проходящей
через точку
и имеющей уравнение
,
где
- числовой параметр, определяющий
величину шага. Как только значение
параметра
выбрано, становится определенной точка
на поисковой ломанной.
В методе наискорейшего подъема параметр
выбирается таким образом, чтобы при
движении вдоль прямой
в точке
достигалось максимальное значение
целевой функции. Процесс заканчивается,
когда будет достигнута точка
,
в которой
,
– точка локального максимума или когда
значение в двух последовательных точках
и
будет совпадать с точностью до заранее
заданной величины:
.
Можно показать, что в данном методе
градиент
направлен по касательной к поверхности
уровня
,
т.е. ортогонален (перпендикулярен)
градиенту
– см. Рис. 3.
Действительно, поскольку в точке
функция
достигает максимума, то
,
что и означает ортогональность указанных градиентов.
Рис. 3. В методе наискорейшего подъема (спуска) движение к следующей точке происходит по касательной к линии уровня целевой функции в этой точке.
Дополнительные
сложности доставляют границы допустимой
области, особенно если максимум целевой
функции находится на границе. В этом
случае необходимо применить специальные
меры, обеспечивающие построение
последовательности точек, расположенных
вблизи границы, но внутри допустимой
области, или зигзагообразное движение
вдоль границы с ее пересечением (с
выходом из допустимой области и возвратом
в нее). Последний способ проиллюстрирован
на Рис. 4. Здесь
- точка максимума целевой функции,
лежащая на границе, образованной
единственным скалярным ограничением
,
т.е. точка
принадлежит поверхности (линии) уровня
.
Н
аходясь
в некоторой точке
вблизи границы, мы делаем шаг в направлении
градиента целевой функции (вычисленному
в данной точке) и попадаем в точку
вне допустимой области. Затем возвращаемся
в допустимую область в направлении,
противоположном градиенту функции
(образующей
данную границу), взятому в точке
,
и попадаем в точку
.
Если точка
достаточно близка к границе, то направление
движения почти перпендикулярно к границе
области, что обеспечивает возврат в
допустимую область. Затем делаем шаг в
направлении градиента целевой функции,
взятому в точке
,
и попадаем в точку
вне допустимой области. Из этой точки
делаем шаг в направлении, противоположном
градиенту
,
и возвращаемся в допустимую область (в
точку
)
и т.д.
