Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебники ТПР / Учебник ТПР_3.2.doc
Скачиваний:
240
Добавлен:
17.06.2016
Размер:
656.9 Кб
Скачать

153

3.2. Задачи нелинейного программирования

________________________________________________________________________________________________________

3.2. Задачи нелинейного программирования

Постановка задачи нелинейного программирования.

В классической теории оптимизации для нахождения точек максимума и минимума (экстремальных точек) целевой функции в условиях, как отсутствия, так и наличия ограничений на переменные, широко используется аппарат дифференциального исчисления [11]. На использовании этого аппарата построено большинство алгоритмов решения задач нелинейного программирования.

Классическая задача нелинейного программирования ставится следующим образом:

Минимизировать целевую функцию W=W(Ф) при ограничениях g(Ф)=0,

где Ф = (1, 2, …, n), ФRn, g(Ф) = (g 1(Ф), g 2(Ф), …, g m(Ф))T.

Ограничения g(Ф) заданы в виде равенств:

, где bi – число, ограничивающее i–й ресурс.

Ограничения на область допустимых значений каждого iQi могут быть заданы и могут отсутствовать. Функции W(Ф) и gi(Ф) (i = 1, 2, ..., т), в общем случае не линейно зависят от своих аргументов, но предполагаются дважды непрерывно дифферен­цируемыми.

Однако множество задач нелинейного программирования требует не минимизации, а максимизации значений целевой функции, ограничения в них часто задаются в виде неравенств.

Поэтому для всех задач нелинейного программирования, которые поставлены не в классической форме, рекомендуется:

 преобразовать целевую функцию, которую следует максимизировать, таким образом, чтобы полученную в результате преобразования функцию необходимо было минимизировать;

 преобразовать ограничения, заданные в виде неравенств к ограничениям, заданным в виде равенств, путем ввода в W(Ф) и gi(Ф) дополнительных переменных.

Заметим, что п – общее количество переменных в целевой функции и функциях ограничениях, т – количество уравнений функций ограничений. При т > п по меньшей мере т – п уравнений системы являются избыточными. По­сле устранения избыточности количество независимых уравнений в системе становит­ся равным т ( п). Если т = п, решением является Ф = 0. При этом точка Ф не имеет допустимой окрестности, и, следовательно, пространство решений задачи состоит из единственной точки. Такая ситуация является тривиальной.

В ситуации, когда т < п, обычно стремятся выразить т переменных через остальные п – т переменных, а затем исключить их из числа элементов целевой функции, заменив эти т переменных их выражением через остальные п т переменных. В этом случае задача нахождения условного экстремума превращается в задачу нахождения безусловного экстремума функции W(Z) = (1, …, nm). Данный способ положен в основу нескольких методов решения задач нелинейного программирования: метода приведенного градиента (метода Якоби), метода исключения, метода множителей Лагранжа [19].

Геометрическое решение

задач нелинейного программирования.

Геометрическое решение задач нелинейного программирования возможно и очень наглядно, когда количество аргументов целевой функции не превышает двух. В противном случае геометрические построения пришлось бы строить в n-мерном пространстве (n > 3), что является практически не реализуемым и совсем не наглядным.

Суть данного решения заключается:

  • в построении на числовой оси (при W(1)) или на плоскости (при W(1, 2)) графика области определения аргументов (допустимых координат векторов оценок свойств альтернатив). Данный график является проекцией на числовую ось 1 или на плоскость 1, 2 кривой или поверхности, ограничивающей возможные значения целевой функции. Он определяет множество точек (плоскости) пространства – возможных значений целевой функции;

  • в пространственном представлении и построении кривой целевой функции (W(1)) или поверхности (ее проекции на плоскость вектора оценок свойств альтернатив) целевой функции (W(1, 2));

  • в визуальном определении точек целевой функции, являющихся экстремумами целевой функции и удовлетворяющими ограничениям.

Пример 1:

Требуется найти минимум целевой функции: W(Ф) = (1 – 2)2 + (2 – 1)2,

при ограничениях: g(Ф) = 12 – 2 + 2 = 0.

Решение:

  1. Построим на плоскости с осями координат 1, 2 параболу, заданную уравнением функции ограничения: 2 =12 + 2. Эта парабола проходит через точки плоскости: (0, 0), (1, 3), (–1, 3), (2, 6), (–2, 6), (3, 11), (–3, 11). По данным точкам построим график функции. Эта парабола является пересечением поверхности допустимых значений W() и плоскости с осями координат 1, 2. Поверхность допустимых значений W() перпендикулярна плоскости 1, 2.

  2. Выясним, какой геометрической фигурой является целевая функция W() = (1 – 2)2 + (2 – 1)2. Из геометрии известно, что x2+y2=R2 есть уравнение окружности с радиусом R и центром в начале координат. В нашем случае таких окружностей можно построить бесконечное множество (в зависимости от значений 1i, 2i), каждая из которых будет удалена от плоскости с осями координат 1, 2 на величину W(i)= Ri2. Самая маленькая из этих окружностей является точкой на плоскости 1, 2 с координатами (2, 1). Радиус этой окружности R=0. Множество таких окружностей образует поверхность конуса, перпендикулярного плоскости 1, 2 и имеющего с ней одну общую точку (2, 1).

  3. Поскольку минимальное значение целевой функции соответствует минимальному расстоянию между поверхностью конуса и плоскостью 1, 2, то при отсутствии ограничений это значение было бы достигнуто в точке (2, 1). Но при данном ограничении минимальное значение целевой функции должно принадлежать как поверхности конуса W() = (1 – 2)2 + (2 – 1)2, так и поверхности допустимых значений W(), пересечением которой с плоскостью1, 2 является парабола g() = 12 – 2 + 2 = 0. Как видно на графиках (рис. 3.2.1), эта точка имеет координаты 10 0,55 202,31, а целевая функция в этой точке принимает значение:

W(0)=(0,55 – 2)2+(2,31 – 1)23,8.

2

-

6

2=12+2

-

5

-

4

W()=(1–2)2 +(2–1)2

-

3

R=3; W()=9

2

R=2; W()=4

0

-

R=1; W()=1

1

-

1

R=0; W()=0

1

–1

2

4

5

3

7

6

–3

–2

–5

1

–4

-

Рис. 3.2.1. Графики целевой функции и ограничения

Решение задач нелинейного программирования

методом приведенного градиента (метод Якоби)

Пусть задача нелинейного программирования поставлена в классической форме:

Минимизировать W = W(Ф) при ограничениях g(Ф) = 0,

где Ф = (1, 2, …, n), g = (g 1, g 2, …, g m)T.

Функции W(Ф) и gi(Ф), i = 1, 2, ..., т, предполагаются дважды непрерывно дифферен­цируемыми.

Идея использования приведенного градиента заключается в том, чтобы найти замкну­тое аналитическое выражение для первых частных производных функции W(Ф) во всех точках, удовлетворяющих ограничениям g(Ф) = 0. Соответствующие стационарные точ­ки определяются из условия равенства нулю указанных частных производных. Затем можно использовать достаточные условия для клас­сификации найденных стационарных точек, сформулированные в параграфе 3.1.

Для пояснения изложенной идеи рассмотрим функцию W(1, 2), график которой пред­ставлен на рис. 3.2.2. Предположим, что эту функцию необходимо минимизировать при ограничении g1(1, 2)= 2 - b = 0, где b некоторая константа. На рис. 3.2.2 видно, что кривая, которая проходит через точки А, В и С, состоит из значений функции W(1, 2), для которых заданное ограничение выполнено. В соответствии с рассматриваемым методом определяются компоненты приведенного градиен­та функции W(1, 2) в каждой точке кривой АВС. Точка В, в которой приведенная производная обращается в нуль, является стационарной для рассматриваемой задачи с ограничением.

Теперь рассмотрим общую математическую формулировку метода. Из теоремы Тей­лора следует, что для точек Ф + ΔФ из окрестности точки Ф имеем

W(Ф + ΔФ) – W(Ф) = W(Ф)ΔФ + О(Δj2),

