Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2793.Методы оптимизации..pdf
Скачиваний:
175
Добавлен:
15.11.2022
Размер:
33.68 Mб
Скачать

2. С помощью необходимого условия (см. теорему 7.2) на­ ходим все точки на границе множества f2, в которых функция может иметь локальный минимум на П.

3. Сравнивая значения минимизируемой функции в найден­ ных точках, находим ту точку, в которой функция имеет наи­ меньшее значение.

При решении задачи выпуклого программирования, в кото­ рой выпуклая функция минимизируется на выпуклом множе­ стве, достаточно найти любую точку ее локального минимума, так как, согласно теореме 3.14, в любой точке локального ми­ нимума эта функция достигает наименьшего значения. В этом случае уместно использовать достаточное условие локального минимума на множестве (см. теорему 7.3), которое не требу­ ет вычисления частных производных второго порядка и легко проверяется.

Узким местом предложенной схемы является применение не­ обходимого условия локального минимума на множестве. Если необходимое условие экстремума функции записывается в виде системы уравнений, то необходимое условие локального мини­ мума на множестве представлено в виде системы неравенств, в которых варьируется не только неизвестная точка, но и вектор е допустимого направления. Выделить с помощью теоремы 7.2 точки, wподозрительные “ на локальный минимум, можно лишь в случае, когда допустимое множество Q, имеет границу про­ стой структуры.

7.2. Минимизация при ограничениях типа равенства

Задачу нелинейного программирования с ограничениями ти­ па равенства можно записать следующим образом:

/о(ж)

min;

//(* ) =

(7.4)

0, l = ljc.

В данном случае допустимое множество ft имеет вид

n = { x e R n: fi(x )= 0 , 1 = 1 , к}.

Сформулированную задачу в случае дифференцируемых функций fi(x) можно связать с задачей исследования целевой функции на условный экстремум [V]. Если точка х * есть ре­ шение задачи (7.4), т.е. если целевая функция /о(®) достигает в этой точке наименьшего значения на множестве ft, то точка х * является точкой условного локального минимума функции /о(ж) при условиях fi(x) = 0, I = 1 , к (эти уравнения называют уравнениями связи). Поэтому решать задачу (7.4) можно сле­ дующим образом. Найти все точки, в которых функция может иметь условный локальный минимум, а затем путем сравнения значений функции выбрать из этих точек ту, в которой функ­ ция имеет наименьшее значение. Если задача имеет решение (т.е. целевая функция при заданных ограничениях достигает наименьшего значения), то этим решением будет найденная точка.

Поиск точек, „подозрительных11 на условный экстремум, выполняют с помощью необходимого условия условного локаль­ ного экстремума, суть которого в следующем. Если точка х * является точкой условного экстремума функции /о(ж) при усло­ виях fi(x) = 0, Z= 1 , А:, причем функции /{(ж), I = 0, А;, непре­ рывно дифференцируемы в окрестности точки х * и матрица Якоби J(x) векторной функции f(x ) = (Д(ж) Д(ж)) в точ­ ке х* имеет ранг к (максимальный ранг, равный количеству строк), то существуют такие множители Лагранжа Ai, ..., А*, что для функции Лагранжа

к

(7.5)

в точке х* выполняется необходимое условие экстремума

gradL(sc*) = О,

или

dL{x*) _ дЦ х*)

дЦх*)

дх\

дх2

 

Поиск стационарных точек функции Лагранжа сводится к решению системы п + к уравнений [V]

содержащей п + к неизвестных х\, ..., хп, Ai, ..., А*.

Таким образом, исследование функции на условный экстре­ мум состоит в выделении некоторого набора точек, „подозри­ тельных" на экстремум, и в проверке каждой точки, является ли она в действительности точкой условного экстремума. На­ бор точек, „подозрительных" на экстремум, можно разделить на три группы:

1 ) точки, в которых хотя бы одна из функций fi{x), 1 = 0 , к, не дифференцируема или одна из ее частных производных разрывна;

2)точки, в которых ранг матрицы Якоби J(x) системы уравнений связи меньше количества к уравнений связи;

3)стационарные точки функции Лагранжа.

