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

книги из ГПНТБ / Берзин Е.А. Оптимальное распределение ресурсов и элементы синтеза систем

.pdf
Скачиваний:
34
Добавлен:
24.10.2023
Размер:
11.19 Mб
Скачать

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

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

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

Метод ПП обеспечивает последовательное распределение ресурса

в соответствии с максимальным элементом вектора для каждого шага процесса. Это приводит к уравниванию частных производных (их аналогов), т. е. к выполнению формальных условий оптимальности. Метод НФ обеспечивает течение аналогичного процесса, но при нали­ чии многих ограничений (m > 1). На каждом шаге процесса решения задача со многими ограничениями сводится к задаче с одним ограни­ чением. Однако поскольку на каждом шаге процесса мы имеем дело только с одним (дефицитным) видом ресурса, то мы не имеем права утверждать, что условия оптимальности будут выполнены точно. Приведенная аналогия не является строго эквивалентной и поэтому не обладает доказательной силой. Она способна лишь несколько уве­ личить правдоподбность суждений, чего, вообще-то говоря, недоста­ точно.

Что касается объема вычислений, то он оценивается формулой mtid, в которой пока неясна величина d (число шагов процесса). Оцен­ ку снизу для числа шагов можно получить в предположении, что толь­

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

 

Jb - (ан > 0).

(5.39)

а]і

 

Более сложно получить оценку сверху (dmax), поскольку это фак­ тически эквивалентно оценке самого решения. Действительно, после гв-нормировки можно записать:

(5.40)

откуда и следует эквивалентность.

* Предполагается, что на каждом шаге дается единичное приращение только одной переменной.

190

Тем не менее, верхние оценки (довольно грубые) для некоторых предельных условий можно дать формулами:

d'max= max

_____ b_

dmrr ax — max у ______

(5.41)

І

max aj.)B)

iffHmax a<[B>

 

где /„ — подмножество невырожденных переменных.

Первая из них соответствует случаю, когда большинство коэф­

фициентов 4 В) примерное 2 —5 раз отличаются один от другого и й/;в>> > 0 для всех і , / .

Другая формула отвечает тому предельному случаю, когда для

