Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
6
Добавлен:
02.05.2014
Размер:
21.75 Кб
Скачать
1. Цель работы
Изучение методов моделирования на ЭВМ однородных и неоднородных систем массового
обслуживания (СМО).

2. Общие теоретические сведения

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

Промежутки времени, через которые поступают объекты, и время обслуживания, хотя и
могут быть регулярными, но, как правило, носят случайный характер. При массовом
поступлении объектов в систему обслуживания могут возникать очереди.
Процессы массового обслуживания типичны для связи (телефон, телеграф, почта),
транспорта, производственных процессов (ремонт и обслуживание оборудования, сборочные
линии), преобразования информации в ЭВМ и т.п.
В любом случае составными элементами процесса массового обслуживания являются:
* входящий поток;
* очередь;
* система пунктов обслуживания;
* выходящий поток.
Независимо от конкретной природы и характера объектов их называют требованиями (или
заявками). Входящий поток требований рассматривается как последовательность событий,
происходящих одно за другим в случайные моменты времени. Распределение входящего
потока в основном обуславливает характер процесса массового обслуживания.
Различают потоки однородных и неоднородных событий. Однородный поток событий
характеризуется только моментами наступления этих событий (вызывающими моментами) и
задается последовательностью {tn} = {0? t1 ??t2 ...? tn?? ...}, где tn - момент
наступления n-го события - неотрицательное вещественное число. Однородный поток также
может быть задан в виде последовательности {?n} промежутков времени между n-м и
(n-1)-м событиями, которая однозначно связана с последовательностью вызывающих
моментов {tn}, где ?n = tn - tn-1, n????, t0 = 0, т.е. ?1 = t1.
Поток неоднородных событий задается последовательностью { tn , fn}, где
tn - вызывающие моменты; fn - набор признаков события (принадлежность к тому или иному
источнику заявок, наличие приоритета, возможность обслуживания тем или иным типом
канала и т.п.).
Структура очередей и поступление из них требований на обслуживание определяются как
свойствами и возможностями систем, так и установленными правилами прохождения
требований через системы.
Требования могут выполняться:
* в порядке поступления (операции на конвейере);
* с приоритетом;
* в случайном порядке (отбор образцов для статистического анализа);
* в порядке первого очередного поступления при освободившемся канале обслуживания
(прием вызова телефонной станцией).
Очереди могут ограничиваться по длине, т.е. по числу заявок в них, и по времени
ожидания. Основной характеристикой очереди является время ожидания. Система пунктов
обслуживания может иметь различную организацию: с последовательными, параллельными и
комбинированными каналами. В зависимости от поступления требований и образования
очередей система может изменять свою организацию.
Существуют различные методы реализации СМО (например, с помощью Q-схем). В программе
Advanced Model Designer (AMD) реализован метод, основанный на использовании визуальных
элементов, когда построение модели СМО выполняется путем ее конструирования из
некоторых стандартных подсистем, позволяющих создавать достаточно сложные системы.
Существенно расширяет диапазон решаемых задач возможность редактирования параметров
визуальных элементов (в дальнейшем просто элементов). Помимо этого, программа AMD
позволяет корректировать структуру и параметры самой модели СМО, как в процессе
подготовки ее к работе, так и во время моделирования, что позволяет находить и
исправлять ошибки в схеме, допущенные на этапе проектирования СМО, и, следовательно,
оптимизировать модель.

3 Работа с главным окном

3.1 Начало работы с программой AMD

Первоначально на экране монитора появляется главное окно программы, которое содержит
главное меню и четыре кнопки. Для пользователя доступны кнопки "Новый", "Открыть" F3
и "Выход" F12, которые соответственно позволяют открыть окно "Поле конструктора",
загрузить сохраненную ранее схему модели либо выйти из программы AMD. Кнопка
"Сохранить" F2 неактивна. В меню помимо подпунктов пункта "Файл", аналогичных
перечисленным кнопкам по названию и функциям, также доступен пункт "Помощь" F1,
позволяющий получить справочные сведения о программе AMD.
Для вызова окна "Поле конструктора" и отображения рабочих панелей главного окна
необходимо нажать кнопку "Новый" или выбрать соответствующий подпункт в пункте "Файл"
главного меню.

3.2 Главное окно

