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

книги из ГПНТБ / Голенко Д.И. Статистические модели в управлении производством

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

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

при невыполнении условия

управления передается на К19,

 

 

 

 

 

 

 

Л и — увеличивает величину /

(из у7 )

на

единицу;

 

Л 1 5

1)

в ячейку Y7 засылает

величину

j — i + 2,

где

содержимое Ye! 2) увеличивает і на единицу;

 

 

і Л 1 6

— выделяет и сравнивает блоки, порядковые

номе­

ра которых і и / указаны в ячейках

у& и у7. Для

этого:

1) по і и / определяются соответствующие

(см. Аи)

 

зна­

чения

а,і и ау,

2) последовательно для

каждого элемента

tj из блока

ш

вычисляется

Л я

'

{U)=aat-

II

azt-

и

on-

 

 

 

 

(Xj

 

 

-

 

 

рєделяется

элемент t*, для

которого AaJ

достигает

мак­

симума; аналогично для каждого tj из блока a,j вычисля­

ется величина AaJ

(tj) =аа-.(.

—aa.t.

 

и находится

эле-

 

 

Й£

J J

і

J

 

 

 

 

 

мент

t* , для которого эта величина

наибольшая

(если

таких

элементов несколько, то можно взять

любой из

них);

вычисляется

A(i\, t))=A^

{ft)+A%

 

{t*).

 

Pn

— проверят

условия

A(t*,

t*

) > 0 .

Если

Л ^ О ,

то путем транспозиций любых элементов,

содержащихся

в блоках т и а,,

последовательность улучшить

невозмож­

но и управление

передается

на Р\2,

если

Л > 0 ,

то — на

Л 1 8

— производит транспозицию

элементов

t'l

и

t'*} а

последовательности из уь устанавливает признак «еди­

ница» и заносит в у8 элементы t*

и

t*;

 

/Сіз •— увеличивает значение

п — количества

проана­

лизированных вариантов на единицу;

 

Р2о—проверяет

условия n<N,

 

где п из Y4> а

N — за­

данное количество анализируемых

вариантов;

 

Я21 — печатает результат из узКонец.

По описанному алгоритму составлена программа для ЭВМ «Минск-22». Расчеты по данной программе показа­ ли, что К — отношение количества реализаций, необхо­ димых для получения одинаковых результатов методом

Монте-Карло с

использованием данного

алгоритма,—

резко возрастает

с ростом

отношения— . Для

m

=S~o,

r

 

r

r

 

m

 

n.<10

и

A/ = 20

получена

характеристика

этого

отноше-

 

п

ния [2.12] А, = 2,5 т . Если учесть, что для практических за-

дач

очередности, как правило, —

выражается двузнач-

 

 

 

 

 

т

 

 

 

 

ным

числом,

то преимущество

метода

транспозиций в

этих

случаях

становится

очевидным. Вопросы

выбора

величин

JV И б в общем

случае

зависят

от размерности

задачи,

располагаемого для ее решения

времени

и целе­

сообразности

улучшения

достигнутого

результата.

В заключение параграфа следует отметить, что метод

транспозиций

является

достаточно

эффективным для

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

в несколько раз

превышает количество строк. Если

т соизмеримо

с п, то

более эффективным является метод перемещения крити­

ческих столбцов. Дл я отсеивания

неперспективных

вари­

антов в этом случае можно использовать результаты

сле­

дующей теоремы.

 

 

 

 

 

 

 

 

 

 

Теорема

4. Пусть

элемент

4 последовательности

л —

= (іь к , - - - ,

i n )

разделяет

блоки

(ih-j,

... , ik-l)

 

 

и

{ik+u • •.,

ik+t)®1,

тогда

для последовательности

 

Яі =

— (Ч. • • • . ih-U

ih+U

• . . , tft+r,

ih,

ih+r+\,

. . . , in),

Г Д Є О ^ Г ^ t,

И Я 2 = ( г ь . . . ,

ih-j+r-l,

ih, ik-j+r,...,

 

ih-1, 4 + 1 , . . . ,

i n ) ,

где

0 ^ > < / , имеют место соотношения:

 

 

 

 

 

^(.n,)<f.(n)=>

2 + Г

( f l a , i j

- a a l i j ) > 0 ;

 

(2.6.8)

F(n2)<F(n)

 

= >

S 1

( a a i i j

- a a 2 i j ) > 0 .

 

(2.6.9)

 

 

 

 

j—h—i+r

 

 

 

 

 

 

 

Вычислительная процедура метода перемещения кри­

тических столбцов,

как и

метода

транспозиций,

заклю­

чается в анализе ряда отсортированных случайных пере­ становок. В процессе анализа рассматриваются после­ довательно все блоки с обрамляющими их критическими столбцами; при этом внутри блока находится такой эле­

мент, который обеспечивает максимум

правой

части

(2.6.8) (соответственно ( 2 . 6 . 9 ) ) ,

а затем

осуществляется

переход от перестановки

л к я г

(соответственно,

яг) и

определение критического

пути

для яі

(либо Яг). Этот .

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

блоки. В первом случае

по описанной схеме

анализиру­

ется новая перестановка

(т. е. Яі либо яг), а во втором —

генерируется случайная

последовательность

элементов

и определяется целесообразность ее дальнейшего анали­ за. После некоторого наперед заданного числа таких ша-

Ш

гов вычисления обрываются и фиксируется последова­ тельность, на которой был достигнут наилучший резуль­ тат. Для матриц, у которых т < й < 3 т , вероятно, имеет смысл проводить анализ каждой последовательности ме­ тодом транспозиций и методом перемещения критиче­ ских столбцов одновременно. Такого рода вычислитель­ ная процедура увеличивает «глубину» анализа критиче­ ского пути, но объем вычислений при этом значительно возрастает. Вопросы целесообразности совместного ис­ пользования описанных алгоритмов и характер такого сочетания требуют дополнительного исследования. В опи­ санных выше алгоритмах каждая новая случайная пере­ становка из <п элементов формируется так, что ее вероят­ ность равна — . Естественно, что любой из эффективных

методов целенаправленного случайного выбора может повысить эффективность предлагаемых методов. Целесо­ образно, например, чтобы оператор Ф 2 реализовал цеп­ ной метод Монте-Карло либо использовал опробованные метрические подходы, изложенные в § 2.5 настоящей главы.

§ 2. 7. Вероятностные методы решения одномаршрутных задач очередности с матрицей, близкой к квадратной

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

Рассмотренные в предыдущем параграфе статистиче­ ские методы решения одномаршрутных задач достаточно

эффективно

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

в исходной

матрице, однако их применение ограничилось

задачами, для которых

п^$>т. При n = m и п<т эффек­

тивность этих методов

снижалась до величины 6 = 1 ,

т. е.

была равна эффективности метода Монте-Карло.

 

Вероятностные методы решения одномаршрутных

за­

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

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

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

Сформулируем общий подход к решению задач оче­

редности вероятностными методами.

 

 

 

 

Рассмотрим

некоторые

числовые функции

Х(и)

и

У {и), заданные

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

элементов

U.

Элементами и множества

U(u^U)

могут

быть

всевоз­

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

ми функциями

Х(и)

и

Y(u)

существует

статистическая

связь, которая

выражается в

существовании некоторой

монотонно возрастающей (убывающей) функции f,

такой,

что для некоторого случайного

значения « є [ /

при фик­

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

6> 0 и е > 0

имеет

место

соотношение

 

 

 

 

 

 

 

 

 

P{\Y(u)-f[X(u)]\<S}>l-E

 

 

 

 

(2.7.1)

Предположим, что известна величина иу*,

доставляю­

щая минимум (максимум) функции Y(u) (IK=U),

 

и для

любого а существует

эффективный метод

выделения из

U такого подмножества

UG, для которого

 

 

 

 

 

\Y(u)-Y(u;)\^a

 

 

 

 

 

 

И

 

U^Ua

 

 

 

 

 

 

 

| Y(u)

— У(и*) | > а •

 

 

 

( 2 J - 2 )

Из (2.7.1)

и (2.7.2)

следует,

что элемент

 

 

при

котором достигается

экстремум

функции

Х(и),

с

веро-

(S. д. и. Голенко

ятностью

р > 1 — - в принадлежит множеству

Uа,

где

а =

= 26. Для этого случая имеет место оценка

 

 

 

 

 

 

X(u')>f-*(Y(u*y)-8)

 

 

..

 

 

(2.7.3)

Другими словами,

элемент

иу*

является

приближен­

ным значением величины их*,

а элемент их*

находится в

некоторой

окрестности

(имеется в

виду,

что топология

на U вводится с помощью множеств Ua)

элемента

иу*.

Методика

поиска их*

в этих условиях

заключается в

выделении

и

просмотре

последовательности

подмно­

жеств Uai,

Ua2\Uai,..

.,Ua:\

иак_г

,

где

а і < а 2 < а з <

< . . . < « *

и,

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

Uai cz(7a 2

а ...

aUaic.

 

Воз­

можен и другой подход, при котором используется метод случайного поиска, осуществляемого в окрестности Un, где величина а определяется в зависимости от /, необхо­ димой точности и других факторов. Чтобы воспользовать­ ся описанным подходом к решению задач очередности, необходимо прежде всего найти функцию, обладающую свойствами, аналогичными Y(u).

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

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

Mf(l, Л я , ) = т і п Mj(l,AJ

(2.7.4)

Обозначим сумму длин всех путей произвольной мат­ рицы Л через ф (Л). Так как все матрицы Ал при я є П имеют одинаковое возможное количество различных пу­ тей, которое подсчитывается как число сочетаний из т + + я—2 элементов по т — 1 элементу, то в силу равнове­ роятности выбора каждого отдельного пути решение сформулированной задачи эквивалентно определению перестановки я*, для которой

ф ( Л я , ) = т і п < р ( Л я ) •

(2.7.5)

Чтобы определить ф(Л), можно вместо суммирования длин всех путей использовать сумму произведений каж­ дого элемента a-ij на величину Ьц — количество различ­ ных путей матрицы А, включающих элемент а^, тогда

тп

ф ( Л )

= 2

2 ciijbij

(2.7.6)

 

г =1

j = l

 

 

Если учесть, что любой путь из оц в at j может быть

независимо соединен с любым путем из ац в атп,

образуя

путь из flu в атп, то получим

 

 

 

 

г—1

т—г

 

(2.7.7)

bij = C{+j_2 • Сда+п—г—j •

В дальнейшем через S обозначим

m X n — матрицу с

элементами Ьц, вычисленными по (2.7.7); через

Ь)=(Ь^,

bzj, • • •, bmj) — вектор,

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

которого

являются

элементы /-го столбца

матрицы В. Соотношения (2.7.6)

и (2.7.7) дают возможность вычислить значение ср(Л). Обозначим через Л / матрицу, /-й столбец которой сов­

падает с і-м столбцом исходной матрицы А, а все осталь­

ные

элементы

являются

нулями; через

ац=(ан,

а 2 г, ... ,

аПгі)

— вектор,

координатами которого являются

элемен­

ты і-го столбца

матрицы А. Из (2.7.6) следует, что

 

 

 

ф ( Л Ь = ( й г Д ) ,

 

_ J 2 - Z _ 8 )

где

(йі,

bj) — скалярное

произведение векторов

а.\ и by

Так

как

из

А=А{2

следует, что

<р(Л) =<р(Лі) 4-

+<р ( Л 2

) , и для произвольной последовательности столбцов

я =

І2, • • •,

in) имеет

место равенство An — ^Aj

*., сле-

довательно,

 

 

 

 

 

 

 

 

 

Ф ( Л Я ) = 2

Ф ( Л . - * ) = 2

ТІ)

(2.7.9)

 

 

 

h = i

 

ft=i

 

 

 

 

Рассмотрим

матрицу

Г = Л ' 5

( Л ' транспонирован­

ная матрица)

 

размерности пХп,

элементы іц

которой

 

 

 

 

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

равенству

ta={au

bj).

 

ц>(Ал)

 

Из

(2.7.9)

следует,

что для получения

необхо­

димо просуммировать п элементов матрицы Т по одному

из каждого столбца и каждой

строки так, чтобы элемент

Uj включался в сумму, если

в перестановке я этот эле­

мент занимал /-е место. Для определения л*

необходимо

8:

115

Минимизировать на множестве п\ возможных вариантоз сумму, составленную из элементов матрицы Т, взятых по одному из каждого столбца и каждой строки. Таким образом, задача о перестановке, минимизирующей мате­ матическое ожидание длины пути, сводится к задаче о назначениях [2.15], для решения которой разработаны достаточно эффективные алгоритмы, а математическое ожидание длины пути в данной задаче является анало­ гом функции Y(и).

Рассмотрим алгоритмы приближенного решения одномаршрутных задач очередности, основанные на опи­ санных выше методах, эвристическое обоснование кото­ рых заключается в следующем. В задаче очередности необходимо отыскать такую перестановку столбцов, при которой длина максимального пути достигла бы миниму­ ма. Поскольку каждому пути (в том числе и критическо­ му) на матрице соответствует определенное число «со­ седних» путей (т. е. путей, включающих элементы рас­ смотренного пути), то увеличение длины любого пути приведет к увеличению длин некоторого количества «со­ седних» путей и в результате к увеличению математи­ ческого ожидания длины пути. Другими слова-ми, между критическим путем матрицы F (А) и суммой длин всех путей ц>(А) должна существовать положительная корре­ ляционная связь. Поэтому естественно предположить, чго перестановка я*, обеспечивающая минимум величины ф ( Л я ) , дает достаточно хорошее приближение решения задачи очередности и, наоборот, точное решение задачи очередности необходимо искать среди приближенных ре­ шений задачи минимизации математического ожидания.

Проверка гипотезы о наличии статистической связи между указанными задачами осуществлялась с помощью специальной программы [2. 14], в соответствии с которой для каждой случайной перестановки рассчитывались ве­ личины критического пути и математического ожидания длины пути, после чего осуществлялся переход к новой перестановке столбцов. После просчета определенного количества вариантов подсчитывались дисперсии ука­ занных величин и коэффициент корреляции. Расположе­ ние 200 точек, последовательно рассчитанных для тесто­ вой задачи 20X20, показывает наличие корреляционной связи между функциями. Почти аналогичная картина была получена для тестовой задачи 10X50.

Рассмотрим Два способа решения задачи очередности вероятностными методами.

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

ных помех не имеет значения. Алгоритм

1 может быть

использован также в сочетании с методами

транспозиций

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

 

 

Вычислительная процедура

алгоритма

заключается

в следующем.

 

 

Этап 1. Определяются все элементы матрицы В в со­

ответствии с формулой (2.7.7),

в которой

значения m и

п определяются по исходной матрице А. Если окажется,

что

&п>106 ,

то необходимо

подобрать такую константу

с ( 0 < с < 1 ) , чтобы с £ ц < 1 0 6 , и произвести

пересчет

осталь­

ных элементов матрицы, применяя масштаб с.

 

 

пхп

Этап 2. Вычисляется квадратная матрица Т—А'В

из

элементов.

 

 

 

 

 

Этап 3. Решается задача

о назначениях [2. 15], т.

е.

определяется

последовательность n*=(i\,

h,...,

in)

из

элементов 1,

2, ... , Л, минимизирующая

величину

2 ^ . ^

Этап 3 завершает вычисления, а перестановка я* прини­ мается в качестве приближенного решения задачи оче­ редности.

П р и м е р . Пусть задана

матрица

 

 

 

 

 

2

 

5

6

 

12

7

 

 

 

3

1

25

15

3

6

5

 

 

А =

23

12

1

8

3

5

7

 

 

 

16

2

4

5

10

15

20

 

 

 

6

13

20

30

 

4

0

 

1. В

соответствии с

(2.7.7)

определяем матрицу

 

330

210

126

70

 

35

15

5

1

 

120

168

168

140

 

100

60

28

8

В

36

84

126

150

 

150

126

84

36

 

8

28

60

100

140

168

168

120

 

1

5

15

35

70

126

210

330

2. Вычисляем матрицу Т=А'В

1982

3334

4704

58.0

6480 6552

5974

4754

3221

2977

3003

3155

 

3370

3666

4142

4978

4738

5546

5496

5100

 

4785

4893

5681

7321

4138

4742

5034

5270

5710

6618

8262

10914

1873

1901

2961

2325

2640

2928

3086

3986

4984

4388

4110

4070

 

4150

4194

4008

3360

3322

3458

3804

4140

4595

4647

4123

2699

6315

5787

5385

5145

5100

5280

5712

6420

3. Решаем задачу о назначениях

с

весовой матри­

цей Т. Дл я этих целей была

использована

программа ре­

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

Минимум

математического

ожидания длины пути получен на перестановке п =(1,4 , 2,5,8,3,6,7), соответствующей значению 77 Я ) = 137.

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

метода Монте-Карло, которая

заключается

в способе

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

каждой

новой

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

Порядок вычислений (после

выполнения

этапов 1 и

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

 

 

 

Этап 3. По

алгоритму

Форда

[2.26]

вычисляется

F(A). Значение

F(A)

и

исходная

последовательность

столбцов заносится в специальные ячейки памяти ЭВМ,

содержимое которых в

дальнейшем

обозначается

через

Fj и щ.

 

 

 

 

Этап 4. По

матрице

Т вычисляем

матрицу R

с эле­

ментами Гц =

= 1,2,..., п).

 

 

Этап 5. Определяем номер i\ элемента, стоящего на первом месте последовательности я = (t'i, 1*2, in). Для этого:

п

Шаг 1—определяем rx = 2rix. Генерируем равномерно

/=1

распределенную на (0,1) случайную величину а. Прове­

ряем

условие аг\>гп.

Если

оно

не выполняется, то:

1)

в матрице R на местах

гц

(/ = 1, 2, ... , п) записыва­

ются нули; 2) присваиваем ix значение 1 и переходим к

этапу 6. Если условие агхп

выполняется, то

переходим

к шагу 2.

 

 

агхп21.

 

 

 

 

 

 

Шаг 2 — проверка условия

Если

условие

не

выполнено, то:

1)

в матрице

R

на

местах

r2j

(/ =

=

1, 2, ... , п) записываются нули; 2)

присваиваем

i\

зна­

чение 2 и переходим

к этапу 6.

Если условие

выполняет­

ся

(т. е. a r i > r n + r 2 i ) ,

то переходим к шагу 3,

и т. д.,

цо

шага k.

 

 

 

 

 

к

 

 

 

 

 

 

Шаг k — проверяем

условие

 

 

Если

оно

не

 

аГі>Игц.

выполняется, то: 1)

