Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник по курсу МС.doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
7 Мб
Скачать
☆

8.10. Оператор transfer

Оператор безусловного перехода (рис. 8.13)

TRANSFER, В

Здесь В — метка оператора, к которому следует переход.

Рис. 8.13. Обозначение блока TRANSFER

Используется ряд других разновидностей оператора TRANSFER.

TRANSFER P,В,С

Здесь переход происходит к оператору с меткой, равной сумме значения параметра В транзакта и числа С.

TRANSFER FN,В,С

То же, но вместо параметра транзакта слагаемым является значение функции В.

TRANSFER PICK, В,С

Это оператор равновероятного перехода к операторам, метки которых находятся в интервале [В, С]. Важное место в СМО занимает переход по вероятности

TRANSFER А,В,С

Здесь А — вероятность перехода к оператору с меткой С, переход к оператору с меткой В будет происходить с вероятностью 1 – А.

8.11. Оператор assigne

Оператор изменения параметров транзактов (рис. 8.14)

ASSIGN А, В

Здесь А — номер параметра транзакта, В — присваиваемое ему значение. В операторе

ASSIGN А+, В

параметр А увеличивается на значение В, а в операторе

ASSIGN А–, В

уменьшается.

Рис. 8.14. Обозначение блока ASSIGN

8.12. Операторы управления движением заявок

Расширение возможностей управления движением транзактов достигается благодаря таким операторам, как LOGIC (рис. 8.15) и GATE (рис. 8.16). Оператор

LOGIC X А

при Х=S устанавливает переключатель А в единичное состояние, а при Х=К сбрасывает его в нулевое состояние.

Рис. 8.15. Обозначение блока LOGIC

Оператор

GATE XX А, В

при X = LR и А =1 или при X = LS и А = 0 передает транзакт оператору с меткой В (или задерживает его в блоке GАТЕ, если поле В пусто), а при других сочетаниях Х и А направляет к следующему оператору.

Рис. 8.16. Обозначение блока GATE

8.13. Вычислительный оператор variable

Вычислительный оператор

М VARIABLE А

присваивает переменной с номером М значение арифметического выражения А, например в операторе

3 VARIABLE К216-S$MEM2

переменной № 3 присваивается разность числа 216 и объема занятой памяти в накопителе МЕМ2.

8.14. Оператор синхронизации матсн

Оператор синхронизации (рис. 8.17), имеющий, например, вид

LBL МАТСН NUMB

задерживает приходящий в него транзакт до тех пор, пока в некоторой другой части модели в сопряженный оператор

NUMB МАТСН LBL

не войдет транзакт того же семейства.

Рис. 8.17. Обозначение блока MATCH

8.15. Пример программы на языке gpss для смо

Пример. Заказы, поступающие в СМО в случайные моменты времени в диапазоне [20, 40], выполняет сначала бригада BR1, затем параллельно работают бригады BR2 и BR3, каждая над своей частью заказа.

Заданы экспоненциальные законы для времен выполнения работ бригадами BR1, BR2 и BR3 с интенсивностями 0,05, 0,1 и 0,125 соответственно. Моделирование нужно выполнить на временном отрезке, соответствующем выполнению 1000 заказов.

В этом примере использован экспоненциальный закон распределения с плотностью

w(T) = λ ехр(- λТ),

где λ — интенсивность.

Функция распределения экспоненциального закона:

Рис. 8.18. Время выполнения работ распределено по экспоненциальному закону

И з рисунка 8.18 видно, что поскольку искомыми являются значения β случайной величины Т, то, задавая значение α как равномерно распределенной в диапазоне [0, 1] случайной величины, по формуле

 

находим искомое значение. Именно в соответствии с этой формулой в операторах ADVANCE (см. далее программу) множителями были значения 1/λ.