КМ_РГР_ПРО-328_ЯмалтдиноваАА. Компьютерное моделирование
Скачать 187.29 Kb.
|
Министерство науки и высшего образования РФ Федеральное государственное бюджетное образовательное учреждение высшего образования «Уфимский университет науки и технологий» Факультет информатики и робототехники Кафедра вычислительной математики и кибернетики Расчетно-графическая работа «Имитация СМО с одним устройством» по дисциплине «Компьютерное моделирование» Выполнил: студент группы ПРО-328 Ямалтдинова А. А. Проверила: Валеева А. Ф. Уфа 2023 ОглавлениеПостановка задачи 2 Пояснения к модели 2 Оценки модели 3 Описание модели 4 Анализ модели 9 Верификация имитационной модели 10 Вывод 10 1. Написать имитационный алгоритм и программу. 2. Выполнить верификацию имитационной программы. 3. Провести анализ очереди из клиентов в течение интервала времени [0, T]. Во всех моделях СМО предполагается, что клиенты прибывают согласно неоднородному Пуассоновскому процессу с ограниченной функцией интенсивности . Постановка задачиИмеется парикмахерская с одним устройством, куда пребывают клиенты. График с 8 до 20, в среднем в час поступает 3 клиента. Допущения: Клиенты пребывают в систему, имеющую одно устройство и одну очередь. Когда клиенты поступают в систему, если устройство занято, то они образуют очередь, иначе поступают на устройство. Когда обслуживание клиента заканчивается, он покидает систему и клиент, который дольше всех находится в очереди, начинает обслуживаться. Пояснения к моделиУстройство обслуживания – робот-парикмахер Требование – клиенты Единица времени – час Интенсивность – 3 человека в час Функция интенсивности – Время работы T – 12 часов (с 8 до 20) Обеденный перерыв отсутствует, есть вероятность переработки (последний клиент уйдет после закрытия магазина). Оценки моделиОценка ожидаемой средней задержки клиентов в очереди: , — время задержки клиента iв очереди, - число клиентов, которые прибыли в период времени Оценку ожидаемого среднего числа клиентов в очереди: - число клиентов в системе в период времени . Оценка занятости устройства – ожидаемый коэффициент использования устройства (время, когда устройство занято/период моделированияT), где функция занятости В(t): Среднее время, в течение которого клиент проводит в системе, вычисляется как: , где - это количество времени, в течение которого клиент проводит в системе; - общее число клиентов, которые пришли до времени . (оценки для математических ожиданий , имитация проводится раз, - достаточно велико). Описание моделиВспомогательные функции Функция интенсивности Входные данные: t – время в системе. Выходные данные: Значение функции интенсивности в момент времени t. Функция интенсивности: Функция генерации неоднородного пуассоновского процесса Входные данные: s – время в системе L – интенсивность появления событий Выходные данные: t – время следующего события в системе Алгоритм (poisson(t, lambd)): Присвоить t = s Генерируем случайную переменную U1 = Uniform[0, 1] Присвоить t = Генерируем случайную переменную U2 = Uniform[0, 1], независимую от U1. Если , то: Ts = t Конец алгоритма Иначе повторить с шага 2. Функция генерации случайной величины Входные данные: L – интенсивность появления событий Выходные данные: Y – значение показателей случайной величины Алгоритм (exponentional(lambd)): Генерируем случайное число U = Uniform[0, 1] Возвращаем величину Y = Реализация алгоритма. Процедуры работы СМО. Переменная времени: Количественные переменные: - число прибывших клиентов к моменту времени - число уходов клиентов к моменту времени Переменная состояния: - число клиентов в системе к моменту времени События: пребывания и уходы клиентов. Список событий: - время следующего прибытия клиента (после ); - время завершения работы устройства после обслуживания клиента ( если никакой клиент в данный момент не обслужен). Случайные переменные: — время поступления клиента ; — время между поступлениями клиентов i - 1 и (t0= 0); — время, потраченное устройством на обслуживание клиентаi (без учета времени задержки клиента в очереди); — время задержки клиента iв очереди; — время ухода клиента iпо завершении обслуживания; — время возникновения события j любого типа. Выходные переменные: - время прибытия клиента - время ухода клиента - время после , когда последний клиент уходит - количество времени, в течение которого клиент проводит в системе - оценка среднего времени после , когда уходит последний клиент - оценка среднего времени, в течение которого клиент проводит в системе , - наблюдаемое значение (время после , когда ушел последний клиент) - число клиентов в системе в период времени Amount – количество клиентов за смену Tp – время задержки закрытия – среднее время клиентов в очереди – среднее время клиента в системе 1-Work/T – коэффициент занятости устройства – средняя длина очереди События: прибытие клиента уход клиента клиент ушел – но очередь не пуста клиент ушел – и время работы закончилось Общая схема алгоритма имитации СМО с одним устройством: Пусть - случайная переменная – время обслуживания устройства с распределением . Инициализация переменных Присвоить Присвоить Генерировать и присвоить = Изменения системы будут происходить в зависимости от того, какое событие будет следующим – прибытие или уход клиента, при этом рассматриваются различные случаи. Случай 1 – прибытие клиента(tA tD, tA T) Алгоритм: Присвоить t = tA (движение вдоль оси времени ко времени tA) Присвоить NA = NA+1 (подсчитано более одного прибытия к моменту времени tA) Присвоить n = n+1 (в настоящее время имеется более одного клиента) Запустить функцию генерации неоднородного пуассоновского процесса (poisson(t, lambd)) и присвоить полученное значение tA (время следующего прибытия клиента) Если n = 1, генерировать случайную переменную Y(exponentional(lambd)) имеющую показательное распределение и присвоить tD= t+ Y(exponentional(lambd)) Запомнить выходные данные A(NA) = t (время прибытия клиента NA) Случай 2 – уход клиента (tD tA, tD T) Алгоритм: Присвоить t = tD (движение вдоль оси времени до времени tD) Присвоить ND = ND+1 (подсчитано более одного ухода клиента) Присвоить n = n-1 (имеется меньше одного клиента) Если n= 0, присвоить tD = , иначе генерировать случайную величину Y(exponentional(lambd)) имеющую показательное распределение и присвоить tD= t+ Y(exponentional(lambd)) Запомнить выходные данные D(ND) = t(время ухода клиента ND) Случай 3 – время работы закончилось, а клиенты еще есть в системе (min(tA , tD,)> T, n>0) Алгоритм: Присвоить t = tD (движение вдоль оси времени до времени tD) Присвоить ND = ND+1 (подсчитано более одного ухода клиента) Присвоить n = n-1 (имеется меньше одного клиента) Если n>0, генерировать случайную величину Y(exponentional(lambd)) имеющую показательное распределениеи присвоить tD= t+ Y(exponentional(lambd)) Запомнить выходные данные D(ND) = t(клиент NDушел) Случай 4 – время работы закончилось, клиентов в сети нет (min(tA, tD)>T, n=0) Алгоритм: Запомнить выходные данные После того, как время работы закончилось и клиентов в сети нет, выводим: Amount – количество клиентов за смену Tp – время задержки закрытия – среднее время клиентов в очереди – среднее время клиента в системе 1-Work/T – коэффициент занятости устройства – средняя длина очереди Анализ моделиПосле тестового запуска программы получены следующие результаты: Верификация имитационной моделиДля проверки правильности программы необходимо проверить выходные данные имитации с результатами, полученными вручную. В качестве примера возьмем среднее время, проведенное клиентами в системе. Используя значения из таблицы, а именно последний столбец, посчитаем среднее время, проведенное клиентами в системе: ST=(0,02+0,22+0,189+0,06+0,582+0,685+0,012+0,049+0,256+0,673+0,87+0,746)/12=0,3635 Программа показала результат: 0,3635318350220285 ∆=|0,3635318350220285-0,3635|=0,0000318350220285 часов. Расхождения значений возникли из-за погрешности округления. Используя значения таблицы, посчитаем среднюю задержку клиентов в очереди: =(0,218+0,181)/12=0,03325 Программа показала результат: 0,033259528932400396 ∆=|0,03325-0,033259528932400396|=0,000009528932400396 часов. Расхождения значений возникли из-за погрешности округления. ВыводВ ходе расчетно-графической работы была спроектирована модель работы центра выдачи заказов с одним устройством обслуживания. На основе выходных данных посчитаны оценки: среднего времени, в течение которого клиент проводит в системе среднего времени после, когда уходит последний клиент ожидаемой средней задержки клиентов в очереди занятости устройства. Также были проведены верификация модели и оценка неизвестного параметра. |