в матрице R

на

местах rhj

( / = 1 , 2 , . . . ,

п) записываются нули; 2) присваиваем i\ значение k и переходим к этапу 6. Если условие выполнено, то перехо­ дим к шагу k + 1, и т. д. Так как а ^ ' 1 , то в худшем случае через п шагов этот процесс оборвется и мы перейдем к этапу 6.

 

Этап 6. Определяем номер i2 элемента, стоящего на

втором месте в перестановке я. Последовательность

ша­

гов

этапа

б

аналогична последовательности

шагов

эта-

 

 

 

к

 

п

 

па

5. На

k-м

шаге проверяется аг2>1,Гі2

(r^'Er^).

Если

 

 

 

i=i

 

i=i

 

условие не выполняется, то: 1) в матрице

R на местах

'"л/ ( / = 1 , 2 , . . . , п) записываются нули; 2)

присваивается

i2 значение k и осуществляется переход к этапу 7. Если условие выполнено, то переходим к шагу k+l.

Последующие этапы имеют аналогичную последова­ тельность операций. На (п + 4) -м этапе формирование по­

следовательности я = ( і ь

і 2 , i n

)

заканчивается.

ве­

Этап (п + 5).

Определяем (по

алгоритму

Форда)

личину F(An).

Проверяем

условие

F(An)<Fj.

Если

оно

соблюдается, то величины

F(An)

и я заносятся в ячейки

памяти вместо ранее записанных Fj и щ, а затем осу­ ществляется переход к этапу 5. При невыполнении усло­ вия F(A„)<Fj переход к этапу 5 выполняется сразу.

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

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