Банк для автомобилистов

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    435,54 Кб
  • Опубликовано:
    2013-10-28
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Банк для автомобилистов

Задание


В банке для автомобилистов с одним кассиром есть место для размещения 5 автомобилей. Если клиент приезжает в тот момент, когда нет свободного места, он объезжает квартал и пытается опять встать в очередь. Интервалы между прибытиями клиентов распределены экспоненциально с математическим ожиданием 10. Время объезда квартала распределено нормально с ожиданием 2. Время обслуживания кассиром клиента распределено равномерно на интервале от 6 до 12. Время, необходимое клиенту на то, чтобы встать в очередь, предполагается пренебрежимо малым. Сначала в очереди нет ни одного клиента, а кассир свободен.

Автомобили отъезжают от кассира и попадают на улицу. Интервал времени, необходимый автомобилю на поиск промежутка в потоке автомобилей для выезда на улицу, распределен экспоненциально с математическим ожиданием 10. Зона парковки спланирована так, что возможности выезда на улицу могут ожидать не более 5 машин.

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

1.      Среднее время ожидания клиентов в очереди

2.      Среднее время пребывания клиента в системе

.        Среднее время между отказами в обслуживании

.        Процент клиентов в очереди, которым было отказано в обслуживании

.        Загрузка кассира

.        Среднее число клиентов в очереди к кассиру

.        Среднее число клиентов в очереди на выезд

1. Концептуальная модель

Моделируемая система включает в себя следующие объекты:

1.   автомобиль - машина, подъезжающая к кассиру.

2.      очередь к кассиру - автомобили, подъехавшие к банку и ожидающие обслуживания, так как кассир в данный момент оказался занят.

3.      кассир - работник банка, выполняющий расчет с автомобилистами.

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

5.      выезд - участок дороги, по которому автомобиль выезжает на улицу.

6.      объезд квартала - путь, занимающий некоторое время и ведущий обратно к очереди к кассиру.

Объект

Атрибуты

Автомобиль

Время подъезда к банку - время поступления очередного автомобиля на обслуживание. Интервалы между поступлениями автомобилей имеют экспоненциальное распределение.

Очередь к кассиру

Число клиентов в очереди - текущее количество автомобилей, вынужденных ждать начала обслуживания. Число мест в очереди - максимальное число автомобилей, которые могут одновременно ждать обслуживания в очереди.

Кассир

Занятость - признак того, что кассир в данный момент уже обслуживает автомобилиста и еще не произвел с ним расчет. Время обслуживания - случайная величина, равномерно распределенная на заданном интервале, определяющая продолжительность расчета с автомобилистом.

Очередь к выезду

Число клиентов в очереди - текущее количество автомобилей, вынужденных ждать выезда. Число мест в очереди - максимальное число автомобилей, которые могут одновременно ждать возможности выезда.

Выезд

Занятость - признак того, что выездная полоса в данный момент занята и автомобиль еще не выехал на улицу. Время на поиск промежутка в потоке автомобилей для выезда на улицу - случайная величина, распределенная по экспоненциальному закону, определяющая продолжительность выезда автомобиля на улицу.

Объезд

Занятость - признак того, что объездная дорога в данный момент занята другим автомобилем. Время на объезд квартала - случайная нормально распределенная величина, определяющая продолжительность объезда машиной квартала.


2. Разработка библиотеки функциональных блоков

 
Концептуальная модель системы


Диаграмма связей


3. Библиотека блоков

Основные функциональные блоки для построения модели банка для автомобилистов

Наименование: Автомобили.

Назначение: Создает (генерирует) поток событий с заданным распределением интервалов времени между ними. Используется для имитации потока клиентов в банк.

Изображение:


Описание входов: отсутствуют

Описание выходов:

·        единственный выход представляет собой количество клиентов, пришедших на текущем шаге интегрирования модели: 1 или 0.

Состояния элемента: Элемент может находится либо в состоянии индикации свершения события (приезд машины) и немедленной генерации времени следующего события, либо в состоянии отсчета запланированного времени наступления события.

