
книги из ГПНТБ / Голенко Д.И. Статистические модели в управлении производством
.pdf(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 |
освобождается |
и это вы- |
|||||
зовет |
разблокирование элемента А і - и , для которого в |
||||||||||
|
|
|
|
А* |
|
|
|
А* |
|
|
|
этот момент 5і_і,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 |