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

книги из ГПНТБ / Большие системы и управление

..pdf
Скачиваний:
10
Добавлен:
29.10.2023
Размер:
11.27 Mб
Скачать

80

Излагаемый ниже алгоритм поиска квазиоптимальных решений отличается наличием соображений» подтверждающих целесообраз­ ность выполняемых операций* Кроме того» данный алгоритм допу­ скает предельно простую реализацию для вычислений на ЦВМ и требует минимума операций*

Рассматриваемой задаче может быть дана следующая геометри­ ческая интерпретация*

Своими разложениями по координатным осям даны п векторов:

<*» = ап Ч + atzLz + •• • + <*,„

,

_

__

5г= °21 1)г+ ^22 ^2*^"* *• + 0,2Л6Л7

1!

° п , Ч +

1 г + ’ + ^п п Ln

Пользуясь координатами данных векторов» требуется построить вектор Ъ{б7, 62 , . . . , 6^, проекция которого на ось, совпадаю­ щую с вектором с{/,...,/}» была бы наибольшей, т.е.

b С = Ьг+ Ьг+

+ Ьп = max

При этом

 

 

 

 

Ъ] ^

( о и 1 Q21

*

• ' ^ Qт ) ’

^2 ^

( ° п ^ 2 2 7**’ 7 апг) 1

^

1п 7 Q 2 п ч • • • 9 Q п п ) 9

и выбор должен быть произведен так,

чтобы все выбранные коор­

динаты принадлежали разным векторам*

Исходя из этой интерпретации,

 

можно производить выбор про-

екций

b путем сравнения проекций векторов а7,а 2,...,а„на оси,

совпадающие с проекциями Ъ на плоскости ( Тк ,

I к + 1)

, т.е.

на оси,

совпадающие с векторами

Ък ~ 1к+ Тк+1.

Иначе говоря,

представляется возможным производить выбор координат

Ък и

путем сравнения суш вида

 

 

 

где

 

° h i *

aj.m

 

 

I Ф /77 ,

U /77 е

п ) .

 

 

 

 

 

81

На этом и основан предложенный В.И. Чернецким алгоритм на­ хождения квазиоптималъного плана»

Данный алгоритм в применении к матрице

а п

а п ' *

о,п

a2j

°22 * *

°г П

А||=

 

 

 

а п, а Р2 ‘ * * ^пп

заключается в следующем.

П е р в ы й ша г а л г о р и т м а. С левого верхнего угла исходной матрица начинают подсчет и сравнение сумм вида

°11 + й 22

и

а ,2 + azi

Си + ^33

и

а,ъ + аз<

аП+ апп

и

ат + ° п , •

Если

а п + а кк ^ а }к + ак1,

то матрицу

А оставляют без

изменений* Если же ar1 + акк q 1k + ° к1 *

то меняют местами

первую и

к -ю строки матрица* В результате конечного

числа

преобразований имеем матрицу

 

 

 

 

 

 

ап

ап .. ■ а т

 

 

I I

7

О 22 • •

а 2„

 

 

а21

 

 

-

а м’ ' -

 

 

 

 

 

 

& п п

 

полученную в результате перестановки строк матрицы || А||

, и та­

кую, что

 

 

 

 

 

 

 

а , , + а г г & 0 1г+ а 27 f

 

 

 

а ’,г+ а 'зз *=

aJ3+ а319

 

 

а'п + а'пп^ ат + а Pi *

После этого, считая, что в левом верхнем углу матрица ||л,| стоит число о\)9 представляющее компоненту искомого вектора 5 , вычеркиваем первую строку и первый столбец матрица ||Д?|| и рас­ сматриваем матрицу

82

ч =

а гг

а 2з • •

° 2 п

°32

° з з * •

а зп

 

а пг

а пз *

'' * в п п

Второй шаг в точности повторяет первый шаг с той разницей, что все действия производятся над матрицей || Аг|| п -1-го по­ рядка*

Каждый следующий шаг представляет собой точную копию пре­ дыдущего над матрицей все более низкого порядка*

В результате /? - I шагов у нас определятся п чисел, пред­ ставляющих квазиоптимальное решение* Анализ показывает, что в наиболее благоприятном случае для отыскания квазиоптимального решения требуется ( п - I) п простых операций (сложения

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

ется произвести Сп2 таких операций,

где 3/2 ^

С ^ 20.

Проведем краткий анализ алгоритма* Если переставить строки

матрицы ||А || так, чтобы найденные нами

п чисел разместились по

главной диагонали, в том порядке,

в котором они были найдены,

то получим матрицу

 

*

*

 

 

*

 

 

 

 

■■

 

 

а 11

а п

а,„

 

 

Q *

Q21’

 

 

 

и 21

 

 

 

 

*

 

*

 

*

 

 

 

Ощ

а п2 • ’ *

^ПП

 

Для этой матрицы,

по способу ее получения,

одновременно

выполняются следующие

/ 7 - 1

групп неравенств:

 

а» + а ? 2

М-

+

 

М

 

 

а п

° 21 9

 

 

а п +

а зз

а,*з + а 31 9

 

 

 

 

°1п +

 

м-

 

 

а и +

а * п п

йп! 9

 

 

а\г+ ° з з >

Mr

+

а *зг

 

 

°23

 

 

СГгг+ a U

а гч- +

а*г>

 

 

83

Просуммировав неравенства,

входящие в каждую грушу,

поду­

чим л - I новых неравенств:

 

 

 

 

 

 

(n-i)a*„+ £

а*кк ^

к

 

+ а *,) ,

 

