Файл: Голенко Д.И. Статистические модели в управлении производством.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.04.2024

Просмотров: 137

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

жения требований в системе, осуществляется благодаря использованию определенных способов включения мо­ делирующих блоков. В циклическом моделирующем ал­ горитме [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


(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 Обращение к этим программам может происходить, в част­ ности, как к подпрограммам.