Отличие задачи минимизации при ограничениях типа ра­ венства от задачи исследования на условный экстремум состоит в том, что в задаче минимизации нет необходимости проверять, является ли точка, „подозрительная" на экстремум, точкой условного локального минимума. Можно просто сравнить зна­ чения минимизируемой функции в этих точках и выбрать ту, в которой значение функции наименьшее. Эта точка и будет ре­ шением задачи минимизации. Правда, последнее утверждение верно лишь в случае, когда задача минимизации имеет реше­ ние. В действительности возможна ситуация, когда целевая функция имеет точки условного локального минимума, но не достигает наименьшего значения.

Необходимое условие условного локального экстремума мож­ но модифицировать так, что определение стационарных точек функции Лагранжа будет включать в себя и поиск точек, в ко­ торых нарушается условие на ранг матрицы Якоби системы уравнений связи (необходимое условие условного локального экстремума формулируется в предположении, что ранг систе­ мы уравнений связи максимален и совпадает с числом уравне­ ний связи). Для этого изменим понятие функции Лагранжа, используя вместо (7.5) формулу

к

(7.6)

в которую добавлен еще один множитель Лагранжа АоСледу­ ющее утверждение называют обобщенным правилом мно­ жителей Лагранжа.

Теорема 7.4. Если х* 6 l n — точка условного экстре­ мума функции fo(x) при условиях fi(x) = 0, I = 1 , к, причем функции //(а?), 1 = 0 , к, непрерывно дифференцируемы в неко­ торой окрестности точки х *, то существуют такие множители Лагранжа Ai, I = 0, к, не все равные нулю, что для функции Лагранжа L(x) точка х* является стационарной, т.е.

gradL(a:*) = 0.

(7.7)

◄ Если ранг матрицы Якоби J(x*) системы функций fi(x), 1= 1, к, в точке х* равен их количеству к, то достаточно по­ ложить Ао = 1- Тогда утверждение теоремы будет вытекать из необходимого условия условного экстремума [V]. Предполо­ жим, что Rg J(x*) < к. Тогда строки матрицы J{x*) линейно зависимы, например, в силу теоремы о базисном миноре [III]. Это означает, что для некоторых значений Ai, ..., А*, одновре­ менно не равных нулю, выполняется равенство

Ai grad fi (x*) + A2grad /2 (®*) + ... + A*grad Д (x*) = 0.

Положив Ао = 0, запишем

к

A0grad/0(®*) + ^A igrad/i(a:*) = О,

/=1

что в силу (7.6) совпадает с (7.7). ►

Нетрудно увидеть, что множители Лагранжа, существова­ ние которых вытекает из теоремы 7.4, определяются неодно­ значно: их можно, не нарушая утверждения теоремы, умно­ жить на любой постоянный множитель. Поэтому для определе­ ния к + 1 множителя Лагранжа Ао, ..., \k и п координат точки х * достаточно к + п уравнений. Такое количество дают усло­ вие (7.7) (это п уравнений) и совокупность уравнений связи (их количество равно к).

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

Общую задачу нелинейного программирования можно сфор­ мулировать следующим образом:

(7.8)

//(* ) = 0, 1 - 1 , t, S i(* )< 0, г = 1 , т .

При этом предполагается, что одна из фигурирующих в зада­ че функций не является линейной. Считаем, что все функции //(ж), I = 0, /с, и дг(ж), i = 1 , га, определены на некотором от­ крытом множестве X С Кп. Упрощая изложение, мы далее ограничимся случаем X = Rn. В конкретной ситуации мож­ но добиться выполнения этого ограничения, доопределив все функции вне множества X , например, большим постоянным значением, которое не повлияет на процесс минимизации це­ левой функции.

Сформулированная задача представляет собой частный слу­ чай общей задачи математического программирования, за­

ключающейся в определении наименьшего значения целевой функции /о(ж) на допустимом множестве

0 = { ж е Х : fi(x )= О, 1 = 1,k,

0, г — 1 , т } .

(7.9)

Отметим, что если все функции

//(ж), Z= 1 , &, и

gi(x),

г= 1,га, непрерывны в Rn, то множество ft замкнуто.

В са­

мом деле, это множество можно представить как пересечение конечного числа множеств вида {ж € К п: ф(х) ^ а}, образован­ ных непрерывной в R71 функцией <р(х). В данном случае в качестве <р(х) используются функции //(ж), —//(ж), I = 1, А;, и ft (ж), г = 1 , m, a a = 0. Такие множества являются замкнуты­ ми (см. доказательство теоремы 7.1). Поэтому и множество ft, как пересечение конечного числа замкнутых множеств, являет­ ся замкнутым.

