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

8. ЧИСЛЕННЫЕ МЕТОДЫ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

Известно достаточно много численных методов решения сформулированной в 7.1 общей задачи нелинейного программи­ рования. Во многих из них использованы идеи, реализованные в численных методах безусловной минимизации (см. 4 -6 ). Глав­ ное отличие состоит в том, что при решении задачи нелиней­ ного программирования необходимо учитывать ограничения, задающие допустимое множество Cl С М71, на котором нужно найти точку ж* Е Cl минимума целевой функции /о (ж). В этой главе рассмотрены наиболее часто применяемые на практике численные методы решения такой задачи.

8.1. Метод условного градиента

Для численного решения общей задачи нелинейного про­ граммирования

/о(ж )-nnin, ж € ^ С К п, (8.1 )

где /о(ж) — целевая функция, определенная на допустимом множестве можно применить модификацию одного из ме­ тодов спуска. Однако непосредственное использование мето­ дов спуска может привести к тому, что точка ж*, найденная на некоторой к итерации, например, при помощи рекуррент­ ных соотношений вида (4.20) или (4.36), выйдет за пределы допустимого множества, т.е. х к £ Cl. Избежать этого в случае замкнутого ограниченного выпуклого множества Cl и непре­ рывно дифференцируемой на нем выпуклой целевой функции можно следующим образом.

Пусть на к-й итерации известна точка x k~l Е П (на первой итерации = 1) выбрана начальная точка ж0 Е fi). Используем главную линейную часть

Л(®) = (grad/0(®*-1), х - хк~1)

(8.2)

приращения

А Д = /о(®) “ / о ^ -1) = (grad/oC®*-1), х - ®*-1) + о(|® - ®*_1|)

целевой функции fo(x) в точке х к~ 1 для нахождения вспомога­ тельного приближения х к из условия

fk{xk) = min(grad / 0(ж*-1), ж - ж*-1).

(8.3)

В силу замкнутости и ограниченности множества Q и непре­ рывности линейной функции Д(ж) такая точка х к всегда су­ ществует и лежит на границе д£1 этого множества (если таких точек несколько, то можно выбрать любую из них).

Для некоторых множеств, имеющих достаточно простую структуру, решение задачи (8.3) удается представить в яв­ ном виде. Например, если множество П является п-мерным замкнутым шаром радиуса R с центром в точке жо Е Rn, т.е. fi = {ж Е М71: |ж— Жо| ^ i?}, то, используя неравенство Коши Буняковского в виде

(grad/o(®fc-1), х — ®0) ^

^—|grad/0(®fc-1)||® —®0|^ -Igrad/ol®*-1) ^

иучитывая (8.2), находим

Д(®) = (grad/0(®fc-1), ® - ®о) + (grad/0(®fc_1), ®о - ®fc_1) >

^ — |grad/o(®A:_1)| Д + (grad/о(®*-1), ®0 —®Л_1).

Правая часть этого неравенства равна наименьшему возможно­ му значению Д(®) в искомой точке хк. Таким образом, имеем

Д(®*) = (grad/o(®fc_1), хк- ®fc_1) =

= — |grad/0(®fc_1)| Д + (grad/0(®A:_1), ®о —®fc_1),

и л и

(grad/o(®fc 1), х к- ж 0) = -|grad/0(®fc г)1

Это равенство можно удовлетворить, если принять

x k = x ° - R grad/0(a;fc_1) |grad/0(®fc-1)|

В случае П = {(ал, хп) € Rn: Xj G [aj, bj], j = 1, n } коор­ динаты точки x k, которая расположена на границе dQ n-мер- ного параллелепипеда П и в которой функция (8.2)

 

t

t \ w