В ответ на нажатие кнопки "Новый" в главном окне визуализируются три панели: панель
элементов, панель управления и панель индикации, а также становятся доступными пункты
главного меню "Моделирование" и "Элементы модели".
Панель элементов содержит восемь кнопок, с помощью которых производится добавление
элементов в схему модели СМО. Особенности работы элементов и настройки их параметров
рассмотрены в п.5.
Панель управления состоит из шести кнопок, которые соответственно (слева направо)
обеспечивают запуск системного таймера с переводом (сбросом) элементов схемы в
исходное состояние, отработку таймером десяти тактов, отработку таймером одного такта
(пошаговый режим) без сброса, продолжение, т.е. запуск таймера без сброса, остановку
таймера и переустановку параметров системы.
Панель индикации представляет собой оперативное информационное поле процесса
моделирования, которое содержит два индикатора - индикатор системного таймера и
цветной индикатор генерации заявок:
* серый цвет - нет заявок на входе модели;
* зеленый - заявка сгенерирована;
* красный - заявка потеряна.
Необходимо отметить, что меню, хотя и почти полностью продублировано кнопками
рассмотренных выше панелей, имеет некоторые особенности, заключающиеся в наличии в
пункте "Моделирование" главного меню двух дополнительных подпунктов -
"Выполнять до..." и "Разметить поле". Пункт "Выполнять до..." позволяет запустить
системный таймер на некоторое фиксированное число шагов в диапазоне от 1 до 30000 с
переводом элементов схемы в исходное состояние. Пункт "Разметить поле" позволяет
изменить порядок опроса элементов, т.к. задание его по умолчанию не всегда корректно
и может вызывать ошибки в логике вычислений.

4 Работа с конструктором модели

После нажатия кнопки "Новый", помимо изменений в главном окне, на экране монитора
появляется новое окно - "Поле конструктора". Окно состоит из трех частей: кнопок
управления, рабочего поля и информационной панели.
Три кнопки управления выполняют соответственно (сверху вниз) следующие функции:
закрытие окна конструктора, изменение размеров рабочего поля (в пикселах) и удаление
элемента.
Рабочее поле представляет собой достаточно большую прямоугольную область черного цвета,
снабженную полосами прокрутки. Рабочее поле может содержать элементы двенадцати видов:
одиннадцать видов иконок, которые для простоты будем называть просто элементами, и
соединитель.
Информационная панель - это панель, содержащая информацию о текущем состоянии
выделенного элемента.

4.1 Добавление элемента в схему

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

4.2 Перемещение элемента

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

4.3 Соединение элементов

Элементы схемы соединяются между собой с помощью соединительных каналов - соединителей.
Все элементы, кроме "генератора", имеют входы, и все элементы, кроме "приемника",
имеют выходы. Для наглядности входы и выходы обозначаются кружками. Входы элементов
всегда расположены слева, а выходы - справа. Два элемента считаются соединенными, если
от кружка, обозначающего выход одного элемента, проведена прямая (или ломаная) линия -
соединительный канал - до кружка, обозначающего вход другого элемента. Любой
вход/выход одного элемента может соединяться только с одним выходом/входом другого
элемента.
Чтобы соединить два элемента нужно нажать кнопку "Соединитель" на панели элементов
либо выбрать соответствующий подпункт меню, после чего следует щелкнуть мышью на
кружке одного из контактов соединяемых элементов. В ответ на это на экране появится
сообщение о выборе соответствующего входа или выхода. После чего стрелками на
клавиатуре необходимо прорисовать линию до кружка контакта другого элемента. Об
успешном соединении элементов будет выдано сообщение аналогичное первому.

4.4 Редактирование параметров элементов

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

4.5 Получение информации об элементе

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

4.6 Удаление элемента

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

5 Элементы модели

5.1 Генераторы и приемник

В любой модели СМО должен присутствовать источник заявок для организации входящего
потока и приемник, осуществляющий сбор и учет заявок выходящего потока. В качестве
источника заявок в AMD используется генератор, для приема заявок - элемент, названный
приемником. Автогенератор в той или иной мере способен выполнять функции как
генератора, так и приемника.
Генератор - это элемент, предназначенный для генерации заявок разных классов. Он
описывается следующими параметрами:
* классом заявок. Каждый генератор может генерировать заявки только одного класса
(от 1 до 5);
* числом заявок в группе. За один такт генератор способен сформировать несколько заявок
одного класса;
* законом изменения частоты генерации. В программе AMD предлагается для выбора четыре
закона изменения частоты генерации: равномерный, экспоненциальный, нормальный и
синусоидальный. В окне задания параметров генератора для выбора закона изменения
частоты генерации заявок имеется специальная "активная панель", позволяющая листать
страницы электронного блокнота, каждая из четырех страниц которого - панель задания
параметров определенного закона.
Параметры законов изменения частоты генерации приведены в таблице 1.

