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.



Информация о работе «Система управления запасами с неудовлетворительным спросом»
Раздел: Экономико-математическое моделирование
Количество знаков с пробелами: 42469
Количество таблиц: 0
Количество изображений: 1

Похожие работы

Скачать
310716
12
0

... -текущих планов мероприятий – до исполнения. -перспективных планов мероприятий – 5 лет. Выводы по разделу 1. В первом разделе были рассмотрены теоретические основы управления качеством, являющимися базовыми при разработке системы управления качеством. Был затронут международный опыт данной деятельности. При работе над первым разделом была рассмотрена и представлена в разделе, процедура получения ...

Скачать
80360
25
23

... угля на складе на каждый день. Данный алгоритм представлен на рисунке 2.11 Рисунок 2.11 — Блок-схема алгоритма расчета оптимального запаса угля на складе Расчет оптимального запаса угля на складе Змиевской ТЭС начинается с ввода исходных данных о потреблении угля по дням в течение всего года. А также ...

Скачать
94425
3
18

... цикла наибольшую сложность составляет определение t мо. Значение остальных составляюших определяется сравнительно легко. Литература: Козловский В.А. и др. Производственный и операционный менеджмент. Учебник – СПб: «Специальная Литература», 1998. с. 276 6. Управление проектами Планирование, расписание и контроллинг проектов Управление большими проектами включает три фазы: 1) ...

Скачать
212198
6
7

... Сданные в бухгалтерию инвентаризационные описи должны тщательно проверяться и затем после проверки выводится результат инвентаризации. 4. Применение методов управления запасами в целях повышения экономической эффективности системы материально-технического снабжения предприятия 4.1 Регулирование параметров логистической концепции «точно в срок» на основе методов оценки надежности процесса ...

0 комментариев


Наверх