События, на которые реагирует элемент: Элемент не реагирует на внешние события. Внутреннее событие, вызывающее реакцию - наступление времени свершения события, т.е. приезд машины.

Алгоритм функционирования: После того, как на интегратор отсчитает заданный интервал времени (накопит число, равное заданному интервалу), на выходе блока «HitCrossing» появится импульс, означающий, что приехала машина, и перезапустится генератор экспоненциально распределенной случайной величины (подсистема «ExpGenerator») для получения следующего значения временного интервала.

Блок-схема модели:


Параметры, устанавливаемые пользователем:

·        N - математическое ожидание экспоненциального распределения между поступлениями заявок.

Окно установки параметров:


Наименование: Очередь к кассиру.

Назначение: Организует очередь машин к кассиру банка.

Изображение:


Описание входов:

·        Сигнал кассира о том, что он занят, обслуживая очередного клиента, или свободен

·        Поступающие заявки - импульсы, генерируемые блоком «автомобили» и блоком «объезд квартала» (новые поступающие и повторно пытающиеся встать в очередь машины).

Описание выходов:

·        Количество заявок (машин, ожидающих обслуживания), находящихся на текущий момент в очереди.

·        Количество заявок (машин, которым не нашлось места в очереди), отправленных объезжать квартал (количество отказов)

Состояния элемента: Элемент постоянно находится в состоянии обработки поступающих заявок (машин).

События, на которые реагирует элемент: Элемент реагирует на поступление новой заявки и сигнала от кассира.

Алгоритм функционирования: Поступающая заявка (подается на вход2 «новые машины») суммируется с текущим количеством клиентов в очереди. Если кассир не занят (вход1 «занятость кассира» равен 0) и в очереди кто-нибудь стоит, то из очереди вычитается одна заявка (она переходит к кассиру на обслуживание). Результирующее количество клиентов в очереди формируется на выходе1. Если число клиентов в очереди превышает количество доступных мест (N1), то лишние машины (разность между текущим количеством клиентов и предельно допустимым) получают отказ. Результат формируется на выходе2 «отказ».

Блок-схема модели:


Параметры, устанавливаемые пользователем:

·        N1 - количество мест в очереди.

Окно установки параметров:


Наименование: Кассир.

Назначение: Обслуживание клиентов в банке.

Изображение:


Описание входов:

·        Сигнал занятости от «очереди на выезд» о том, есть ли в очереди свободные места.

·        Состояние очереди (количество заявок в очереди к кассиру)

Описание выходов:

·        Состояние кассира (сигнал занятости).

·        Количество обслуженных машин на текущем шаге интегрирования модели: 1 или 0.

Состояния элемента: Элемент может находится либо в состоянии занят, когда кассир обслуживает клиента и еще не закончил работу с ним, либо в состоянии свободен, когда кассир никого не обслуживает и может принять следующего клиента.

События, на которые реагирует элемент: Элемент реагирует на состояние очереди и сигнал занятости от «очереди на выезд».

Алгоритм функционирования: Если кассир не занят (выход блока «занятость» равен 0) и в очереди кто-нибудь есть, то генерируется время, необходимое для обслуживания клиента (подсистема «UnifGenerator»). Состояние кассира переходит в состояние «занят» (выход блока «занятость» не равен 0), кассир не принимает клиентов на обслуживание. По достижении заданного интервала времени блоком «задержка» вырабатывается сигнал окончания обслуживания. Обслуживание закончено, если сгенерирован сигнал окончания обслуживания и есть место в очереди на выезд (вход1 «занятость очереди» равен 0); при этом кассир переходит в состояние «свободен» (сбрасывается на 0 блок «занятость» и блок запоминания сигнала окончания обслуживания «busy conditions1»).

Блок-схема модели:


Параметры, устанавливаемые пользователем:

·        T1 - минимальное значение равномерно распределенной случайной величины, представляющей собой время обслуживания клиента.

·        T2 - максимальное значение равномерно распределенной случайной величины, представляющей собой время обслуживания клиента.

Окно установки параметров:


Наименование: Очередь на выезд.

