Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Снапелев, Ю. М. Моделирование и управление в сложных системах

.pdf
Скачиваний:
11
Добавлен:
21.10.2023
Размер:
10.23 Mб
Скачать

от линейных форм переменных х4, х2, . . ., хп, а равенст­ ва (2.23) — линейны. В более широкой постановке задач дробно-линейного программирования не только показа­ тель качества /, но и функции gy, определяющие ограни­ чения (2.23) и (2.24), представляют собой дробно-линей­ ные функции переменных хи х2, ... , х„.

Методы решения задач кусочно-линейного и дробнолинейного программирования представляют собой есте­ ственные обобщения методов линейного программирова­ ния [38].

§ 2.6. Нелинейные модели оптимизации

Если среди функций }(Х) и gi{X) имеются нелиней­ ные, то задачу (2.22) — (2.24) относят к нелинейному про­ граммированию.

Нелинейное программирование разделяется на два существенно разных класса — на выпуклое и невыпуклое программирование. Под выпуклой задачей математиче­ ского программирования понимается задача, показатель качества которой (2.22)— выпуклая (вниз) функция своих переменных, а ограничения (2.23) и (2.24) опре­ деляют выпуклое множество. Основная особенность вы­ пуклого программирования заключается в том, что ее локальные экстремумы совпадают с глобальным экстре­ мумом. Отсюда и синоним задачи выпуклого програм­ мирования— одноэкстремальная задача. В задачах не­ выпуклого программирования локальный экстремум до­ стигается, как правило, в большом количестве точек. Значения показателя качества решения в различных экстремальных точках обычно различаются между со­ бой. Отсюда и синоним задачи невыпуклого программи­ рования —- многоэкстремальная задача [100].

В к а ч е с т в е и л л ю с т р а т и в н о г о п р и м е р а з а д а ч и н е л и н е й н о г о п р о ­

г р а м м и р о в а н и я

р а с с м о т р и м

з а д а ч у

р а с п р е д е л е н и я т о р у д и й п о

п р а з л и ч н ы м

ц е л я м [177].

 

 

 

 

 

 

П у с т ь

и з в е с т н а в е р о я т н о с т ь

/ ц ;-

п о р а ж е н и я / - й

ц ели

i'-м о р у д и е м

в с л у ч а е з а к р е п л е н и я е г о з а

э т о й ц е л ь ю . И с к о м ы й

план

р а с п р е д е л е ­

н ия б у д е т

х а р а к т е р и з о в а т ь с я

с о в о к у п н о с т ь ю

ч и се л

Xij, п р и н и м а ю щ и х

з н а ч е н и е

1,

есл и

( - о е с р е д с т в о

з а к р е п л я е т с я

за / - о й ц е л ь ю , или 0

в п р о т и в н о м с л у ч а е . Т о г д а о г р а н и ч е н и я б у д у т в ы г л я д е т ь с л е д у ю щ и м о б р а з о м :

п

 

И Xtf= 1, { i = \ , т),

( 2 . 4 5 » )

}—[

 

Xij — ц ел ы е .

(2 . 4 5 11)

Н е о б х о д и м о о б р а т и т ь в м а к с и м у м м а т е м а т и ч е с к о е о ж и д а н и е у щ е р б а ,

н а н о с и м о г о п р о т и в н и к у . В е р о я т н о с т ь .п о р а ж е н и я / - о й ц ел и р а в н а

т

Л = 1— П (1-ЛЛ))'

/= 1

Е с л и о б о з н а ч и т ь ч е р е з Cj в а ж н о с т ь / - о н ц ел и , т о м а т е м а т и ч е с к о е

о ж и д а н и е н а н о с и м о г о п р о т и в н и к у у щ е р б а р а в н о

п

 

п

т

 

фcjPj

£ сЛ1— П о —

/=i

 

j=i

г=1

 

Ф у н к ц и я Ф н е л и н е й н а

п о

п е р е м е н н ы м

xij и

н е в ы п у к л а . Х о т я с ф о р м у ­

л и р о в а н н а я з а д а ч а я в л я е т с я ц е л о ч и с л е н н о й ,

е е м о ж н о р а с с м а т р и в а т ь

и к а к н е п р е р ы в н у ю ,

е сл и н о м е р у г с о о т в е т с т в у е т не о д н о о р у д и е ,

а ц е л а я б а т а р е я из щ о р у д и й .

 

 

Теория выпуклого программирования хорошо разра­ ботана ![28, 40, 41, 43, 56, 102, 122]. В частности, отрабо­ таны различные методы решения задач квадратичного программирования [56], т. е. задач на нахождение мини­ мума положительно определенной квадратичной формы при лицейных ограничениях. Отдельные методы решения задач линейного программирования обобщены и приспо­ соблены для решения задач выпуклого программирова­ ния.

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

