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

книги из ГПНТБ / Васильев Ф.П. Лекции по методам решения экстремальных задач

.pdf
Скачиваний:
15
Добавлен:
25.10.2023
Размер:
14.17 Mб
Скачать

140

МИНИМИЗАЦИЯ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ

Покажем, что векторы \Alt А2, . . .

,

Ак линейно независимы.

Пусть

вопреки утверждению существует

 

 

 

k

 

 

 

кой,

что V z£At= Az — 0.

Возьмем

 

 

 

i=l

 

 

 

 

Ет. Так

как и^> 0,

то

при достаточно малых

е > 0

будем иметь Mi^O, ы2^ 0 , кроме того, Ащ = Ь, Au2 — b, т. е.

ределению угловой точки и множества U. Следовательно, векторы А\,. . . Ах линейно независимы, и_ранг матрицы А раврн к. Тогда

р ^ к , и, вычеркнув из матрицы А

р—к строк, линейно выражаю-

щиеся через остальные строки А,

получим искомую квадратную

невырожденную матрицу порядка

к Х к и соответствующий век­

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

Д о с т а т о ч н о с т ь .

Пусть

точка

u £ U

и

удовлетворяет

усло­

вию (15).

Пусть и =

аых + (1 — а)ы 2

при

некоторых их,

u ^ U и

0 < а < < 1 . Покажем,

что

такое

представление

и

возможно

только

при ы = ы1 = ы2. В

самом

деле,

если ]'ф]'г,

r =

 

1,

2, . . .

,

k,

то из

0 < а < 1 ,

