Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Имитац модел мат моделей.doc
Скачиваний:
10
Добавлен:
21.09.2019
Размер:
1.56 Mб
Скачать
  1. Анимация и визуализация исполнения модели (на примере модели работы банковского отделения). Описание результатов моделирования в среде AnyLogic.

Ниже описании пример создания модели.

    1. 1.1. Создание нового проекта

  1. Создаем новую модель. В свойствах эксперимента Simulation задаем выполнение модели в режиме реального времени с выполнением одной единицы модельного времени в одну секунду. В этой модели под единицей модельного времени подразумевается одна минута работы банковского отделения.

    1. 1.2 Создание блок-схемы

  2. Создаем блок – схему модели, которая пока будет состоять только из банкомата. Для этого создаем и соединяем объекты так, как показано ниже.

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

Объект Queue моделирует очередь клиентов, ожидающих обслуживания.

Объект Delay моделирует задержку. В нашем примере он будет моделировать банкомат, тратящий определенное время на обслуживание клиента.

Объект Sink обозначает конец блок-схемы.

    1. 1.3 Запуск модели и изучение ее поведения

Щелкаем мышью по кнопке Запустить. AnyLogic переключится в режим работы модели.

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

    1. 1.4. Задание данных

      1. В свойстве объекта interarrivalTime объекта Source указываем, как часто в отделение банка приходят клиенты.

interarrivalTime: exponential(0.67)

Функция exponential() является стандартной функцией генератора случайных чисел AnyLogic. AnyLogic предоставляет функции и других случайных распределений, таких как нормальное, равномерное, треугольное, и т.д.

      1. Задаем свойства объекта Queue - максимальную длину очереди

capacity 15

То есть в очереди будут находиться не более 15 человек.

      1. Задаем свойства объекта Delay:

Называем объект ATM

Введем время задержки Delay Time: triangular(0.8, 1, 1.3)

Обслуживание одного клиента занимает примерно 1 минуту. Время обслуживания распределяется по треугольному закону со средним значением, равным 1, минимальным - равным 0.8 и максимальным - 1.3 минутам.

      1. Запускаем модель щелчком по кнопке Запустить и изучите поведение модели.

    1. 1.5. Создание анимации

1.5.1. Создаем новую анимацию.

1.5.2. Нарисуем очередь с помощью инструмента рисования Ломаная.

Щелкаем по кнопке Ломаная и помещаем первую точку щелчком мыши по диаграмме.

Щелкаем в других местах диаграммы, чтобы добавить промежуточные точки.

Последнюю точку добавляем двойным щелчком

Очень важно, какую точку ломаной создаем первой. По умолчанию, заявки будут двигаться от точки, которую рисуется первой, к точке, которую рисуем последней. Если нужно, чтобы движение происходило в обратном направлении, можно установить свойство объекта animationForward в false.

1.5.3. Задаем следующие свойства ломаной линии:

Назовем линию ATMqueue

Сделаем ее невидимой. Для этого выделяем линию щелчком мыши и вводим false Видимость в свойствах линии.

1.5.4. Нарисуем прямоугольник:

Щелкаем по кнопке Прямоугольник, а затем по анимационной диаграмме

Задаем следующие свойства:

Назовем прямоугольник ATMarea

Задаем цвет заливки

Вводим Java выражение, задающее цвет прямоугольника во время работы модели:

ATM.size() > 0 ? Color.green : Color.white

ATM – это имя созданного нами объекта Delay.

Функция size() возвращает число человек, обслуживаемых в данный момент времени. Если банкомат занят, то цвет прямоугольника будет зеленым, в противном случае - белым.

Color – это класс Java, позволяющий использовать стандартные цвета (черный, синий, красный, голубой, желтый и т.д.), и создавать любые другие.

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

1.5.5. Задаем анимационные свойства объектов блок-схемы

Задаем следующие свойства объекта Queue:

Задаем анимационную фигуру объекта

Щелкаем мышью по полю Animation Shape и выбираем animation.ATMqueue из выпадающего списка.

Задаем анимационный стиль

Щелкаем мышью по полю Animation Type и задаем AUTO.

Объекты Enterprise Library поддерживают несколько анимационных стилей. Например, очередь может отображаться в виде линии, упорядоченного или неупорядоченного набора элементов. Стиль AUTO определяет стиль автоматически в зависимости от заданной для объекта анимационной фигуры. В нашем случае очередь будет отображаться линией.

1.5.6. Запускаем модель.

Запустив модель, видим окно анимации. Цвет прямоугольника будет меняться в зависимости от того, обслуживается ли клиент в данный момент времени.