п f т

^= S О

1 ~ П

/=! \

i=1

Новая функция F выпукла по переменным Xij и в точках 0 и 1 принимает те же значения, что и рассмотренная ранее функция Ф. Таким образом, задача максимизации функции F при ограничениях (2.451) и (2.4511) является задачей выпуклого программирования.

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

171

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

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

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

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

В квадратичном программировании допустимое мно­ жество ограничений также всегда выпукло. Однако це­

левая функция выпукла (вниз) тогда

и только тогда,

когда матрица

С — неотрицательна, т. е. когда целевая

функция

для всех комбинаций

неотрицатель-

i I

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

Для решения задач на нахождение условного экстре­ мума обычно используется метод множителей Лагранжа.

Рассмотрим, например, следующую задачу: найти оп­ тимальное (минимальное) значение f ( x u х г , . . . , х „ ) при ограничениях

g i ( x u х г, . . . , хп)< 0 ,

(t= 1 ,m).

172

Составим так называемую функцию Лагранжа

(^> У)== f(хч Х2>

т

Уг§г{Х 1> Х2>•••>-^га)>

-^-n) ~f"S

 

 

i=l

 

ее переменные уи

yz, ...

, Уш называются множителями

Лагранжа. Тогда

решение Xi, х2,

. . хп ищется среди

экстремальных точек функции <p(J, У), без ограничений на X и У, которые в свою очередь удовлетворяют систе­

ме уравнений

 

 

m

 

 

 

'

 

 

df(x,, Х г .............Хп)

 

Хг, . . . . Х п)

п

~

/ V

i / \

I V I .. d gi ( X ,,

V

х *

)= = —

^

i=i

* * ------------

 

 

 

 

 

 

 

 

9У (Х> V) = g t { x u

х„) = 0,

 

 

 

 

 

 

 

г = 1 ,т, / = 1,д.

 

 

 

Этот метод,

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

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

Кун и Таккер {43, 56] доказали, что при некоторых условиях задача выпуклого программирования сводится к нахождению седловой точки функции Лагранжа Ф(Х, У). Эта теорема затем была расширена Эрроу и Гурвицем [99], так что стало возможно рассматривать задачи математического программирования без условия выпуклости.

Введем определения, которые нам потребуются в дальнейшем. Квадратичной формой п скалярных пере­ менных называется выражение вида

Q = (х » -^2 >•••» Хп)==

Ч- 2с1глг2-{- 2,с13х 1х 3 -ф-...

2,в1ПХ 1Хп

%С23Х 2Х 3

] ...

... - j - 2 с 2Пх 2х п - j - c S3Xg -}- ... -f-2c snx 3x n + ...

...+Cnn<

(2.45)

с действительными коэффициентами. Считая Сц симмет­ ричными (т. е. Cij= cn), можно записать

Q == Q (^0

“К ^12-^2 —I-

—{*^inXn) Xi -1“

 

 

 

~\~C22X z + ••• +

^ zn ^ n ) +

(2.46)

~\~Jfimx i ~\',рП2Хг ' I

вппХп) х п.

173

Если коэффициенты сц представить в виде си!Мметричной матрицы С п-го порядка, а переменные X'i — в виде п- мерного действительного вектора X, то правая часть (2.46) есть скалярное произведение вектора-строки X' на вектор-столбец СХ. В матричной записи для квадратич­ ной формы (2.45) имеем выражение

Q= X'CX,

(2.47)

где С — симметричная матрица.

Верно и обратное: каждой симметричной матрице С, согласно (2.44), соответствует квадратичная форма.

Квадратная симметричная матрица С называется

неотрицательно определенной или положительно полуопределенной, если

Х'СХ^О для всех X,

если же Х'СХ> 0 для всех Х=£0,

то такая матрица называется положительно определен­ ной или строго положительно определенной.

В связи с тем, что наиболее разработанной частью нелинейного программирования является квадратичное программирование, имеющее чрезвычайно широкое при­ менение во многих областях науки и техники, то, есте­ ственно, начать рассмотрение методов нелинейного про­ граммирования именно с этого раздела.

Здесь следует отметить, что задачи квадратичного программирования характеризуются тем, что оптимизи­ руемая функция представляет квадратичную форму (или многочлен), обладающую положительной или от­ рицательной полуопределенностью (в общем случае), а множество возможных решений задается линейными условиями [56, 70].

Интерес к задачам такого типа вполне закономерен, ибо аппроксимация реального процесса линейной мо­ делью осуществляется в большом числе случаев ценой весьма серьезных допущений.

Для определения экстремума квадратичного функ­ ционала существует метод Хилдрета и Д ’Эзопо [56]. Сущность этого метода состоит в решении двойственных задач. Здесь функция цели должна быть строго вогну­ той, что несколько ограничивает метод. Подробно этот метод будет рассмотрен в § 2.8,