Назначение: Организует очередь машин к выезду от банка.

Изображение:

Описание входов:

·        Сигнал занятости блока «выезд» о том, что он занят очередной выезжающей машиной или свободен.

·        Поступающие заявки - импульсы, генерируемые блоком «кассир» по окончании обслуживания клиента.

Описание выходов:

·        Сигнал занятости очереди (все ли места заняты).

·        Количество заявок (машин, ожидающих возможности выезда), находящихся на текущий момент в очереди.

Состояния элемента: Элемент постоянно находится в состоянии обработки поступающих заявок (машин).

События, на которые реагирует элемент: Элемент реагирует на поступление новой заявки и сигнал занятости блока «выезд».

Алгоритм функционирования: Поступающая заявка (подается на вход2 «машины») суммируется с текущим количеством клиентов в очереди. Если выезд не занят (вход1 «выезд занят» равен 0) и в очереди на выезд кто-нибудь есть, то из очереди вычитается одна заявка (машина уезжает к свободному выезду). Результирующее количество клиентов в очереди формируется на выходе2 «очередь». Если число клиентов в очереди достигло значения количества доступных мест (N1), то на выходе1 «наличие мест» формируется единичный импульс (свободных мест нет), сигнализирующий, что очередь вся занята.

Блок-схема модели:


Параметры, устанавливаемые пользователем:

·        N1 - количество мест в очереди.

Окно установки параметров:


Наименование: Выезд.

Назначение: Поиск промежутка в потоке автомобилей для выезда на улицу (выезд).

Изображение:


Описание входов:

·        Состояние очереди на выезд (количество заявок в очереди)

Описание выходов:

·        Состояние выезда (сигнал занятости).

·        Количество выехавших на улицу машин на текущем шаге интегрирования модели: 1 или 0.

Состояния элемента: Элемент может находится либо в состоянии занят, когда на выезде находится очередная машина и она еще не освободила выезд, либо в состоянии свободен, когда выезд никем не занят и может предоставить автомобилю возможность выехать на улицу.

События, на которые реагирует элемент: Элемент реагирует на состояние очереди на выезд.

Алгоритм функционирования: Если выезд не занят (выход блока «занятость» равен 0) и в очереди на выезд кто-нибудь есть, то генерируется время, необходимое автомобилю для выезда на улицу (подсистема «ExpGenerator»). Состояние выезда переходит в состояние «занят» (выход блока «занятость» не равен 0): выезжает очередная машина. По достижении заданного интервала времени блоком «задержка» вырабатывается сигнал окончания процесса выезда. При этом выезд переходит в состояние «свободен» (сбрасывается на 0 блок «занятость») и на выходе2 «машина» формируется единичный импульс.

Блок-схема модели:


Параметры, устанавливаемые пользователем:

·        T - математическое ожидание экспоненциально распределенных интервалов времени, необходимых автомобилям для выезда на улицу.

Окно установки параметров:


Наименование: Объезд квартала.

Назначение: Попытка опять встать в очередь через некоторое время (время объезда).

Изображение:


Описание входов:

·        Количество машин, которым было отказано в очереди к кассиру.

Описание выходов:

·        Количество закончивших объезд машин на текущем шаге интегрирования модели.

Состояния элемента: Элемент постоянно находится в состоянии обработки поступающих заявок (машин).

События, на которые реагирует элемент: Элемент реагирует на отказ, поступивший от очереди к кассиру.

Алгоритм функционирования: Если объездная дорога не занята (выход блока «занятость» равен 0) и в очереди на объезд кто-нибудь есть, то генерируется время, необходимое автомобилю для объезда квартала (подсистема «NormGenerator»). Объезд переходит в состояние «занят» (выход блока «занятость» не равен 0): очередная машина совершает объезд. Машины, пришедшие во время, когда объезд занят, становятся в очередь, ожидая, когда он освободится. По достижении заданного интервала времени блоком «задержка» вырабатывается сигнал окончания объезда квартала. При этом объезд переходит в состояние «свободен» (сбрасывается на 0 блок «занятость») и на выходе1 «машина» формируется единичный импульс.

