книги из ГПНТБ / Берзин Е.А. Оптимальное распределение ресурсов и элементы синтеза систем
.pdfСоотношение между перечисленными этапами может быть различ ным. Для задач, которые решаются на основе проверенных алгорит мов, все решение практически сводится к выполнению второго этапа. Чем менее обоснован метод решения, тем больше внимания должно от водиться третьему и четвертому этапам. Общая эффективность реше ния будет складываться из эффективности решения задач каждого эта па, поэтому рассмотрим каждый этап подробнее.
Предварительная обработка задачи. Основной целью данного этапа является анализ исходных условий задачи, выбор метода реше ния и приведение задачи к виду, удобному для решения выбранным методом. В некоторых случаях размерность задачи может быть умень шена проверкой на явное доминирование [см. (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 может привести только к ухудшению оценки (если XФ 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