174

Метод Тейла и ван де Панна [56] идейно близок к способу решения задач линейного программирования, основанному на вычислении всех вершин многогранника условий. Применимость метода ограничена задачей квадратичного программирования, в котором оптимум достигается на гранях достаточно большой размерности. Этот метод имеет определенное сходство с известным в линейном программировании «методом полного описа­ ния», разработанным Моцкиным, Райфом и Троллом [56]. В этом методе строятся все базисные решения си­ стемы линейных уравнений, являющихся ограничениями, и исключаются те, которые не принадлежат допустимой области. Далее вычисляются и сравниваются между собой значения линейной функции цели, соответствую­ щие множеству оставшихся базисных решений. Ба­ зисное решение, которое доставляет функции цели опти­ мальное значение, является окончательным решением. С помощью подобного систематического метода проб

можно находить оптимальное

(минимальное) решение

и в случае, если функция

цели Q{X) является строго

выпуклой. На первом шаге

определяется

безусловный

(т. е. без ограничений) оптимум

(минимум)

Q(X). Если

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

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

Метод Тейла и ван де Панна и является развитием этого подхода. От данной выше схемы метода система­ тических проб и сравнений он отличается экономичной выборкой возможных подмножеств ограничений и при­ менением критерия, который сразу указывает, является ли данное решение окончательным или нет. Мы не бу­ дем подробно останавливаться на этом методе, а инте­ ресующегося читателя отсылаем к соответствующей литературе (см., например, [56], гл. 6).

175

В методе Била [56} идеи симплексного метода линей­ ного программирования разрабатываются очень глу­ боко. Сверх того, он дает глобальное решение даже в том случае, когда оптимизируемая функция не явля­ ется выпуклой. Суть метода состоит в следующем. Необходимо минимизировать выпуклую квадратичную функцию

Q(xu хг, ... , x „)= Q (X )

при ограничениях

АХ=В,

х > 0 .

Здесь А — матрица размерности тХп (причем т<п). Если существует некоторая точка, удовлетворяющая условиям ограничений, то существует, как известно из теории симплексного метода, и базисная допустимая точка, в которой, по крайней мере, (пт) переменных равны нулю. Остальные т переменных, называемые базисными, положительны (естественно, при отсутствии вырожденных). Причем, исходным является какое-либо

допустимое базисное решение системы ограничений. Если разрешить выражение

АХ=В

относительно базисных переменных этой точки (пусть для удобства относительно первых из лгг) , то получим

п—т