(fc-i)\ dfo(xk

1

 

Л ( * ) = £ ( х , - Х >

' ) — g —

 

 

 

j = 1

 

 

примет минимальное значение, равны

 

 

 

*3 ч

df0{xk~l)

> 0;

 

 

~ W _

dx-j

(8.4)

 

J

 

 

 

 

 

хз ~

dfo(xk *)

 

 

 

bj,

< 0,

 

 

 

dxj

 

 

 

 

 

 

o r

/ _ « — 1 \

 

 

 

 

а при

gx— - = 0 можно выбрать любое значение Щ ; G [oj, bj].

Если

П = { ж е Е п: (aj, ж) < 6j,

г = 1 , т }

многогранное

множество, то (8.3) может быть сведено к решению основной задачи линейного программирования. Если же

П = { х € Мп: (сц, х) < bi, г = 1 , т, Вх = d} ,

где В — матрица размера I х п и d € К , то для нахождения ж* получим общую задачу линейного программирования. Для решения обеих этих задач после их приведения к стандартной задаче линейного программирования обычно используют сим­ плекс-метод.

Предположим, что задача (8.3) решена и точка х к найдена. Если х к= ж*-1 , т.е. f k{xk) = 0, то из (8.3) для любых ж G П име­ ем (grad/о(ж*-1), ж — ж*-1) ^ 0. Тогда, согласно теореме 3.15,

Спуск в возможном направлении из точки x k~l Е позволя­ ет на каждой к-й итерации продолжить построение релаксаци­

онной последовательности

для которой последователь­

ность {fo{xk)} является невозрастающей.

 

Рассмотрим теперь вопрос о выборе значения

£ (0,1] в

(8.5). Один из возможных вариантов — это поиск минимума функции

Фк{х) = М х к 1 + хрк), рк - х к - х к 1,

(8.6)

по аргументу х в полуинтервале (0, 1].

Для квадратичной целевой функции /о(ж), имеющей вид

(х) = ^ (Qx, х) + (с, sc), где Q — положительно определен­

ная матрица порядка п, точка х*к 6 (0, 1] минимума функции >+>к{х) единственна и может быть представлена в явном ви­ де. Действительно, пусть рк — возможное направление спус­ ка. Подставляя х = х к~ 1 + хрк в квадратичную функцию и учитывая, что матрица Q симметрическая и в данном слу­ чае (Qxk~l + с,р к) = (grad/о(ж*-1), рк) = - ( w k,p k), где w k = = —grad/(®fc_1), получаем

Фк{я) = y ( Q p fc,pfc) - x ( w k,p k) + ^{Q xk~1 ,x k~1) + (с, ж*-1).

Случай (Qpk,p k) = 0 Для положительно определенной матрицы соответствует равенству рк = х к — х к~1 = 0 и уже рассмотрен

выше. При (Qpk,p k) Ь> 0 имеем относительно х

квадратный

трехчлен, достигающий минимума при значении

 

(wk,p k)

(8.7)

> о,

k ~ ( Q p k,Pk)

 

поскольку для направления спуска рк

 

(wk,p k) = -(grad/o^* 1) , х к - х к ' ) > 0

и в данном случае grad/о (ж*-1) и р к не являются ортогональ­ ными векторами. Если х к > 1 , то точка минимума лежит за

пределами множества П и в (8.5) следует принять

щ = 1 , т.е.

х к= х к. В противном случае в (8.5) принимаем х*

= х*к.

Для произвольной выпуклой функции fo(x) выбор значения Хк из условия минимума функции фк{х) потребует примене­ ния методов одномерной минимизации (см. 2). Отметим, что если целевая функция /о (ж) выпукла, то и функция фк{х) вы­ пукла (см. теорему 3.7) и в любой стационарной точке х* этой функции в силу теорем 3.14 и 3.15 она достигает наименьшего значения. Если /о (ж) — строго выпуклая функция, то, согласно теореме 3.7, и функция (8.6) строго выпукла на отрезке [0,1]. В этом случае, согласно теоремам 3.14 и 3.15, стационарная точ­ ка функции ipiДх), если она существует, единственна и в этой точке функция достигает наименьшего значения.

Можно избежать минимизации функции фк(х) (8.6), выби­ рая значение Хк € (0,1] в (8.5) так, чтобы fo(xk) < /о(ж*-1), т.е. чтобы последовательность {ж*} была релаксационной. Тогда, согласно теореме 4.2, справедлива оценка вида (4.12)

/о(*°)-/о(®*) ^

т е N,

\ v f r [ |grad/0(xfc-1)|

где т]= diamft — диаметр ограниченного множества to. Условием прекращения итераций может быть выполнение

одного или всех неравенств (4.18) и (4.19). При некоторых ограничениях метод условного градиента работоспособен и в случае, когда целевая функция не является выпуклой*

Пример 8.1. Найдем решение задачи квадратичного про­ граммирования на множестве

П = {(ял, х 2 ) е R2: ц 6 [0,1], х 2 € [0, 2]}

*См .: Васильев Ф.П., а такж е: Пшеничный Б .Н ., Данилин Ю.М.