Блок-схема модели:

·        n - математическое ожидание нормально распределенных интервалов времени, необходимых автомобилям для объезда квартала.

Окно установки параметров:


Наименование: Статистика.

Назначение: Вычисляет средние статистические характеристики системы.

Изображение:


Описание входов:

·        Поступающие на обслуживание заявки

·        Заявки, покинувшие систему

·        Состояние очереди к кассиру (количество заявок в очереди)

·        Количество отказов в очереди к кассиру.

·        Состояние очереди на выезд (количество заявок в очереди)

·        Занятость кассира

Описание выходов:

·        Среднее время ожидания клиентов в очереди

·        Среднее время пребывания клиента в системе

·        Среднее время между отказами в обслуживании

·        Процент отказов

·        Загрузка кассира

·        Среднее число клиентов в очереди к кассиру

·        Среднее число клиентов в очереди на выезд

Состояния элемента: Элемент постоянно находится в состоянии вычисления средних статистических характеристик.

События, на которые реагирует элемент: Элемент реагирует на изменения всех своих входов.

Алгоритм функционирования: Элемент вычисляет усредненные характеристики с помощью соответствующих вспомогательных блоков. Процент отказов в очереди определяется как отношение количества отказов к общему числу прибывших автомобилей, умноженное на 100 процентов.

Параметры, устанавливаемые пользователем: отсутствуют

Окно установки параметров:



Блок-схема модели:


3. Вспомогательные функциональные блоки для построения основных функциональных блоков модели банка для автомобилистов

Наименование: Задержка.

Назначение: Отсчитывание заданных промежутков времени.

Изображение:


Описание входов:

·        Импульс длиной в один шаг интегрирования, представляющий собой время, через которое нужно выдать импульс.

Описание выходов:

·        Единичный импульс длиной в один шаг интегрирования, означающий, что заданный интервал времени истек.

Состояния элемента: Элемент находится в состоянии отсчета промежутка времени, либо в состоянии ожидания сигнала задания промежутка.

События, на которые реагирует элемент: Импульс на входе, задающий значение промежутка времени.

Алгоритм функционирования: При поступлении входного импульса происходит сброс интегратора дискретного времени, а его начальное значение устанавливается равным входному импульсу. На интегратор постоянно подается значение «-1», что приводит к уменьшению значения на выходе интегратора пропорционально системному времени. При достижении нуля интегратором блок «Hit Crossing» выдаст единичный импульс, который означает окончание отсчета временного интервала.

Блок-схема модели:


Параметры, устанавливаемые пользователем: отсутствуют.

Окно установки параметров:


Наименование: Интегратор со сбросом.

Назначение: Интегрирование величин с возможностью обнуления.

Изображение:

Описание входов:

·        Интегрируемая величина.

·        Сигнал сброса интегратора.

Описание выходов:

·        Результат интегрирования.

Состояния элемента: Элемент находится в состоянии запоминания предыдущего значения, либо в состоянии обнуления.

События, на которые реагирует элемент: Импульс Входная величина и сигнал сброса.

Алгоритм функционирования: Значение на выходе элемента «Memory» складывается с текущим значение входной величины. Результат сложения на следующем шаге появляется на выходе. Если на вход2 подается ненулевая величина (сигнал сброса), то текущее значение умножается на ноль, тем самым сбрасывая значение интегратора.

Блок-схема модели:


Параметры, устанавливаемые пользователем: отсутствуют.

Окно установки параметров:


Наименование: Статистика отказов.

Назначение: Вычисление статистических характеристик: среднего времени между отказами в обслуживании и количества отказов за время моделирования.

Изображение:


Описание входов:

·        Количество отказов на текущем шаге интегрирования.

·        Среднее время между отказами в обслуживании.

·        Количество отказов.

Состояния элемента: Элемент постоянно находится в состоянии вычисления статистических характеристик.

События, на которые реагирует элемент: Изменение входной величины.

