Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matmetody.doc
Скачиваний:
18
Добавлен:
26.09.2019
Размер:
1.38 Mб
Скачать

Простейшие задачи решаемые методом имитационного моделирования. Теоретические основы метода имитационного моделирования

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

Для наглядности иллюстрации идеи использования основных событий в компьютерном имитационном моделировании рассмотрим пример одноканальной системы массового обслуживания. Как правило, целью имитационного моделирования подобной системы является определение оценок ее основных характеристик, таких, как среднее время пребывания заявки в очереди, средняя длина очереди и доля времени простоя системы. Характеристики самого процесса массового обслуживания могут изменять свои значения либо в момент поступления новой заявки на обслуживание, либо при завершении обслуживания очередной заявки. К обслуживанию поступившей заявки система массового обслуживания может приступить немедленно (канал обслуживания свободен), но не исключена необходимость ожидания, когда заявке придется занять место в очереди (система массового обслуживания с очередью, канал обслуживания занят). После завершения обслуживания очередной заявки система массового обслуживания может сразу приступить к обслуживанию следующей заявки, если она есть, но может и простаивать, если таковая отсутствует. Необходимую информацию можно получить, наблюдая различные ситуации, возникающие при реализациях основных событий. Так, при поступлении заявки в систему массового обслуживания с очередью при занятом канале обслуживания длина очереди увеличивается на единицу.   Аналогично длина очереди уменьшается на единицу, если завершено обслуживание очередной заявки и множество заявок в очереди не пусто.

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

Для иллюстрации принципа эксплуатации имитационных моделей приведем простейший типовой пример.

Рассмотрим одноканальную систему массового обслуживания с простейшим входным потоком заявок и интенсивностью А = 3 (заявки в час). Время обслуживания одной заявки с вероятностью 0,5 равно 0,2 ч и с вероятностью 0,5 равно 0,6 ч. Заявки обслуживаются в порядке поступления. Длина очереди и источник заявок не ограничены. Предполагается, что в начальный момент времени канал обслуживания свободен и в очереди нет ни одной заявки.

Для простейшего входного потока заявок с интенсивностью А = 3 (заявки в час) длительность временного интервала между двумя последовательно поступившими заявками — случайная величина  ( ),распределенная по экспоненциальному закону с параметром А. Если ук — реализация случайной величины, равномерно распределенной на отрезке [0,1], то реализация  к длительности временного интервала между двумя последовательно поступившими заявками определяется следующим образом:

А так как по условию с вероятностью 0,5 время обслуживания одной заявки равно либо 0,2 ч, либо 0,6 ч,  то реализация времени обслуживания.

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

I.   Действия, связанные с поступлением заявки в систему массового обслуживания:

1)  генерация момента поступления следующей заявки на обслуживание путем определения реализации  к длительности  ( ) временного интервала между двумя последовательно поступившими заявками и прибавлением  к текущему времени моделирования;

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

II.  Действия по окончании обслуживания заявки в системе связаны с проверкой состояния очереди:

1) если очередь пуста, т.е. в ней нет заявок, то объявляется простой системы;

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

Одноканальная система начинает работать при пустой очереди и свободном канале обслуживания, т.е. ее функционирование начинается с простоя. Время  1 поступления первой заявки на обслуживание моделируется псевдослучайным числом:

Таким образом, в момент времени t = 0 +  1 = 0,31 происходит событие, состоящее в поступлении заявки на обслуживание. Вычисляем время поступления следующей заявки:

Поскольку в начальный момент времени система простаивает, то в момент времени t = 0,31 начинается обслуживание первой заявки. Время обслуживания  (0,66655) = 0,6 ч, т.е. время окончания обслуживания равно:

Система объявляется работающей, а время простоя корректируется:

Следующее по времени событие связано с поступлением заявки на обслуживание в момент времени t = 0,55 ч. Так как в это время происходит обслуживание первой заявки, то поступившая заявка становится в очередь, длина которой корректируется:

Следующая заявка поступает в момент времени

А так как система все еще обслуживает первую заявку, то длина очереди увеличивается: Далее определяется время поступления следующей заявки:

А так как система все еще обслуживает первую заявку, то длина очереди увеличивается:

Определим время поступления следующей заявки:

Полезно отмечать новые события на рисунке по мере их реализации (на рис.3. символ а обозначает поступление заявки, символ Р — время окончания обслуживания заявки).

Рис 3

Следующее событие наступает в момент времени t=0,91 ч и представляет собой окончание обслуживания первой заявки. А так как очередь не пуста, то начинается обслуживание следующей заявки и корректируется длина очереди:

При этом суммарное время ожидания обслуживания равно

а время обслуживания второй заявки равно   (0,47764) = 0,2 ч. Таким образом, обслуживание второй заявки завершится в момент времени

t = 0,91 + 0,2 = 1,11 ч.

Процедура повторяется до тех пор, пока не будет промоделирован весь отрезок времени [0, Т] функционирования одноканальной системы массового обслуживания. При этом можно определить оценки основных характеристик этой системы и установить зависимость их качества от величины Т, т.е. от длительности времени моделирования процесса функционирования системы. Так, например: а)  доля времени простоя системы (в процентах) равна отношению суммарного времени простоя к величине Т, умноженному на 100; б)  среднее время ожидания обслуживания равно отношению суммарного времени ожидания к числу поступивших заявок; в)  средняя длина очереди равна отношению т(А)/Т, где т(А) — площадь плоской фигуры А, ограниченной осью времени и ступенчатой линией r = r(t), t   [0, Т], отражающей зависимость длины очереди от времени t.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]