Моделирование работы АЗС

Автор работы: Пользователь скрыл имя, 11 Января 2011 в 10:01, курсовая работа

Описание работы

Требуется промоделировать работу АЗС в течение рабочей смены - 8 часов и определить параметры функционирования АЗС:
* коэффициент загрузки каждой колонки;
* среднее время обслуживания в каждой колонке;
* максимальное, среднее и текущее число автомобилей в очереди к каждой колонке;
* среднее время нахождения автомобиля в каждой очереди.

Содержание работы

Введение………………………………………………………………...………………3
1. Моделирование работы АЗС………………………………………………………..4
1.1. Постановка задачи……………………………………………………………4
1.2. Выявление основных особенностей…………………………………………4
1.3. Построение имитационной модели процесса………………………………5
1.4. Представление имитационной модели……………………………………..10
1.5. Визуализация процесса функционирования системы…………………..11
1.6. Моделирование системы…………………………………………………...12
1.7. Графическое представление результатов моделирования………………….16
Заключение………………………………………………………………………………...19
Список литературы…………………...………………………………………………..…20

Файлы: 1 файл

Записка.doc

— 1.32 Мб (Скачать файл)

Федеральное государственное  образовательное учреждение высшего  профессионального образования

Рязанский государственный  агротехнологический университет

имени П.А. Костычева

Кафедра Информационных технологий (в экономике)

 
 
 

Курсовая  работа 

по  дисциплине: Имитационное моделирование экономических процессов

на  тему: Моделирование работы АЗС 
 
 
 
 
 
 
 
 
 

                  Выполнила: студентка 41 И группы

                  специальности Прикладная информатика (в экономике)

                  Маркова А.Ю.

                  Проверил: Филатов Ю.А. 
                   
                   
                   
                   
                   

Рязань 2010

 

Содержание 

Введение………………………………………………………………...………………3

1. Моделирование  работы АЗС………………………………………………………..4

    1. Постановка задачи……………………………………………………………4
    2. Выявление основных особенностей…………………………………………4
    3. Построение имитационной модели процесса………………………………5
    4. Представление имитационной модели……………………………………..10
    5. Визуализация процесса функционирования системы…………………..11

    1.6.     Моделирование системы…………………………………………………...12

    1.7.     Графическое представление результатов моделирования………………….16

    Заключение………………………………………………………………………………...19

    Список  литературы…………………...………………………………………………..…20

Введение 

      За  последнее время в самых разных областях практики возникла необходимость в решении различных вероятностных задач, связанных с работой, так называемых систем массового обслуживания (СМО). Примерами таких систем могут служить: телефонные станции, ремонтные мастерские, билетные кассы, стоянки такси, парикмахерские и т.п.

      Темой данного курсового проекта как  раз и является решение подобной задачи.

      Требуется промоделировать работу АЗС в течение рабочей смены -  8 часов и определить параметры функционирования АЗС:

  • коэффициент загрузки каждой колонки;
  • среднее время обслуживания в каждой колонке;
  • максимальное, среднее и текущее число автомобилей в очереди к каждой колонке;
  • среднее время нахождения автомобиля в каждой очереди.

      Практическое  решение задачи осуществлено с помощью  программы GPSSW.

1. Моделирование работы  АЗС 

    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 

Информация о работе Моделирование работы АЗС