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

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

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

(titj) и минимального времени поступления очередных требований во всех входящих потоках (t\ ) . Если

t£* = m i n ( m i n t£j, m i n t£ ) = tn,

i,j

h

то на /i-м шаге

рассматривается возможность

освобож-

дения Aij

в момент tn- Если это невозможно, то фикси-

 

 

А*

 

 

 

*

 

 

 

 

 

руется

Sjj

= 2.

Если же

Aij

освобождается

и это вы-

зовет

разблокирование элемента А і - и , для которого в

 

 

 

 

А*

 

 

 

А*

 

 

этот момент _і,3 -=2, то фиксируется 5г -_1,з=1,

после че­

го

выполняется

(/і+1)-й

шаг. На этом

шаге,

так как

 

 

А*

 

 

 

 

 

 

 

 

 

теперь Si-i,j=l,

 

минимальным окажется время оконча-

ния

обслуживания требования в Aj_i,j,

причем

 

 

 

 

i i - i j = m i n ( m i n t£j

m i n th ) ^ t n

:

 

 

 

 

 

 

i,j

 

h

 

 

 

 

 

За

время

выполнения

(/г+1)-го

шага

принимается

 

 

 

 

 

 

 

 

А*

 

 

 

при

этих условиях, разумеется, не

/ г а

по-прежнему

tn.

Теперь

на

(п + 1)-м шаге

будет

промоделировано ос­

вобождение элемента, разблокированного

на

предыду­

щем шаге.

Таким образом, на каждом шаге моделируется осво­ бождение не более чем одного элемента и определяется

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

чем одного эле­

мента. Если

в момент

t

произойдет

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

разблокирование т элементов, то этот

процесс

будет

промоделирован за т шагов.

 

 

 

Пример

алгоритма

с пошаговым

разблокированием

для системы

(рис. 6.3.2)

представлен

на рис. 6.8.1. Блок

У по правилам, описанным выше, определяет

момент

 

 

 

 

 

#

 

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

Если среди аппаратов следующей фазы есть свобод­ ные (оператор Р\), то моделируется обслуживание тре-

бования, поступающего из A ; j ,

в

одном

из

этих

аппа­

ратов. В противном случае, если

есть свободное

место

в накопителе следующей фазы

(оператор

Р 2

) , модели­

руется запись этого требования в накопитель. Наконец,

если освобождение Аі,,

в tn

оказалось

невозможным',

 

 

 

за­

после

чего осуществ­

фиксируется заблокирование A,-,j,

ляется возврат к У для перехода

к следующему

шагу.

Если в tn

аппарат

A,-j

освободился

и в накопителе

t-й фазы хранятся требования (оператор

Рз), то модели-

руется обслуживание одного из них в Аг,,

и освобожде­

ние одного места в этом накопителе. В противном

случае

 

*

 

 

 

 

 

фиксируется,

что АІ,І

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

 

Наконец, если среди аппаратов предыдущей

фазы

есть заблокированные

(оператор

Р І ) , то

для одного из

А