Таблица 1 - Параметры законов изменения частоты генерации заявок

-----------------------------------------------------------------------------------------------
Закон Параметры
-----------------------------------------------------------------------------------------------
Равномерный Время между заявками
-----------------------------------------------------------------------------------------------
Экспоненциальный Начальная частота
Предельная частота (минимальная
или максимальная)
Плавность изменения частоты
-----------------------------------------------------------------------------------------------
Нормальный Минимальная частота
Время пика
Плавность изменения частоты
Коэффициент высоты
-----------------------------------------------------------------------------------------------
Синусоидальный Минимальная и максимальная частота
Период
Плавность изменения частоты
Коэффициент высоты
-----------------------------------------------------------------------------------------------

Помимо вышеперечисленных параметров генератора имеется возможность задать погрешность
изменения частоты генератора, измеряемую в процентах.
Автогенератор объединяет в себе функции генератора и приемника. По сути автогенератор
- это генератор, срабатывающий только в том случае, если на его вход пришла заявка.
Если за промежуток времени между двумя последовательными тактами автогенератора на его
вход не пришла ни одна заявка, он теряет заявку и начинает отсчитывать следующий
промежуток времени.
Параметры автогенератора:
* класс заявок;
* стоимость. Любой элемент, которому можно сопоставить физический аналог, в программе
AMD имеет стоимость, определяемую условием задачи;
* величина задержки и погрешность, измеряемая в процентах, для режима с задержкой.
Приемник - самый простой элемент в программе AMD. Он имеет два режима - приемник для
определенного класса заявок ("частный" приемник) и приемник для всех выходящих заявок
("общий" приемник). В первом случае необходимо дополнительно задавать класс принимаемых
заявок.

5.2 Накопители

Накопители предназначены для хранения заявок, поступающих в СМО, для последующей
передачи их на обработку с целью снижения потери заявок при занятых пунктах
обслуживания.
В программе AMD определены два вида накопителей, т.е. элементов, выполняющих функции
очереди, - простой и приоритетный.
Общие параметры элементов следующие:
* емкость, т.е. максимальное число заявок в очереди;
* стоимость.
Кроме того, для приоритетного накопителя пользователю требуется задать приоритеты
(от 1 до 5) для каждого класса заявок, которые можно запрашивать и в процессе
моделирования, если установить соответствующую опцию.
Простой накопитель формирует очередь заявок в соответствии с бесприоритетной
дисциплиной обслуживания "First In - First Out" ("первым пришел - первым вышел").
В приоритетном накопителе заявки различных классов обслуживаются в соответствии с
назначенными приоритетами. Заявки с более высоким приоритетом располагаются ближе к
выходу накопителя и, таким образом, будут обработаны раньше других.

5.3 Исполнители

После обработки заявок в системе количество и класс заявок могут остаться прежними или
измениться, поэтому в программе AMD используются два типа элементов-исполнителей:
простой и преобразующий. Оба элемента имеют следующие параметры:
* время исполнения (обработки);
* погрешность времени исполнения, измеряемую в процентах;
* стоимость;
* вероятность выхода из строя.
Если последняя из указанных опций установлена, то появляется дополнительная панель с
параметрами:
* число отказов в минуту, а именно за 600 тактов таймера, характеризующее вероятность
отказа исполнителя;
* время возобновления работы;
* погрешность времени возобновления работы.
Простой исполнитель помимо того характеризуется емкостью по классу заявок,
т.е. количеством заявок определенного класса, обрабатываемых исполнителем одновременно.

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

5.4 Селекторы

