Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Государственное
образовательное учреждение
высшего профессионального образования
«Комсомольский-на-Амуре государственный технический университет»
Факультет Компьютерных технологий
Кафедра математического обеспечения и применения ЭВМ
По курсу «Компьютерное моделирование»
Выполнил: Киселевский М.Е.
Проверил: Петров Ю.А.
Комсомольск-на-Амуре
2007
Задание.
Разработать имитационную модель работы кассы железнодорожного вокзала.
Постановка задачи.
С 7:00 утра до 13:00 с целью купить билеты на поезд в здание вокзала заходит один человек каждые 3-7 минут. С 13:00 до 21:00 поток людей увеличивается (дополнительно за каждые 7-10 минут заходит один человек). На вокзале работают две кассы. Человек с одинаковой вероятностью покупает билет(ы) в одной из них. Из всех пришедших в первую кассу людей, восемь процентов могут оказаться VIP клиентами. VIP клиенты обслуживаются только в первой кассе. Когда человек подходит к кассе он становится в очередь. Как только очередь доходит до него, он за 30-50 сек заказывает билет(ы) (VIP клиент за 50-90 секунд), после чего кассир за 5-7 минут оформляет билет(ы) (билеты для VIP клиентов оформляются за 6-10 минут). После оформления билетов, кассир освобождается, а 30 процентов людей, купивших билеты (кроме VIP) идут в зал ожидания (всего доступно 50 мест). Необходимо учесть, что количество приобретаемых одним человеком билетов может принимать следующие значения:
Количество |
1 |
2 |
3 |
4 |
5 |
Вероятность |
0.6 |
0.7 |
0.8 |
0.9 |
1 |
VIP клиенты обслуживаются в кассе без очереди.
Таблица определений.
Объект реальный |
Объект GPSS |
Имя объекта в модели |
Покупатель |
Транзакт |
|
Кассиры |
Устройство |
kass1, kass2 |
Места в зале ожидания |
Накопитель |
mesto |
Количество покупателей |
Сохраняемая величина |
people |
Количество VIP покупателей |
Сохраняемая величина |
people_vip |
Количество билетов, проданных за день |
Сохраняемая величина |
bilets |
Количество покупаемых билетов |
Функция |
bk_n |
Текст программы.
savevalue bilets,0 ; Переменная для хранения числа купленых билетов
savevalue people,0 ; Переменная для хранения числа покупателей
savevalue people_vip,0 ; Переменная для хранения числа vip покупателей
mesto storage 50 ; Накопитель - количество мест ожидания
wait_time variable p$bn#25200 ; Среднее время ожидания поезда (7 часов)
; в читальном зале
wait_otk variable p$bn#18000 ; Допустимые отклонения этого
; времени (+5 или -5)
bilet_num function rn1,d5 ; Функция - генерирует количество билетов, купленных человеком
0.6,1/0.7,2/0.8,3/0.9,4/1,5
start 1 ; В начале программы счетчик
; транзактов устанавливаем в
; единицу,
generate 300,120 ; За билетом заходит человек каждые 3-7 минут
transfer .50,kas1way,kas2 ; 40% обслуживаются кассой номер два
kas1way transfer .08,kas1,kas1_vip ; 8% обслуживаются как VIP-клиенты
; в первой кассе
kas1 queue qkass1
seize kass1 ; Кассир 1 оформляет билет
; обслуживание человека
depart qkass1
advance 40,10 ; Заказ билета за 30-50 секунд
advance 360,60 ; Оформление билетов за 5-7 минут
release kass1 ; Кассир 1 освобождается
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.