невырожденных переменных матрица ||а{[ в) fimnможет быть путем только перестановки столбцов и строк представлена в виде матрицы, близкой к диагональной (в каждой строке и столбце только один значащий элемент). Но поскольку подмножество / н до решения задачи неизвест­ но, то, полагая, что число невырожденных переменных н равно числу базисных переменных (h ä min {т, п}), можно (не менее грубо) оце­

нить и dmax, т а к ЧТО

d-rnax ^ср —0>5 ( d m( :“Ь dmax)-

(5.42)

Если среди коэффициентов ан будут попадаться и отрицательные, то при прочих равных условиях нельзя ожидать уменьшения продол­ жительности процесса, т. е. d может увеличиваться. ■?

Из (5.41), (5.39) видно, что при увеличении b в г раз количество шагов увеличится во столько же раз. Если при этом в г раз уменьшить Сі (і = 1 ,..., п), то эквивалентность задачи не будет нарушена, однако

шаг дискретности (оптимизации) уменьшится в г раз. Решение после­ довательности задач ЛП при различной дискретности шага позволит определить приемлемую его величину.

Следует отметить, что в связи со слабой (линейной) зависимостью объема счета от размеров задачи быстродействие не будет ограничи­ вающим фактором. Таким фактором, по-видимому, будет емкость ОЗУ, которая практически полностью будет занята для хранения исходной информации.

Резерв для повышения размерности — вывод части исходной информации во внешнюю память ЭВМ или разработка методов( ее компактного хранения и переработки.

Оценка решения. Метод свертки ограничений (СО). Неудовлетво­ ренность отсутствием строгих формальных обоснований метода НФ или теоретической оценки его точности вынуждает искать приемы и методы, позволяющие контролировать получаемое решение. Такой контроль может осуществляться известными методами ЛП, но поскольку речь идет о задачах больших размерностей, то классические методьГмогут быть полезны лишь для набора статистики в пределах их возможнос­ тей. Кроме того, если было бы возможно и каждый раз необходимо про­ водить проверку классическими методами, то терялся бы смысл приме-*

* Суммируются н наибольших членов.

191

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

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

хг

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

Имеем задачу:

 

L (X) 2хх+ 4 х 2

max,

 

хх

 

X

I:

г^2,

 

II:

 

х2 < 2 ,

(5.43)

III:

2хх— 2х2 ^ 2 ,

хѵ х2> -0.

На рис. 17 показана геометрическая интерпретация задачи. Ни одно из трех ограничений совместно ,с осями в положительном квадран­ те не образует замкнутой области допустимых решений. Выбор любого ограничения дает неограниченное решение (L->-oо). Тем не менее, вы­ берем наиболее сильное ограничение. Под сильным будем понимать такое г-е ограничение (/ = г), которому соответствует наименьшее значение целевой функции Lp

Lr ~ шіп

Т7- = т іп {

max

Ьн} = min {max

a{V=j=0. (5.44)

1 -s;

/

1< / < n

j ( / aj!") J

^*

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

192

Из (5.44) видно, что сильное ограничение следует искать в первую очередь среди тех ограничений, которые не содержат нулевых или,

тем более, отрицательных коэффициентов aft.

Если во всех ограничениях содержатся и отрицательные члены, то условие (5.44) проверяется только для этих членов. В нашем приме­ ре сильным ограничением является ограничение II, поскольку

Чтобы усилить ограничение II, необходимо сложить его с таким из оставшихся ограничений, которое позволит избавиться от нулевого коэффициента . Складывая ограничения I и II, получим новое:

Х\ + х2^ 4.

(5.46)

На рис. 17 ему соответствует полуплоскость и граничная линия А'В". Новая область допустимых решений ОА'В" целиком включает в себя прежнюю, при этом оценка решения задачи существенно улучши­ лась (было L -*■ оо):

L — 16, Ху =

0, х2 = 4 (рис. 17 А' В').

(5.47)

Из рис. 17 видно, что сложение ограничения II с I оказалось равно­

сильно повороту линий II

вокруг точки С (точка пересечения двух ли­

ний, соответствующих этим ограничениям) на угол Ѳ'. Однако если

бы поворот линии II был

произведен не на произвольный угол Ѳ',

а на вполне определенную

величину Ѳ, то линия А'В' совместилась

бы с линией AB, представляющей собой линию целевой функции, и

оценка совпала бы с точным решением задачи.

Попытаемся осуществить требуемый поворот линии II

путем вы­

бора величины линейного множителя X в линейной комбинации огра­

ничений II и I:

 

Хх2 + (1 X) хг < 2, 0 < X < 1.

(5.48)

Величина X выбирается так, чтобы максимально усилить огра­ ничение (5.48). Таким значением является = 2/3, дающее новое ограничение:

1/Зху + 2/Зх2 = üyXy -f- а2х2^7 2.

(5.49)

При этом ограничении получаем по крайней мере два равнознач­ ных решения:

Ху = 6, х2 = 0 и Ху = 0, х2 = 3,

для которых значение целевой функции одинаково и равно 12:

£ , = • ^ * = —

= — = 12.

(5.50)

Щ

1 / 3

2 / 3

 

* Вместо нулей можно взять сколь угодно малую положительную величи­

ну а (а$ =

= а).

7 Зак. 1292

193

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

ограничение III

может быть опущено,

хотя явного

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

и нет.

 

 

 

Анализируя

результат, видим, что,

по сути дела,

мы перешли от

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

L (X) = 2х\ -f 4хо -*• шах,

X

 

лу-f 2х2< 6 ,

(5.51)

лу, хг >• 0.

 

Поскольку область допустимых решений эквивалентной

задачи

включает всю область допустимых решений исходной (см. рис. 17), то, помимо того, что оптимальный вектор решения исходной задачи является оптимальным для обеих задач (точка С является граничной точкой областей решения обеих задач), эквивалентная задача имеет еще бесконечное множество других векторов (отрезок AB), с таким же значением целевой функции. Из всех этих решений нас будут интере­ совать вырожденные решения (точки А и В). Вырожденное решение легко получается методом ПП, как решение задачи ЛП с одним ограни­ чением. Естественно, напрашивается идея последовательного объеди­ нения исходной системы ограничений (идея свертки ограничений) и перехода к эквивалентной задаче*. Остается найти подходящий алго­ ритм, реализующий идею последовательного присоединения на каждом (t-м) шаге процесса одного из ограничений исходной задачи с таким множителем б = (1— X), чтобы оценка решения по целевой функции постепенно улучшалась или по крайней мере не ухудшалась.

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

Умножив ограничение (5.49) на

Lib — 6**,

мы приводим его

к виду целевой функции'.

 

 

2хх + 4а'2 <

12,

(5.52)

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

Ограничение, получаемое на t-м (t= 1 ,..., d) шаге процесса в ходе линейного комбинирования с другими, будем называть текущей сверт­ кой (t-сверткой). Его коэффициенты обозначим буквой а\1)(і = 1,...,п) с одним нижним индексом (номер переменной). Как обычно, верхний

* См. приложение IV.

** ц = L/b назовем коэффициентом нормализации.

194

индекс будет обозначать номер

шага итерационного процесса. Те­

кущая свертка запишется в следующем виде:

 

 

2

а ^ Х і^ Ь .

(5.53)

 

і= 1

 

 

Конечной

назовем свертку,

обеспечивающую

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

[rf-свертка, см.

(5.49)1.

 

 

Приведение Дсвертки к виду целевой функции будем называть ее нормализацией, а полученную свертку — нормальной [L-сверткой,

см. (5.52)1.

Формальные записи всех сверток будем различать только по верх­

ним индексам при коэффициентах а\1), a\d), a\L) в формуле (5.53).

В качестве начальной свертки (0-свертка) будем брать свертку с

нулевыми коэффициентами (а(г0) = 0). Это окажется удобным в смысле общности Получаемых далее формул. Наиболее сильному ограничению исходной задачи присвоим индекс / = 1. Гиперплоскость, соответ­ ствующую уравнению целевой функции, будем обозначать ГЦФ (см. рис. 17, AB). Аналогично гиперплоскость ограничивающей функции (свертки) обозначим ГОФ (см. А' В" и формулу (5.53) со знаком = ).

В заключение отметим, что пример (5.43) рассматривался только при горизонтальной нормировке коэффициентов, однако далее иногда будем полагать, что задача имеет полную нормировку [см. (5.17)1. Это упростит некоторые операции алгоритма.

Анализ начнем с выяснения факта, случайными ли были совпаде­ ния, отмеченные при сравнении уравнений ГДФ и ГОФ [т. е. (5.43) и (5.52)1? Из рисунка видно, что процесс свертывания ограничений пред­ ставляется как последовательный поворот ГОФ вокруг точки С до сов­ мещения с ГЦФ. Но если две плоскости совмещены, то должны сов­ пасть и соответствующие им аналитические выражения по крайней мере в части невырожденных (ненулевых) переменных.

Следует выяснить, как обстоят дела в отношении остальных пе­ ременных.

Этот вопрос проще всего выяснить с помощью примера, в котором количество переменных больше числа ограничений ( п > т), а следо­ вательно, будут и вырожденные переменные. Для примера (5.34) по­ лучены свертки:

П

S

a{d) xt =

12,8х1 + 7,45х2+ 3,93х3 + 2,97*4+ 2,46х5^ 38,

(5.54)

і==1

 

 

 

«1

 

 

(5.55)

2

*j =

48% + 28*2 + 14,8*3 + 11,1*4+ 9,3*5 $7 143.

/= 1

П р и м е ч а н и е . Множитель %, определяющий угол поворота ГОФ, равен 0,504, а коэффициент нормализации г\ = L : Ь, связывающий величины

О (<*> И « Р :

a\L) =

r ia [ .r f ) ,

равен примерно 3,76.

7*

(5.56)

195

Сравнивая (5.55) и (5.34), видим, что совпадение функций произо­ шло только в отношении подмножества невырожденных, переменных ( г £ / н), а вообще мы получили:

a\L) = сг

для

г £ / н*,

(5.57)

c/L)> C j

для

іф .І в.

(5.58)

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

Положительный ответ на первый вопрос вытекает из необходимос­ ти совмещения ГОФ с ГЦФ при оптимальном алгоритме получения L-свертки, а следовательно, и из почленного равенства их аналити­ ческих выражений для і £ / н:

2 a\L)xt = 2 c-x^= L (X 0).

(5.59)

1е 'н

' е 'н

 

Ответ на второй вопрос можно получить, рассматривая схему опти­

мизации (порядок получения

вектора X = {А,г}й).

Будем полагать,

что свертывание ограничений начинается с усиления 0-свертки, путем последовательного линейного комбинирования с каждым из ограниче­ ний, начиная с наиболее сильного (/ = 1). Весь d-шаговый процесс удобно при этом представить в виде циклов. Под циклом будем пони­ мать т шагов процесса, в результате которых все т ограничений, на­ чиная с первого, будут проверены на возможность усиления ^-свертки.

t, k,

Заметим,

что текущий индекс цикла Т (Т = 1...... D) и индексы

(k = 1,..., m)** будут связаны между собой следующим соотноше­

нием:

 

 

 

 

 

 

 

t =

m (Т — 1) +

k

(k(t) =

t — m ( T — 1)).

(5.60)

Рекуррентное

соотношение,

связывающее

коэффициенты

а\1) для

двух смежных шагов процесса,

можно записать в виде:

 

 

 

 

 

 

 

 

(5.61)

где

а |0) = 0,

/ = 1 ,..., п,

k —k(t).

 

 

 

 

Правая часть ^-свертки вычисляется по аналогичному соотноше­

нию:

 

 

 

 

 

 

 

 

blt) = (blt- l) —b)Xt+ b,