Большинство известных методов решения задачи нелиней­ ного программирования позволяют найти лишь точки локаль­ ного минимума целевой функции на заданном множестве. В этой связи важную роль играет априорная информация о суще­ ствовании решения задачи, т.е. информация о том, достигает ли целевая функция наименьшего значения на допустимом мно­ жестве. Если допустимое множество ft в задаче нелинейного программирования замкнуто, то доказательство существова­ ния решения в этой задаче можно строить с помощью теоремы 7.1, проверяя непрерывность целевой функции /о(ж) и ограни­ ченность при некотором а множества fta = (ж Е ft: fo(x) ^ a}. В частности, если множество ft ограничено, а целевая функция непрерывна на ft, то задача нелинейного программирования имеет решение.

Однако проверить ограниченность множества ft (или ftQ) не просто. Поэтому интересны другие условия, налагаемые на це­ левую функцию и ограничения и позволяющие делать заключе­ ние о существовании решения без использования ограничен­ ности допустимого множества. В задаче выпуклого програм­ мирования, в которой целевая функция выпукла и допустимое

множество Q выпукло, любая точка локального минимума це­ левой функции, согласно теореме 3.14, является решением этой задачи.

Теорема 7.5. Если функции gi{x), %= 1, га, выпуклы в R71, то множество

f2 = {х е Шп: 9i{x) ^ О, г = 1, га}

(7.10)

является выпуклым.

◄Утверждение теоремы очевидно, если множество П пусто или содержит всего лишь одну точку. Поэтому ограничимся случа­ ем, когда это множество содержит по крайней мере две точки. Выберем в нем произвольные точки х 1 их2. Тогда gi{xl) ^ 0 и gi{x2) ^ 0, г = 1, га . В силу определения 3.2 выпуклости функции для любого числа a Е (0 ,1) имеем

&(o:£Ci + (l-a :)a :2) < a#i(a:i) + (1 - а)д{(х2) < 0, i = l,m .

Поэтому точка ах\ + (I —а)х2 также принадлежит множеству Q, а это означает, согласно определению 3.1, что О, является выпуклым множеством. ►

Замечание 7.1.

Из теоремы 7.5 следует, что если допу­

стимое множество

определяется только ограничениями типа

неравенства gi{x) ^ 0, i 1 , га, причем все функции gi{x) вы­ пуклые в Кп, то множество О выпукло. Наличие ограничений типа равенства усложняет проверку допустимого множества на выпуклость. Однако если функции fi(x) во всех ограничени­ ях типа равенства являются линейными, а все функции gi(x) в ограничениях типа неравенства — выпуклыми, то допустимое множество выпукло. Действительно, в этом случае допустимое множество ft является пересечением множества Q вида (7.10) с гиперплоскостями fi(x) = 0, г = 1, га. Множество Q выпукло в силу теоремы 7.5, гиперплоскости также являются выпуклы­ ми множествами (см. пример 3.3). Поэтому множество fi, как пересечение выпуклых множеств, выпукло. #