к = г

 

 

 

 

 

 

 

 

(л ~2) Or2 2 + S

 

21

£

( ^ 2 + ®кг ) 9

 

к=3

 

к=3

 

 

 

 

 

 

^ /7-7 л-7 + ®ПП ~

^ Л-7 п ^ ^ Л П~1

 

Просуммировав все

л - I неравенств, получим

 

( * - / ; £

О ^ Е Е

а*.-

d

.

 

 

к-1

 

к=1 j=7

 

 

 

Из этого неравенства следует неравенство

 

 

п

 

п

 

п

 

 

 

 

п £ а*кк ^ £ £ <г£ •

 

 

 

К=1

 

/с=7

^= 7

 

 

 

 

Деля обе части его на п г ,

получим

 

 

 

7

п

 

л

 

п

п

 

 

 

'

Г— *

/72

k=7

J = 7 *<*

 

лЕал*

 

 

 

 

+Гг

£

£

 

 

 

Итак, в результате применения алгоритма матрица ||д ||

была

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

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

 

 

G p + i р + 1

Q p + i р + г

Q p + i п

А *

II

=

 

 

п п - р у

 

 

 

 

 

а п р + г

а п р * г

& п п

порядка п - р 9 полученной из матрицы || А*\\ вычеркиванием первых р строк и столбцов.

84

Таким образом, средняя величина диагонального члена матри­ цы || А - Р|| больше или равна средней величине общего члена этой

матрица* Аналитически это выражается так:

/

п

а кк -

Л

 

 

е

е .

*

Е

 

 

ki '

Л-р

к=р-1

(П-Р)

k:p*1 j-p+1

Приведен пример применения алгоритма*

 

Пример I . Рассмотрим матрицу

 

 

 

 

 

3

4

2

2

1

 

 

 

 

4

5

3

1

3

 

 

 

 

4

3 I

I

I .

 

 

 

 

3

1 2

2

2

 

 

 

 

I

3

I

2

I

 

 

Применим к ней алгоритм*

 

 

 

 

 

 

П е р в ы й

 

ша г .

Так как

 

 

 

 

 

3

+ 5 = 4 + 4,

 

 

то никаких преобразований в матрице не делаем* Далее

3 + I < 4 + 2.

Поэтому переставляем местами первую и третго строки матрицы:

4

3 I

I

I

4

5 3

1

3

3

4 2

2

1 .

3

1 2

2

2

I

3 I

2

I

Проводим все операции над этой матрицей:

4-1-5

> 4 + 3,

4

+ 2

> 3 + 1 ,

4

+ 2

> 3 + 1 ,

4 + 1

> 1 + 1.

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

85

 

5

3

1 3

 

4

2

2

1

 

1

2

2

2 *

 

3

1 2

1

В т о р о й шаг*

Действуя,

как и прежде, получим нера­

венства

 

 

 

 

5

+ 2 = 4 + 3,

5

+ 2 > I + X,

5

+ I « 3 + 3.

Второй шаг закончен.

Считаем,

что число 5, стоящее во вто­

ром столбце второй строки исходной матрица, является второй ком­ понентой искомого решения.

Т р е т и й шаг . Рассматриваем матрицу

2

2

1

2

2

2 .

I

2

I

Снова, действуя, как и прежде, получим неравенства

2 + 2 = 2 + 2,

2+ I ^ I + I.

Врезультате третьего шага получим, что число 2, стоящее

втретьем столбце первой строки исходной матрица, является третьей компонентой искомого решения.

Ч е т в е р т ы й ша г . Рассматриваем матрицу

2 2

2 I

Для нее имеем

2 + I < 2 + 2 .

Поэтому меняем местами строчки и получаем матрицу

2 I

2 2

Имеем только одно неравенство

2 + 2 > 2 + 1 .

Таким образом, числа 2, стоящие в четвертом столбце пятой стро­ ки и в пятом столбце четвертой строки, являются недостающими компонентами искомого решения.

86

Перестроим исходную матрицу таким образом, чтобы найденное решение располагалось по главной диагонали:

2

4

3

1

2

3

5

4

3

1

1

3

4

I

I .

2

1 3

2

2

I

 

3 I

I

2

Найденное решение

S = 2 + 5 + 4 + 2+ 2 = I 5

является оптимальным.

В результате анализа рассмотренного примера можно сделать следующие выводы:

1.Алгоритм весьма удобен для его реализации на вычисли­ тельных устройствах, Это обстоятельство является важным досто­ йнотсвом данного алгоритма, так как все известные алгоритмы решения рассматриваемой задачи встречают те или иные трудности при их машинной реализации. Сами операции достаточно просты: сложение и вычитание двух чисел.

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

4

1 3

 

2

2

5

3

4

3

1

3

1 4

 

1 ! . .

1

2 3

2

2

3

I

I

I

2

5 = 4 + 3 + 4 + 2 + 2=15 .

4

2

 

3

1

2

5

3

I

4

3

1

3

 

4

I

I .

1

 

2 3

2

2

3

 

I

I

I

2

S = 4 + 3+ 4+ 2+ 2=15 .

87

Кроме того, было получено три квазиоптимальных решения, перестроенные матрицу которых имеют вид:

4

3

I

I

I

I

5

3

I

3

3

I

2

2

2 ,

3

4

2

2

I

I

3

I

2

I

S = 4 + 5 + 2 + 2 + I = 14.

4

3

I

I

I

I

3

I

2

I

3

4

2

2

I .

3

I

2

2

2

4

5

3

I

3

S = 4 + 3 + 2 + 2 + 3 = 14.

3

I

2

2

2

4

3

I

I

I

3

4

2

2

I .

I

3

I

2

I

4

5

3

I

3

S = з + 3 + 2 + 2 + 3 = 13.

Никаких других решений при применении данного алгоритма

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

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

Перестроенная матрица, содержащая по главной диагонали од­ но из оптимальных решений, имеет вид:

 

 

88

 

 

5

4

3

1

3

3

4

I

I

I

1

3

2

2

2 .

3

I

I

2

I

4

3

1 2

 

2

Для нее, естественно, выполняются все неравенства, рассмот­ рение которых подразумевается предложенным алгоритмом* Рассмот­ рим нестрогие неравенства (равенства), которые содержит матри­ ца. Таких равенств только одно:

5 + 2 = 3 + 4.

Если теперь поменяем местами первую и последнюю строки, содержащие рассматриваемые числа, то получим другое оптималь­ ное решение, матрица которого имеет вцд:

 

4

3

 

1 2

 

2

 

3

 

4

I

I

I

Аг

1

 

3

2

2

2

 

3

4

I

I

2

I

 

5

 

3

1

3

Эта матрица имеет два не строгих неравенства (равенства): - содержащее те же элементы, что и предыдущая матрица:

4+ 3 = 2 + 5;

-состоящее из элементов третьей и пятой строк

2+ 3 * 2 + 3.

Если мы поменяем местами эти строки, то подучим матрицу, содержащую последнее оптимальное решение:

 

4

3

1 2

 

2

 

3

4I . I

 

I

Лз

5

4

3

1 2 .

3

I

I

2

I

 

 

1

3

2

2

2

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

Пр и м е ч а н и е I . То обстоятельство, что матрица

А2 , полученная из матрицы А 1 путем перестановки двух строк,

оказывается также удовлетворяющей условиям алгоритма (для

Д2 это сразу устанавливается непосредственной проверкой),

вероятно, является признаком

того, что решения, стоящие на

главных диагоналях Aj и Аг ,

являются оптимальными.Тоже самое

89

относится и к матрице А39 пожученной из матрица Агтакже

перестановкой двух строк.

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

решение.

4. Два из трех полученных оптимальных решений: £ = 4 + 3 + 4 + 2 + 2 (Аг),

S = 4 + 3 + 4 + 2 +2 (А3)

очень интересны тем, что не содержат независимого элемента - числа 5,Таким образом, независимые элементы не являются обяза­ тельными компонентами оптимального решения.

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

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

дит Спг (где 3/2 - С

20), в то время как другие методы,

например венгерский,

требуют выполнения Ct п 3 (где 5< С1с 30)

операций. В рассмотренном выше примере матрицы 5-го порядка

пришлось сделать 39 арифметических действий, из которых 26 сло­ жений двух чисел и 13 сравнений двух чисел ( С =1,56).

При нахождении оптимального решения венгерским методом для данного примера потребовалось бы в 4 - 5 раз больше арифмети­ ческих действий.

7. В связи с относительно небольшим числом операций, тре­ буемых для отыскания квазиоптимальнсго решения, предложенный алгоритм может найти применение при нахождении оптимальных ре­ шений матриц высокого порядка на ЦВМ. Экспериментальная провер­ ка подтверждает высокую эффективность алгоритма для больших матриц. Так, для матрицы 50-го порядка при помощи данного алго­ ритма и разумно построенной программы удавалось найти квазноптимальное решение за время, не превосходящее 1 - 2 мин. При этом отличие найденного квазиоптимального решения от оптималь­ ного не превосходило 2 - 3 $ .

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

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