
книги из ГПНТБ / Голенко Д.И. Статистические модели в управлении производством
.pdfментов. Обычно, как будет видно из дальнейшего, пер вое и второе требования противоречивы. Применяемые способы преодоления первой трудности, как правило, вызывают ограничение класса структур, к которым при меним соответствующий моделирующий алгоритм.
Моделирующие алгоритмы
С детерминированно/м шагом
без |
прогнози |
с |
прогнозиро |
рования |
|
ванием |
циклические |
не |
циклические |
с |
пошаговым |
с |
внутришагобым |
|
разблокировано - |
разблокирована |
- |
ем
Рис. 6. 3. 1. Классификация моделирующих алгоритмов.
3. Низкие потребности в емкости памяти и незначи тельные затраты машинного времени на моделирование. Необходимость выполнения этих требований очевидна, хотя они тоже, как правило, противоречивы.
лВх, |
Н2 |
Явых, |
НІ |
\fl3,l |
•'1,2
Рис. 6. 3. 2. Пример системы.
4. Простота логики алгоритма, возможность разбие ния его на автономные части, позволяющие независимое программирование и отладку, простота внесения изме нений в алгоритм, максимальная стандартизация алго ритма. Выполнение этих требований позволяет снизить трудоемкость и длительность этапа подготовки модели рующего алгоритма и тем самым значительно повысить эффективность моделирования. Естественно, что наи большее удобство в этом отношении представляет зада ние моделирующего алгоритма на алгоритмическом языке.
Классификация моделирующих алгоритмов представ лена на рис. 6.3.1. В последующих параграфах рассмот-
Л 8х, |
"а |
42.1 |
|
||
"г |
я выXl |
|
|
43.1 |
|
|
|
<г.г |
Л fix. |
Л бых; |
fir-o
Рис. 6. 3. 3. Пример системы с циклом.
рены алгоритмы, входящие в эту классификацию. Для изложения и сравнения этих алгоритмов использованы три примера систем, приведенных ниже.
1. Система, показанная на рис. 6.3.2, является трех фазной системой простой структуры. Принято, что если, как показано на рис. 6.3.2, требование поступает в нако питель и из него — в аппараты, то это означает следую щее: требование поступает прямо в аппарат на обслужи вание, если аппарат свободен и накопитель пуст; если аппарат занят и в накопителе имеются свободные места, требование поступает на хранение в накопитель.
11 |
16, |
2.1 |
|
|
|
лвх І |
Н "г |
Я быхі |
|
"3,1 |
|
V |
|
Ц А2,2 |
ч/ |
Н "И |
Л Вх, |
А бых і |
Li н. |
|
|
"31 |
41.2 |
42.2 |
Рис. 6. 3. 4. Примеры систем с клапаном.
2. На рис. 6.3.3. показаны системы, отличающиеся от предыдущей наличием цикла. Требования входящего потока имеют параметр j3i = 0. После окончания обслу живания в А3 ,1 (рис. 6.3.3,а) или в А2 ,і (рис. 6.3.3,6) оп ределяется по некоторому закону новое значение этого
параметра для обслуженного требования. Если в резуль
тате Рі = 1, то требование |
покидает |
систему; |
если же |
||||
Рі = 0, то требование |
вновь |
обслуживается |
в Аід. |
||||
|
3. На рис. 6.3.4,а |
представлена |
система, |
отличающая |
|||
ся |
от первой тем, что поступление |
требования |
из Аі,і в |
||||
Н 2 |
может произойти только в момент освобождения Аз,і. |
||||||
|
Эту связь удобно показать в виде «клапана», изобра |
||||||
женного кружком. При освобождении |
соответствующего |
аппарата на управляющий вход этого клапана, изобра женный пунктирной стрелкой, поступает разрешающий сигнал, вызывающий передачу требования из Аі,і в Н 2 (если в Н 2 есть свободное место и в Аі,і имеется требо вание). Аналогичная система с клапаном представлена на рис. 6.3.4,6.
Перечисленные примеры охватывают основные слу чаи структур в упрощенном виде и позволяют показать особенности различных моделирующих алгоритмов и трудности, возникающие при их применении.
В соответствии с нумерацией аппаратов и накопите
лей, |
принятой |
на |
рис. 6.3.2—6.3.4, состояние |
аппарата |
Аг,з |
обозначается |
через S i , A а состояние |
накопителя |
|
Н, — через s/1 |
. |
Обозначим через ti,j момент |
окончания |
|
обслуживания |
в Aij, через t) —момент поступления в |
систему очередного требования 1-го входящего потока. В памяти ЭВМ в любой момент времени должно быть
отражено состояние системы. Для этого используются три зоны:
1. Зона А, состоящая из пяти ячеек; в каждой ячей ке записано текущее значение характеристики s,,jA соот
ветствующего аппарата и время окончания |
обслужива |
|
ния в нем очередного требования |
(^,j A ), а |
для A 3 ,i при |
моделировании системы (рис. 6.3.3) —значение парамет |
||
ра Pi обслуживаемого требования; |
|
|
2. Зона Н, состоящая из двух |
ячеек; в каждой ячей |
|
ке записано текущее значение характеристики S i H соот |
||
ветствующего накопителя; |
|
|
3. Зона В, состоящая из одной |
ячейки, в которой за |
писано время поступления очередного требования вхо
дящего потока |
(t\). |
|
|
|
|
При моделировании начала обслуживания требова |
|||||
ний вычисляется |
и |
записывается |
в |
соответствующую |
|
ячейку зоны А время |
окончания |
его обслуживания и |
|||
значение S f , j A = l , при |
освобождении |
аппарата — S j , j A = 0 |
и после окончания обслуживания, если требование не мо жет покинуть аппарат, — S ; , j A = 2 . При моделировании записи требования в накопитель добавляется единица к содержимому соответствующей ячейки зоны Н, а когда требование покидает накопитель, вычитается единица из содержимого этой ячейки. Для определенности примем, что результатами моделирования должны быть суммар
ное |
число потерянных требований |
входящего |
потока |
(Ri) |
и суммарное число требований |
выходящего |
потока |
{R2}, которые накапливаются в соответствующих ячей ках памяти. Эти результаты позволяют определить ве роятность потери требования.
§ 6. 4. Моделирующий |
алгоритм |
с детерминированным |
шагом |
Процесс функционирования системы массового об служивания в течение некоторого интервала времени Т можно представить как случайную последовательность дискретных моментов времени tn(n—0,N). В каждый из этих моментов происходят изменения состояния одного или нескольких элементов системы, а в промежутке меж ду этими моментами никаких изменений состояния си стемы не происходит.
В моделирующем алгоритме должно выполняться следующее рекуррентное правило: событие, происходя
щее в |
момент |
tn, |
может моделироваться |
только после |
|||||
того, |
как промоделированы |
все |
события, |
происшедшие |
|||||
в момент tn-\. |
В противном |
случае |
результат |
моделиро |
|||||
вания может оказаться неверным. |
|
|
tn-\ |
|
|
||||
Действительно, (см. рис. 6.3.2), |
если в |
|
должно |
||||||
было |
закончиться |
обслуживание |
в |
Аг,і, а |
в tn |
— в Аг,2, |
|||
то, не промоделировав систему в tn-u |
мы в tn передадим |
||||||||
в А з л |
требование |
из Аг,2. На самом |
деле, |
A 3 ,i |
должен |
||||
быть уже в tn-i |
занят требованием, |
поступившим |
в него |
||||||
из Аг,ь и Аг,2 в tn |
не освободится. |
|
|
|
|
|
|||
В моделирующем алгоритме с детерминированным |
|||||||||
шагом [6.3, 6.4] принят следующий |
способ |
выполнения |
|||||||
этого |
правила: определяется |
минимальная |
длительность |
||||||
обслуживания по всем аппаратам |
и минимальный |
интер |
вал между моментами поступления требований по всем входящим потокам. Наименьшая из этих двух величин
(At) принимается за шаг моделирования (детерминиро ванная величина).
Способ моделирования с детерминированным шагом состоит в следующем:
1.На п-м шаге в момент tn просматриваются все эле менты системы и определяется, какие из них могут изме нить свое состояние в этот момент.
2.Моделируются все те изменения состояния, которые могут произойти в момент tn-
3.Производится переход к (п+1) - му шагу, который выполняется в момент tn+i = tn+At.
|
Как следует из |
определения |
шага |
моделирования, |
||||
при |
этом гарантировано, что в промежутке между |
tn+l |
||||||
и |
tn |
не произойдет |
никаких изменений |
состояния |
си |
|||
стемы. |
|
|
|
|
|
|
||
|
Как было |
показано |
в § 6.2, окончание |
обслуживания |
||||
в |
некотором |
аппарате |
в момент tn |
может вызвать |
про |
цесс распространения изменений состояния элементов системы в направлении, противоположном направлению движения требований в системе, причем все эти изме нения должны произойти в момент tn- Поэтому элемен ты системы должны просматриваться, начиная с элемен
тов |
последней |
фазы по направлению к первой. |
|
|
|||||||||
Алгоритм |
с детерминированным |
шагом |
для системы |
||||||||||
(рис. 6.3.2) |
представлен на рис. 6.4.1. Блок У |
(управляю |
|||||||||||
щий) |
определяет |
время |
очередного |
шага |
f n |
= ^ n - i + A^; |
|||||||
если tn~^Ty |
то У производит печатание |
результатов |
и |
||||||||||
останов моделирования1 . Если |
закончилось обслужива |
||||||||||||
ние в А3 ,1 |
(операторы Р 0 |
и Р\), |
то программа |
П В Ы х фик |
|||||||||
сирует |
появление |
очередного |
требования |
выходящего |
|||||||||
потока |
(к содержимому |
ячейки Ri |
добавляется |
едини |
|||||||||
ца); |
далее |
фиксируется |
освобождение А3 д. |
|
|
|
|
||||||
|
Затем оператор Pl2,j |
определяет, |
имеются |
ли в аппа |
|||||||||
ратах |
2-й |
фазы |
требования, |
ожидающие |
передачи |
в |
|||||||
А3,1- Выход 1 этого оператора соответствует |
случаю, ког |
||||||||||||
да |
закончилось |
обслуживание |
в A2 ,j, т. |
е. s 2 ,j A = 1 |
и |
||||||||
Ц} |
<^tn или же когда s2 A y =2 . |
Выход |
2 |
соответствует |
|||||||||
остальным |
случаям. Если в tn |
такие требования |
имеют |
||||||||||
ся, |
и A 3 i i свободен (Р 2 ) , то выбирается |
одно |
из них в |
||||||||||
соответствии |
с дисциплиной Доб3 ,1 |
и моделируется его |
1 Блок У выполняет функцию печати результатов и останова во всех нижеописанных алгоритмах.
Рис. 6 4.1. Моделирующий алгоритм с детерминированным шагом.
обслуживание |
в A 3 ,i (программа |
Поб3 ,і), фиксируется |
|||||||
s 3 , i A = l |
и |
освобождение |
выбранного |
А 2 , Д |
|
||||
Далее оператор P22,j |
определяет, |
остались ли |
в аппа |
||||||
ратах A2,j требования, |
обслуживание |
которых |
закончи |
||||||
лось в |
tn, |
(т. е. s 2 j A = l |
и t2,jA^tn). |
|
Если такие |
требова |
|||
ния имеются |
(выход 1), то |
для соответствующих аппа |
|||||||
ратов |
фиксируется s2)J-A = 2. |
Затем, |
|
если накопитель Н 2 |
|||||
не пуст (Р3) и есть свободные A2 ,j (Pi), |
выбирается один |
||||||||
из свободных |
аппаратов— |
А 2 , Д |
моделируется |
обслу |
живание требования в этом аппарате и освобождение одного места в накопителе,- Далее для 1-й фазы выпол
няется оператор P\,jl, |
аналогичный |
Р2/. |
Если нет |
сво |
||||
бодных |
аппаратов |
2-й |
фазы |
(Р 5 ), |
но |
в |
Н 2 имеется |
сво |
бодное |
место (Ре), |
то |
моделируется |
запись требования |
||||
в Н2 . Оператор |
выполняется |
затем |
вторично, |
так |
||||
как одновременно |
с 1-й на |
2-ю фазу |
могут перейти |
два |
требования. При третьем выполнении Р \ , - управление будет передано через его выход 2. Программа Поб2,7- вы бирает аппарат А2 і 7 ** для обслуживания в нем требова ния из А],/*. Оператор Р 2 и аналогичен P 2 2 j .
С помощью операторов Pj и Р& определяется возмож ность передачи требования из Ні в Aj,j. Если поступило требование входящего потока Рд, то оно может быть об служено в Аі,, (Ло), может быть записано в Hi (Ри) либо может быть потеряно (потеря фиксируется про граммой Ппот, которая добавляет единицу к содержи мому ячейки Ri). Затем определяется время поступле ния следующего требования входящего потока Пвхі и производится возврат к У для перехода к следующему шагу.
Если в системе имеется цикл (рис. 6.3.3,а), то одно- . го просмотра всех элементов на данном шаге недоста
точно. Действительно, пусть в момент |
tn-i |
система |
на |
|||||||
ходилась |
в |
следующем |
состоянии: |
s 3 , i A = s 2 , i A = s2 i 2 |
A = 2; |
|||||
s2H<N2*; |
s u A |
= S ) i 2 A = |
1 и в момент |
tn |
закончилось |
об |
||||
служивание в Ai,i. Это событие должно |
вызвать |
в |
мо |
|||||||
мент tn переходы требований |
из А ^ |
в Н2 , |
из А з л |
в Ai,i, |
||||||
из одного |
из A2 j - в А3 |
,1 |
и из Н 2 в этот А2>3-. Однако |
про |
||||||
сматривая |
в момент tn |
элементы системы в том порядке, |
||||||||
как указывалось выше, |
мы в |
момент tn |
промоделируем |
только переход требования из Ді,і в Н2 , а остальные пе реходы только в tn+i, т. е. допустим ошибку. Чтобы из бежать этой ошибки, при наличии цикла на каждом ша-
ге производится двойной просмотр элементов, входящих
вэтот цикл.
Вмоделирующем алгоритме (рис. 6.4.2) части I и I I совпадают с соответствующими частями, указанными на рис. 6.4.1. С помощью счетчика <р организуется двойной просмотр элементов А3 і і, A 2 ,j, Нг, A\,j. Если в А3 д закон
чилось обслуживание требования с параметрами |
Р і = 0 |
||||
(Р12) или же хранится такое |
требование (Р\з), |
то |
рас |
||
сматривается |
возможность его обслуживания |
в Ai,i. |
|||
При наличии |
клапана (рис. 6.3.4,а) можно |
использо |
|||
вать алгоритм, |
изображенный |
на рис. 6.4.2. При этом в |
|||
оператор Pl\,j |
вводится добавочное условие: требование |
||||
может поступить из Ai,i во 2-ю фазу, если s3>1 = 0. |
|
||||
К моделирующим алгоритмам с детерминированным |
шагом следует отнести и алгоритм Яровицкого [6.5]. От
личие его алгоритма |
от изложенного |
состоит фактически |
|
в другом способе |
задания структуры |
системы. |
|
§ 6. 5. |
Моделирующие алгоритмы |
||
|
со случайным шагом. |
||
Синхронный |
моделирующий |
алгоритм |
|
В моделирующих |
алгоритмах со случайным шагом |
в отличие от моделирующего алгоритма с детерминиро ванным шагом элементы системы просматриваются толь ко в моменты изменения состояния системы. Тогда дли
тельность шага |
представляет |
собой случайную ве |
|||
личину. |
|
|
|
|
|
При построении синхронного моделирующего алго |
|||||
ритма |
[6.6, 6.7] выбирается один |
из элементов |
системы |
||
или один из входящих |
потоков |
в качестве |
ведущего. |
||
Шаги |
моделирования |
будут соответствовать |
моментам |
изменения состояния ведущего элемента или моментам поступления требований ведущего входящего потока. Процесс моделирования при этом как бы «синхронизи руется» этими моментами, поэтому алгоритм назван синхронным.
Примем для определенности при построении синхрон ного моделирующего алгоритма для системы (рис. 6.3.2), что длительность шага равна интервалу между момен
тами |
поступления требований входящего потока Лвхь |
Т. Є . tn |
= t\. |
Пусть производится п-й шаг моделирования, т. е. в