Файл: Голенко Д.И. Статистические модели в управлении производством.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.04.2024
Просмотров: 167
Скачиваний: 0
в отборе некоторой части случайных перестановок й улуч шении каждой из них. Для этого исследуемая переста новка разбивается на блоки, которые затем анализиру ются путем попарного сравнения. Первый блок последо вательно сравнивается со вторым, третьим и т. д. до по следнего блока, и, если при этом ни на каком шаге не об
наруживается лучший вариант, то далее второй |
блок |
|
сравнивается последовательно с каждым |
из следующих |
|
за ним блоков и т. д., пока не произойдет |
сравнение |
пред |
последнего блока. Этот процесс прерывается либо тогда,
когда обнаружена лучшая перестановка, |
которая затем |
в таком же порядке анализируется, либо |
после оконча |
ния просмотра всех блоков. При описании алгоритма принцип выбора случайной перестановки из п элементов, а также способ определения критического пути и крити ческой последовательности элементов (алгоритм Форда) считаются известными.
|
Фигурирующие в описании специальные ячейки памя |
|||||||
ти |
имеют следующие условные обозначения: |
|
|
|||||
|
М-—массив, содержащий элементы исходной матри |
|||||||
цы |
lloijll; |
|
|
|
|
|
|
|
|
у0 — ячейка, |
в которой хранится величина F— про |
||||||
межуточное значение критического пути; |
|
|
|
|||||
|
у\ — рабочее |
поле перестановки, с помощью которой |
||||||
была получена величина F; |
|
|
|
|
|
|||
|
У2 — ячейка, |
содержащая |
значение |
Fy —наимень |
||||
шую из достигнутых величин критического пути; |
|
|
||||||
|
уз —• поле, сохраняющее перестановку, на которой |
по |
||||||
лучено значение Fy ^; |
|
|
|
|
|
|||
|
Y4 — ячейка, |
отведенная для счета количества проана |
||||||
лизированных вариантов (случайных |
перестановок); |
|
||||||
|
Y5 — ячейка, в которую заносится |
величина К — коли |
||||||
чество блоков в перестановке из у и |
|
|
|
|
||||
|
уе — ячейка, |
сохраняющая |
величину |
і — номер |
пер |
|||
вого сравниваемого блока; |
|
|
|
|
|
|||
|
У7 — ячейка, |
сохраняющая |
величину |
/ — номер |
вто |
|||
рого сравниваемого блока; |
|
|
|
|
|
|||
|
Y8 — ячейка, |
сохраняющая |
номера |
переставляемых |
||||
столбцов. |
|
|
|
|
|
|
|
|
|
Действия операторов заключаются в следующем: |
|
||||||
|
Л[ — записывает |
в М исходную матрицу \\а^\\, |
в ячей |
|||||
ку |
у2 заносит число, |
которое |
заведомо |
больше |
любого |
пути на llaijll;
|
Ф2 — формирует случайную перестановку п= |
t2 , |
..., |
|||||||||
i7l), |
которая и засылается |
с признаком |
нуль в |
уи |
|
|
||||||
М |
Л 3 |
— по перестановке |
я |
из |
YI и |
исходной |
матрице |
из |
||||
определяет |
критический |
путь F(n) |
(прямой ход алго |
|||||||||
ритма Форда). Величина F посылается в YO; |
|
|
|
|
||||||||
|
РА — проверяет условие |
F<.F^ |
(т. е. F |
сравнивается |
||||||||
с содержимым |
ячейки у2). |
Если F<F-i2, |
то |
управление |
||||||||
передается оператору As, |
при |
F^F^—оператору |
|
Ре; |
||||||||
|
А5 |
— величину F засылает |
в ячейку |
Y2, а |
последова |
|||||||
тельность я — в рабочее .поле уз; |
|
|
|
|
|
|
||||||
|
Лз |
сравнивает признак перестановки |
из Yi с |
едини |
цей. Если признак равен единице (это означает, что за |
|||
писанная— |
в yi перестановка получена транспозицией), то |
||
передает |
управление Ра, если же признак |
равен нулю |
|
(т. е. перестановка является случайной), то — |
Pf, |
||
Р 7 — проверяет условие F — Fy.2>6, |
где |
б — наперед |
заданное число. Случайная перестановка я выбирается для анализа только в том случае, если соответствующий ей критический путь попал в 6 — окрестность наилучшего из достигнутых результатов. Чем больше б, тем больший удельный вес в алгоритме приобретают элементы анали
за; при |
6 = 0 алгоритм практически мало |
отличается |
от |
||
слепого |
поиска; при F — Fy2^.6 |
управление передается |
|||
Рі2, в противном случае Ф2 ; |
|
|
|
|
|
Р 8 — проверяет условие F<Fyo. |
Если |
F<Fy0 |
( F 7 |
q — |
число из ячейки YO), то, следовательно, в результате тран спозиции первоначальная перестановка улучшилась и управление передается Ад, если же i 7 > F Y ; ) , то Аю;
Ад — величину F записывает в ячейку Yo;
Л10 — по данным из ячейки YS восстанавливает-пред шествующую перестановку я и посылает в YIДругими словами, в перестановке из yi производится транспозиция
элементов, указанных |
в ув", |
||
ет |
— |
1) определяет |
критическую последовательность |
Аи |
|
элементов (обратный ход алгоритма Форда) и формиру
блоки; 2) в ячейку ys записывает величину |
К — коли |
||||||||
чество |
блоков; 3) |
в ячейку |
Y6 и Y7 записывает |
единицы; |
|||||
Pi2 |
— проверяет условие j<K, |
|
где величина / — содер |
||||||
жимое |
ячейки у7, |
а К — ячейки |
|
у5. Е С Л И |
j<.K, |
то управ |
|||
ление |
передается |
на А ] 4 , |
в |
противном |
случае — на Pi 3 ; |
||||
Л з |
проверят |
условие |
i<cK |
|
|
1, где |
і — содержимое |
||
ячейки—ув, а К — ячейки ys- |
Если условие выполнено, то |
||||||||
|
— |
|
|
|
управление передается на 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 ) ) , |
а затем |
осуществляется |
||
переход от перестановки |
л к я г |
(соответственно, |
яг) и |
|
определение критического |
пути |
для яі |
(либо Яг). Этот . |
процесс обрывается в том случае, если на каком-то этапе достигнут лучший результат либо если просмотрены все
блоки. В первом случае |
по описанной схеме |
анализиру |
ется новая перестановка |
(т. е. Яі либо яг), а во втором — |
|
генерируется случайная |
последовательность |
элементов |
и определяется целесообразность ее дальнейшего анали за. После некоторого наперед заданного числа таких ша-
Ш