четверг, 10 июня 2010 г.

ФЛП: GPSS

Наткнулся я тут случайно на свою курсовую полугодичной давности по gpss. Сделал я её тогда за ночь )) Пусть висит )

Надо было смоделировать такую карусель:

Автобус совершает в день N рейсов между пунктами A и B. В течение дня с вероятностью a возможно появление дефекта, при котором автобус может продолжать движение. На устранение дефекта необходимо затратить время одного рейса. Если дефект не устранить, то с вероятностью b возникает поломка, на устранение которой уходит весь оставшийся день.
У водителя, в случае появления дефекта, есть выбор:
1. Устранить дефект.
2. Продолжить движение.

При каком b предпочтителен тот или иной вариант?
a = 0.2, N = 25

Реализовал я это так:

10 INITIAL LS$POLOMKA 0 ; инициализация флага
20 TAB_RES TABLE P1 10 15 2 ; создание таблицы
30 GENERATE 30,,,25 ;генерация N транзактов
40 GATE LR POLOMKA SLOMAN ;проверка флага и соотв. переход
50 TRANSFER .2,,DEFECT ;переход с вероятностью a в DEFECT
60 SUCCESS ASSIGN 1 1 ;запись в параметр успешного значения
70 TABULATE TAB_RES ;запись параметра в таблицу
80 TERMINATE 1 ;завершение
100 DEFECT TRANSFER .1,,LOMAETSA ;переход с вероятностью b в LOMAETSA
110 TRANSFER ,SUCCESS ;переход в SUCCESS
120 LOMAETSA LOGIC S POLOMKA ;поднятии флага POLOMKA
130 SLOMAN ASSIGN 1,25 ;запись в параметр неудачного значения
140 TABULATE TAB_RES ;запись параметра в таблицу
150 TERMINATE 1 ;завершение

Вот, довольно лаконично.

Комментариев нет: