Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
370.doc
Скачиваний:
16
Добавлен:
30.04.2022
Размер:
3.06 Mб
Скачать

11.25. Моделирование нескольких вариантов системы в одной gpss-модели

Во многих случаях при определении оптимального варианта системы (при ее проектировании или модернизации) требуется смоделировать несколько вариантов этой системы. Варианты могут различаться по количеству обслуживающих устройств (в GPSS-модели это соответствует изменению количества каналов многоканального устройства), по характеристикам этих устройств (это соответствует изменению операндов в операторе ADVANCE) и т.д. Например, при проектировании ВЦ может потребо-ваться смоделировать варианты, различающиеся по количеству ЭВМ и по их быстродействию. Иногда требуется смоделировать работу системы в условиях различных потоков заявок, поступающих на обслуживание.

В GPSS/PC имеется возможность моделирования различных вариантов системы с использованием одного текста GPSS-модели.

Общий вид модели для имитации различных вариантов системы следующий.

текст модели 1-го варианта системы

REPORT файл результатов_1

START счетчик_завершений

CLEAR

операторы для 2-го варианта системы

REPORT файл результатов_2

START счетчик_завершений

CLEAR

операторы для 3-го варианта системы

REPORT файл результатов_N-1

START счетчик_завершений

CLEAR

операторы для N-го варианта системы

REPORT файл результатов_N

START счетчик_завершений

Такая модель работает следующим образом. После окончания моделирования 1-го (исходного) варианта системы результаты моделирования записываются в файл, заданный первым оператором REPORT. Затем результаты моделирования (а также оставшиеся в модели транзакты) удаляются оператором CLEAR. После этого операторы исходной модели заменяются на операторы для второго варианта системы, и новый (второй) вариант модели запускается на выполнение второй командой START. Результаты моделирования записываются в файл, заданный вторым оператором REPORT. Затем то же самое повторяется для 3-го,...,N-го варианта системы.

Операторы исходной модели и заменяющие их операторы для других вариантов системы обязательно должны иметь одинаковые метки. Могут заменяться ТОЛЬКО операторы объявления, расположенные в начале текста модели (до первого оператора GENERATE); обычно это операторы STORAGE и FVARIABLE.

Имена файлов результатов, указанные в операторах REPORT, должны быть разными.

Во втором и последующих вариантах модели может заменяться один или несколько операторов исходного варианта модели. Операторы, введен-ные в модель взамен исходных, сохраняются и во всех последующих вари-антах модели; они также могут заменяться.

Пример. Требуется выбрать тип и количество ЭВМ для оснащения ВЦ, который будет выполнять заказы на решение задач. Кроме того, для обеспечения своевременного выполнения заказов предполагается установить ограничение на очередь заказов, т.е. не принимать новые заказы, если уже есть определенное количество заказов, ожидающих выполнения. Предлагаются три варианта оснащения ВЦ и режима его работы: 1) две ЭВМ типа A; количество заказов в очереди - не более пяти; 2) одна ЭВМ типа B; количество заказов в очереди - также не более пяти; 3) две ЭВМ типа B; количество заказов в очереди - не более семи.

Известно, что поток задач, поступающих на ВЦ для решения - пуассоновский; в среднем задачи поступают на решение через каждые два часа. Время решения одной задачи на ЭВМ типа A - экспоненциальная случайная величина; в среднем решение занимает 3 часa. На ЭВМ типа B решение одной задачи занимает от 1 до 3 часов. Плата заказчика за решение одной задачи составляет 100 д.е.; однако, если полное время выполнения заказа (от поступления заказа на ВЦ до выдачи результатов) превышает 10 часов, то плата снижается до 70 д.е.

Требуется разработать GPSS-модель для анализа работы каждого из предлагаемых вариантов в течение 500 часов. Предусмотреть подсчет выручки ВЦ от решения задач, а также подсчет количества отказов.

10 SIMULATE

20 XPDIS FUNCTION RN1,C24

... таблица соответствия для экспоненциального распределения ...

30 COMP STORAGE 2

40 RESH FVARIABLE 180#FN$XPDIS

50 OGR FVARIABLE 5

60 GENERATE 120,FN$XPDIS

70 TEST LE Q1,V$OGR,OTKAZ

80 QUEUE 1

90 ENTER COMP

100 DEPART 1

110 ADVANCE V$RESH

120 LEAVE COMP

130 TEST LE M1,600,SNIZ

140 SAVEVALUE PLATA+,100

150 TRANSFER ,KON

160 SNIZ SAVEVALUE PLATA+,70

170 TRANSFER ,KON

180 OTKAZ SAVEVALUE OTK+,1

190 KON TERMINATE

200 GENERATE 30000

210 TERMINATE 1

220 REPORT D:VAR1.REP

230 START 1

240 CLEAR

250 COMP STORAGE 1

260 RESH FVARIABLE 60+120#RN1/999

270 REPORT D:VAR2.REP

280 START 1

290 CLEAR

300 COMP STORAGE 2

310 OGR FVARIABLE 7

320 REPORT D:VAR3.REP

330 START 1

Модель работает следующим образом. Сначала моделируется вариант ВЦ с двумя ЭВМ типа A (операторы 60 - 190). В операторе 70 выполняется сравнение количества задач, ожидающих решения (длина очереди 1) с максимально допустимым количеством таких задач (переменная OGR); по результатам сравнения имитируется прием заказа (если Q16) или отказ. Для имитации времени решения задач используется переменная RESH; время решения (экспоненциальная случайная величина) имитируется по формуле, полученной по методу обратных функций. Результаты выводятся в файл с именем VAR1.REP. Для удаления результатов моделирования из памяти компьютера используется оператор CLEAR (240).

Для имитации второго варианта ВЦ операторы с метками COMP и RESH (30 и 40) заменяются на операторы с теми же метками (250 и 260 соответственно). Здесь в операторе 260 имитируется время решения задачи на ЭВМ типа B. Это время - случайная величина, распределенная по равномерному закону; для его имитации используется формула (1.17), полученная по методу обратных функций. Второй вариант модели запускается оператором 280; результаты выводятся в файл VAR2.REP.

Для имитации третьего варианта заменяются операторы с метками COMP и OGR (300 и 310); это соответствует изменению количества ЭВМ и ограничения на длину очереди. Время решения задач в третьем варианте по-прежнему имитируется с помощью переменной RESH, заданной в операторе 260, так как этот оператор не заменяется.

Примечание. При имитации равномерной случайной величины (в операторе 260) требуется деление на 999, так как при обращении к датчику случайных чисел в операторе описания переменной генерируется число, равномерно распределенное в диапазоне от 1 до 999 (а не от 0 до 1). СРРЧ, равномерно распределенные в диапазоне от 0 до 1, в GPSS/PC генерируются только в случае, если обращение к датчику случайных чисел указывается в описании функции.

Примечание. Для имитации времени решения задачи применяется переменная (а не операторы ADVANCE 180,FN$XPDIS и ADVANCE 120,60), так как при использовании нескольких вариантов модели могут заменяться только операторы объявления (в данном случае - оператор FVARIABLE), но не операторы, непосредственно составляющие текст модели (как, например, оператор ADVANCE).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]