
- •3.2. Задачи нелинейного программирования
- •Пример 2: Рассмотрим пример решения задачи нелинейного программирования методом Якоби (методом приведенного градиента) при постановке задачи примера 1.
- •Пример 3: Рассмотрим пример решения задачи нелинейного программирования методом исключения при постановке задачи примера 1.
- •Метод множителей Лагранжа для решения задач
- •Метод множителей Лагранжа для решения задач
- •При ограничениях
- •Решение:
3.2.
Задачи нелинейного программирования ________________________________________________________________________________________________________
3.2. Задачи нелинейного программирования
Постановка задачи нелинейного программирования.
В классической теории оптимизации для нахождения точек максимума и минимума (экстремальных точек) целевой функции в условиях, как отсутствия, так и наличия ограничений на переменные, широко используется аппарат дифференциального исчисления [11]. На использовании этого аппарата построено большинство алгоритмов решения задач нелинейного программирования.
Классическая задача нелинейного программирования ставится следующим образом:
Минимизировать целевую функцию W=W(Ф) при ограничениях g(Ф)=0,
где Ф = (1, 2, …, n), ФRn, g(Ф) = (g 1(Ф), g 2(Ф), …, g m(Ф))T.
Ограничения g(Ф) заданы в виде равенств:
,
где bi
– число, ограничивающее i–й
ресурс.
Ограничения на область допустимых значений каждого iQi могут быть заданы и могут отсутствовать. Функции W(Ф) и gi(Ф) (i = 1, 2, ..., т), в общем случае не линейно зависят от своих аргументов, но предполагаются дважды непрерывно дифференцируемыми.
Однако множество задач нелинейного программирования требует не минимизации, а максимизации значений целевой функции, ограничения в них часто задаются в виде неравенств.
Поэтому для всех задач нелинейного программирования, которые поставлены не в классической форме, рекомендуется:
преобразовать целевую функцию, которую следует максимизировать, таким образом, чтобы полученную в результате преобразования функцию необходимо было минимизировать;
преобразовать ограничения, заданные в виде неравенств к ограничениям, заданным в виде равенств, путем ввода в W(Ф) и gi(Ф) дополнительных переменных.
Заметим, что п – общее количество переменных в целевой функции и функциях ограничениях, т – количество уравнений функций ограничений. При т > п по меньшей мере т – п уравнений системы являются избыточными. После устранения избыточности количество независимых уравнений в системе становится равным т ( п). Если т = п, решением является Ф = 0. При этом точка Ф не имеет допустимой окрестности, и, следовательно, пространство решений задачи состоит из единственной точки. Такая ситуация является тривиальной.
В ситуации, когда т < п, обычно стремятся выразить т переменных через остальные п – т переменных, а затем исключить их из числа элементов целевой функции, заменив эти т переменных их выражением через остальные п – т переменных. В этом случае задача нахождения условного экстремума превращается в задачу нахождения безусловного экстремума функции W(Z) = (1, …, n–m). Данный способ положен в основу нескольких методов решения задач нелинейного программирования: метода приведенного градиента (метода Якоби), метода исключения, метода множителей Лагранжа [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, 2 параболу, заданную уравнением функции ограничения: 2 =12 + 2. Эта парабола проходит через точки плоскости: (0, 0), (1, 3), (–1, 3), (2, 6), (–2, 6), (3, 11), (–3, 11). По данным точкам построим график функции. Эта парабола является пересечением поверхности допустимых значений W() и плоскости с осями координат 1, 2. Поверхность допустимых значений W() перпендикулярна плоскости 1, 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).
Поскольку минимальное значение целевой функции соответствует минимальному расстоянию между поверхностью конуса и плоскостью 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 n–m) называются независимыми переменными целевой функции 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(n–m) — матрицей управления. Матрица Якоби J предполагается невырожденной. Это всегда можно обеспечить, поскольку т рассматриваемых уравнений являются независимыми по определению. Поэтому компоненты вектора Y можно выбрать среди компонентов вектора Ф таким образом, что матрица J окажется невырожденной.
Исходную систему уравнений с неизвестными W(Ф) и Ф можно переписать в следующем виде:
W(Ф)–W(Ф)Ф=0 W(Ф)=W(Ф)Ф W(Y, Z)=YWY+ ZWZ,
g(Ф)Ф =0 YgY + ZgZ = 0 JY + CZ = 0 JY = – CZ.
Так как матрица J невырожденная, существует обратная матрица J–1. Следовательно,
Y= – J–1CZ.
Подставляя это выражение Y в уравнение для W(Y, Z), можно выразить W через Z в следующем виде:
W(Y, Z)=YWY+ZWZ=ZWZ+YW(– J–1CZ)
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, следует применять правило дифференцирования сложной функции, а именно:
.