книги из ГПНТБ / Голенко Д.И. Статистические модели в управлении производством
.pdfмомент |
tn на вход 1-й фазы системы |
поступает |
очеред |
ное требование входящего потока. С момента tn-\ |
до мо |
||
мента tn |
могли произойти изменения |
состояния |
элемен |
тов 1-й |
фазы, если в интервале (tn-i, |
tn) могло |
закон |
читься обслуживание в аппаратах этой фазы либо мог ли освободиться аппараты 2-й фазы. Очевидно, что для выполнения правила, указанного в § 6.4, необходимо промоделировать эти изменения прежде, чем моделиро
вать поступление требования на эту фазу в момент |
tn. |
Тот же принцип должен соблюдаться для всех |
ос |
тальных фаз: прежде чем моделировать поступление в момент t на і-ю фазу требования из (І—1)-й фазы, необ
ходимо промоделировать |
все |
изменения |
состояния |
і-й |
|||||||||||
фазы до момента t. |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Определим |
на п-м |
|
шаге |
для і-й |
фазы |
величину |
|
|||||||
|
|
|
і А* |
•"' |
. |
, |
А |
|
|
|
|
|
|
|
|
где |
|
|
tj,j |
= m i n r,-,j . |
|
|
|
|
|
|
|
||||
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
t£j, |
|
ЄСЛИ |
S j j = |
1 |
|
|
|
|
|
(1) |
||
|
|
|
О, |
если |
|
si A j(/„_1 ) |
= 2 |
|
|
|
(2) |
||||
|
|
|
Т, |
если |
sij |
= 0 |
|
|
|
|
|
(3) |
|||
|
|
|
Т, |
если |
|
|
s^{tn)=2 |
|
|
|
|
(4) |
|||
Т — время конца моделирования. |
|
|
|
|
|
|
|
||||||||
|
Аппаратом |
A j j * является |
тот, для которого |
величина |
|||||||||||
tijA |
достигает |
минимума по всем |
/. |
|
|
|
|
|
|
||||||
|
Рассмотрим |
функционирование |
моделирующего |
ал |
|||||||||||
горитма (рис. 6.5.1). Программа |
Пвхі |
определяет |
время |
||||||||||||
поступления очередного требования |
входящего |
потока |
|||||||||||||
t * , которое принимается |
за |
tn. |
При |
этом |
возможны |
||||||||||
два |
случая. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
С л у ч а й |
1. Условие, указанное |
в |
операторе |
Я ь |
вы |
|||||||||
полняется. Это |
означает, |
что в tn-\ |
аппараты |
1-й фазы |
|||||||||||
или обслуживали требования, причем время |
окончания |
||||||||||||||
обслуживания |
|
больше |
tn |
(1), |
или они |
были |
свободны |
||||||||
(3) |
(условие |
4 |
будет |
|
рассмотрено |
ниже). Оператор |
Р2 |
проверяет, какое из этих |
условий |
выполняется. Если в |
|
числе аппаратов 1-й |
фазы есть свободные, то програм |
||
ма Побі,* выбирает |
один |
из них |
и определяет время |
Окончания обслуживания в этом аппарате, затем фик сируется его новое состояние и производится переход к
следующему |
шагу. Если |
же |
оба |
аппарата |
заняты, |
то |
|||
оператор Я 3 |
проверяет, |
есть ли свободные места в |
Hi . |
||||||
В зависимости от результата этой проверки |
или моде |
||||||||
лируется запись |
требования |
в Н ь |
или фиксируется |
по |
|||||
теря требования, |
после |
чего выполняется |
следующий |
||||||
шаг. |
|
|
|
|
|
Р\, |
|
|
|
С л у ч а й |
2. Условие, |
указанное в |
не |
выполняет |
|||||
ся. Это означает, |
что в |
tn-\ |
аппараты |
1-й |
фазы или |
об |
служивали требования, причем время окончания обслу живания меньше /„ (1), или они были заняты требова
ниями, |
которые |
до |
tn-\ |
|
не |
могли |
перейти |
на 2-ю |
фазу |
||||||||
(2). Тогда |
оператор |
Р4 |
|
проверяет |
для |
|
2-й фазы |
те |
же |
||||||||
условия, что и Р\ для |
1-й фазы. Если |
для |
2-й фазы вы |
||||||||||||||
полняется случай 1, то требование |
из |
A*j |
либо |
обслу |
|||||||||||||
живается |
в А2 > j либо |
поступает |
в |
Н2 , ли.бо фиксирует |
|||||||||||||
ся, |
что требование |
до |
момента |
tn |
не |
может покинуть |
|||||||||||
A*ii 3 -, т. е. |
sAJ- (tn) |
=2. |
Если А*у |
освободился и в |
Hi |
||||||||||||
есть |
требование |
(Рі), |
то |
моделируется |
|
обслуживание |
|||||||||||
одного |
из |
них в A * j |
, в противном |
случае А*у остается |
|||||||||||||
свободным. После |
этого |
производится |
возврат |
к |
Р\. |
||||||||||||
Теперь |
уже |
случай |
1 может |
иметь |
место |
также |
и |
при |
|||||||||
условии (4). Если для |
|
2-й |
фазы |
при |
выполнении |
Р4 |
|||||||||||
имеет |
место |
случай |
2, |
то |
|
выполняется |
оператор Р%, |
||||||||||
аналогичный |
Р4 |
и Р\, |
и т. |
д. |
|
|
|
|
|
|
|
|
|||||
Таким |
образом, |
прежде |
|
чем |
|
промоделировать |
по |
ступление требования на і-ю фазу в момент t, делается
попытка продвижения на (7+1) |
-ю фазу требований из |
|
тех аппаратов і-й фазы, которые закончили |
обслужива |
|
ние до момента t. Определяется, |
останутся |
ли в момент |
t эти требования в аппаратах или покинут их до момен
та t. Только после этого рассматривается |
вопрос о по |
|||
ступлении нового требования на і-ю фазу |
в момент |
t. |
||
Следует иметь в виду, что момент начала |
обслужива |
|||
ния |
требования на і-й фазе определяется |
либо |
време |
|
нем |
конца его обслуживания на (І—1)-й |
фазе, |
если |
в |
этот момент на t'-й фазе был свободный аппарат, либо временем освобождения аппарата і-й фазы, если в это время аппарат (І—1)-й фазы хранил уже обработанное требование.
При использовании синхронного алгоритма для мо делирования системы с циклом (рис. 6.3.3, а) возника-
ют |
серьезные трудности. Действительно, |
|
пусть |
к |
п-иу |
||||||||
шагу |
(*„_,) = 0 , |
s,A2 |
(zVi) = |
l |
|
и |
t*2 |
>tn, |
|||||
sti (tn-i) |
= L U-i<.ti,3 |
<.tn- |
Тогда |
очевидно, |
в |
момент |
|||||||
t'gj |
требование |
из А3 , і |
должно |
поступить |
на |
обслужи |
|||||||
вание в |
Аі, і, который в |
момент |
tn |
окажется |
занятым. |
||||||||
Однако |
при применении |
синхронного |
алгоритма |
|
этого |
||||||||
не произойдет, так как при |
указанном |
|
состоянии |
эле |
|||||||||
ментов 1-й фазы на п-ш |
шаге |
будет |
|
промоделировано |
|||||||||
поступление в Аі, і требования входящего |
потока, |
а эле |
|||||||||||
менты остальных фаз, в |
том числе и Аз,ь |
рассмотрены |
|||||||||||
не будут. Таким образом, будет допущена |
ошибка. |
||||||||||||
|
Применение |
синхронного |
алгоритма |
|
для |
моделиро |
|||||||
вания системы |
с клапаном (рис. 6.3.4,6) |
также |
приво |
дит к затруднениям. Так, например, если в промежутке
между |
tn-i |
и tn |
закончится |
обслуживание |
требования в |
|||||||
Азд, |
то это |
вызовет |
переход требования |
из |
Ні в А ц . |
|||||||
Пусть |
обслуживание |
его |
в Аі, і |
закончится |
в |
момент |
||||||
t]A ! <tn |
и требование из Аі, і займет |
последнее |
свобод |
|||||||||
ное место в Н2 . |
Примем, |
что A 2 ; i и А2 ,2 обслуживают |
||||||||||
требования, |
причем |
>tn |
и t^2>tn. |
|
|
Пусть, |
кроме |
|||||
того, |
в |
момент |
|
закончится обслуживание |
требова |
|||||||
ния в Ai,2, причем, |
<.t{;2 < / п . |
Тогда |
Аі.г* |
останется |
||||||||
к моменту tn заблокированным, |
и поступающее |
в мо |
||||||||||
мент |
tn |
требование входящего потока |
попадет |
в Hi . |
||||||||
При применении синхронного алгоритма процесс мо |
||||||||||||
делирования |
пойдет иначе. В момент |
tn |
будет |
рассмот |
рено состояние 1-й фазы, Прежде всего будет промоде
лировано |
поступление требования в момент |
2*1,2 из Аі) 2 |
в |
||
Н2 , а затем |
поступление требования входящего |
потока |
|||
в момент |
tn |
в Ai, 2 . Переход требования из |
Ні в |
Аі.і |
на |
п-ш шаге промоделирован не будет, так как при указан
ном состоянии 2-й фазы |
элементы остальных фаз, |
т. е. |
в данном случае А 3 , ь не |
рассматриваются. Таким |
обра |
зом, будет допущена ошибка. Преодоление этих трудно стей в принципе возможно, однако это вызывает услож нение алгоритма и отход от основной идеи его построе ния.
§ 6. 6. Асинхронные моделирующие алгоритмы.
Моделирующий алгоритм с прогнозированием
В асинхронных моделирующих алгоритмах в отличие от синхронного, ведущий (синхронизирующий) элемент
21* |
323 |
отсутствует, и очередному шагу моделирования может соответствовать поступление требования любого входя щего потока или какое-либо событие в любом из аппара тов. В моделирующем алгоритме с прогнозированием [6.8, 6.9] таким событием может быть только освобожде
ние аппарата, т. е. переход требования |
из него в элемент |
||||
следующей |
фазы. |
|
|
|
|
tn-\ |
Обозначим через б, (/n --i) ближайшее следующее за |
||||
время |
освобождения аппарата |
Ї-Й фазы, |
а через |
||
ік |
{tn-\) ближайшее следующее за |
tn-\ |
время |
поступле |
ния очередного требования k-ro входящего потока. В мо
делирующем алгоритме с прогнозированием |
величины |
||
di(tn-\) |
определяются после выполнения каждого шага, |
||
т. е. в |
момент |
прогйозируются будущие |
переходы |
требований с фазы на фазу. После выполнения |
(п—1)-го |
шага время выполнения n-го шага вычисляется следую щим образом:
/r e = min(min6i(/ n - i), niin th ( 4 - і ) ) -
іh
В интервале времени |
между tn-\ |
и бг- |
(tn-i) на |
г-й и |
|
(г + 1)-й |
фа^ах может |
закончиться |
обслуживание |
требо |
|
ваний в |
аппаратах' этих фаз. Чтобы |
прогнозирование |
было правильным, состояние г-й и (і+1) - й фаз на этом интервале должно быть таким, чтобы эти требования до
момента бг (tn-i) оставались в |
соответствующих |
аппа |
ратах. |
|
|
Вычисление величин бг- (tn-\) |
производится |
исходя |
из этого правила следующим образом. Пусть в момент
г'п-^бг |
(г*п-г) произошел переход требования с |
i-й |
фа |
||||
зы на обслуживание в одном из аппаратов |
(г'+1)-й |
фа |
|||||
зы. При |
этом состояние |
остальных фаз системы |
не |
из |
|||
меняется |
и для них |
|
|
|
|
|
|
f>v(tn-i)=6v(tn-2), |
(V^i, |
V^i+l). |
|
|
|
||
П у С Т Ь |
В МОМеНТ tn-\ |
НЄ ИМееТСЯ |
НИ ОДНОГО A j + 1 , j с |
||||
si+hj = 2. |
Определим минимальное время окончания об |
||||||
служивания |
требований |
на (і - И) - й |
фазе |
для |
s t - + 1 j = 1 |
||
(в том числе |
и для вновь поступившего требования): |
|
і.
m
В момент tflitj закончится обслуживание требования в
Тогда |
новое |
значение |
6<+i |
(^n -i) определяется |
сле |
|||
дующим |
образом: |
|
|
|
|
|
||
1- |
6i+l(tn-i) |
=ti+*,j, |
ЄСЛИ |
|
ti+ij>6i+2(tn-l). |
|
||
Действительно, |
в этом случае |
к |
моменту |
Л * |
хо |
|||
будет |
||||||||
тя бы один свободный элемент |
( і + 2 ) - й |
фазы. |
|
|||||
2. |
6 , + l ( ^ n - l ) =U+l,j, |
ЄСЛИ |
|
ti+*j<6i+2(tn-l)' |
|
но в момент tn-i на (г + 2) -й фазе имеется хотя бы один свободный аппарат или хотя бы одно свободное место в накопителе.
3. 6г+і(^п-і) = 6 г + 2 ( ^ г - і ) , |
ЄСЛИ /г+Г,і<бг+2 {tn-i) |
|
и в момент tn-\ на ( і + 2 ) - й |
фазе не имеется ни |
одного |
свободного аппарата и ни одного свободного места в на
копителе |
(так |
как ^f*ii y<Si+2 |
(tn-\), |
то |
до |
момента |
|||
бг+2 (tn-\) |
ни один |
элемент (і + 2)-й фазы |
не |
освободит- |
|||||
ся). |
|
|
|
|
|
|
|
|
|
ЕСЛИ |
В МОМеНТ |
tn-\ |
ИМееТСЯ |
ХОТЯ |
бы |
ОДИН |
Aj+i,j с |
||
Si+i,j = 2, то |
6i+i(tn-i) |
=6i+2(tn-i), |
|
так |
как |
только в этот момент этот аппарат может освободиться. Если в момент tn-i требование перешло не в аппарат, а в накопитель (і+1) - й фазы, то очевидно
бї+і(^?г-і) =бі+і(/п- 2 ). |
|
|
После того как определена |
величина бі+ і (tn-\), |
мож |
но перейти к определению 6/ |
( Г п - і ) . Если после |
Г и _ 1 ни |
один из аппаратов і-й фазы не будет производить обслу живание, то примем б* (tn-\) = T. В противном случае определим для і-й фазы величину tfj =min t*j для
|
|
j |
всех sfy ='1. Тогда |
новое |
значение б* (tn-i) определяет |
ся аналогично 6j+i |
(^ n - i), |
т. е. |
tiAj*, |
если |
нет |
stAj |
— 2 и |
tA*>6i+i(tn-i) |
: |
|
tiA*, |
если |
нет s^ = 2, |
fij* |
< 6 i + i ( f n - i ) |
|
||
и |
есть |
5 г +і, ; =0 |
или |
s^i<Nl*+l; |
|
||
6i+i(fn -l), |
если |
нет |
Sifj = 2, |
|
|||
^ * < б і + і ( / „ _ і ) |
И |
ВСЄ Si+i.j^O |
|
н
иSj+i = /Vj_)_i ;
|
|
6i+l(^n-l), |
|
|
|
Л |
=2 . |
|
|
|
|
ЄСЛИ |
ЄСТЬ |
S j , j |
|
||||
Моделирующий |
алгоритм |
с |
прогнозированием |
для |
|||||
системы |
(рис. 6.3.2) |
представлен |
на |
рис. 6.6.1. Блок |
У |
||||
определяет |
величину tn |
и передает |
управление блоку |
||||||
MAj-j, |
если |
tn=bi(tn-i), |
или |
блоку |
М в х ь если tn = |
Блок MAi.j производит моделирование изменений со стояния і-й и (£+1)-й фаз в момент tn, т. е. в общем случае выполняет следующие функции:
1. Моделирует обслуживание требования, поступаю щего на (і+1) - ю фазу в Аг+и, или запись его в Hf+i.
2. Для всех аппаратов (і+1) - й фазы, закончивших обслуживание до /„, фиксирует ^ Д 1 у = 2 .
3.Моделирует освобождение т о г о Ai,j, который по кинуло требование, и обслуживание в нем очередного требования, если такое имеется в Нг-.
4.Для всех остальных аппаратов і-й фазы, закончив ших обслуживание до tn, фиксирует sAy = 2.
После |
ЭТОГО 6ЛОК |
MAj,j О п р е д е л я е т |
ВеЛИЧИНЫ бг+1 |
(in) и бг |
(tn), а затем |
осуществляется |
возврат к У для |
перехода к следующему шагу. В частности, блок МА3 д
только |
фиксирует |
освобождение |
Аз,ь блок MA2 ,j с |
по |
|
мощью |
оператора |
P2 ,j |
определяет аппарат A2 ,j, для ко |
||
торого |
t£j<.tn при s2 ) /= |
1 (выход |
1), и фиксирует |
для |
него s%j—2. Аналогичные функции для 2-й и 1-й фаз вы полняют в блоке M A i j операторы Р2я и Pit. Программа
Поб2 ,з выбирает аппарат A2 ,j, в который поступает тре бование из A i j . Подсчеты величин бг {tn) производятся программами Пб,-.
>-
|
|
|
|
1 |
1 |
I |
1 |
|
|
1 |
1 |
'I |
1 |
^ . 3 |
H |
||
1 |
1 |
nS2 |
1 |
1 |
І |
1 |
! |
||||
1 |
|
.; |
|
1 |
I — |
\o~stf
T
nodr.J
I t-sjT I
1 2~sij |
|
1 1 |
|
|
|
|
ll$2 |
|
|
V ' |
J |
1 /7*/ |
1 |
|
IT' |
||||
|
|
|||
|
|
1 |
.J |
nodtj
\
1— Л*»
Пвх, •
V
1
si A
Рис. 6. 6. 1. Моделирующий алгоритм с прогнозированием.
іf
Блок |
Мвхі |
производит |
моделирование |
обслужива |
|||
ния очередного |
требования входящего потока в А и , за |
||||||
пись его в H i или фиксирует его потерю |
(добавляет еди |
||||||
ницу K R \ ) , определяет |
величины 6i (tn) |
и |
(tn), |
после |
|||
чего осуществляется возврат |
к У для перехода |
к сле |
|||||
дующему |
шагу. |
|
|
|
|
|
|
Если |
Si+i (tn-i)=8i |
(tn-\), |
то, очевидно, |
сначала не |
обходимо выполнить блок МАг+и, а затем MAj.j. Таким образом, в случае равенства времен 6г- (tn-i) для не скольких фаз моделирование изменений состояния этих
фаз, |
т. е. включение |
соответствующих |
блоков, |
должно |
||||
начинаться с фазы с наибольшим номером |
и |
произво |
||||||
диться в порядке убывания номеров фаз. |
|
|
|
|||||
Если |
же в системе |
имеется цикл, то порядок выпол |
||||||
нения блоков зависит |
от конкретной |
ситуации. Так, на |
||||||
пример, в системе (рис. 6.3.3, а) при 61 (tn-i) |
= 62(^ - 1 ) |
= |
||||||
= 63 |
{tn-i) |
при Pi = 0 |
для требования, |
обслуженного |
в |
|||
А3 ,ь |
в первую очередь включается блок MAi,j (обслужи |
|||||||
вание в системе должно быть организовано |
таким обра |
|||||||
зом, чтобы в такой ситуации обязательно s2 |
H <./V2 *). Ес |
|||||||
ли же при этом Рі = 1, то в первую очередь |
включается |
|||||||
блок МА3 ,ь так как в этой ситуации |
все A2 ,j и места |
в |
||||||
Н 2 могут быть заняты. |
|
|
|
|
|
При моделировании системы с клапаном (рис. 6.3.4,а) необходимо в блоке МАзд в случае освобождения А3 д сначала определить 63 (tn), а затем промоделировать переход требования из Aiti на вторую фазу и определить новые значения б2 (1п) и 61 {tn).
§ 6. 7. Моделирующие алгоритмы без прогнозирования.
Циклический моделирующий алгоритм
В моделирующих алгоритмах без прогнозирования очередному шагу моделирования соответствует момент окончания обслуживания в любом аппарате или поступ ления требования любого входящего потока. В этом слу чае нет необходимости в прогнозировании момента ос вобождения аппарата, так как вопрос о том, останется ли требование в аппарате после окончания обслужива ния, может быть решен на соответствующем шаге.
В алгоритмах без Прогнозирования моделирование процесса распространения изменений состояния элемен тов в направлении, противоположном направлению дви-
жения требований в системе, осуществляется благодаря использованию определенных способов включения мо делирующих блоков. В циклическом моделирующем ал горитме [6.10, 6.11] этот способ состоит в том, что на каждом шаге просматриваются все элементы системы и определяется, какие переходы требований из одного эле мента в другой могут произойти в данный момент.
В этом смысле циклический алгоритм полностью ана логичен алгоритму с детерминированным шагом (см. § 6.4). Отличие состоит лишь в способе определения времени выполнения следующего шага в блоке У (см. рис. 6.4.1). В данном случае
* n = m i n ( m i n t^j |
, mintk |
), |
і,І |
h |
|
т. е. равно минимуму из минимального времени оконча ния обслуживания во всех аппаратах, производящих об служивание, и минимального времени поступления оче редных требований входящих потоков.
§6. 8. Нециклические моделирующие алгоритмы.
Моделирующий алгоритм с пошаговым разблокированием
Внециклических моделирующих алгоритмах в отли чие от циклического в каждый момент времени t про сматриваются только те элементы системы, которые изменяют свое состояние в этот момент. При этом, чтобы промоделировать процесс распространения изменений состояния элементов в направлении, противоположном направлению движения требований в системе, необходи мо в случае освобождения любого элемента А, опреде лить, не вызовет ли это разблокирование предшествую щего ему элемента A*_i. В случае положительного отве
та НеобхОДИМО ПрОМОДеЛИрОВаТЬ Освобождение A i - l , проверить возможность разблокирования предшествую щего ему элемента А,_2 и т. д.
В моделирующем алгоритме с пошаговым разблоки рованием [6.12] эта операция производится следующим образом. Момент выполнения очередного шага опреде ляется как минимум из минимального времени оконча ния обслуживания во всех элементах At-,j с S i j = l