Построение модели в GPSS

  • 04 сент. 2011 г.
  • 1440 Слова
Министерство образования и науки РФ

Государственное Образовательное Учреждение
Высшего профессионального образования
«Комсомольский-на-Амуре Государственный технический университет»

Лабораторная работа
по дисциплине «Компьютерное моделирование»
Построение модели в GPSS



2011
Тема: Разработка моделей с помощью системы моделирования GPSS.
Цель: Ознакомится свозможностями среды разработки моделей на GPSS.
Задача: Разработать собственную модель и реализовать её средствами GPSS.

Задача.

Количество блюд | 1 блюдо | 2 блюда | 3 блюда |
Вероятность | 0.3 | 0.5 | 0.2 |
В столовую в течение одного часа рабочего дня заходят студенты с интервалом 20с - 2 мин. Они подходят к кассиру и делают заказ в течение 10 – 60 секунд. Оплачивает заказ у кассира в течение 6– 20 секунд. Затем они подходят к продавцу (кто отдает заказ), который за время 30 с – 1,5 мин. разогревает обед и отдает студенту. Количество блюд, которое студент может заказать, разное и со следующей вероятностью:

Как только студент получил свой заказанный обед, он занимает место за столиком в столовой и обедает в течение 5 – 15 минут. Затем покидает столовую.
Также в столовую приходят иучителя с интервалом 15 – 20минут. Они имеют больше приоритет (приоритет их равен единице), чем студент. Они также подходят к кассиру и делают заказ в течение 10 – 60 секунд. Оплачивает заказ у кассира в течение 10 – 30 секунд. Затем они подходят к продавцу (кто отдает заказ), который за время 30 с – 1,5 мин. разогревает обед и отдает учителю. Количество блюд, которое учитель может заказать, разное и соследующей вероятностью:
Количество блюд | 1 блюдо | 2 блюда | 3 блюда |
Вероятность | 0.2 | 0.7 | 0.1 |

Как только учитель получил свой заказанный обед, он занимает место за столиком в столовой и обедает в течение 10 – 15 минут. Затем покидает столовую. Определить количество блюд, проданных за час работы столовой?


Решение задачи

За единицу модельного времени возьмем секунду. И переведемна модельное время наше время, указанное в задачи.
Текущее время | Модельное время |
1 час | 3600 |
20 cек – 2 мин | 20 – 120 |
10 – 60 сек | 10 – 60 |
6 – 20 сек | 6 – 20 |
30 сек –1,5 мин | 30 – 90 |
5 – 15 мин | 300 - 900 |
15 – 20 мин | 900 - 1200 |
10 – 30 сек | 10 - 30 |
10 – 15 мин | 600 - 900 |

Отобразим таблицу объектов, используемых для решения данной задачи.Объект реального мира | Объект GPSS | Имя объекта в модели |
Студент | транзакт | - |
Учитель | транзакт | - |
Столовая | накопитель | Stolov_ |
Кассир | устройство | Kassir |
Продавец | устройство | Prodavec |
Количество блюд, приобретенных студентом | функция | blud_kol_st |
Количество блюд, приобретенных учителем | функция | blud_kol_uchit |
Общее количество купленных блюд |сохраняемая величина | blud_kol |

Код программы в GPSS:

Stolov_ STORAGE 40 ;в столовой 40 мест
blud_kol_st FUNCTION RN1,D3 ; вероятность покупки количества блюд студентом
.3,1/.8,2/1,3
blud_kol_uchit FUNCTION RN2,D3 ; вероятность покупки количества блюд учителем
.2,1/.9,2/1,3

GENERATE 70,50 ; студенты приходят в столовую
SEIZE Kassir ;подходят ккассиру
ADVANCE 35,25 ; делают заказ
ADVANCE 13,7 ; оплачивают заказ
RELEASE Kassir ; покидают кассиру
SEIZE Prodavec ; подходят к продавцу
ADVANCE 60,30 ; ожидают получения заказа
RELEASE PRODAVEC ; покидают продавца
ASSIGN bn,fn$blud_kol_st
SAVEVALUE blud_kol+,p$bn ; суммируем количество приобретенных блюд студентом к общему количеству блюдENTER Stolov_ ; студент занимает место за столиком в столовой
ADVANCE 600,300 ; обедает
LEAVE Stolov_; покидает место
TERMINATE

GENERATE 1050,150,0,,1 ;приходят учителя (приоритет =1)
SEIZE Kassir ; подходят к кассиру
ADVANCE 35,25 ; делают заказ
ADVANCE 20,10 ;оплачивают заказ
RELEASE Kassir ; покидают кассира...
tracking img