g(Ф + ΔФ) – g(Ф) = g(Ф) ΔФ + О(Δj2).

При Δj  0 эти уравнения принимают вид

W(Ф) = W(Ф)Ф, g(Ф) = g(Ф)Ф,

где W, g – скорости изменения функций (градиенты) W и g по всем переменным Ф.

Поскольку g(Ф) = 0, то и g(Ф) = 0 в допустимой области. Отсюда следует, что:

W(Ф) – W(Ф)Ф= 0, g(Ф)Ф =0.

Как видим, задача сводится к решению т + 1 уравнений с п + 1 неизвестными, которыми являются W(Ф) и Ф. Неизвестную величину W(Ф) можно определить, как только будет найден вектор Ф. Это означает, что, по существу, имеется т уравне­ний с п неизвестными.

Рис. 3.2.2. Целевая функция, ограничение, безусловный и условный минимумы

При т > п по меньшей мере т – п уравнений системы являются избыточными. По­сле устранения избыточности количество независимых уравнений в системе становит­ся равным т ( п). Если т = п, решением является Ф = 0. При этом точка Ф не имеет допустимой окрестности, и, следовательно, пространство решений задачи состоит из единственной точки. Такая ситуация является тривиальной. Ситуацию, когда т < п, рассмотрим подробно.

Пусть Ф =(Y, Z), где Y = (y 1, y 2, …, y m) называются зависимыми, а Z = (z 1, z 2, …, z nm) называются независимыми переменными целевой функции W(Ф). Переписывая градиенты функций W и g в новых обозначениях, получим

W(Y, Z)= (YW, ZW), g (Y, Z)= (Yg, Zg),

где YW, ZW, Yg, Zg – скорости изменения функций W и g по зависимым (Y) и независимым (Z) переменным соответственно.

Введем в рассмотрение матрицы

J=Yg=,C=Zg=,

Матрица Jmm, называется матрицей Якоби, a Cm(nm) матрицей управления. Матрица Якоби J предполагается невырожденной. Это всегда можно обеспечить, по­скольку т рассматриваемых уравнений являются независимыми по определению. По­этому компоненты вектора Y можно выбрать среди компонентов вектора Ф таким обра­зом, что матрица J окажется невырожденной.

Исходную систему уравнений с неизвестными W(Ф) и Ф можно переписать в сле­дующем виде:

W(Ф)–W(Ф)Ф=0 W(Ф)=W(Ф)Ф W(Y, Z)=YWY+ ZWZ,

g(Ф)Ф =0  YgY + ZgZ = 0  JY + CZ = 0  JY = – CZ.

Так как матрица J невырожденная, существует обратная матрица J–1. Следовательно,

Y= – J–1CZ.

Подставляя это выражение Y в уравнение для W(Y, Z), можно выразить W через Z в следующем виде:

W(Y, Z)=YWY+ZWZ=ZWZ+YW(– J–1CZ) 

W(Y, Z)=(ZW – YWJ–1C) Z.

Из этого уравнения получаем формулу для производных функции W по вектору неза­висимых переменных Z:

= Z W – Y WJ–1C,

где СW представляет вектор приведенного градиента функции W по Z. Следовательно, вектор СW(Y, Z) должен обращаться в нуль в стационарных точках.

Достаточные условия экстремума в стационарной точке изложены в параграфе 3.1. В этом случае элементы матрицы Гессе будут соответствовать компонентам век­тора независимых переменных Z. Между тем элементы матрицы Гессе должны быть при­веденными вторыми производными. Чтобы показать, как они вычисляются, обозначим

 =YWJ–1.

Тогда: СW =ZW – С.

Отсюда следует, что i-й строкой приведенной матрицы Гессе является вектор скорости изменения вектора приведенного градиента СW по i-й независимой переменной zi СW/zi:

.

Заметим, что  — функция от Y, а Y, в свою очередь, — функция от Z. Следовательно, при вычислении частной производной СW по zi, следует применять правило дифференци­рования сложной функции, а именно:

.

Соседние файлы в папке Учебники ТПР