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

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

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

момент

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

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