1.2.2.1 Организация поступления транзактов в модель и удаления транзактов из нее
Потоки, существующие в реальных системах, в моделях имитируют транзакты.
1.2.2.1.1. Поступление транзактов в модель
GENERATE - это блок, через который транзакты входят в модель. Блок GENERATE имеет следующий формат записи:
GENERATE [A],[B],[C],[D],[E]
Скобки [ ] означают, что данный операнд является необязательным. Не существует ограничений на число различных блоков GENERATE в одной модели.
Интервалы времени между последовательными появлениями транзактов блока GENERATE называют интервалом поступления. Все разработчики должны задавать спецификацию распределения интервалов времени поступления в блоке GENERATE. Информация, необходимая для этого, задается операндами А и B. Все возможные виды распределения интервалов времени поступления в GPSS делят на равномерно распределенные и все другие виды распределения.
Операнд А - средний интервал времени между последовательными поступлениями транзактов в модель.
Операнд B - задает модификатор, который изменяет значения интервала генерации транзактов по сравнению с интервалом, указанным операндом А. Есть два типа модификаторов: модификатор-интервал и модификатор-функция.
С помощью модификатора-интервала задается равномерный закон распределения времени между генерацией транзактов.
Операнды А и B могут быть именем, положительным числом, выражением в скобках или непосредственно СЧА.
При вычислении разности значений (А-В), заданных операндами А и B, получается нижняя граница интервала, а при вычислении суммы (А+В) - верхняя граница. После генерации очередного транзакта выбирается число из полученного интервала, это и будет значение времени, через которое следующий транзакт выйдет из блока GENERATE.
Когда операнды А и B задают в виде констант (B - модификатор-интервал), они должны быть неотрицательными числами, т. е. интервал времени может быть выражен числами, например, 4.1,…,12.7. Предположим, что транзакт входит в модель - блок GENERATE - в момент модельного времени 25.6. После того, как этот транзакт попадет в следующий блок модели, планировщик GPSS разыграет случайное значение из распределения интервалов времени, равного 8.4±4.3.
Пусть разыгранным значением будет число 9.7. Тогда планировщик планирует приход следующего транзакта в блок GENERATE в момент времени 25.6+9.7=35.3.
Операнды А и В не обязательно должны быть заданы. Когда один или оба операнда не указаны, по умолчанию предполагается их нулевое значение. Например, А=16.4, В=0. Поскольку операнд В=0, то интервалы времени распределены равномерно, 16.4±0, т. е. интервал времени поступления равен 16.4. Это пример того, как может быть задано детерминированное значение интервалов времени.
Более сложные интервалы времени поступления транзактов (не по равномерному закону) могут быть заданы с использованием модификатора-функции или встроенных генераторов случайных чисел. Под действием модификатора-функции значение операнда А умножается на значение функции, заданной операндом В.
При любом способе вычисления интервала времени значение операнда В не должно превышать значения операнда А, в противном случае в блоке GENERATE может быть получен отрицательный интервал времени, который вызовет останов по ошибке "Отрицательное время задержки".
Рассмотрим три дополнительных операнда: С - смещение интервалов, D - ограничитель, Е - уровень приоритета.
Смещение интервалов (первоначальная задержка) С - это момент времени, в который в блоке GENERATE должен появиться первый транзакт. После этого первого прихода все остальные приходы транзактов возникают в соответствии с распределением интервалов времени, задаваемых операндами А и B. Операнд С можно использовать как для ускорения, так и для замедления прихода первого транзакта или для указания прихода в нужный момент времени. Начальная задержка может быть меньше, равна или больше среднего времени, заданного операндом А. Когда операнд С не используется, интервалы генерирования определяются операндами А и B (они не оказывают влияния на задержку). Операнд С может быть таким же как и операнды А и B.
Операнд D задает граничное значение общего числа транзактов, которые могут войти в модель через данный блок GENERATE в течение времени моделирования. Когда это число достигнуто, данный блок GENERATE перестает быть активным. Если не определено граничное значение (операнд D не используется), блок GENERATE остается активным в течение всего времени моделирования, т. е. по умолчанию ограничения на количество создаваемых транзактов нет.
Операнд Е устанавливает класс приоритета каждого из транзактов, входящих в модель через данный блок GENERATE. Для задания приоритетов c целью повышения эффективности работы GPSS World рекомендуется использовать последовательность целых чисел 0, 1, 2, 3,… вместо, например, 37, 43, 88, 122,... Чем выше число, тем выше приоритет. Если операнд Е не используется, по умолчанию приоритет генерируемых данным блоком GENERATE транзактов равен нулю.
Операнды D и Е могут задаваться также как и операнды А, B и С, но при этом принимать значения только целых положительных и целых чисел соответственно.
В любом блоке GENERATE должен быть обязательно задан либо операнд А, либо операнд D. Нельзя использовать в качествеоперанда параметры транзактов. Необходимо также помнить, что транзакт не должен входить в блок GENERATE. Если транзакт пытается это делать, возникает ошибка выполнения. Приведем примеры записи блоков GENERATE:
с операндом А
1. GENERATE 38.6
2. GENERATE X$IntPostTran
3. GENERATE MX$VrPost(3,6)
4. GENERATE V$Prom
5. GENERATE (Exponential(11,0,X$Mat))
6. GENERATE IntPostTran
с операндами А и B
7. GENERATE 73.25,X$Otk
8. GENERATE X$Sredne,FN2
9. GENERATE Sredne,FN4
10. GENERATE (V$Post+7.1),FN$Mod
с операндами А и C
11. GENERATE 7.3,,4.1
12. GENERATE 7.3,,X$VrSm
13. GENERATE V$IntP,,MX2(X$Stroka,X$Stolbez)
14. GENERATE (Normal(3,X$Sre,X$SreOtk)),,Sme
с операндами А, B, E
15. GENERATE 13.3,2.8,,,1
16. GENERATE (Normal(8,X$Sr,X$SrOtk)),Post,,1
17. GENERATE V$IntPostTran,(V1-12.3),,12
Приведенные примеры демонстрируют различные способы задания операндов блока GENERATE. Однако при этом нужно помнить следующее.
В начальный момент времени в каждом блоке GENERATE производится подготовка к выходу одного транзакта. На этой стадии модель еще полностью не инициализирована для выполнения, т. е. не все переменные получили значения. Но описанные в блоке GENERATE, должны быть уже определены - инициализированы. Поэтому в модели блоку GENERATE должны предшествовать команды определения EQU, INITIAL, FUNCTION, VARIABLE, FVARIABLE. Это делается для того, чтобы СЧА в блоке GENERATE, который ссылается на них, давали нужные для ввода транзактов в модель результаты.
Например:
SrIntPost EQU 47.2
StanOtkl EQU 28.6
INITIAL X$KolTrans,43
. . .
GENERATE SrIntPost,StOtk,,X$KolTrans
Как видно из примера, блоку GENERATE предшествуют присвоения командой EQU именам числовых значений и командой INITIAL начального значения сохраняемой ячейке с именем Kol-Trans.
... -текущих планов мероприятий – до исполнения. -перспективных планов мероприятий – 5 лет. Выводы по разделу 1. В первом разделе были рассмотрены теоретические основы управления качеством, являющимися базовыми при разработке системы управления качеством. Был затронут международный опыт данной деятельности. При работе над первым разделом была рассмотрена и представлена в разделе, процедура получения ...
... угля на складе на каждый день. Данный алгоритм представлен на рисунке 2.11 Рисунок 2.11 — Блок-схема алгоритма расчета оптимального запаса угля на складе Расчет оптимального запаса угля на складе Змиевской ТЭС начинается с ввода исходных данных о потреблении угля по дням в течение всего года. А также ...
... цикла наибольшую сложность составляет определение t мо. Значение остальных составляюших определяется сравнительно легко. Литература: Козловский В.А. и др. Производственный и операционный менеджмент. Учебник – СПб: «Специальная Литература», 1998. с. 276 6. Управление проектами Планирование, расписание и контроллинг проектов Управление большими проектами включает три фазы: 1) ...
... Сданные в бухгалтерию инвентаризационные описи должны тщательно проверяться и затем после проверки выводится результат инвентаризации. 4. Применение методов управления запасами в целях повышения экономической эффективности системы материально-технического снабжения предприятия 4.1 Регулирование параметров логистической концепции «точно в срок» на основе методов оценки надежности процесса ...
0 комментариев