них фиксируется s,-_i( j=l, после чего производится воз­ врат к У для перехода к следующему шагу. Если вы­ бранный блоком У аппарат оказался аппаратом послед­ ней фазы (2), то блоком Мвых фиксируется появление очередного требования выходящего потока. Если в мо­ мент выполнения данного шага поступает очередное

требование входящего потока

(3),

то моделируется ли­

бо его поступление в элементы

1-й

фа-зы, либо его поте­

ря, а затем программой Пвхі определяется момент по­ ступления следующего требования этого потока.

Если моделируется система с циклом, то возмож­ ность освобождения аппарата t'-й фазы зависит от со­ стояния элементов не только (і+1)-й, но и других фаз системы. Так, например, в системе (рис. 6.3.3,а) воз­ можность освобождения Аз,і при Рі = 0 зависит от со­ стояния Аід. В свою очередь, освобождение аппарата /-и фазы может вызвать разблокирование элементов не только (/—1)-й, но и других фаз системы. Так, напри­ мер, в системе (рис. б.З.З.а) освобождение Аі,і вызывает разблокирование А3 > ь

Аналогично, при моделировании системы с клапаном (рис. 6.3.4,а) освобождение А3 ,і может вызывать разбло­ кирование не только Аг.і и А2 ,2, но и А 1 Л .

1 Очевидно, этого не может быть для Aij* разблокированного на (п— 1)-м шаге.

§ 6. 9. Моделирующий алгоритм с внутришаговым

разблокированием

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

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

Если на данном шаге произойдет переход требования в Aj из аппарата Аг _ь предшествующего АІ, то это озна­ чает, что Аг—і освободился и может взять новое требова­

ние

на обслуживание. Поэтому в случае освобождения

Аг-|

ВЫПОЛНЯеТСЯ ПЄрЄХОД ОТ Мобг- К бЛОКу Мобг КОТО­

РЫЙ, в свою очередь, рассматривает возможность пере­ хода в А,-_і нового требования из элементов, предшест­ вующих Аі—ь И Т. Д.

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

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

шаг.

 

 

 

. Алгоритм с внутришаговым

разблокированием

для

системы

(рис. 6.3.2) представлен

на рис. 6.9.1. Он состо­

ит из блоков следующих типов:

 

 

 

 

У — управляющий блок;

 

 

 

 

 

МВХІ блок

обслуживания требований

г-ro

входящего

 

потока;

 

 

 

 

 

Man,-,j — блоки

освобождения

аппарата

А*,,-;

 

 

Mo6ij — блоки

обслуживания

требований в

аппарате

Мзащ — блок

записи требований

в накопитель.

 

Блок У определяет время выполнения

очередного

шага tn

как минимальное из всех

времен окончания

об­

служивания в аппаратах и времени поступления очеред­ ного требования входящего потока.

Man3,l і

Пвых.

І ^ р Е і р і ї

\ШШ\ЕЙЫВ\

І

 

0 - с "

і U J

 

flo6ij

J E T "

 

Под3,1

і

тал

И

I / - У/, I

I

I O-Sgj

I

1шй

^

7/

^

4 - J

/2

 

г,

 

"1

 

 

 

Рис. 6. 9. 1. Моделирующий алгоритм

 

 

 

с внутришаговым разблокированием.

j _

d E * 2

. j

 

 

 

 

Если tn есть время поступления очередного требова­ ния входящего потока, то У передает управление (1) ведущей программе блока Мвхі (Ввхі). Если есть сво-

 

А

 

бодные аппараты 1-й фазы

(su=0),

то Ввхі выбирает

один из них в соответствии

с дисциплиной Двхь вклю­

чает (2) программу моделирования обслуживания тре­ бований В Ai,j (Поби), ПОСЛе ЧЄГО фиксируется S i j A = l , выполняется программа определения времени поступле­ ния следующего требования входящего потока (Пвхі) и

происходит возврат к

У

для перехода

к следующему

шагу.

 

 

 

S i , j A = 0

 

 

 

Если нет

ни

одного

и в

накопителе

Hi

ИМееТСЯ Х О Т Я

бы

ОДНО

СВОбОДНОе

МеСТО

( S j H < A / i * ) ,

то

(3) фиксируется запись требования в Hi и выполняется Пвхі. В противном случае (4) фиксируется потеря тре­ бования (Ппот) и выполняется ПвХ). Таким образом, ведущая программа блока в зависимости от состояния системы в рассматриваемый момент времени определя­ ет, какие действия должен выполнить данный блок, и включает цепочку соответствующих программ1 .

то

Если tn

есть время окончания

обслуживания в

A\tj,

У передает управление (5) ведущей программе

бло­

ка

Мапі)3-.

(Bani,j). Выход (6)

программы Вапи

соот­

ветствует случаю, когда

нет

s A 2 j = 0 и s2

H = ./V2*;

выход

(7) —когда

требование

из Ai,j

поступает

в A2 ,j, выбран­

ный в соответствии с J\an\,j

из числа свободных

аппара­

тов 2-й фазы; выход (8)—когда

нет s A

2 j = 0 ,

но

s 2 H <

<N2*.

 

 

 

 

А

 

 

 

Если

Ai,j оказался в

состоянии

sitj=2,

то

происхо­

дит возврат

к У. Если

же

A j j освободился,

то

после

Мапі,з выполняется ведущая программа блока Мобі,3-

(Bo6i,j). Если в Hi имеются

требования

( s ^ ^ O ) ,

то

моделируется

(9)

обслуживание одного

из

них

в

AJJ,

после чего выполняется

следующий шаг. Если

же

Hi

пуст, то переход к У (10)

производится

непосредственно

от Bo6i,j.

 

 

 

 

 

 

 

 

 

Аналогично блок Man2 ,j моделирует переход требова­

ния из A2 ,j в

А3 ,1,

блок

Mo62 ,j—обслуживание очеред­

ного требования в

A2j. Если

это требование

взято

из

Ai,j, то после

Mo62 ,j (11)

выполняется

Mo6i,j.

Если

же

1 Обращение к этим программам может происходить, в част­ ности, как к подпрограммам.

Рис. 6. 9. 2. Моделирующий алгоритм с внутришаговым разблокированием для системы с циклом.

это требование взято из Н2 , то после Mo62 ,j

(12) выпол­

няется ведущая программа блока Мзап2

(Взап2 ).

Если есть

S i , j A = 2, то

Взап2

выбирает А1і3-

в соответ­

ствии с Дзап2 ,

после чего

(13)

моделируется

запись тре­

бования в Н 2

и освобождение Ai,j, а затем

выполняется

Мобі,3-. Если же нет S i > 3 A = 2 , то после Взап2

выполняется

следующий шаг (14). Блок Мапзд фиксирует появление требования выходящего потока (Пвых) и освобождение

Аз,ь