•** = * /* > + 2 d\Hzh (g=U m ),

(2.441)

h=1

 

где Zh х т + h.

Равенство (2.441) идентично равенству (2.30). Базис­ ные переменные имеют в исходной точке значения dg0i>0. Переменные в правой части (2.441) обычно на­ зывают независимыми или исчезающими (в данной точ­ ке) ; переменные левой части (2.441) называются зависи­ мыми или базисными.

Квадратичную форму Q можно представить в ви­

де:

Q ( X „ Х 21 •••> Х п)

Q (ztf

Z2, • *■, Z „ - m) —“

n—m

n—mn—m

— ^oo + 2 2 C m]

Z i -(-

£ C \ t z iz h =

(=1

h= 1

/ = 1

176

п—т

п —т /

■>1

п—т

 

Соо+ S Cmzt ) ' 1 + £

 

£

) zh —

( ClM+

i= l

й =

1

 

i= l

 

— (С00 + С01Zi +

” - +

C!„ . mZn-m)- 1 +

 

+ (^m +

^!izi +

•••+ ^!n-m2«-m)2» +

(2.48)

- +(CL+Cl,2‘ +

•••+ C\n- mZn-m)zh+ ...

 

+ (Ci-mo +

CI-m,Z>+

-

+ ^ - т » - » 2» - » ) 2»-*»

 

где C1 — С1 для

h, i =

0,

1....,

n 'm. В записи (2.48)

выражение в скобках при Zh есть

не что

иное как

 

 

 

_1_

 

д & _

 

 

 

 

 

2

'

д г „

 

 

 

В частности, в исходной точке

 

 

 

 

1

dQ1

_

 

 

 

 

2 '

d zH

ло ‘

 

 

Значение Q(X) в исходной

точке равно С100. При

таком

представлении функции цели Q(X) условия Куна—Так-

кера имеют вид: если все

dQl __

Л

исходная

точка

v

- g-~ 0, то

o z h

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

- ^ < 0 ,

т. е. С1 <0,

д г л ^ ’

ло ~ *

то можно уменьшить значение Q(X), увеличив одну из этих Zh, например, Zi. Остальные независимые перемен­ ные можно оставить равными нулю. Вместе с Zy изме­ няются значения зависимых переменных. Дальнейшие действия очень похожи на процедуру нахождения опти­ мального решения при помощи симплексного метода в линейном программировании. Выбирается переменная, которая до этого была равной нулю. Ее включают в ба-

12—633

177

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

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

В случае квадратичной функции цели производная

может обратиться в нуль раньше, чем одна из зависи­ мых переменных достигнет границы допустимой области. Дальнейшее увеличение Zi нецелесообразно, так как при

этом

функция Q(X)

снова начинает возрастать.

 

Р а с с м о т р и м пример,

и л л ю с т р и р у ю щ и й м е т о д о п т и м и з а ц и и Б и ­

л а

[56].

М и н и м и з и р о в а т ь

 

 

 

Q(X) = Q(xh х2)= —6*i+ 2*i22*ix2+2x22

при

о г р а н и ч е н и я х

*i+*2=^2,

 

 

 

 

 

 

*i^0, х2^0.

П о с л е в в е д е н и я в с п о м о г а т е л ь н о й п е р е м е н н о й * 3 п о л у ч и м о г р а н и ч е ­

ния в в и д е

*1+ * г + * з = 2 ,

В к а ч е с т в е п е р в о й т о ч к и ( п е р в о г о п р и б л и ж е н и я ) м о ж н о в з я т ь

ЛЦ=0, *2= 0.

Т о г д а

 

= 2 ----* 1 --- * 2,

 

* 3

Q (X) = ( — 3 * i )

■ 1 -р ( — 3 + 2 * 1 — * 2) *1 + ( — * i + 2 * 2) * 2-

П е р в а я т о ч к а

( п е р в о е п р и б л и ж е н и е )

* i = 0 , * 2 = 0 , * з = 2 , Q(X)=0.

П о с к о л ь к у

1

dQ

 

 

2 ‘ Лс, = — 3>

т о Q(X) м о ж н о у м е н ь ш и т ь ,

п р и д а в *1 п о л о ж и т е л ь н о е з н а ч е н и е (* 2

о с т а е т с я р а в н ы м н у л ю ) .

 

 

П р о и з в о д н а я

 

 

1 dQ

обращается в нуль при

з_

Х\

2 ‘

Э т а т о ч к а л е ж и т в д о п у с т и м о й о б л а с т и , т а к к а к х3 о б р а щ а е т с я

в н у л ь т о л ь к о пр и Xi = 2. П о э т о м у в в е д е м н о в у ю с в о б о д н у ю п е р е м е н ­

н у ю и ь к о т о р а я з а м е н и т

н е з а в и с и м у ю

п е р е м е н н у ю Xi\

Ul =

2 дхх = — 3 +

2 х , — х2.

и1 о б р а щ а е т с я в н у л ь в о в с е х т о ч к а х , г д е э л л и п с р а в н ы х з н а ч е н и й Q(X) и м е е т г о р и з о н т а л ь н у ю к а с а т е л ь н у ю . П о л у ч и м р а в е н с т в а :

 

 

 

 

2

 

2

) Хг'

 

 

 

 

 

 

В т о р а я т о ч к а

( в т о р о е п р и б л и ж е н и е )

 

 

 

и, = 0 ,

х2 = 0

, Хх 3 / 2 ,

х3

1 /2 ,

Q (X) =

9 / 2 .

П о с к о л ь к у 1 /2

X

 

dQ

 

 

х2

 

 

 

 

 

 

 

 

 

 

 

X

~()х ~~ — 3

/ 2 , т о

н е о б х о д и м о

 

в к л ю ч и т ь

в ба зи с ,

и ,

о с т а е т с я

р а в н о й

н у л ю .

dQ

 

 

 

в

н у л ь

при

х2 — 1,

ч т о

с о о т в е т ­

1 /2 -

о б р а щ а е т с я

с т в у е т

б е з у с л о в н о м у

м и н и м у м у

Q(X)\

о д н а к о

х3 о б р а щ а е т с я

в н у л ь

при

м е н ь ш е м

з н а ч е н и и

х 2 = 1 / 3 ,

п о э т о м у

п о д л е ж и т

и с к л ю ч е н и ю

из

б а з и с а х3; в ы р а ж а е м н о в у ю х2 и п р е ж н ю ю Х\ б а з и с н ы е п е р е м е н н ы е ч ер ез х3 и и\.

Д л я т р е т ь е й т о ч к и ( т р е т ь е г о п р и б л и ж е н и я ) п о л у ч и м :

 

 

3

 

Х\

1

з *3,

 

Q ( X ) ^— 5 -J- 2

 

‘ 1 + ^ 2

и' «1 -\-

1_

\ /J ___ L

Л

2 «1 — *з I I з

3 й'

3

12*

179

Соседние файлы в папке книги из ГПНТБ