Практическая работа. Часть 1. Практическая работа. Часть 1 Моделирование одноканальных разомкнутых смо с простейшими потоками заявок Цель
Скачать 260.5 Kb.
|
Практическая работа. Часть 1 Моделирование одноканальных разомкнутых СМО с простейшими потоками заявок Цель: изучение способов и приобретение практических навыков моделирования одноканальных разомкнутых СМО с простейшими потоками. Ход работы: Изучить рассматриваемые в лабораторной работе способы моделирования одноканальных разомкнутых СМО с простейшими потоками. Получить вариант задания у преподавателя для выполнения практического задания. По номеру полученного варианта из Таблицы 1.2 выбрать определённые значения: среднее время ожидания заявки в очереди; среднее время обслуживания заявки. Исходя из условий задачи, представленных в примере 1.1. необходимо подставить полученные данные и выполнить: Решение задачи аналитическим методом как это показано в примере. Получить результаты эксперимента. Решение задачи имитационным методом как это показано в примере. Получить результаты эксперимента. 4. Сравнить результаты решения задачи аналитическим и имитационным методами 5. Подготовить отчет о работе с представлением и объяснением полученных результатов. Содержание отчёта: Цель работы. Ход выполнения заданий по варианту. Выводы по результатам проделанной работы. Постановка задачи Рассмотрим одноканальную разомкнутую систему массового обслуживания с неограниченным временем ожидания заявок и с простейшими потоками. Простейший поток наиболее полно отвечает реальным жизненным условиям и характеризуется следующими особенностями: поступление заявок в систему на обслуживание происходит по одному, то есть вероятность прибытия двух и более заявок в один момент времени очень мала, и ею можно пренебречь (поток заявок ординарный); вероятность поступления последующих заявок в любой момент времени не зависит от возможности их прибытия в предыдущие моменты - поток заявок без последействия; поток заявок стационарный. Требуется определить: коэффициент использования канала обслуживания; среднюю длину очереди, то есть среднее число машин, находящихся в очереди, ожидая освобождение канала обслуживания; среднее число заявок, находящихся в системе, то есть в очереди и в канале обслуживания. Формализация задачи Функционирование любой системы массового обслуживания можно представить через все ее возможные состояния, а также через интенсивность перехода из одного состояния в другое. Основными параметрами функционирования системы массового обслуживания являются вероятности ее состояния, то есть возможности наличия п заявок (покупателей, рабочих, заданий, машин, неполадок) в системе - Рп. Так, вероятность Ро характеризует состояние, когда в системе нет заявок и канал обслуживания простаивает. Важными параметрами функционирования системы массового обслуживания являются также среднее число заявок, находящихся в системе, то есть в очереди и на обслуживании, - Nsyst, - и средняя длина очереди – Noch. Исходными параметрами, характеризующими систему массового обслуживания, являются: число каналов обслуживания (касс, компьютеров, подъемных кранов, ремонтных бригад) - N; число заявок (покупателей, заданий, машин, неполадок) - т; интенсивность поступления одной заявки на обслуживание, то есть число поступлений заявок в единицу времени - ; интенсивность обслуживания заявок - . Интенсивность поступления заявок на обслуживание определяется как величина, обратная среднему времени между поступлениями двух смежных заявок, - tр: Интенсивность обслуживания заявок определяется как величина, обратная времени обслуживания одной заявки, - tо: Решение задачи аналитическим методом Состояние системы массового обслуживания будем связывать с числом заявок, находящихся в системе: в системе нет ни одной заявки - вероятность состояния P0; в системе находится одна заявка - вероятность состояния Р1; в системе находится n заявок - вероятность состояния Рn. Представим все возможные состояния системы массового обслуживания в виде размеченного графа состояний (рис. 1.1). Каждый прямоугольник графа, количественно оцениваемый вероятностью состояний Рn, определяет одно из всех возможных состояний. Стрелки указывают, в какое состояние система может перейти и с какой интенсивностью. Рис 1.1 Размеченный граф состояний одноканальной разомкнутой системы массового обслуживания Первый прямоугольник с вероятностью Р0определяет состояние системы массового обслуживания, при котором канал обслуживания простаивает из-за отсутствия заявок в системе. Из этого положения система массового обслуживания может перейти только в состояние Р1. Это означает, что в системе появится одна заявка, так как входной поток ординарный. С интенсивностью система может перейти также из состояния Р1 в состояние Ро. Это значит, что единственное находящееся в системе заявка была обслужена раньше, чем появилось новое. Сначала рассмотрим установившийся режим работы системы массового обслуживания, когда основные вероятностные характеристики СМО постоянны во времени, например в течение часа. Тогда интенсивности входных и выходных потоков для каждого состояния будут сбалансированы. Эти сбалансированные потоки могут выглядеть так: ; ; ; … ; … Обозначим величину λ/μ через ψ и назовем ее коэффициентом загрузки. Из первого уравнения можно найти значение Р1: . Из второго уравнения найдем значение Р2: . Но первый член: Следовательно, первый и третий сокращаются: . Из третьего уравнения найдем значение Р3: . Но первый член: . Следовательно, первый и третий также сокращаются: и т.д. Используя очевидное равенство получим: Так как ψ меньше 1, то сумма геометрически убывающей прогрессии равна . При n → ∞ ψ < 1 . Отсюда вероятность простоя канала обслуживания определяется так: . Вероятность того, что в системе находится п заявок, определяется по формуле . Среднее число обслуживаемых заявок Nsyst, находящих быть определено таким образом: ; Выражение в последних скобках являются производным от следующего выражения: , то есть равно . Окончательно среднее число обслуживаемых заявок Nsyst, находящихся в системе, определяется по формуле: Среднее же число заявок, находящихся в очереди, будет вычислено так: Среднее время ожидания заявки можно определить, зная среднее число заявок, находящихся в системе: . Пример 1.1. Пример решения задачи определения основных параметров функционирования одноканальной разомкнутой СМО «Компьютер-запросы» с простейшими потоками аналитическим методом. Допустим, что входной поток запросов, поступающих на обработку, является простейшим потоком со средним временем ожидания в очереди 10 мин и временем обработки 6 мин. Тогда интенсивность потока заявок, поступающих на обслуживание, составит: заявок в час. Интенсивность же потока заявок после обслуживания составит: заявок в час. Откуда вероятность простоя канала обслуживания определяется так . Среднее число обслуживаемых заявок Nsyst, находящихся в системе: . Среднее число заявок, находящихся в очереди, будет вычислено так: . Решение задачи имитационным методом Рассмотрим теперь решение этой же задачи имитационным методом. Для облегчения построения имитационной модели, изобразим графически процесс функционирования одноканальной разомкнутой системы (рис. 1.2). Рис. 1.2. Графическое изображение функционирования одноконапьной разомкнутой системы Рассмотрим все события, происходящие в одноканальной разомкнутой системе: 1. Генерирование заявок, входящих в систему (GENERATE - Генерировать). 2. Вход заявок в очередь (QUEUE - Очередь). 3. Проверка занятости канала обслуживания (SEIZE - Занять). 4. Выход заявок из очереди (DEPART - Выйти). 5. Обслуживание заявки (ADVANCE - Задержать). 6. Освобождение канала обслуживания (RELEASE - Освободить). 7. Выход заявки из системы (TERMINATE - Завершить). Поскольку заявки не возвращаются в систему, то мы имеем одноканальную разомкнутую систему. Построение имитационной модели процесса Поступление изделий к станку моделируется оператором GENERATE, который нашей задаче может быть записан так: GENERATE (Exponential(1,0,10)) В поле операнда А определяется интервал времени между прибытием двух идущих одно за другим заявок к устройству (каналу обслуживания). В нашем примере используется встроенная функция экспоненциального распределения времени между поступлениями в систему двух идущих одну за другой заявок. Среднее время прибытия заявок составляет 10 мин - это третий аргумент функции Exponential. Поступившая заявка встает в очередь для обработки. Это можно промоделировать оператором QUEUE, который только в совокупности с соответствующим оператором DEPART собирает статистическую информацию о работе моделируемой очереди. В нашем примере оператор QUEUE будет выглядеть так: QUEUE OCHER В поле операнда А дается символьное или числовое имя очереди. В нашем примере очереди дано имя OCHER. Желательно, чтобы присваиваемое имя отражало суть описываемого элемента системы. Следуя логике, заявка может выйти из очереди только тогда, когда освободится устройство (канал обслуживания). Для этого вводится оператор SEIZE, который определяет занятость канала обслуживания, и при освобождении последней находящаяся впереди заявка выходит из очереди и идет в канал на обслуживание. Это может выглядеть так: SEIZE COMP В поле операнда А дается символьное или числовое имя канала обслуживания. В нашей задаче каналу дано имя COMP. Желательно, чтобы присваиваемое имя отражало суть описываемого элемента системы. Выход изделия из очереди на обслуживание фиксируется оператором DEPART с соответствующим названием очереди. В нашем примере это будет выглядеть так: DEPART OCHER Далее должно быть промоделировано время изготовления изделия на станке. Для моделирования этого процесса используется оператор ADVANCE, который в нашей задаче будет выглядеть так: ADVANCE (Exponential(l,0,6)) В поле операнда А выполняется обращение к встроенному в систему экспоненциальному распределению с указанием среднего времени изготовления изделия -6 мин. После обработки заявок на устройстве должно быть послано сообщение об освобождении канала обслуживания. Это делается с помощью оператора RELEASE, который в нашей задаче записывается так: RELEASE COMP Следует особо подчеркнуть, что парные операторы QUEUE и DEPART для каждой очереди должны иметь одно и то же, но свое уникальное имя. Это же относится и к операторам SEIZE и RELEASE. После изготовления изделие покидает систему. Это действие моделируется оператором TERMINATE, который записывается в программе в таком виде: TERMINATE 1 Число изделий (заявок), прошедших изготовление в нашей системе, примем равным 10000. Окончательно наша программа будет выглядеть так, как показано на рис. 1.3. Рис. 1.3. Окно с моделью одноканальной разомкнутой системы с простейшими потоками Подготовка к моделированию системы Для начала моделирования: щелкните по пункту File главного меню системы. Появится выпадающее меню; щелкните по пункту New (Создать) выпадающего меню. Появится диалоговое окно Новый документ; выделите пункт Model и щелкните по кнопке ОК. Появится окно модели, в котором введите данную программу. Чтобы вызвать окно для представления имитационной модели в системе GPSSW, можно также нажать комбинацию клавиш Ctrl+Alt+S. Перед началом моделирования можно установить вывод тех параметров моделирования, которые нужны пользователю. Для этого: щелкните по пункту Edit (Правка) главного меню системы или нажмите комбинацию клавиш Alt+E. Появится выпадающее меню; щелкните по пункту Settings (Установки) выпадающего меню. Появится диалоговое окно SETTINGS для данной модели; щелкните по вкладке Reports (Отчеты), в которой можно установить нужные выходные данные. Для нашего примера это может выглядеть так, как показано на рис. 1.4. Рис. 1.4. Окно SETTINGS с установками для модели одноканальной разомкнутой системы с простейшими потоками Наличие галочки в окошках говорит о том, что эта информация будет выведена в окне результатов моделирования. В нашем примере будет выведена информация по следующим объектам: Facilities (Каналы обслуживания); Queues (Очереди). Command'>Моделирование системы После создания имитационную модель необходимо оттранслировать. Для этого выполните следующие действия: щелкните по пункту Command главного меню системы или нажмите комбинацию клавиш Alt+C. Появится выпадающее меню; щелкните по пункту Create Simulation (Создать выполняемую модель) выпадающего меню. После трансляции имитационной модели необходимо запустить ее на выполнение. Для этого: щелкните по пункту Command главного меню системы или нажмите комбинацию клавиш Alt+C. Появится выпадающее меню; щелкните по пункту START. Появится диалоговое окно Start_Command_;_введите_в_диалоговом_окне_Start_Command'>Start Command; введите в диалоговом окне Start Command нужное число прогонов модели. Проделаем небольшой эксперимент. Промоделируем нашу систему при различном числе прогонов модели - разном количестве изготавливаемых изделии и сравним результаты моделирования с полученными при аналитическом расчете. Если в диалоговом окне Start Command ввести число 100, 1000 или 10000 и щелкнуть по кнопке ОК, то результаты моделирования в окне REPORT будут выглядеть так, как показано на рис. 1.5а-в соответственно. Рис. 1.5. Окно REPORTс различными вариантами результатов моделирования для имитационной модели однокональной разомкнутой системы с простейшими потоками Ниже указываются некоторые результаты моделирования с поступлением 100, 1000 и 10000 заявок соответственно: START TIME (Начальное время) - 0.000, 0.000, 0.000; END TIME (Время окончания) -981.702, 9773.284, 101081.388. Ниже указываются результаты моделирования канала обслуживания (FACILITY) под именем ЗТАЖЖ: ENTRIES (Число входов) - 101, 1001. 10000; UTIL. (Коэффициент использования) - 0.666, 0.639, 0.603; AVE. TIME (Среднее время обслуживания) - 6.471, 6.238, 6.091. Еще ниже указываются результаты моделирования очереди (QUEUE) под именем OCHER: МАХ (Максимальная длина очереди) - 6, 8, 14; AVE.CONT. (Среднее содержимое) - 0.828, 0.851, 0.862. Разместим результаты, полученные путем аналитического расчета и методом имитационного моделирования при различном числе прогонов модели, в табл. 1.1. Таблица 1.1.
Сравнивая результаты решения одной и той же задачи аналитическим и имитационным методами, видим, что при увеличении числа испытаний (имитаций) результаты, полученные имитационным методом, приближаются к результатам аналитического метода. Варианты Таблица 1.2.
|