Алгоритм функционирования: Как только на вход (deny) поступил ненулевой сигнал (отказ), интегратор дискретного времени «Discrete-Time Integrator5» сбрасывается и на нем накапливается интервал времени до наступления следующего отказа (на входе снова ненулевой импульс). Когда промежуток времени между двумя отказами отсчитан (выход блока «AND» равен 1), добавляем его к общему времени интервалов между отказами, накапливаемому на интеграторе «Discrete-Time Integrator3». На выходе сумматора имеем количество интервалов между отказами: количество отказов минус один. Среднее время между отказами формируется на выходе1 (stat deny) (сумма интервалов времени между отказами, разделенная на число интервалов).

Блок-схема модели:

Параметры, устанавливаемые пользователем: отсутствуют.

Окно установки параметров: отсутствует.

Наименование: Статистика ожидания в очереди.

Назначение: Вычисление статистической характеристики среднего времени ожидания в очереди.

Изображение:


Описание входов:

·        Состояние очереди (количество заявок в очереди).

·        Приезжающие машины (количество заявок, поступающих в систему на текущем шаге интегрирования)

Описание выходов:

·        Среднее время ожидания в очереди.

Состояния элемента: Элемент постоянно находится в состоянии вычисления статистики.

События, на которые реагирует элемент: Изменение входных величин.

Алгоритм функционирования: На интеграторе дискретного времени накапливается время, затраченное текущим количеством машин в очереди. На выходе блока «Memory4» формируется общее количество поступивших машин (с начала имитации). На выходе получается среднее время ожидания в очереди.

Блок-схема модели:

Параметры, устанавливаемые пользователем: отсутствуют.

Окно установки параметров: отсутствует.

Наименование: Статистика времени нахождения в системе.

Назначение: Вычисление статистической характеристики среднего времени пребывания клиента в системе.

Изображение:


Описание входов:

·        Приезжающие машины (количество заявок, поступающих в систему на текущем шаге интегрирования)

·        Машины, выехавшие (количество заявок, покинувших в систему) на текущем шаге интегрирования

Описание выходов:

·        Среднее время пребывания клиента в системе.

Состояния элемента: Элемент постоянно находится в состоянии вычисления статистики.

События, на которые реагирует элемент: Изменение входных величин.

Алгоритм функционирования: На интеграторе дискретного времени накапливается время, затраченное текущим количеством машин в системе. На выходе блока «Memory1» формируется текущее количество машин в системе (новые приехавшие машины + находящиеся в системе - уехавшие). На выходе блока «Memory2» формируется общее количество поступивших машин (с начала имитации). В результате деления на выходе получается среднее время пребывания клиента в системе.

Блок-схема модели:


Параметры, устанавливаемые пользователем: отсутствуют.

Окно установки параметров: отсутствует.

Наименование: Среднее значение.

Назначение: Вычисление среднего значения входной величины.

Изображение:


Описание входов:

·        Входная величина.

Описание выходов:

·        Среднее значение входной величины.

Состояния элемента: отсутствуют.

События, на которые реагирует элемент: входная величина.

Алгоритм функционирования: Интегрирование входной величины и системного времени. В результате деления на выходе получается среднее значение.

Блок-схема модели:

Параметры, устанавливаемые пользователем: отсутствуют.

Окно установки параметров: отсутствует.

4. Структурная модель системы

Блок-схема модели

 

Описание модели

Модель работы банка для автомобилистов состоит из «машин», «очереди к кассиру», «объезда квартала», «кассира», «очереди на выезд» и «выезда». Сигналы, соответствующие приезжающим машинам, встают в «очередь к кассиру» (второй вход). Далее из «очереди к кассиру» (первый выход) машины поступают к «кассиру». Если кассир свободен, то он начинает обслуживать одну машину и переходит в состояние «занят» (первый выход), при этом количество машин в «очереди к кассиру» уменьшается на единицу. Если кассир занят, машины в вынуждены ждать в очереди. Когда все места (их количество ограничено) в очереди заняты, приезжающие машины отправляются на «объезд квартала» (второй выход) и через некоторое время снова пытаются встать в «очередь к кассиру». «Кассир» не может начать обслуживание, если все места в «очереди на выезд» заняты (поступил сигнал занятости от «очереди на выезд») и вынужден ждать сигнала «свободен». Машина, обслуженная «кассиром» встает в «очередь на выезд». Если «выезд» свободен, то одна машина из очереди начинает выезжать на улицу (второй выход) и «выезд» переходит в состояние «занят» (первый выход), при этом количество машин в «очереди на выезд» уменьшается на единицу.