t = l ,

, d.

(5.62)

*Далее, полагая, что задача гв-нормировки (с* = с), индекс і при с* опускаем.

**j — k —индекс ограничения, присоединяемого к свертке на t-м шаге про­

цесса.

196

Согласно (5.62), имеем:

 

b(l) = { b —b)0 + b=b*

ф(й) =b),

b{2) ^ ( b —b)%2 + b = b,

 

bit] = (b—b)Xt + b=b,

(5.63)

b{d) = b,

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

Величину Xt будем определять из условия максимального уси­ ления ^-свертки [см. (5.44)] на каждом шаге процесса, т. е. из условия:

min

max

[b p

= - ^ - \ со max min (— i— 1 =

о < яг < 1 I < i < nI

ap 1

яt i \ Lp J

= —5—max min а р со max min

— аи )) ^ + а« )). (5.64)

cb

i

к I

i

 

Когда будет получена свертка, которую уже практически не уда­ ется усилить (d-свертка), процесс заканчивается**, а соответствующее

ей значение m.ax Lt определит верхнюю оценку решения и будет одина­

ковым для всех невырожденных переменных (г £ /„). Теперь можно от­ ветить и на второй вопрос — всегда ли будет при оптимальном реше­ нии верно условие (5.58)? — Всегда.

