Моделирование работы АЗС
Федеральное государственное образовательное учреждение высшего профессионального образования
Рязанский государственный
агротехнологический университет
имени П.А. Костычева
Кафедра Информационных технологий (в экономике)
Курсовая
работа
по дисциплине: Имитационное моделирование экономических процессов
на
тему: Моделирование
работы АЗС
Выполнила: студентка 41 И группы
специальности Прикладная информатика (в экономике)
Маркова А.Ю.
Проверил:
Филатов Ю.А.
Рязань 2010
Содержание
Введение…………………………………………………………
1. Моделирование
работы АЗС……………………………………………………
- Постановка задачи……………………………………………………………4
- Выявление основных особенностей…………………………………………4
- Построение имитационной модели процесса………………………………5
- Представление имитационной модели……………………………………..10
- Визуализация процесса функцион
ирования системы…………………..11
1.6.
Моделирование системы…………………………………………………...
1.7. Графическое представление результатов моделирования………………….16
Заключение……………………………………………………
Список
литературы…………………...…………………………
Введение
За последнее время в самых разных областях практики возникла необходимость в решении различных вероятностных задач, связанных с работой, так называемых систем массового обслуживания (СМО). Примерами таких систем могут служить: телефонные станции, ремонтные мастерские, билетные кассы, стоянки такси, парикмахерские и т.п.
Темой данного курсового проекта как раз и является решение подобной задачи.
Требуется промоделировать работу АЗС в течение рабочей смены - 8 часов и определить параметры функционирования АЗС:
- коэффициент загрузки каждой колонки;
- среднее время обслуживания в каждой колонке;
- максимальное, среднее и текущее число автомобилей в очереди к каждой колонке;
- среднее время нахождения автомобиля в каждой очереди.
Практическое решение задачи осуществлено с помощью программы GPSSW.
1.
Моделирование работы
АЗС
- Постановка задачи
Исходные данные:
- АЗС включает заправочных колонок. Время заправки на первой колонке составляет мин., а на второй - мин.
- Поток автомобилей, поступающих на заправку, подчиняется экспоненциальному распределению с параметрами .
- Автомобиль подъезжает к колонке, которая не занята обслуживанием другой машины. Если колонки заняты, автомобиль встает в очередь.
| Вариант | ||||
| 1 | 2 | 8 |
1.2.
Выявление основных
особенностей
Составим
концептуальную модель
работы автозаправочной станции. Элементами
исследуемой системы являются: входящий
поток автомобилей, две бензоколонки и
очереди. На рис. 1 приведена концептуальная
модель АЗС.
Рис. 1. Схема обслуживания автомобилей на АЗС
Ограничения модели связаны:
- с условиями, накладываемыми на поток поступающих автомобилей (он предполагается простейшим, отсутствуют повторные заявки);
- упрощенным алгоритмом функционирования АЗС и выбора бензоколонки для обслуживания;
- отсутствием явлений, изменяющих закономерности времени обслуживания автомобилей (технологические перерывы, отказы и сбои оборудования, отсутствие топлива, ошибки при заправке и при денежных расчетах, количество и тип топлива).
В
качестве единицы измерения времени
примем минуту.
1.3.
Построение имитационной
модели процесса
Составим модель на языке моделирования. В качестве средства автоматизации имитационного моделирования автозаправочной станции будем использовать GPSS World. Для начала составим блок – схему моделируемого объекта с использованием элементов языка GPSSW. (Рис.2)
Рис.2.
Блок-схема моделируемого объекта
Моделирование потока машин, поступающих на заправку, будем выполнять с помощью оператора GENERATE (Генерировать). Нам необходимо сформировать поток машин, поступающих на обслуживание на АЗС, который подчиняется экспоненциальному распределению вероятностей.
В системе GPSSW в библиотеку процедур включено более 20 встроенных распределений вероятности. Эти распределения имеют широкий диапазон использования.
Каждый вызов процедуры распределения вероятности требует, чтобы вы определили параметр потока, номер генератора случайных чисел:
GENERATE (Exponential (1, 0, 8))
В поле операнда А указывается обращение к библиотечной процедуре - экспоненциальному распределению вероятности.
Автомобиль, поступающий на заправку, сначала встает в очередь, если она есть. Это можно промоделировать оператором QUEUE (Очередь), который только в совокупности с оператором DEPART (Выйти) собирает статистическую информацию о работе моделируемой очереди.
В нашем примере оператор QUEUE будет выглядеть так:
QUEUE Zapravka
В поле операнда А дается символьное или числовое имя очереди. Таких очередей в системе может быть очень много. В нашей задаче дадим очереди имя Zapravka (Заправка). Желательно, чтобы присваиваемое имя отражало суть описываемого элемента системы.
Поскольку на АЗС есть две колонки для заправки, то автомобиль подъезжает к первой колонке, если она свободна, и ко второй, если первая занята. Если обе колонки заняты, то автомобиль ожидает их освобождения в общей очереди. Направление автомобилей на ту или иную колонку может быть обеспечено оператором TRANSFER (Передать), который запишется так:
TRANSFER Both, Kol_1, Kol_2
Слово Both (Оба) означает возможность передачи требования (машины) по двум направлениям: к оператору с меткой Коl_1, если первая колонка (объект) не занята, и к оператору с меткой Коl_2, если занята.
Следуя логике, автомобиль может выйти из очереди только тогда, когда освободится первая или вторая колонка (объект). Для моделирования используются два сегмента. Первый из них связан с работой первой колонки, а второй - с работой второй. Оба сегмента начинаются с оператора SEIZE (Занять), и каждый из них имеет свою метку, соответственно Ко1_1 и Ко1_2, которые определяют занятость первой или второй колонки (канала обслуживания). При освобождении одной из них находящееся впереди требование выходит из очереди и идет в канал на обслуживание.
Начало первого сегмента записывается так:
Kol SEIZE Kolonka_l
В поле операнда А дается символьное или числовое имя объекта. Таких каналов обслуживания в системе может быть очень много. В нашей задаче каналу дано имя Kolonka_l (Колонка_1).
Выход автомобиля из очереди фиксируется оператором DEPART с соответствующим названием очереди:
DEPART Zapravka
Далее промоделируем время заправки автомобиля на первой колонке. Оно в нашем случае составляет 10±2,5 мин. Для моделирования этого процесса используется оператор ADVANCE (Задержать), который выглядит так:
ADVANCE 10, 2.5
Затем необходимо сообщить об освобождении колонки под номером 1. Это можно сделать с помощью оператора RELEASE (Освободить):
RELEASE Kolonka_1
Далее используется оператор TRANSFER (Передать) в режиме безусловной передачи требования к оператору с указанной меткой в поле операнда В. Это будет выглядеть так:
TRANSFER, Next
Начало второго сегмента запишется так:
Kol_2 SEIZE Kolonka_2
В поле операнда А дается символическое имя объекта - Kolonka_2. Выход автомобиля из очереди фиксируется оператором DEPART с соответствующим названием очереди:
DEPART Zapravka
Далее должно быть промоделировано время заправки автомобиля на второй колонке. Оно в нашем примере составляет 13±4 мин. Для моделирования этого процесса аналогично используется оператор ADVANCE:
ADVANCE 13, 4
Далее необходимо сообщить об освобождении колонки под номером 2:
RELEASE Kolonka_2
Затем используем оператор SAVEVALUE (Сохраняемая величина) с меткой Next (Следующий) для сохранения среднего времени нахождения автомобиля в очереди под именем Zapravka в сохраняемой величине под именем Ave_Queue. Это будет выглядеть так:
Next SAVEVALUE Ave_Queue,QT$Zapravka
Далее автомобиль покидает АЗС. Для этого используется оператор TERMINATE (Завершить):
TERMINATE
И наконец, мы должны создать сегмент, который будет моделировать работу АЗС в течение рабочей смены, равной 8 ч. Поскольку моделирование работы АЗС проводится в минутах, то время моделирования системы будет равно 8 х 60 - 480 мин. Этот сегмент будет выглядеть так:
GENERATE 480
TERMINATE 1
START 1
Следует особо подчеркнуть, что парные операторы QUEUE и DEPART для каждой очереди должны иметь одно и то же, но свое уникальное имя. Это же относится и к операторам SEIZE и RELEASE.
Завершающим оператором является START, дающий команду начать моделирование.
Итак, текст имитационной модели будет выглядеть следующим образом:
GENERATE (Exponential(1,0,8))
QUEUE Zapravka
TRANSFER Both,Kol_1,Kol_2
Kol_1 SEIZE Kolonka_1
DEPART Zapravka
ADVANCE 10,2.5
RELEASE Kolonka_1
TRANSFER ,Next
Kol_2 SEIZE Kolonka_2
DEPART Zapravka
ADVANCE 13,4
RELEASE Kolonka_2
Next SAVEVALUE Ave_Queue,QT$Zapravka
TERMINATE
GENERATE 480
TERMINATE 1
START
1
1.4. Представление имитационной модели
Для представления имитационной модели выполним следующие действия:
- щелкнем по пункту File главного меню системы. Появится выпадающее меню;
- щелкнем по пункту New (Создать) выпадающего меню. Появится диалоговое окно Новый документ;
- выделим пункт Model и щелкнем по кнопке ОК. Появится окно модели, в котором введем данную программу. Оно показано на рис. 3.
Рис. 3. Окно
имитационной модели АЗС
1.5. Визуализация процесса функционирования системы
Перед началом моделирования, а точнее после трансляции модели, система GPSSW обеспечивает возможность визуального наблюдения перемещения активных требований (транзактов) в процессе моделирования. Команда управления START, должна быть заблокирована, то есть переведена в комментарии. Процесс визуального наблюдения перемещения активных требований при моделирования включает следующие этапы:
- щелкнем по пункту Window главного меню системы;
- щелкнем по пункту Simulation Window выпадающего меню. Появится всплывающее меню;
- щелкнем по пункту Block Entities (Блочные элементы) всплывающего меню. Появится диалоговое окно BLOCK ENTITIES.
Рис.4.
Окно BLOCK ENTITIES
Для визуального наблюдения перемещения активных требований в процессе моделирования:
- щелкнем по пункту Command главного меню системы. Появится выпадающее меню;
- щелкните по пункту START. Появится диалоговое окно Start Command;
- щелкните по кнопке ОК. Начнется процесс поступления и перемещения активных требований (автомашин) в моделируемой системе. (Рис.5)
Рис.5.
Блок-схема моделируемой системы АЗС
1.6. Моделирование системы
После создания имитационную модель необходимо оттранслировать и запустить на выполнение. Для этого:
- щелкнем по пункту Command главного меню системы;
- щелкнем по пункту Create Simulation (Создать выполняемую модель) выпадающего меню.
Так как в имитационной модели имеется управляющая команда START, то исходная имитационная модель будет транслироваться, и если в ней нет ошибок, начнется процесс моделирования системы.
Перед началом моделирования установим вывод тех параметров моделирования, которые нам нужны. Для этого;
- щелкнем по пункту Edit (Правка) главного меню системы. Появится выпадающее меню;
- щелкнем по пункту Settings (Установки) выпадающего меню. Появится диалоговое окно SETTINGS для данной модели, в котором устанавливаем нужные выходные данные.
Рис.6. Окно Settings с установками для имитационной модели АЗС
В нашем примере будет выведена информация по следующим объектам:
- Queues (Очереди);
- Facilities (Каналы обслуживания) ;
- Savevalues (Сохраняемые величины).
Рис.7. Окно REPORT с результатами моделирования имитационной модели АЗС
В верхней строке указывается:
- START TIME (Начальное время) - 0.000;
- END TIME (Время окончания) - 480.000;
- BLOCKS (Число блоков) - 16;
- FACILITIES (Число каналов обслуживания) - 2;
- STORAGES (Число накопителей) - 0.
Ниже указываются результаты моделирования каналов обслуживания соответственно под назначенными нами именами KOLONKA_1 и KOLONKA_2:
- ENTRIES (Число входов) - 36 и 25;
- UTIL. (Коэффициент использования) - 0.715 и 0.679;
- AVE. TIME (Среднее время обслуживания) - 9.533 и 13.039;
- AVAIL. (Доступность) - 1 и 1;
- OWNER (Возможное число входов) - 62 и 0;
- PEND-0 и 0;
- INTER-0 и 0;
- RETRY (Повтор) - 0 и 0;
- DELAY (Отказ) - 0 и 0.
Еще ниже указываются результаты моделирования очереди под именем ZAPRAVKA:
- МАХ (Максимальное содержание) - 6;
- CONT. (Текущее содержание) - 0;
- ENTRY (Число входов) - 61;
- ENTRY(O) (Число нулевых входов) - 22;
- AVE.CONT. (Среднее число входов) - 1.063;
- AVE.TIME (Среднее время пребывания в очереди) - 8.365;
- AVE.(-0) - 13.084;
- RETRY-0.
Еще
ниже приведены параметры
- RETRY - 0;
- VALUE (Значение) - 8.504.
Определим параметры функционирования АЗС:
- коэффициент загрузки каждой колонки - 0.715 и 0.679;
- среднее время обслуживания в каждой колонке - 9.533 и 13.039;
- максимальное число автомобилей в очереди - 6;
- среднее число автомобилей в очереди - 1.063;
- текущее число автомобилей в очереди - 0;
- среднее время нахождения автомобиля очереди - 8.365.
Так
как, коэффициент использования второй
колонки меньше 0,7, (UTIL.
= 0.679), сократим одного служащего, что приведет
к увеличению среднего времени обслуживания
каждой колонки в 1,25 раза. Таким образом,
время заправки на первой колонке составит
мин., а на второй -
мин. Проведем прогон модели с новыми
входными данными и проанализируем результаты.
Рис.8. Окно REPORT с результатами моделирования имитационной модели АЗС
Результаты моделирования каналов обслуживания:
- коэффициент загрузки каждой колонки - 0.891 и 0.830;
- среднее время обслуживания в каждой колонке - 11.884 и 15.932;
- максимальное число автомобилей в очереди - 9;
- среднее число автомобилей в очереди - 2.554;
- текущее число автомобилей в очереди - 0;
- среднее время нахождения автомобиля очереди - 20.101.
Из
результатов моделирования
1.7.
Графическое представление
результатов моделирования
Представим графически на всем периоде моделирования, как меняется длина очереди машин на заправку. Для нашей задачи окно Edit Plot Window заполним так, как показано на рис.9.
Рис.9. Окно Edit Plot Window
После заполнения диалогового окна Edit Plot Window щелкнем по кнопкам Plot (График), Memorize (Запомнить), а затем - по кнопке ОК. Появится заготовка графика. После этого:
- в пункте Command главного меню системы щелкнем по пункту START. Появится диалоговое окно Start Command;
- введем в
диалоговом окне Start
Command число 1 и щелкнем по кнопке
ОК. Появится окно REPORT (Отчет) с результатами моделирования. На
заднем плане будет размещаться график;
Фрагмент графика представлен на рис. 10.
Рис.10.
График «Длина очередей колонок»
Для получения дополнительной информации можно ввести в начале программы команду QTABLE для построения соответствующей гистограммы. Эта команда для нашей задачи может быть записана в таком виде:
INFORM QTABLE ZAPRAVKA 0,3,35
где INFORM – имя таблицы;
А (ZAPRAVKA)- имя очереди;
B (0) - левая граница первого интервала таблицы;
C (3) - ширина интервала таблицы;
D (35)
- количество интервалов таблицы, увеличенное
на 2
Далее для построения гистограммы:
- щелкнем по пункту Window главного меню системы. Появится выпадающее меню;
- щелкнем по пункту Simulation Window (Окно моделирования) выпадающего меню и выберем пункт Table Window (Окно гистограммы). Появится диалоговое окно Open Table Window (Открыть окно гистограммы). В раскрывающемся списке Table щелкните по гистограмме INFORM.
- щелкнем по кнопке ОК. Появится соответствующая гистограмма (Рис.11).
Рис.11. Окно
гистограммы имитационной модели АЗС
Заключение
В ходе выполнения курсовой работы были получены основные навыки решения задач СМО в среде имитационного моделирования GPSS World.
Нами была смоделирована работа СМО, представленной АЗС с двумя колонками и потоком автомобилей, подчиняющимся экспоненциальному распределению. В результате получены выходные данные в среде GPSS, которые были проверены путём математических вычислений. В процессе нескольких реализаций работы СМО для двух вариантов значений среднего времени обслуживания каждой колонки были получены результаты функционирования системы. На основе полученных данных были построены графики, позволяющие провести исследование работы СМО.
Список литературы
- Кудрявцев Е.М. GPSS World. Основы имитационного моделирования различных систем. – М.: DMK Press, 2004. – 318 с.
- Шевченко Д.Н., Кравченя И.Н. Имитационное моделирование на GPSS. – Гомель: БелГУТ, 2007, - 97с.
- В. Боев – «Моделирование систем. Инструментальные средства GPSS WORLD» 368 стр. 2004 г. Издательство: BHV.
- Кудрявцев, Добровольский – «Основы работы с универсальной системой моделирования GPSS World» 256 стр. 2005 г.
- Томашевский – «Имитационное моделирование в среде GPSS» 416 стр. 2003 г.

- Моделирование работы библиографической системы
- Моделирование работы вычислительного центра по равномерному распределению
- Моделирование работы диспетчерского пункта
- Моделирование работы железнодорожной сортировочной горки
- Моделирование работы карьера
- Моделирование работы кафе
- Моделирование работы конечного распознавателя для последовательностей путей поиска файлов, разделенных запятой, и заканчивающихся точко
- Моделирование процесса принятия управленческого решения
- Моделирование процесса продаж на предприятии
- Моделирование процесса сборки изделий на GPSS
- Моделирование процесса транспортного обслуживания
- Моделирование процессов
- Моделирование процессов с помощью тиаграмм типа граф
- Моделирование прчески