![](/user_photo/_userpic.png)
книги из ГПНТБ / Васильев Ф.П. Лекции по методам решения экстремальных задач
.pdf140 |
МИНИМИЗАЦИЯ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ |
|||
Покажем, что векторы \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 .