Министерство общего и профессионального образования
Российской Федерации
Южно-Уральский Государственный Университет
Кафедра АиУ.
Реферат
по математическим основам теории систем
НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
Выполнил: Подрезов Сергей Валерьевич
Группа: ПС-243
Преподаватель: Разнополов Олег Александрович
Челябинск, 2005
Содержание.
Введение. 3
Необходимые и достаточные условия существования экстремума. 3
Итеративные методы. Постановка задачи. 7
Пример. 8
Список используемой литературы. 10
Введение.
Классическая теория оптимизации основана на использовании дифференциального исчисления для нахождения точек максимума и минимума (экстремумов) функции в условиях наличия и отсутствия ограничений.
Постановка задачи нелинейного программирования
В задаче нелинейного программирования (НЛП) требуется найти значение многомерной переменной , минимизирующее целевую функцию при условиях, когда на переменную наложены ограничения типа неравенств, а переменные , то есть компоненты вектора , неотрицательны. Если некоторые ограничения входят в задачу со знаком равенства, например, то их можно представить в виде пары неравенств , сохранив тем самым типовую формулировку задачи.
Необходимые и достаточные условия существования экстремума.
Рассмотрим условия существования экстремумов функции и переменных , предполагая, что первая и вторая производные непрерывны.
Теорема 1:
Если точка является экстремальной точкой функции , то .
Если - точка максимума (минимума), то (), для всех при малых hj.
По теореме Тейлора при 0≤Θ≤1 верно разложение .
Предположим, что - точка минимума. Предположим, что , тогда для некоторого j , либо .
Выберем знак так, чтобы , остальные =0. Тогда получим, что , что противоречит определению точки минимума. Значит, .
Это условие является необходимым, но не достаточным. Точки, удовлетворяющие условие будем называть стационарными.
Теорема 2:
Стационарная точка является экстремальной, когда матрица Гессе Н в точки оказывается, определена положительно (т. минимума) или отрицательно (т. максимума).
Из предыдущей теоремы: . Пусть - точка минимума, тогда по определению .
Для всех ненулевых , это означает, что , т.к. - квадратичная форма, то рассматриваемая величина положительна тогда и только тогда, когда - положительно определенная матрица.
Матрица Гессе - матрица с элементами . Если неопределенна, то - седловая точка.
Если полуопределена, то в точке может быть экстремум, но для установления этого нужно рассматривать члены разложения в ряд Тейлора более высокого порядка. В некоторых случаях можно сделать вывод об отсутствии экстремума. Сформулируем теорему для f(g) одной переменой.
Теорема 3:
Если в стационарной точке у0 первые (n-1) производные f(y) равны 0, а f(n)(y)≠0, то при y=y0 функция:
1) Имеет точку перегиба, если h - нечетное,
2) Экстремальную точку, если h - четное.
При - максимум, а при - минимум.
Ограничения в виде равенств.
1) Метод Якоби (приведённого градиента).
Данный метод является обобщенный симплекс метод линейного программирования. Рассмотрим задачу минимизирования z= при ограничениях где , а функция и дважды не прерывно дифференцируемы.
Идея заключается в том, чтобы найти аналитическое выражение для первых частных производных функций , во всех точках удовлетворяющих .
Из теоремы Тейлора следует, что для точки можно записать:
При ∆xj→0 имеем:
т.к. , то , значит
(1)
Пусть , где являются зависимыми и независимыми переменными (m<n), образующими вектор . Градиенты имеют вид:
Введём определение двух матрицу:
(2)
(3)
Матрицу называют матрицей Якоби, а матрицей управления.
Перепишем (1):
(4)
Далее: т.к. , то (5)
, (6)
где - проведенный градиент. Вектор должен обратятся в нуль в стационарных точках. При этом элементы матрицы Гессе соответствуют компонентам вектора независимых переменных . Вектор задаёт i-ю строку матрице Гессе Нс.
2) Метод множителей Лагранжа
Пусть .
Функция L называется функцией Лагранжа, а параметры множителями Лагранжа. Без доказательства приведем утверждение, что в стационарной точке Y0 верно равенство:
Пусть , откуда . Это уравнение выражает условие стационарности точек. В более удобном виде
.
Применительно к функциям Лагранжа эти условия стационарности имеют вид
и .
Это означает, что задача оптимизации при эквивалентна задаче нахождения безусловного экстремума функции Лагранжа .
Ограничения в виде неравенств.
1. Обобщённый метод множителей Лагранжа.
Пусть дана задача максимизировать при ограничениях .
1) Решить задачу без учёта ограничений. Если полученная точка удовлетворяет все ограничения, то прекратить вычисления, иначе - положить k=1 и продолжить.
2) Сделать любые k ограничений активными (превратить в равенства) и найти оптимум при этих ограничениях. Если найденная точка удовлетворяет оставшимся ограничениям, то локальный оптимум найден. Иначе, увеличим k и повторяем 2). Если все k ограничений были активными, то переходим к 3).
3) Допустимых решений не существует.
2. Условия Кука – Таккера.
Рассмотрим ту же задачу. Ограничения – неравенство можно преобразовать к виду равенств, введя соответствующие неотрицательные переменные , которые прибавили к левым частям i-x ограничений.
. Пусть .
При этом функция Лагранжа записывается в виде .
В задаче максимизации (минимизации) необходимым условием оптимальности является неотрицательность (неположительность) .
Прировняем частные производные L к 0:
Из этих уравнений следует необходимые условия Кука – Таккера, которые должны удовлетворять и , определяющие стационарную точку в задаче оптимизации
Для минимизации . Если ограничения заданы в виде равенств, то на знак ограничения не накладываются.
3. Достаточность условий Кука – Таккера.
Необходимые условия Кука – Таккера являются также достаточными, если целевая функция и область допустимых значений обладают определенными свойствами:
Типы оптимизации |
|
|
λi |
Максимизация |
Вогнутая |
≥0 1 ≤ i ≤ r ≤0 r+1 ≤ i ≤ p без огр. p+1 ≤ i ≤ m |
|
Минимизация |
Выпуклая |
≤0 1 ≤ i ≤ r ≥0 r+1 ≤ i ≤ p без огр. p+1 ≤ i ≤ m |
Ограничения задаются в виде:
i = 1,…, r,
i = r+1,…, p,
i = p+1,…, m.
Функция Лагранжа:
4. Квадратичное программирование.
Модель квадратичного программирования определяется, как максимизировать (минимизировать) при ограничениях , где , , , , .
Матрица D квадратичной формы предполагается отрицательно (положительно) определённой в задаче максимизации (минимизации). Решение получается путём применения условий Кука – Таккера: и - множители Лагранжа:
,
где - вектор дополнительных переменных.
Итеративные методы. Постановка задачи.
Ограниченные возможности симплексного метода привели к широкому распространению градиентных и других итеративных методов, в основе которых лежит понятие градиента целевой функции g(x).
Градиентом функции g(x), обозначаемым grad g(x) и , называют вектор, величина которого определяет скорость изменения функции g(x), и наибольшего возрастания этой функции. Пусть , но . (1)
Условия стационарности точки . (2) Разложим в ряд Тейлора в окрестности точки оптимума , которую считаем стационарной (3), где - отклонение от точки оптимума; (4), т.к. , то
, (5) где элементы матрицы А определяются akj по формуле (4). Разрешая систему уравнений (5) относительно , получаем: . (6) Если заменить неизвестную матрицу А-1 на матрицу Г ([γkj]), то можно надеется, что величина даст значение, более близкое к оптимуму, чем x. При этом открываются возможности многошаговой процедуры поиска.
Обозначим через , значение на n-ом шаге. Тогда процедура поиска запишется в виде .
Градиентный метод.
Этот метод представляет собой последовательность шагов, содержащих две операции:
1) Определение направления наибольшей крутизны спуска, т.е направление антиградиента g(x).
2) Перемещение в выбранном направлении на заданное расстояние.
Математически стратегия градиентного метода получается, если перемещение на каждом шаге будет пропорционально составляющей градиента в направлении этой оси: (8) тогда Гn будет диагональной Гn =γI (9) при этом, поправка на n-м шаге равна: . (10) При таком ограничении некоторые шаги могут оказаться мелкими. Это можно исправить, используя стратегию с постоянным шагом γ. (11) где .
Метод наискорейшего спуска (подъема).
В этом методе градиент находят только в начальной точке и движении в найденном направлении продолжается c одинаковыми шагами до тех пор, пока уменьшается значение . Если на каком-то шаге возросло, то движение в данном направлении прекращается, последний шаг снимается полностью, или на половину, и вычисление нового градиента функции , т. е новое направление движение.
При этом, шаг движения не должен быть большим, чтобы не пропустить оптимум на данном направлении.
Алгоритм Ньютона.
Этот метод применим, когда поверхность отклика достаточно хорошо описывается уравнением 2-го порядка. Метод позволяет резко уменьшить число шагов. При хорошей поверхности отклика вторые производные: (12) вычисленные в точки будут близкими и элементам akj матрицы А. Используя в качестве Гn матрицу вторых производных в точке , получим вектор поправок для алгоритма Ньютона: . (13) Если разложения (3) является точным, то оптимум достигается за один шаг.
Пример.
Задача "О почтовой посылке": найти ее максимальный объем при ограничении на обхват и длину.
Постановка (формализация задачи) Формулируем цель: s=xyz->max и ограничения: x+2y+2z < 72, 0< x,y,z.
Задача является смешанной. ЦФ s -нелинейная, а область ограничений - линейная. Область ограничений - многогранник, ограниченный координатными плоскостями x,y,z и плоскостью x/72+y/36+z/36=1.
Т.к. значения x,y,z должны быть больше нуля и точка, определяющая максимум ЦФ, должна лежать на поверхности многогранника, то заключаем, что положения точки, обеспечивающей максимум ЦФ, возможны на грани р1-р3 многогранника ограничений.
Алгоритм решения задачи.
) В плоскости р1-р3 выполняем перебор точек р (возможные сочетания переменных x,y,z) по формулам: p=(1.-s11)*p91+s11*p92, 0 < s11 < 1, где, р91, р92, в свою очередь, определяются: p91=(1.-s12)*p1+s12*p3, 0 < s12 < 1, p92=(1.-s12)*p2 +s12*p3, 0 < s12 < 1. 2) Вычисляем ЦФ s (s=x*y*z) при каждом сочетании x,y,z. 3) Сравниваем s с эталоном (регистром) s99. Как только s при расчете будет больше s99, помещаем его в s99. В результате перебора (например, с помощью 2-го цикла) и сравнения s c s99 (s > s99 ? s99=s) получаем s99 максимальное из возможных s. 3) В момент достижения максимального значения s выполняем принудительный выход из МК. Искомые значения x,y,z будут лежать в p. 4) Для контроля вычислений строим графики ЦФ в координатных плоскостях sx, sy, sz (рис. 9, а,б.с или (рис. 9, д) непосредственно над плоскостью р1-р3 в трехмерной координатной системе (аксонометрии) sxy.
Рис. Отображение ЦФ: s=x*y*z -> max на комплексном и ортогональном чертежах а) полностью, б) до достижения максимума.
Список используемой литературы.
· Таха Х., «Введение в исследование операций», Москва, 1985 г.;
· Коршунов Ю.М., «Математические основы кибернетики», Москва, 1987 г.;