Автор работы: Пользователь скрыл имя, 31 Октября 2011 в 15:53, курсовая работа
Иногда в формулировке задачи ограничения (1) имеют противоположные знаки неравенств. Учитывая, однако, что если , то , всегда можно свести задачу к неравенствам одного знака. Если некоторые ограничения входят в задачу со знаком равенства, например , то их можно представить в виде пары неравенств , , сохранив тем самым типовую формулировку задачи.
1. Постановка задачи нелинейного программирования
2. Критерии оптимальности в задачах с ограничениями
2.1. Задачи с ограничением в виде равенств
2.2. Множители Лагранжа
3. Условия Куна-Таккера
3.1. Условия Куна-Таккера и задача Куна-Таккера
3.2. Интерпретация условий Куна-Таккера
3.3. Теоремы Куна-Таккера
4. Функции нескольких переменных
4.1. Методы прямого поиска
4.1.1. Метод поиска по симплексу (S2 - метод)
4.1.2. Метод поиска Хука-Дживса
минимизировать
при ограничениях
Запишем условия Куна—Таккера
Соответствующая функция Лагранжа имеет вид
Условия оптимальности первого порядка записываются как
Заметим, что - множитель Лагранжа, соответствующий ограничению . Раньше было показано, что представляет неявную цену, ассоциированную с ограничением ; другими словами, величина отражает изменение минимального значения целевой функции , вызываемое единичным приращением правой части - го ограничения.
Если предположить, что - е ограничение является неактивным (т.е. С другой стороны, если -е ограничение активное (т. е. ), то соответствующая неявная цена не обязательно равна нулю, однако , так как . Таким образом,для всех значений .
Для того чтобы определить
знак (неявной цены, ассоциированной с
ограничением ), следует увеличить правую
часть ограничения от 0 до 1. Ясно, что при
этом область допустимых решений сужается,
поскольку любое решение, удовлетворяющее
ограничению , автоматически удовлетворяет
неравенству . Следовательно, размеры допустимой
области уменьшаются, и минимальное значение улучшить
невозможно (так как вообще оно может только
возрастать). Другими словами, неявная
цена , ассоциированная с -м ограничением,
должна быть неотрицательной, что соответствует
условиям Куна—Таккера.
3.3. Теоремы
Куна—Таккера
В предыдущем разделе построены условия Куна—Таккера для задач условной оптимизации. С помощью метода множителей Лагранжа получено интуитивное представление о том, что условия Куна — Танкера тесно связаны с необходимыми условиями оптимальности. В данном разделе рассматриваются строгие формулировки необходимых и достаточных условий оптимальности решения задачи нелинейного программирования.
Теорема 1. Необходимость условий Куна—Таккера
Рассмотрим задачу нелинейного программирования (0)-(2). Пусть - дифференцируемые функции, а х* — допустимое решение данной задачи. Положим . Далее пусть линейно независимы. Если х* — оптимальное решение задачи нелинейного программирования, то существует такая пара векторов , что является решением задачи Куна—Таккера (3)—(7).
Условие, согласно которому должны быть линейно независимыми, известно как условие линейной независимости и по существу представляет собой некоторое условие регулярности допустимой области, которое почти всегда выполняется для встречающихся на практике задач оптимизации. Однако вообще проверка выполнения условия линейной независимости весьма затруднительна, так как требуется, чтобы оптимальное решение задачи было известно заранее. Вместе с тем условие линейной независимости всегда выполняется для задач нелинейного программирования, обладающих следующими свойствами.
1. Все ограничения в виде равенств и неравенств содержат линейные функции.
2. Все ограничения в виде неравенств содержат вогнутые функции, все ограничения-равенства — линейные функции, а также существует, по крайней мере, одна допустимая точка х, которая расположена во внутренней части области, определяемой ограничениями-неравенствами. Другими словами, существует такая точка х, что
Если условие линейной независимости в точке оптимума не выполняется, то задача Куна—Таккера может не иметь решения.
Пример 4
Минимизировать
при ограничениях
Решение.
На рис.1 изображена область допустимых решений сформулированной выше нелинейной задачи. Ясно, что оптимальное решение этой задачи есть . Покажем, что условие линейной независимости не выполняется в точке оптимума.
Рис.1 Допустимая область
в задаче 4
Так как
Легко видеть, что векторы линейно зависимы, т. е. условие линейной независимости в точке не выполняется.
Запишем условия Куна—Таккера и проверим, выполняются ли они в точке (1, 0). Условия (3), (6) и (7) принимают следующий вид;
(11)
(12)
(13)
(14)
(15)
(16)
При из уравнения (11) следует, что , тогда как уравнение (14) дает , Следовательно, точка оптимума не является точкой Куна — Таккера.
Заметим, что нарушение условия линейной независимости не обязательно означает, что точка Куна—Таккера не существует. Для того чтобы подтвердить это, заменим целевую функцию из этого примера функцией. При этом оптимум по-прежнему достигается в точке (1,0), в которой условие линейной независимости не выполняется. Условия Куна—Таккера (12) - (16) остаются неизменными, а уравнение (11) принимает вид
Нетрудно проверить, что точка является точкой Куна—Таккера, т. е. удовлетворяет условиям Куна—Таккера.
Теорема о необходимости условий Куна—Таккера позволяет идентифицировать неоптимальные точки. Другими словами, теорему 1 можно использовать для доказательства того, что заданная допустимая точка, удовлетворяющая условию линейной независимости, не является оптимальной, если она не удовлетворяет условиям Куна—Таккера. С другой стороны, если в этой точке условия Куна—Таккера выполняются, то нет гарантии, что найдено оптимальное решение нелинейной задачи. В качестве примера рассмотрим следующую задачу нелинейного программирования.
Следующая теорема устанавливает условия, при выполнении которых точка Куна—Таккера автоматически соответствует оптимальному решению задачи нелинейного программирования.
Теорема.2 Достаточность условий Куна—Таккера
Рассмотрим задачу
нелинейного программирования (0) —
(2). Пусть целевая функция
Если условия теоремы 2 выполняются, то нахождение точки Куна—Таккера обеспечивает получение оптимального решения задачи нелинейного программирования.
Теорему 2 можно также использовать для доказательства оптимальности данного решения задачи нелинейного программирования. В качестве иллюстрации опять рассмотрим пример:
Минимизировать
при ограничениях
С помощью теоремы 2 докажем, что решение является оптимальным. Имеем
Так как матрица положительно полуопределена при всех х, функция оказывается выпуклой. Первое ограничение в виде неравенства содержит линейную функцию , которая одновременно является как выпуклой, так и вогнутой. Для того
чтобы показать, что функция является вогнутой, вычислим
Поскольку матрица отрицательно определена, функция является вогнутой. Функция входит в линейное ограничение в вяде равенства. Следовательно, все условия теоремы 2 выполнены; если мы покажем, что - точка Куна-Таккера, то действительно установим оптимальность решения . Условия Куна-Таккера для примера 2 имеют вид
(22)
(23)
(24)
(25)
, (26)
, (27)
(28)
(29)
Точка удовлетворяет ограничениям (24) — (26) и, следовательно, является допустимой. Уравнения (22) и (23) принимают следующий вид:
Положив ,получим и. Таким образом, решение х*=(1, 5), удовлетворяет условиям Куна—Таккера. Поскольку условия теоремы 2 выполнены, то оптимальное решение задачи из примера 3. Заметим, что существуют также и другие значения и , которые удовлетворяют системе (22) -(29).
Замечания
1.Для встречающихся на практике задач условие линейной независимости, как правило, выполняется. Если в задаче все функции дифференцируемы, то точку Куна—Таккера следует рассматривать как возможную точку оптимума. Таким образом, многие из методов нелинейного программирования сходятся к точке Куна—Таккера. (Здесь уместно провести аналогию со случаем безусловной оптимизации, когда соответствующие алгоритмы позволяют определить стационарную точку.)
2. Если условия теоремы 2 выполнены, точка Куна—Таккера в то же время оказывается точкой глобального минимума. К сожалению, проверка достаточных условий весьма затруднительна, и, кроме того, прикладные задачи часто не обладают требуемыми свойствами. Следует отметить, что наличие хотя бы одного нелинейного ограничения в виде равенства приводит к нарушению предположений теоремы 2.
3.Достаточные условия,
установленные теоремой 2, можно
обобщить на случай задач с
невыпуклыми функциями,
4. Функции
нескольких переменных
Ограниченные возможности симплексного метода, заключенные в задачах со сложными видами ограничений и произвольным видом целевой функции, привели к широкому использованию итеративных методов поиска оптимального решения.
Сначала рассмотрим вопрос анализа «в статике» с использованием положений линейной алгебры и дифференциального исчисления, а также условия, которые (в достаточно общих возможных ситуациях) позволяют идентифицировать точки оптимума. Такие условия используются для проверки выбранных точек и дают возможность выяснить, являются ли эти точки точками минимума или максимума. При этом задача выбора указанных точек остается вне рамок проводимого анализа; основное внимание уделяется решению вопроса о том, соответствуют ли исследуемые точки решениям многомерной задачи безусловной оптимизации, в которой требуется минимизировать f(x) x при отсутствии ограничений на x, где x — вектор управляемых переменных размерности n, f — скалярная целевая функция. Обычно предполагается, что xi (для всех значений i=1, 2, …, n) могут принимать любые значения, хотя в ряде практических приложений область значений x выбирается в виде дискретного множества. Кроме того, часто оказывается удобным предполагать, что функция f и ее производные существуют и непрерывны всюду, хотя известно, что оптимумы могут достигаться в точках разрыва f или ее градиента
Градиентом функции f(х) называют вектор, величина которого определяет скорость изменения функции f(x), а направление совпадает с направлением наибольшего возрастания этой функции.
Следует помнить, что
функция f может принимать минимальное
значение в точке x, в которой f или претерпевают
разрыв. Кроме того, в этой точке может
не существовать. Для того чтобы построить
систему конструктивных критериев оптимальности,
необходимо (по крайней мере на первой
стадии исследования) исключить из рассмотрения
подобные ситуации, которые весьма усложняют
анализ.
4.1. Методы
прямого поиска
Ниже рассматривается вопрос анализа «в динамике» для функций нескольких переменных, т. е. исследуются методы и алгоритмы, позволяющие на итерационной основе получать оценки х*— вектора управляемых переменных, которому соответствует минимальное значение функции f(x). Указанные методы применимы также к задачам максимизации, в которых целевую функцию следует заменить на -f(х). Методы, ориентированные на решение задач безусловной оптимизации, можно разделить на три широких класса в соответствии с типом используемой при реализации того или иного метода информации.
1. Методы прямого
поиска, основанные на вычислении
только значений целевой
2. Градиентные методы, в которых используются точные значения первых производных f(x).
3. Методы второго порядка, в которых наряду с первыми производными используются также вторые производные функции f(x).
Ниже рассматриваются методы, относящиеся к каждому из перечисленных классов, поскольку ни один метод или класс методов не отличается высокой эффективностью при решении оптимизационных задач различных типов. В частности, возможны случаи, когда происходит переполнение памяти ЭВМ; в других ситуациях вычисление значений целевой функции требует чрезмерных затрат времени; в некоторых задачах требуется получить решение с очень высокой степенью точности. В ряде приложений либо невозможно, либо весьма затруднительно найти аналитические выражения для производных целевой функции. Поэтому если предполагается использовать градиентные методы, следует применить процедуру разностной аппроксимации производных. В свою очередь это приводит к необходимости экспериментального определения длины шагов, позволяющего установить надлежащее соответствие между ошибкой округления и ошибкой аппроксимации. Таким образом, инженер вынужден приспосабливать применяемый метод к конкретным характеристикам решаемой задачи.
Методы решения
задач безусловной оптимизации
отличаются относительно высоким уровнем
развития по сравнению с другими
методами нелинейного программирования.
Ниже речь идет о методах прямого
поиска, для реализации которых требуются
только значения целевой функции; в
следующем разделе