ы{ > 0 ,

и'2 > 0

имеем

0 = и' =

аи[ + (1 — а)

>

0,

что

возможно только при и[ — и!2== 0

(/Ф j r,

г — 1,

2 ..........

k).

Тогда

из Aui = b

следует,

что Вщ = Ь ,

где и,

 

 

.

| ( t = l ,

2).

Однако

 

 

 

 

 

 

 

 

u’k /

 

 

 

 

 

 

|В |=/=0,

поэтому их =

«а = и> а

тогда

и1 =

ий — и.

Следовательно,

и — угловая точка U. А

 

 

 

 

 

 

 

 

 

 

 

Таким образом, для решения задачи (10) достаточно пере­ брать угловые точки множества U. В силу теоремы 7 число угло­ вых точек U конечно, так как число невырожденных миноров матрицы А конечно. Однако даже в задачах не очень большой размерности число угловых точек.может быть столь большим, что простой перебор угловых точек U может оказаться невозможным за разумный промежуток времени даже при использовании самых

§ 11]

Элементы линейного программирования

141

быстродействующих ЭВМ. Идея многих

методов решения задач

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

такого

упорядоченного

перебора угловых точек, при котором

значение

-функции (с, и)

убывает при переходе от

одной угловой

точки к

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

4. Напоминаем, что в задаче (10) матрица А имеет поряд

.рХпг, поэтому ранг матрицы А удовлетворяет неравенству:

rang/4<;m in (р ; т ). Если бы rang А = т, то это означало

бы,

что

множество

U состоит не более чем из одной точки, и задача

ми­

нимизации

(с, и) в этом случае становится тривиальной.

 

Поэтому

•будем считать, что

U = 0 , rang

А = р < т — этого всегда

можно

добиться,

исключив

из равенств

(Ли)г= & г-, i= 1 , 2, . . . , р,

линейно-

.зависимые. Кроме того, симплекс-метод

будем

излагать

в предпо-

.ложении невырожденности задачи

(10).

и ф 0

 

 

U назы­

О п р е д е л е н и е 2. Угловая

точка

множества

 

вается невырожденной, если соответствующая матрица В из тео­

ремы 7 имеет порядок p = rangЛ </n

и число

положительных

координат точки и в точности равно р.

Задача

(10) называется

невырожденной, если невырождена каждая угловая точка множе­

ства

Ц.

 

 

 

 

Пусть известна некоторая угловая точка и множества U.

В

силу

невырожденности задачи и теоремы 7

можем

считать,

что

 

(

ап ,

, а1в

 

> 0 , В =

аръ ••• I &рр

Рассмотрим вектор

и aB~l Ак

О

О

k = p + 1, . . . , т, а > 0 ,

а

 

О

 

О

142 МИНИМИЗАЦИЯ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ [Гл. г

где а — £-тая компонента

вектора

ua,k ( £ > р ) .

Так

как

 

ц > 0 ,

то

найдется

а о> 0 , такое,

что «a,ft > 0

при всех

а, 0 <

а <

а 0.

Кроме

того,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

р

_

 

 

 

 

 

 

 

 

_

 

 

 

 

 

 

_

 

 

Aua,k = ^

 

Л; — аБ-1 Ak)i +

Akа =

В(и-^- аБ -1 ЛА) +

Ака

= Ви =

Ь-

 

i= 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

при всех

а , поэтому ыа>й £ U при 0 •< а < а 0.

Далее;

 

 

 

 

 

 

 

(с, иа>к) = (с, и

а Б - 1 Ак) + а ск = (с, и) — а [(с, Б“ >Л*) — c j .

 

Обозначим

ДА= (с, Б-1 Лй) — ск\ тогда (с, wa.fc) = (с,

 

и) — аДй (k —

= р +

1,

. . . , /п).

Величины Дй имеют смысл и при £ = 1 , 2 , . . . ,

р,.

при этом

согласно определению

обратной матрицы В-1 ЛА=

ек, и по­

этому

Дй =

(с, Б-> Л*) — ск =

(с,

ёА) — ск = 0 (£ = 1, 2, . . .

 

, р). В за­

висимости от знаков величин ДА, (Б-1 Ak)t возникают три

возможно­

сти.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I.

Все

величины Д^^О

1, 2, . .. ,т ). В этом

случае,

 

ока­

зывается,

 

и* —и является

решением задачи (10). В

самом

деле,,

возьмем К * = (В~1)*с. Тогда

 

 

 

 

 

 

 

 

 

 

 

 

 

0 >

Д* = (с, Б - 1Ak) — ск = ((Б -1)' с, Ак) — ок = — (Г ,

Ак) —

 

 

 

 

 

 

— ck( k =

1, ... , т),

 

 

 

 

 

 

 

 

 

что равносильно неравенству c - f

Л 1 * > 0. Далее,

 

 

 

 

 

 

 

 

( С , U a ,k ) 1«=о =

(С, И)

=

(С,

А - 1 £ ) =

( ( Б - ' ) * с ,

6 ) =

-

( b ,

Г ) .

 

 

Таким

образом, Я*— решение двойственной задачи

(13),

и в- силу

тео­

ремы 4

тогда и" = и — решение задачи

(10).

 

 

 

 

 

 

 

 

 

II.

Найдется такой

номер £ > р ,

что Д * > 0 ,

В - 1 ЛА<

0

(напо­

минаем, что Ак = 0 при£ =

 

1 . . . . ,

р). Тогда задача (10) не имеет решения.

В самом деле, в этом случае «со->

0,

Аиа,к =

Ь,

т. е.

ua,k(:U

при

всех а > 0 ,

А тогда (с,

иа й) = ( с ,

и) — аДй-> — оо при

a -» -j-o o ,

и-

inf (с, и) =

— оо.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

иес/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

III. Найдутся

такие

£ > р

и

i^ p , что

Дй> 0 ,

 

(В~1Ак) ,->0..

В этом случае делается

итерационный шаг — переходят к следую­

щей угловой точке

ыао,

а,

где

 

 

 

 

 

 

 

 

 

 

 

 

 

a =

a0 =

min JE L Q l

,

4

=

{ i : l < i < p ,

(Б~' Л*)£> 0 }^ =

0 ^

 

 

 

£6/ft(B-1^ )I.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Так как B~l b = u^> 0,

то a 0)> 0 .

Покажем, что «<*„,;•. 6

 

 

Посколь­

ку Aua,k =

b при

всех

а,,

то

достаточно установить,

 

что

 

 

 

 

О»

§ Щ

 

 

 

Элементы

линейного

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

 

 

 

143

или — а 0В-1 Аа)£ > 0 ,

 

 

р. Это очевидно для тех

i,

для

которых

 

 

<

0.

Пусть

(B~l Аа)£ > 0, т.

е.

i 6 I k- Тогда

 

 

 

Q < a 0 <

,

Ь)‘

= -----r -----.

или и‘ — а 0(В-1 Aft)£ >

0

 

 

 

 

 

 

(Br'Afr

(B~l А&

 

 

 

 

 

 

 

при всех

i 6 /й. Таким образом,

uaoik 6 U,

 

 

 

 

 

 

Покажем,

что иа„,к— угловая точка U. Пусть минимум

в опре­

делении

а 0

достигается при некотором t = s 6 Д :

 

 

 

 

 

 

 

 

 

 

 

 

(В-16)£

(В -1 6),

^

а

 

 

 

( 16)

 

 

 

 

 

 

 

 

 

 

(В-1

'

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тогда

Ua0, k = us— а 0 (.В

Ak)s =

(В-1 6), — а 0 (В~' Ak)s = 0.

В

матри­

це В =

( А х ,

А2,

,

Ар)

выбросим столбец A s

и дополним

столбцом

АЙ;Тновую матрицу обозначим через С = (Ах, . . . ,

As_ ь

А*+1, . . .

, Ар,

Afe),

кроме

того,

вектор-столбец с

координатами

ц„,, . . .

,

,

ц ^ 1, . . .

, ы£0, гД, =

а 0

обозначим через иа„,к. Будем иметь

 

 

 

~

 

р

 

 

«оAft —

A;«a0 + ®oA* — В (u — a 0B

 

 

,CUa0,k=

 

A;

+

1 Aa)

 

 

i= I,

i=/-s

 

 

 

 

L=1

 

 

 

 

 

 

 

+ a 0Aft = Bu = b.

Далее, убедимся в том, что -|С |=/= 0. Пусть

 

 

 

 

Cz =

 

^

ZjAj +

z* Ak = 0.

 

 

Так как

 

 

•i=l,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ak = B(B~'A k) = £

 

Д ( В - ‘ Аа)£,

 

Cz —

^

 

z£A£- f 2fc ^

А£ (В

1Aft)£ —

 

 

[z£ -(- (В 1 Ak)t zk] A£ +

 

 

t = l , l ^ b s

t = 1

 

 

 

 

 

£ = 1 , i * r S

 

 

 

 

 

 

+

zftAs (B~1Aft)s = 0,

 

 

Из

линейной независимости

Ax,

A2, . . .

, Ap тогда следует, что

 

zc +

(B—1 Ak)i Zk — 0 (i =

1,

2,

. . .

,

p,

i

s),

zk (B—1 Aft)s = 0.

По

(B_1Aa)s> 0 по определению

s 6 / fe,

поэтому

zk = 0, а тогда все

z£ = 0

(t =

1,

. . . , p, i=^=s),

t .

e.

z =

0.

Следовательно,

|C|=^0,

>Cua0,fe = й.

В

силу теоремы

7

точка

ыа„,ь

является угловой

для 17.

144

МИНИМИЗАЦИЯ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ

[Гл. I

При этом

(с, Ua0ife) =

(с,

и) — а 0ДА<

(с, и) = (с,

и), т.

е. значение

функции (с, и) строго уменьшилось.

Тем самым

описан

один итера*

ционный шаг симплекс-метода.

 

 

 

 

 

По условию задача

(10) невырожденная, поэтому число поло­

жительных компонент у вектора иаа,к равно

р. Поскольку т р ну­

левых координат у вектора

ua„ife

известны:

= иРс£1= . . . = и*~1=

= Ua^"1 =

•••=

Ua„ =

о,

ТО

Все

ОСТЭЛЬНЫе

координаты

иа‘ 0=

aQB~l Ak){ (i =

1, . . .

, р,

i=/=s),

Uas = a0

будут

положительными.

Это, кстати, означает, что в невырожденных задачах номер s, на ко­ тором достигается минимум в (16), определяется однозначно.

В вырожденной задаче такой номер s, вообще говоря, опреде­ ляется неединственным образом, и, более того, величина ао и& (16) в этом случае может оказаться равной нулю, поскольку мо­

жет быть равной нулю координата (B~lb )s= u s. Таким

образом, в

вырожденных задачах возможно зацикливание,

когда

значение

функции (с, и) при переходе от одной угловой

точки

к другой

не убывает и через некоторое число итераций происходит возвра­ щение к прежней угловой точке (см. упражнение 7). Для преодо­ ления явления зацикливания симплекс-метод следует несколько' модифицировать; за подробностями отсылаем читателя к работам, [114, 116, 133, 134, 257] и др.

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

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

Л = b,

uik =

(В - 1 Ak)h

i =

1, 2,

,

р, k = 0,

1, . . .

,

т\.

 

_

 

Р

 

 

 

 

 

 

 

“о/ = Л/ = (с , В ~1А,) с,- =

£

Cjiii,

Cj,

/ =

1,

2,

. . . ,

т\

 

 

 

£ = 1

 

 

 

 

 

 

 

 

 

«00 =

(С. «)•

 

 

 

 

 

 

 

Параметры

щ,

назовем параметрами

итерации

для

угловой

точ­

ки и; через Оц обозначим параметры итерации для новой угловой точки v = Uo^.k, получаемой описанным выше симплекс-мето­ дом.

S щ

Элементы линейного

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

145-

Заметим,

что параметры иц, i = l , 2 , . . . ,р, /= 0 , 1 , . . . , т,

одно­

значно определяются из соотношений

 

 

 

Л/ = 5 ( Л - М /) =

£ Л <и(/.

 

 

 

i=-i

 

Аналогично параметры vtj могут быть определены соотношениями

Л/ = £ ' ^ ‘7 + Akvhh / = 0, 1, . . . , т,

РР

ГДе £ ' =

Е ’

3 Л . • • • . Д - 1 ,

Д + 1 ..............

Л - А к — СТОЛбДЫ

£=1

i= 1

 

 

 

матрицы С. С учетом этого замечания нетрудно получить простые связи между параметрами utj и vtj

vU = uci — Uih

i — 0,

1, . . . , р,

i =?^ s;

usi

“si ’

 

usk

 

 

 

 

 

7 = 0 , 1 , . . . ,

 

(17)

В самом деле, по

условию usft =

(В- 1 Aa)s >

0 (см.

п. 4). Из равен­

ства

 

 

 

 

 

 

А* = В ( В - М а) = £ д ^ ,

 

 

 

 

1=1

 

 

тогда имеем

 

 

 

 

 

 

Д =

— Д - У ' А , - ^ - .

(18)

 

 

usk

i=l

 

 

 

 

 

 

 

Так как 1 < s < р

и

 

 

 

 

 

Л = £

Дыгз =

В ( В - ‘ Д )= В е “ ,

 

 

£=1

 

 

 

где е, — s-тый столбец единичной матрицы порядка

р х р, то uls= О

при

и ы „ = 1. Поэтому равенство (18) можно

переписать в виде:

146

 

МИНИМИЗАЦИЯ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ

 

[Гл. 2

Далее, при / = О,

1, . . .

,

т, 'j= £s

с учетом

(18) получим

 

 

 

 

 

 

 

Р

 

и

 

 

 

 

А, = В ( S - 1 Aft

= ^

V

( 7 = ^ Ч '« £ / + A«s/ =

 

 

 

 

 

 

 

t=l

 

t=l

 

 

 

 

 

= У Ч - ( «I/—

 

 

4k.

 

 

 

 

 

1=11

V

 

 

"sfe /

«sfc

 

 

Сравнивая

полученные

представления

Ajt j = 0, 1, . . .

, in

с соотно­

шениями

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Aj — ]£] A(vij + Akvki<

 

 

 

 

 

 

 

 

£=l

 

 

 

 

 

определяющими vif, получим формулы ' (17)

при всех i Ф 0.

Остается

рассмотреть

случай

i — 0.

Так

как

 

 

 

 

 

 

 

 

р

'с flu + ckvkj — сh

/ = 1 , 2 .......... in,

 

 

 

% =

£

 

 

 

i =1

 

 

 

 

 

 

 

 

по определению, то с учетом уже доказанных формул (17)

при i Ф 0

имеем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

^ )

+ ск usj

 

р

 

 

 

 

 

 

 

 

Cj = ('

 

 

 

i=i

 

 

 

Usk J

 

- usk

 

Vi£=1

 

 

usi

 

 

 

 

) = “о/ — “oft

usj

/ =

 

 

Usk

£=1

 

 

 

Usk У

 

 

 

 

 

 

 

 

 

v) =

(c, uaa,k) = (с,

и) — а 0ДА, до­

Наконец,

из (16)

и равенства

(с,

казанного

в

п. 4,

следует, что

 

 

 

 

 

 

« 00 « 00

a 0« 0ft « 0 0

«so

“sft «oft-

-Формулы (17) полностью доказаны.

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

6. Как выбрать начальную угловую точку? Оказывает ■отыскание угловой точки множества U—{u :u ^ .O , Au==b} в свою очередь весьма трудоемкая задача, сравнимая с исходной зада­ чей (10). Мы здесь опишем один из наиболее распространенных лриемов отыскания угловых точек, использующий тот же сим­ плекс-метод.

§ Щ

 

 

 

Элементы линейного

 

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

 

 

 

14Т

 

Рассмотрим

такую

вспомогательную

задачу

линейного

 

про­

граммирования: найти

 

 

 

 

 

 

 

 

 

 

 

 

 

т ш

y/) ’ 117 =

|® =

^ ^ € £ т +р,

 

« > 0 ,

п >

0,

Au + v = b ^ .

jrn ( E

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ь ^ .О,

 

 

(19)

Без ограничения общности можем считать, что

ибо

в

про­

тивном случае соответствующую строчку ограничений

(Au)i = bi

мы бы умножили на

(— 1). Для задачи (19)

можно сразу указать

угловую

точку.

Это

будет точка

(

 

) (см. теорему 7)

и, следова-

тельно, для решения задачи

(19)

\°/

 

 

 

 

симплекс-ме­

можно применять

тод

(или его модификации в случае вырожденной задачи) и найти

ее решение.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т е о р е м а

8.

Пусть

 

— решение задачи

(19),

пусть

 

 

 

 

 

 

 

 

2

 

- “

(5

: 4

 

 

 

 

 

 

 

 

 

 

 

 

 

t=i

 

 

 

 

i=i

 

 

 

 

 

 

 

 

Тогда если ф* =

0,

то и* — угловая точка множества U\ если

ф*]> 0„

о U = 0

и задача

(10)

становится тривиальной.

 

 

 

 

 

 

 

Д о к а з а т е л ь с т в о .

Прежде

всего ясно,

что задача

(19)

 

имеет

 

 

 

 

W Ф 0

 

 

 

 

 

 

р

г/ > 0

 

на W. Да-

решение,

так как

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

^

 

лее,

поскольку

 

эта

задача

решается

 

i=l

 

 

 

 

 

то

 

симплекс-методом,

Ц 9

\

 

точка множества

W. В частности,

если ф* =

0, то

ф 1— угловая

и' = 0 и ( о ) — Угловая

точка

 

Очевидно, тогда

и* — угловая

точка U. Если же

ф *> 0 , то [U — пустое множество. В

самом

 

деле,

если бы

существовала точка и 6 U, то

^ q j 6 W. Но тогда |

^

решение задачи

(19)

и ф* = 0 — противоречие.

 

 

 

 

 

 

 

 

Упражнения. 1. Выяснить геометрический смысл задач линей­

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

взяв в задачах (10) и

(12) т = 2,

т = 3.

 

2.

На

велосипедном

заводе

 

выпускают

гоночные и дорожн

велосипеды. Производство устроено так, что вместо двух дорож­ ных велосипедов завод может выпустить один гоночный, причем гоночный велосипед приносит в 1,5 раза больше прибыли. Завод, может произвести 700 дорожных велосипедов в день, однако склад, может принять не более 500 велосипедов в день. Сколько нужно'

148 МИНИМИЗАЦИЯ ФУНКЦИЙ МНОГИХ ПЕРЕМЕННЫХ [Гл. 2

выпускать в день гоночных и сколько дорожных велосипедов для того, чтобы завод получал максимальную прибыль? («Квант», 1971, № 3). Для решения этой задачи применить симплекс-метод.

3. В

пунктах

А и В расположены

кирпичные

заводы, а в

пунктах

С и Д — карьеры, снабжающие

их

песком. Ежесуточно

заводу А нужно 40 т песка, заводу В — 50 т,

а карьер С ежесуточ­

но добывает

70

т песка, карьер Д — 30

т.

Стоимость перевозки

тонны песка

с карьера

С на завод А равна 2 руб., на завод. В —

6 руб., с

карьера

Д на

завод А — 5 руб.,

на завод

В — 5 руб.

Нужно организовать ежесуточное снабжение заводов песком так, чтобы полная стоимость перевозок была наименьшей («Квант», 1971, № 3). Для решения этой задачи применить симплекс-метод.

4. По аналогии с теоремой 4 для задачи (12) сформулиро­ вать условия разрешимости и оптимальности, пользуясь теорема­

ми

1— 3.

 

 

 

 

 

 

 

5.

Для

того

чтобы задача

(1)

(и, следовательно, двойствен­

ная

задача

(7))

имела решение, необходимо и достаточно, чтобы

1 ! ф 0

и (с, и) ограничена снизу на

U. Доказать.

 

 

6.

Для

того

чтобы задача

(1)

(и, следовательно, задача (7))

имела

решение,

необходимо и

достаточно, чтобы

11ф ф , А ф ф .

Доказать.

 

 

(с,

и) =

и3— u4+ u 5— ы6

 

 

7.

Решить задачу min

при условиях

и1ф и 3— 2u4— 3w5+ 4 u 6 = 0,

и2+ 4 и 3— За4— 2u5+ u 6 = 0,

и3+ и4 + и5+

+ и6 + и7 = 1,

 

0, /=1, 2 . . . , 7 .

Показать, что в этой задаче мож­

но получить зацикливание, если с помощью симплекс-метода ор­

ганизовать перебор угловых точек,

соответствующий

перебору

базисных столбцов в следующем порядке:

 

 

(А3, Л2, Л7) —>(Л3,

Л4, Л7)

(Л5,

At ,

Л7) —»-(ЛБ, А0,

Л7) —>•

Ав,

Л7) —^(Лх,

Аг,

Л7)

(Л3, Л2, Л7).

 

Любопытно отметить, что длина циклов в задачах линейного про­ граммирования меньше шести не бывает ([257], стр. 389).

§ 12. О МЕТОДЕ СЛУЧАЙНОГО ПОИСКА И НЕКОТОРЫХ ДРУГИХ МЕТОДАХ

Наряду с описанными выше методами минимизации функ­ ций m переменных существует большая группа методов поиска минимума, объединенных под названием метода случайного поис­ ка [79], [204]. Метод случайного поиска в отличие от ^анее рас­ смотренных методов характеризуется намеренным введением эле­ мента случайности в алгоритм поиска. Многие варианты метода случайного поиска сводятся к построению последовательности {и п} по правилу

s Щ

О методе случайного поиска и некоторых других методах

149

 

U-n-\-\ U>n“Ь

^ — 0> 1 >■■•>

(1)

где а п

некоторая положительная величина, £ = (g1, . . . ,£m)

жакая-либо реализация m-мерной случайной величины | с извест­ ным законом распределения. Например, компоненты случайного вектора | могут представлять независимые случайные величины, распределенные равномерно на отрезке [— 1,1]. Как видим, орга­ низация случайного поиска минимума функции пг переменных свя­ зана с наличием датчика (или генератора) случайных чисел, об­ ращаясь к которому в любой момент можно получить какую-либо реализацию /n-мерного случайного вектора | с заданным законом распределения. Такие датчики могут быть получены на основе

•стандартных программ, обычно имеющимися в библиотеках под­

программ на ЭВМ.

 

 

 

 

 

 

 

 

 

 

 

 

1.

 

Приведем

несколько вариантов

метода

случайного пои

минимума

функции J (и) на

множестве и<=Ет, предполагая, что

и-е приближение un^ U (п ^ .0) уже известно.

 

 

 

 

 

 

а) Алгоритм с возвратом

при неудачном

шаге

[204].

Смысл

этого алгоритма заключается

в следующем. С помощью датчика

•случайного вектора получают некоторую

его

реализацию

|

и в

пространстве Ет определяют точку ип= ип+ а|,

a = c o n st> 0 .

Если-

vn<=U и /(vn) < / (ип) ,

то сделанный

шаг считается

удачным,

и в

этом случае полагается

un+i = vn. Если

vn^.U,

но

J (v n) ^ J ( u n),

или же

vn0. U, то сделанный шаг считается

неудачным

и пола­

гается

un+i =

un. Если окажется, что

un=

un+l =

... = un+N

для

достаточно больших N, то точка ип может быть принята в каче­

стве приближения искомой точки минимума.

 

 

 

 

 

 

 

б)

Алгоритм наилучшей

пробы

[204].

Берутся

какие-либо s

-реализаций

..., |<s>случайного вектора | и вычисляются значения

функции J (и)

в тех точках u = u n+ a%(i), i 1, 2, . . . , s, которые при­

надлежат

множеству U. Затем полагается ип+\= ип+ а ^ 1°),гд,е

ин­

декс г'о определяется условием

 

 

 

 

 

 

 

 

 

 

 

 

 

J (ип +

а^°>) =

min

J (ип +

 

 

 

 

 

 

 

 

 

 

 

 

un+a&)£U

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l< i< s

 

 

 

 

 

 

 

 

 

Величины s > l

и a = con st> 0

являются параметрами алгоритма.

в)

 

Алгоритм статистического градиента [204]. Берутся как

либо s реализаций £0), ... ,

|(s)

случайного вектора | и вычисляются

разности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A/ft° =

J ( Un + Y£<0) - J ( u

n)

 

 

 

 

 

 

.для всех

un+ y ^ ^ U .

Затем

полагают

рп — — У ]£ (г) AJn\

где

сумма берется по всем тем i, l ^ i ^ s , для которых un+yQ l)^ U .

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