а блок Мобзд

моделирует

переход

требования

из

A2 ,j

в Аз,ь Если этот переход произойдет, то после Мобзд

выполняется Mo6 2 j .

 

 

 

 

 

 

 

Таким образом, если tn есть момент окончания

обслу­

живания в Аз,ь причем S i H ^ = 0 ,

S j A 2 = 2, s2 H

= JV2*,

s^

= 2,

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

выполняются блоки Мап3 ,і (освобож­

дение A 3 , i ) , Мобзд

(переход

требования

из А2 ,і в А3 д),

Моб2,3- (переход требования

из Н 2 в

А2 ,і), Мзап2

(пере­

ход

требования из

Аі,2 в Н 2 ) ,

М о б и

(переход требова­

ния из Ні в Ai ) 2 ) и затем У.

 

с циклом

(рис. 6.3.3,а),

Если моделируется система

то моделирующий алгоритм отличается от предыдущего построением блоков Мапз.і и Мобі>5- (рис. 6.9.2). Выход (15) ведущей программы блока Мапзд (Вапзд) соответ­

ствует

Рі = 0і И S A J =0,

 

выход

(16)—Рі = 0

и

sA j

Ф0,

выход

(17)Pi = l . Выход

(18)

ведущей

программы

блока

Mo6i,j

(Воби)

соответствует

/ = 1

(рассматрива­

ется

A i , i ) при

53АЛ

= 2,

выходы

(19)

и

(20) — / = 2

или

1-Х

при sAj=^=2.

Выход

 

(19)

выбирается

при

S i H = ^ 0 , а

выход

(20) — при

5 і н

= 0. При

передаче

требования

из

А3 ,і в А),і после Мобі,3- включается Мобзд.

 

 

 

Если моделируется

система

с клапаном (рис. 6.3.4,а),

то при

выполнении блока Мапзд

(рис. 6.9.3)

в ячейку k

записывается

заявка

на

выполнение

 

блока М а п и

(при

/ = 1 ) .

Во всех случаях,

 

когда

в

алгоритме

(рис. 6.9.1)

происходит возврат к У,

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

алгоритме

производится переход к блоку МЗ. Выход

(21) блока

МЗ

соответствует

наличию

заявки

(&=1) при s2 H <./V2 *,

вы­

ход

(22) —k = 0.

Перед

 

передачей управления

от МЗ к

Мащ.з

через выход (21)

 

заявка

стирается (0-*-k).

 

Пусть, например,

в

момент

tn

закончилось

обслужи­

вание

в А3 д,

причем

Si H ==0,

s £ i = 2 ,

s2 H

= 0

и

s2A

= 2 .

1

Значение параметра pi

для требования,

обслуживаемого в

Аз,ь

определяется программой

Поб3 д при

выполнении блоков

Man2

,j и Мобзд.

 

 

Рис. 6. 9. 3. Моделирующий алгоритм с внутришаговым разблокированием для системы с клапаном

Тогда

последовательно выполняются блоки М а п з д

(ос­

вобождение

Аз,і), Мобз.і (переход требования

из

А2

в

A 3

,i),

Mo62 ,j,

МЗ, Мапі>3- (переход требования

из

Аі,,

в

A 2

,i),

Mo6i,j

(переход требования из Ні в А ц ) , МЗ

и за­

тем У.

§6. 10. Сравнение моделирующих алгоритмов

В§ 6.4—6.9 рассмотрены различные моделирующие алгоритмы на примере трех систем, в числе которых имеются система с циклом и система с клапаном. Вооб­ ще говоря, как показано в § 6.2, многообразие систем гораздо шире и охватывает многие случаи, не включен­ ные в примеры § 6.3, чтобы не усложнять изложение. Кратко рассмотрим некоторые из них.

1.Дисциплины с абсолютными приоритетами. Если, например, Дал» является дисциплиной с абсолютными приоритетами, то это учитывается в алгоритмах при оп­

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

2. Ограничение на время пребывания требований в системе. Событие, которое состоит в совпадении време­ ни пребывания в системе некоторого требования с допу­ стимым временем, рассматривается в алгоритмах наряду с таким событием, как окончание обслуживания в аппа­

ратах, и по такому

же методу. Так, например, совпадение

этих времен может произойти

для

требования,

которое

в этот

момент хранится в Н 2

(рис. 6.3.2). Пусть

исполь­

зуется

алгоритм

с внутришаговым

разблокированием

(§ 6.9). В алгоритм необходимо включить блок Мнак2 ; ведущая программа этого блока (Внак2 ) определяет, куда поступит это требование в соответствии с дисцип­ линой Днак 2 (см. § 6.2).

При определении времени выполнения очередного шага в блоке У рассматриваются не только моменты окончания обслуживания и поступления требований вхо­ дящих потоков, но и моменты окончания допустимого времени пребывания для требований, находящихся в настоящий момент в системе. Если tn есть время наступ­

ів*

339

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