Задачу передачи заявки из накопителя на один из исполнителей в программе AMD решают
селекторы, которые в зависимости от выбранного условия определяют путь заявки до
следующего элемента.
В программе используются три вида селекторов: вероятностный, приоритетный и
управляемый. Первые два из них задаются матрицами размером 5X5 (соответственно
вероятностей и приоритетов), для которых по вертикали указываются выходы, а по
горизонтали - классы. Например, если задан элемент третьей строки, второго столбца
матрицы, то это будет условие для третьего выхода и второго класса. В вероятностном
селекторе в ячейки матрицы заносятся числа (от 0 до 100 - целые). Тогда, если в ячейке
первого столбца, четвертой строки стоит 95, то это означает, что заявка первого класса
с вероятностью 0,95 поступит на четвертый выход. Если сумма элементов столбца не равна
100, то его элементы автоматически нормализуются и заданная величина будет изменена.
В приоритетном селекторе в ячейках матрицы содержатся приоритеты (от 0 до 5).
Особо выделяется управляемый селектор, который не имеет параметров как таковых.
Поместить его в схему модели можно, задав опцию "Запрашивать выходные приоритеты".
Тогда при попадании заявки в селектор, в случае, если у него более двух свободных
выходов, соединенных с другими элементами, будет запрашиваться номер выхода, на который
будет направлена заявка.

6 Моделирование СМО

6.1 Задание последовательности опроса элементов

До начала работы спроектированной системы массового обслуживания необходимо задать
последовательность опроса элементов. Моделирование СМО происходит дискретно, за один
такт системного таймера система опрашивает все элементы в порядке возрастания их
опросных номеров, при этом элементы по возможности передают заявки слева направо,
т.е. поток заявок как бы пульсирует с частотой системного таймера.
Благодаря опросным номерам, система узнает, когда и какой элемент ей опрашивать.
Процедура разметки заключается в последовательном присваивании системой опросных
номеров элементам схемы. Однако, поскольку в схеме могут возникать неоднозначности
из-за сложных параллельных соединений, в некоторых случаях пользовательская разметка
более предпочтительна. Для включения режима разметки следует выбрать подпункт меню
"Разметить поле" пункта "Моделирование". В ответ на это около каждого элемента схемы
появится его опросный номер и кнопка "Ok" на месте трех кнопок слева от рабочего поля.
Если существующий порядок опроса устраивает пользователя, то следует нажать "Ok" для
выхода из режима разметки, если нет, то задать номера, последовательно щелкая правой
кнопкой мыши на элементах. Как только пользователь щелкнет на последнем из элементов,
разметка закончится.

6.2 Моделирование в AMD

Моделирование работы СМО осуществляется после запуска системного таймера. Кнопки
управления системным таймером описаны в п. 3.2. Для запуска системного таймера
необходимо отсутствие ошибок в схеме, иначе система защиты блокирует всю панель
управления до устранения ошибок.
Для того, чтобы сделать схему работающей, необходимо соблюдать следующие два простых
правила:
* генератор должен быть первым в схеме по опросному номеру, а приемник последним;
* все элементы, кроме генератора и приемника должны быть связаны с другими элементами
как входами, так и выходами.
В процессе моделирования активизируется системная панель (см. п. 2.2), по состоянию
которой можно судить о продолжительности и качестве работы схемы и диагностировать
очевидные ошибки. Например, если цветовой индикатор постоянно серый и совсем не мигает
зеленым или красным цветом, то это означает, что генератор простаивает. Если часто
мелькает красный - следует проверить, сколько теряется сгенерированных заявок. В
случае, если теряются все или почти все заявки генератора, значит в схеме есть ошибки.
Обычно это связано с плохой разметкой или не совпадающими классами заявок. При
диагностировании схемы следует пользоваться данными информационной панели.

6.3 Результаты моделирования

Пункт "Результаты" главного меню состоит из двух подпунктов: "Таблицы" и "Графики".
В окне таблиц содержатся две таблицы: состояний и результатов. Таблица состояний
содержит информацию о текущем состоянии элементов схемы. Таблица результатов содержит
значения нескольких результирующих параметров схемы - суммарной стоимости, процента
потерь, загруженности исполнителей и т.п.
Для того, чтобы просмотреть графики, полученные в результате моделирования, необходимо
предварительно выбрать элемент схемы, информацию о котором следует отобразить на
графике, и нажать одну из четырех кнопок с пиктограммой, изображающей лампочку. Это
действие приведет к тому, что данные о состоянии этого элемента будут выведены на
одном из четырех отображаемых графиков. Для просмотра графиков необходимо остановить
моделирование и выбрать пункт "Графики" F9 из меню "Результаты".

Соседние файлы в папке Программа - АМД