Министерство общего и профессионального образования

Российской Федерации

Южно-Уральский Государственный Университет

Кафедра АиУ.

Реферат

по математическим основам теории систем

НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ

Выполнил: Подрезов Сергей Валерьевич

Группа: ПС-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 будет диагональной ГnI  (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 г.;