Южно-УральскийГосударственный Университет
Кафедра АиУ
реферат на тему:
Нелинейное программирование
Выполнил:Пушников А. А., ПС-263.
Проверил:Разнополов О.А.
Челябинск – 2003.
Оглавление
1. Постановка задачи нелинейного программирования
2. Критерии оптимальности в задачах с ограничениями
2.1. Задачи с ограничением в виде равенств
2.2. Множители Лагранжа
3. Условия Куна-Таккера
3.1. Условия Куна-Таккера и задача Куна-Таккера
3.2. Интерпретация условий Куна-Таккера
3.3. Теоремы Куна-Таккера
4. Функции нескольких переменных
4.1. Методы прямого поиска
4.1.1. Методпоиска по симплексу (S2 — метод)
4.1.2. Методпоиска Хука-Дживса
1. Постановка задачи нелинейногопрограммирования.
Взадаче нелинейного программирования (НЛП) требуется найти значение многомернойпеременной х=(/>), минимизирующеецелевую функцию f(x) при условиях, когда на переменную х наложеныограничения типа неравенств
/> , i=1,2,…,m (1)
апеременные />, т.е. компоненты векторах, неотрицательны:
/>/> (2)
Иногдав формулировке задачи ограничения (1) имеют противоположные знаки неравенств.Учитывая, однако, что если />, то /> , всегда можно свестизадачу к неравенствам одного знака. Если некоторые ограничения входят в задачусо знаком равенства, например />, то ихможно представить в виде пары неравенств />,/>, сохранив тем самымтиповую формулировку задачи.
2. Критерииоптимальности в задачах с ограничениями.
Рядинженерных задач связан с оптимизацией при наличии некоторого количества ограниченийна управляемые переменные. Такие ограничения существенно уменьшают размеры области,в которой проводится поиск оптимума. На первый взгляд может показаться, чтоуменьшение размеров допустимой области должно упростить процедуру поискаоптимума. Между тем, напротив, процесс оптимизации становится более сложным,поскольку установленные выше критерии оптимальности нельзя использовать приналичии ограничений. При этом может нарушаться даже основное условие, всоответствии с которым оптимум должен достигаться в стационарной точке,характеризующейся нулевым градиентом. Например, безусловный минимум функции /> имеет место в стационарнойточке х=2. Но если задача минимизации решается с учетом ограничения />, то будет найден условныйминимум, которому соответствует точка x=4. Эта точка не являетсястационарной точкой функции f, так как />(4)=4. Далее исследуются необходимые и достаточные условия оптимальностирешений задач с ограничениями. Изложение начинается с рассмотрения задачоптимизации, которые содержат только ограничения в виде равенств. 2.1. Задачи с ограничениями в виде равенств
Рассмотримобщую задачу оптимизации, содержащую несколько ограничений в виде равенств:
Минимизировать />
приограничениях /> , k=1,…,n
Этазадача в принципе может быть решена как задача безусловной оптимизации,полученная путем исключения из целевой функции k независимых переменных с помощью заданных равенств.Наличие ограничений в виде равенств фактически позволяет уменьшить размерность исходнойзадачи с n до n-k… Вкачестве иллюстрации рассмотрим следующий пример.
Пример1
Минимизировать />
приограничении />
Исключивпеременную />, с помощью уравнения />, получим
оптимизационнуюзадачу с двумя переменными без ограничений
min />
Методисключения переменных применим лишь в техслучаях, когда уравнения, представляющие ограничения, можно разрешитьотносительно некоторого конкретного набора независимых переменных. При наличиибольшого числа ограничений в виде равенств, процесс исключения переменныхстановится весьма трудоемкой процедурой. Кроме того, возможны ситуации, когдауравнение не удается разрешить относительно переменной. В частности, если впримере 1 ограничение /> задать в виде
/>
тополучить аналитическое выражение какой-либо из переменных через другие непредставляется возможным. Таким образом, при решении задач, содержащих сложныеограничения в виде равенств, целесообразно использовать метод множителейЛагранжа, описание которого дается в следующем разделе. 2.2. Множители Лагранжа
Спомощью метода множителей Лагранжа по существу устанавливаются необходимыеусловия, позволяющие идентифицировать точки оптимума в задачах оптимизации сограничениями в виде равенств. При этом задача с ограничениями преобразуется вэквивалентную задачу безусловной оптимизации, в которой фигурируют некоторыенеизвестные параметры, называемые множителями Лагранжа.
Рассмотримзадачу минимизации функции n переменных с учетом одного ограничения в видеравенства:
Минимизировать /> (3)
приограничениях /> (4)
Всоответствии с методом множителей Лагранжа эта задача преобразуется в следующуюзадачу безусловной оптимизации:
минимизировать L(x,u)=f(x)-u*h(x) (5)
Функция L(х;u) называется функцией Лагранжа, u — неизвестнаяпостоянная, которая носит название множителя Лагранжа. На знак u никакихтребований не накладывается.
Пустьпри заданном значении u=u0безусловный минимум функции L(x,u) по х достигается в точке /> и/> удовлетворяет уравнению />. Тогда, как нетрудновидеть, x0минимизирует (1) с учетом (4), поскольку для всех значений х, удовлетворяющих(4), /> и L(x,u)=min f(x).
Разумеется,необходимо подобрать значение u=u° таким образом, чтобы координата точки безусловногоминимума х° удовлетворяла равенству (4). Это можно сделать, если, рассматриваяu как переменную, найти безусловный минимум функции (5)в виде функции u, а затем выбрать значение u, при котором выполняетсяравенство (4). Проиллюстрируем это на конкретном примере.
Пример2
Минимизировать />
приограничении />=0
Соответствующаязадача безусловной оптимизации записывается в следующем виде:
минимизировать L(x,u)= />-u/>
Решение. Приравняв две компоненты градиента L к нулю, получим
/>
/>
Длятого чтобы проверить, соответствует ли стационарная точка х° минимуму, вычислимэлементы матрицы Гессе функции L(х;u), рассматриваемой как функция х,
/>,
котораяоказывается положительно определенной. Это означает, что L(х,,u) — выпуклаяфункция х. Следовательно, координаты /> ,/> определяют точкуглобального минимума. Оптимальное значение u находится путемподстановки значений /> и /> в уравнение />=2, откуда 2u+u/2=2или />. Таким образом, условныйминимум достигается при /> и />/> и равен min f(x)=4/5.
Прирешении задачи из примера 2 мы рассматривали L(х;u) как функциюдвух переменных /> и /> и, кроме того,предполагали, что значение параметра uвыбрано так, чтобы выполнялось ограничение.Если же решение системы
/>, j=1,2,3,…,n
ввиде явных функций u получить нельзя, то значения х и u находятсяпутем решения следующей системы, состоящей из n+1 уравнений с n+1 неизвестными:
/> , j=1,2,3,…,n />
Длянахождения всех возможных решений данной системы можно использовать численныеметоды поиска (например, метод Ньютона). Для каждого из решений (/>) следует вычислитьэлементы матрицы Гессе функции L, рассматриваемой как функция х, и выяснить, являетсяли эта матрица положительно определенной (локальный минимум) или отрицательноопределенной (локальный максимум).
Методмножителей Лагранжа можно распространить на случай, когда задача имеетнесколько ограничений в виде равенств. Рассмотрим общую задачу, в которойтребуется
Минимизировать f(x)
приограничениях />=0, k=1,2, ..., К.
ФункцияЛагранжа принимает следующий вид:
L(x,u)=f(x)-/>
Здесь/>—множители Лагранжа, т.е.неизвестные параметры, значения которых необходимо определить. Приравниваячастные производные L по х к нулю,получаем следующую систему n уравнениис n неизвестными:
/>
/>
………..
/>
Еслинайти решение приведенной выше системы в виде функций вектора u оказываетсязатруднительным, то можно расширить систему путем включения в нее ограничений ввиде равенств
/>
/>
/>
Решениерасширенной системы, состоящей из n+К уравнений с n+К неизвестными,определяет стационарную точку функции L. Затем реализуется процедурапроверки на минимум или максимум, которая проводится на основе вычисленияэлементов матрицы Гессе функции L, рассматриваемой как функция х, подобнотому, как это было проделано в случае задачи с одним ограничением. Длянекоторых задач расширенная система n+К уравнений с n+K неизвестными может не иметь решений, и методмножителей Лагранжа оказывается неприменимым. Следует, однако, отметить, чтотакие задачи на практике встречаются достаточно редко.
3. УсловияКуна-Таккера
Впредыдущем разделе было установлено, что множители Лагранжа можно использоватьпри построении критериев оптимальности для задач оптимизации с ограничениями ввиде равенств. Кун и Таккер обобщили этот подход на случай общей задачи нелинейногопрограммирования с ограничениями, как в виде равенств, так и в виденеравенств.
Рассмотримследующую общую задачу нелинейного программирования:
минимизировать/> (0)
приограничениях /> (1)
/> (2)
Определение:
Ограничениев виде неравенства /> называется активным,или связывающим, в точке />, если />, и неактивным, илинесвязывающим, если />
Еслисуществует возможность обнаружить ограничения, которые неактивны в точкеоптимума, до непосредственного решения задачи, то эти ограничения можноисключить из модели и тем самым уменьшить ее размеры. Основная трудностьзаключается при этом в идентификации неактивных ограничений, предшествующей решениюзадачи.
Куни Таккер построили необходимые и достаточные условия оптимальности для задачнелинейного программирования, исходя из предположения о дифференцируемостифункций />. Эти условияоптимальности, широко известные как условия Куна—Таккера, можно сформулироватьв виде задачи нахождения решения некоторой системы нелинейных уравнений инеравенств, или, как иногда говорят, задачи Куна—Таккера.3.1. Условия Куна—Таккера изадача Куна—Таккера
Найтивекторы /> , удовлетворяющие следующимусловиям
/>(3)
/>(4)
/>(5)
/>(6)
/>(7)
Преждевсего проиллюстрируем условия Куна — Таккера на примере.
Пример3
Минимизировать/>
приограничениях />
Решение.
Записавданную задачу в виде задачи нелинейного программирования (0)-(2), получим
/>/>
/>/>
/>/>
/>/>
Уравнение(3), входящее в состав условий Куна—Таккера, принимает следующий вид:
/>
откуда
/>
Неравенства(4) и уравнения (5) задачи Куна — Таккера в данном случае записываются в виде
/> /> />
Уравнения(5.16), известные как условие дополняющей нежесткости, принимают вид
/> />
Заметим,что на переменные /> и /> накладывается требованиенеотрицательности, тогда как ограничение на знак /> отсутствует.
Такимобразом, этой задачи условия Куна—Танкера записываются в следующем виде:
/> 3.2. Интерпретация условий Куна — Таккера
Длятого чтобы интерпретировать условия Куна — Таккера, рассмотрим задачу нелинейногопрограммирования с ограничениями в виде равенств:
минимизировать/>
приограничениях />
Запишемусловия Куна—Таккера
/> (8)
/> (9)
Далеерассмотрим функцию Лагранжа для задачи нелинейного программирования сограничениями в виде равенств
/>
Дляэтой функции условия оптимальности первого порядка записываются в виде
/>
Нетрудновидеть, что условия Куна-Таккера (8) и (9) совпадают с условиями оптимальностипервого порядка для задачи Лагранжа.
Рассмотримзадачу нелинейного программирования с ограничениями в виде неравенств:
минимизировать/>
приограничениях />/>
Запишем условия Куна—Таккера
/>
Соответствующаяфункция Лагранжа имеет вид
/>
Условияоптимальности первого порядка записываются как
/>
Заметим,что /> — множитель Лагранжа,соответствующий ограничению />. Раньшебыло показано, что /> представляетнеявную цену, ассоциированную с ограничением />;другими словами, величина /> отражаетизменение минимального значения целевой функции />,вызываемое единичным приращением правой части />-го ограничения.
Еслипредположить, что /> — е ограничениеявляется неактивным (т.е. /> Сдругой стороны, если />-е ограничениеактивное (т. е. />), тосоответствующая неявная цена /> необязательно равна нулю, однако />, таккак />. Таким образом,/> для всех значений />.
Длятого чтобы определить знак /> (неявнойцены, ассоциированной с ограничением />),следует увеличить правую часть ограничения от 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). Пусть целевая функция /> выпуклая, все ограниченияв виде неравенств содержат вогнутые функции />,а ограничения в виде равенств содержат линейные функции />. Тогда если существуетрешение />, удовлетворяющее условиямКуна—Таккера (3) — (7), то х* — оптимальное решение задачи нелинейногопрограммирования.
Еслиусловия теоремы 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).
Нижерассматриваются методы, относящиеся к каждому из перечисленных классов,поскольку ни один метод или класс методов не отличается высокой эффективностьюпри решении оптимизационных задач различных типов. В частности, возможныслучаи, когда происходит переполнение памяти ЭВМ; в других ситуацияхвычисление значений целевой функции требует чрезмерных затрат времени; внекоторых задачах требуется получить решение с очень высокой степенью точности.В ряде приложений либо невозможно, либо весьма затруднительно найтианалитические выражения для производных целевой функции. Поэтому еслипредполагается использовать градиентные методы, следует применить процедуруразностной аппроксимации производных. В свою очередь это приводит к необходимостиэкспериментального определения длины шагов, позволяющего установить надлежащеесоответствие между ошибкой округления и ошибкой аппроксимации. Таким образом,инженер вынужден приспосабливать применяемый метод к конкретным характеристикамрешаемой задачи.
Методырешения задач безусловной оптимизации отличаются относительно высоким уровнемразвития по сравнению с другими методами нелинейного программирования. Нижеречь идет о методах прямого поиска, для реализации которых требуются толькозначения целевой функции; в следующем разделе рассматриваются градиентныеметоды и методы второго порядка. Здесь предполагается, что f(x) непрерывна,а /> может как существовать,так и не существовать, поскольку соответствующие числовые значения неиспользуются. Однако следует отметить, что методы прямого поиска можно применятьдля решения задач, в которых /> существует,и они часто используются в тех случаях, когда /> представляетсобой сложную векторную функцию управляемых переменных. Наконец, в этом ипоследующих разделах предполагается, что функция f(х) унимодальнав рассматриваемой области. Если же изучаемые методы применяются для анализамультимодальных функций, то приходится ограничиваться идентификацией локальныхминимумов.
Многомерныеметоды, реализующие процедуру поиска оптимума на основе вычисления значенийфункции, с общих позиций можно разделить на эвристические и теоретические.Эвристические методы, как это следует из названия, реализуют процедуры поиска спомощью интуитивных геометрических представлений и обеспечивают получениечастных эмпирических результатов. С другой стороны, теоретические методыоснованы на фундаментальных математических теоремах и обладают такимиоперационными свойствами, как сходимость (по крайней мере при выполнениинекоторых определенных условий). Ниже подробно рассматриваются три методапрямого поиска:
1)поиск по симплексу, или S2-метод;
2)метод поиска Хука—Дживса;
3)метод сопряженных направлений Пауэлла.
Первыедва из перечисленных методов относятся к категории эвристических и реализуютпринципиально различающиеся стратегии поиска. В процессе поиска по S2-методу последовательно оперируют регулярнымисимплексами в пространстве управляемых переменных, тогда как при реализацииметода Хука-Дживса используется фиксированное множество (координатных) направлений,выбираемых рекурсивным способом. Метод Пауэлла основан на теоретическихрезультатах и ориентирован на решение задач с квадратичными целевыми функциями;для таких задач метод сходится за конечное число итераций. К числу общихособенностей всех трех методов следует отнести относительную простоту соответствующихвычислительных процедур, которые легко реализуются и быстро корректируются. Сдругой стороны, реализация указанных методов может требовать (и часто требует)более значительных затрат времени по сравнению с методами с использованиемпроизводных. 4.1.1.Метод поиска по симплексу(S2-метод)
Первыепопытки решения оптимизационных задач без ограничений на основе прямого поискасвязаны с использованием одномерных методов оптимизации. Как правило, приреализации таких методов допустимая область определения показателя качествафункционирования системы (целевой функции) заменяется дискретным множеством(решеткой) точек пространства управляемых переменных, а затем используютсяразличные стратегии уменьшения области, которая содержит решение задачи. Частоэта процедура оказывается эквивалентной равномерному поиску в узлах решетки и,следовательно, непригодной для решения задач с числом переменных, превышающим2. Более полезная идея заключается в выборе базовой точки и оцениваниизначений целевой функции в точках, окружающих базовую точку. Например, прирешении задачи с двумя переменными можно воспользоваться квадратным образцом,изображенным на рис.2
/>
Рис2. Квадратный образец (частный случай кубического образца)
Затем«наилучшая» из пяти исследуемых точек выбирается в качестве следующей базовойточки, вокруг которой строится аналогичный образец. Если ни одна из угловыхточек не имеет преимущества перед базовой, размеры образца следует уменьшить,после чего продолжить поиск.
Этоттип эволюционной оптимизации был использован Боксом и другимиисследователями для анализа функционирования промышленных предприятий, когдаэффект варьирования значений переменных, описывающих производственные процессы,измеряется с ошибкой. В задачах большой размерности вычисление значений целевойфункции проводится во всех вершинах, а также в центре тяжести гиперкуба (гиперкуб– куб в n-мерном евклидовом пространстве, т.е. множество S={x=(/>)/>| />}, где а и b –заданные числа ), т. е. в точках так называемого кубического образца. Есликоличество переменных (размерность пространства, в котором ведется поиск) равноn, то поиск по кубическому образцу требует />+1 вычислений значенияфункций для одного образца. При увеличении размерности задачи необходимоеколичество вычислений значения целевой функции возрастает чрезвычайно быстро.Таким образом, несмотря на логическую простоту поиска по кубическому образцу,возникает необходимость использования более эффективных методов прямого поискадля решения возникающих на практике задач оптимизации.
Однаиз вызывающих особый интерес стратегий поиска положена в основу метода поискапо симплексу, предложенного Спендли, Хекстом и Химсвортом. Следует отметить,что указанный метод и другие подобные методы не имеют отношения ксимплекс-методу линейного программирования, а сходство названий носит случайныйхарактер. Процедура симплексного поиска Спендли, Хекста и Химсворта базируетсяна том, что экспериментальным образцом, содержащим наименьшее количество точек,является регулярный симплекс. Регулярный симплекс в n-мерномпространстве представляет собой многогранник, образованный n+1равностоящими друг от друга точками-вершинами. Например, в случае двух переменныхсимплексом является равносторонний треугольник; в трехмерном пространствесимплекс представляет собой тетраэдр. В алгоритме симплексного поискаиспользуется важное свойство симплексов, согласно которому новый симплексможно построить на любой грани начального симплекса путем переноса выбраннойвершины на надлежащее расстояние вдоль прямой, проведенной через центр тяжестиостальных вершин начального симплекса. Полученная таким образом точка являетсявершиной нового симплекса, а выбранная при построении вершина начальногосимплекса исключается. Нетрудно видеть, что при переходе к новому симплексутребуется одно вычисление значения целевой функции. Рис 3 иллюстрирует процесспостроения нового симплекса на плоскости.
/>
Рис.3.Построениенового симплекса.
а– начальный симплекс />
б– новый симплекс />
Работаалгоритма симплексного поиска начинается с построения регулярного симплекса впространстве независимых переменных и оценивания значений целевой функции вкаждой из вершин симплекса. При этом определяется вершина, которойсоответствует наибольшее значение целевой функции. Затем найденная вершинапроецируется через центр тяжести остальных вершин симплекса в новую точку,которая используется в качестве вершины нового симплекса. Если функция убываетдостаточно плавно, итерации продолжаются до тех пор, пока либо не будет накрытаточка минимума, либо не начнется циклическое движение по двум или болеесимплексам. В таких ситуациях можно воспользоваться следующими тремяправилами.
Правило1. «Накрытие» точки минимума
Есливершина, которой соответствует наибольшее значение целевой функции, построенана предыдущей итерации, то вместо нее берется вершина, которой соответствуетследующее по величине значение целевой функции.
Правило2. Циклическое движение
Еслинекоторая вершина симплекса не исключается на протяжении более чем М итераций,то необходимо уменьшить размеры симплекса с помощью коэффициента редукции ипостроить новый симплекс, выбрав в качестве базовой точку, которойсоответствует минимальное значение целевой функции. Спендли, Хекст и Химс-вортпредложили вычислять М по формуле
M=1,65n+0,05/>
гдеn — размерность задачи, а М округляется до ближайшегоцелого числа. Для применения данного правила требуется установить величинукоэффициента редукции.
Правило3. Критерий окончания поиска
Поискзавершается, когда или размеры симплекса, или разности между значениями функциив вершинах становятся достаточно малыми. Чтобы можно было применять эти правила,необходимо задать величину параметра окончания поиска.
Реализацияизучаемого алгоритма основана на вычислениях двух типов: (1) построениирегулярного симплекса при заданных базовой точке и масштабном множителе и (2)расчете координат отраженной точки. Построение симплекса является достаточнопростой процедурой, так как из элементарной геометрии известно, что призаданных начальной (базовой) точке /> и масштабноммножителе /> координаты остальных nвершин симплекса в n-мерном пространстве вычисляются по формуле
/> (7)
дляi и j=1,2,3,…,n
Приращения/> и />,зависящие только от n и выбранного масштабного множителя/>, определяются по формулам
/> (8)
/> (9)
Заметим,что величина масштабного множителя />выбираетсяисследователем, исходя из характеристик решаемой задачи. При />=1 ребра регулярногосимплекса имеют единичную длину. Вычисления второго типа, связанные сотражением относительно центра тяжести, также представляют несложнуюпроцедуру. Пусть />— точка,подлежащая отражению. Центр тяжести остальных n точек расположен в точке
/> (10)
Всеточки прямой, проходящей через /> и хс,задаются формулой
/> (11)
При/>=0 получаем исходную точку />, тогда как значение />=1 соответствует центрутяжести хс. Для того чтобы построенный симплекс обладал свойствомрегулярности, отражение должно быть симметричным. Следовательно, новая вершинаполучается при />=2. Такимобразом,
/> (12)
Проиллюстрируемвычислительную схему метода следующим примером.
Пример5. Вычисления в соответствии с методом поиска по симплексу
Минимизироватьf(x)=/>
Решение.
Дляпостроения исходного симплекса требуется задать начальную точку и масштабныймножитель. Пусть x/> =/>и />=2. Тогда
/>
/>
Используяэти два параметра, вычислим координаты двух остальных вершин симплекса:
/>
/>
которымсоответствуют значения целевой функции, равные />=0,2374и />3,0658. Так как />5, необходимо отразитьточку />относительно центра тяжестидвух остальных вершин симплекса
/>
Используяформулу (12), получаем
/>
/>
Вполученной точке />2,3027, т. е.наблюдается уменьшение целевой функции. Новый симплекс образован точками />и/>. В соответствии салгоритмом следует отразить точку х(2), которой соответствуетнаибольшее значение целевой функции, относительно центра тяжести точек />и х(3). Итерациипродолжаются до тех пор, пока не потребуется применение правил 1, 2 и 3,которые были сформулированы выше.
Изложенныйвыше алгоритм /> — метода имеетнесколько очевидных преимуществ.
1.Расчеты и логическая структура метода отличаются сравнительной простотой, и,следовательно, соответствующая программа для ЭВМ оказывается относительнокороткой.
2.Уровень требований к объему памяти ЭВМ невысокий, массив имеет размерность (n+1, n+2).
3.Используется сравнительно небольшое число заранее установленных параметров: масштабныймножитель />, коэффициент уменьшениямножителя />(если применяется правило2) и параметры окончания поиска.
4.Алгоритм оказывается эффективным даже в тех случаях, когда ошибка вычислениязначений целевой функции велика, поскольку при его реализации оперируютнаибольшими значениями функции в вершинах, а не наименьшими.
Перечисленныефакторы характеризуют метод поиска по симплексу как весьма полезный при проведениивычислений в реальном времени.
Алгоритмобладает также рядом существенных недостатков.
1.Не исключено возникновение трудностей, связанных с масштабированием, посколькувсе координаты вершин симплекса зависят от одного и того же масштабного множителя/>. Чтобы обойти трудноститакого рода, в практических задачах следует промасштабировать все переменные стем, чтобы их значения были сравнимыми по величине.
2.Алгоритм работает слишком медленно, так как полученная на предыдущих итерацияхинформация не используется для ускорения поиска.
3.Не существует простого способа расширения симплекса, не требующего пересчетазначений целевой функции во всех точках образца. Таким образом, если />по какой-либо причинеуменьшается (например, если встречается область с узким «оврагом» или «хребтом»),то поиск должен продолжаться с уменьшенной величиной шага. 4.1.2.Метод поиска Хука-Дживса.
Метод,разработанный Хуком и Дживсом, является одним из первых алгоритмов, в которыхпри определении нового направления поиска учитывается информация, полученная напредыдущих итерациях. По существу процедура Хука—Дживса представляет собойкомбинацию «исследующего» поиска с циклическим изменением переменных иускоряющегося поиска по образцу с использованием определенных эвристическихправил. Исследующий поиск ориентирован на выявление характера локальногоповедения целевой функции и определение направлений вдоль «оврагов». Полученнаяв результате исследующего поиска информация затем используется в процессепоиска по образцу при движении по «оврагам».
Исследующийпоиск.
Дляпроведения исследующего поиска необходимо задать величину шага, которая можетбыть различной для разных координатных направлений и изменяться в процессепоиска. Исследующий поиск начинается в некоторой исходной точке. Если значениецелевой функции в пробной точке не превышает значения функции в исходнойточке, то шаг поиска рассматривается как успешный. В противном случаенеобходимо вернуться в предыдущую точку и сделать шаг в противоположномнаправлении с последующей проверкой значения целевой функции. После переборавсех N координат исследующий поиск завершается. Полученную в результате точкуназывают базовой точкой.
Поискпо образцу.
Поискпо образцу заключается в реализации единственного шага из полученной базовойточки вдоль-прямой, соединяющей эту точку с предыдущей базовой точкой. Новаяточка образца определяется в соответствии с формулой
/>
Кактолько движение по образцу не приводит к уменьшению целевой функция, точка /> фиксируется в качествевременной базовой точки и вновь проводится исследующий поиск. Если в результатеполучается точка с меньшим значением целевой функции, чем в точке />, то она рассматриваетсякак новая базовая точка />. Сдругой стороны, если исследующий поиск неудачен, необходимо вернуться в точку /> и провести исследующийпоиск с целью выявления нового направления минимизации. В конечном счете, возникаетситуация, когда такой поиск не приводит к успеху. В этом случае требуетсяуменьшить величину шага путем введения некоторого множителя и возобновитьисследующий поиск. Поиск завершается, когда величина шага становитсядостаточно малой. Последовательность точек, получаемую в процессе реализацииметода, можно записать в следующем виде:
/>- текущая базовая точка,
/> — предыдущая базовая точка,
/>- точка, построенная при движении по образцу,
/> — следующая (новая) базовая точка.
Приведеннаяпоследовательность характеризует логическую структуру поиска по методу Хука —Дживса.
Структураметода поиска Хука — Дживса
Шаг 1. Определить:
начальную точку /> ,
приращения />
коэффициент уменьшения шага />,
параметр окончания поиска />.
Ша г 2. ровести исследующий поиск.
Ша г 3. Был ли исследующий поиск удачным(найдена ли точка с меньшим значением
целевойфункции)?
Да: перейти к шагу 5.
Нет: продолжать.
Ша г 4. Проверка на окончание поиска.
Выполняетсяли неравенство />?
Да: прекратить поиск; текущая точка аппроксимирует точкуоптимума/>.
Нет: уменьшить приращения по формуле
/>
Перейтик шагу 2.
Ша г 5. Провести поиск по образцу:
/>
Шаг6. Провести исследующий поиск, используя /> в качестве базовой точки;
пусть/> полученная в результатеточка.
Ша г 7. Выполняется ли неравенство />?
Да: положить /> Перейтик шагу 5.
Нет: перейти к шагу 4.
Пример6 Поиск по методу Хука — Дживса
Найтиточку минимума функции /> используяначальную точку />.
Решение.
Длятого чтобы применить метод прямого поиска.Хука — Дживса, необходимо задатьследующие величины:
/> векторная величина приращения = />,
/> коэффициент уменьшения шага = 2,
/> параметр окончания поиска = 10-4.
Итерацииначинаются с исследующего поиска вокруг точки />,которой соответствует значение функции />Фиксируя/>, дадим приращениепеременной />:
/>
/>Успех.
Следовательно,необходимо зафиксировать /> и датьприращение переменной />:
/>
/> Успех.
Такимобразом, в результате исследующего поиска найдена точка
/>
Посколькуисследующий поиск был удачным, переходим к поиску по образцу:
/>
/>
Далеепроводится исследующий поиск вокруг точки />,который оказывается удачным при использовании положительных приращенийпеременных х1 и х2. В результате получаем точку
/>
Поскольку/>, поиск по образцу следуетсчитать успешным, и /> становится новойбазовой точкой при следующем проведении поиска по образцу. Итерациипродолжаются, пока уменьшение величины шага не укажет на окончание поиска вокрестности точки минимума. Последовательные шаги реализации метода показаны нарисунке.
Из примера следует, что метод Хука — Дживса характеризуется несложнойстратегией поиска, относительной простотой вычислений и невысоким уровнемтребований к объему памяти ЭВМ, который оказывается даже ниже, чем в случаеиспользования метода поиска по симплексу.
/>
Итерациипоиска по методу Хука-Дживса на примере