Действительно, допустим, что для некоторой (г = г) вырожденной переменной (г(£ /„) вместо (5.58) имеем:

ürL) = с, или a(rL) <Сс.

(5.65)

В первом случае это означало бы, что ГОФ и ГЦФ совпадают так­ же по координате хг и, следовательно, г — невырожденная перемен­ ная. Это противоречит условию г ф І ж, и потому первое предположение недопустимо. Второе условие тоже недопустимо, так как, согласно

(5.64) {если удастся обеспечить L,- = const

для і £ / н), получим

Li6 /H> L r,

(5.66)

но если предположить, что a[L) <. с, то из (5.57) следует, что

г

или с учетом (5.56)

(5-67)

*Считая 0-свертку слабее любого ограничения, будем всегда иметь Xj = 0.

**Далее увидим, что строгое оптимальное решение может быть получено

только при d ОО.

197

â следовательно:

c b

c b

Li e , < L

(5.68)

л і Г

т. е.

Ж

 

 

2іеі„

 

 

Но (5.68) противоречит исходному неравенству (5.66) и потому недопустимо.

Теперь видно, что условия (5.57) и (5.58) обладают общностью. Они могут быть записаны в более компактном виде:

а р > с ,

і = \,...,п.

(5.69)

Мы довольно подробно остановились на геометрической интер­ претации метода, теперь попробуем подойти к методу СО с формаль­ ных позиций.

Обратимся к анализу величины a\d) (і = 1 ,...,п). Метод СО пред­ полагает, что коэффициенты d-свертки получаются в результате много­ кратного повторения процедуры (5.64), что можно записать в виде функ­ ционального уравнения:

aW = #

jmaxmin {(п ф -1)— a p U , + a p l } ,

(5.70)

t=i

' kt

1

'

 

k =

k(t),

 