Статистическая информация обрабатывается модулем «статистика». Выходные величины этого модуля могут быть визуализированы с помощью модулей «Display».

5. Разработка плана экспериментов


Для получения интегральных характеристик системы (см. Задание), принимая во внимание широкое использование случайных величин, необходимо провести целый ряд экспериментов (имитационных прогонов) и усреднение результатов при параметрах модели, указанных в задании.

При проведении экспериментов будут установлены следующие параметры:

Время интегрирования (ед. времени)                        500

Метод интегрирования                                     discrete (no continuous states)

Шаг интегрирования                                        fixed-step, 0.1

Математическое ожидание интервалов

между прибытиями клиентов (ед. времени)                                 10

Количество мест в очереди к кассиру                                                   5

Ожидание времени объезда квартала                                          2

Математическое ожидание интервалов

между выездами клиентов на улицу                                            10

Количество мест в очереди на выезд                                                     5

В ходе имитации будут определены следующие величины:

·        Среднее время ожидания клиентов в очереди

·        Среднее время пребывания клиента в системе

·        Среднее время между отказами в обслуживании

·        Процент клиентов в очереди, которым было отказано в обслуживании

·        Загрузка кассира

·        Среднее число клиентов в очереди к кассиру

·        Среднее число клиентов в очереди на выезд

Результаты имитационных экспериментов


Эксперимент1

Эксперимент2

Эксперимент3

Эксперимент4

Среднее время ожидания клиентов в очереди

30.01

22.98

28.71

21.44

Среднее время пребывания клиента в системе

70.09

76.58

75.82

76.76

Среднее время между отказами в обслуживании

0.9576

0.6105

1.882

0.7682

Процент клиентов в очереди, которым было отказано в обслуживании

87.72

70

61.54

66.04

Загрузка кассира

0.989

0.9742

0.8146

0.8666

Среднее число клиентов в очереди к кассиру

3.421

2.757

2.239

2.273

Среднее число клиентов в очереди на выезд

2.166

1.632

1.921

1.869

Всего приехало

57

60

39

53

Всего выехало

45

50

33

49


Основные расчетные характеристики


Среднее

Дисперсия

Среднее время ожидания клиентов в очереди

25.725

17.718

Среднее время пребывания клиента в системе

73.425

10.078

Среднее время между отказами в обслуживании

0.8629

Процент клиентов в очереди, которым было отказано в обслуживании

76.88

131.410

Загрузка кассира

0.9278

0.007114

Среднее число клиентов в очереди к кассиру

2.847

0.304972

Среднее число клиентов в очереди на выезд

2.0175

0.047982

Графики процессов

Прибытие машин _____                                             Очередь к кассиру


Динамика отказов                                             Очередь на выезд


Динамика выезда



Выводы

имитационный статистический кассир банк

В ходе курсовой работы была проанализирована и смоделирована в среде Simulink работа банка для автомобилистов. Были изучены и применены на практике приемы работы со средой моделирования и с программным комплексом Mat LAB в целом. Были рассчитаны заданные параметры системы.

Полученные результаты показывают, что руководству банка необходимо нанять еще одного кассира, а также расширить зону парковки у банка для ожидания наступления своей очереди обслуживания кассиром. Таким образом может быть достигнуто повышение эффективности работы банка для автомобилистов, так как сократится время ожидания в очереди и ликвидируется нецелесообразная трата времени на объезд квартала.

Библиотека блоков для построения модели «банка для автомобилистов» может быть использована для решения более широкого круга задач путем добавления дополнительных блоков.

Похожие работы на - Банк для автомобилистов

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!