Ограничения типа неравенства в задаче нелинейного про­ граммирования введением дополнительных переменных можно преобразовать в ограничения типа равенства. Например, огра­ ничения gi{x) ^ О, г = l,m , с помощью дополнительных пере­ менных Z{ можно записать в виде

gi{x) + Zi= 0, г = 1, ш.

(7.11)

Таким образом, общую задачу нелинейного программирования можно свести к частному случаю, когда в задаче нет огра­ ничений типа неравенства. Это позволяет в решении задачи использовать технику исследования целевой функции на услов­ ный экстремум (см. 7.2).

Впрочем, техника исследования функции на условный экс­ тремум может использоваться и непосредственно в задаче, име­ ющей ограничения типа неравенства [V].

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

( f{x\,x2) -unin;

gi{x\,x2) < 0, 02(zi,Z 2K O , 53(1 1 ,1 2 ) 0 ,

в которой функции f(x i,x2), gi{x\,x2), g2 {xi,x2), gs{xi,x2) не­ прерывно дифференцируемы в R2. Предположим, что множе­ ство ft, которое определяется тремя неравенствами, ограничено

иимеет вид, изображенный на рис. 7.1.

Вэтой задаче наименьшее значение функции f(x i,x 2) мо­ жет достигаться либо во внутренней точке множества ft, т.е. в точке множества

ftc = {(яг, х2 ): gi(xi,x2) <0, г = 1, 2, 3},

либо на границе множества ft на одной из дуг АВ, АС, ВС, либо в угловых точках границы А, В, С. Поэтому решение задачи можно строить по следующей схеме.

объединить в одну формальную процедуру. Рассмотрим общую задачу нелинейного программирования (7.8).

Теорема 7 .6 . Если точка х * € Г2является точкой локально­ го минимума функции /о(*) на множестве £1 вида (7.9), причем функции fi(x), I 0, к, и g i { x), г = 1 , т, непрерывно дифферен­ цируемы в окрестности точки х*, то существуют такие числа А(, I = 0, к , и f a ^ 0, г = 1, т , одновременно не равные нулю, что для функции

кт

Ц х ) =Ао/о(*) +

X i f i ( x +) 2 м»л(®)

/=1 г=1

выполняется необходимое условие экстремума

gradL(®*) = О

и, кроме того, выполняются условия дополняющей не-

жесткости

/^»5г(® ) = 0, i = 1, П . $

Теорему 7.6 принято называть теоремой Куна Так-

кера*, а функцию L ( x )функцией Лагранжа. Хотя функ­ ция Лагранжа определена для любых значений параметров Aj, 1 = 0 , к , и p i , i =1, т , мы, учитывая утверждение теоремы Ку­ на — Таккера, будем рассматривать ее лишь при ц* ^ 0, г = 1, п .

Отметим особую роль в этой теореме условий дополняющей нежесткости. В рассматриваемой точке х * локального мини­ мума функции f o ( x ) на множестве Q каждое из ограничений g i ( x )< 0, i = 1, т , выполняется либо в виде равенства, 9 i { x * ) = О, либо в виде строгого неравенства, g i ( x * )< 0. Ограничения первого вида называют активными ограничениями, в то время как остальные — неактивными ограничениями. Для активных ограничений соответствующее условие дополняющей

'С м .: Алексеев В .М ., Тихомиров В .М ., Фомин С .В .

нежесткости выполнено. Неактивные ограничения в силу не­ прерывности фигурирующих в задаче функций выполняются в виде строгого неравенства не только в точке ж*, но и в неко­ торой окрестности этой точки. Поэтому после удаления этих ограничений из задачи точка х* останется точкой локального минимума. Полагая для таких ограничений щ = 0, мы, с одной стороны, обеспечиваем выполнение условия дополняющей не­ жесткости, а с другой — удаляем соответствующее слагаемое из функции Лагранжа. В конечном счете утверждение теоремы Куна — Таккера сводится к обобщенному принципу Лагранжа.

Вернемся к примеру 7.1 и поясним, как работает сформули­ рованная теорема. В данном случае ограничений типа равен­ ства нет, а есть три ограничения типа неравенства. Если точка х * находится внутри множества fi, то утверждение теоремы будет верно при HI = р>2 = Мз = 0, Ао = 1. Если точка х* нахо­ дится на одной из дуг, например на дуге АВ, то в этой точке д3 = 0. Утверждение теоремы вытекает из обобщенного прин­ ципа Лагранжа для задачи с ограничениями типа равенства при ц\ = Ц2 = 0. Наконец, в угловой точке, например в точке А, выполняются два равенства д\ = 0 и д$ = 0. Чтобы обеспе­ чить условия дополняющей нежесткости, полагаем Н2 = 0. При этом необходимое условие экстремума для функции Лагранжа состоит из двух уравнений, в которых неизвестны три параме­ тра Ло, A^i и /хз, причем относительно этих параметров система уравнений является линейной и однородной. Ясно, что такая система имеет ненулевые решения.

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

f /о(яь® 2) = (х\ - З)2 + 2 - З)2 ->> min;

| - x i ^ 0 ,

- Х 2 ^ 0,

# 1 + £ 2 - 4 ^ 0 .

В этой задаче допустимое множество представляет собой замкнутую треугольную область на плоскости (рис. 7.2), в