i = l , ...,« ,

 

d

где символ R говорит о d-кратном повторении рекуррентной процеду-

/ = 1 d

ры аналогично тому, как символ 2 указывает на необходимость ef-крат- /=і

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

пределах 0-f-l и в процедуре (5.70)

участвует все множество ограни­

чений J т, то величина a\d) может быть записана в виде

некоторой ли­

нейной комбинации коэффициентов а)Ѵ-

 

 

т

 

 

 

 

а</> = 2

Ц В) ау ]’

п,

 

(5.71)

/ =

1

 

 

 

где

 

 

 

 

0 < ЩО)

з Щ 0) = 1,

= Ц ° \ 1 =

{Л,}).

(5.72)

/ = 1

Если левую и правую части равенства (5.71) умножить на коэф­ фициент нормализации rj и ввести новую переменную yjy линейно свя­

занную с переменной 5?jD>, то условие (5.69) примет следующий вид:

а р

=

т

a f у. >

с,

і'~ 1,... ,

я*,

(5.73)

2

где

 

і=і

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У ,-

 

г

- +

т

Vi

г

(5-74)

X(JD)- f = y j ( K )

И 2

 

 

 

 

 

i = 1

 

 

 

* Условия (5.73)

по

существу

являются

условиями

оптимальности

(см. [10], стр. 306—

311).

 

 

 

 

 

 

198

Читатель, знакомый с постановкой двойственной задачи ЛП, воз­ можно, уже заметил, что неравенства (5.73) и принадлежат именно ей. В двойственной задаче минимизируется линейная форма путем выбора вектора Y = {yj}m, но и в методе СО минимизируется линейная целе­

вая функция (5.64) путем выбора вектора Я = {Я ^ , однозначно свя­ занного с вектором Y.

Найдем вектор решения {у}} двойственной задачи. Такое расшире­ ние возможностей метода СО придаст ему самостоятельное значение в решении задач ЛП, но в то же время он не сможет стать сколько-либо опасным конкурентом для метода НФ, поскольку линейное програм­

мирование является

здесь лишь испытанием,

на

котором

метод

НФ должен пройти

практическую проверку,

чтобы

далее с

боль­

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

Определим компоненты вектора Xt { Х р } т = {Xjt}* как функ­

ции вектора Я = {h.t}d- Это можно сделать индуктивным методом в со­ ответствии с рекуррентной процедурой (5.70). В табл. 36 записаны

значения линейных множителей Х р и Х р , которые они принимают в процессе свертывания матрицы ограничений на первом и втором циклах

процесса оптимизации. Используемые в таблице записи Я< и ?4Г> линей­ ных множителей будем считать эквивалентными, учитывая связь (5.60) между индексами. Вторая запись в данном случае более удобна. Вели­

чиной б*Г). обозначается дополнение множителя ЯД7) до единицы:

6ІГ>= 1 — Я£Г), k = \ ..........т.

(5.75)

Первый столбец таблицы соответствует первому

шагу (/ = 1),

в ходе которого 0-свертка комбинируется с первым (наиболее сильным ограничением в соответствии с (5.64). Так как 0-свертка не способна усилить какое-либо ограничение, то АД1’ = 0 (т. е. б)1’ = 1).

На втором шаге первое ограничение войдет в ^-свертку с суммар­ ным множителем б)1) АД1’, а второе—-с множителем б^1’. Поскольку пер­ вые два ограничения уже вошли в £-свертку, а сама £-свертка на 3-м шаге войдет в очередную свертку с множителем ЯД1*, то и коэффициенты при а)Ѵ указанных ограничений следует домножить на величину Яз1’. Третье ограничение включается в свертку впервые и потому умножа­

ется на бз1’ (см. столбец t =

3 в табл. 36).

 

 

Послё первого цикла = 1) все ограничения войдут

в "свертку

и множители Х р могут быть вычислены по формуле**

 

 

 

m

 

 

 

 

О)

П

( 1 )

m.

(5.76)

 

im ■ Х р = 8)

я)

 

 

r = i +

1

 

 

*

Т = 1, .... D — номер

цикла. S S P — SBjt, если

учесть

(5.60).

**

Индекс k (номер ограничения,

которое подключается на f-м шаге про­

цесса), при множителях S S p на последнем шаге цикла (k =

m) будем опускать.

199

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